Synchronise le Répertoire National des Certifications Professionnelles (RNCP) et le Répertoire Spécifique (RS) depuis l'open data de France Compétences vers une base PostgreSQL. Alimente le moteur de recherche de diplome.app/rncp.
sync_lowercase.py :
- télécharge les derniers exports XML RNCP et RS (v4-1) publiés sur data.gouv.fr ;
- les parse et remplit quatre tables PostgreSQL (le RS n'a ni niveau européen ni blocs de compétences) :
fiches— les titres (intitulé, niveau, dates, statut actif/échu…)certificateurs— les organismes certificateurspartenaires— les organismes habilités à préparer/délivrerbloc_competences— les blocs de compétences
- reconstruit ces tables puis bascule dessus de façon atomique (aucune coupure de service pendant la synchro) ;
- enregistre un statut horodaté dans
rncp_sync_status(date + volumes), utilisé pour afficher la fraîcheur des données sur diplome.app.
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txtCréez un fichier .env avec la connexion PostgreSQL :
DATABASE_URL_FRANCECOMPETENCES=postgres://user:password@host:port/base
python3 sync_lowercase.py # télécharge le dernier export et synchronise
python3 sync_lowercase.py export.xml # utilise un export XML localsync-cron.sh lance la synchro et journalise l'horodatage + le code de sortie
dans sync-cron.log :
0 6,18 * * * /chemin/vers/leha/sync-cron.shDonnées : Répertoire national des certifications professionnelles, publié par France Compétences sur data.gouv.fr, sous Licence Ouverte / Etalab 2.0.
- Python 3.9+
- PostgreSQL
main.py(version historique : import CSV vers des tables PascalCase) est conservé pour référence mais n'est plus utilisé —sync_lowercase.pyle remplace.