Le blog de llaumgui

Linux en général, Fedora / CentOS en particulier...

Aller au contenu | Aller au menu | Aller à la recherche

mardi 23 décembre 2008

YUICompressor en RPM pour Fedora 10 & RHEL 5

Tout d'abord présentons YUICompressor. YUICompressor est un script écrit en Java permettant de compresser des javascripts, c'est à dire, retirer les commentaires, remplacer les noms de variables par des noms plus courts (a, b, c, etc.) et mettre tout le code sur une seule ligne. Pour ceux qui doutent du procédé, je l'ai déjà abordé dans l'un de mes précédents billets.

Récemment, en mettant à jour le thème de mon blog, je me suis heurté à un bizarrerie : le script que j'utilise pour compresser mes javascripts me sortait des erreurs javascripts. Après avoir passé plus d'une heure à comprendre d'où pouvait provenir le problème, j'ai tenté un plan B : compresser mes JS sous un environnement x86 et non plus x86_64... Et là, aucun problème, la compression est passée comme une lettre à la poste sans erreur JS. J'ai alors fait une recherche sur internet et constaté que je ne disposais pas de la dernière version du script. Une fois la mise à jour faite, le résultat est devenu le même que ce soit en 32 ou 64 bits.

Lire la suite...

samedi 27 septembre 2008

dotclearRemember 2.0

C'est un peu plus de 3 mois après la sortie de la version 1.2 du framework javascript MooTools; que j'ai enfin pris le temps de migrer le thème de mon blog sous cette version.

J'en ai donc profité pour mettre à jour dotclearRemember. Pour ceux qui avaient loupé la version 1.0 de dotclearRemember, rappelons juste qu'Olivier Meunier, lead developper du projet Dotclear, a fait le choix de confier quelques actions du thème de base de Dotclear à la librairie jQuery. Affictionnados de MooTools, j'ai donc entrepris le portage de ces fonctionnalités vers cet outil et c'est ainsi que la fonctionnalité "Se souvenir de moi" (post.js) de Dotclear est devenu dotcleaRemember sous MooTools.

Au programme des réjouissances de cette version 2.0 :

  • Passage de MooTools 1.1.x vers MooTools 1.2
  • Utilisation de la class Class et nouvelle façon de passer les paramètres ainsi que d'initialiser le script
  • Fonction de débug

dotclearRemember 2.0 pour MooTools 1.2.
dotclearRemember 1.0 pour MooTools 1.1.x.

A propos du thème de ce blog, Nodoka, on remarquera que j'en ai profité pour laisser tomber mon script verif_form (qui ne sera pas porté vers la 1.2) pour passer sous Form.Check qui est tout bonnement génial. J'ai également profité de l'occasion pour céder à la mode des lightbox et pour installer Milkbox...

jeudi 14 août 2008

Fedora-Fr v4.1, étude de cas d'un site sous eZ Publish

Cela fera bientôt 3 ans que je travaille avec le CMS open-source eZ Publish édité par la société eZ Systems. J'ai débuté cette expérience dans la société Kaliop, et je la poursuis aujourd'hui, chez Logica.

Que ce soit en temps qu'expert, consultant ou développeur (« simple » ou référent), j'ai eu la chance de collaborer sur un grand nombre de projets différents utilisant cet outil. Des projets tels que des sites institutionnels (WWF, UM1), des (extra|intra)nets, des usines à sites, ou encore, dernièrement, un portail immobilier avec plus de 150.000 objets eZ (prévoyez 2 jours pour l'import sur un octo proc' ;-)).

Cependant, jusqu'à présent, mon utilisation d'eZ Publish s'était cantonnée au monde professionnel et je n'avais pas de site « personnel » (je mets entre guillemets car Fedora-Fr n'est pas un site perso, mais un site que je gère personnellement...) utilisant cette technologie. J'avais bien commencé le portage de Scénario-Paintball sous eZ, mais je suis toujours en attente d'une charte graphique (Rad' si tu me lis...).
Bref, la refonte de Fedora-Fr sous eZ arrivait à point nommé pour m'offrir un petit bac à sable pour toucher d'encore plus près l'outil, développer autour et reverser du code à la communauté.

Cette migration s'est faite en 2 temps; le premier, la bascule du Planet de Dotclear (+plugin planet) vers eZ; suivie dans un deuxième temps par le passage du site www.fedora-fr.org (le portail) sous eZ.

Lire la suite...

vendredi 13 juin 2008

ezoescript et ezoecss : 2 bonnes surprises dans ezoe

Pour ceux qui ont suivi mon précédent billet sur l'optimisation des javascripts, vous l'aurez compris : je suis sensibilisé à l'optimisation des sites web et notamment (entre autre) à la préconisation Yahoo! Developer Network :"Minify JavaScript and CSS". Cette préconisation suggère de réduire les CSS et les javascript en nombre et en poids. Dans le meilleur des cas, il faudrait donc n'avoir qu'une feuille CSS et qu'un fichier Javascript de poids raisonable.

Pour la migration du planet Fedora-Fr sous eZ Publish, j'avais pour intention de développer une extension eZ Publish intégrant un minifier JS/CSS. J'étais parti pour utiliser JSMin qui, certes est moins puissant que YUI ou packer mais qui offre le double avantage d'être full php (YUI utilise JAVA) et surtout de ne pas trop altérer le source à grands coups d'eval (comme le fait packer).

Mais au final, j'ai fait le choix de ne pas utiliser le système de design d'eZ Publish et de continuer à stocker le design (CSS, images, JS) de chaque sous-domaine (www, planet, forums, doc, etc..) dans un sous domaine commun (common). Au final, que vous soyez sur le planet, l'accueil ou sur les forums de fedora-fr, vous ne téléchargerez qu'une fois les images et les feuilles de styles.

Lire la suite...

jeudi 15 mai 2008

Charger des javascripts distants dans le "domready" de Mootools

Certains l'avaient peut-être remarqué, depuis quelques jours, le blog ramait grave ! Les symptômes : le bandeau, qui change selon l'heure de la journée, ainsi que différentes couleurs du site mettaient du temps à s'afficher.

La faute au script de Twitter qui ralentissait le chargement de la page et reculait d'autant l'évènement domready de MooTools.

C'est après avoir posé la question sur les forums de MooToos que la solution c'est offerte à moi : construire l'élément <script> qui appelle les javascripts de Twitter dynamiquement et dans le domready, c'est à dire une fois mon design en place.

J'ai pour cela mis en place une petite fonction sur laquelle vous pouvez vous appuyer :

Lire la suite...

jeudi 17 avril 2008

Optimiser ses javascripts : le cas de mootools

Avec le nouveau thème du blog, Nodoka, c'est posé la question de l'optimisation des javascripts. En effet, mootools c'est bien, mais c'est lourd : 87Ko pour la version complète !

J'ai donc essayé les différents moyens de compresser du javascript et j'en ai fait un tableau comparatif.

Lire la suite...

mercredi 16 avril 2008

Utiliser mootools dans Dotclear 2.0

Dotclear, le gestionnaire de blog, dans sa version 2.0 (dont la RC1 devrait pointer le bout de son nez le 1er mai) utilise jQuery comme librairie javascript. Notons au passage que l'utilisation d'une telle librairie permet de gagner un temps de développement précieux et d'éviter d'éventuels problèmes de compatibilité entre les différents navigateurs.

Actuellement, l'utilisation du javascript dans le thème par défaut (Blowup) se limite à la gestion du cookie de la case "Se souvenir de moi sur ce blog".

J'aime beaucoup jQuery (je m'en suis servi dans mon précédent thème et sur d'autres projets) mais professionnellement j'utilise beaucoup mootools et j'ai acquis des facilités avec ce framework.
Pour mon dernier thème, Nodoka, c'est donc mootools que j'ai retenu et j'ai donc eu à entreprendre de porter le code de la gestion des cookies de jQuery vers mootools.
Histoire de vous faciliter la vie si vous aussi vous souhaitez utiliser mootools dans vos thèmes Dotclear, je vous mets mon bout de code à disposition ainsi que la documentation.

svn co https://svn.llaumgui.com/javascript/mootools_1.1.x/dc_remember/

On remarquera qu'il y a 2 fichiers : un fichier source avec le code lisible et commenté; et une version compressée avec YUI Compressor. D'ailleur, La compression des javascripts donnera bientôt lieu à un nouveau billet.