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

mardi, janvier 6 2009

Rendez-vous PHP et les frameworks

Le 13 janvier prochain, à Paris, les éditions Eyrolles et l'AFUP organisent une soirée sur le theme des frameworks PHP. Il y aura notament une table ronde durant laquelle des representants de Zend Framework, Symfony, et Jelix (avec moi-même donc) débatteront, avec aussi des comparaisons avec Django (python) et Rails (ruby).

Pour les détails, voir le site d'Eyrolles et celui de l'AFUP.

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

vendredi, décembre 12 2008

Retour du Forum PHP 2008, et IOC dans Jelix

Un p'tit billet pour dire que ce Forum PHP 2008 était sympathique, bien organisé, avec des conférences intéressantes (au moins pour la journée de Mardi, à laquelle je suis allé).

J'ai pu notamment faire la connaissance de Fabien Potencier (monsieur Symfony), et j'ai trouvé sa conférence sur l'injection de dépendance et l'inversion de contrôle très intéressante et très pédagogique. Et du coup, j'ai enfin tout compris de ces termes barbares. (les tutoriels que j'ai pu lire par le passé sur le sujet étaient ultra théoriques et peu compréhensibles...)

En fait j'ai surtout compris que j'ai déjà utilisé l'injection de dépendance sans le savoir, et j'ai compris aussi l'intérêt d'un patch dans Jelix que m'avait soumis un contributeur, Christophe, qui a assisté lui aussi à cette conférence.

En fait donc, dans Jelix 1.1, il y a un embryon de possibilité d'inversion de contrôle ! (C'est dingue ce qu'on peut apprendre dans ce framework :-D). Christophe et moi, on a quand même constaté que ce n'était pas suffisant (d'où le terme employé, "embryon"), et donc pour la 1.2, on vous prépare du vrai IOC et de la vraie DI, bien intégré dans Jelix, réutilisant la philosophie des sélecteurs de classes de Jelix. (pour la 1.1, c'est un peu tard là, vu qu'on est au stade RC1..).

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

Forum PHP 2008, finalement j'y serais

Devant l'insistance de quelques messages que j'ai reçu me demandant si je venais ou pas, et mon patron m'ayant offert l'entrée, je serais finalement à la journée technique du forum PHP 2008 (la première journée ne m'intéressant pas trop). Et puis une autre raison ma pousser à me décider à venir. Il semble que le hasard fasse bien les choses puisque suite à un désistement d'un conférencier (si j'ai bien compris), et peut-être aussi suite à ma remarque sur le programme, une nouvelle conférence sur PHP 5.3 a fait son apparition, ce qui augmente un peu plus l'attrait du forum :-)

Ce sera aussi l'occasion de parler avec qui voudra de la sortie de la version 1.1RC1 de Jelix, Elle n'est pas encore sortie à l'heure où je publie ce billet, mais elle devrait montrer le bout de son nez d'ici mardi :-) (plus de ticket en attente, mais il y a encore le site à mettre à jour et quelques trucs dans la doc à finir...).

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 ;-)

lundi, septembre 29 2008

Jelix 1.1 beta est dispo

Ce week-end, j'ai sorti une beta de Jelix 1.1. Plein de nouveautés au programme, surtout dans le système de formulaire jForms, qui gagne en souplesse, et en fonctionnalités :

  • de nouveaux contrôles : captcha, champ caché, groupe, choix avancé, éditeur html...
  • modification dynamique du formulaire : ajout/suppression et activation/désactivation de contrôles
  • possibilité de connaître les valeurs modifiées
  • intégration de jQuery
  • générateurs sous formes de plugins, vous permettant de choisir plus facilement le format de sortie, ou la manière dont sont générés les champs du formulaire

Il y a également :

  • une nouvelle version du système de droit, jAcl2, plus facile à utiliser et à configurer. Un module est fournie pour gérer les droits.
  • le support SOAP
  • la nouvelle réponse htmlfragment pour les réponses ajax html
  • le nouveau moteur d'url basic_significant
  • des nouveaux plugins pour le moteur de template
  • les nouvelles classes utilitaires jIniModifier, jHttp, jMessage, jDuration (pour jDateTime)...

La doc en français est presque complète, et est dispo en téléchargement en pdf comme d'habitude.

La venu de cette beta vient un peu tard, c'est pourquoi je pense qu'il n'y aura pas de beta2 et qu'on passera directement à une RC, Les plus gros trucs prévus pour la beta2 seront probablement repoussés à une version 1.2. Mais vu le rythme du développement, vu que le trunk, utilisé par de nombreuses personnes, est particulièrement stable dans le temps, je pense que l'on va se permettre d'avoir un cycle de sortie plus court. (max 6 mois par exemple, on verra).

vendredi, septembre 12 2008

Hg ou Svn ? That is the question...

Vu que je bosse sur le code de Mozilla, je suis bien obligé d'utiliser Mercurial. Et plus j'utilise, plus j'adore. Surtout son système de pile de patch (l'extension Mq).

Se pose à moi alors la question : pour mon projet Jelix, devrais-je remplacer totalement Subversion par Mercurial ? Ou simplement utiliser Mercurial en local avec hgsvn qui me permettrait de mettre à jour mon dépot Mercurial local à partir du dépot Subversion central ?

En fait, personnellement, je n'ai pas de souci à utiliser Mercurial, bien au contraire, il apporte beaucoup de chose. Mais c'est vis à vis des contributeurs, et surtout des contributeurs potentiels. Je trouve l'utilisation d'un système de gestion de version distribué un poil plus compliquée qu'un centralisé comme Subversion, avec des concepts pas forcément évident à appréhender, surtout quand on est habitué à Subversion ou CVS. En clair, j'ai peur qu'imposer l'utilisation de Mercurial fasse peur (Déjà que j'ai l'impression que l'utilisation d'un outil de versionning ne semble pas encore être la norme en entreprise et que j'ai rencontré pas mal de développeurs web qui savaient à peine ce que c'était que cvs, svn...).

Mais peut-être me fais-je des idées ?

Et vous, qu'en pensez-vous ?

jeudi, juillet 24 2008

Sortie de Jelix 1.0.5, futur de la 1.1 et projet de bug tracker

On essaie d'être le plus régulier possible dans la sortie des versions de maintenance, donc voici Jelix 1.0.5 qui corrige des bugs mineurs. La version 1.0.6 sortira dans deux mois. Si il y a de nouveaux bugs bien sûr :-)

Après un calme assez plat dans les développements de la version 1.1, à cause de la préparation des RMLL, et d'autres occupations qui ont accaparé mon temps, l'activité a repris ces derniers jours, avec encore des nouveautés dans jForms, comme la possibilité de grouper des contrôles, une API plus complète sur les contrôles, et un nouveau contrôle <choice> pour avoir une liste de choix contenant des contrôles, comme dans un bug tracker :

  <choice ref="task">
     <label>Task status</label>
     <item value="new">
         <label>New</label>
     </item>
     <item value="assigned">
         <label>Assigned</label>
         <input ref="assignee" required="true">
             <label>assignee name</label>
         </input>
     </item>
     <item value="closed">
         <label>Closed</label>
         <menulist ref="task-done">
             <label>Status</label>
             <item value="done">Done</item>
             <item value="cancelled">Cancelled</item>
             <item value="later">Later</item>
         </menulist>
     </item>
  </choice>

J'ai encore quelques améliorations à faire, pour rendre jForms plus maléable (rajouter des champs de saisie à la volée par exemple), et après ça, probablement qu'une version beta sortira.

Au passage, si j'ai développé cette balise <choice> avec cet exemple d'utilisation pour un bug tracker, ce n'est pas par hasard. Souvenez vous de mon coup de gueule sur Trac, et des résultats de mes recherches d'un nouveau bug tracker, qui sont finalement restées vaines. Au bout du compte, j'avais décidé à l'époque d'en créer un nouveau, je me suis lancé donc dans ce développement.

Cela m'a permis d'utiliser pleinement Jelix, et de découvrir sa force (2 heures seulement pour faire la gestion complete des reports comme dans trac !), mais aussi certaines faiblesses. D'où la création d'un nouveau système de gestion de droits, jAcl2, avec son module d'admin, mais aussi des améliorations dans jForms, dont celles que je viens d'évoquer. Et tout ça est dans le trunk de jelix maintenant. Ces développements ont bien sûr ralenti ceux de mon projet de bug tracker, mais maintenant que je vais presque avoir tout ce qu'il faut, je vais pouvoir me relancer à fond dans ce projet.

Alors bien sûr, je sais que c'est un peu la mode en ce moment de faire un bug tracker en PHP (à cause entre autre je pense du concours sur developpez.com). Mais je me suis lancé dans ce projet bien avant cette mode ;-). Pour le moment, il n'est pas vraiment utilisable, mais ça va le devenir :-) Enjoy !.

lundi, juillet 7 2008

Retour des RMLLs

C'était la première fois que je participais aux RMLLs, et cette édition 2008 me laisse une bonne impression, malgré quelques frayeurs Mardi lors de mon arrivée :

Heureusement le temps s'est rafraichit dans la semaine, les visiteurs sont venus, et j'ai pu avoir une solution de secours pour faire mes conférences. Comme à chaque meeting sur les logiciels libres, c'est l'occasion de revoir ou de rencontrer d'autres libristes, de troller discuter entre nous, en particulier lors des "nocturnes". J'ai pu aussi serrer la pince à deux contributeurs de Jelix, Bast et Bibo.

Lors de mes présentations Jeudi sur Etna et Jelix, il y avait je pense une quinzaine-vingtaine de personnes environ, ce qui est relativement positif, vu le nombre de conférences qu'il y avait pendant ces 5 jours. Par contre, à l'atelier Jelix de Vendredi : 2 personnes, en plus de 2-3 autres spectateurs arrivés par la suite. Faut dire aussi que jeudi soir c'était festif (le "repas du libre"), et l'atelier commençait tôt, à 9h00...

J'ai assisté à la conférence sur Copix, mais aussi sur "Webkit vs Mozilla". Très intéressant, car cela m'a permis d'en savoir plus sur le projet webkit, et sur les grosses différences "philosophique" et techniques, malgré l'objectif commun des deux projets : faire du web un web encore plus ouvert. Et contrairement à ce que peut laisser penser le titre, la conférence ne fut pas un champs de bataille pour trolls en tout genre. Les deux conférenciers, Julien Chaffraix (qui développe actuellement l'implémentation de XBL2 dans Webkit) et Paul Rouget (de Xulfr et contributeur Mozilla), ont bien préparé cette conférence de manière à avoir un "débat" équilibré (M'enfin, on a bien chambré ce pauvre Julien pendant ces 5 jours, lui tout seul face à 5 Mozilliens :-) ).

Au niveau organisation, ce n'était pas mal dans l'ensemble, pas de gros problèmes de mon point de vue (sauf les problèmes techniques pour filmer les conférences, et donc vous n'aurez pas la vidéo de mes présentations, ni celle sur Webkit vs Mozilla). Le seul souci je trouve est qu'il y avait des sites éloignés des uns et des autres. Quand on est à pied, ce n'est pas évident, même si il y avait des navettes... Bravo quand même aux organisateurs, je pense qu'à l'heure actuelle ils doivent tous être sur les rotules :-)

Pour ce qui est des slides, vous les trouverez sur le site des RMLL : Jelix, Etna.

vendredi, juin 20 2008

Un nouveau depôt pour jelix

Le projet Jelix était initialement hébergé sur la plateforme developer.berlios.de. Mais petit à petit, à cause d'une qualité moyenne de l'hébergement, et parce que Nicolas me prête un peu de sa dedibox, j'ai migré certaines choses de berlios vers le serveur jelix.org. Ça d'abord été le site principal (berlios trop chargé), puis abandon du bugtracker (trop simpliste) après installation d'un trac sur http://developer.jelix.org.

Je gardais toutefois le dépôt subversion sur berlios, par flemme de migrer d'abord, mais ensuite parce que ça animait les stats d'activité du projet, donnant alors en principe une certaine visibilité au projet. Mais les problèmes récurrents d'accès aux dépôts subversions ces dernières semaines m'ont fait prendre la décision de migrer, d'autant plus que ces stats n'ont finalement rien apporté en 2 ans.

Bref donc, à coup de svndump et svn load, le dépôt est maintenant sur svn.jelix.org. On a donc maintenant un accès plus rapide, et plus fiable normalement :-).

Les fichiers en téléchargement et les mailing lists restent par contre sur berlios pour le moment.

Je vais aussi certainement ouvrir en partie le dépôt subversion des fichiers des sites *.jelix.org[1] , en espérant avoir quelques contributeurs qui m'aideront à les faire évoluer. Il y a de plus en plus de chose à faire dessus (notamment l'intégration d'un site de "snippets" codé avec Jelix qui ouvrira dans les prochaines semaines), mais mon temps disponible, lui, ne s'allonge pas. Si au passage il y a des volontaires...

Notes

[1] j'ai du nettoyage à faire d'abord dans ce dépôt, comme cacher les fichiers sensibles, mettre à jour les cartouches de licence sur les trucs "fait maison" etc

mardi, juin 3 2008

Jelix 1.0.4 et un article sur Linux+ DVD

On continue avec les sorties régulières de versions de maintenance de Jelix 1.0. Hier donc c'était la sortie de Jelix 1.0.4 qui corrige quelques bugs mineurs. Nous continuons à suivre une politique stricte sur les versions :

  • Les versions mineures en 1.0.x ne corrigent que des bugs, et n'apporte que des "micro" améliorations, pour éviter d'avoir des regressions ou des nouveaux bugs. La stabilité avant tout.
  • Les versions intermédiaires en 1.x apporteront des nouveautés, voir quelques APIs cassées mais seulement sur des composants "périphériques" : on ne modifie pas l'API du coeur du framework (contrôleurs, vues etc...) tout au plus peut-on se permettre de rajouter des méthodes et propriétés ou nouveaux objets dans le coeur. Avec bien sûr son lot de nouveaux composants et d'évolutions sur les composants existants.
  • Les version majeures : on se permettra de tout casser si il le faut. Je pense qu'une version 2.0 sera envisagée pour la sortie de PHP 6, profitant des évolutions de ce dernier (et sera donc incompatible avec PHP5). Mais il n'y a rien d'arreté pour le moment, Jelix fonctionne bien comme il est :-).

La sortie de cette version 1.0.4 coïncide avec la sortie de l'article de Bastien (contributeur au projet) dans le numéro spécial de Linux+ DVD : "Développer efficacement avec Jelix".

vendredi, mai 16 2008

Avancées sur la documentation de Jelix

La documentation sur un outil de développement comme un framework est souvent un problème. D'une part parce que, bien souvent, le développeur n'aime pas écrire de la doc, mais aussi parce que soit la rédaction de la documentation n'est pas aisée, soit elle n'est pas disponible dans un format autonome et imprimable.

Lire la suite...

lundi, avril 7 2008

Jelix 1.0.3 et cie

Hier j'ai sorti la version 1.0.3 de Jelix, avec son lot de petits bugs corrigés, mais aussi quelques améliorations, dont l'apparition d'une page de démarrage lorsque l'on crée une application (voir le mini tutoriel mis à jour pour l'occasion). Cette page n'affiche pas qu'un message de bienvenu, mais fait aussi un diagnostic de la configuration et de l'installation (comme la configuration de PHP), et préviens donc si il y a des choses qui risquent de gêner le bon fonctionnement de Jelix.

À part ça, ça avance un peu dans la future version 1.1. Les principales nouveautés que j'ai ajouté dernièrement, ce sont :

  • les évolutions dans jForms, qui permettent je pense de commencer à montrer le potentiel de ce système de formulaire, dont :
    • le support de la balise <htmleditor>. Une simple balise, et vous avez un éditeur HTML wysiwyg dans votre formulaire. Actuellement, j'ai fait le choix que ce soit Wymeditor le moteur de cet éditeur, mais si vous en voulez un autre, il n'y a pas de souci. Quelques lignes dans le fichier de configuration de jelix et tout votre site utilise fckeditor ou tinymce ou ce que vous voulez. Voir la documentation sur la balise htmleditor. Bien sûr, coté serveur, jForms nettoie le HTML de manière à éviter les problèmes de sécurité comme XSS et cie.
    • le support de la balise <captcha>. Là encore, pour avoir un captcha de type "test de turing" (les captchas de type image viendront plus tard), il suffit juste d'ajouter cette balise et jForms s'occupe du reste (choix de la question, génération du champs de saisie, vérification coté serveur de la réponse etc).
  • jAcl2, un nouveau système de gestion de droits, qui s'inspire de jAcl, mais en plus simple.

Le développement de Jelix 1.1 ne va pas aussi vite que je le voudrais (en tout cas, en ce qui me concerne, car il y a pleins de nouveautés qui vont débarquer grâce aux contributeurs ;-) ). En effet, je bosse aussi sur des petits projets annexes comme le module jcommunity qui apporte tout ce qu'il faut sur un site pour que les gens puissent s'inscrire, s'identifier, avec gestion des mots de passe perdu, gestion de leur profils etc. Et puis je travaille aussi sur un autre projet perso (basé sur jelix bien sûr) mais je vous en dirais plus plus tard ;-).

mardi, avril 1 2008

Die Trac ! Die !

Pour le projet Jelix, j'utilise Trac pour le suivi et la gestion des bugs (il est hebergé sur http://developer.jelix.org/). Au départ, je l'avais trouvé sympa : simple à utiliser, avec des rubriques utiles comme la gestion et la visualisation des roadmap, la timeline pour être au courant de toutes les dernières modifications, le wiki intégré, la navigation dans les sources plus "sexy" que websvn.

Par contre à l'usage, Trac commence sérieusement à me gonfler :

  • Contenu des tickets vraiment minimal. Certes on peut ajouter des champs via le trac.ini (très facile), mais on ne peut définir aucune règle de gestion, sauf à développer un plugin (et le python n'est pas encore ma tasse de thé), ou alors à faire du javascript dans tout les sens pour cacher la misère (le plugin des dépendances de tickets est un bel exemple en la matière).
  • Les plugins parlons-en : du fait du minimalisme dans les tickets, on est obligé d'en installer un minimum afin d'avoir un truc décent. Par exemple, pour pouvoir créer des dépendances entre tickets (tel ticket bloque tel autre ticket), pouvoir gérer certaines choses "basiques" (liste des composants des versions etc), Ou encore avoir une authentification un peu mieux foutu. Cependant, le problème avec les plugins, c'est que la plupart sont soit incomplets, soit buggés, soit obsolètes ou utilisables seulement pour une version supérieure (et instable) de trac.
  • Il en découle un autre problème : la complexité de mettre à jour trac ou d'installer les plugins. Faut avoir les droits d'admin pour installer trac, modifier la conf apache et cie. Il y a des dépendances de partout. Il faut taper des lignes de commandes dans tout les sens, dont on ne se rappelle jamais la syntaxe. Bref, par rapport à une appli PHP traditionnelle, c'est l'horreur.
  • Impossible de rajouter des informations sur les pièces jointes. La gestion des pièces jointes est finalement trop pauvre pour mes besoins.
  • L'affichage des pièces jointes : buggé tout simplement. Quand on attache un patch par exemple. Pour certains, on peut les visualiser directement dans trac (avec coloration syntaxique et tout), pour d'autre, obligation de les télécharger pour les voir. Je soupçonne un problème de reconnaissance du mime type du fichier lors de l'upload, ou un truc dans le genre. Toujours est-il que c'est très énervant.
  • Bon et puis c'est pas super réactif, dû peut-être au fait que c'est en Python (pas taper :-) ), mais aussi certainement dû à la base de donnée : les concepteurs de trac sont vraiment des newbies en modélisation de base de données. Le schéma fait vraiment peur à voir. Un exemple : ils ne connaissent pas varchar, et vas-y que je te met tout les champs textuel en type "TEXT", des champs contenant uniquement des valeurs numériques en type "TEXT" également... Bien sûr, j'ai tenté d'améliorer tout ça, en changeant certains types, en ajoutant des indexes (primaire ou pas) là où il devait y en avoir etc.. Mais ça n'a que vaguement améliorer les choses.
  • Je ne parle pas des templates super lourdingues à modifier. J'en ai passé des heures à intégrer le design "jelix.org"...

J'utilise une version 0.10, je sais que la 0.11 est en préparation et corrige certains points (le langage des templates, l'admin par ex). Mais j'envisage sérieusement de changer de gestionnaire de projet. J'en ai déjà regardé quelques-uns : Bugzilla, Mantis, Redmine. Cependant, ils ne me conviennent pas forcément.

  • La gestion des tickets dans bugzilla est tout à fait ce qu'il faut. Mais l'interface est austère, et il n'y a pas de rubriques annexes comme la vue des roadmaps, de la timeline, la navigation dans les sources, ni de wiki intégré.
  • Redmine : ça a l'air sympa, mais un peu simpliste quand même. Et j'ai eu des retours comme quoi c'était plutôt lent, même sur une machine dédiée (rails oblige ?)
  • Mantis : l'interface est tout simplement une horreur. Pas seulement le design, mais aussi la façon dont elle est organisée. Et c'est lent.

Je suis en train de regarder une autre solution, mais je vous en dirais plus un autre jour.

Mise à jour : autres produits vus

  • phpBugTracker : trop simpliste, moche
  • Jira : ça a l'air complet et semble y avoir tout ce qu'il faut. Mais faut installer un serveur java, et puis c'est pas libre, bien que la licence soit gratuite pour les projets libres.

jeudi, mars 20 2008

Peer-review et avancées dans Jelix

Quelques nouvelles de Jelix. Ce n'est pas parce que j'en parle moins en ce moment sur mon blog, que ça n'avance pas :-)

Lire la suite...

mercredi, mars 5 2008

Un exemple simple d'utilisation de jForms

J'ai écrit[1] un petit tutoriel qui montre un exemple simple sur l'utilisation de jForms, le système de formulaire de Jelix. J'ai repris le même exemple de formulaire que dans ce récent post sur un exemple simple d'utilisation de Zend_Form

Notes

[1] relu par des contributeurs, merci à eux

vendredi, février 15 2008

Version 1.0.2 du framework PHP Jelix

Parce que je n'aime pas laisser trainer des bugs trop longtemps dans des releases officielles, voici une nouvelle version de maintenance pour Jelix 1.0. Bon, rien de grave, elle corrige juste 8 bugs mineurs :-) C'est par ici que ça se passe.

Dans le même temps, les travaux sur la future version 1.1 avancent. J'ai finalement décidé d'inclure wymeditor dans jelix, pour avoir un éditeur HTML wysiwyg. Il est léger, respecte les standards, et surtout suffisamment petit pour que je puisse le hacker si besoin est sans trop de difficulté. Comme il repose sur jQuery, ce framework javascript sera donc intégré d'office dans Jelix. Et ça tombe bien, parce qu'il y a des plugins pour afficher des "datepickers" dans les formulaires, chose dont je vais avoir besoin dans jForms. Bien sûr, comme jForms est devenu extensible sur la partie génération de formulaire, ceux qui ne veulent pas de jquery et wymeditor, pourront se faire leur propre générateur qui reposerait sur les bibliothèques javascript de leur choix. Toutes contributions en ce sens sont la bienvenue !

D'ailleurs toutes contributions quelle qu'elles soient sont la bienvenue. Par exemple, j'aimerais bien avoir une meilleure présentation pour la présentation de la doc de réference. Les frames, c'est pas super top. Cependant phpdoc est assez complexe sur tout ce qui est personnalisation de templates et de la façon dont générer la doc, et donc je n'ai pas vraiment le temps pour le moment de me pencher dessus. Donc si il y a un volontaire dans la salle :-)

Mieux, si vous aimeriez réaliser un remplaçant de phpdoc, plus léger et plus facile à configurer, vous pouvez toujours contribuer à un projet que j'avais lancé il y a quelques mois, jphpdoc (il n'est pas basé sur jelix).

dimanche, janvier 27 2008

jForms devient extensible

Dés le départ, quand j'ai conçu l'architecture du système de formulaire jForms, dans Jelix, j'ai fait en sorte que chaque partie de jforms soit suffisamment bien séparée des autres, de manière à le faire évoluer le plus facilement possible. Par exemple, un des objectifs premiers était, à partir d'un unique fichier descriptif de formulaire en XML, de pouvoir générer un formulaire dans le format que l'on veut : HTML, XUL, XForms etc.. Ainsi donc, dans jForms il y a

  • un objet pour l'analyse du fichier XML jforms
  • un ensemble d'objet pour l'instanciation et la manipulation d'un formulaire coté serveur dans les contrôleurs,
  • d'autres pour la validation des données coté serveur,
  • et enfin un autre pour la génération finale d'un formulaire dans un format précis.

Dans Jelix 1.0.1, il n'y a qu'un format de sortie disponible, qui est du HTML que je qualifierai de "classique" (comprendre, pas de DHTML et ajax dans tout les sens), avec une génération de code javascript pour la validation coté client. On peut ajouter d'autres formats, mais il faut modifier quelques lignes dans le code même de jForms, ce qui n'est pas des plus pratique, malgré l'existence d'une documentation sur ce sujet pour les "hackers".

Ce temps est cependant révolu : je viens de passer deux petites heures à modifier légèrement jForms afin que les générateurs de sortie soient sous forme de plugins. Ainsi, plus besoin de modifier le code de jForms pour ajouter un nouveau format. Il suffit de faire une simple classe que l'on dépose dans un répertoire de plugin, de faire les plugins de templates qui vont avec et c'est tout. Bien entendu, rien ne change au niveau utilisation ;-)

Il est probable ainsi que l'on puisse, dans Jelix 1.1, générer un formulaire HTML utilisant extjs par ex, ou générer un formulaire en XUL (et plus tard un plugin pour générer un formulaire HTML5 ;-) .

Prochaines évolutions dans jforms : de belles balises comme <htmleditor>, <captcha>.. ;-)

- page 2 de 4 -