Dalidoc 4

Petite Histoire de la Production de Documents chez dalibo

Tout le monde déteste LibreOffice

Le Besoin

  • rédiger un document à plusieurs
  • gérer les révisions (rollback, diff)
  • travailler dans le train (ou pas)
  • produire des slides et un manuel à partir de la même source
  • se concentrer sur le fond et pas sur la forme

V1 (2005 - 2009)

darcs + docutils + wrapper en python + latex

  • reStructurated Text => pdf
  • Simple et efficace

Mais:

  • beaucoup de problème (encodage, darcs, latex)
  • dur d’accès pour les non-Techs
  • La bonne approche avec les mauvais outils ?

Plus d’info : https://www.dalibo.info/outils/dalidoc

V2 (2009 - 2017)

dokuwiki + plugins PHP + Libre Office

  • Syntaxe doku => ODT, PDF, S5
  • mode “full web”, rien à installer, verrous explicites

Mais:

  • Pas de mode offline
  • Les templates trop simples et trop moches
  • La chaine est difficile à publier

Plus d’info : https://www.dalibo.info/formation/prototype_chaine_de_production_docs

V3 (2017 - 2023)

gitlab + pandocker + “thèmes dalibo”

  • markdown => PDF, Reveal, HTML, EPUB
  • mode web + mode offline
  • rédaction en “mode Agile” (ticket, MR, …)

MAIS:

  • templates très complexes
  • Pandocker est chronophage
  • 1 seul mainteneur

Plus d’info : https://gitlab.dalibo.info/marketing/themes

V4 (2023 - ….)

Fonctionnement

On garde les briques mais on reconstuit la maison:

  • Un sous-module dalidoc
  • Il n’y a plus de thèmes !!!!
  • On s’appuie des templates communautaires maintenus
  • On ne rajouter qu’une fine surcouche de customisation

Pandocker

  • dalibo/pandocker devient pandoc/extra
  • Maintenue par la commu pandoc
  • J’ai le droit de commit sur le projet
  • On garde qd meme pandocker pour qq composants spécifiques

Le sous-module

  • git config --global submodule.recurse true
  • git clone --resursive ...
  • git submodule add ../../../dalibo/dalidoc
  • rsync -a dalidoc/templates/project/ .
  • make help

Exemple

cr-projet-baltic

Dalibo Thèmes

Demo !

  • Awesome Box
  • Inclusion
  • Variables
  • Pandocker

Awesome Box

  ::: warning
  CECI EST UNE ALERTE
  :::

demo

Inclusion

    ```sql
    !include ma_requete.sql
    ```

demo

bloat.sql

Variables Substituées

    ----
    title  : "Mon Rapport d'Audit"
    [...]
    pguser : "bob"
    pgport : "5432"
    ----

    Connectez-vous avec l'utilisateur  sur le port .

demo

Variables Substituées (Désactivation)

$ PANDOC_JINJA='' make ....

Templates de CR

Parmètres dans le Makefile

  • PANDOC_JINJA=’’
  • DALIDOC_TARGET_FORMATS= pdf slides odt epub
  • DALIDOC_IGNORE_OLDER_THAN=90

Points d’attention

  • Mettre à jour dalidoc
  • Pour les manuels
  • Retour à la ligne dans les blocs de code

Mettre à jour

« Passez vos dépots à dalidoc 4.1.2 »

make check_dalidoc
git -C ./dalidoc checkout 4.1.2
make check_dalidoc
cd dalidoc
git checkout 4.1.2

Pour les manuels

  • Ni images, Ni tableau dans les Awesome Box
  • Enlever les <div class='slide-content'> si ça plante !

demo

Retour à la ligne

  • Si vous définissez le language du bloc de code
  • Alors il y aura un retour à la ligne automatique
  • Sinon pas de retour automatique

demo

Passer de dalidoc 3 à dalidoc 4

UPGRADE.md

Le dossier dalidoc est vide !

git submodule update --init --recursive

Plan de migration

  • Les manuels => déjà fait !
  • Les socles => pas besoin
  • Les prochains CR => début mars ?
  • Les CR existants => à vous de jouer !
  • Les conférences => à la fin de cette prez
  • Les workshops => ?!?

Les 2 commandes à retenir !

  • git config --global submodule.recurse true

  • git clone --resursive ...

Merci

  • Christophe et Florent pour leur patience et les tests

Remarques / Demandes / Corrections

https://gitlab.dalibo.info/dalibo/dalidoc/issues

TO BE CONTINUED !