Oula, c’est quoi ce charabia?

Pour faire simple, il s’agit de différentes technologies permettant le développement d’un site Internet.

Dans cet article, je vais essayer de décortiquer ces différentes technologies afin que les non-initiés comprennent un peu mieux comment les « geeks » s’y prennent pour choisir la meilleure approche lors de la création d’un site Web.

En effet, lors de la réalisation d’un site Web, l’équipe de développement a principalement le choix entre ces trois différentes technologies. Pour faire son choix, l’équipe se base sur les facteurs suivants :

  • 1. Difficultés et complexités techniques du projet
  • 2. Utilisation réelle du site Web
  • 3. Échéancier
  • 4. Budget
  • 5. Système d’hébergement
  • 6. Connaissance et compétence de l'équipe

Commençons par le commencement. C’est quoi exactement?

CMS - Content Management System (Système de gestion de contenu)

Simplifions en disant qu'un CMS est un outil clés en main de base qui contient tout ce dont vous avez besoin pour gérer un site Web directement à l'aide de l’interface qu’il propose.

On parle donc d’une section d’administration permettant, entre autres, à n’importe quel utilisateur, quel que soit son niveau de connaissances, de gérer rapidement et simplement le contenu d’un site ou certains de ses éléments visuels. Un autre avantage d’un tel outil est qu’il propose une multitude de plug-ins ou plugiciels en français (bouts de code déjà construits et aisément intégrables de telle sorte qu’on n’a pas à refaire ce que quelqu’un d'autre a déjà construit). Ces plugiciels permettent l’ajout de fonctionnalités/thèmes (apparences visuelles) facilement sans avoir à modifier le code.

Comme tout bon outil clés en main ou de type « brancher et utiliser » (plug and play), le CMS doit être utilisé tel quel. Il faut donc vous assurer que les fonctionnalités du CMS répondent à vos besoins.

Avantages Inconvénients
-Outil clés en main
-Facile d’accès
-Simpliste
-Plugiciels (plug-ins)
-Demande peu de connaissances en programmation
-Simpliste
-Contrôle restreint
-Fonctionnalités limitées
-Alourdissement du site (il est plus lent sur le plan de l’exécution)

Listes des principaux concurrents :

Frameworks (Cadres d’applications)

Un cadre d’application (framework) est tout simplement un regroupement de bibliothèques de programmes pour différents champs d’application qui permettent d’effectuer certaines actions. Par exemple, une bibliothèque permettra l'accès à une base de données et une autre l’affichage à l'écran ou encore, la gestion les journaux d’activités (logs) de notre application en devenir. On pourrait voir ça comme le squelette d’une application, d’un site Web.

En tant que tel, un cadre d’applications ne peut rien accomplir seul. Il faut consacrer des heures-personnes pour créer une structure cohérente où tout fonctionne ensemble pour faire fonctionner votre site Web. En fin de compte, l’avantage ici est que vous avez le contrôle total sur ce qui est fait, car vous choisissez quoi faire et comment le faire. Le résultat sera donc beaucoup plus personnalisé que si vous aviez utilisé un CMS. Comme c’est le cas pour les CMS, il existe des plugiciels qui vous évitent de devoir partir à zéro.

Avantages Inconvénients
-Entièrement personnalisable
-Contrôle accru
-Aucune restriction
-Plugiciels (plug-ins)
-Rapidité = peu de temps système
-Heures-personnes requises
-Requiert de bonnes connaissances en programmation

Listes des principaux concurrents:

PHP Pur

Ici c’est assez simple, on part d’une feuille blanche. Il faut tout faire. Ce cas d’utilisation est assez restreint et on comprend assez vite pourquoi il faut recommencer du début chaque fois. L’utilisation de PHP pur va donc sera donc recommandé lorsque le site Web sera vraiment simple, comprendra peu de pages et très peu de fonctionnalités.

Avantages Inconvénients
-Entièrement personnalisable
-Contrôle total
-Aucune restriction
-Rapidité = aucun temps système
-Beaucoup d’heures-personnes
-Requiert de bonnes connaissances en programmation

Comment faire son choix:

Le choix de la plateforme pour bâtir un site Web demeure un choix personnel qui tient compte des goûts du programmeur ainsi que de ses connaissances. Ainsi, pour un même projet, il est fort possible que différents développeurs partent dans différentes directions. Comme le dit le dicton : « Tous les chemins mènent à Rome ».

Maintenant, mettons de côté cette idée de « choix personnel » et examinons le tout de manière plus objective et rationnelle.

Difficultés et complexités techniques du projet

Très facile Facile Normal Avancé
PHP + CMS CMS CMS + Framework Framework

Utilisation réelle du site Web

Pas d'édition de contenu, juste de la lecture Édition de contenu basique Édition de contenu + quelques fonctionnalités complexes Fonctionnalité complexe
PHP CMS CMS + Framework Framework

Échéancier/Budget

Court/Petit Normal Élevé (projet d’envergure)
CMS CMS + Framework Framework

Système d'hébergement

Contrôle restreint Contrôle total
CMS CMS + Framework

Connaissances et compétences de l'équipe

Junior Intermédiaire Senior
CMS CMS + Framework CMS + Framework

C’est donc en ayant en main l’ensemble des caractéristiques d’un projet que l'équipe de développement pourra judicieusement choisir la plateforme qui sera le mieux adaptée au développement du site Web. C’est donc bien important de réfléchir avant de se lancer tout de suite dans le code.

Have fun :-)

Vous désirez en savoir davantage?
http://fr.wikipedia.org/wiki/Syst%C3%A8me_de_gestion_de_contenu
http://fr.wikipedia.org/wiki/Framework