Diem

Découvrez Diem, un CMS. Ou plutôt, un CMF pour Content Management Framework. Open Source, le projet affiche fièrement sa ligne de conduite : conçu pour les sites – pas si simples. Basé sur le framework symfony 1.4 (au lieu de la 1.1 dans la précédente mouture), Diem va en effet vous permettre de mettre en place vos systèmes de gestion de contenu totalement sur mesure. Un effort a été fait sur l’interface d’administration, le SEO, l’édition inline, les outils pour développeurs, les performances… Bref, un beau projet qui promet.

Si vous êtes à la recherche d’une solution de gestion de contenu parfaitement calquée sur vos besoins spécifiques, vous devriez faire un tour du côté de Diem et des modules fournis.

Site officiel

Encore un framework

Vous étiez prévenu, le forum PHP 2009 fût une excellente occasion de découvrir un certain nombre de projets, apportant chacun leur lot d’innovations. Suite à la première conférence à laquelle j’ai pu assister, « Optimiser PHP avec un préprocesseur« , Nicolas Grekas a présenté – et tenté d’évangéliser – son framework fait maison : Patchwork.

Développé en interne, Patchwork est né comme souvent pour résoudre certaines problématiques. Ici, c’est la portabilité et la « cohérence » des applications qui intéressent son auteur.

Portabilité ?

L’objectif est ici de faciliter le déploiement des applications PHP en fonction du serveur de destination. Une fonction pas disponible ? Une autre qui a un comportement différent selon la version ? À l’instar des autotools de l’univers C/C++, Patchwork permet de se prémunir contre ce genre de situations. Concrètement, voici la manière de spécialiser un appel en fonction du contexte :

/**/if (! function_exists('utf8_decode'))
/**/{
      function utf8_decode($string)
      {
          // ...
      }
/**/}

Cohérence ?

Le mot est peut être mal choisi, mais l’idée est là. L’idée est d’homogénéiser le code en appliquant un certain nombre de règles :

  • Le même encodage (UTF-8) partout
  • CRLF vs CR vs LF
  • ‘@’ (opérateur de silence) ou non ?
  • Fonctions à substituer…

Le dernier point s’avère utile dans bien des cas : utiliser une fonction plus optimisée, rajouter des fonctionnalités… Quelques exemples concrets de substitutions ?

rand => mt_rand
md5  => hash('md5', ...)

Le préprocesseur de Patchwork se charge également de booster le mécanisme d’autoload de PHP5, et bien entendu place tous les résultats de compilation en cache afin de ne pas tout recalculer à chaque appel ; d’où le nom de pré-processeur. Les benchmarks effectués laissent apparaître un gain de performances de l’ordre de 5%.

Mon avis

Patchwork part d’un très bon sentiment et d’une problématique qui existe au sein de nombreux projets. C’est un projet jeune, déjà utilisé en production, et documenté (en français). Patchwork est une opportunité de s’amuser avec toutes les possibilités offertes par PHP5, et peut aisément servir pour « maintenir » une application vieillissante, ou sur laquelle on a peu de contrôle. En revanche, certains points pourraient être un non-sens dans bien des cas. Ainsi, la substitution de fonctions par leurs cousines plus performantes pourrait ne plus avoir de sens dès lors que l’équipe de développement intègre directement ces best-practices.

Liens :

GNU Et bien, cela faisait un moment qu’on n’avait pas vu de nouvel article sur ZeTechnology. La faute aux nouveaux projets : un moteur de recherche en C++, un composant d’édition d’images pour eZ Publish, Piwam, et un certain nombre de projets personnels.

Piwam était ma première vraie expérience en matière de logiciel libre, côté développeur j’entends. Maintenant que les premières versions sont bel et bien lancées, je suis en mesure de retranscrire par ce billet mes premières impressions, revenir sur certaines rumeurs ou vérités.

S’il fallait mettre l’accent sur un point qui revient souvent dans cet univers, c’est bien l’aspect communautaire. Le logiciel libre est en effet souvent mis en avant pour sa communauté toujours active. Je dois avouer qu’avec Piwam, les retours dépassent mes espérances. Nombreux sont ceux qui font parvenir leur avis sur l’outil et l’accueillent plutôt à bras ouvert.

Parallèlement, il y avait évidemment les inévitables « retours d’erreurs ». Oui, dans Piwam aussi, il y a des erreurs. Et s’il y a quelque chose de fort agréable avec les libristes, c’est que les erreurs mènent à des recherches, voir des corrections de la part de ceux qui ont observés ces problèmes.

Pour ceux qui ne sont pas habitués à cet univers, voici comment les choses se présentent concrètement. Piwam est hébergé sur un espace Google Code, qui offre un outil de suivi de bugs (à l’instar de Trac ou Bugzilla, pour ne citer qu’eux). Par le biais de cet outil, les utilisateurs peuvent faire savoir les problèmes qu’ils ont rencontré, suivre le traitement de ces problèmes, ou soumettre des idées d’améliorations souhaitées. Non content de pouvoir soumettre un problème, les utilisateurs peuvent soumettre des idées de résolution, ou même la solution du problème sous forme de patch. Là, le développeur (moi) peut décider d’appliquer le patch, et ainsi corriger le soucis rencontré.

En quoi ces retours utilisateurs sont-il importants ? J’accorde une très grande importance aux tests dans un projet. Et bien que de nombreux tests sont mis en place, notamment en émulant toute une série de configurations de serveurs possibles, il arrive – quasi systématiquement – que telle ou telle situation imprévue se présente à vous et met à mal votre solution. Pour citer un exemple, la fonction PHP « apache_get_modules » n’était pas présente chez un certain nombre d’hébergeurs. Il a donc fallu trouver un remède au problème. De même, les configurations d’Apache faisaient que telle ou telle configuration du VirtualHost et/ou des .htaccess ne fonctionnait pas systématiquement. L’occasion alors de développer la documentation.

Un petit mot de conclusion ? La communauté libriste apporte réellement au développeur. Tant en tant que classique beta-testeur qu’en véritable aide pouvant se porter garant de la qualité et sécurité du code, ouvert et donc, on le rappelle, modifiable par tout à chacun.

PrestaShop

Quiconque souhaitant se lancer ou s’étant lancé dans le commerce en ligne a pu découvrir que choisir son application de vente on-line peut s’avérer être un choix crucial. Alors qu’osCommerce reste encore sans doute le plus prisé, il peut être intéressant de se pencher vers PrestaShop. Écrit en PHP, libre et gratuit, PrestaShop offre une présentation assez soignée, tant dans son back-office qu’en front-office. Pré-configuré pour fonctionner avec Paypal, disposant d’un module Google Checkout, gérant les offres spéciales, code-barres, devises multiples, les livraisons et plein d’autre choses, PrestaShop peut être essayé en ligne sur le site officiel.

LibdispatchGCD, comme on l’appelle, est disponible sous forme d’une bibliothèque libre, publiée par la firme de Cupertino. GCD introduit avec Snow Leopard des possibilités aisées de parallèlisation, offrant aux développeurs un moyen simple de tirer partie des processeurs multi-coeurs.
Site officiel

Je vous fais part ici d’un article publié sur Open Source Universe. Un article – pas trop long – essayant de mettre le doigt sur les différences fondamentales entre l’univers Open Source et celui de la Pomme, en termes de conception et développement.
Vous le remarquerez au cours de votre lecture, cet article est relativement proche finalement des idées que j’avais commencé à avancer dans un de mes articles (Interface dans les logiciels libres [...])

Lien vers l’article.


Sensio Labs, avec l’aide de l’AFUP, est heureux de vous inviter à la Symfony Live Conference, à Paris, les 11 et 12 juin 2009. L’occasion pour – au moins – deux invités de prestige, Yahoo et Dailymotion, de partager leurs expériences avec le framework, tout comme plusieurs développeurs qui s’exprimeront sur leur retour vis à vis de Symfony.

20 sessions se succèderont sur ces 2 jours, à la Cité Universitaire Internationale (Paris). Les conférences se tiendront en français. Si vous êtes interessé, n’hésitez pas à vous enregistrer, ou à suivre les actualités via Twitter (compte sflive09).

Nombre de fois la confusion est faîte. Alors que celle entre libre et gratuit commence à être assimilée petit à petit, bon nombre de personnes – moi le premier il y a encore peu de temps – parlent de logiciel libre pour désigner une approche Open Source et vice-versa.

Il faut dire qu’il y a de quoi s’y méprendre. Monsieur Stallman essaie tant bien que mal d’inciter les utilisateurs à faire preuve de discernement. Vous trouverez sur le site de GNU un article au titre aussi complet qu’évocateur : Pourquoi l’« open source » passe à coté du problème que soulève le logiciel libre. Bon, après lecture de l’article vous comprendrez pourquoi il s’inscrit dans la rubrique Philosophie du site, mais les explications ont le mérite de mettre les choses au clair…

Une bonne nouvelle arrivée ce matin même. Du moins, une bonne nouvelle pour les développeurs Android. La nouvelle mouture du SDK estampillé alors 1.5 est disponible sur le site de la bête.