IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

Composant TGIFViewer


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 132
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 132
    Par défaut
    Bonsoir,

    Ai constaté que si les grandes images fonctionnent correctement maintenant avec l'état de la case à cocher "Adapter", il n'y a rien qui nous dit que l'image ne rentre pas et qu'il faut cocher. Très ennuyeux.
    Mais est-ce que ça concerne l'IHM ou le compo ? Je te laisse en juger.

    Autre chose, toujours concernant l'IHM : j'ai bien vu arriver en haut à droite ce nouveau combo, chacun pourra le changer à sa guise, mais comme je dis toujours, si j'ai un problème avec ma bagnole, faut-il que je l'emmène au guarage ?
    Et le "s" est en trop, puisqu'il n'y aura jamais qu'un langage à la fois.

    Attention, le fait d'essayer une autre valeur avec l'appli tournant dans l'EDI ne la relance pas.
    Par contre, hors EDI, après avoir choisi "fr" ou "en", quand l'appli redémarre elle est toujours en "auto".
    Et si je choisis "en", l'IHM est toujours en français. Il sert à quoi, ce gadget ?


    Ah, pour ne plus être ennuyé par les problèmes de transparence de la balle jaune et du B de Animaux, je force la couleur du fond à clWhite et voilà, et ça ne gêne pas le singe.

    Ton truc est pas mal du tout, maintenant

    Mais parlons technique une minute : il sert à quoi ton TGIFFastMemoryStream, que j'ai un peu regardé, s'il fait la même chose que le TStream de base, sur lequel il s'appuie ?

  2. #2
    Membre Expert
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Jipété Voir le message
    Bonsoir,

    Ai constaté que si les grandes images fonctionnent correctement maintenant avec l'état de la case à cocher "Adapter", il n'y a rien qui nous dit que l'image ne rentre pas et qu'il faut cocher. Très ennuyeux.
    Mais est-ce que ça concerne l'IHM ou le compo ? Je te laisse en juger.
    C'est comme avec TImage et les antibiotiques le "Stretch" n'est pas automatique . Rajouter une option AutoStretch est facilement faisable, pourquoi pas !

    Citation Envoyé par Jipété Voir le message
    Autre chose, toujours concernant l'IHM : j'ai bien vu arriver en haut à droite ce nouveau combo, chacun pourra le changer à sa guise, mais comme je dis toujours, si j'ai un problème avec ma bagnole, faut-il que je l'emmène au guarage ?
    Et le "s" est en trop, puisqu'il n'y aura jamais qu'un langage à la fois.
    Oui j'ai mis au pluriel par rapport à la liste qui contient plusieurs langues. Dans l'absolu au singulier est préférable tu as raison. Merci.

    Citation Envoyé par Jipété Voir le message
    Attention, le fait d'essayer une autre valeur avec l'appli tournant dans l'EDI ne la relance pas.
    Par contre, hors EDI, après avoir choisi "fr" ou "en", quand l'appli redémarre elle est toujours en "auto".
    Et si je choisis "en", l'IHM est toujours en français. Il sert à quoi, ce gadget ?
    Normalement cela change la langue comme c'est supposé le faire. J'ai peut-être une erreur dans les noms de fichier
    minuscules/majuscule. La j'ai testé sous Mac et ça ne fonctionne pas et j'ai remarqué que j'ai mis Translate('UGIFViewer') au lieu de uGifViewer, mais ça ne marche toujours pas.
    Je vais allez faire un tour dans Linux pour voir et tester justement.

    EDIT : J'ai oublié de le spécifier dans l'annonce, il faut copier le dossier languages dans le dossier de sortie de l'executable

    Citation Envoyé par Jipété Voir le message
    Ah, pour ne plus être ennuyé par les problèmes de transparence de la balle jaune et du B de Animaux, je force la couleur du fond à clWhite et voilà, et ça ne gêne pas le singe.
    Pour ce genre d'image tu n'as pas le choix que de choisir le bond fond. Sinon la solution c'est de retoucher l'animation avec Gimp. Avec ces 2 là cela le ferai il n'y a pas beaucoup d'images pour l'animation. Avec animaux suffit juste un petit coup de gomme sur la dernière image.

    Citation Envoyé par Jipété Voir le message
    Ton truc est pas mal du tout, maintenant
    Oui ça à bien pris forme. Merci

    Citation Envoyé par Jipété Voir le message
    Mais parlons technique une minute : il sert à quoi ton TGIFFastMemoryStream, que j'ai un peu regardé, s'il fait la même chose que le TStream de base, sur lequel il s'appuie ?
    Le fait qu'il se base sur TStream c'est pour la compatibilité. En fait la classe charge toutes les données en une seule fois dans un bloc (tampon) mémoire et on lit les données avec un pointer. C'est beaucoup plus rapide.
    Je l'ai surtout mis pour ne pas m'embêter à convertir le code du chargeur de GIF. Qui à la base j'ai codé sous mon projet. Dans mon projet la classe correspondant au TGIFFastStream est TBZBufferStream (unité BZStreamClasses) qui est plus évoluée et qui lit les donnée provenant d'un flux (stream) par tampon de X Mo jusqu'à la fin des données. Il me servira plus tard pour gérer le "FileMapping" par exemple.

    Grossièrement, la différence entre tampon (Buffer) et un flux (Stream) est qu'un flux est une séquence qui transfère des informations depuis ou vers une source spécifiée, alors qu'un tampon est une séquence d'octets qui est stockée dans la mémoire.

    Voila j'espère que tu arrives à me comprendre, ce n'est pas évident d'expliquer certaine chose comme ça

    Bonne nuit
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  3. #3
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 241
    Par défaut
    hello,
    Félicitations pour ton composant !
    Juste une suggestion :
    Il serait peut-être bien d'inclure dans les fichiers de la démo GifView au moins un gif animé. Je te propose le fpclogo

    Nom : fpclogo.gif
Affichages : 3901
Taille : 5,7 Ko

    En pièce jointe le logo en gif animé et aussi le lrs (pour peut être remplacer la ressource de l'autre démo GifRes).

    Ami calmant, J.P
    Fichiers attachés Fichiers attachés

  4. #4
    Membre Expert
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Billets dans le blog
    2
    Par défaut
    Hello

    Citation Envoyé par jurassic pork Voir le message
    hello,
    Félicitations pour ton composant !
    Juste une suggestion :
    Il serait peut-être bien d'inclure dans les fichiers de la démo GifView au moins un gif animé. Je te propose le fpclogo

    Nom : fpclogo.gif
Affichages : 3901
Taille : 5,7 Ko

    En pièce jointe le logo en gif animé et aussi le lrs (pour peut être remplacer la ressource de l'autre démo GifRes).

    Ami calmant, J.P
    Excellente suggestion JP je vais faire ça
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  5. #5
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 132
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 132
    Par défaut
    D'après man locale il y aurait un dossier intéressant à voir, /usr/lib/locale/ et là-dedans je trouve un dossier C.UTF-8 qui contient (entre autres) un fichier LC_CTYPE pesant 151984 octets et qui, regardé avec mc, ne ressemble à rien : un micmac de texte et de binaire, toujours est-il que chez moi la commande locale est capable d'en extraire des choses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    LANG=fr_FR.UTF-8
    LANGUAGE=
    LC_CTYPE="fr_FR.UTF-8"
    ...
    On notera la présence des guillemets alors que LANG ne les a pas.

    Bon, essaye de retrouver ton code en C, qu'on s'éclate ! Parce que 151984 octets juste pour une string de quelques caractères, ça m'intrigue

    Et 'tention les coups de soleil, hein

  6. #6
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 132
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 132
    Par défaut
    Citation Envoyé par BeanzMaster Voir le message
    C'est comme avec TImage et les antibiotiques le "Stretch" n'est pas automatique . Rajouter une option AutoStretch est facilement faisable, pourquoi pas !
    Ou si le compo détecte que l'image est plus grande que l'espace disponible pour l'afficher, il coche tout seul "Adapter" et le fait.

    Citation Envoyé par BeanzMaster Voir le message
    J'ai peut-être une erreur dans les noms de fichier minuscules/majuscule.
    Surement !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Procedure TMainForm.DoOnTranslate(Sender: TObject; Const Folder, Lang, FallbackLang: String);
    Begin
    //jpt  LangManager.Translate('uGIFViewer');
      LangManager.Translate('uGifViewer');
      LangManager.Translate('uFastBitmap');
     //jpt Translations.TranslateUnitResourceStrings('uGIFViewer', Folder + 'uGIFViewer.'+Lang+'.po', Lang, FallbackLang);
     // Translations.TranslateUnitResourceStrings('uGifViewer', Folder + 'uGifViewer.'+Lang+'.po', Lang, FallbackLang);
     // Translations.TranslateUnitResourceStrings('uFastBitmap', Folder + 'uFastBitmap.'+Lang+'.po', Lang, FallbackLang);
    End;
    Mais pas suffisant :
    Citation Envoyé par BeanzMaster Voir le message
    EDIT : J'ai oublié de le spécifier dans l'annonce, il faut copier le dossier languages dans le dossier de sortie de l'executable
    il manque ".fr" je ne sais pas pourquoi. J'ai rajouté du ShowMessage dans Procedure TGVTranslate.Translate(Const anUnitName: String); et voilà le résultat :
    Nom : pagaille_langage.png
Affichages : 374
Taille : 13,1 Ko
    ---
    Nom : fichier_lang_inexistant.png
Affichages : 377
Taille : 14,8 Ko

    Citation Envoyé par BeanzMaster Voir le message
    Pour ce genre d'image tu n'as pas le choix que de choisir le bond fond. Sinon la solution c'est de retoucher l'animation avec Gimp. Avec ces 2 là cela le ferai il n'y a pas beaucoup d'images pour l'animation. Avec animaux suffit juste un petit coup de gomme sur la dernière image.
    Hors de question que j'aille trifouiller dans un fichier, qui doit rester tel que son auteur l'a concu (non mais t'imagines, si "Les Misérables" ne te convient pas, tu le récris ? Ou tu modifies une partoche de Mozart ? Ou tu repeins La Joconde ? ) et c'est à l'ihm de s'adapter, ce que fait d'ailleurs le viewer de Linux, qui est blanc, tout comme l'aperçu sous XP.

    Citation Envoyé par BeanzMaster Voir le message
    Voilà j'espère que tu arrives à me comprendre, ce n'est pas évident d'expliquer certaines choses comme ça
    Ça va, on va dire que c'est ta cuisine interne et comme au restaurant, je n'ai pas à passer derrière pour aller soulever le couvercle des casseroles,

    Bon, j'ai des .gif à démonter pour aller voir comment c'est fichu dedans et essayer de comprendre ce qui manque à TGifAnim pour bien rendre les fichiers avec Disposal à 1 (Newton, Odessa, SmallColour), qui n'a pas été implémenté...

  7. #7
    Membre Expert
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Jipété Voir le message
    Mais pas suffisant :

    il manque ".fr" je ne sais pas pourquoi. J'ai rajouté du ShowMessage dans Procedure TGVTranslate.Translate(Const anUnitName: String); et voilà le résultat :
    Bizarre j'ai testé hier soir sous linux et je n'ai pas eu besoin de rajouter ce "fr" la langue de ton os est-elle anglaise par defaut (en premier) ?
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  8. #8
    Membre Expert
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Billets dans le blog
    2
    Par défaut
    Sinon voila une petite discussion provenant du forum anglais Traduite avec google ( Yoodle pas parler français super bien ) :

    Salut, wp
    Citation de: wp on Aujourd'hui à 01:15:01
    Mon problème est que vous semblez introduire trop de matériel non apparenté dans le paquet gifviewer qui n'est pas absolument nécessaire ou qui pourrait avoir une utilisation plus générale.

    Qu'est-ce que tu veux?

    Fournir un gifviewer? Puis les unités

    - gvTranslate (des choses similaires se trouvent dans LCLTranslator)
    LCLTranslator n'ont pas vraiment le même but. LCLTranslator a besoin de plus de travail pour être utilisé tel quel et rapidement
    Je l'ai inclus après les suggestions d'Alextp pour traduire la chaîne de franchise en anglais pour la communauté en général
    Citation de: wp on Aujourd'hui à 01:15:01
    - Typeshelpers (grand chevauchement avec les assistants de type construits dans fpc maintenant)
    Je l'ai inclus parce que l'un des testeurs. Utilise une ancienne version de Lazarus mais je peux facilement la supprimer en remplaçant 'ToString' par 'IntToStr' ou en vous déplaçant vers le dossier de la démo de gifview.

    Citation de: wp on Aujourd'hui à 01:15:01
    Ou voulez-vous fournir un paquet polyvalent avec des utilitaires de traduction, un bitmap rapide, des aides de type supplémentaires et - bien sûr - un visualisateur GIF? Ensuite, vous devriez nommer le paquet différemment et souligner son caractère multi-usage.
    Je veux juste partager mon travail. Et je suis d'accord avec vous gvTranslate, et TypesHelpers ne sont pas vraiment nécessaire ici
    Citation de: wp on Aujourd'hui à 01:15:01
    Quelques autres commentaires:
    Je vois deux fichiers .po dans votre dossier de paramètres régionaux. Les traducteurs n'aiment pas ça. Habituellement, ils préfèrent un seul fichier po par paquet.
    Je ne le savais pas. Lazarus génère automatiquement un fichier PO pour une unité. Où puis-je définir cette option? et comment le gérer pour la traduction?
    Citation de: wp on Aujourd'hui à 01:15:01
    - et probablement de même que uFastBitmap n'est pas nécessaires.(parce que je suis plutôt sûr que vous pouvez peindre le gif aussi avec les routines de fcl-image)
    Citation de: wp on Aujourd'hui à 01:15:01
    Saviez-vous que, contrairement à Delphi, fpc a déjà intégré le support gif (unité fpreadgif dans les paquets de dossiers sources / fp-image / src de l'installation de fpc)? Je n'ai pas comparé, mais je suis plutôt certain qu'il y a beaucoup de chevauchement avec votre unité. Pourquoi écrire de nouveau quand c'est déjà là?
    PS : En plus Delphi à un support intégrer du GIF depuis la version 2010 si je me souviens bien et c'est avec le TGIFImage qui à été donné par son auteur à Embarcadero à l'epoque

    Oui je le sais. Mais FPReadGIF ne prend pas en charge l'animation et ne fonctionne pas correctement comme avec le format BMP par exemple où beaucoup de fichiers ne sont pas supportés correctement. Même problème avec TGA, XPM et PCX. PNG fonctionne bien, mais pas complet. Le seul format qui est gérer correctement est JPG.
    Mon unité n'a pas beaucoup de chevauchement. Mais beaucoup de chose ont améliore la façon de lire et de supporter le format GIF. Vous pouvez tester, vous verrez qu'avec beaucoup de GIF dans Imagetestsuite que FPC ne peut pas les lire correctement avec FCL-Image.

    Je pense que la solution graphique FPC et LAzarus doit être repensée. Juste voir une petite partie dans mon code pourquoi je ne peux pas gérer la transparence avec TBitmap (juste sous linux) et doit utiliser TLazIntfImage à la place? Lazarus a de gros problèmes avec la gestion Bitmap. Pas FCL directement, mais je pense que ce n'était pas un bon choix pour gérer la couleur en 64 bits (TFPColor) par défaut. FCL-Image n'est pas assez optimisé, la gestion des erreurs n'est pas bonne, beaucoup de bogues sont présents entre et avec LCL RawImage / TBitmap.

    Je suis d'accord avec ce numéro (http://michellcomputing.co.uk/blog/2...ndling-part-1/). Pour TFastBitmap j'aurais pu faire comme ici http://michellcomputing.co.uk/blog/2...itmaps-part-2/ Mais pas vraiment nécessaire.
    Je pense que les graphismes sont une partie importante du développement. Et beaucoup de travail doit être fait à ce niveau, pour être utilisé correctement. Il est trop confus et a trop de bogues cachés et inattendus

    C'est mon sentiment et mon opinion. mais je pense que les équipes devraient se concentrer sur tous ces petits détails et petits bugs persistants de version en version, pour donner plus de stabilité, surtout pour pouvoir compiler correctement sans avoir à protéger le code de {$ IFDEF} sur les choses de base (Je pense à TListView par exemple, ou comme ici avec l'utilisation de TLazIntfImage sous Linux), plutôt que de vouloir ressembler à Delphi. Delphi est Delphi. FPC / Lazarus est FPC / Lazarus c'est tout

    Tout cela, bien sûr, n'enlève rien à la qualité et au travail des développeurs FPC et Lazarus, pour nous donner du plaisir à coder
    Citation de: wp on Aujourd'hui à 01:15:01
    S'il vous plaît ne vous méprenez pas sur ces mots critiques - je pense vraiment que vos unités sont un excellent travail.
    Pas de problème, c'est avec des discussions comme celle-ci que nous pouvons aller de l'avant

    Merci et meilleures salutations

    Jérôme
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  9. #9
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 132
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 132
    Par défaut
    Citation Envoyé par BeanzMaster Voir le message
    Bizarre j'ai testé hier soir sous linux et je n'ai pas eu besoin de rajouter ce "fr" la langue de ton os est-elle anglaise par defaut (en premier) ?
    Comment répondre à cette question ? Il y a 5 ans, quand j'ai installé Debian, le processus d'install m'a demandé quel clavier j'avais puis quel langage je voulais utiliser, j'ai répondu 105 touches Azerty et français et pas plus, et depuis je vis (plutôt bien) avec ça.

    Quant à l'autre post, j'ai eu l'impression de me reconnaître, là :
    Je l'ai inclus parce que l'un des testeurs utilise une ancienne version de Lazarus mais je peux facilement la supprimer en remplaçant 'ToString' par 'IntToStr' ou en vous déplaçant vers le dossier de la démo de gifview.
    Vrai ou faux ?
    Si c'est moi, alors je vais t'avouer un truc : je n'utilise pas du tout ce helper qui ne veut pas compiler et je remplace systématiquement .ToString par IntToStr.
    C'est très facile, j'ai trouvé le truc : dans les 2 fichiers concernés (umainform.pas et uGifViewer.pas) je fais "rechercher/remplacer .ToString par )", et ensuite je compile, et à chaque ligne où ça s'arrête en erreur, devant la variable concernée, je n'ai qu'à poser par coller (l'ayant au préalable copiée) la chaîne "IntToStr(", ça va très vite (d'autant plus que j'ai remarqué qu'il y en avait moins à faire dans la dernière version), juste penser à virer l'appel dans le uses de chaque fichier.

    Maintenant, si tu veux revenir à IntToStr, ça me simplifiera la vie, mais je ne suis pas seul sur Terre.

Discussions similaires

  1. Réponses: 18
    Dernier message: 03/06/2010, 10h09
  2. Réponses: 18
    Dernier message: 03/06/2010, 10h09
  3. Réponses: 18
    Dernier message: 03/06/2010, 10h09
  4. [Tests] Annonces de composants, extensions, frameworks etc.
    Par Community Management dans le forum Bibliothèques et frameworks
    Réponses: 12
    Dernier message: 06/01/2009, 13h33
  5. [Joomla!] Composant Joomla pour annonces de ventes
    Par young077 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 07/08/2007, 02h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo