Le web et son évolution, du code maison au Micro-Frameworks

Le web et son évolution, du code maison au Micro-Frameworks

30 Nov 2014 |  Développement

Au fil du temps, les outils et les usages de l’Homme ont considérablement évolués. Des bâtons aux objets tranchants jusqu’à l’utilisation de silex polis sur des manches, l’Homme n’a cessé d’évoluer. Même si cela était il y a des millions d’années ce principe s’applique toujours…

L’âge de pierre du web date de 1991, à cette époque on créait des sites webs avec seulement quelques couleurs de façon à attirer l’oeil sur l’essentiel, le contenu. Oui, très peu de logique fonctionnelle mais beaucoup d’informations. Ainsi jusqu’en 2000 on ne fait que du web statique dans lequel presque tout est hard codé.

A partir de 2001 on commence à industrialiser le développement, c’est l’aire de « mon framework maison ». Chaque développeur qui se respecte créé son framework, son outil, de façon à capitaliser et industrialiser ses développements. 2001 c’est aussi l’année de naissance de Drupal ou du moins drop.org.

A partir de 2002, le web est clairement en train d’évoluer, on passe de l’informatif au participatif « Bonjour web 2.0 ». Il en est de même pour nos outils de développements et l’on note l’apparition en 2005 de Frameworks full stack tel que Symfony, Ruby on Rails, Django et j’en passe… Le but est simple : créer des outils qui rassemblent et permettent le respect des bonnes pratiques afin d’augmenter la productivité. Il ne faut pas non plus oublier que les Frameworks permettent une chose essentielles, ils comblent les lacunes des langages. L’inconvénient majeur est qu’à long terme on apprend le framework et non plus le langage. Comme l’évoque Francois Zaninotto dans la conférence qu’il a donnée lors du Forum PHP 2014, un Framework c’est bien quand c’est petit autrement il évolue sans s’arrêter afin de satisfaire ses utilisateurs ! Au passage je vous conseille de regarder sa conférence « Frameworks: A History of Violence », celle-ci est vraiment très intéressante et vraiment bien animée !

Tout cela pour dire que nos outils capables de tout faire, nous offrent peut être trop de choses et à partir de 2007, un nouveau courant arrive dans le monde du développement, l’apparition des micro-frameworks. Ainsi Sinatra est crée en réaction à l’alourdissement de Ruby on Rails, puis quelques années plus tard (2011) arrivent d’autres micro-framework bien connus tels que Silex, Slim, Limonade… La définition de Frédéric G. Marand sur ce qu’est un micro-framework est précise, à tel point qu’il propose deux visions. « Un Micro-Framework est défini par le fait qu’il n’impose pas de structure à l’application qui l’utilise comme par exemple Silex vs Symfony2 SE » et « Un Micro-Framework peut-être nommé ainsi par sa petite taille tel que Camping ». En bref, le but est de répondre à un besoin spécifique tout en encourageant la construction de composants qui peuvent être assemblés pour former l’application.

évolution des outils web

L’évolution des frameworks est moins rapide que l’évolution des langages et c’est tout à l’avantage des Micro-Frameworks. Ces derniers grâce à leur petite taille peuvent plus facilement suivre les nouveautés ou se réinventer en fonction des tendances. Exercice bien moins facile pour un Framework Full-stack où l’évolution engendre une refonte presque complète sans chemin de migration entre les versions (c’est le cas de Symfony2, pas de migration depuis la version 1 ou de Drupal entre ses différentes versions)

Limités ou cadrés par nos Frameworks, nous avons conçus des applications au départ simples mais qui au final, se sont retrouvées difficilement maintenables et compliquées à faire évoluer. Cette mutation de nos outils nous a ainsi permis quelques changement et ouverture d’horizons dans le développement d’applications tels que les architectures orientées services ou composants.

Références et articles sur le même sujet :

Julien Dubreuil

Vous avez une idée, un projet web à réaliser ?

Ensemble, mettons en oeuvre sa réussite. Je vous accompagne dans vos projets, depuis l'élaboration du cahier des charges jusqu'à la mise en production. Pour plus d'information n'hésitez pas à me contacter.

Contactez-moi