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

jeudi, octobre 20 2011

Jelix 1.3 et au delà

10 mois après la version 1.2, voici la version 1.3, avec son lot de nouvelles fonctionnalités. J'ai pu amélioré et stabiliser cette version 1.3 sur des projets clients, dont un gros projet de plusieurs mois (application B2B), et qui tourne maintenant en production.

Pour ceux qui n'ont pas suivi l'actu Jelix ces dernières semaines ou mois, sachez que ça a pas mal bougé avec l'aide des contributeurs :

  • migration des sources de bitbucket vers github
  • migration des services jelix.org sur un nouveau serveur plus puissant
  • nouveau site, booster.jelix.org, qui référence les modules et plugins existants pour jelix, réalisés par des utilisateurs et contributeurs.
  • une nouvelle charte graphique du portail est en préparation, avec une toute nouvelle et belle page d'accueil. Le forum sera aussi migré vers la version 1.5pre de havefnubb.

Et puis je réfléchi en ce moment à la version suivante. J'ai bien sûr des tonnes d'idées d'améliorations, dont pas mal dorment dans le bug tracker depuis des lustres. Reste qu'il faut les prioriser, et puis décider si c'est le moment ou pas de casser des choses pour mieux les refaire. Voir de casser des choses pour profiter de ce qui est déjà fait ailleurs (comprendre, réutiliser des composants existants).

La mode est au 2.0 en ce moment : Symfony 2.0, CakePHP 2.0, et bientôt Zend 2.0. La concurrence est rude et soutient un rythme plutôt soutenu :-). Jelix était en avance sur certains points. Il va falloir garder cette avance, et rattraper certains retards. Un challenge continuel.

Par exemple, Symfony 2 vient d'intégrer le concept de "bundles", qu'on appelle "modules" ici dans Jelix. Jelix a ce principe de module[1] depuis sa naissance en 2006, et on peut même dire que ça date depuis 2002 si je me souviens bien, puisque je l'avais implémenté pour la première fois dans Copix, l'ancêtre de Jelix. Symfony 2 et CakePHP 2 mettent aussi plus en avant l’interaction avec des objets représentant la requête et la réponse HTTP, un concept dominant dans Jelix depuis ses débuts. Mais Jelix a perdu du terrain par exemple sur les problématiques de cache. Ainsi il n'y a pas encore de prise en charge du mécanisme de cache de HTTP. Même si il est tout à fait possible de le faire actuellement "à la main". C'est quelque chose que l'on va améliorer (un patch est en review ;-)), entre autres choses (par exemple la couche ORM mériterait qu'on la rénove)..

Certaines améliorations vont pouvoir être faites sans casser les applis existantes, donc qui auront leur place dans une version 1.4 ou 1.5. Mais d'autres devront être faite dans une version 2.0 qui cassera quelques compatibilités. Cependant, pour le moment, la vision que j'ai d'un Jelix 2.0, ne remettra pas en cause fondamentalement les principes du framework. Je pense qu'il y aura moyen de faire des profondes modifications dans le noyau, sans rendre totalement incompatibles les modules existants. En effet, l'organisation des sources dans les modules Jelix est suffisamment structurée et éprouvée pour pouvoir ajouter d'autres types de fichiers sans bouleverser le reste. D'ailleurs, une des tendances des frameworks, d'après ce que je vois, est de structurer assez fortement l'organisation des sources, et de le faire de manière à ce que ce soit modulaire, extensible. Ce que fait Jelix depuis 6 ans maintenant ;-).

Bref, proposer toujours plus de fonctionnalités, en évitant de trop casser l'existant :-)

Une dernière chose, Jelix est un projet encore à "taille humaine". Tout contributeur potentiel peut y trouver sa place facilement[2], et il y a de quoi faire ;-). Et nous, les contributeurs actuels et moi, sommes ouvert à toute discussion, pour permettre aux développeurs de construire leurs projets de manière toujours plus efficace et plus robuste.

Venez imaginer avec nous le framework du futur[3]!

Notes

[1] Je dois reconnaître que Symfony pousse le concept un peu plus loin, mais il va suffire de peu de chose dans Jelix pour être "à niveau"

[2] ce qui est plus difficile dans un projet à plusieurs centaines de contributeurs

[3] en PHP bien sûr ;-)

mardi, juin 7 2011

Testez la beta de Jelix 1.3

J'ai sorti ce week-end dernier la beta du framework PHP Jelix 1.3. Pas mal de nouveautés sont disponibles.

Tout d'abord, quelques allègements dans la structure d'une application : il y a maintenant qu'un seul boostrap application.init.php pour tous les points d'entrées, et un seul répertoire temporaire. Ensuite, le script jelix.php pour lancer des commandes d'aide au développement, a été remplacé par un script cmd.php qui est placé dans l'application. Son utilisation est alors facilitée puisqu'on n'a plus le nom de l'application à indiquer en argument.

Il y a une nouvelle gestion des erreurs et des exceptions, plus puissante, mais aussi plus conviviale. Les messages d'erreurs sont en effet maintenant pris en charge par le système de log de Jelix, qui a lui aussi connu des évolutions (il a maintenant un système de plugin). On peut aussi fournir sa propre page d'erreur, permettant d'afficher un message "convivial" à l'utilisateur, avec le look de l'appli, plutôt qu'un message technique barbare sur une page blanche.

Deuxième grosse nouveauté : le développeur peut activer la toute nouvelle barre de debug pour avoir un affichage détaillé des erreurs, mais aussi des logs, de la liste des requêtes SQL, des messages SOAP, du contenu de la session etc. Et comme la barre est extensible, on peut développer/ajouter des plugins pour afficher d'autres informations.

Du travail a aussi été fait pour faciliter le développement de tests PHPUnit pour une appli Jelix. L'intégration de Simpletest, bien que toujours disponible, est considérée maintenant comme obsolète. D'ailleurs la migration des tests de Jelix vers PHPUnit a commencé.

Enfin le système de droits jAcl2 a vu quelques améliorations techniques, mais aussi au niveau de l'interface de gestion de droits. Et puis bien sûr, une tonne de petites améliorations ont été faite ici et là.

Pour la migration d'une application jelix 1.2, c'est une affaire de quelques minutes, grâce au système de mise à jour de Jelix, mais aussi parce que les API n'ont que très peu changé.

Cette beta a été développée et largement éprouvée lors de la réalisation d'un gros projet d'un de mes clients (et par des contributeurs bien sûr). Vous pouvez donc l'utiliser à priori sans soucis particulier :-). Et d'ici la version finale dans quelques semaines, je ne pense pas qu'il y aura de gros changements.

À propos de clients et de l'avenir de Jelix, il faut savoir qu'une bonne partie des contrats que j'ai eu au cours de ces 12 derniers mois, concernait des projets relatifs à Jelix (consulting, formations, développement d'appli...), et ce n'était pas que pour des petites boites (BNP Paribas, Transatel..). Ce framework ne cesse donc de se déployer en entreprise. Et je compte faire en sorte que pour les prochains mois, le mouvement s’accélère !

Bien souvent on me posait la question de la pérennité du framework. Après 5 ans d'existence, motorisant des gros sites comme Overblog, tout un tas d'intranets et de sites publiques divers et variés, j’espère que cette question se posera moins souvent :-) Merci à ceux qui ont fait confiance au projet, et à ceux qui contribuent, que ce soit au niveau du code ou au niveau communauté.

PS: j'ai oublié de dire que le manuel pour cette version 1.3b est disponible, complet, en français et en anglais, en ligne ou en PDF

mercredi, janvier 19 2011

Jelix 1.2 et la suite

Le temps passe vite : presque un mois que j'ai sorti Jelix 1.2. Ça fait donc un mois que je me dis qu'il faudrait que j'en parle sur mon blog :-)

La liste des changements est assez conséquente. Pour faire rapide, elle comporte :

  • un nouveau système d'installation automatique des modules, ce qui est très agréable dés lors il faut installer un module tiers, ou pour mettre à jour une application en production, puisque ce système d'installation permet les mises à jour incrémentales.
  • le support de bases de données NOSQL, avec une API abstraite d'accès à ces bases
  • des améliorations dans jForms, le système de formulaire
  • le support de tout les noms des types natifs des bases SQL dans jDao (l'ORM)
  • enfin un composant de gestion de cache de donnée
  • et des dizaines d'autres petites améliorations

Sitôt la 1.2 sortie, sitôt le développement de la 1.3 commencé. Déjà fait :

  • nouvelle gestion des erreurs et des exceptions. Le logger jLog est utilisé pour les stocker. On peut maintenant fournir sa propre page d'erreur, et les erreurs ne s'affichent plus dans une div pas très jolie, mais dans une toute nouvelle debugbar, désactivable.
  • jLog, justement, accepte maintenant des plugins, pour étendre ses possibilités
  • Tout comme l'objet jResponseHtml (la "vue"). Ainsi les fonctions de "minification" des fichiers CSS/JS, reposant sur Minify, ont été migrées dans un plugin. Et la nouvelle debugbar est également un plugin.

Et il est prévu :

  • polissage de la debugbar et des plugins pour la debugbar
  • une petite refonte de la partie routage
  • des simplifications ici et là, du nettoyage de code
  • le début de la migration de Simpletest à PHPUnit pour les tests unitaires
  • et plein d'autres petites choses

Je vais essayer de sortir cette prochaine version assez rapidement, même si tout ce que j'ai prévu n'est pas développé à temps. Je veux en effet accélérer le rythme des releases. Le système de mise à jour de Jelix permettant des migrations plus douces. Et bien sûr, les mises à jour correctives pour les deux branches actives, 1.1 et 1.2, vont continuer à sortir. La 1.2.1 ne va pas trop tarder ;-)

dimanche, novembre 7 2010

Mercurial/Git : ne pas "brancher" est une erreur

Et c'est une erreur que j'ai faite pour le développement de Jelix 1.2. Cela a conduit à un gros retard (presque 1 an !) sur la sortie de la version stable, avec toutes les conséquences qu'un retard de la sortie d'une version d'un projet peut avoir.

Lire la suite...

Jelix 1.2RC2, forum PHP et Rarangi

Ça fait quasiment un an que je n'ai pas parlé de Jelix sur mon blog (oups !). Ce n'est pas pour autant que le projet n'a pas avancé, bien au contraire !

Bien qu'initialement, la version 1.2 du framework était prévue il y a plus d'un an, elle ne va sortir que ce mois-ci. J'expliquerai pourquoi dans un prochain billet. Une "release candidate" est donc disponible, avec son manuel en ligne et en version PDF, le tout bien sûr, en anglais et en français. Cette version comporte une tonne de nouveautés.

Cette version 1.2 à venir est particulièrement stable car déjà utilisée sur pas mal de projets, ce qui a permis de remonter pas mal de bugs et améliorations à faire. Ainsi des préversions de Jelix 1.2 sont utilisées :

  • Dans quelques un de mes projets clients, réalisés ces derniers mois :-)
  • Dans des projets à venir d'Over-blog, réalisés donc par l'équipe d'Over-blog. Sachant que, pour ceux qui ne sont pas au courant, qu'ils utilisent Jelix depuis plusieurs années pour motoriser les blogs d'Over-blog ;-) (l'une des plus grosses plateforme européenne de blog).
  • Dans la future version 1.4 de HavefnuBB, un forum réalisé avec Jelix (et utilisé sur http://jelix.org ;-)) (la 1.3 utilise jelix 1.1)
  • Dans Rarangi, une alternative à phpdoc.

Bref, n'hésitez pas à tester et à utiliser cette RC2 !

Si vous voulez en savoir plus sur les nouveautés, rendez-vous au stand jelix au forum php, mardi et mercredi prochain. J'y serais avec d'autres contributeurs, dont Olivier "Foxmask" Demah, l'auteur de HavefnuBB.

Au sujet de Rarangi, c'est un autre projet qui me tiens à coeur et que j'avais commencé fin 2008, mais avec le manque de temps, ce n'est que maintenant qu'il commence à être opérationnel. PHPdoc commence à me gonfler sérieusement. Il est buggé de partout, compliqué à personnaliser, demande énormément de ressources. Et je n'accroche pas à doxygen. Bref, je compte m'en débarrasser définitivement sur jelix.org, en le remplaçant par Rarangi ces prochaines semaines, une fois que j'aurais finalisé les templates de détails des classes et fonctions, et amélioré la navigation. J'espère apporter une alternative sérieuse à phpdoc. Les futures versions embarqueront notamment un moteur de recherche et autres fonctionnalités inédites.

Une démo de Rarangi est visible en ligne. Il reste comme je l'ai dit, des améliorations de design et de lisibilité sur certains type de pages. N'hésitez pas à me faire part de vos impressions sur cette pre-0.1 :-) (et si quelqu'un veut bien se dévouer pour le design.. car comme vous le voyez, ce n'est pas ma spécialité :)

lundi, mars 29 2010

Modifier un fichier ini en php

J'aime bien utiliser les fichiers ini pour tout ce qui est configuration. En php, c'est très rapide à charger avec la fonction parse_ini_file (beaucoup plus rapide qu'un fichier de conf en php, avec un facteur 10 je crois), et puis c'est très simple à modifier, la syntaxe étant minimaliste.

C'est pourquoi j'utilise des fichiers ini dans jelix, et pas des trucs du genre yaml, syntaxe que je trouve hyper compliquée [1], en tout cas trop pour l'utiliser pour un fichier de conf [2].

Dans Jelix, il y a des outils pour le développeur pour l'aider à construire son appli, et il arrive donc que ces outils aient à modifier un fichier ini. J'avais fait une première implémentation naïve dans une classe, jIniFile permettant d'enregistrer un fichier ini : une méthode pour lire (avec parse_ini_file), une autre pour écrire en lui passant un tableau de clés/valeurs, et le nom du fichier.

Problème de cette classe : on perd tous les commentaires et les sauts de lignes à la lecture avec parse_ini_file. C'est assez fâcheux pour un fichier de configuration, où les commentaires peuvent être nécessaires.

D'où une autre classe jIniFileModifier, qui permet de charger, modifier et enregistrer un fichier ini, sans perdre les commentaires et les espacements. Elle permet même de supprimer une clé/valeur, avec le commentaire qui lui est associé (le commentaire qui la précède). Cette classe supporte les sections et les tableaux de valeurs. En fait, j'ai fait en sorte qu'elle soit compatible au maximum avec le format ini utilisé par parse_ini_file[3].

Vous pouvez l'utiliser seule dans vos projets, elle est totalement indépendante de Jelix. Par contre, ne l'utilisez pas pour une simple lecture, ce n'est pas son objectif principal, parse_ini_file est beaucoup plus performante pour ça.

Notes

[1] pour preuve : la spécification YAML : 77 pages A4, celle du XML : 30 pages...

[2] si j'avais à choisir un format pour stocker des options de manière arborescente, je choisirais json

[3] il y a en effet quelques variantes, suivant les logiciels

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...

- page 1 de 9