Format de paquetage 2, helpers 2.1, sur le modèle de jwe_ynh. Ce que l'installation fait, dans cet ordre : extraire l'archive, rendre le .env depuis les réponses d'installation, construire l'application web (npm ci, polices, build, prune), monter l'environnement Python, puis remplir la base depuis le corpus de recherche embarqué. Trois choix qui méritent d'être dits : - La base, le cache et l'export vivent dans data_dir, jamais dans le répertoire d'installation. « ynh_setup_source --full_replace » efface celui-ci intégralement à chaque mise à jour : y laisser la base effacerait tout le travail de veille accumulé. Vérifié en simulant la mise à jour — 59 textes, 367 sources et 3 passages survivent à l'effacement. - Un domaine dédié, sans question « path ». Les liens internes sont absolus et SvelteKit demanderait une recompilation avec « paths.base » pour tenir sur un sous-chemin. Mieux vaut une contrainte annoncée qu'un sous-chemin à moitié fonctionnel. - Les identifiants Légifrance sont facultatifs, et les tests s'exécutent sans : cela vérifie au passage le mode dégradé documenté. Le rapport de passage affiche alors « legifrance ignoré — repli sur … », et les deux autres collecteurs détectent quand même les 7 ajouts et les 4 changements de décision. Un minuteur systemd distinct porte le passage de collecte, le helper « ynh_config_add_systemd » ne gérant que l'unité principale. Il est arrêté avant toute mise à jour : un passage qui démarrerait pendant le remplacement des fichiers travaillerait sur un arbre à moitié écrit. Vérifié avant publication, pas après : séquence npm complète depuis l'archive publiée, environnement Python, remplissage, démarrage du service lisant la base de data_dir, origine déduite des en-têtes du proxy, passage en mode dégradé, et simulation d'effacement du répertoire d'installation. shellcheck sans avertissement, TOML valides. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1.2 KiB
Vèy Lalwa est installé sur https://DOMAIN
La base contient déjà 52 textes et 360 sources, issus du corpus de recherche arrêté au 25 juillet 2026. Le premier passage de collecte a lieu automatiquement à 6 h ou 18 h ; pour le déclencher tout de suite :
systemctl start __APP__-pipeline.service
journalctl -u __APP__-pipeline -f
Si vous n'avez pas fourni d'identifiants Légifrance
Ce n'est pas bloquant. Le collecteur Légifrance se désactive et l'annonce dans le rapport de passage ; le Sénat et le Conseil constitutionnel prennent le relais, ce qui suffit à suivre les promulgations et les décisions constitutionnelles. Ce que vous perdez : la confirmation de l'intitulé officiel au Journal officiel et l'identifiant JORF de chaque texte.
Pour les ajouter plus tard, éditez __INSTALL_DIR__/.env puis relancez un passage. Attention : une application PISTE expose deux couples de valeurs, et seul le couple OAuth (« Client ID » / « Client secret ») fonctionne. La clé d'API est refusée par le point d'accès du jeton.
Vérifier que tout tourne
systemctl status __APP__
systemctl list-timers __APP__-pipeline.timer
tail -f /var/log/__APP__/pipeline.log