# Actualisation hebdomadaire de la base La source est le dataset public [`cfahlgren1/hub-stats`](https://huggingface.co/datasets/cfahlgren1/hub-stats). Le pipeline télécharge ses configurations `models` et `datasets`, reconstruit hors ligne une base Neo4j, crée `neo4j.dump`, puis publie ce dump et son fichier `database_metadata.json` dans le dataset privé configuré. Le Space continue à utiliser le dump précédent pendant toute la reconstruction. Il ne voit la nouvelle base qu'après un redémarrage. La date affichée dans l'interface vient de `database_metadata.json`; elle n'est donc mise à jour que si la reconstruction et la publication ont réussi. ## Test sans modifier la production Le dépôt de dumps accepte une branche de test : ```bash export HF_TOKEN=hf_... bash database_refresh/run_weekly_refresh.sh \ --dump-revision weekly-refresh ``` Pour un test rapide du prétraitement : ```bash bash database_refresh/run_weekly_refresh.sh \ --max-models 10000 \ --max-datasets 10000 \ --prepare-only ``` ## Job Hugging Face hebdomadaire Le Job peut monter en lecture la branche du Space qui contient ce script et utiliser l'image Neo4j correspondant exactement à celle de l'application : Le compte qui crée le Job doit avoir au minimum le rôle `write` dans l'organisation CNIL. Le token utilisé par la CLI doit explicitement autoriser `Start and manage Jobs`. Puisque le même token est transmis au Job avec `--secrets HF_TOKEN`, il doit également pouvoir écrire dans `cnil/genmod-dump-neo4j` et redémarrer le Space ciblé. L'option `--namespace cnil` est indispensable pour créer et facturer le Job sous l'organisation plutôt que sous le compte personnel. ```bash hf jobs scheduled run "@weekly" \ --namespace cnil \ --name genmod-weekly-database-refresh \ --flavor cpu-basic \ --timeout 12h \ --no-concurrency \ --secrets HF_TOKEN \ --env NEO4J_DUMP_REPO=cnil/genmod-dump-neo4j \ --env NEO4J_DUMP_REVISION=weekly-refresh \ --env SPACES_TO_RESTART=cnil/genmod-faster \ --volume hf://spaces/cnil/genmod@refresh-hub-database:/workspace:ro \ neo4j:2025.09.0-community \ bash /workspace/database_refresh/run_weekly_refresh.sh ``` La révision `weekly-refresh` permet de valider le nouveau dump avec `genmod-faster` sans remplacer le dump de production. Après validation, il suffit de programmer le même Job avec `NEO4J_DUMP_REVISION=main`. Pour la production, `SPACES_TO_RESTART` doit alors être remplacé par `cnil/genmod`. Les Hugging Face Jobs nécessitent un solde positif et sont facturés uniquement pendant leur exécution. Un Space CPU Basic ne constitue pas à lui seul un cron fiable : il peut être mis en veille et son disque est éphémère.