Framework web

De EduTech Wiki
Aller à la navigation Aller à la recherche

Introduction

Il existe de nombreux outils logiciels informatiques permettant de développer rapidement et efficacement des applications web enrichies (RIA, Rich Internet Application). Parmi eux, on retiendra deux grandes catégories (excepté les serveurs applicatifs) :

  • les CMS (content management system, Système de gestion de contenu) permettant la création de site disposant surtout d'un contenu journalistique si l'on peut dire
  • les frameworks web ou plateformes applicatives.

Définition

D'une manière générale, un framework est un espace de travail modulaire, constitué d'un ensemble de bibliothèques, d'outils et de conventions permettant le développement rapide d'application (wikipedia, framework). Il fournit aussi une structure pour l'application. Par extension, un framework web est un ensemble d'outils spécialisés pour le développement d'applications web.

Avantages et inconvénients

Tout dépend du type et de l'envergure de l'application web que l'on veut réaliser. Pour un petit site statique, une simple connaissance du html peut suffire. Par contre, si par exemple, on veut créer une plateforme web pour le e-learning et se passer pour des raisons qui nous appartiennent des services de moodle ou dokeos, l'utilisation de ce type d'outil sera bienvenue. Il en est de même pour tout autre application web de grande envergure car un framework est une sorte de boite à outils regroupant des macro-ingrédients pour la réalisation du projet. On peut prendre la métaphore du cuisinier. En somme, c'est comme si vous aviez déjà à disposition les parties importantes pour réaliser une recette de cuisine. Des 'morceaux' déjà prêt de cette recette, adaptables à volonté; Par exemple, pour réaliser une tarte quelconque, vous avez déjà la patte toute prête, que vous pouvez adapter, à volonté, pour deux, quatre, dix personnes.

Ainsi, liberté, rapidité, qualité, cohérence et pérennité sont les avantages de l'utilisation de ces plateformes applicatives.

Cohérence et pérennité sont deux atouts essentiels car le framework vous impose une certaine structure l'application qui vous garanti une maintenance et une mise à jour facilitée.

L'inconvénient d'un tel outil est ce que j'appelle 'le ticket d'entrée'. En effet, l'apprentissage de la plateforme est plus ou moins long et fastidieux. Tous ne sont en plus pas aussi bien documentés que le framework php symfony par exemple. Aussi, l'apprentissage de l'outil est un élément très important à intégrer dans le développement du projet. La rapidité de développement du projet va dépendre de la bonne connaissance de l'outil.

Critères de choix

Pas de bon ou mauvais choix à priori parmi les outils les plus populaires du marché comme l'illustre ce comparatif de framework php, ou celui ci plus réflexif. La documentation et le ticket d'entrée sont des critères de choix importants, mais le type du projet, ses implications et la maitrise préalable ou non du framework sont aussi des éléments à ne pas négliger.

Exemples et tutoriels

  • Ruby On Rails, RoR est un framework web libre, écrit en ruby et suivant le motif de conception MVC (Modèle Vue Controleur).
tutoriel : Gestion très simple d'un carnet d adresse
  • Symfony comme RoR, Symfony est basé sur le motif de conception MVC et utilise une couche d'abstraction d'accès aux données et d'implémentation AJAX. Il est développé en PHP5
tutoriel : une petite application de gestion de weblog
  • Django le framework web python pour les perfectionnistes sous pression.
tutoriel : bien debuter avec django
tutoriel et presentation : présentation de flex
  • sans oublier le couple html/ajax, et en particulier l'api javascript extjs, une des meilleures aujourd'hui pour faire du web 2.0 selon moi.

références et liens

définition et avantages d'un framwork web --> http://www.biologeek.com/journal/index.php/definition-et-avantages-d-un-framework-web

12 framework Php --> http://www.journaldunet.com/developpeur/tutoriel/php/060313-php-panorama-frameworks.shtml

critères de choix d'un framework PHP --> http://www.numabilis.com/blog/2007-05-30-criteres_de_choix_dun_framework_php

choisir un framework web --> http://www.biologeek.com/journal/index.php/choisir-un-framework-web

du choix d'un framwork web --> http://js.jipiju.com/2007/06/05/du-choix-dun-framework/

appredre symfony : un tutoriel pour débutant (EN) --> http://www.sitepoint.com/article/symfony-beginners-tutorial

ruby on rails -> http://www.rubyonrails.org/

symfony --> http://www.symfony-project.com/

Adobe Flex 2 --> http://www.adobe.com/fr/products/flex/

flex 2, adobe se met aux interfaces très riches -> http://www.01net.com/article/320087.html

Librairie Javascript Ext JS 2.0 --> http://extjs.com/ : la meilleure !!

Notes de version

Dernière modification :--Smalandain 14 novembre 2007 à 15:10 (CET)