Files
veye-lalwa_ynh/manifest.toml
T

107 lines
4.8 KiB
TOML
Raw Normal View History

#:schema https://raw.githubusercontent.com/YunoHost/apps/master/schemas/manifest.v2.schema.json
packaging_format = 2
id = "veyelalwa"
name = "Vèy Lalwa"
description.en = "Legislative watch on French law and its effects on the freedoms of individuals, associations and businesses, with a Guadeloupe focus"
description.fr = "Veille législative sur le droit français et ses effets sur les libertés des individus, des associations et des entreprises, avec un zoom Guadeloupe"
version = "1.0.1~ynh1"
maintainers = []
[upstream]
license = "AGPL-3.0-or-later"
website = "https://o-k-i.net"
code = "https://labola.o-k-i.net/cyber-mawonaj/veye-lalwa"
admindoc = "https://labola.o-k-i.net/cyber-mawonaj/veye-lalwa/src/branch/main/README-pipeline.md"
fund = "https://liberapay.com/OKI/donate/"
[integration]
yunohost = ">= 12.1"
helpers_version = "2.1"
architectures = "all"
multi_instance = true
ldap = "not_relevant"
sso = "not_relevant"
# L'installation construit l'application web (npm) et l'environnement Python du
# pipeline, puis remplit la base depuis le corpus de recherche embarqué.
disk = "700M"
ram.build = "1G"
# À l'exécution : Node en veille socket-like via Restart, plus un passage de
# collecte deux fois par jour.
ram.runtime = "200M"
[install]
[install.domain]
type = "domain"
# Pas de question « path » : l'application occupe la racine d'un domaine.
# Les liens internes sont absolus (/recherche, /textes/…) et SvelteKit
# exigerait de recompiler avec `paths.base` pour tenir sur un sous-chemin.
# Mieux vaut une contrainte annoncée qu'un sous-chemin à moitié fonctionnel.
[install.init_main_permission]
type = "group"
default = "visitors"
# Une veille législative n'a d'intérêt que publique : c'est un travail
# d'information citoyenne, pas un outil interne.
[install.legifrance_client_id]
ask.en = "Légifrance API client ID (PISTE)"
ask.fr = "Identifiant client de l'API Légifrance (PISTE)"
help.en = "From https://piste.gouv.fr — declare an application AND subscribe it to the « Légifrance » API. Use the OAuth pair (Client ID / Client secret), NOT the API key, which is rejected by the token endpoint. Leave empty: the pipeline then falls back on the Sénat and Conseil constitutionnel, which is enough to track promulgations and constitutional decisions."
help.fr = "Depuis https://piste.gouv.fr — déclarez une application ET abonnez-la à l'API « Légifrance ». Utilisez le couple OAuth (Client ID / Client secret), PAS la clé d'API, refusée par le point d'accès du jeton. Laissez vide : le pipeline se replie alors sur le Sénat et le Conseil constitutionnel, ce qui suffit à suivre les promulgations et les décisions."
type = "string"
optional = true
[install.legifrance_client_secret]
ask.en = "Légifrance API client secret (PISTE)"
ask.fr = "Secret client de l'API Légifrance (PISTE)"
help.en = "The « Client secret » shown next to the Client ID. Leave empty if you left the ID empty."
help.fr = "Le « Client secret » affiché à côté du Client ID. Laissez vide si vous avez laissé l'identifiant vide."
type = "password"
optional = true
[install.contact_email]
ask.en = "Contact address for the collectors' user-agent"
ask.fr = "Adresse de contact pour le user-agent des collecteurs"
help.en = "Sent with every request to Légifrance, the Sénat and the Conseil constitutionnel so their administrators can reach you. Presenting oneself honestly is the price of scraping public services."
help.fr = "Envoyée à chaque requête vers Légifrance, le Sénat et le Conseil constitutionnel, pour que leurs administrateurs puissent vous joindre. Se présenter honnêtement est la contrepartie de l'interrogation de services publics."
type = "email"
optional = true
[resources]
[resources.sources.main]
url = "https://labola.o-k-i.net/cyber-mawonaj/veye-lalwa/archive/v1.0.1.tar.gz"
sha256 = "632e534fbcda5f5ebe771b9383f3807b8bf1a5a8e0fb24f7a22b77772fe75a94"
autoupdate.strategy = "latest_forgejo_tag"
[resources.system_user]
[resources.install_dir]
# Répertoire persistant : la base SQLite, le cache HTTP et l'export JSON y
# vivent. Sans lui, `ynh_setup_source --full_replace` effacerait à chaque
# mise à jour tout l'historique de veille accumulé.
[resources.data_dir]
[resources.permissions]
main.url = "/"
[resources.ports]
[resources.apt]
# sqlite3 : diagnostic et sauvegarde à chaud (.backup).
# python3-venv : environnement du pipeline.
# build-essential + python3-dev : repli de compilation de better-sqlite3
# quand aucun binaire précompilé ne correspond à l'architecture.
packages = "ca-certificates, sqlite3, python3, python3-venv, python3-dev, build-essential"
[resources.nodejs]
version = "22"