A propos

Qu'est-ce que le framework Adventy ?

Le framework Adventy est une solution de développement web à destination des entreprises et développeurs qui utilisent ou souhaitent pratiquer le langage PHP.

Un framework est un cadre de travail qui sert à créer les fondations d'une application web dans les normes et standards. Il apporte un ensemble d'outils et de composants logiciels afin de faciliter le travail du développeur. Son objectif est d'optimiser la productivité, de faire baisser les coûts de développement et de maintenance applicative.

Adventy est une solution open source, similaire aux frameworks Symfony, Zend et bien d'autres encore.

Qu'apporte le framework Adventy ?

Ce que propose le framework Adventy par rapport aux frameworks déjà existants sur le marché, c'est :

  1. l'industrialisation des fonctionnalités techniques transversales : cela désigne le contrôle des paramètres passés en GET ou POST, la génération de formulaires, le développement de web services et des requêtes évènementielles (AJAX), l'internationalisation (I18N), l'abstraction de la base de données (DAO), la gestion du cache, l'organisation des fichiers sources, les tests unitaires et fonctionnelles, l'utilisation de bibliothèques externes et/ou appartenant à d'autres frameworks ;
  2. l'optimisation pour les moteurs de recherche (SEO) : cette optimisation est mesurable à l'aide des outils en ligne tels que PageSpeed Insights de Google, Yslow de Yahoo... La performance d'une application web est signe de qualité et améliore le ROI. Elle ne doit pas être uniquement une caractéristique privilégiée des sites internet, mais également des applications web en générales (intranet et extranet) ;
  3. la programmation orientée aspect (AOP) : cette technique de programmation vient compléter la programmation orientée objet. L'AOP consiste à séparer les problématiques ou préoccupations, et à réduire les dépendances. Elle favorise la modularité, la réutilisation et l'industrialisation. De plus, cela facilite grandement le développement des tests unitaires et fonctionnelles qui sont souvent négligés par manque de temps.

Pourquoi le framework Adventy ?

L'objectif du framework Adventy est de :

  1. permettre le développement d'applications web performantes et de qualité ;
  2. réduire le temps de production et de maintenance ;
  3. améliorer le ROI.

Ce framework est accessible à tous, et sa prise en main est rapide. C'est un outil intuitif qui invite le développeur à ne se concentrer que sur le code métier, donc à coder moins, ce qui signifie statiquement moins de risque d'anomalie et de maintenance.

Adventy un framework simple, léger et orienté performance. Il est une alternative aux frameworks dits trop lourd, et dont la performance reste encore à améliorer : trop de design patterns et de plugins tuent la performance, la complexité démotive les développeurs, et le manque d'industrialisation réduit la productivité.

Quelles sont les fondations du framework Adventy ?

Le framework Adventy reprend les bases de la programmation, en s'inspirant de la maxime diviser pour régner (du latin divide et impera). Cette stratégie s'appliquait déjà dans les débuts de la programmation lorsqu'une fonction ou une méthode est créée. Aujourd'hui, elle évolue vers une technique plus subtile nommée AOP.

Adventy est le fruit du retour d'expérience de son fondateur. Selon lui, un (bon) framework doit développer 5 axes qui se traduisent par les 5 règles (2A3P) suivantes :

  1. Accessibilité : la simplicité de ce framework permet aux débutants une prise en main rapide, d'acquérir de bonnes pratiques, et par la même occasion de développer une application web de qualité. Le développeur n'a pas besoin de connaître le MVC, ni d'avoir une expérience sur un framework, même si cela peut aider. Il a simplement besoin de se rappeler la citation Une place pour chaque chose et chaque chose à sa place dans un projet Adventy. Ensuite, l'inversion de contrôle (design pattern) prendra la relève ;
  2. Agilité : les projets web d'aujourd'hui sont conduits et réagissent aux évènements, et nécessitent donc d'être réactif. Il faut développer vite et bien, ce qui est dans la pratique extrêmement difficile, mais pas impossible. Cependant, ce qui est difficile pour les frameworks en général, l'est moins pour le framework Adventy. En effet, l'architecture de ce dernier est organisée de façon à ce que plusieurs développeurs puissent intervenir ensemble et simultanément sur le même module sans se gêner. Sachant qu'un module est codé en PHP, HTML, CSS et Javascript, chaque développeur peut ainsi choisir son langage préféré et développer le code attendu. Les tâches techniques sont parallélisées, et les blocages liés aux langages sont rapidement débloqués ;
  3. Productivité : le framework Adventy invite le développeur à séparer les problématiques (ou aspects) sous forme de modules selon l'AOP. Le développeur n'a plus à se soucier des fonctionnalités techniques transversales car elles ont déjà été industrialisées (contrôle des données, transactions, etc.). Il ne se concentre uniquement que sur les aspects métiers, ce qui représente un gain de temps énorme en développement. Moins de code signifie aussi moins d'erreur potentielle statistiquement, et donc encore une fois un gain de temps sur la correction d'anomalies. Ce temps gagné peut ainsi être réinvesti pour produire plus, tout en réduisant les dettes techniques ;
  4. Performance : Le coeur du framework Adventy s'est inspiré des bonnes pratiques du SEO. Le temps de réponse n'est pas une option, il est primordial. Plus ce temps de réponse est court, plus l'utilisateur voudra consommer des ressources (naviguer), et dans les faits, plus cela favorisera les ventes ou l'envie d'utiliser l'application web. Il faut savoir que la performance reflète généralement la qualité du développement, et c'est ce que le framework Adventy tend à cultiver. Son architecture est légère, optimisée pour répondre rapidement aux requêtes des utilisateurs ;
  5. Passion : le framework Adventy est né de la passion d'un développeur pour l'art du code, la performance et le partage. Ce framework est conçu pour aider les développeurs web à faire les choses en toute simplicité, rapidement et de façon optimisée. Rien n'est inaccessible ou compliqué, il suffit juste de voir les choses sous un angle différent et d'avoir suffisamment d'audace pour réinventer la roue. L'innovation ne se trouve pas dans la sphère confortable des tendances à suivre, mais au-delà des limites fixées par les puissants.

Quel est l'état d'avancement du framework Adventy ?

Aujourd'hui, le framework Adventy est proposé en version expérimentale, s’inspirant des design patterns, des bonnes pratiques de développement, mais surtout de l’expérience et R&D de son fondateur. La documentation et des tutoriaux sont en cours de rédaction. Et comme tout document, bien que cela puisse paraître long à lire, la prise en main de ce framework est en fait plutôt aisé et intuitif.

Le framework Adventy n’en est qu’à ses débuts. Il reste encore beaucoup à faire. Par exemple, développer un gestionnaire de projet, un gestionnaire de tests unitaires/fonctionnels, un CMS, etc. sans oublier la maintenance et l’évolution du framework.

Le retour d’expérience des développeurs testeurs orientera les priorités de la roadmap, à savoir la correction d’anomalies, l’optimisation de code, le développement de nouvelles fonctionnalités. En attendant, l'industrialisation et l'automatisation seront à l'honneur pour optimiser la productivité.

Si vous pensez que le framework Adventy mérite d'être connu, alors n'hésitez pas à le partager et/ou à faire un don, afin que ce projet puisse évoluer, car le meilleur reste à venir.