| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| cms [Le 22/02/2026, 03:48] – +tag web / détails krodelabestiole | cms [Le 06/05/2026, 23:11] (Version actuelle) – [CMS] meilleur mobiletable krodelabestiole |
|---|
| ====== CMS (Système de Gestion de Contenu) ====== | ====== CMS (Système de Gestion de Contenu) ====== |
| |
| Un **[[wpfr>Système_de_gestion_de_contenu|CMS]]** (pour l'anglais //Content Management Systems//, parfois appelé en français SGC pour //Système de Gestion de Contenu//), est une [[:web#applications web|application web]] qui s'installe sur un [[:serveur]], et qui permet de concevoir et de mettre à jour des sites [[:web]] //dynamiques//. | Un **[[wpfr>Système_de_gestion_de_contenu|CMS]]** (pour l'anglais //Content Management Systems//, parfois appelé en français SGC pour //Système de Gestion de Contenu//), est une [[:web#applications web|application web]] qui s'installe sur un [[:serveur]], et qui permet de concevoir, publier, et mettre à jour des [[wpfr>Site_web|sites web]] //dynamiques//. |
| |
| Un [[wpfr>Page_web_dynamique|site web dynamique]] est un site dont le contenu est amené à changer, que ce soit par des mises à jour du contenu par l'administrateur ou par des paramètres tels que l'identité de l'utilisateur, la date, ou autres. On utilise ce terme par opposition à site //statique// (dont le contenu ne change pas selon la consultation). | Un [[wpfr>Page_web_dynamique|site web dynamique]] est un site dont le contenu est amené à changer, que ce soit par des mises à jour du contenu par l'administrateur ou par des paramètres tels que l'identité de l'utilisateur, la date, ou autres. On utilise ce terme par opposition à site //statique// (dont le contenu ne change pas selon la consultation). |
| |
| * Un site statique est donc la plupart du temps un assemblage de pages HTML, dont le contenu est stocké dans des fichiers HTML que le [[:web#serveurs|serveur HTTP]] rend simplement disponible. | * Un site statique est donc la plupart du temps un assemblage de pages [[wpfr>Hypertext_Markup_Language|HTML]], dont le contenu est stocké dans des fichiers ''.html'' que le [[:web#serveurs|serveur HTTP]] rend simplement disponible. |
| * Pour un site dynamique par contre, le contenu est généré par un script à chaque consultation. Plusieurs langages de programmation peuvent être employés à cet usage : [[:Python]], [[:Ruby]], JavaScript, Perl, mais le plus utilisé est [[:PHP]]. | * Pour un site dynamique par contre, le contenu est généré par un script à chaque consultation. Plusieurs langages de programmation peuvent être employés à cet usage : [[:Python]], [[:Ruby]], [[wpfr>JavaScript]], [[wpfr>Perl_(langage)|Perl]], mais le plus utilisé est [[:PHP]]. |
| |
| Comme les fonctionnalités des sites internet sont souvent les mêmes d'un site à l'autre (accueil, menu, pages, blog, galeries, etc.), on a inventé des interfaces graphiques qui permettent à l'administrateur de gérer de manière simplifiée le contenu de sites dynamiques. C'est ce qu'on appelle un **CMS**. | Comme les fonctionnalités des sites internet sont souvent les mêmes d'un site à l'autre (accueil, menu, pages, blog, galeries, etc.), on a inventé des interfaces graphiques qui permettent à l'administrateur de gérer de manière simplifiée le contenu de sites dynamiques. C'est ce qu'on appelle un **CMS**. |
| La définition de **CMS** est assez imprécise. Dans l'acception la plus courante, un **CMS** sert à mettre en place un site "classique" ou un blog : | La définition de **CMS** est assez imprécise. Dans l'acception la plus courante, un **CMS** sert à mettre en place un site "classique" ou un blog : |
| * Un //site "classique"// contient des //pages//, qui sont en général organisées par arborescence (menu, sous-menu). | * Un //site "classique"// contient des //pages//, qui sont en général organisées par arborescence (menu, sous-menu). |
| * Un //blog// contient des //articles//, qui sont généralement plus uniformes, plus rapides à rédiger et liés à une notion d'actualité (tri par date). | * Un //[[wpfr>blog]]// contient des //articles//, qui sont généralement plus uniformes, plus rapides à rédiger et liés à une notion d'actualité (tri par date). |
| |
| Mais en parlant de //gestion de contenu//, on ne précise pas le type de contenu, et le champs des applications peut être beaucoup plus large. //Wikipédia en français// inclut en plus dans [[wpfr>Système_de_gestion_de_contenu#Liste_de_systèmes_de_gestion_de_contenu|sa définition]] : | Mais en parlant de //gestion de contenu//, on ne précise pas le type de contenu, et le champs des applications peut être beaucoup plus large. //Wikipédia en français// inclut en plus dans [[wpfr>Système_de_gestion_de_contenu#Liste_de_systèmes_de_gestion_de_contenu|sa définition]] : |
| * les wiki (comme [[:DokuWiki]]) | * les [[wpfr>wiki]] (comme [[:DokuWiki]] ou [[wpfr>MediaWiki]])((Voir [[https://forum.ubuntu-fr.org/viewtopic.php?pid=22712575#p22712575|ce message]] sur le forum concernant les wikis.)) |
| * les forums (comme [[https://www.phpbb.com/|phpBB]], [[https://fluxbb.org/|FluxBB]], [[https://www.simplemachines.org/|SMF]]) | * les [[wpfr>Forum_(informatique)|forums]] (comme [[https://flarum.org/|Flarum]], [[https://github.com/discourse/discourse|Discourse]], [[https://github.com/NodeBB/NodeBB|NodeBB]], [[https://www.phpbb.com/|phpBB]], [[https://fluxbb.org/|FluxBB]], [[https://www.simplemachines.org/|SMF]])((Voir [[https://forum.ubuntu-fr.org/viewtopic.php?id=2049569|ce sujet]] sur le forum concernant les forums.)) |
| * les boutiques en ligne. | * les [[wpfr>Commerce_en_ligne|boutiques en ligne]].((Voir [[https://forum.ubuntu-fr.org/viewtopic.php?pid=21974099#p21974099|ce message]] sur le forum concernant les solutions //e-commerce// -- en attendant de trouver mieux.)) |
| |
| Pour des raisons de simplicité, nous ne traiterons sur cette page que de la mise en place de sites "classiques" ou de blogs. Mais il faut noter que la plupart des **CMS** listés ici proposent des extensions pour mettre en place des galeries d'images, des outils communautaires, voire des boutiques en ligne. | Pour des raisons de simplicité, nous ne traiterons sur cette page que de la mise en place de sites "classiques" ou de blogs. Mais il faut noter que la plupart des **CMS** listés ici proposent des extensions pour mettre en place des galeries d'images, des outils communautaires, voire des boutiques en ligne. |
| | {{:icons:no.png?25|difficile}} |usage spécifique, orienté société, IT, intranet | | | {{:icons:no.png?25|difficile}} |usage spécifique, orienté société, IT, intranet | |
| |
| | <mobiletable 1> |
| ^ Nom du CMS ^ Base de données ^ Langage ^ Facilité d'utilisation ^ Description ^ | ^ Nom du CMS ^ Base de données ^ Langage ^ Facilité d'utilisation ^ Description ^ |
| ^ [[:WordPress]] | MySQL | PHP | {{:icons:medium.png?25|moyen-facile}} | WordPress est le CMS le plus utilisé (plus de 40% des sites du [[:web|WWW]] !). Il rassemble une énorme communauté et propose un nombre sidérant de fonctionnalités par l'ajout d'extensions. Il est par contre d'une certaine manière victime de son succès : c'est une des solutions web les plus attaquées, il est donc impératif de le maintenir à jour constamment. Une fois installé il est assez simple à utiliser, mais il est un peu vieillissant et propose une ergonomie héritée du système de //blog// qu'il était à l'origine. | | ^ [[:WordPress]] | MySQL | PHP | {{:icons:medium.png?25|moyen-facile}} | WordPress est le CMS le plus utilisé (plus de 40% des sites du [[:web|WWW]] !). Il rassemble une énorme communauté et propose un nombre sidérant de fonctionnalités par l'ajout d'extensions. Il est par contre d'une certaine manière victime de son succès : c'est une des solutions web les plus attaquées, il est donc impératif de le maintenir à jour constamment. Une fois installé il est assez simple à utiliser, mais il est un peu vieillissant et propose une ergonomie héritée du système de //blog// qu'il était à l'origine. | |
| ^ [[https://blogotext.org/|BlogoText]] | MySQL SQLite | PHP | {{:icons:yes.png?25|facile}} | BlogoText est un CMS qui peut utiliser MySQL ou SQLite (plus simple). C'est un moteur de blog simple qui donne la possibilité de partager des liens. | | ^ [[https://blogotext.org/|BlogoText]] | MySQL SQLite | PHP | {{:icons:yes.png?25|facile}} | BlogoText est un CMS qui peut utiliser MySQL ou SQLite (plus simple). C'est un moteur de blog simple qui donne la possibilité de partager des liens. | |
| ^ [[https://typo3.org/|TYPO3]] | MySQL | PHP | {{:icons:no.png?25|difficile}} | TYPO3 est un cms très personnalisable. Il n'est en revanche pas fait pour les débutants. | | ^ [[https://typo3.org/|TYPO3]] | MySQL | PHP | {{:icons:no.png?25|difficile}} | TYPO3 est un cms très personnalisable. Il n'est en revanche pas fait pour les débutants. | |
| ^ [[https://strapi.io/|strapi]] | gnostique | JavaScript | {{:icons:no.png?25|difficile}} | Strapi est un CMS //[[https://www.lafabriquedunet.fr/blog/headless-cms/|headless]]//. Il est idéal pour monter une pile [[https://jamstatic.fr/2019/02/07/c-est-quoi-la-jamstack/|Jamstack]], et permet par ex. d'alimenter un [[#generateurs_de_sites_statiques|générateur de site statique]] ou une [[wpfr>Interface_de_programmation|API]]. Son déploiement est un travail de développeur, mais il est d'une simplicité d'utilisation enfantine. | | ^ [[https://strapi.io/|strapi]] | agnostique | JavaScript | {{:icons:no.png?25|difficile}} | Strapi est un CMS //[[https://www.lafabriquedunet.fr/blog/headless-cms/|headless]]//. Il est idéal pour monter une pile [[https://jamstatic.fr/2019/02/07/c-est-quoi-la-jamstack/|Jamstack]], et permet par ex. d'alimenter un [[#generateurs_de_sites_statiques|générateur de site statique]] ou une [[wpfr>Interface_de_programmation|API]]. Son déploiement est un travail de développeur, mais il est d'une simplicité d'utilisation enfantine. | |
| | </mobiletable> |
| |
| <note tip>Pour plus de sécurité, il est recommandé de cacher le répertoire ''admin'' (en le renommant, etc.) mais cela n’est pas possible sur tous les CMS, pour plus d'infos, voir la documentation du CMS concerné.</note> | <note tip>Pour plus de sécurité, il est recommandé de cacher le répertoire ''admin'' (en le renommant, etc.) mais cela n’est pas possible sur tous les CMS, pour plus d'infos, voir la documentation du CMS concerné.</note> |
| Il est aussi possible d'administrer le contenu d'un site statique créé de la sorte au moyen d'interfaces graphiques. | Il est aussi possible d'administrer le contenu d'un site statique créé de la sorte au moyen d'interfaces graphiques. |
| À l'utilisation cela se rapproche donc encore plus du **CMS** classique.\\ | À l'utilisation cela se rapproche donc encore plus du **CMS** classique.\\ |
| On parle dans ce cas de **CMS //headless//** (sans tête).(([[https://jamstatic.fr/2019/02/07/c-est-quoi-la-jamstack/#cms|C'est quoi la Jamstack au juste ? -> CMS]])) La tête fait ici référence au site public dans son ensemble, et au moteur qui le génère, un projet séparé indépendant de son administration. [[https://decapcms.org|Decap]] est un //CMS headless// libre particulièrement intéressant. Son rôle principal est de fournir une interface graphique pour éditer des fichiers Markdown et YAML, dans le contexte d'un site et à partir desquels ce site sera généré (lors de son administration : //SSG//, pas de sa consultation : //CMS traditionnel//). | On parle dans ce cas de **CMS //headless//** (sans tête).(([[https://jamstatic.fr/2019/02/07/c-est-quoi-la-jamstack/#cms|C'est quoi la Jamstack au juste ? -> CMS]])) La tête fait ici référence au site public dans son ensemble (//[[wpfr>Application_de_front_office|front]]//), et au moteur qui le génère, un projet séparé indépendant de son administration (//[[wpfr>Application_(informatique)#Application_de_back_office|back]]//).\\ |
| | Son rôle principal est de fournir une interface graphique pour générer ou éditer -- en arrière plan -- des fichiers Markdown et YAML, à partir desquels le site lui-même sera généré (par le //SSG//, donc immédiatement lors de l'administration du site -- et pas lors de sa consultation comme ce serait le cas avec un //CMS traditionnel//). |
| | |
| | * **[[https://decapcms.org|Decap]]** est un //CMS headless// libre particulièrement intéressant. |
| |
| Ces technologies ne sont pas forcément simples à mettre en œuvre, mais à l'usage elles offrent une simplicité supérieure aux **CMS**, ainsi qu'un niveau de sécurité, une vitesse et une légèreté côté serveur incomparables, et ne demandent aucune maintenance une fois en place (il s'agit bien de sites //statiques//). | Ces technologies ne sont pas forcément simples à mettre en œuvre, mais à l'usage elles offrent une simplicité supérieure aux **CMS**, ainsi qu'un niveau de sécurité, une vitesse et une légèreté côté serveur incomparables, et ne demandent aucune maintenance une fois en place (il s'agit bien de sites //statiques//). |