Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
cms [Le 13/12/2021, 14:51] – cmsimple -> flatfile / re strapi / really static abandonné krodelabestiolecms [Le 06/05/2026, 23:11] (Version actuelle) – [CMS] meilleur mobiletable krodelabestiole
Ligne 1: Ligne 1:
-{{tag>portail serveur internet}}+{{tag>portail serveur internet web}}
  
 ====== 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 un logiciel destiné à la conception et à la mise à jour de 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, galleries, etc.), on a mis au point des systèmes qui permettent à l'administrateur de gérer de manière simplifiée et graphique 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**.
  
-Un CMS peut simplifier le travail d'un développeur web, mais il peut aussi permettre à des utilisateurs sans compétence en développement de déployer un site web dynamique assez simplement.+Un **CMS** peut simplifier le travail d'un [[:programmation|développeur]] [[:web]], mais il peut aussi permettre à un utilisateur sans compétence en développement de déployer un site web dynamique assez simplement.
  
-<note>La définition de CMS est assez perméable. Dans l'acceptation la plus courante, un CMS sert à mettre en place un site "classique" ou un blog : +<note> 
-  * Un //site "classique"// contient des //pages//, qui sont en général structurées par arborescence (menu, sous-menu) +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 //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 //site "classique"// contient des //pages//, qui sont en général organisées par arborescence (menu, sous-menu). 
 +  * 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, la porte reste donc ouverte sur un champs 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 galleries d'image, des outils communautaires, voir des boutiques en ligne.</note>+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. 
 +</note>
  
 ===== CMS ===== ===== CMS =====
  
-<note important>Les CMS sont des applications accessibles directement en ligne, il est impératif d'utiliser les dernières versions pour des raisons de sécurité.+<note important> 
 +Les **CMS** sont des [[:web#applications_web|applications]] accessibles directement en ligne. Pour des raisons importantes de sécurité, il est //impératif// de toujours utiliser la dernière version et de la maintenir à jour.
  
-Certains CMS sont disponibles dans les dépôts officiels d'Ubuntu, mais avant de vous lancer dans une installation par paquet, vérifiez que la version proposée correspond à la dernière version sur le site officiel du CMS (ce qui est rarement le cas).+Certains **CMS** sont disponibles dans les dépôts officiels d'Ubuntu, mais avant de vous lancer dans une installation par paquet, vérifiez que la version proposée correspond à la dernière version sur le site officiel du **CMS** (ce qui est rarement le cas)
 + 
 +D'une manière générale [[:APT]] et les [[:dépôts]] d'[[:Ubuntu]] et [[:distributions#Debian]] (format [[:deb]]) ne sont pas pensés pour fournir des versions particulièrement récentes des logiciels. Par conséquent ils ne conviennent généralement pas au déploiement d'[[:web#applications_web|applications]] ou services [[:web]].
  
 À l'heure de la rédaction de cette page la dernière version de WordPress est par exemple la 4.9.4. À l'heure de la rédaction de cette page la dernière version de WordPress est par exemple la 4.9.4.
-<code>apt show wordpress</code> retourne par contre sur [[:Xenial]] le numéro de version 4.4.2 (sortie il y a 2 ans).</note>+<code>apt show wordpress</code> retourne par contre sur [[:Xenial]] le numéro de version 4.4.2 (sortie il y a 2 ans). 
 +</note>
  
-La plupart des CMS stockent le contenu dynamique dans des bases de données ([[:MySQL]] la plupart du temps), mais d'autres prennent le parti de stocker les informations directement sous forme de fichiers texte. On appelle cette stratégie le //flat file//.+La plupart des **CMS** stockent le contenu dynamique dans des bases de données ([[:MySQL]] la plupart du temps), mais d'autres prennent le parti de stocker les informations directement sous forme de fichiers texte. On appelle cette stratégie le //flat file//.
  
 L'inconvénient avec les //CMS flat file// c'est que les recherches sur leur contenu dynamique sont généralement plus lentes, en particulier si celui-ci est important. Par contre ils sont la plupart du temps plus rapides d'une manière générale et surtout beaucoup plus simples à installer et à sauvegarder que leurs homologues à base de données. L'inconvénient avec les //CMS flat file// c'est que les recherches sur leur contenu dynamique sont généralement plus lentes, en particulier si celui-ci est important. Par contre ils sont la plupart du temps plus rapides d'une manière générale et surtout beaucoup plus simples à installer et à sauvegarder que leurs homologues à base de données.
  
 ^ Légende des icônes ^^ ^ Légende des icônes ^^
-| {{ :utilisateurs:krodelabestiole:brouillon:facile.png?25 |facile}} |pas de manipulations de bases de données, pas d'édition de code, excellente ergonomie | +| {{:icons:yes.png?25|facile}} |pas de manipulations de bases de données, pas d'édition de code, excellente ergonomie | 
-| {{ :utilisateurs:krodelabestiole:brouillon:moyen-facile.png?25 |moyen-facile}} |assez intuitif mais quelques manipulations techniques de bases de données par exemple | +| {{:icons:medium.png?25|moyen-facile}} |assez intuitif mais quelques manipulations techniques de bases de données par exemple | 
-| {{ :utilisateurs:krodelabestiole:brouillon:moyen-difficile.png?25 |moyen-difficile}} |ergonomie austère ou de complexité relative | +| {{:icons:danger.png?25|moyen-difficile}} |ergonomie austère ou de complexité relative | 
-| {{ :utilisateurs:krodelabestiole:brouillon:difficile.png?25 |difficile}} |usage spécifique, orienté société, IT, intranet |+| {{:icons:no.png?25|difficile}} |usage spécifique, orienté société, IT, intranet |
  
-^ Nom du CMS ^ Licence ^ Base de données ^ Langage ^ Facilité d'utilisation ^ Description | +<mobiletable 1> 
-^ [[:WordPress]] | libre  MySQL | PHP | {{ :utilisateurs:krodelabestiole:brouillon:moyen-facile.png?25 |moyen-facile}} | WordPress est le CMS le plus utilisé (28% 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. | +^ Nom du CMS ^  Base de données   Langage   Facilité d'utilisation  ^ Description ^ 
-^ [[:joomla|Joomla!]] | libre  MySQL | PHP | {{ :utilisateurs:krodelabestiole:brouillon:moyen-facile.png?25 |moyen-facile}} | Joomla! bénéficie également d'une communauté importante. Il propose plus de fonctionnalités nativement que WordPress (permissions, multilingue...), mais on trouve moins de choses dans les extensions. Il ne bénéficie pas d'une image aussi "professionnelle" que WordPress. Le projet est actuellement moins dynamique((https://github.com/joomla/joomla-cms/graphs/contributors?from=2019-05-08&to=2020-06-22&type=c)) | +^ [[: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. | 
-^ [[:Drupal]] | libre  MySQL | PHP | {{ :utilisateurs:krodelabestiole:brouillon:difficile.png?25 |difficile}} | Drupal est le 3e CMS le plus utilisé, avec une bonne dynamique((https://github.com/drupal/drupal/graphs/contributors?from=2019-05-08&to=2020-06-22&type=c)). Il est davantage orienté vers les développeurs, ce qui le rend plus souple, mais plus compliqué à prendre en main. Il est particulièrement bien sécurisé. | +^ [[:joomla|Joomla!]] |  MySQL   PHP   {{:icons:medium.png?25|moyen-facile}}  | Joomla! bénéficie également d'une communauté importante. Il propose plus de fonctionnalités nativement que WordPress (permissions, multilingue...), mais on trouve moins de choses dans les extensions. Il ne bénéficie pas d'une image aussi "professionnelle" que WordPress. Le projet est actuellement moins dynamique((https://github.com/joomla/joomla-cms/graphs/contributors?from=2019-05-08&to=2020-06-22&type=c)) | 
-^ [[http://www.cmsmadesimple.org/|CMS Made Simple]] | libre | MySQL | PHP | {{ :utilisateurs:krodelabestiole:brouillon:moyen-difficile.png?25 |moyen-difficile}} | CMSMS se veut plus simple que WordPress. Son interface est effectivement plus claire, peut-être parce qu'il propose moins de fonctionnalités, mais il repose encore beaucoup sur de l'édition par code. | +^ [[:Drupal]] |  MySQL   PHP   {{:icons:no.png?25|difficile}}  | Drupal est le 3e CMS le plus utilisé, avec une bonne dynamique((https://github.com/drupal/drupal/graphs/contributors?from=2019-05-08&to=2020-06-22&type=c)). Il est davantage orienté vers les développeurs, ce qui le rend plus souple, mais plus compliqué à prendre en main. Il est particulièrement bien sécurisé. | 
-^ [[:Grav]] | libre | flat file (YAML) | PHP | {{ :utilisateurs:krodelabestiole:brouillon:moyen-facile.png?25 |moyen-facile}} | Grav est un petit nouveau. Il n'utilise pas de base de données, il est très rapide, propose une interface très claire et ergonomique, et il est basé sur des technologies actuelles. Il ne propose évidemment pas encore autant de fonctionnalités que WordPress (il dispose quand même d'un catalogue d'extensions de qualité) mais il en est une alternative beaucoup plus moderne. Le site officiel est en anglais, mais l'interface d'administration est entièrement traduite en français. | +^ [[http://www.cmsmadesimple.org/|CMS Made Simple]] |  MySQL   PHP   {{:icons:danger.png?25|moyen-difficile}}  | CMSMS se veut plus simple que WordPress. Son interface est effectivement plus claire, peut-être parce qu'il propose moins de fonctionnalités, mais il repose encore beaucoup sur de l'édition par code. | 
-^ [[:PluXml]] | libre | flat file (XML) | PHP | {{ :utilisateurs:krodelabestiole:brouillon:facile.png?25 |facile}} | Outil de gestion de blog et site classique très simple, voir un peu rudimentaire. Il dispose d'un petit catalogue d'extensions et de nombreux thèmes. | +^ [[:Grav]] |  flat file (YAML)   PHP   {{:icons:medium.png?25|moyen-facile}}  | Grav est un petit nouveau. Il n'utilise pas de base de données, il est très rapide, propose une interface très claire et ergonomique, et il est basé sur des technologies actuelles. Il ne propose évidemment pas encore autant de fonctionnalités que WordPress (il dispose quand même d'un catalogue d'extensions de qualité) mais il en est une alternative beaucoup plus moderne. Le site officiel est en anglais, mais l'interface d'administration est entièrement traduite en français. | 
-^ [[https://www.zwiicms.com/|Zwii]] | libre | flat file (JSON) | PHP | {{ :utilisateurs:krodelabestiole:brouillon:facile.png?25 |facile}} | Un autre CMS (blog et site classique) extrêmement simple, qui dispose aussi d'un petit catalogue d'extensions. À la différence de PluXml il ne propose qu'un seul thème (//responsive//) hautement personnalisable. | +^ [[https://picocms.org|Pico CMS]] |  flat file (Markdown  PHP   {{:icons:yes.png?25|facile}}  | CMS flat file moderne et extrêmement simple, aussi bien à installer qu'à utiliser. Il dispose de quelques [[https://picocms.org/themes/|thèmes]] et [[https://picocms.org/plugins/|extensions]]. On peut éditer les fichiers en markdown ou utiliser une interface en ligne grâce au plugin [[https://picocms.org/plugins/#entry-edit|Pico Edit]]. Il peut s'intégrer facilement à [[:Nextcloud]] au moyen de [[https://apps.nextcloud.com/apps/cms_pico|cette app]]. | 
-^ [[http://nibbleblog.com/|Nibbleblog]] | libre | flat file (XML) | PHP | {{ :utilisateurs:krodelabestiole:brouillon:facile.png?25 |facile}} | Outil de gestion de blog très simple mais pauvre en fonctionnalités. | +^ [[:PluXml]] |  flat file (XML)  |  PHP  |  {{:icons:yes.png?25|facile}}  | Outil de gestion de blog et site classique très simple, voir un peu rudimentaire. Il dispose d'un petit catalogue d'extensions et de nombreux thèmes. | 
-^ [[https://www.cmsimple.org/en/|CMSimple]] | libre | flat file (HTML) | PHP | {{ :utilisateurs:krodelabestiole:brouillon:facile.png?25 |facile}} | | +^ [[https://www.zwiicms.fr/|Zwii]] |  flat file (JSON)   PHP   {{:icons:yes.png?25|facile}}  | Un autre CMS (blog et site classique) extrêmement simple, qui dispose aussi d'un petit catalogue d'extensions. À la différence de PluXml il ne propose qu'un seul thème (//responsive//) hautement personnalisable. | 
-^ [[https://www.django-cms.org/|Django CMS]] | libre | MySQL | Python | {{ :utilisateurs:krodelabestiole:brouillon:difficile.png?25 |difficile}} | Django CMS est basé sur le framework [[:Python]] [[https://www.djangoproject.com/|Django]]. Il est relativement simple à utiliser et propose de nombreuses fonctionnalités, mais sa configuration se fait en modifiant le code source. | +^ [[http://nibbleblog.com/|Nibbleblog]] |  flat file (XML)   PHP   {{:icons:yes.png?25|facile}}  | Outil de gestion de blog très simple mais pauvre en fonctionnalités. | 
-^ [[:SPIP]] | libre  MySQL | PHP | {{ :utilisateurs:krodelabestiole:brouillon:moyen-difficile.png?25 |moyen-difficile}}  [[https://www.spip.net|SPIP]] est un CMS qui a une longue existence, créé au début des années 2000. Il bénéficie toujours d'une communauté active et d'un [[https://git.spip.net|développement continu]]. Il propose un large éventail de [[https://plugins.spip.net/|plugins]] couvrant nombre de besoins. | +^ [[https://www.cmsimple.org/en/|CMSimple]] |  flat file (HTML)   PHP   {{:icons:yes.png?25|facile}}  | | 
-^ [[:Plone]] | libre | ZODB | Python | {{ :utilisateurs:krodelabestiole:brouillon:difficile.png?25 |difficile}} | Plone fait plus que mettre en place un site Internet, et propose des fonctionnalités de gestion d'intranet. Il est basé sur [[:Zope]] et est particulièrement sécurisé. | +^ [[https://www.django-cms.org/|Django CMS]] |  MySQL   Python   {{:icons:no.png?25|difficile}}  | Django CMS est basé sur le framework [[:Python]] [[https://www.djangoproject.com/|Django]]. Il est relativement simple à utiliser et propose de nombreuses fonctionnalités, mais sa configuration se fait en modifiant le code source. | 
-^ [[:PHPBoost]] | libre | MySQL | PHP | {{ :utilisateurs:krodelabestiole:brouillon:moyen-facile.png?25 |moyen-facile}} | PHPBoost propose nativement de nombreuses fonctionnalités : pages, articles, calendrier, forum, wiki, newsletter, sondages, livre d'or etc. Malheureusement son ergonomie est assez datée. | +^ [[:SPIP]] |  MySQL   PHP   {{:icons:danger.png?25|moyen-difficile}}  [[https://www.spip.net|SPIP]] est un CMS qui a une longue existence, créé au début des années 2000. Il bénéficie toujours d'une communauté active et d'un [[https://git.spip.net|développement continu]]. Il propose un large éventail de [[https://plugins.spip.net/|plugins]] couvrant nombre de besoins. | 
-^ [[https://www.ametys.org/territorial/fr/solutions/ametys-portail/apercu.html|Ametys]] | libre | MySQL | Java | {{ :utilisateurs:krodelabestiole:brouillon:moyen-difficile.png?25 |moyen-difficile}} | Ametys propose une interface d'édition datée et peu adaptée aux nouvelles technologies du Web. | +^ [[:Plone]] |  ZODB   Python   {{:icons:no.png?25|difficile}}  | Plone fait plus que mettre en place un site Internet, et propose des fonctionnalités de gestion d'intranet. Il est basé sur [[:Zope]] et est particulièrement sécurisé. | 
-^ [[https://ezplatform.com/|eZ Platform]] | libre | MySQL | PHP | {{ :utilisateurs:krodelabestiole:brouillon:difficile.png?25 |difficile}} | eZ Platform est un CMS puissant mais complexe, principalement à destination des développeurs et des entreprises. | +^ [[:PHPBoost]] |  MySQL   PHP   {{:icons:medium.png?25|moyen-facile}}  | PHPBoost propose nativement de nombreuses fonctionnalités : pages, articles, calendrier, forum, wiki, newsletter, sondages, livre d'or etc. Malheureusement son ergonomie est assez datée. | 
-^ [[https://blogotext.org/|BlogoText]] | libre | MySQL SQLite | PHP | {{ :utilisateurs:krodelabestiole:brouillon:facile.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://www.ametys.org/territorial/fr/solutions/ametys-portail/apercu.html|Ametys]] |  MySQL   Java   {{:icons:danger.png?25|moyen-difficile}}  | Ametys propose une interface d'édition datée et peu adaptée aux nouvelles technologies du Web. | 
-^ [[https://typo3.org/|TYPO3]] | libre | MySQL | PHP | {{ :utilisateurs:krodelabestiole:brouillon:difficile.png?25 |difficile}} | TYPO3 est un cms très personnalisable. Il n'est en revanche pas fait pour les débutants. | +^ [[https://ezplatform.com/|eZ Platform]] |  MySQL   PHP   {{:icons:no.png?25|difficile}}  | eZ Platform est un CMS puissant mais complexe, principalement à destination des développeurs et des entreprises. | 
-^ [[https://strapi.io/|strapi]] | libre | agnostique | JavaScript | {{ :utilisateurs:krodelabestiole:brouillon:difficile.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://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://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 dossier admin (en le renommant, etc.) mais cela n’est pas possible dans tous les CMS, pour plus dinfos, voir la documentation du CMS choisi.</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>
  
 ===== Générateurs de sites statiques ===== ===== Générateurs de sites statiques =====
  
-Les générateurs de sites statiques (souvent appelés SSG pour //Static Site Generator//) se rapprochent des CMS en ce sens que leur contenu est facilement modifiable par l'administrateur.+Les **[[wpfr>générateur_de_site_statique|générateurs de sites statiques]]** (souvent appelés SSG pour //Static Site Generator//) se rapprochent des **CMS** en ce sens que leur contenu est facilement modifiable par l'administrateur
 + 
 +Cependant contrairement aux **CMS**, les pages web du site ne sont pas générées à chaque consultation, mais seulement lors de leur édition par un administrateur ou webmaster. Une fois le contenu modifié, elles se présentent sous la forme de fichiers HTML, comme n'importe quel site statique. 
 + 
 +Ils disposent de moins de fonctionnalités que les **CMS**, mais suffisent en général à la mise en place de sites "vitrines" ou de blogs. Ces sites bénéficient alors d'une sécurité infaillible et d'une vitesse incomparable, et peuvent être hébergés n'importe où (pas de script à exécuter sur le serveur, juste du HTML à servir).(([[https://jamstatic.fr/2019/02/07/c-est-quoi-la-jamstack/#d%C3%A9veloppement|C'est quoi la Jamstack au juste ? -> Générateurs de site statique]])) 
 + 
 +  * [[https://jekyllrb.com/|Jekyll]] ([[:Ruby]]) 
 +  * [[https://gohugo.io/|Hugo]] ([[:golang|Go]]) 
 +  * [[https://www.getpelican.com/|Pelican]] ([[:Python]]) 
 +  * [[https://www.gatsbyjs.com|Gatsby]] ([[:nodejs|JavaScript]] - [[https://fr.react.dev|React]]) 
 +  * [[https://nextjs.org|Next.js]] ([[:nodejs|JavaScript]] - [[https://fr.react.dev|React]]) 
 +  * [[https://vuepress.vuejs.org|VuePress]] ([[:nodejs|JavaScript]] - [[https://vuejs.org|Vue.js]]) 
 +  * [[https://www.getzola.org|Zola]] ([[wpfr>Rust (langage)|Rust]]) 
 +  * [[https://docusaurus.io|Docusaurus]] ([[:nodejs|JavaScript]] - [[https://fr.react.dev|React]], orienté documentation) 
 + 
 +[[https://jamstack.org/generators/|Une liste beaucoup plus complète]], en anglais. 
 + 
 +Le contenu de ces sites s'administre généralement en éditant des fichiers [[wpfr>Markdown]] (pour les textes riches) et / ou [[wpfr>YAML]] (pour les autres données). 
 + 
 +==== CMS headless ==== 
 + 
 +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.\\  
 +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//).
  
-Cependant ce contenu n'est pas généré à chaque consultation et une fois modifié il se présente sous la forme de fichiers HTML, comme un site statique.+  * **[[https://decapcms.org|Decap]]** est un //CMS headless// libre particulièrement intéressant.
  
-Ils disposent de moins de fonctionnalités que les CMS, mais suffisent en général à la mise en place de sites "vitrines" ou de blogs, et bénéficient d'une sécurité infaillible et d'une vitesse incomparable.+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//).
  
-  * [[https://jekyllrb.com/|Jekyll]] +<note> 
-  * [[https://gohugo.io/|Hugo]] +Pour information, la partie éditoriale du site ubuntu-fr (accueil, page de téléchargement, etc.) est administrée par Decap et générée par Hugo. 
-  * [[https://www.getpelican.com/|Pelican]]+</note>
  
 ===== Voir aussi ===== ===== Voir aussi =====
  
-  * [[:hébergeur|Une liste des hébergeurs]] +  * La page concernant l'[[:hébergement]] 
-<note tip>La plupart des hébergeurs web proposent des installations simplifiées ("//en 1 clic//") pour les CMS les plus courants.</note>+<note tip>La plupart des [[:hébergement#hebergeurs|hébergeurs web]] proposent des installations simplifiées ("//en 1 clic//") pour les **CMS** les plus courants.</note>
   * [[wpfr>Liste_de_systèmes_de_gestion_de_contenu|Liste de CMS sur Wikipédia]]   * [[wpfr>Liste_de_systèmes_de_gestion_de_contenu|Liste de CMS sur Wikipédia]]
   * [[http://www.packtpub.com/award|Open Source CMS Award]]   * [[http://www.packtpub.com/award|Open Source CMS Award]]
   * [[https://framalibre.org/recherche-par-crit-res?keys=cms|Rubrique CMS de Framasoft]]   * [[https://framalibre.org/recherche-par-crit-res?keys=cms|Rubrique CMS de Framasoft]]
 +  * Recommandations en matière de [[wpfr>wiki|wikis]] sur le forum : //[[https://forum.ubuntu-fr.org/viewtopic.php?id=2080399|Créer un wiki d'entreprise sur un serveur Ubuntu ?]]//
 +  * Recommandations en matière de [[wpfr>forum (informatique)|forums]] sur le forum : //[[https://forum.ubuntu-fr.org/viewtopic.php?id=2081510|Création d'un forum sous Ubuntu]]//
  
 ==== Pages en relation avec le sujet ==== ==== Pages en relation avec le sujet ====