Commit Graph
18 Commits
Author SHA1 Message Date
mathieuandClaude Opus 5 7c7e686c7a Fonds les deux scripts de publication en un seul, qui refuse de mentir
Il y en avait deux, et le mauvais portait le nom le plus convaincant :
`publier-release.sh` compilait, archivait et réécrivait le manifeste, à
charge pour l'appelant de committer. Lancé seul, il a produit les deux
moitiés de la panne du 2026-08-21 — un manifeste corrigé mais non poussé,
et une release v0.4.0 contenant six commits de plus que son tag.

`publier.sh` absorbe l'étape et refuse désormais de publier, avant de
compiler, si le tag de la version existe déjà (en nommant le commit du tag
et celui de HEAD) ou si le dépôt du code n'est pas propre. `--archive-seule`
garde la brique réutilisable en CI, sous le même nom : ni manifeste, ni
commit, ni tag, donc rien à moitié publié.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 23:12:41 +02:00
mathieu 81108d7879 Publier la version 0.4.1 2026-08-21 23:06:58 +02:00
mathieuandClaude Opus 5 4a97b21ca3 Aligne l'empreinte du manifeste sur l'archive réellement publiée
L'asset de la release v0.4.0 a été remplacé sur Gitea ; le sha256 du
manifeste désignait encore l'archive précédente, d'où l'échec de
`yunohost app upgrade` (et de son retour arrière, qui retélécharge la
même source).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 23:01:16 +02:00
mathieuandClaude Opus 5 a805721f04 Injecte la version et l'horodatage de build dans l'assembly
La page « À propos » de l'application affiche la version publiée : encore
faut-il que le binaire la connaisse. Le publish reçoit donc, à côté de
`-p:Version` déjà présent, `-p:MaBibliDateBuild`.

⚠️ Cet horodatage est le témoin de l'injection : sans lui, l'application se
déclare « version de développement » plutôt que d'afficher le « 1.0.0 » que le
SDK pose par défaut, lequel se lirait comme une vraie version alors qu'il ne
désigne rien.

`SOURCE_DATE_EPOCH` est respecté, comme pour l'archive : sinon deux
compilations du même commit donneraient deux sha256 différents pour la seule
raison que l'heure a changé, et la reproductibilité visée par les options de
`tar` ne vaudrait plus rien.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 14:50:34 +02:00
mathieu 2daacd847f Publier la version 0.4.0 2026-08-21 11:48:48 +02:00
mathieu c00abb4006 Publier la version 0.3.3 2026-08-20 22:22:28 +02:00
mathieu 2858bd0755 Publier la version 0.3.2 2026-08-20 21:31:15 +02:00
mathieu 2d98f5c987 Publier la version 0.3.1 2026-08-20 19:51:27 +02:00
mathieuandClaude Opus 5 712741a883 Renvoie la documentation vers le README du dépôt du code
publier.sh enchaîne la publication de bout en bout : version déduite de la
précédente, archive, manifeste, commit et push du paquet, tag et push du code,
avec vérification côté distant. Seul le dépôt de l'archive dans la release
Gitea reste manuel — l'URL est rappelée en fin de sortie.

PUBLICATION.md et A_FAIRE.md sont supprimés : leur contenu vit désormais dans
le README de mabibli, point d'entrée unique du projet. doc/DESCRIPTION.md et
doc/ADMIN.md restent ici, YunoHost les lisant lui-même.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 19:49:38 +02:00
mathieu 0c2e94431b Publier la version 0.3.0 2026-08-20 18:18:01 +02:00
mathieuandClaude Opus 5 3fcb447bb8 Rappeler l'option -u à la mise à jour, l'app n'étant pas au catalogue
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-19 22:52:33 +02:00
mathieu 6f58527206 Publier la version 0.2.0 2026-08-19 22:48:50 +02:00
mathieuandClaude Opus 5 54a22b1579 Écrire la marche à suivre : mise en production et montée de version
PUBLICATION.md donne les gestes pas à pas, avec le contrôle attendu à
chaque étape : première mise en production, montée de version (0.1.0 →
0.1.1), retour arrière si la mise à jour échoue, désinstallation.

Deux points qui se paient cher s'ils sont oubliés y sont explicites :
`--version` est obligatoire pour une nouvelle version applicative (sans
lui le script reproduit celle du manifeste), et la sauvegarde de sécurité
pré-upgrade ne contient PAS le répertoire de données.

README et A_FAIRE renvoient au fichier plutôt que de tripler la
procédure. Dernière URL fictive éliminée : gitea.exemple.org subsistait
dans l'exemple CI de publier-release.sh.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 21:05:56 +02:00
mathieuandClaude Opus 5 7ab423783f Rendre le data_dir visible au service : ProtectHome=tmpfs + BindPaths
Le data_dir de YunoHost vit sous /home/yunohost.app/mabibli, or
ProtectHome=yes rend /home vide dans le namespace du service : le démarrage
mourait sur « SQLite Error 14: unable to open database file ».

ReadWritePaths ne perce pas ProtectHome — vérifié sur une unité de test :
`yes` + ReadWritePaths échoue, `tmpfs` + BindPaths réussit. La forme retenue
garde les répertoires personnels du serveur invisibles au service.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 19:26:48 +02:00
mathieuandClaude Opus 5 4e9bd8be71 Guillemeter la chaîne de connexion dans l'unité systemd
`Environment=` découpe sur les espaces : sans guillemets, la ligne
définissait `ConnectionStrings__MaBibli=Data` et une variable parasite
`Source=…`. L'application recevait la chaîne de connexion `Data` et mourait
au démarrage en ArgumentException, faisant échouer l'installation à l'étape
« Démarrage de mabibli » (constaté sur le serveur, reproduit isolément sur
une unité de test).

Version de paquet à ~ynh2 : l'archive est inchangée, seule la conf bouge.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 19:21:38 +02:00
mathieuandClaude Opus 5 33bab173bc Pointer réellement le manifeste vers la release Gitea
Le commit précédent portait le bon message mais pas les modifications :
manifest.toml, README.md, conf/systemd.service et la valeur par défaut de
--base-url référençaient encore gitea.example.org, ce qui faisait échouer
l'installation au Prefetching asset main.

A_FAIRE.md est réécrit : la visibilité privée du dépôt du code devient le
point bloquant restant (Gitea répond 404, pas 403, à un anonyme).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 19:16:13 +02:00
mathieu ffc3db2dcc Manifeste pointe vers la bonne release 2026-08-18 19:14:14 +02:00
mathieu f942f41f34 premier essaie 2026-08-18 15:15:53 +02:00