title: ★ Définition et avantages d'un framework web slug: definition-et-avantages-d-un-framework-web date: 2007-01-17 20:47:49 type: post vignette: images/logos/frameworks_web.png contextual_title1: Sortie de Django 1.0, une année de nouveautés contextual_url1: 20080902-sortie-de-django-10-une-annee-de-nouveautes contextual_title2: Google App Engine : avantages et inconvénients contextual_url2: 20080409-google-app-engine-avantages-et-inconvenients contextual_title3: ★ Astuces et bonnes pratiques Django contextual_url3: 20080211-astuces-et-bonnes-pratiques-django

J'ai récemment reçu un mail de maxime me rappelant à juste titre que le terme « framework web » n'est pas familier pour tous mes lecteurs et qu'un billet à ce sujet serait le bienvenu. Je vais essayer de rester le plus accessible possible en utilisant une métaphore bien connue, après celle de la caisse à outils pour le choix d'un framework web, passons à la cuisine pour les non bricoleurs (comme moi).

Définition d'un framework web

L'objectif est de faire un bon gâteau. Généralement, les personnes qui ne savent pas cuisiner ou qui aiment particulièrement une recette très connue choisissent un gâteau tout prêt qui est vendu dans un sachet qu'il suffit de mettre au four, c'est ce que l'on appelle en développement web un CMS ou Système de Gestion de Contenu. C'est très pratique et on y a tous goûté un jour mais il est quasi-impossible de changer la recette, au mieux vous pouvez rajouter un peu de nappage sur le dessus mais ça reste succinct... et frustrant. De plus, avouons-le, c'est loin d'être de la grande cuisine, c'est correct mais ça en reste là. Enfin, et c'est souvent le plus gênant, les sachets vendus sont pour 4 et comment faire lorsque vous êtes 6 ou 2 ?

Heureusement tout ces inconvénients disparaissent lorsque l'on sait cuisiner. On choisit la recette qui nous plaît, les ingrédients parmi les meilleurs et on fait un bon gâteau. Le problème de cette méthode est qu'elle prend du temps. Or, il y a des combinaisons d'ingrédients que l'on retrouve tout le temps comme mélanger des œufs et de la farine ou monter des blancs en neige. Si seulement on pouvait directement avoir accès à ces ingrédients tout prêts !

En cuisine, ce n'est pas évident et cela demanderait un frigo énorme, mais en développement web on a trouvé la parade : les frameworks web.

Un framework web est donc un regroupement de macro-ingrédients qui forment un tout cohérent et que l'on a juste a assembler selon nos besoins pour faire un gâteau avec notre propre recette.

Avantages d'un framework web

Liste non exhaustive :

Bon je crois que ça suffit pour convaincre les plus piètres cuisiniers (je n'ai pas mentionné les différentes cuisines possibles mais elles sont bien sûr nombreuses, ma préférée étant celle du Python). S'il y a des marmitons inspirés vous pouvez mettre votre recette en commentaire :-).

Dans un registre un peu plus technique/sérieux, vous pouvez lire l'article de Jon initulé CMS et frameworks web ou Top 13 reasons to use a web framework and never look back de CoderBattery.