Il existe pléthore de CMS à travers le web. Malgré ça, ces outils se divisent en seulement deux catégories. Les CMS dynamiques d’un côté, avec WordPress, Drupal, octoberCMS, etc. . Et de l’autre côté, les CMS statique comme Jekyll, Hugo, Pélican, etc. Cette différence ne se voit quasiment pas au niveau du visiteur entre ces deux types de CMS. Le vrai changement va opérer au niveau du fonctionnement de ces CMS. Je vous propose de comprendre ensemble ces différences de fonctionnement.
Le CMS dynamique dépend fortement des technologies que vous installez sur votre serveur. Ce type de CMS se base sur la génération de contenu à la volé grâce à un langage de programmation et une base de données côté serveur. Imaginons qu’un visiteur demande une page de contenu géré par un CMS dynamique comme un article de site. Sur le serveur, cette page est quasiment vide, c’est un amas de code qui explique où placer le titre, la catégorie et le texte de la page. Avant d’envoyer cette page au visiteur, le serveur va traiter cette page en fonction du code puis va aller chercher les contenus dans une base de données afin de compléter proprement la page. Une fois modifiée, cette page est envoyée au visiteur qui va pouvoir consulter l’article en question.
Cette façon de faire présente un double avantage. D’abord, le CMS dynamique permet une organisation beaucoup plus efficace. Pour notre exemple un seul fichier article est utilisé comme modèle pour présenter n’importe quel article sur le serveur. Ce seul fichier rend la modification de l’ensemble de vos articles beaucoup plus facile en cas de besoin.
Ensuite, un CMS dynamique permet des choses plus avancées. Vous pourriez définir dans cette page article une condition. Si un visiteur est connecté à votre site, alors il peut obtenir plus d’information sur cet article. Ce genre de fonctionnalité n’est possible qu’avec du contenu dynamique puisque la page est générée de façon sur mesure en fonction de la demande et des caractéristiques du visiteur.
Une organisation et une facilité d’utilisation, quelle que soit la taille du site a un coût. La génération de page à la volée et les appels de base de données consomment des ressources serveur plus ou moins importantes. De plus il est nécessaire d’installer et maitriser toutes ces technologies nécessaires afin de faire fonctionner le CMS correctement.
Le CMS Statique, tout comme le CMS dynamique utilise des technologies de gestion de contenu, comme un langage de programmation et peut-être même une base de données. Mais ces technologies ne serviront qu’à vous même afin de générer un contenu entièrement statique. Imaginons que vous rédigiez deux articles avec deux catégories et une page d’accueil. Comme pour le CMS dynamique vous allez utiliser des modèles de pages. Un seul fichier pour article, un autre pour catégorie qui listera les derniers articles de cette catégorie et un dernier « accueil » pour la page d’accueil. Une fois votre contenu mis à jour, comme l’ajout d’un nouvel article par exemple, le CMS statique va régénérer l’ensemble des pages de contenu pour votre site en simple fichier HTML. Tout ce contenu sera envoyé dans un répertoire public de votre serveur disponible pour vos visiteurs en l’état et sans besoin de traitement.
Le contenu statique apporte deux avantages. Le premier est qu’il permet de ne pas avoir à installer la moindre technologie sur votre serveur. En effet, rien n’empêche de gérer votre site depuis votre ordinateur pour envoyer le contenu statique généré sur le serveur.
Le deuxième avantage est que votre serveur économise beaucoup de ressources. Dans cette situation le serveur ne s’occupe que d’envoyer des pages HTML. Il n’y a plus d’étape intermédiaire de génération de contenu et d’appel en base de données.
Un CMS statique ne permet pas certaines fonctionnalités comme distribuer des contenus différents entre des visiteurs connectés et non connectés. D’ailleurs un espace abonné ne peut pas être envisagé tout court avec ce type de CMS.
Un autre inconvénient pourrait être le nombre de fichiers de plus en plus important sur votre serveur si votre site contient beaucoup de contenu. Il faut savoir qu’un site possédant des milliers d’articles génèrera des milliers de fichiers d’article sur votre serveur, sans compter les pages intermédiaires de classement de ces articles par catégorie, par tags, la génération peut vite devenir un problème et saturer votre serveur.
Le choix entre un CMS dynamique et statique dépendra beaucoup de la nature de votre site et des fonctionnalités que vous voudrez utiliser.
Dans le cas d’un petit site avec une dizaine ou une centaine d’articles maximum, ne nécessitant pas d’espace de connexion, ou encore un porte-folio. Le choix d’un CMS statique peut être idéal, facile à mettre en place et économique pour l’hébergement. C’est aussi une bonne façon de débuter dans la réalisation de son premier site web. Rien n’empêche de migrer vers un CMS dynamique par la suite.
Dans le cas d’un site avec un contenu plus important avec plus de cent articles ou même beaucoup de catégories dans le futur. Si vous deviez créer des fonctionnalités particulières comme un espace de connexion ou un espace de commentaire, etc. Dans ce cas il faudra vous tourner vers le CMS dynamique afin de pouvoir profiter d’un langage de programmation serveur et d’une base de données en temps réel.