Quel CMS léger pour un blog mis à part Wordpress ?

À la recherche du CMS parfait...

a marqué ce sujet comme résolu.

Bonjour les agrumes !

J'ai actuellement un blog, basé sur le CMS Pluxml, sur lequel j'écris régulièrement des articles et qui possède une partie portfolio pour montrer les projets sur lesquels j'ai travaillé. Comme je ne suis plus satisfait de son design, je suis en train de refaire le site web et je cherche depuis quelques semaines un nouveau CMS qui puisse mieux me correspondre.

Pourquoi changer de mon CMS actuel, Pluxml ?

Tout d'abord, j'utilise Pluxml pour mon site web depuis un an et j'en suis globalement content. Les raisons qui m'ont poussé à le choisir à l'époque était notamment le fait qu'il soit simple et qu'il n'ait pas de base de données car les articles sont stockés en fichiers XML.

Cependant, les raisons qui me donnent envie de changer sont :

  • L'éditeur de texte intégré ne permet que d'écrire en HTML. Donc j'utilise TinyMCE via un plugin mais celui-ci peut buger et rendre l'écriture pénible. J'aimerais vraiment pouvoir écrire mes articles en Markdown.
  • La gestion de pages statiques est compliquée : actuellement je suis obligé de modifier directement le HTML des pages depuis l'interface d'administration. Je me rappelle à l'époque avoir été dans l'incapacité d'avoir plusieurs modèles de pages.
  • Le SEO n'est pas très poussé nativement. Pour les URLs il existe un plugin mais je n'avais pas su le faire fonctionner.

En écrivant ces lignes, je suis en train de réfléchir si je ne pourrais pas réessayer de faire un site au propre pour voir.. :D . Mais j'aimerais tout de même avoir vos retours.

Les critères pour le CMS parfait

Voilà comment j'imagine mon CMS parfait :

  • Léger et simple
  • Rédaction d'articles en Markdown
  • Un éditeur de texte disponible en ligne
  • Pas de base de données : ça permet de sauvegarder et de migrer plus facilement un site
  • Bien gérer nativement le SEO
  • En PHP : non pas que j'aime ce langage mais parce que les hébergements PHP sont beaucoup moins chers
  • Sache gérer des pages statiques
  • Puisse gérer des contenus différents (contenu articles et contenus projets)
  • Open Source

Recherches de CMS alternatifs

Comme je disais, cela fait quelques semaines que je regarde les autres CMS. J'ai beaucoup lu, découvert beaucoup de CMS et testé quelques uns. Je vais donc commencer par parler de ceux que j'ai essayé :

  • Ghost : Je l'ai testé sur leur site avec le thème par défaut. J'aime bien la finition de l'interface et le fait de pouvoir écrire les articles en Markdown. Je n'aime pas que ça soit en NodeJS car le coût de l'hébergement est assez élevé par rapport aux 2€/ mois que je paye chez Online pour un serveur PHP. De plus, il utilise une base de données.

  • Pico : J'avais commencé à intégrer mon site avec Pico cependant j'ai dû bidouiller avec le thème des choses pas jolies. Puis le pire fut quand j'ai découvert que les plugins permettant d'avoir un éditeur en ligne n'étaient pas vraiment bien réalisées. Donc Le fait de ne pas pouvoir éditer les articles en ligne et que mon thème soit compliqué à intégrer m'ont fait changer d'avis.

Maintenant, parmi mes recherches je suis tombé bien sûr sur les générateurs de sites web statiques tels que Jekyll. J'ai notamment été séduit par Hugo car la documentation est très complète et bien travaillée. J'ai eu le sentiment qu'intégrer mon site avec Hugo serait plutôt facile. Seulement, deux soucis me viennent à l'esprit avec ces générateurs de sites statiques :

  • Pas d'éditeur en ligne. J'imagine pas le workflow lourd que je pourrais avoir quand je veux écrire un article sachant notamment que mon hébergement chez Online ne permet pas de Git mais seulement du FTP.
  • Pas de possibilité de proposer des fonctions comme me contacter via un formulaire ni les commentaires. Après, si vous avez des alternatives sans passer par un service tiers je suis preneur. (pour les commentaires je réfléchis à m'en passer)

Avez-vous des conseils ?

Je n'ai pas listé précédemment tous les CMS que j'ai pu rencontrer mais seulement ceux qui m'ont le plus interpellés. J'en ai trouvé des beaux, des moches, des gros et des petits mais aucun qui semblent me convenir d'après mes critères.

Connaissez-vous un CMS qui pourrait me convenir ?

Avez-vous des propositions à faire qui me permettrait de faire le moins de compromis possibles ?

Merci d'avance et désolé pour mon long message :D

+0 -0

Wordpress ?

Sérieusement, c'est le produit qui me semble le plus adapté à des critères. Tu n'as qu'à utiliser le plugin sqlite-integration pour te passer d'un serveur SQL. (note que je trouve cette idée assez bête, tu vas perdre en performance pour un truc que tu ne vas de toute façon jamais faire.)

Wordpress ?

Sérieusement, c'est le produit qui me semble le plus adapté à des critères. Tu n'as qu'à utiliser le plugin sqlite-integration pour te passer d'un serveur SQL. (note que je trouve cette idée assez bête, tu vas perdre en performance pour un truc que tu ne vas de toute façon jamais faire.)

dab

Surtout que migrer un Wordpress normalement ça se fait sans trop de soucis (pour peu que tu n'ai pas trop detourné le moteur de sa fonction initiale de moteur de blog)

Il y a d'autres raisons qui t’empêche d'utiliser un wordpress ?

PS: en bonus ==> Wordpress gère parfaitement le SEO si bien configuré

Juste pour balancer un lien, jamais testé, mais j'en ai eu des bons retours : Grav.

tleb

Pareil, j'en ai entendu que du bien. Si on prend la liste des demande de l'op:

J'ai notamment été séduit par Hugo

Je pouvais pas m'en empêcher !

+5 -0

Ce n'est pas un CMS, mais ça a l'air de coller à tes besoins : Jekyll.

En gros tu rédiges en local puis tu compiles les fichiers HTML que tu n'as plus qu'à uploader. Ou plus simple : tu uploades tes sources sur un repo GitHub Pages qui va se charger de compiler.

Tu peux ainsi rédiger en MarkDown et/ou en HTML, gérer aussi bien des pages statiques que des articles de blog, avec quelques fonctionnalités supplémentaires…

J'utilise dokuwiki depuis quelques temps, et j'en suis plutôt contente. Je l'ai choisi parce qu'il n'utilise pas de base de donnée, et du coup, on peut soit éditer en ligne soit éditer directement les fichiers avec son éditeur favori. Je pense qu'il répond plus ou moins à tes besoins. J'écris en txt2tags grâce à un plugin, mais il existe aussi un plugin pour le markdown. Il y a des tonnes de plugins et de templates (style).

Sinon, je ne sais pas ce que ça vaut, mais il y a des solutions gratuites type medium. Follow intégré à la platforme, RSS, lecture plutôt agréable et solution clé en main. Ça peut convenir à certaines personnes, je ne sais pas si tu en fais partie. Tu as aussi probablement plus de visibilité.

(Me tapez pas pour proposer une solution non open source et déjà hébergé, ça peut convenir à certaines personnes. Après tout, on est ici pour lui proposer des solutions.)

Merci pour vos réponses !

Je viens de redécouvrir Grav, j'avais déjà regardé sa documentation mais j'ai dû l'oublier quand j'ai fait une pause dans ma recherche. Heureusement que vous me l'avez rappelé car en effet il semble pouvoir me convenir :D . Je vous tiendrais au courant de mon avancement et je pense que j'écrirais un article à propos de la migration de mon site.

Ma réticence par rapport à Wordpress vient du fait qu'il est plus complexe et donc plus sujet à des failles de sécurité. Il est donc nécessaire de faire régulièrement des mises à jour mais parfois elles peuvent mal se passer vis-à-vis des plugins. Ensuite, en terme de performances j'ai constaté que Wordpress est plutôt lent. Je continue à penser que c'est un bon CMS mais pour mon besoin personnel il est trop compliqué à maintenir.

D'ailleurs, lorsque j'avais fait ma migration Wordpress => Pluxml il y a un an, j'ai écrit un article montrant la différence de performance : temps pour afficher le site au complet 1.8s pour PluXml contre 11.4s pour Wordpress. Il y a cependant un point à préciser concernant l'article qui est que le thème Wordpress était de base plus lourd que celui de Pluxml. Vous pouvez consulter mon article ici pour plus de détails (j'avais mis les deux benchmarks détaillés) : "Why I changed from Wordpress to PluXml ".

@_Anne _ Merci pour ta proposition, je n'avais pas entendu parler de dokuwiki mais je vais le garder dans un coin car il m'a l'air intéressant pour…faire un wiki :D .

@tleb En effet Medium est bien pour avoir une solution efficace et rapide à prendre en main mais il ne permet pas d'avoir des pages statiques en plus d'articles de blog. (mis à part que ça ne soit pas open source, etc. :D )

Merci encore pour vos propositions et pour m'avoir rappelé l'existence de Grav ! Je dois trouver une solution pour convertir mes articles XML en Markdown et j'espère revenir vers vous bientôt.

+0 -0

Petite mise à jour : j'ai quasiment terminé d'intégrer mon site web dans le CMS Grav ! En une journée, j'ai quasiment pu intégrer toutes les pages et faire fonctionner la pagination. À ce niveau, je dois donc dire que Grav est vraiment facile à prendre en main pour la création de thème.

J'ai encore un peu de finition à faire mais aussi un gros travail qui est de migrer mes anciens articles Pluxml vers le nouveau blog :D . Et ça m'a l'air compliqué…

Je dois trouver une solution pour convertir mes articles XML en Markdown et j'espère revenir vers vous bientôt.

KillianKemps

Je ne l'ai jamais utilisé, mais Pandoc est la référence.

tleb

Merci tleb, j'ai tenté avec Pandoc mais le résultat n'est pas satisfaisant. Il y encore un peu de traitement à faire et surtout il faut aussi transférer les images :/ .

En cherchant comment convertir mes articles Pluxml en markdown, je suis tombé sur ce script : https://github.com/Leryan/pluxml-to-markdown . Cependant, je n'ai pas réussi à le faire fonctionner et il faut dire que rien qu'en lisant le README, on sent que le développeur n'a pas été très rigoureux.

Donc là, je suis en train dé réfléchir, soit je reprends le script ci-dessus et j'essaye de le faire fonctionner, soit je développe moi-même un script depuis zéro, soit… je convertis mes 30 articles à la main :D . Si mes articles ne contenaient que du texte, j'aurai pu le faire manuellement, mais bon avec des images il y a encore plus de risques de faire des erreurs.

Bref, si vous avez des idées, je suis preneur, sinon je pense me lancer dans le développement d'un script de conversion.

+1 -0

Ça ressemble à quoi le pluxml ? Tu peux nous donner un exemple ?

tleb

J'ai mis en dessous un de mes articles Pluxml. Le top serait que je puisse récupérer le titre, le chapo, le contenu, les tags et la date (d'ailleurs je me rends compte qu'elle n'est pas dans le XML mais dans le nom du fichier). Je pense écrire un script en Python (que je rendrais open source bien évidemment) pour automatiser ça.

Nom du fichier : 0031.005.001.201604301655.impressions-about-vue-js-by-doing-a-dashboard.xml

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?xml version='1.0' encoding='UTF-8'?>
<document>
  <title><![CDATA[Impressions about Vue.js by doing a dashboard]]></title>
  <allow_com>1</allow_com>
  <template><![CDATA[article.php]]></template>
  <chapo><![CDATA[<p>I got to know&nbsp;<a href="http://vuejs.org/">Vue.js</a> about two months ago and was greatly impressed by the quality of its guide and API. Imagine. There is one guy <strong>alone</strong> maintaining the framework and he manages to keep an up-to-date documentation. Since then, he has got to <a href="http://vuejs.org/2016/03/14/march-update/">search for more people</a>, and the team is increasing in size, but very slowly. So, seduced by the way the documentation is clearly written and easy to understand, I decided to try Vue.js on a teamwork I had to do for a company as part of my studies. I had to develop a dashboard displaying data and charts when clicking on points on a map. Before the dashboard I first had to process 100GB of data to get only the interesting information and to aggregate this information into one simple PostgreSQL database (the final data was no more than 25MB afterwards). This was also an incredible work, but I won't talk about it in this post.</p>]]></chapo>
  <content><![CDATA[<p>So, the first thing to say is that I didn't master any front-end framework when choosing Vue.js. I already used AngularJS during some months on 2-3 projects, but i clearly don't understand everything. It's a little bit "magic". I did use ReactJS too during one month. Again, some aspects are still obscure and I find the framework very complex, even more when combined with Redux. Finally, I just know Vanilla Javascript quite good because I've been working on&nbsp;<a href="https://www.qowala.org/">Qowala</a> for one year now.</p>
<p><img style="display: block; margin-left: auto; margin-right: auto;" src="http://vuejs.org/images/logo.png" alt="" width="166" height="166" /></p>
<p style="text-align: center;"><em>Vue.js logo</em></p>
<p>Well, my previous experiences with other frameworks sure helped me to understand Vue.js. First, the way VueJS allows data-bindings is very similar to how AngularJS does and this is something I like from AngularJS.</p>
<pre><span class="line"><span class="tag">&lt;<span class="name">div</span> <span class="attr">id</span>=<span class="string">"app"</span>&gt;</span></span><br /><span class="line">  {{ message }}</span><br /><span class="line"><span class="tag">&lt;/<span class="name">div</span>&gt;</span></span></pre>
<p>The component-oriented aspect of Vue.js is also very similar to how ReactJS is working (and also Qowala in some primitive form :D), again it helped me to learn to use Vue.js very quickly.</p>
<p>The project for which I used Vue.js began in February, but because of some issues on the database it was given and the time for fixes to come, my team and I could finally really work on it only one month among the three planned. At the end, after the business, design and the database work, I really coded the interface in about four days. According to the <a href="https://wakatime.com">WakaTime</a> extension I'm using in Neovim, I logged in 31 hours working on the interface the last 7 days to which we can add at least 3 more hours which I spent before this last week (I'm not a premium user so i only have the last 7 days statistics, but I consider becoming one).</p>
<p>To bootstrap the front-end, I used the&nbsp;<a href="https://github.com/vuejs/vue-cli">Vue.js CLI</a> to create a Webpack-simple template in my folder, and I already had a nice structure to write my files. It allowed me to benefit of the hot-reload and to write&nbsp;<a href="https://github.com/vuejs/vue-loader">.vue</a> files (one file per component which contains HTML, CSS and Javascript), but not to have too much with unit-testing which I knew I would never have time to do. That's really a good point with Vue.js: it is easy to start with this new framework and no need for a tutorial, only a well-structured&nbsp;<a href="http://vuejs.org/guide/">guide</a> is sufficient to begin with. What I mean by tutorial is a step-by-step guide explaining things with a project example like the <a href="https://docs.angularjs.org/tutorial">one for AngularJS</a>. In fact, if you compare the homepages from <a href="http://vuejs.org/">Vue.js</a>,&nbsp;<a href="https://facebook.github.io/react/">React</a> and <a href="https://angular.io/">AngularJS 2</a>, you will find out that the first is very straightforward and simple comparied to the two others which are more verbose and multiplying examples. It already gives the spirit of each framework.</p>
<p>After having bootstrapped, I rapidly got to add the&nbsp;<a href="https://github.com/vuejs/vue-router">vue-router</a> module to be able to manage several pages and after setup the API, I also added&nbsp;<a href="https://github.com/vuejs/vue-resource">vue-resource</a> for making requests to it. That's everything I needed concerning my front-end framework. Once I could do requests to the API, I needed a more specific library which is <a href="http://www.highcharts.com/">Highcharts</a> to put the data into charts. And finally for setting points on a map I used <a href="https://www.mapbox.com/">Mapbox</a>. During all the process of developing and adding these dependencies, I never felt it was too much (and indeed it is not) and always knew exactly why I was adding it. One of my biggest fears when using frameworks is to continuously add some module because it may improve one aspect of the framework, but in this case, and considering what was needed for this project, i really had no issue with this.</p>
<p>Well, I'm really impressed by Vue.js and how simple it is. I like the <a href="https://en.wikipedia.org/wiki/Zen_of_Python">Zen of Python</a>, and you may realize that Vue.js follows it in some way as it is simple and explicit. No magic. Only what you expect it to do. And if you have an issue, you are very likely to see that <a href="http://evanyou.me/">Evan You</a>, the developer, has already talked about it in its guide.</p>
<p>I can only recommend you to try Vue.js yourself and make the community grow.This one is vastly expanding even though there are not much resources other than the official guide and Stack Overflow. However, I think these resources are sufficient and prove that Vue.js is really simple and easy to use.</p>]]></content>
  <tags><![CDATA[Vue.js, Open source, Javascript]]></tags>
  <meta_description><![CDATA[]]></meta_description>
  <meta_keywords><![CDATA[Vue.js, Open source, Javascript]]></meta_keywords>
  <title_htmltag><![CDATA[Impressions about Vue.js by doing a dashboard]]></title_htmltag>
</document>

+0 -0

Merci beaucoup tleb pour m'avoir donné la motivation d'écrire le script de migration !

J'ai donc passé la journée à l'écrire (d'après mon WakaTime j'ai dû passer 6h dessus) et il a l'air d'avoir bien fonctionné pour mes 30 articles.

Pour les curieux ou ceux qui pourraient en avoir besoin, le voici https://github.com/KillianKemps/Pluxml-to-Markdown. J'ai essayé de faire du code propre, donc si vous souhaitez le regarder et me dire si quelque chose ne va pas, je suis ouvert au critiques. Certains éléments comme les commentaires et les catégories des articles ne sont pas supportés car j'en ai pas vraiment besoin. J'espère qu'il fonctionnera mieux que l'autre script que j'avais trouvé :D .

Bon, j'ai encore un peu de boulot à faire pour terminer mon nouveau site mais je devrais pouvoir m'en sortir tout seul. Merci les agrumes !

+1 -0

Voilà, je pense avoir terminé avec la migration de mon site web ! J'ai dû corriger quelques lignes dans mon script pour migrer les articles et même s'il y a parfois des erreurs dûes au HTML pas forcément propre au départ, le résultat est globalement bon. Donc oui c'est possible que certains de mes articles soient formatés un peu bizarrement :D .

Grav CMS est plutôt rapide à prendre en main. J'ai quand même pris la peine de lire la documentation pour faire un travail propre mais la plupart des choses étaient assez évidentes. Au final, Grav CMS est un poil plus puissant que nécessaire pour mes besoins mais je pense que c'est le meilleur choix que je puisse faire. La finition du CMS est bonne, les plugins s'installent facilement, j'ai mes articles de blog et mes pages statiques. De plus, pour migrer par rapport à l'ancien blog, j'ai pu mettre en place des redirections d'URL (j'ai dû gérer quelques cas particuliers aussi) mais en 5 règles j'ai dû couvrir le tout. Bref, je suis plutôt content.

Je vais faire encore quelques améliorations incrémentales avec le temps si j'en trouve le besoin, mais globalement mon site est bien terminé.

Pour ceux qui souhaitent voir à quoi ça ressemble, voici le lien : http://www.killiankemps.fr/ (vous remarquerez que j'essaye d'appliquer le principe KISS à tous ce que je fais :D ).

+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte