Le script main.py est conçu pour automatiser le processus de téléchargement, de traitement et de synchronisation des données provenant de l'API de France Compétences. Voici un aperçu de ce que fait chaque partie du script :
-
Récupération des liens de téléchargement 🌐
- La fonction
fetch_and_process_linksinterroge l'API de France Compétences pour obtenir les liens de téléchargement des fichiers CSV les plus récents et les traite.
- La fonction
-
Création des tables dans la base de données 🛠️
- La fonction
create_tablescrée les tables nécessaires dans la base de données PostgreSQL si elles n'existent pas déjà.
- La fonction
-
Téléchargement et extraction des fichiers CSV 📥
- La fonction
download_and_unziptélécharge les fichiers ZIP depuis une URL donnée, les extrait et traite les fichiers CSV pertinents.
- La fonction
-
Traitement des fichiers CSV 📄
- La fonction
process_csvlit les fichiers CSV et appelle les fonctions de synchronisation appropriées (sync_fiches,sync_certificateurs,sync_partenaires,sync_bloc_competences) pour mettre à jour les tables de la base de données.
- La fonction
-
Synchronisation des données 🔄
- Chaque fonction de synchronisation (
sync_fiches,sync_certificateurs,sync_partenaires,sync_bloc_competences) compare les données des fichiers CSV avec celles de la base de données et effectue les insertions, mises à jour et suppressions nécessaires pour maintenir la base de données à jour.
- Chaque fonction de synchronisation (
- Assurez-vous d'avoir une base de données PostgreSQL configurée et accessible.
- Créez un fichier
.envdans le même répertoire quemain.pyavec les variables suivantes :DB_USER=your_db_user DB_PASSWORD=your_db_password - Exécutez le script
main.py:python main.py
- Construisez l'image Docker :
docker build -t leha . - Exécutez le conteneur Docker :
docker run -d --network host --restart unless-stopped leha
Le script téléchargera les données les plus récentes, les traitera et mettra à jour votre base de données automatiquement. 🚀
- Python 3.x
- PostgreSQL
- Bibliothèques Python :
pandas,psycopg2,dotenv,requests
pip install pandas psycopg2-binary python-dotenv requestsCe script a été développé par Daniel Assayag pour automatiser la gestion des données de France Compétences. 📈