Veille technologique

Veille informatique – PHP Frameworks

Lors de mon stage de première année j’ai eu l’opportunité de travailler avec framework PHP : CakePHP.

J’ai donc choisit de faire un travail de veille sur ce sujet.

I – Un framework PHP qu’est-ce que c’est ?

II – Les avantages d’un framework PHP

III – Les inconvénients d’un framework PHP

IV – Le model M-V-C

V – Conclusion

 

 

I – Un framework qu’est-ce que c’est ?

Un framework PHP est un outil de travail pour les développeurs PHP, le terme « framework » peut être traduit littéralement en français par « cadre de travail ». Un framework, c’est un ensemble de composants, il ne permet pas de générer du code, et encore moins un atelier de développement rapide. Utiliser un framework, c’est éviter de réinventer a chaque fois le même morceau de code. Un framework PHP est un ensemble de bibliothèques de code PHP qui ont déjà été inventé par d’autre développeur.

En regardant les sites web, ont peut remarquer qu’ils ont tous les mêmes choses : des URL propres , des formulaires, des pages, des rubriques ou des catégories, et ils utilisent quasiment tous une base de données. Avant l’arrivée des frameworks, de nombreux développeurs s’amusaient à faire du copier-coller, ça leur éviter de refaire quelque chose qu’ils avaient déjà fait par le passé. Un framework, c’est une collection de ces petits bouts de codes.

II – Les avantages d’un framework PHP

Utiliser un framework permet de bénéficier de l’expérience des autres développeurs , mais aussi d’ assurer que notre application est mieux structurée, mieux sécurisée, grâce à des composants testés, approuvés et utilisés par beaucoup d’autre développeur.

Un gros avantage d’un framework, c’est qu’il peut servir pour plusieurs projets. De plus, un framework PHP contient des composants tout prêts à être utilisés, ce qui évite de faire un site web en partant de zéro. Le développeur peut donc se concentrer uniquement sur les besoins spécifiques du client. Il n’a donc plus à se soucier de la sécurisation des formulaires, du traitement des image etc ainsi que d’autres fonctionnalités qui reviennent dans quasiment tous les projets.

Un framework est donc assez souple et laisse de nombreuses libertés au développeur. Cette « bibliothèque de composants » permet de produire des sites sur mesure, mais on peut également s’en servir pour faire des CMS, c’est le cas par exemple du CMS Magento , qui est basé sur Zend Framework.

Autre avantage, c’est l’instauration de bonnes pratiques de codage . Zend Framework par exemple, impose aux développeurs de respecter une convention particulière, fort inspirée de celle de PEAR . Cette convention est une collection de petites règles à respecter, par exemple, on donnera des indications précises pour nommer les variables, les fonctions et les classes. Le respect de ces règles permet aux développeurs de produire un code propre et compréhensible .

Enfin, dernier avantage, si toute une équipe utilise le même framework, alors il est plus simple de reprendre le travail d’un autre . En développement en équipe, les développeurs passent beaucoup de temps à comprendre le code utilisé par ces collègues, l’utilisation d’un même framework pour toute une équipe, permet d’avoir les mêmes nommages de variables, fonctions et classes ce qui réduit considérablement le temps accordé pour s’adapter aux codes de ces collègues.

III – Les inconvénients d’un framework PHP

L’utilisation d’un framework n’est pas forcément un gage de qualité. On peut très bien développer comme on peut très mal développer un site internet en utilisant un framework. Un framework aide à la qualité mais elle ne la produit pas, si le développeur n’aime pas programmer sur le framework qu’il utilise ça se ressentira sur son travail.

Ces outils de développement mettent un frein certain à l’apprentissage, la créativité et à l’innovation. Un débutant qui adopte trop vite un framework va manquer de connaissances pratiques et il risque d’en devenir dépendant, et être incapable de faire une application web sans y avoir recours.

Utiliser l’existant n’a jamais rien donné de nouveau. Utiliser un framework c’est pratique ont peut faire des programmes structurés, fiables, mais si on ne fait qu’utiliser des chosent qui existent il n’y aurait pas de nouveauté.

Nécessite une grande maîtrise du langage PHP pour utilisé un framework PHP car si vous ne savez pas faire de programmation orientée objet, il vous sera difficile d’utiliser un framework récent. La méthode MVC (Modèle, Vue, Contrôleur) est conseillé.

IV – Le model M-V-C

La couche Model

La couche Model représente la partie de l’application qui exécute la logique métier. Cela signifie qu’elle est responsable de récupérer les données, de les convertir selon des concepts chargés de sens pour votre application, tels que le traitement, la validation, l’association et beaucoup d’autres tâches concernant la manipulation des données.

L’objet Model peut être vu comme la première couche d’interaction avec n’importe quelle base de données que vous pourriez utiliser pour votre application. Mais plus globalement, il fait partie des concepts majeurs autour desquels vous allez exécuter votre application.

Le couche Vue

La Vue retourne une présentation des données venant du model. Etant séparée par les Objets Model, elle est responsable de l’utilisation des informations dont elle dispose pour produire une interface de présentation de votre application.

Par exemple, de la même manière que la couche Model retourne un ensemble de données, la Vue utilise ces données pour fournir une page HTML les contenant. Ou un résultat XML formaté pour que d’autres l’utilisent.

La couche Vue n’est pas seulement limitée au HTML ou à la représentation en texte de données. Elle peut aussi être utilisée pour offrir une grande variété de formats en fonction de nos besoins, comme les vidéos, la musique, les documents et tout autre format auquel on peut penser.

La couche Contrôleur

La couche Contrôleur gère les requêtes des utilisateurs. Elle est responsable de retourner une réponse avec l’aide mutuelle des couches Model et Vue.

Les Contrôleurs peuvent être imaginés comme des managers qui ont pour mission que toutes les ressources souhaitées pour accomplir une tâche soient déléguées aux travailleurs corrects. Il attend des requêtes des clients, vérifie leur validité selon l’authentification et les règles d’autorisation, délèguent les données récupérées et traitées par le Model, et sélectionne les type de présentation correctes que le client accepte, pour finalement déléguer le processus d’affichage à la couche Vue.

2000px-MVC-Process.svg

V – Conclusion

Un framework PHP est vraiment utile pour un développeur web confirmer, qui veut créer un programme claire, sécurisé, et structuré. Ces logiciels sont un vrais gagne temps une fois qu’on sais les utilisés. Mais un framework PHP nécessite de grande connaissances dans le langage PHP, et il faut aussi y passer beaucoup de temps pour apprendre à l’utiliser.Un framework PHP c’est bien mais il faut faire attention à ne pas en devenir dépendant.