CMS vs Framework vs Php Pur

2018-12-19

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 diverses technologies afin que les non- avertis 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 3 différentes technologies et pour faire son choix, elle va se baser sur les facteurs suivants:

  • Difficultés et complexités techniques du projet

  • Utilisation réel du site-web

  • Échéancier

  • Budget

  • Système d’hébergement

  • Connaissance et compétence de l'équipe

Commençons par le commencement, c’est quoi exactement?

CMS - Content Management System

Wiki

Pour faire simple un CMS est un outil “clef en main”, qui contient tout ce dont vous avez besoin de base pour gérer un site-web directement via l’interface proposée par l'outil.
On parle donc d’une section d’administration permettant entre autre de gérer le contenu ou certaines parties visuelle d’un site internet et ce, rapidement et simplement, par n’importe quel type d’utilisateur. Autre avantage de ce type d’outils est qu’ils proposent une multitude de plug- ins (bouts de codes déjà construit et qui s’intègre aisément de tel sorte qu’on ait pas à tous recommencer ce que quelqu’un autre a déjà construit auparavant) permettant d’ajouter des fonctionnalités / thèmes (apparences visuelles) facilement sans devoir toucher au code.

Comme tout bon “clef en main” ou “plug and play” la vocation d’un CMS est d'être utilisé tel quel, il faut donc s’assurer que vos attentes sont rencontrées par les fonctionnalités proposées par le CMS.

Avantages

Inconvénients

Outil “clef en main” Facile d’accès Simpliste
Plug-ins

Demande peux de connaissance de programmation

Simpliste
Contrôle restreint
Fonctionnalités limitées
Alourdis le site (il est plus lent à s’exécuter)

Listes des principaux concurrents:

  • Drupal
  • Wordpress
  • Joomla!
  • ...

Frameworks

Wiki

Un framework est tout simplement un regroupement de librairies qui chacune avec leur champ d’action permettent d’effectuer certaines actions.
On a par exemple une librairie permettant l'accès à la base de données, une autre pour l’affichage a l'écran ou encore une librairie pour gérer les logs (journaux d’activités) de notre application en devenir. On pourrait voir ça comme le squelette d’une application / d’un website.

En tant que tel un framework ne fait rien tout seul, cela demande du travail, du “man-hours” pour pouvoir avoir une structure cohérente où tout fonctionne ensemble pour faire marcher votre site-web.
L’avantage ici est le total contrôle sur ce qui est fait car on choisi quoi et comment le faire. Le résultat sera donc beaucoup plus personnalisé que si l’on avait utiliser un CMS. Comme pour les CMS, il existe des plug-ins évitant de devoir partir de zéro.

Avantages

Inconvénients

Personnalisable a 100% Contrôle accrus
Pas de restrictions Plug-ins

Peux d’overhead = Rapide

Man-hours
Demande une bonne connaissance de programmation

Listes des principaux concurrents:

  • ●  Laravel

  • ●  Symfony

  • ●  Zend

  • ●  Cake PHP

  • ●  CodeIgniter

  • ●  ...

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, à chaque fois il faut recommencer du début. L’utilisation de PHP pur va donc se faire lorsque le site web sera vraiment simple, ne comportera pas beaucoup de page et très peu de fonctionnalités.

Avantages

Inconvénients

Personnalisable à 100% Contrôle totale
Aucune restrictions Aucun overhead = Rapide

Beaucoup de “man-hours”
Demande une bonne connaissance de programmation

Comment faire son choix:

Le choix de sa plate-forme pour bâtir son site web reste un choix personnel qui tiens 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 dit le dicton: “Tous les chemins mènent à Rome”.

Maintenant mettons de coté cette idée de “choix personnel” pour essayer d'être objectif et rationnel.

Difficultés et complexités techniques du projet

Très facile

Facile

Normal

Avancé

PHP + CMS

CMS

CMS + Framework

Framework

Utilisation réel du site-web

Pas d'édition de contenu juste de la lecture

Édition de Contenu basique

Édition de Contenu + quelques features complexes

Feature complexe

PHP

CMS

CMS + Framework

Framework

Deadline / Budget

courte / petit

normale

élevé (gros projet)

CMS

CMS + Framework

Framework

Système d'hébergement

Contrôle restreint

Contrôle Total

CMS

CMS + Framework

Connaissance et compétence 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 va être capable de choisir son support pour le développement du site web. Il est donc bien important de réfléchir avant de se lancer tout de suite dans le code.

Have fun :-)

Commentaires

Wednesday 19 December 2018 - Stas
Je recommande d'essayer Codelobster: http://www.codelobster.com