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

Projets

L'avancement dans les projets auquels je participe ou que je dirige

Fil des billets - Fil des commentaires

mercredi, décembre 9 2009

Nouveau serveur pour jelix, et avancées prochaines

Ces jours-ci, j'ai été pas mal occupé à migrer tout les sites de jelix.org vers un nouveau serveur. Merci beaucoup à Nicolas Jeudy pour nous avoir hebergé ces dernières années, et merci à Bastien Jaillot pour nous accueillir sur une de ses machines :-).

Ce ne fut pas une mince affaire, il y a quand même une huitaine de sites et services principaux. Le plus ennuyant étant la forge, qui comporte une vingtaine de projets, tous sous trac. On est passé de trac 0.10 à 0.11, et il a fallu que j'upgrade tout les environnements tracs, mais aussi les plugins, dont un fait maison. Donc étude de la doc de migration, modifier ce qu'il y avait à modifier, vérifier le bon fonctionnement après la migration, adapter les configurations pour le nouveau serveur etc.. Même punition pour notre bug tracker, lui aussi sous trac.

Tout s'est finalement bien passé, mais une chose a été perdue en cours de route : mes beaux templates. Ils ont changer de système de template dans trac 0.11, avec un langage à la XSLT (le langage de transformation le plus hideux de la terre, il faut le dire). Je n'ai pas eu encore le temps de refaire les templates pour avoir le look "jelix.org". Et je ne sais pas quand à vrai dire j'aurais le temps, tellement XSLT ça me gave.

Mais.. J'ai des gentils contributeurs qui vont certainement pouvoir m'aider ;-). En effet, la grande nouveauté avec ce nouveau serveur, c'est que nous en avons le contrôle total, et qu'il n'y a que le projet jelix. Du coup, je peux donner les clefs. Je peux enfin déléguer ! Ce qui est déjà fait en fait. Nous sommes donc trois à pouvoir gérer la machine, et surtout, à pouvoir travailler sur les sites proprement dit, à les faire évoluer. Ce qui va être fait dans les semaines à venir, en commençant par la forge.

Olivier a déjà réalisé des améliorations dans la forge, pour que les utilisateurs puissent gérer plus facilement leurs projets. Ces améliorations seront mis en ligne certainement dans les jours prochains. Au passage d'ailleurs, j'ai migré les sources des sites web de Subversion vers Mercurial. Un autre chantier sera probablement de migrer le forum vers havefnubb, histoire d'utiliser un peu plus d'applications jelix sur nos propres sites :-)

Parallèlement à cette migration, le développement de Jelix n'a pas stoppé (merci Mercurial). J'ai pas mal avancé notamment sur le nouveau système d'installation et de mise à jour de Jelix. Après une troisième refactorisation de code, il commence à se stabiliser en terme de fonctionnement. Ce système va permettre à un module de fournir un script d'installation et de mise à jour, permettant alors d'installer toute une application (base de données, configuration...) en une ligne de commande.

J'espère sortir une beta avant Noël.

PS: si toi aussi, cela t'intéresse de contribuer aux sites jelix.org ou au framework, n'hésites pas à nous contacter.

vendredi, novembre 20 2009

Jelix sillonne la France en camion

Le Camion Des Mots est un camion qui, dixit le site :

sillonne les routes de France pour aller à la rencontre des enfants scolarisés du CE2 à la troisième (8 à 15 ans). Accompagnés de leur professeur, les élèves participent à une animation pédagogique de 30 minutes sur des ordinateurs. Au cours de leur visite, ils jouent avec la langue française, ses pièges, ses règles et son histoire.

Et cette animation repose sur "4000 jeux éducatifs autour de la langue française et de ses bizarreries".

Le développeur de ces jeux vient de me faire savoir qu'ils sont développés avec le framework PHP Jelix et jQuery. Ce développeur étant en fait un contributeur à Jelix :-)

Et puis bien sûr, c'est Firefox qui est utilisé pour accéder aux jeux.

Bon, à quand un "Jelix Tour" officiel ?

vendredi, septembre 25 2009

Fortune

Je ne peux m'empêcher de publier un extrait d'un message interne, véritable fortune d'auto-satisfaction de mon collègue Olivier[1], core-developer du browser de zoomorama, à propos donc de ce browser et d'une demo pour un client :

Mais quand même, je peux pas m'empêcher d'avoir une demi-molle :-): un putain de *browser* avec une putain d'implem DOM *from the ground-up*, du scripting hystéro-maniaque comme si les anglais avaient débarqués, de la stylesheet de motard poilu, du content delivering fondant sous la langue comme un clitoris de parturiente

Mais c'est vrai que c'est assez impressionnant ce qu'on arrive à faire. David et Olivier, vous déchirez :-)

Notes

[1] il est bien entendu d'accord pour la publication

Agenda d'octobre chargé

Que d'évènements en ce mois d'octobre à venir !

  • Du 2 au 4, je serais à Pragues, pour le MozCamp 2009
  • Le 8 et le 9, je serais aux conférences Paris Web. je crois qu'il reste encore des places, allez-y ! C'est un évènement à ne pas manquer pour les développeurs web, chefs de projets etc. Tous les ans, ce sont des conférences d'excellentes qualités, faites par des vrais professionnels du métier, et organisées par une équipe au top ! Le prix est ridicule (surtout pour une boîte), en regard des connaissances enrichies qui vous seront transmises.
  • Enfin, du 19 au 23, Fabien Cazenave (monsieur Kompozer) et moi allons dispenser des cours sur les technologies Mozilla, à l'université d'Evry. C'est le projet Comete. Une première en France :-)

mercredi, août 19 2009

Khromaxul 0.4 on the road

Dans la nouvelle version de ZoomCreator que nous sommes en train de réécrire, nous voulions ajouter de beaux colors pickers. Pour cela, j'ai trouvé Khromaxul, un ensemble de color pickers sous forme de composants XBL (avec du SVG), crée par Joliclic. La demo et les tests m'ont fait bonne impression, ainsi que le code en général.

Mais un souci s'est posé à l'intégration. Pour synchroniser les color pickers (mise à jour des pickers quand vous changez la couleur dans un), il faut se taper des tonnes de lignes de code javascript, avec des event listeners sur chacun des pickers. À cela il faut ajouter que chaque composant a sa propre API. Ainsi il y a des pickers pour les couleurs RGB, d'autres pour HSV etc. Et donc lors de cette synchronisation "à la main", il faut aussi se taper les conversions d'un format de couleur à un autre.

Bref, d'un point de vue du développeur, ce n'était pas très sexy à utiliser. J'ai donc décidé d'améliorer tout ça (vive les licences libres !). J'ai d'abord harcelé Joliclic pour qu'il crée un dépôt des sources quelque part, en lui proposant BitBucket. Vous pouvez ainsi accéder aux dernières modifications. Et voilà les améliorations principales que j'ai apporté :

  • uniformisation de l'API des pickers : ils héritent tous du même XBL de base que j'ai dévelopé, avec une propriété "color" contenant une chaine avec le code couleur en CSS (rgb, hsl, hexa...), et une propriété colorObject qui est un objet permettant de manipuler la couleur en question.
  • cet XBL de base intégre la communication avec un dispatcher. En fait, Joliclic a crée un broadcaster similaire au broadcaster XUL, mais spécialisé pour nos besoins. Ainsi, pour synchroniser les pickers, il suffit juste de créer une balise kh-colordispatcher, et d'indiquer son id dans un attribut "dispatcher" sur chacun des pickers. Plus une seule de code JS à écrire !
  • j'ai aussi ajouter support de la transparence dans les couleurs: rgba, hsla, hsva.
  • J'ai développé également un picker pour choisir la transparence, une colorbox affichant la transparence, un textbox pour saisir un code couleur etc....

Bref, la version 0.4 n'apportera pas de grande nouveauté pour l'utilisateur, mais un grand bouleversement pour le développeur désirant intégrer un ou plusieurs color pickers dans son application XUL.

mercredi, août 5 2009

Jelix.org down

Bon, il suffit que je me déconnecte quelques jours pour que le serveur du projet Jelix décide de ne plus répondre. Malheureusement, je n'en sais pas plus pour le moment. J'ai contacté son propriétaire pour qu'il le redémarre, mais j'ai bien peur que lui aussi soit parti quelque part sous le soleil.

Désolé donc pour les utilisateurs de Jelix, il va falloir patienter quelques jours. Je retourne sur la plage.

C'est bête, j'avais quelques nouveautés intéressantes à "pusher" sur le dépôt Mercurial pendant ce brêve temps de connectivité :-)

vendredi, juin 19 2009

Jelix 1.0.9, Jelix 1.1.3 et WikiRenderer 3.1

Dans le courant de la semaine, j'ai publié des nouvelles versions correctives des deux branches actives de Jelix, le framework PHP. Vous pouvez mettre à jour vos installations Jelix sans risque. Il est même hautement recommandé de mettre à jour votre Jelix 1.1 si vous utilisez les modules d'interfaces de gestion de droits et de gestion d'utilisateur, à cause de problèmes critiques lorsque l'on change les droits (des droits peuvent être enlevés inopinément), et sur l'édition d'un profil d'un utilisateur.

Et puis aujourd'hui, je viens de sortir une nouvelle version de WikiRenderer, la 3.1, qui corrige quelques bugs, et qui apporte quelques facilités pour les développeurs de règles de transformations. Pour rappel, WikiRenderer est une classe qui permet de transformer un texte wiki dans une autre syntaxe wiki, ou en XHTML, ou tout autre langage de markup. Elle m'est très utile dans les petits modules de CMS, ou encore récemment, pour migrer le contenu wiki de XULFR d'un vieux wiki vers un nouveau wiki qui a une syntaxe différente. Et pour l'occasion de cette sortie, le site de WikiRenderer est maintenant disponible en Anglais, avec une documentation pour les développeurs.

jeudi, mai 28 2009

Commit access on Mozilla repositories

After 5 years of Mozilla hacking, and some patches accepted and landed into the Mozilla trunk, I finally asked yesterday an access to commit on Mercurial repositories of Mozilla. And this request has been granted ! Youhouuu !

For me, it's a sort of gratefulness from the other contributors :-) Thank you Mozilla !

lundi, mai 25 2009

Un peu d'actu sur jelix et cie

Depuis quelques mois, je n'ai plus autant de temps pour bosser sur plusieurs projets perso en même temps. Ils avancent donc tous moins vite. Je ne peux me concentrer maintenant que sur un seul projet à la fois. Ou presque. Aussi depuis quelques semaines j'ai décidé (et un peu contraint à cause du changement de serveur) de bosser sur mon site xulfr.org. Depuis trois ans, je n'y avais pas trop touché, car j'étais plus absorbé par le développement d'un certain framework Jelix. Framework dont l'objectif à l'origine, c'était justement de motoriser Xulfr :-)

Lire la suite...

lundi, mai 11 2009

Xulfr.org indisponible

Cher développeurs XUL, depuis hier soir le serveur de xulfr.org est mort. Paix à son âme. Nous allons le remplacer le plus tôt possible, mais le site ne sera pas revenu avant 2-3 jours je pense. Je vous tiens au courant...

Mise à jour: le site est de nouveau operationnel depuis Mercredi dans la journée :-)

vendredi, avril 3 2009

Jelix 1.0.8 et 1.1.2

Les développements sur le framework continuent, et les corrections de bugs aussi. Voici donc deux versions correctives pour les branches 1.0 et 1.1. Plus de détails dans la news.

vendredi, février 20 2009

Fuel dans XulRunner

Avec le projet sur lequel je travaille, je refais du XUL à plein temps avec XulRunner 1.9.1. En effet, ces dernières années, je faisais plus des hacks dans Gecko en C ou des composants XPCom C que du XUL. Et du coup, je suis passé à coté de nouveautés :-).

Comme l'évolution de l'API Fuel.

Cette API, qui contient des fonctions intéressantes pour toute application XUL, n'était au départ disponible que dans Firefox (durant le développement de la version 3.0), et non dans le toolkit XUL. Et en fait, je viens de m'apercevoir que les fonctionnalités non spécifiques au navigateur sont maintenant dans les sources du toolkit (depuis la version stable de Gecko 1.9.0), donc disponible pour toute application XulRunner.

Sous certaines conditions cependant.

En effet, il faut se faire un composant XPCOM javascript, avec un IDL propre qui hérite de extIApplication (voir l'exemple dans Firefox), et inclure les sources de extApplication.js via une instruction de preprocessing #include. Pour ceux qui génèrent leur application avec les sources de Mozilla et qui utilisent le système de build de Mozilla. Pour les autres, il n'y a pas d'autres choix que de recopier le fichier extApplication.js dans leur chrome et l'inclure programmatiquement.

Cependant, grâce au fait que vous ayez à faire un objet XPCOM javascript, ayant son propre IDL, cela vous permet d'ajouter vos propres méthodes et propriétés sur l'objet Application qui sera exposé dans vos scripts javascripts de vos fenêtres XUL.

lundi, février 16 2009

Jelix 1.1

La version 1.1 de Jelix est sortie !

Merci à tout les contributeurs, que ce soit au niveau du code qu'au niveau de la rédaction du manuel :-)

mercredi, février 11 2009

En vrac

La flemme de faire un billet pour chaque chose à dire, donc voici en vrac quelques news, en particulier sur mes projets...

Lire la suite...

vendredi, janvier 30 2009

Jelix motorise la première plateforme de blog française

D'après Médiamétrie/Nielsen, la plateforme de blog Over-Blog est devenu la première plateforme de blog français en décembre, passant devant Skyrock (anciennement skyblog). Source: over-blog.

Over-blog a fait le choix il y a 2 ans et demi d'utiliser le framework jelix, Cette nouvelle me ravit donc :-)

lundi, janvier 5 2009

Nouveautés de Jelix 1.1RC2

La semaine dernière, j'ai publié une seconde version candidate pour Jelix 1.1. Pas mal de bugs corrigés et de petites améliorations mineures par ci par là. Mais je n'ai pas résisté à inclure un cadeau de noël, un nouveau module que j'ai écris en quelques dizaines de minutes : master_admin. Qui est accompagné d'une nouvelle commande initadmin.

Avec ce couple, vous pouvez réaliser une application d'admin from scratch en 5 minutes. Démonstration.

Lire la suite...

mercredi, décembre 10 2008

Regression sur les templates sqlite, et l'importance des tests unitaires

En voulant utiliser les templates XUL avec sqlite dans BlueGriffon, Daniel a découvert un bug il y a quelques jours. Un méchant bug d'ailleurs, puisque les templates avec sqlite ne fonctionnaient quasiment plus ( je n'ai pas vérifié si ça l'est dans la dernière beta de Firefox ou si c'est juste dans le trunk).

C'est une régression qui est survenue suite à une "amélioration" dans le moteur principal de template, il y a... presque 2 mois !

Deux mois pendant lesquels les templates avec sqlite ne fonctionnaient plus. Et savez-vous pourquoi tant de temps ? Parce qu'il n'y avait pas de tests unitaires ! Donc aucun moyen de détecter automatiquement la régression.

Et à qui la faute ? En grande partie à moi : je n'avais pas développé de vrai tests unitaires lorsque j'avais implémenté le support de sqlite dans les templates XUL. Deux petites excuses tout de même :

  1. À l'époque, le framework de tests unitaires ne permettait pas de faire des tests dans le context chrome
  2. j'attendais en fait que Neil Deakin finisse son mini framework de tests sur les templates, pour y ajouter mes tests.

Mais bon, quand il eut terminé, ma tâche fut tombée dans l'oubli, noyé que je suis dans ma todo list.

Cependant, Neil m'a dévancé pour corriger le bug. Moi j'ai ajouté mes tests. Tout devrait être intégré dans le trunk dans les jours qui viennent, le temps que les reviews se fassent. Ouf.

mardi, décembre 9 2008

Testez Jelix 1.1RC1 !

Ouf, ça y est, la version 1.1RC1 est disponible. C'est le moment pour vous de venir essayer cette nouvelle version, afin de comparer Jelix avec d'autres frameworks, mais aussi de nous aider à débusquer les derniers petits bugs. À propos de stabilité, plusieurs développeurs utilisaient des versions de développement de Jelix 1.1 dans leurs projets et en production, et les tests unitaires nous permettent de vérifier qu'il n'y a pas de regressions, vous ne devriez donc pas rencontrer de problème sérieux. Mais rien n'est parfait en ce bas monde, donc on a besoin de plus d'yeux, et plus de tests manuels pour renforcer la robustesse du framework avant la sortie finale de Jelix 1.1.

Conçernant la documentation, on y travaille dur, et nous avons encore beaucoup de travaille sur la version anglaise du manuel de Jelix 1.1, mais la version française est quasi complète. Si vous voulez nous aider à traduire, n'hésitez pas, c'est un wiki. Nous allons aussi travailler à un nouveau tutoriel. De plus, je développe actuellement un nouvel outil pour générer automatiquement la documentation sur l'API (marre de phpdoc). Bref, nous avons beaucoup de travail sur le projet, tout aide est donc la bienvenue ! :-)

N'hésitez donc pas à venir sur notre channel IRC (irc.freenode.net, #jelix) ou le forum pour poser vos questions.

Aujourd'hui je ne serais par contre pas disponible, je serais au Forum PHP 2008 :-)

jeudi, décembre 4 2008

Petits plaisirs avec CSS3

Pour la sortie de la version 1.1 de Jelix, je suis en train de faire quelques retouches sur le design du site web jelix.org. Je suis loin d'être un as du web design, de maitriser Gimp ou autre comme un pro, alors j'essaye de m'amuser avec les dernières propriétés CSS implémentées dans Firefox 3.1 qui arrive.

Lire la suite...

dimanche, novembre 23 2008

La documentation de Jelix en anglais

Enfin ! La version anglaise du manuel de Jelix 1.0 est terminée. Un gros merci à Bibo pour l'énorme coup de main. Il y a certainement encore des coquilles, des phrases mal tournées (mon anglais n'est pas infaillible...) mais ça s'améliorera avec le temps. Toute aide est d'ailleurs la bienvenue : c'est un wiki ;-)

Comme la version française, le manuel est disponible en PDF. Et comme la version française, il y a deux version du PDF : la première générée à chaque sortie d'une nouvelle version mineure de Jelix 1.0, et une autre générée toutes les nuits, directement à partir du contenu du wiki.

On a aussi travaillé sur le manuel de Jelix 1.1. L'édition française est presque complète, tandis que la rédaction de l'édition anglaise vient tout juste de débuter.

À propos de Jelix 1.1, il reste encore un ticket avant la publication de la première "Release Candidate". C'est donc pour très très bientôt ;-)

Prochainement aussi : Jelix 1.0.7 et jTpl standalone 1.0. J'ai pas mal amélioré cette version standalone du moteur de template de Jelix, avec une configuration plus simple et surtout plus souple, et bien sûr les quelques nouvelles fonctionnalités que l'on a dans jtpl de Jelix 1.1 ;-)

- page 1 de 9