# Mise à jour de dalidoc

## Mise à jour mineure

> IMPORTANT: La mise à jour doit être faite dans chaque projet utilisant
> [dalidoc].

La commande `make check_dalidoc` permet de vérifier si la
version de dalidoc est à jour. Si ce n'est pas le cas, elle
donne la commande à lancer pour faire la montée de version.

Par exemple, si votre projet utilise la version `4.1.6` et que la
version `4.2.0` est disponible:

```
$ make check_dalidoc
version locale=4.1.6
dernière version disponible=4.2.0
dalidoc n'est pas à jour !
Essayez `git -C ./dalidoc fetch --all && git -C ./dalidoc checkout 4.2.0`
```

On peut bien sûr découper cette commande en 2 parties:

```
git -C ./dalidoc fetch --all
git -C ./dalidoc checkout dalidoc 4.2.0
```

...et terminer avec un `make check_dalidoc` pour valider que la mise à jour
est passée.

```
$ make check_dalidoc
dalidoc est à jour.
```

## Mise à jour majeure de Dalidoc 3 à Dalidoc 4

[dalidoc]: https://gitlab.dalibo.info/dalibo/dalidoc

### Pré-requis

Vérifier que vous avez la dernière version stable de pandocker

```
docker pull dalibo/pandocker:stable
```

Si ce n'est pas déjà fait, activer la mise à jour automatique des
sous-modules

```console
git config --global submodule.recurse true
```

### Transition

1. Créer le sous-module dalidoc

```console
git submodule add -b stable ../../../dalibo/dalidoc
git add dalidoc
```

**Attention:** Le chemin relatif marche **uniquement pour les dépots de CR** !
Il devra être adapté si vous utilisez [dalidoc] pour un projet gitlab ayant
une arborescence différente. Voir la section [Utiliser dalidoc pour d'autres projets]

[Utiliser dalidoc pour d'autres projets]: README.md#utiliser-dalidoc-pour-dautres-projets


2. Importer le Makefile et la config CI. Supprimer les templates
   de dalidoc3

```console
rsync -a dalidoc/templates/project/ .
git rm _template_*
```

3. Vérifier que le Makefile fonctionne:

```console
make help
```

4. Adapter **le bloc `yaml`** de vos fichiers markdown existants

* Remplacer `revision: 1.0` par `revision: '1.0'`
* Supprimer toutes les champs se trouvent en dessous

Exemple: [Avant] ---> [Après]

[Avant]: https://gitlab.dalibo.info/clients/01388-cinego/cr-cinego/-/blob/b6b934615bfa3a7daf502f55917269fa40dd93cc/DLB-01388-001-CRA-001.md?plain=1#L13

[Après]: https://gitlab.dalibo.info/clients/01388-cinego/cr-cinego/-/blob/dd612139d7a88f96d44e9492d93037706e131ac6/DLB-01388-001-CRA-001.md?plain=1#L13


5. Lancer la génération des docs avec `make docs`

6. Committer les changements et pousser sur le dépot origin

```console
git commit --all -m 'Activation de dalidoc 4'
git push
```

