https://github.com/danass/leha
France Competences API Local Postgresql Sync
https://github.com/danass/leha
Last synced: 5 months ago
JSON representation
France Competences API Local Postgresql Sync
- Host: GitHub
- URL: https://github.com/danass/leha
- Owner: danass
- Created: 2024-12-19T18:11:41.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-19T20:26:32.000Z (about 1 year ago)
- Last Synced: 2025-05-17T04:07:14.872Z (8 months ago)
- Language: Python
- Size: 14.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Projet LEHA đ
## Description
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 :
### Fonctionnalités principales
1. **RĂ©cupĂ©ration des liens de tĂ©lĂ©chargement** đ
- La fonction `fetch_and_process_links` interroge l'API de France Compétences pour obtenir les liens de téléchargement des fichiers CSV les plus récents et les traite.
2. **CrĂ©ation des tables dans la base de donnĂ©es** đ ïž
- La fonction `create_tables` crée les tables nécessaires dans la base de données PostgreSQL si elles n'existent pas déjà .
3. **TĂ©lĂ©chargement et extraction des fichiers CSV** đ„
- La fonction `download_and_unzip` télécharge les fichiers ZIP depuis une URL donnée, les extrait et traite les fichiers CSV pertinents.
4. **Traitement des fichiers CSV** đ
- La fonction `process_csv` lit 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.
5. **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.
### Comment utiliser le script
1. Assurez-vous d'avoir une base de données PostgreSQL configurée et accessible.
2. CrĂ©ez un fichier `.env` dans le mĂȘme rĂ©pertoire que `main.py` avec les variables suivantes :
```
DB_USER=your_db_user
DB_PASSWORD=your_db_password
```
3. Exécutez le script `main.py` :
```bash
python main.py
```
#### Utilisation avec Docker
1. Construisez l'image Docker :
```bash
docker build -t leha .
```
2. Exécutez le conteneur Docker :
```bash
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. đ
### Prérequis
- Python 3.x
- PostgreSQL
- BibliothĂšques Python : `pandas`, `psycopg2`, `dotenv`, `requests`
### Installation des dépendances
```bash
pip install pandas psycopg2-binary python-dotenv requests
```
### Auteur
Ce script a Ă©tĂ© dĂ©veloppĂ© par Daniel Assayag pour automatiser la gestion des donnĂ©es de France CompĂ©tences. đ