Commit graph

9 commits

Author SHA1 Message Date
Cédrix
c94fcf41fa Noter ce que le serveur a fallu régler pour la 404
La page était en place, mais Apache renvoyait toujours l'accueil avec un
code 200 : c'est le .htaccess et le routeur PHP qui décidaient, et ni
l'un ni l'autre ne vit dans ce dépôt. Le README disait quoi poser ; il
dit maintenant ce qui est posé, et ce qui reviendra si ISPConfig
réinitialise ces fichiers un jour.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JYfYUZRcJmmEWJwAxZb4o2
2026-09-23 13:52:06 +02:00
Cédrix
ddf3f79e7a Rendre cliquables les adresses écrites dans l'agenda
« infos et inscriptions sur https://installparty.alpinux.org » s'affichait
en texte mort dans la fiche d'un événement : à recopier à la main. Les
adresses du descriptif et du lieu deviennent des liens, la ponctuation
qui termine la phrase restant en dehors.

Le texte vient du calendrier, donc de quelqu'un qui écrit du texte et
non du HTML : il est échappé avant d'être lié, et les titres et lieux
des cartes le sont aussi, ce qui n'était pas le cas jusqu'ici.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JYfYUZRcJmmEWJwAxZb4o2
2026-09-23 12:42:22 +02:00
Cédrix
3baa10db65 Griser « Jeux & quiz », qui n'est pas encore ouvert
La carte menait à dynamic.alpinux.org comme si le service était prêt.
Elle reste visible — le projet existe et s'annonce — mais en pointillés,
l'icône en gris, un « Bientôt » à la place du lien : on ne promet plus
une porte qui ne s'ouvre pas.

Le journal des nouveautés perd du même coup son entrée : on n'annonce
pas comme nouveau ce qu'on ne peut pas encore visiter. Elle reviendra
le jour de l'ouverture, avec sa vraie date.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JYfYUZRcJmmEWJwAxZb4o2
2026-09-23 12:42:12 +02:00
Cédrix
d740c2c900 Publier toutes les pages du wiki, et une vraie page d'erreur
L'accueil n'annonçait que six pages du wiki, et rien ne menait au reste :
qui voulait savoir ce qui avait bougé depuis sa dernière visite n'avait
nulle part où aller. modifications.html liste tout ce que le wiki publie,
du plus récemment retouché au plus ancien, avec un filtre par titre ou
par rubrique. Elle lit toutes-les-pages.json, que le build du wiki écrit
à côté de derniers-articles.json ; tant que ce fichier n'existe pas, elle
se rabat sur celui de l'accueil et le dit plutôt que de rester vide.

404.html reprend la charte et propose l'accueil, le wiki, les mises à
jour et les listes. Elle attend encore sa directive Apache : le site
répond aujourd'hui 200 et l'accueil à toute adresse inconnue, ce qui
trompe le visiteur comme le moteur de recherche. Le README dit quoi
poser dans le .htaccess du serveur.

Les deux pages partagent commun.css plutôt que de recopier le style de
l'accueil, qui garde le sien en ligne — une page, une requête. Et le
garde-fou du déploiement, qui ne regardait que l'accueil, refuse
désormais de mettre en ligne n'importe quelle page tronquée : une 404
servie à moitié serait aussi laide qu'une erreur.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JYfYUZRcJmmEWJwAxZb4o2
2026-09-23 12:42:03 +02:00
Cédrix
e383368906 Tenir un journal des nouveautés sur l'accueil
La page annonçait l'existence des services, jamais leur arrivée : un
visiteur régulier n'avait aucun moyen de voir ce qui avait bougé depuis
sa dernière visite. Une section « Nouveautés » s'en charge, dessinée à
partir de site/nouveautes.json — ajouter une entrée ne demande plus de
toucher au HTML.

Les six entrées de départ sont reconstituées depuis l'historique git,
ici et dans le monorepo d'où la page vient. La page trie sur la date,
l'ordre du fichier est donc libre, et n'affiche que les six plus
récentes ; les anciennes restent dans le fichier comme mémoire. Fichier
absent ou illisible : la section se masque, comme l'agenda et le wiki
le font déjà de leur côté.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JYfYUZRcJmmEWJwAxZb4o2
2026-09-23 12:26:02 +02:00
Cédrix
f0a0c96e75 Renvoyer vers messagerie.alpinux.org depuis l'accueil
Les listes de diffusion existaient sans qu'on puisse les atteindre depuis
la page d'accueil. Trois portes, selon ce que vient chercher le visiteur :
la navigation et une carte dans « Nos services » mènent à l'inscription,
le pied de page mène directement aux archives, pour qui veut d'abord lire
ce qui a déjà été envoyé.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JYfYUZRcJmmEWJwAxZb4o2
2026-09-23 12:25:54 +02:00
Cédrix
ca177d3e7b Ancrer le relais sur le VirtualHost 443, pas sur certbot
L'installateur cherchait la ligne Include des options SSL de Let's
Encrypt pour savoir où poser le ProxyPass. Elle n'existe que dans les
vhosts écrits par certbot : celui qu'ISPConfig génère porte ses propres
directives SSLCertificate*, et le patch échouait sur sites-available.

L'ancrage devient l'ouverture du bloc *:443, que les deux ont. Deux
autres choses au passage : un vhost récalcitrant n'interrompt plus le
script avant le rechargement d'Apache — il est signalé à la fin — et le
fichier est réécrit en place plutôt que remplacé par un `mv`, qui lui
aurait donné des droits neufs et lui aurait retiré son ACL.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CTvii1CYBLjD14uvuD7Kos
2026-09-20 10:16:21 +02:00
Cédrix
56c4e9ff29 Reprendre le lien « Vos données » ajouté dans le monorepo
Ajouté à la main dans home/index.html pendant le détachement ; il pointe vers la page
que le wiki est en train d'accueillir, alpinux/donnees-personnelles.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ae3qPEPRrNkEY5LwcTTKc1
2026-09-20 09:51:09 +02:00
Cédrix
32b7cd1a0e Détacher www.alpinux.org du monorepo, avec son déploiement
La page d'accueil vivait sous home/ dans alpinux.site.2026, sans webhook : elle était
déposée à la main sur le serveur. Le dépôt avait fini par diverger — la version en ligne
portait quatre mois de modifications jamais revenues dans git.

Ce dépôt suit la règle des autres domaines : un domaine, un dépôt. Le site est dans
site/, la chaîne de déploiement dans deploiement/ — clone sur le serveur, service
d'écoute du webhook, relais Apache, et l'ACL qui donne le droit d'écrire dans le
DocumentRoot. installer.sh pose l'ensemble en une fois, et se relance sans rien casser.

Le rsync est sans --delete, volontairement : le DocumentRoot contient aussi le .htaccess
qui relaie /public-calendars vers Nextcloud et les pages d'erreur d'ISPConfig.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ae3qPEPRrNkEY5LwcTTKc1
2026-09-20 09:47:18 +02:00