Set-OPS-Public/roles/serveur_collabora/README.md
Daniel Allaire 70e57076e8 collabora : en natif, la derniere exception conteneurisee tombe
Le role lancait collabora/code dans Docker -- seule exception de la flotte au
principe « logiciel libre en natif ». Desormais : paquet coolwsd du depot amont,
systemd, derriere l'edge nginx. community.docker est retiree de requirements :
plus aucun role n'a besoin de Docker.

Eprouve avant d'ecrire, sur une Debian 13.6 reelle et sans rien installer :
apt-get install --simulate coolwsd resout jusqu'a « Conf coolwsd (26.04.3.1-1) »,
libgcc1 est fourni par libgcc-s1, et le depot CODE-deb est PLAT.

La configuration passe par un fragment systemd (--o:) : le coolwsd.xml livre,
439 lignes commentees, reste intact.

Trois outils du harnais ont pese. voute.py lisait les COMMENTAIRES : documenter
le nom d'une clef suffisait a l'exiger -- corrige, controle negatif fait. Et
verifier_intrants avait raison : une garde ecrite en deux morceaux promettait un
secret pour une console fermee ; reecrite en implication, elle dit le vrai
contrat.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-24 16:23:35 -04:00

69 lines
3.2 KiB
Markdown

# serveur_collabora
**Collabora Online, en natif** — paquet `coolwsd`, systemd, derrière l'edge nginx. Aucun
conteneur.
## Pourquoi ce rôle a été réécrit
Il lançait `collabora/code` dans Docker. C'était la **seule exception conteneurisée** de
la flotte, et elle contredisait le principe fondateur : logiciel libre en natif, systemd +
paquets + nginx. Elle traînait en plus une dépendance entière — `community.docker` — qui
n'était même pas déclarée dans `requirements.yml`, donc absente de tout runner.
Depuis la réécriture, **plus aucun rôle du dépôt n'a besoin de Docker**.
## Ce qui a été éprouvé avant d'écrire
Doctrine du dépôt : *éprouver l'outil avant le rôle*. Sur une Debian 13.6 réelle, sans
rien installer :
```
apt-get install --simulate coolwsd -> résout jusqu'à « Conf coolwsd (26.04.3.1-1) »
libgcc1 (exigé par le paquet) -> fourni par libgcc-s1 sur trixie
le dépôt CODE-deb -> PLAT : Packages et Release à la racine, pas de dists/
```
Le paquet livre aussi `/etc/nginx/snippets/coolwsd.conf` et un profil AppArmor — deux
choses que cette flotte sait exploiter, contrairement à une image opaque.
## La configuration : par surcharge, pas par réécriture
Le `coolwsd.xml` livré fait **439 lignes richement commentées**. Le remplacer par un
gabarit maison obligerait à suivre son évolution à chaque version amont, et ferait perdre
les commentaires qui expliquent chaque réglage.
`coolwsd` accepte des surcharges `--o:<clé>=<valeur>`. Le rôle pose donc un **fragment
systemd** : la configuration de Set-OPS tient en un fichier lisible, celle du paquet reste
intacte, et `apt purge` rend la machine à son état d'origine.
## La console d'administration est FERMÉE
Elle expose un formulaire identifiant/mot de passe hors de tout SSO, avec un secret à
créer, faire tourner et surveiller — pour une fonction dont personne n'a besoin au
quotidien. Même raisonnement que `serveur_forgejo_connexion_locale`.
L'ouvrir (`serveur_collabora_admin_actif: true`) exige alors `vault_collabora_admin` en
voûte, et de l'ajouter au gabarit de l'instance.
## Variables principales
| Variable | Défaut | Rôle |
|---|---|---|
| `serveur_collabora_port` | `9980` | écoute, derrière l'edge |
| `serveur_collabora_server_name` | `bureau.<domaine>` | nom externe — vide, coolwsd le déduit mal derrière un mandataire |
| `serveur_collabora_domaine_nextcloud` | `cloud.<domaine>` | l'hôte WOPI autorisé |
| `serveur_collabora_ssl_termination` | `true` | TLS terminé à l'edge, comme le reste de la flotte |
| `serveur_collabora_admin_actif` | `false` | console d'administration |
## Ce que ce rôle vérifie
Il interroge `/hosting/capabilities` après démarrage. Un service « active » qui ne répond
pas là serait découvert par Nextcloud **devant un usager**, à la première ouverture de
document.
## Ce qui n'est pas encore prouvé
L'**installabilité** est établie par simulation sur Debian 13.6. Le **fonctionnement** ne
l'est pas : aucun écosystème de la flotte ne fait tourner Collabora aujourd'hui. La
première mise en service devra vérifier l'édition d'un document de bout en bout, depuis
Nextcloud.