root@lhusser:~# | Guide ABRAPA VPS
0%
0/7
1
Accès terminal.lhusser.fr

Le terminal web est accessible via terminal.lhusser.fr.
Il s'agit d'une instance ttyd exposée derrière nginx avec authentification HTTP Basic.

  • Ouvrir le navigateur → https://terminal.lhusser.fr
  • S'authentifier avec le compte laurent
  • Une session bash s'ouvre en tant que root
  • Taper help-abrapa pour obtenir le mémo des commandes
CONNEXION RAPIDE
# Vérifier que le terminal est joignable $ curl -sI https://terminal.lhusser.fr | head -1
Astuce : Garder un onglet ouvert sur le terminal en permanence. Le heartbeat ttyd maintient la session active. En cas de déconnexion, les processus lancés dans screen continuent de tourner.
2
Surveillance système

Avant chaque traitement batch, vérifier les ressources disponibles : RAM, disque et charge CPU.

MÉMOIRE RAM
$ free -h total used free shared buff/cache available Mem: 3.8Gi 1.2Gi 1.5Gi 16Mi 1.1Gi 2.4Gi Swap: 2.0Gi 0B 2.0Gi # Surveiller la colonne "available" — en dessous de 500Mi, différer le traitement
ESPACE DISQUE
$ df -h / /home Filesystem Size Used Avail Use% Mounted on /dev/vda1 40G 18G 20G 48% / /dev/vda2 100G 35G 60G 37% /home # L'usage de /home dépasse 80% → nettoyer les vieux logs dans ~/abrapa/logs/
CHARGE CPU + UPTIME
$ uptime 14:32:07 up 23 days, 6:10, 2 users, load average: 0.45, 0.38, 0.31 # load average > nombre de cœurs (2) = saturation
MONITORING INTERACTIF
$ htop # Trier par MEM% pour repérer un processus gourmand # Quiter avec q
Attention : Les traitements Ollama (mode audit) chargent un modèle LLM en RAM (~2 Go). Lancer free -h avant et après.
3
Services nginx / ttyd / ollama

Trois services systemd gèrent l'infrastructure. Tous doivent être active (running).

VÉRIFIER TOUS LES SERVICES
$ systemctl status nginx ttyd ollama --no-pager
REDEMARRER NGINX
$ nginx -t # Tester la config avant $ systemctl restart nginx $ systemctl status nginx --no-pager
REDEMARRER TTYD
$ systemctl restart ttyd $ systemctl status ttyd --no-pager
GESTION OLLAMA
$ systemctl start ollama # Démarrer le service $ systemctl stop ollama # Libérer la RAM $ ollama list # Modèles installés $ ollama pull llama3 # Mettre à jour un modèle
Rappel ports :
nginx : 80 / 443 (proxy vers ttyd sur 7681)
ttyd : 7681 (écoute localhost uniquement)
ollama : 11434 (écoute localhost uniquement)
4
Scripts ABRAPA — batch-siret-vps.js

Le script principal ~/abrapa/batch-siret-vps.js traite les SIRET par lots. Quatre modes sont disponibles :

MODE ENRICH — Enrichissement INSEE
# Enrichir les SIRET avec les données INSEE (dénomination, adresse, APE…) $ node ~/abrapa/batch-siret-vps.js --mode enrich # Reprendre un traitement interrompu $ node ~/abrapa/batch-siret-vps.js --mode enrich --resume # Limiter le nombre de SIRET par batch $ node ~/abrapa/batch-siret-vps.js --mode enrich --batch-size 50
MODE VIES — Vérification entités en vie
# Filtrer les entreprises actives (en état "en activité") $ node ~/abrapa/batch-siret-vps.js --mode vies # Exporter la liste des radiées $ node ~/abrapa/batch-siret-vps.js --mode vies --export-radies
MODE BODACC — Annonces légales
# Récupérer les annonces BODACC (créations, modifications, radiations) $ node ~/abrapa/batch-siret-vps.js --mode bodacc # Spécifier une période $ node ~/abrapa/batch-siret-vps.js --mode bodacc --from 2024-01-01 --to 2024-12-31
MODE AUDIT — Analyse IA via Ollama
# Vérifier qu'Ollama tourne AVANT l'audit $ systemctl is-active ollama # Lancer l'audit IA sur un fichier CSV SAGE $ node ~/abrapa/batch-siret-vps.js --mode audit --input sage.csv # Spécifier le modèle Ollama (défaut : llama3) $ node ~/abrapa/batch-siret-vps.js --mode audit --input sage.csv --model mistral
Important : Le mode audit charge un modèle LLM en mémoire (~2 Go RAM). Toujours vérifier avec free -h avant de le lancer. Ne pas lancer en même temps qu'un autre traitement batch.
5
Sessions screen

Les traitements longs doivent être lancés dans des sessions screen pour résister aux déconnexions du terminal web.

CRÉER UNE SESSION
$ screen -S enrich # La session "enrich" est créée — on est dedans # Lancer le traitement : $ node ~/abrapa/batch-siret-vps.js --mode enrich
SE DÉTACHER (sans tuer)
# Taper la séquence clavier : Ctrl+A puis D # On revient au shell principal, le traitement continue
REPRENDRE UNE SESSION
$ screen -r enrich # On est de retour dans la session "enrich"
LISTER LES SESSIONS
$ screen -ls There are screens on: 12345.enrich (Detached) 12346.bodacc (Detached) 2 Sockets in /run/screen/S-root.
TUER UNE SESSION
$ screen -X -S enrich quit # La session "enrich" et son processus sont détruits
Convention : Nommer les sessions selon le mode : enrich, vies, bodacc, audit. Cela permet de retrouver facilement le traitement actif.
6
Synchro O2Switch — checkpoint.json

Après chaque traitement, le fichier checkpoint.json est synchronisé vers le serveur mutualisé O2Switch pour que le site puisse consommer les résultats.

ENVOYER checkpoint.json
$ curl -T ~/abrapa/checkpoint.json \ "ftp://lhusser.fr/Siretv92/checkpoint.json" \ --user "lhusser@lhusser.fr:MOT_DE_PASSE" \ --silent
VÉRIFIER LE FICHIER DISTANT
$ curl -s "ftp://lhusser.fr/Siretv92/checkpoint.json" \ --user "lhusser@lhusser.fr:MOT_DE_PASSE" \ -o /dev/null -w "%{http_code} — Taille : %{size_download} octets\n"
RAPPEL LOCAL
# Vérifier le contenu du checkpoint $ cat ~/abrapa/checkpoint.json | python3 -m json.tool | head -20 # Voir la date de dernière modification $ stat ~/abrapa/checkpoint.json | grep Modify
Sécurité : Ne jamais écrire le mot de passe FTP en clair dans un script. Utiliser une variable d'environnement ou un fichier .netrc avec droits 600.
7
Checklist pré-traitement

Exécuter cette checklist avant chaque lancement de batch. Cochez chaque étape une fois validée.

RÉCAPITULATIF RAPIDE — COPIER TOUT
#!/bin/bash # === Pre-flight ABRAPA === $ echo "=== RAM ===" ; free -h | grep Mem $ echo "=== DISK ===" ; df -h /home | tail -1 $ echo "=== LOAD ===" ; uptime $ echo "=== NGINX ===" ; systemctl is-active nginx $ echo "=== TTYD ===" ; systemctl is-active ttyd $ echo "=== SCREENS ==="; screen -ls $ echo "=== OLLAMA ==="; systemctl is-active ollama