Easter-eggs a été créée en 1997 et dès 1999, le choix de Python comme langage de prédilection pour nos développements spécifiques a été posé.
Nous nous sommes immédiatement intéressés aux frameworks orientés MVC. Zope a été le premier que nous ayons utilisé, puis très logiquement, nous sommes passés à Pylons puis, à partir de 2011, à Pyramid.
Pourquoi avons-nous choisi Pyramid et pourquoi n’avons nous pas opté pour Django ?
Django et Pyramid sont tous les deux des frameworks "full-stack". Là où ils se différencient, c’est au niveau de la philosophie. Django suit la philosophie "Batteries included" et fournit "out of the box" presque tout ce dont les développeurs ont besoin. C’est-à-dire que toutes les fonctionnalités nécessaires au développement d’une application (ORM, moteur de template, gestion des sessions, système de cache, sécurité, formulaires, scaffolding, URL mapping, Ajax, Web services, internationalisation, ...) sont fournies par des bibliothèques internes.
À contrario, Pyramid n’impose rien. Chaque fonctionnalité peut être implémentée par la bibliothèque externe de son choix.
Ce choix de philosophie de Django le rend à notre goût trop monolithique et par conséquent bien moins "souple" que Pyramid, donnant moins de contrôle au développeur. C’est là l’argument principal à l’origine de notre choix.
La flexibilité de Pyramid nous permet donc de construire notre pile logicielle idéale sur des bibliothèques externes que nous avons pu choisir :
Autre point fort de Pyramid, sa documentation est riche et précise. Les bibliothèques sous-jacentes sont également bien documentées et robustes, ce qui a toujours permis d’apporter une réponse à une situation donnée, même les plus désespérées ;-)
En résumé, nous avons choisi Pyramid car il n’impose pas de contraintes qui peuvent être un frein aux développements c’est à dire qu’il permet de créer des applications complexes sans avoir à « contourner » les rails du framework.
L’objectif de Pyramid-Helpers est d’éviter de redévelopper à chaque fois des fonctionnalités communes à tous les projets et de fournir une boite à outils permettant de faciliter et d’accélérer le travail du développeur. On y trouve donc :
Pyramid-Helpers est aussi un démonstrateur Pyramid. Une documentation par l’exemple. La documentation de Pyramid-Helpers, c’est Pyramid-Helpers.
Le couple Pyramid / Pyramid-Helpers est pour nous un socle applicatif permettant de créer des interfaces web simples et efficaces pour de la consultation/saisie de données ou bien encore dans le cas du paramètrage/pilotage/surveillance d’applications métiers.
Le principal intérêt de Pyramid / Pyramid-Helpers est sans doute de savoir se faire oublier - tous les outils pour interagir avec l’utilisateur sont à notre disposition. Cela nous permet de nous concentrer quasiment exclusivement sur les problématiques liées aux processus métiers des applications que nous devons développer.