diff --git a/HowtoEtherpad.md b/HowtoEtherpad.md
index 5ee3438b..452de2b8 100644
--- a/HowtoEtherpad.md
+++ b/HowtoEtherpad.md
@@ -1,141 +1,213 @@
-**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.**
+---
+categories: web webapp
+title: Howto Etherpad
+...
-# HowtoEtherpad
+* Documentation :
+* Code :
+* Licence : Apache-2.0
+* Langage : Javascript
+* Ansible : à venir
-Etherpad est un éditeur texte collaboratif en ligne.
-On utilise désormais la version Etherpad-Lite.
-
-*
-*
-* Statut du package Debian officiel :
+[Etherpad](https://github.com/ether/etherpad-lite) est une application web de rédaction collaborative en temps réel développée en node.js.
## Installation
-Debian Jessie :
+Nous installons la version **1.8.18** sous **Debian 11 (Bullseye)** en mode manuel. (Il y a aussi un mode d'installation pour [Docker](https://github.com/ether/etherpad-lite/blob/develop/doc/docker.md).)
+
+Etherpad s'appuie sur [NodeJS](HowtoNodeJS) et peut être configurée avec différents SGBD ([MariaDB/MySQL](HowtoMySQL), PostgreSQL, SQLite) et proxy web ([Nginx](HowtoNginx), Apache, HAProxy, Varnish, etc). Dans la présente documentation, nous montrons comment faire avec MariaDB et Nginx.
+
+On installe les dépendances de la manière suivante :
~~~
-# apt install gzip git curl python libssl-dev pkg-config build-essential
-# apt install nodejs npm
-# adduser --system --home=/home/etherpad-lite --group etherpad-lite
-$ git clone git://github.com/ether/etherpad-lite.git
-# vim /etc/systemd/system/etherpad-lite.service
-
-[Unit]
-Description=etherpad-lite (real-time collaborative document editing)
-After=syslog.target network.target
-
-[Service]
-Type=simple
-User=etherpad-lite
-Group=etherpad-lite
-ExecStart=/home/etherpad-lite/etherpad-lite/bin/run.sh
-
-[Install]
-WantedBy=multi-user.target
-
-# systemctl enable etherpad-lite
-Created symlink from /etc/systemd/system/multi-user.target.wants/etherpad-lite.service to /etc/systemd/system/etherpad-lite.service.
-# systemctl start etherpad-lite
+# apt install apt-transport-https mariadb-server nginx git wget
+# echo "deb https://deb.nodesource.com/node_18.x $(awk -F= '/VERSION_CODENAME/{print $2}' /etc/os-release) main" > /etc/apt/sources.list.d/nodesource.list
+# wget https://deb.nodesource.com/gpgkey/nodesource.gpg.key -O /etc/apt/trusted.gpg.d/nodesource.asc
+# chmod 644 /etc/apt/trusted.gpg.d/nodesource.asc
+# apt update && apt install nodejs
~~~
-Voir
+### Compte UNIX
-Note : les scripts bin/run.sh et bin/installDeps.sh utilisent la commande "node" et non "nodejs", il peut donc être nécessaire de modifier ou créer un alias node=nodejs
-
-### Installation (deprecated)
-
-En installant nodejs depuis les sources.
-Suivre les infos sur :
+Créer un compte UNIX *etherpad* :
~~~
-# aptitude install gzip git-core curl python libssl-dev build-essential
-# apt-get build-dep nodejs=0.6.8~dfsg1-1
-$ wget
-$ tar xvf node-v0.6.10.tar.gz
-$ cd node-v0.6.10
-$ ./configure && make
-# make install
-$ git clone
-$ cd ../etherpad-lite/
-$ ./bin/installDeps.sh
-$ vim settings.json
-$ ./bin/run.sh
+# adduser --disabled-login --gecos 'etherpad App' etherpad
~~~
-Lancer bin/run.sh
+### MariaDB
-## Configuration
-
-Cela ce passe dans _settings.json_
-
-### Stockage des données
-
-Par défaut, Etherpad utilise DirtyDB (un fichier à plat) mais on peut utiliser sqlite ou MySQL.
-
-Pour DirtyDB :
+Créer (par exemple) la base de données *etherpad* et l'utilisateur Mariadb du même nom :
~~~
- "dbType" : "dirty",
+# mysqladmin create etherpad;
+# mysql
+MariaDB [(none)]> GRANT ALL PRIVILEGES ON etherpad.* TO 'etherpad'@'localhost' IDENTIFIED BY 'Un-vrai-mot-de-passe';
+~~~
+
+> **Note** : Pensez à conserver le mot de passe pour la suite.
+
+
+### Etherpad
+
+On clone le dépôt et on bâtit l'application :
+
+~~~
+# sudo -iu etherpad
+$ git clone https://github.com/ether/etherpad-lite.git
+$ cd etherpad-lite/
+$ git checkout 1.8.18
+$ src/bin/run.sh
+~~~
+
+> Le script run.sh s'occuper d'installer et de configurer tout et lance même etherpad en mode devel sur http://0.0.0.0:9001
+> Une fois confirmé qu'Etherpad fonctionne, vous pouvez quitter en appuyant sur `Ctrl + C` sur le clavier.
+
+On édite le fichier `settings.json` généré par `src/bin/run.sh`. Vous devrez nécessairement modifier au minimum les valeurs des variables relatives à la base de données et il est recommandé de faire passer la valeur de la variable `ip` de `0.0.0.0` à `127.0.0.1`.
+
+~~~
+{
+ "ip": "127.0.0.1",
+
+ "dbType" : "mysql",
"dbSettings" : {
- "filename" : "var/dirty.db"
- },
-~~~
-
-Pour MySQL utiliser MySQL :
-
-~~~
-mysql> create database etherpad;
-mysql> grant CREATE,ALTER,SELECT,INSERT,UPDATE,DELETE on `etherpad`.* to 'etherpad'@'localhost' identified by '';
-~~~
-
-puis :
-
-~~~
- "dbType" : "mysql",
- "dbSettings" : {
- "user" : "etherpad",
- "host" : "127.0.0.1",
- "password": "",
- "database": "etherpad"
- },
-~~~
-
-puis :
-
-~~~
-$ sh bin/installDeps.sh
-# systemctl restart etherpad-lite
-mysql> show tables
-+--------------------+
-| Tables_in_etherpad |
-+--------------------+
-| store |
-+--------------------+
-mysql> ALTER DATABASE `etherpad` CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
-mysql> ALTER TABLE `store` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
-~~~
-
-Voir
-
-### Reverse Proxy
-
-Avec Nginx :
-
-~~~
-server {
- listen 80;
- server_name pad.example.com;
-
- location / {
- proxy_pass
- proxy_set_header Host $host;
- proxy_pass_header Server;
- proxy_buffering off;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header Host $host;
- proxy_ 1.1;
- }
+ "user": "etherpad",
+ "port": "/run/mysqld/mysqld.sock",
+ "password": "Un-vrai-mot-de-passe",
+ "database": "etherpad",
+ "charset": "utf8mb4"
+ },
}
~~~
-Voir
+Pour ajuster plus de paramètres, on peut s'appuyer sur la documentation très claire contenue dans le fichier `settings.json.template`.
+
+### Unité systemd
+
+Pour lancer l'application au démarrage du serveur, on met le texte suivant dans le nouveau fichier `/etc/systemd/system/etherpad.service`
+
+~~~
+[Unit]
+Description=Etherpad - open source online editor for real-time collaborative editing.
+Documentation=https://etherpad.org/doc/v1.8.18/
+After=network.target
+After=mariadb.service
+
+[Service]
+Type=simple
+Environment=NODE_ENV=production
+ExecStart=/usr/bin/node --experimental-worker /home/etherpad/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js
+Restart=always
+User=etherpad
+Group=etherpad
+WorkingDirectory=/home/etherpad/etherpad-lite
+
+[Install]
+WantedBy=multi-user.target
+~~~
+
+On active et on démarre l'unité en question :
+
+~~~
+# systemctl enable etherpad.service
+# systemctl start etherpad.service
+~~~
+
+### Nginx
+
+Pour accéder à l'application depuis Internet, on place nginx devant, qui agira comme serveur mandataire (*proxy*).
+Il faut mettre le texte suivant dans le nouveau fichier `/etc/nginx/sites-available/etherpad.conf` :
+
+~~~
+map $http_upgrade $connection_upgrade {
+ default upgrade;
+ '' close;
+}
+
+server {
+ listen 80;
+ listen [::]:80;
+ server_name etherpad.evolix.org;
+
+ # Let's Encrypt
+ include /etc/nginx/snippets/letsencrypt.conf;
+
+ # Redirect all to https (port 443)
+ location / { return 301 https://$host$request_uri; }
+}
+
+server {
+ listen [::]:443 ssl http2;
+ listen 443 ssl http2;
+ server_name etherpad.evolix.org;
+
+ ssl_certificate /etc/letsencrypt/live/etherpad.evolix.org/fullchain.pem;
+ ssl_certificate_key /etc/letsencrypt/live/etherpad.evolix.org/privkey.pem;
+
+ location / {
+ proxy_pass http://127.0.0.1:9001;
+ proxy_buffering off; # be careful, this line doesn't override any proxy_buffering on set in a conf.d/file.conf
+ proxy_set_header Host $host;
+ proxy_pass_header Server;
+
+ # Note you might want to pass these headers etc too.
+ proxy_set_header X-Real-IP $remote_addr; # https://nginx.org/en/docs/http/ngx_http_proxy_module.html
+ proxy_set_header X-Forwarded-For $remote_addr; # EP logs to show the actual remote IP
+ proxy_set_header X-Forwarded-Proto $scheme; # for EP to set secure cookie flag when https is used
+ proxy_http_version 1.1; # recommended with keepalive connections
+
+ # WebSocket proxying - from https://nginx.org/en/docs/http/websocket.html
+ proxy_set_header Upgrade $http_upgrade;
+ proxy_set_header Connection $connection_upgrade;
+ }
+}
+~~~
+
+> **Note** : La partie SSL/TLS n'est pas développée. Vous pouvez par exemple générer et configurer un certificat [Let's Encrypt](HowtoLetsEncrypt) avec certbot. N'oubliez donc pas de modifier les directives `ssl_` dans le vhost.
+
+On active le vhost, on vérifie sa syntaxe et si tout est beau on recharge la configuration de nginx :
+
+~~~
+# ln -s /etc/nginx/sites-available/etherpad.conf /etc/nginx/sites-enabled/etherpad.conf
+# nginx -t
+# systemctl reload nginx.service
+~~~
+
+## Mises à jour
+
+Les mises à jour peuvent être récupérées comme ceci :
+
+~~~
+# systemctl stop etherpad.service
+# sudo -iu etherpad
+$ cd etherpad-lite
+$ git fetch origin && git checkout
+$ src/bin/run.sh
+$ (Ctrl + C)
+$ exit
+# systemctl start etherpad.service
+~~~
+
+> **Note** : Ces commandes ne sont parfois pas suffisantes. Vous devez systématiquement lire les [notes de versions](https://github.com/ether/etherpad-lite/releases).
+
+
+## Configuration
+
+Etherpad est configurable via le fichier `settings.json` ou des variables d'environnement.
+
+Il y a +200 [plugins](https://static.etherpad.org/) disponibles, dont environ 80 sont officiels.
+
+## Utilisation
+
+On peut utiliser en principe n'importe quel navigateur Web moderne pour se connecter à Etherpad.
+
+## FAQ
+
+### À propos des logs
+
+On accède à la journalisation des événements de l'application via journald :
+
+~~~
+# systemctl status etherpad.service
+# journalctl --unit=etherpad --no-pager
+~~~