chore : import initial du package veille-ia-gen_ynh (packaging v2, helpers 2.1)

Extrait du dépôt veille-ia-gen (socle phase 0).
manifest validé contre le schéma officiel manifest.v2.schema.json ;
sha256 de l'archive sources en placeholder jusqu'à la release v0.1.0.
This commit is contained in:
cyber-mawonaj
2026-08-01 09:44:31 -04:00
commit c6caa5024f
16 changed files with 466 additions and 0 deletions
+28
View File
@@ -0,0 +1,28 @@
#!/bin/bash
# Variables et fonctions communes aux scripts du package veille-ia_ynh.
# Normalise le chemin YNH pour paths.base de SvelteKit ("/" -> "" ; sinon "/veille").
veille_ia_base_path() {
if [ "$path" = "/" ]; then
echo ""
else
echo "$path"
fi
}
# Installe les dépendances, build l'app (avec le bon sous-chemin), puis élague
# les devDependencies pour ne garder que le runtime.
veille_ia_build_app() {
pushd "$install_dir/app"
ynh_hide_warnings ynh_exec_as_app npm ci
ynh_hide_warnings ynh_exec_as_app env BASE_PATH="$(veille_ia_base_path)" npm run build
ynh_hide_warnings ynh_exec_as_app npm prune --omit=dev
popd
}
# (Re)génère le fichier d'environnement applicatif et verrouille ses droits.
veille_ia_write_env() {
ynh_config_add --template="env" --destination="$install_dir/app/.env"
chmod 400 "$install_dir/app/.env"
chown "$app:$app" "$install_dir/app/.env"
}
Executable
+19
View File
@@ -0,0 +1,19 @@
#!/bin/bash
source ../settings/scripts/_common.sh
source /usr/share/yunohost/helpers
ynh_print_info "Déclaration des fichiers à sauvegarder..."
# Code + build + .env (reconstruisible, mais sauvegardé pour une restauration rapide).
ynh_backup "$install_dir"
# Données : registre/profils YAML + dépôt git interne.
# (Ignoré par le backup de sécurité pré-upgrade — comportement standard du cœur.)
ynh_backup "$data_dir"
ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf"
ynh_backup "/etc/systemd/system/$app.service"
ynh_print_info "Sauvegarde de veille-ia terminée"
+42
View File
@@ -0,0 +1,42 @@
#!/bin/bash
source _common.sh
source /usr/share/yunohost/helpers
#=================================================
# STOP SYSTEMD SERVICE
#=================================================
ynh_script_progression "Arrêt du service systemd de veille-ia..."
ynh_systemctl --service="$app" --action="stop"
#=================================================
# UPDATE NGINX CONFIGURATION
#=================================================
ynh_script_progression "Mise à jour de la configuration nginx de veille-ia..."
# $domain/$path pointent déjà vers les nouvelles valeurs ($old_domain/$old_path
# et $change_domain/$change_path sont disponibles si besoin).
ynh_config_change_url_nginx
#=================================================
# RE-BUILD THE APP WITH THE NEW BASE PATH
#=================================================
ynh_script_progression "Re-build de veille-ia pour le nouveau chemin..."
# paths.base est figé au build (SvelteKit) : le changement de chemin impose
# un re-build avec le nouveau BASE_PATH.
veille_ia_build_app
# .env : régénéré pour rester cohérent (ORIGIN systemd suit __DOMAIN____PATH__
# via ynh_config_change_url_nginx ; le .env ne contient pas le domaine).
veille_ia_write_env
#=================================================
# START SYSTEMD SERVICE
#=================================================
ynh_script_progression "Démarrage du service systemd de veille-ia..."
ynh_systemctl --service="$app" --action="start"
ynh_script_progression "Changement d'URL de veille-ia terminé"
+58
View File
@@ -0,0 +1,58 @@
#!/bin/bash
source _common.sh
source /usr/share/yunohost/helpers
#=================================================
# RETRIEVE ARGUMENTS FROM THE MANIFEST AND GENERATE SETTINGS
#=================================================
ynh_script_progression "Récupération des paramètres de veille-ia..."
# Token protégeant POST /api/alerts (webhook Node-RED) — secret généré à l'install.
alerts_token="$(ynh_string_random 48)"
ynh_app_setting_set --key=alerts_token --value="$alerts_token"
#=================================================
# DEPLOY APP FILES
#=================================================
ynh_script_progression "Déploiement des fichiers de veille-ia..."
# Archive du tag de la forge (ressource sources.main du manifest), pré-téléchargée.
ynh_setup_source --dest_dir="$install_dir"
# L'app SvelteKit vit dans le sous-dossier app/ du dépôt.
chown -R "$app:$app" "$install_dir"
#=================================================
# BUILD THE APP
#=================================================
ynh_script_progression "Installation des dépendances et build de veille-ia..."
veille_ia_build_app
#=================================================
# APP CONFIGURATION
#=================================================
ynh_script_progression "Ajout de la configuration de veille-ia..."
veille_ia_write_env
#=================================================
# SYSTEM CONFIGURATION
#=================================================
ynh_script_progression "Ajout de la configuration système pour veille-ia..."
ynh_config_add_nginx
ynh_config_add_systemd
yunohost service add "$app" --description="Observatoire de veille sur les modèles IA"
#=================================================
# START SYSTEMD SERVICE
#=================================================
ynh_script_progression "Démarrage du service systemd de veille-ia..."
ynh_systemctl --service="$app" --action="start"
ynh_script_progression "Installation de veille-ia terminée"
Executable
+18
View File
@@ -0,0 +1,18 @@
#!/bin/bash
source _common.sh
source /usr/share/yunohost/helpers
ynh_script_progression "Suppression de la configuration système de veille-ia..."
# Les ressources (user, dossiers, port, nodejs, permissions) sont déprovisionnées
# automatiquement par le cœur après ce script. Le data_dir est conservé sauf --purge.
if ynh_hide_warnings yunohost service status "$app" >/dev/null; then
yunohost service remove "$app"
fi
ynh_config_remove_systemd
ynh_config_remove_nginx
ynh_script_progression "Suppression de veille-ia terminée"
+54
View File
@@ -0,0 +1,54 @@
#!/bin/bash
source ../settings/scripts/_common.sh
source /usr/share/yunohost/helpers
#=================================================
# RESTORE THE APP MAIN DIRECTORY
#=================================================
ynh_script_progression "Restauration du dossier principal de veille-ia..."
# Les ressources (user, dossiers, port, nodejs) sont re-provisionnées par le cœur
# AVANT ce script. $domain, $path, $install_dir, $data_dir… sont rechargés.
ynh_restore "$install_dir"
chown -R "$app:$app" "$install_dir"
#=================================================
# RE-BUILD THE APP
#=================================================
ynh_script_progression "Réinstallation des dépendances et build de veille-ia..."
# Le build restauré est régénéré proprement (version de node, sous-chemin).
veille_ia_build_app
veille_ia_write_env
#=================================================
# RESTORE THE DATA DIRECTORY
#=================================================
ynh_script_progression "Restauration du dossier de données de veille-ia..."
ynh_restore "$data_dir"
chown -R "$app:$app" "$data_dir"
#=================================================
# RESTORE SYSTEM CONFIGURATIONS
#=================================================
ynh_script_progression "Restauration de la configuration système de veille-ia..."
ynh_restore "/etc/nginx/conf.d/$domain.d/$app.conf"
ynh_restore "/etc/systemd/system/$app.service"
systemctl enable "$app.service" --quiet
yunohost service add "$app" --description="Observatoire de veille sur les modèles IA"
#=================================================
# RELOAD NGINX AND START THE APP
#=================================================
ynh_script_progression "Rechargement de nginx et démarrage de veille-ia..."
ynh_systemctl --service="$app" --action="start"
ynh_systemctl --service=nginx --action=reload
ynh_script_progression "Restauration de veille-ia terminée"
+67
View File
@@ -0,0 +1,67 @@
#!/bin/bash
source _common.sh
source /usr/share/yunohost/helpers
#=================================================
# STOP SYSTEMD SERVICE
#=================================================
ynh_script_progression "Arrêt du service systemd de veille-ia..."
ynh_systemctl --service="$app" --action="stop"
#=================================================
# ENSURE DOWNWARD COMPATIBILITY
#=================================================
ynh_script_progression "Vérification des paramètres de veille-ia..."
# Token d'alertes : créé à l'install ; le régénère si absent (installs anciennes).
if [ -z "${alerts_token:-}" ]; then
alerts_token="$(ynh_string_random 48)"
ynh_app_setting_set --key=alerts_token --value="$alerts_token"
fi
#=================================================
# UPGRADE SOURCE FILES
#=================================================
ynh_script_progression "Mise à jour des fichiers de veille-ia..."
# Un backup de sécurité a déjà été réalisé par le cœur. Remplacement complet :
# le .env est régénéré juste après depuis les settings persistants.
ynh_setup_source --dest_dir="$install_dir" --full_replace
chown -R "$app:$app" "$install_dir"
#=================================================
# RE-BUILD THE APP
#=================================================
ynh_script_progression "Installation des dépendances et build de veille-ia..."
veille_ia_build_app
#=================================================
# UPDATE APP CONFIGURATION
#=================================================
ynh_script_progression "Mise à jour de la configuration de veille-ia..."
veille_ia_write_env
#=================================================
# UPDATE SYSTEM CONFIGURATION
#=================================================
ynh_script_progression "Mise à jour de la configuration système pour veille-ia..."
ynh_config_add_nginx
ynh_config_add_systemd
yunohost service add "$app" --description="Observatoire de veille sur les modèles IA"
#=================================================
# START SYSTEMD SERVICE
#=================================================
ynh_script_progression "Démarrage du service systemd de veille-ia..."
ynh_systemctl --service="$app" --action="start"
ynh_script_progression "Mise à jour de veille-ia terminée"