jeudi 5 mars 2009

 

    /Frameworks

Cadriciels - Frameworks

 

Framework = infrastruture de développement d'applications

Pratiquement, il s'agit d'environnements de programmation par composants.

Le mot français proposé pour framework est cadriciel, mais on utilise généralement le mot anglais. Un framework est un environnement permettant de développer des logiciels en combinant des composants logiciels de boîtes à outils (toolkit), de façon à faciliter leur maintenance et leur déploiement.

Par exemple,

  • Zend framework est un cadre gratuit pour développer des applications Web en PHP, fourni par la société Zend. Les objectifs de ce cadre sont :
     - Accélérer le développement de sites web
     - Faciliter la maintenance
     - Industrialiser la façon de coder en PHP
    Ce framework permet de faciliter et de fiabiliser le développement de sites dynamiques en PHP. Il s'adresse notamment aux entreprises : le risque associé au développement d'un site d'envergure est significativement inférieur avec l'utilisation du Zend Framework.
    Le frameWork PHP Zend a peut-être été le premier.
    De nombreux site sont développés avec Zend, et on trouve de très nombreux tutorials pour l'utiliser, comme l'atteste la page : http://www.z-f.fr/page/comment_debuter, Par exemple http://julien-pauli.developpez.com/tutoriels/zend-framework/presentation/.
  • CakePHP est décrit comme un environnement de développement rapide pour PHP qui utilise des patrons de conception (design patterns) : Active Record, Association Data Mapping, Front Controller et MVC. L'objectif est de fournir un cadre de travail structuré qui permette aux utilisateurs de PHP de tout niveau de développer rapidement des applications Web robustes sans perdre en flexibilité.
  • Symphony est un cadre d’application libre pour PHP5. Incitant à la simplicité et à la réutilisation, l'infrastructure prend exemple sur Rails (également appelé RoR pour Ruby on Rail, un framework pour le langage Ruby) pour accélérer la création de sites PHP : modèle MVC, fichiers YAML et Ajax sont au programme.

En particulier grâce au modèle MVC, ces outils permettent de réduire les coûts de développement et diminue la quantité de lignes de code à écrire par les développeurs.

Quelques conseils pour choisir un framework PHP, par Aurelien CARPENTIER, lundi 18 février 2008

Extrait de http://www.phpindex.com/index.php/2008/02/18/4213-quelques-conseils-pour-choisir-un-framework-php

Un nombre important de frameworks est aujourd'hui disponible sur le marché et il n'est pas toujours évident de les différencier. Pour bien choisir, il y a quelques critères à prendre en compte qui vous permettront d'ores et déjà de faire une présélection. Cependant, ce sera à vous de prendre un peu de temps pour tester ces frameworks et voir celui qui répond le mieux à vos besoins. D'autant plus qu'il n'y a pas de framework idéal, à chacun vous y trouverez ses avantages et inconvénients.

Le principal intérêt d'un framework est d'accélérer le temps de développement, de conserver une homogénéité du code et une pérennité dans vos projets, mais aussi de sécuriser plus facilement vos applications.
Dans les plus connus, on trouvera : Symfony, CakePHP, Code Igniter, Jelix, Prado, Solar...
Ils intègrent généralement les mêmes composants : implémentation du MVC, Scaffolding, support de l'internationalisation, système de cache, sécurisation du code (faille XSS)...

Il y a évidement le Zend Framework qui se différencie en proposant une liste de briques que vous pouvez utilisez indépendemment. Par exemple, rien ne vous oblige à structurer vos projets sur une architecture MVC, vous pouvez aussi utiliser votre propre moteur de template. Donc contrairement aux autres frameworks, ce que certains trouveront sûrement contraignants, il faudra obligatoirement passer par cette étape de choix d'architecture et de mise en place de vos briques.

Voici quelques critères indispensables dans le choix d'un framework :

  • Facilité de prise en main : dans tous ces frameworks, il y a obligatoirement une période de prise en main plus ou moins longue selon le framework et les compétences du développeur. Il s'agit d'un critère à prendre en compte lors de la venue d'un nouveau développeur dans une équipe qui peut ne pas connaître le framework.
  • Flexibilité / Souplesse : il est important de distinguer les contraintes imposées par le framework, en effet un défaut que l'on retrouve avec certains de ces frameworks, le développeur doit s'adapter au framework et « se plier » à certaines règles et non le contraire.
  • Taille des projets développés (site vitrine, backoffice...) : il sera préférable de s'orienter vers un framework léger pour développer un site statique.
  • Documentation : elle doit être complète, claire et régulièrement mise à jour; des tutoriaux sont aussi de plus en plus proposés.
  • Performance du framework : malgré les systèmes de cache, certains frameworks peuvent s'avérer assez « gourmand »
  • Communauté : ne pas hésiter à tester la réactivité de la communauté sur les forums en postant quelques questions.
  • Evolutivité : voir les futures évolutions prévues

Pour vous aider, vous trouverez des tutoriaux parus sur le site IBM comparant les frameworks Zend, Symfony et CakePHP, de l'installation au support de l'ajax.

Utilisation de Eclipse - PDT 2.0, par Marie MINASSYAN, lundi 5 janvier 2009

Extrait de http://fr.wikipedia.org/wiki/Eclipse_%28logiciel%29

Eclipse est une environnement de développement libre, extensible, universel et polyvalent.

Eclipse est un projet de la Fondation Eclipse visant à développer tout un environnement de développement libre, extensible, universel et polyvalent.

Son objectif est de produire et fournir divers outils gravitant autour de la réalisation de logiciel, englobant les activités de codage logiciel proprement dites (avec notamment un environnement de développement intégré) mais aussi de modélisation, de conception, de test, de reporting, etc. Son environnement de développement notamment vise à la généricité pour lui permettre de supporter n'importe quel langage de programmation.

Le projet Eclipse est pour cela organisé en un ensemble cohérent de projets logiciels distincts, sa spécificité tenant à son architecture totalement développée autour de la notion de plugin (en conformité avec la norme OSGi) : toutes les fonctionnalités de l'atelier logiciel doivent être développées en tant que plug-in bâti autour de l'IDE Eclipse Platform.

Eclipse recouvre donc notamment également à cet effet tout un framework de développement logiciel fournissant des briques logicielles à partir desquelles développer tous ces outils. C'est la raison pour laquelle Eclipse est présenté dans la littérature tout autant comme un EDI ou comme un Framework.

Extrait de http://www.phpindex.com/index.php/2009/01/05/5173-eclipse-pdt-20

Eclipse PHP Development Tools 2.0 est désormais disponible au téléchargement.

Totalement compatible avec les standards d'Eclipse, cette nouvelle version d'Eclipse PDT permet aux développeurs PHP de profiter d'un grand choix de projets proposés par Eclipse, tels que Web Tools Project, Dynamic Language Toolkit, etc. pour une développement plus rapide et facile. PDT 2.0 propose également un support de Programmation Orientée Objet (POO) en PHP. PDT est un outil de développement open source qui fournit toutes les possibilités de rédaction de code nécessaires pour débuter avec les applications PHP.

PDT 2.0 est conçu sur des principes de base différents de ceux du PDT 1.0. Par exemple, des techniques différentes ont été utilisées pour modéliser les projets de l'espace de travail. PDT 2.0 utilise un mécanisme d'indexation et de cache pour une meilleure performance et expérience avec l'aide technique et la navigation. De plus, depuis que PHP fournit des aspects Orientés Objet tels que héritage et polymorphisme, PDT 2.0 fournit à son tour des caractéristiques comme hiérarchie entre différents types, indicateurs d'override et navigation entre types pour les programmeurs qui utilisent ces propriétés du langage.

Un webinar d'introduction à Eclipse PHP Development Tools 2.0 sera organisé par Zend Technologies le Mercredi 21 Janvier à 9h00 de San Francisco. Plus d'informations sur le site officiel de l'événement.

Vous pouvez télécharger Eclipse PDT 2.0 à partir du site officiel d'Eclipse ou du site officiel de Zend (inclue Eclipse PDT et Zend Debugger qui permet aux utilisateurs d'exécuter un debugage local et distant).

remonter plus récent revenir
http://www.phpindex.com/index.php/2008/02/18/4213-quelques-conseils-pour-choisir-un-framework-php   Quelques conseils pour choisir un framework PHP, par Aurelien CARPENTIER, lundi 18 février 2008 http://www.cakephp-fr.org/   Page de téléchargement du framework cake, en français http://www.journaldunet.com/developpeur/tutoriel/php/061108-php-symfony-framework/0.shtml   Petit tutoriel pour l'utilisation du framework Symphony, qui décrit l’installation, le paramétrage du framework et le développement Javascript et ajax http://fr.wikipedia.org/wiki/Framework   Définition encyclopédique de framework http://fr.wikipedia.org/wiki/Modèle-Vue-Contrôleur   Définition de MVC : Modèle-Vue-Contôleur http://book.cakephp.org/fr/view/10/Comprendre-le-modèle-M-V-C   Exlications de MVC dans le cadre de CakePHP http://fr.wikipedia.org/wiki/%C3%89chafaudage_%28programmation%29   Page de Wikipedia sur l'Échafaudage (programmation) - manière de concevoir des logiciels liés à une base de données http://ruby.developpez.com/cours/   Des cours et tutoriels en français pour débuter avec Ruby et Ruby on Rails http://fr.wikipedia.org/wiki/Ruby_on_Rails   Définition encyclopédique de Ruby on Rails http://fr.wikipedia.org/wiki/Eclipse_%28logiciel%29   Page de Wikipedia sur Eclipse (logiciel) http://www.phpindex.com/index.php/2009/01/05/5173-eclipse-pdt-20   Eclipse PDT 2.0, par Marie MINASSYAN, lundi 5 janvier 2009
LicPro - PAGORA