Prévisualisation des contenus Web

Le contexte

La prévisualisation permet d’avoir un retour immédiat sur le contenu que l’on édite.
Cela permet aussi de vérifier avant de publier.

Le problème

Sur un site type WordPress, on édite et on lit dans le même système.
Sur Osuny, on édite dans le back-office en Ruby on Rails, et quand on publie, Osuny envoie sur Github / Gitlab, ce qui déclenche une compilation Hugo et une mise à jour du site. Le tout prend quelques minutes.

La prévisualisation peut se faire selon 2 options :

  1. soit essayer de faire instantanément le processus qui dure quelques minutes pour voir en vrai, avec Hugo, le rendu
  2. soit essayer de simuler le rendu

Nous travaillons depuis le début dans l’option 2, parce que la première ne nous paraît pas faisable. Même si on arrivait à ramener à 30 secondes le flux, ça fait une expérience utilisateur assez mauvaise.
Et cela implique une infrastructure parallèle à la production, un genre de staging de chaque site, juste pour les prévisualisations.

L’option 2 nécessite de reconstituer le balisage HTML dans Osuny.
Nous en avons de toutes façons besoin, parce que les blocs permettent de publier les articles des extranets, qui sont gérés avec Ruby on Rails.
Là où la situation se complique, c’est pour s’adapter au style de chaque site Web.
Nous avons codé un système qui récupère le style CSS et les assets (par exemple les typos) afin de ressembler énormément au rendu final.
En revanche, si le site Web a fait l’objet de modifications du DOM, c’est à dire d’un balisage HTML différent du thème Osuny, nous n’avons pas de solution pour le récupérer automatiquement.

Les pistes d’amélioration

  1. On peut déjà vérifier que la prévisualisation est aussi proche que possible du site d’exemple, et reproduit correctement tout le balisage.

  2. On pourrait imaginer une récupération du template, mais il faudrait soit le faire à la main, soit gérer une transcription entre Hugo et ERB. Pas simple du tout, d’autant plus qu’il y a de nombreux partials inclus.

  3. On peut essayer la voie 1.

  4. On peut expliquer pourquoi ce n’est pas parfait, et les enjeux de précompilation.

Une autre question est : pourquoi pas un éditeur Wysiwyg, dans lequel on modifie la page directement ?

Osuny tente de faire tout correctement : sobriété, accessibilité, responsivité, qualité graphique et ergonomique. Cela implique de séparer le fond et la forme, et de typer les contenus. Il ne sera jamais possible dans Osuny de choisir sa typo, son corps de texte ou sa couleur dans le back-office. C’est un éditeur de contenu, pas un outil de mise en page.