1.2.7- Choix du Framework
[5] Un Framework est un
cadre de travail ou cadre d'application
offrant un ensemble d'outils et de briques logicielles, qui permettent
d'automatiser certaines parties du développement d'applications.
L'utilisation d'un Framework présente
plusieurs avantages : l'accélération du temps de
développement, la conservation d'un code homogène et une
pérennité certaine des projets. Enfin, les applications sont plus
facilement sécurisées. Par conséquent les
Framework sont en général mieux conçus et
plus robustes qu'une application développée par un seul
programmeur. Un nombre important de Framework est disponible
dans de nombreux langages. Il n'y a pas de Framework
idéal, chacun possède ses avantages et ses inconvénients.
Pour faire le bon choix il convient, après une première
présélection, d'en tester plusieurs afin de déterminer
celui répondant le mieux à vos besoins.
Parmi la multitude d'excellents Frameworks PHP
nous avons choisi de comparer cinq d'entre eux, adoptant tous la
structure MVC (Model-View-Controller ou
Modèle-VueContrôleur), Ces Frameworks sont parmi les plus connus
et renommés: cakePHP, Code Igniter, Jelix, Symfony, Zend, Notre choix a
été dirige sur CodeIgniter car Codelgniter est
particulièrement simple à utiliser, performant et d'une vitesse
d'exécution remarquable.
CodeIgniter est un Framework
PHP puissant, bien que léger, développé à
l'origine pour les propres besoins de l'entreprise EllisLab en
2006, il a depuis adapté le statut open source. Moins connu que
CakePHP ou Zend, CodeIgniter
est maintenu par la Société EllisLab et
remarquablement documenté. Son avenir semble prometteur, à en
juger par l'importance de sa communauté. CodeIgniter
est puissant bien que nécessitant peu de ressources. Il est en constante
évolution et son importante collection de librairies contribue largement
aux gains de productivité que l'on attend d'un
Framework, en matière de développement
d'applications de toutes natures. Sa simplicité d'utilisation par
rapport à
Symfony ou Zend contribue
à sa popularité au sein des développeurs
PHP. Son système de cache lui procure d'excellentes
performances et minimise l'impact sur le chargement des pages. Ses principaux
atouts : extrême légèreté, robustesse et
fiabilité. Facile à installer et acceptant de multiples
environnements, CodeIgniter à tout pour
séduire.
Selon un test réalisé il y a quelques mois par
Richard Goutorbe, consultant informatique à
Montpellier, l'utilisation de CodeIgniter pour le
développement d'applications PHP offre un gain de
productivité de 50%. La perte de performance liée à son
exécution est de l'ordre de 10%, très largement compensée
par une augmentation de fiabilité et de maintenabilité dû
à la réutilisation du code.
Tableau comparatif des 5 Frameworks
Nom
|
PHP
|
Modèle
|
Template
|
Cache
|
url conviviale
|
Validation de Formulaire
|
Ajax
|
Extension
|
Générateur de code
|
Cake PHP
|
5
|
MVC
|
PHP
|
0ui
|
0ui
|
0ui
|
0ui
|
0ui
|
0ui
|
CodeIgniter
|
4/5
|
MVC
|
PHP
|
0ui
|
0ui
|
0ui
|
Non
|
0ui
|
Non
|
Jelix
|
5
|
MVC
|
PHP
|
0ui
|
0ui
|
0ui
|
0ui
|
0ui
|
0ui
|
Symphony
|
5
|
MVC
|
PHP ou Smarty
|
0ui
|
0ui
|
0ui
|
0ui
|
0ui
|
0ui
|
Zend
|
5
|
MVC
|
/ PHP
|
0ui
|
0ui
|
Non
|
Non
|
Non
|
Non
|
Tableau 2: tableau comparative des framework
php
1.2.8- Choix du modèle de développement du
logiCiel
On considère aujourd'hui qu'on ne peut plus avoir une
démarche unique, mais qu'il faut construire le découpage temporel
en fonction des caractéristiques de l'entreprise et du projet. On
s'appuie pour cela sur des découpages temporels
génériques, appelés modèles de
développement. Les principaux modèles sont : modèle en
cascade, modèle en V, modèle en spirale, modèle par
incrément, modèle de prototypage et bien d'autres.
[6] Il existe pas mal de modèles, Le choix du
modèle est à prendre au sérieux puisque il n'y a pas un
modèle parfait et c'est difficile de se baser sur un seul modèle,
n'empêche d'avoir un modèle de référence. Cependant,
un ou plusieurs modèles peuvent bien s'adapter à un cas
donné par rapport à d'autres. En ce qui concerne notre projet, il
s'agit d'une application en relations étroites avec les clients. Il lui
faut temps en temps des maquettes d'essai. Raison pour laquelle on a choisi le
modèle de prototypage qui nous permet de présenter aux clients un
prototype et l'améliorer jusqu'à avoir un produit fini
satisfaisant. On peut faire ici des feed-back. Un prototype est modèle
exécutable d'un système logiciel, qui souligne des aspects
spécifiques, ses caractéristiques sont : un degré
élevé de participation du client, une représentation
tangible des exigences du client, très utile quand les exigences sont
instables ou incertaines. Ses avantages: participation du client, client
participe activement dans le développement du produit, le client
reçoit des résultats tangibles rapidement, le produit
résultant est plus facile à utiliser et à apprendre.
Figure 1: Modèle de prototypage
1.2.9- Diagramme De gantt
Pour faciliter le suivi des opérations à
entreprendre, éviter les oublis et les malentendus, l'information doit
parfaitement circuler. Le diagramme de Gantt est un planning qui permet de
représenter graphiquement le suivi des différents
opérations mises en oeuvre et leur réajustement compte tenu
d'éventuels aléas (retard), le diagramme de Gantt nous renseigne
sur la durée d'une tâche, le moment ou elle débute et celui
ou elle s'achève au plus tôt et au plus tard.
Tableau 3: diagrammes de Gantt
|