Les Frameworks et la conception de sites web

1 – Qu'est ce qu'un Framework ?

C'est un cadre de travail qui permet d'utiliser des bibliothèques selon une architecture bien définie. L'objectif du framework est d'aider les développeurs en facilitant la conception d'une application web.

Les frameworks utilisent en général le code PHP avec une architecture MVC.
Le modèle MVC sépare les différentes couches (modèle vue contrôleur) et améliore la compréhension, la lecture et la maintenance du code source.

Par exemple un graphiste qui ne connaît pas la programmation PHP pourra facilement modifier les vues (le rendu) sans avoir à apprendre le PHP ni la programmation objet (POO). Il pourra modifier uniquement l'habillage de la page (code html) pour mettre en place ses modifications.

Les méthodes du contrôleur que le développeur va créer auront pour rôle de remplir des variables suivant un contexte bien précis (données reçues par le contrôleur) pour transmettre les données traitées (variables) à la vue.
Les variables pourront être alimentées en faisant des requêtes sur la base de données via les modèles. Les variables peuvent bien sur être modifiées avec du code PHP avant d'être transmises à la vue.

Les modèles sont quant à eux utilisés pour se connecter à la base de données et récupérer les informations demandées par le contrôleur. Les classes de base contiennent des méthodes pour faire des requêtes assez facilement (par exemple trouver des enregistrements dans une table qui remplissent des conditions).

Sur wikipedia il y a une documentation qui explique plus en détail le fonctionnement du MVC.

2 – Dans quelle situation utiliser un framework ?

Si vous ne voulez pas réinventer la roue. Les fonctions de base pour accéder aux bases de données, pour faire des traitements spécifiques comme la création de formulaire, le contrôle de données, … sont déjà créées. De plus vous pourrez surcharger les méthodes et les classes avec vos propres spécificités.
Si vous connaissez bien le Php, la programmation objet ainsi que les bases de données (type mysql). Il est impératif d'avoir ces bases. Sinon il vaut peut être mieux vous orienter vers un CMS.

Si vous souhaitez avoir un code qui puisse être repris par d'autres personnes pour du travail en équipe par exemple. En utilisant un framework vous allez forcement respecter certaines normes, méthodes de travail, conventions, ... qui seront identiques à tous ceux qui utilisent cet outils. Même si vous travaillez seul sur un projet cela vous obligera à adopter une certaine rigueur dans le développement et à prendre de bonnes habitudes de codage.

Si vous souhaitez profiter du savoir et de la passion d'une communauté de développeurs à vos coté. En effet en utilisant un framework connu vous aurez accès à une documentation complète, à des articles, des informations techniques, des questions / réponses dans les forums, ... Le partage de connaissance autour d'un même produit est un avantage considérable par rapport à un développeur qui ferait lui même son propre framework. De plus ces outils évoluent régulièrement. Vous aurez souvent des mises à jour qui vous permettront de profiter de nouvelles fonctionnalités.

3 – Les frameworks les plus populaires

Symfony : http://www.symfony-project.org/
Zend : http://framework.zend.com/
Cakephp : http://cakephp.org/

4 – L'hébergement de Framework

Evxonline propose de l'hébergement de sites Internet compatible avec tous les frameworks. De plus notre équipe dispose de compétences et d'une expérience pour pouvoir vous aider à mettre en place votre Framework.