VT2018 CrafterCMS

=Auteur=
 * Nom : Weill William
 * Sujet : CMS - CrafterCMS

=Résumé= Les CMS (ou Content Management System), Système de Gestion de Contenu SGC dans la langue de Molière sont des logiciels destinés à gérer les contenus et la mise en place des contenants d'un site web. Par l'usage d'un CMS les administrateurs d'un site ou les auteurs peuvent par exemple créer et mettre en forme un texte, insérer des images, des contenus d'autre format ... CrafterCMS est un CMS open-source basé sur Git.

=Abstract= CMS (or Content Management System) are a software family designed to manage the content of a website. They allow to edit the layout or the text formatting of the page. For exemple admins and authors can add pictures or files on the webpage by a CMS. CrafterCMS is a CMS open source and git-based.

=Synthèse=

Les logiciels CMS
Les logiciels CMS sont très présents sur l'ensemble du web. L'utilisation d'un CMS pour gérer le contenu de son site web a pour avantage conséquent d'effectuer naturellement la séparation entre le fond et la forme. Ainsi nous créons des components avec du contenu et nous pouvons assigner une charte graphique à ce contenant ou gérer le visuel de l'ensemble d'un type de contenant à la fois. Ce principe facilite grandement l'évolution du site tout comme la présence de thème qui permettent une uniformité graphique facilement mettable en place.

Présence sur le Web
Les sites qui sont géré par un CMS sont très nombreux sur l'ensemble des sites du Web. Ainsi une étude par W3Techs à été publiée montrant qu'il y a plus d'un site sur deux qui utilise un CMS. Parmi les CMS utilisés un a une écrasante majorité c'est WordPress qui est utilisé dans 60% des cas de sites utilisant un CMS, cela représente environ un tiers de toutes les pages Web.

Le Concept
CrafterCMS est un CMS open source distribué sous licence GNU GPL. C'est un CMS basé sur Git, c'est-à-dire que les modifications de contenus sont gérées comme le sont les modifications de code lorsque le projet est dans un repository git. Ainsi une fois le contenu d'une page modifié l'équivalent d'un commit est créer puis il nous est possible de pousser cette modification sur le dépôt de contenu. Il y a de même les possibilités de voir les différences avec une précédentes versions ou même de revenir à une version précédente. CrafterCMS traite les sites web comme contenant des pages qui elles-mêmes sont composées de components.

L'architecture
CrafterCMS est composé de 3 grosses parties, Crafter Studio est le l'interface web qui est utilisée par les auteurs et les administrateurs afin de modifier le contenu et le site, Crafter Engine est le moteur de rendu du site c'est-à-dire que c'est cette partie qui se charge de créer la page web en fonction des données définies dans le Studio, et Crafter Repository se charge du dépôt des contenus sur un dépôt git. En réalité il y a 7 composants derrière CrafterCMS afin de gérer à la fois l'édition, le stockage, le rendu mais aussi la recherche de données, la gestion des droits des utilisateurs, ...

Démonstration
CrafterCMS se déploye facilement en téléchargeant une archive sur le site officiel puis en extrayant cette archive. Une fois cette étape passée il suffit de lancer le script startup.sh (ou .bat) et ensuite d'accéder au port 8080 de localhost sur votre navigateur préféré.



En allant sur http://localhost:8080/studio vous arrivez sur la page principale de Crafter Studio sur laquelle vous pouvez aisément créer un premier site web basé sur un template d'article.



En cliquant sur le champ "edit" en haut de la page vous arrivez sur la pop-up des propriétés de la page en question.



Références
https://w3techs.com/technologies/overview/content_management/all/

https://docs.craftercms.org/en/3.0/

https://en.wikipedia.org/wiki/GNU_General_Public_License

https://en.wikipedia.org/wiki/Crafter_CMS

http://www.cmsmatrix.org