« home » y figurait deux fois après la reprise du proxy de calendrier : la
seconde ligne, plus complète, suffit.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SFbwnJurBwTs7x7t93ecku
Cinq documents décrivaient ici le déploiement de sites, pas la machine :
admin, static, wiki, dynamic et le proxy de calendrier d'alpinux.org. Ils
avaient exactement la place qu'on vient de refuser à la messagerie.
Chacun rejoint son dépôt — alpinux-admin/DEPLOIEMENT.md,
alpinux-dynamic/DEPLOIEMENT.md, alpinux-wiki/docs/deploiement.md,
alpinux-static/INFRASTRUCTURE.md, alpinux-home/PROXY-CALENDRIER.md — et le
tableau « Déployer un site » dit désormais où chercher plutôt que de le
redire.
Une documentation de déploiement tenue loin du code qu'elle décrit finit
toujours par en diverger : c'est le code qui bouge, pas la page qui le
raconte.
Restent ici les trois documents qui parlent de la machine : le courrier
sortant, les certificats, les sauvegardes.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SFbwnJurBwTs7x7t93ecku
Il y avait deux dépôts d'infrastructure et aucune frontière entre eux. La
seule distinction défendable — « documentation » d'un côté, « fichiers de
configuration » de l'autre — ne tenait plus : infra avait fini par contenir
plus de documentation qu'owni, pendant qu'owni décrivait du concret (IP,
bases, comptes).
Tout vient donc ici : conf/ (vhosts de référence), dns/ (export de zone),
services/ (units systemd), scripts/ (sauvegarde) et docs/ (courrier sortant,
certificats, sauvegardes, et le déploiement par service).
Dans ce sens plutôt que l'inverse parce qu'« owni » nomme la machine, là où
« infra » ne dit pas de quoi il s'agit — et c'est le nom que Cédric emploie
spontanément, y compris pour le dossier de secrets.
Les renvois croisés entre les deux dépôts deviennent des liens internes : un
lien vers un dépôt qu'on s'apprête à archiver aurait pourri en silence.
Reste une incohérence, signalée plutôt que corrigée à la hâte :
docs/admin.md, static.md, wiki.md, dynamic.md et proxy-calendar.md décrivent
le déploiement de sites, pas la machine. Ils ont la même place ici que celle
que la messagerie n'avait pas — ils devraient rejoindre leurs dépôts.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SFbwnJurBwTs7x7t93ecku
Ce dépôt parle du serveur ; les sites parlent d'eux-mêmes dans leur propre
dépôt. Dupliquer leurs procédures ici garantissait qu'elles divergent.
Sortent donc : les procédures de déploiement détaillées de static et du wiki,
et la section « développement local ». À leur place, un tableau qui dit
seulement **où** chercher — y compris pour la messagerie, dont le paragraphe
d'avertissement ajouté ce matin décrivait le site et non la machine.
Le courrier sortant, les certificats et les sauvegardes deviennent des renvois
vers infra/docs/, où le détail vit désormais. Trois sections que j'avais
écrites ici ce matin et qui y faisaient double emploi : une information écrite
à deux endroits est une information qui sera fausse à l'un des deux.
Restent ce qui est propre à la machine : le serveur lui-même, les bases, le
SSO, les comptes, les credentials, et la carte de ce qu'elle héberge.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SFbwnJurBwTs7x7t93ecku
Quatre absences, toutes révélées en travaillant sur la messagerie le
27/09/2026.
**messagerie.alpinux.org** n'y figurait pas, alors que le service tourne
depuis le 22/09 — 256 abonnés, un worker chaque minute, trois boîtes relevées
en IMAP. Elle rejoint le tableau des projets sortis, avec un avertissement :
owni n'en est pas un clone, la mise à jour s'y fait par copie de fichiers,
base d'abord. Quelqu'un qui appliquerait la méthode de `home` — un `git pull`
sur le serveur — se tromperait.
**Le relais sortant** n'était nulle part. Depuis les 25-26/09, tout le
courrier de la machine passe par `mail.acemail.fr`, et l'IP qui parle aux
destinataires n'est plus celle d'owni. Trois conséquences écrites : la
réputation devient partagée, un plafond inconnu s'ajoute à celui de Postfix,
et l'enveloppe VERP doit survivre au relais — vérifié, mais à revérifier après
tout changement, la panne serait silencieuse.
**Les bases** ne figuraient pas davantage : six applicatives, avec le service
auquel chacune appartient.
**Les sauvegardes** non plus. L'état y est écrit tel qu'il est, pas tel qu'on
l'imagine : une base sur six, une seule copie, rien hors de la machine. C'est
le genre d'information qu'on cherche le jour où l'on en a besoin, c'est-à-dire
trop tard.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SFbwnJurBwTs7x7t93ecku
Le thème de gitea.alpinux.org avait son code dans infra/gitea/ et aucune
ligne dans ce tableau : il était introuvable en partant du domaine.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KtgiPNG3inkbM8k7suMtjL
Le README affirmait le contraire dans deux passages. Ce dossier racine pousse
vers alpinux-owni — il n'y versionne que ce README et le .gitignore, le
contenu des sous-dossiers restant à leur propre dépôt. Et infra/ pousse vers
alpinux-infra, ce n'est plus un dépôt purement local.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KtgiPNG3inkbM8k7suMtjL
static.alpinux.org rejoint ~/Projects/alpinux.static, au même niveau que
wiki, admin et dynamic. Son README fait désormais foi pour le déploiement :
les deux sections détaillées laissent place à un renvoi, pour que la
procédure ne soit plus écrite à deux endroits.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KtgiPNG3inkbM8k7suMtjL
Ils rejoignent le wiki dans leur propre dossier — ~/Projects/alpinux.admin et
~/Projects/alpinux.dynamic — au même niveau que cet espace. Un dépôt git, un
dossier : l'imbrication n'apportait rien et faisait croire à un monorepo.
Le tableau des projets, les procédures de déploiement, le tableau de
développement local et les commandes de lancement sont mis à jour. Une section
« Sortis de cet espace » récapitule où sont passés les trois dépôts.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PcZ7hL9aVvMhRuzxXLT2DG
Il est passé dans ~/Projects/alpinux.wiki : dépôt distinct, déploiement
automatique par webhook, et plus rien de commun avec les applications Flask
rangées ici. Le tableau des projets et les procédures de déploiement sont mis à
jour en conséquence.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PcZ7hL9aVvMhRuzxXLT2DG
Dépôt racine documentant la structure multi-projets org.alpinux.owni.
Chaque sous-dossier est un dépôt git indépendant (Option A).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>