Forum général.cherche-logiciel Cherche CMS basé sur git / statique / dynamique ?

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
2
29
juin
2016

Bonjour,

je réfléchis depuis quelques temps à un système de blog (plutôt blog que CMS d'ailleurs mais techniquement un blog est un CMS tout de même).

Voici les spécifications de ce dont j'ai besoin :
- Toute la partie rédaction doit se faire en local dans un dépôt git
- Un simple git push doit remettre à jour l'ensemble du site suivant les modifications effectuées depuis le dernier commit
- le langage de rédaction doit être évolué : permettre une structuration efficace tout en étant concis et facile à apprendre
- le CMS doit comprendre la partie « équations mathématiques » (donc interface avec mathJax obligatoire)
- le CMS doit être capable de faire de la coloration syntaxique automatique (c'est à dire de distinguer les bouts de code et de les colorier de manière idoine si balisés correctement).
- L'inclusion de liens externes (vidéos youtube, etc) doit être facile.
- L'inclusion d'images doit être facile, la capacité à placer une légende en dessous d'une vidéo doit être implémentée.
- Il doit être possible d'avoir un système de citations (c'est à dire des renvois vers des liens idoines en bas de page), éventuellement ces citations (¹,²,³) peuvent apparaître comme des liens externes mais je souhaiterais avoir tout de même la liste des références en bas d'un article.
- Un système de commentaire n'est pas indispensable dans un premier temps. Éventuellement un interfaçage avec DisqUs serait pas mal mais ce n'est pas indispensable.
- Le système de liens intra-sites doit être simple et facile à mettre en œuvre (typiquement un chemin relatif vers le fichier dans l'arborescence du dépôt+une ancre).
- La hiérarchie du site doit refléter la hiérarchie des répertoires stockés sur le dépôt github.
- Éventuellement il devrait être possible de faire des aller-retours latex<->langage de publication sans trop de dommages.

Voilà, j'ai essayé de recenser l'ensemble de mes besoins. J'ai conscience que c'est assez long, que probablement des outils existants répondent déjà au besoin de manière partielle. Mais la liste des besoins est assez longue, donc je préfère demander plutôt que d'essayer 15 outils qui ne font pas correctement ce que je souhaite. Je suis prêt éventuellement à développer certaines des fonctionnalités nécessaires mais je pense qu'il s'agit surtout de trouver un ensemble d'outils et de les faire marcher ensemble.
Voilà, si vous aviez une piste.
Merci beaucoup.

  • # les hooks de git + probablement n'importe quel CMS

    Posté par  . Évalué à 1.

    Perso, je dirais qu'un dépôt git pour du code LaTeX, avec un hook qui compile à chaque à chaque push le code LaTeX en HTML devrait pouvoir répondre au plus gros des tes problèmes.

    La seule chose qu'il te resterait ensuite à faire, c'est de trouver un CMS qui supporte d'avoir les posts en HTML. Je suppose que ce n'est pas trop complexe, mais ce n'est que supposition (jamais cherché).
    Enfin, je dis HTML, mais LaTeX supporte peut-être d'autres formats utilisés sur la toile en sortie (un des nombreux formats de wiki, ou des trucs de forums, que sais-je?).

    Pour le coup, avec git+LaTeX, en bricolant un hook, tu réponds déjà aux points 1 à 8, c'est à dire tous les points relatifs à la présentation des données. Les autres points, je ne doute pas que la plupart des moteurs de blogs en sont capables. En gros, l'idéal serait que tu cherches un CMS qui supporte une interface shell, histoire de compléter le hook parfaitement.

    Cette réponse n'apporte pas grand chose, je sais, je voulais juste dire qu'à mon avis tu cherches trop de choses et que tu peux réduire ta recherche.

    • [^] # Re: les hooks de git + probablement n'importe quel CMS

      Posté par  (site web personnel) . Évalué à 2.

      Merci pour ta réponse. En effet, le plus gros problème se situe dans le « hook » comme tu dis, c'est à dire la compilation d'éventuelles modifications faites « on-the-fly » pour chaque commit. Et là, je n'ai aucune idée de comment faire ni si une telle solution existe déjà. Je sais que la plupart des générateurs de site statiques que j'eus essayé nécessitaient une fastidieuse re-compilation manuelle (avec un système de cache pas nécessairement au point) à l'époque où je les ai essayé.

      Je pensais aussi un système de thèmes CSS éventuellement, à lier directement dans chaque poste (éventuellement dans l'en-tête, pourquoi pas).

      Le problème de compiler du Latex en html se pose cruellement, parce que le latex est déjà un système de macros bien évolué mais que de nombreux packages ne pourront pas être supportés nativement. Un filtre latex->html qui fonctionne bien, a priori, je ne connais que pandoc.

      Tu sais il y a déjà 3 ou 4 possibilités pour faire des citations en latex, demander à un moteur de conversion de toutes les comprendre me semble impossible. Et puis Latex n'est pas franchement fait pour le web.

      C'est pour cela qu'un sous-ensemble (« minimal subset ») répondant à l'ensemble des contraintes ci-dessus me semble nécessaire. Par exemple, ResT sait faire pas mal de choses.

      Effectivement, tout ce qui est listé plus haut existe déjà. Je continue de fouiner un peu partout pour dénicher une solution qui tienne la route :)

      • [^] # Re: les hooks de git + probablement n'importe quel CMS

        Posté par  . Évalué à 2.

        Et là, je n'ai aucune idée de comment faire ni si une telle solution existe déjà.

        Hum… je dirais:

        1. créer un dossier temporaire (si tu mets le noms en fonction de l'horodatage, ça devrait le faire)
        2. copier les sources vers ledit dossier
        3. s'y déplacer
        4. compiler
        5. déplacer le résultat à l'endroit souhaité.

        Je serai volontiers plus précis, mais je ne sais pas quels outils tu compiles, et il est même possible que certaines étapes soient inutiles en fonction du CMS (on pourrait imaginer un CMS qui supporte une interface en ligne de commande, et du coup pas mal d'étapes seraient inutiles).

        Un filtre latex->html qui fonctionne bien, a priori, je ne connais que pandoc.

        Ça en fait déjà un :) j'admets n'avoir jamais essayé.

  • # Un générateur de sites statiques ?

    Posté par  . Évalué à 4.

    Un générateur de sites statiques permet de générer le site en local et le pousser avec git. Le site est statique côté serveur. Localement, il est généré par du code depuis des fichiers de type markdown.

    Donc tu édites le markdown, tu lances la génération pour mettre à jour et tu pousses en ligne.

    Une liste ici: https://www.staticgen.com/

    Peut-être que certains se rapprochent du besoin.

    Lektor (en Python) est développé/maintenu par le projets Pallets, donc récent mais costaud. Il possède une interface d'admin qui peut faciliter l'édition / visualisation.

    Réponse rapide, quelques mots-clés m'ont fait penser à ça. Désolé si c'est à côté de la plaque.

    Aujourd'hui, pour avoir vus des CMS pas mis à jour depuis des années, j'aurais tendance à privilégier ce type de sites si c'est possible.

  • # Pelican

    Posté par  (site web personnel) . Évalué à 8.

    Pelican semble être ce qu'il te faut.

    • Toute la partie rédaction doit se faire en local dans un dépôt git
    • Un simple git push doit remettre à jour l'ensemble du site suivant les modifications effectuées depuis le dernier commit
    • le langage de rédaction doit être évolué : permettre une structuration efficace tout en étant concis et facile à apprendre

    Il est compatible markdown ou restructuredText et répond a tous tes besoins.

    • le CMS doit comprendre la partie « équations mathématiques » (donc interface avec mathJax obligatoire)

    oui, ça fait parti du parseur rst2html.

    • le CMS doit être capable de faire de la coloration syntaxique automatique (c'est à dire de distinguer les bouts de code et de les colorier de manière idoine si balisés correctement).

    oui avec la directive code-block

    • L'inclusion de liens externes (vidéos youtube, etc) doit être facile.

    Tu as plein de plugins disponibles

    • L'inclusion d'images doit être facile, la capacité à placer une légende en dessous d'une vidéo doit être implémentée.

    Oui avec la directive figure ou image

    • Il doit être possible d'avoir un système de citations (c'est à dire des renvois vers des liens idoines en bas de page), éventuellement ces citations (¹,²,³) peuvent apparaître comme des liens externes mais je souhaiterais avoir tout de même la liste des références en bas d'un article.

    Oui c'est possible aussi dans rst

    • Un système de commentaire n'est pas indispensable dans un premier temps. Éventuellement un interfaçage avec DisqUs serait pas mal mais ce n'est pas indispensable.

    Oui c'est possible avec un plugin.

    • Le système de liens intra-sites doit être simple et facile à mettre en œuvre (typiquement un chemin relatif vers le fichier dans l'arborescence du dépôt+une ancre).
    • La hiérarchie du site doit refléter la hiérarchie des répertoires stockés sur le dépôt github.
    • Éventuellement il devrait être possible de faire des aller-retours latex<->langage de publication sans trop de dommages.
    • [^] # Re: Pelican

      Posté par  (site web personnel) . Évalué à 1.

      J'avais testé pelican il y a quelques mois (années ?). Je ne sais pas vraiment ce qui me retient de l'utiliser. À l'époque, le système de build n'était pas aussi mature que maintenant. Peut être que j'y reviendrai en fin de compte, je vais voir. Merci pour ton conseil.

  • # C'est Grav docteur ?

    Posté par  . Évalué à 2.

    Peut-être Grav qui correspond en partie aux différents besoins énoncés ?

    • [^] # Re: C'est Grav docteur ?

      Posté par  (site web personnel) . Évalué à 1.

      Je suis passé sur le site de ce CMS, je me demande ce qu'il vaut en vrai. Je vais peut être le tester en local.

      Si je veux commencer il va me falloir aussi trouver un hébergeur qui accepte les git push et cætera.

      Peut être pas évident à trouver du premier coup.

      • [^] # Re: C'est Grav docteur ?

        Posté par  . Évalué à 2.

        il va me falloir aussi trouver un hébergeur qui accepte les git push et cætera.

        -> auto hebergement

        les machines types VPS demarrent à 2euros/mois chez les grands noms de l'hebergement,
        tu as alors une machine, certes virtuelle, mais dédiée, avec un acces root,
        tu y fais donc ce que tu veux.

    • [^] # Re: C'est Grav docteur ?

      Posté par  (site web personnel) . Évalué à 1.

      J'ai jeté un coup d'œil à Grav. Ça a l'air vraiment très très bien comme CMS, et ça a l'air de correspondre vraiment de très près à l'idée que je me faisais de ce que je voulais utiliser. Le seul petit détail technique qui ne me convient pas, c'est qu'il est en PHP. Mais ce CMS a l'air tellement sympa que je suis prêt à apprendre PHP + javascript pour l'adapter à mes besoins.

      Merci pour ton conseil.

  • # Org-mode

    Posté par  (site web personnel) . Évalué à 1.

    Le site officiel
    Cet article peut t'intéresser : org-mode and Worg
    Voici un exemple de site généré avec cette techno : Intro to AI
    mais on peut aussi le configurer pour faire du blogging.

    Comme dit précédemment, la partie git se gère dans des hooks.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.