2.7 KiB
2.7 KiB
🔧 Pole Engineering Project Automation
Automatisation complète du traitement des projets de poteaux utilitaires.
⚡ Installation rapide
pip install pillow openpyxl reportlab google-generativeai
🚀 Utilisation
# Utilisation minimale
python pole_automation.py E65-BK7-26-132679
# Avec chemins personnalisés
python pole_automation.py E65-BK7-26-132679 \
--base-dir /Users/moi/Projets \
--depart-dir /Users/moi/départ \
--gemini-key AIza...VotreCléAPI
Variable d'environnement (recommandé pour la clé API)
export GEMINI_API_KEY="AIza...VotreCléAPI"
python pole_automation.py E65-BK7-26-132679
📁 Structure des dossiers
Dossier départ (source)
départ/
1d1-PBO345 rue saint-eugene/
photo_poteau.jpg
photo_ancrage.jpg
1d1-PBO345.xlsx
2sd2-PBO678 boul. des erables/
...
Convention de nommage des sous-dossiers
| Partie | Exemple | Signification |
|---|---|---|
1 |
1 |
Numéro de séquence |
d ou sd |
d |
Avec (d) ou Sans dérogation (sd) |
1 |
1 |
Nombre d'ancrages |
-PBO345 |
-PBO345 |
Référence du poteau |
rue saint… |
(optionnel) | Adresse |
Projet créé automatiquement
<base-dir>/E65-BK7-26-132679/
compilation/ ← Tous les PDFs finaux ici
ingénierie/
RSA-UDS/ ← Dossiers renommés depuis départ
plan/
🔄 Logique de renommage
| Type | Nouveau nom | Prochain saut |
|---|---|---|
sd |
10-PBO345 |
+1 |
d |
11-PBO345 rue saint-x |
+2 (CDC) |
🤖 Intégration Gemini AI
Le script envoie les images JPG de chaque dossier à Gemini qui identifie :
- Poteau → converti en PDF avec le numéro séquentiel (ex:
12-PBO345.pdf) - Ancrage → converti en PDF avec le numéro suivant (ex:
13-PBO345.pdf)
Sans clé Gemini : un algorithme de fallback classe les images par nom de fichier.
📄 Fichiers PDF générés (dans compilation/)
Pour chaque poteau, dans l'ordre :
{seq}-{ref}.pdf← Images du poteau{seq}-{ref}.pdf← Images de l'ancrage{seq}-{ref}.pdf← Fichier Excel converti
🛠️ Configuration
Modifiez les constantes en haut du script :
DEFAULT_BASE_DIR = Path.home() / "Projects" # Dossier racine des projets
DEFAULT_DEPART_DIR = Path.home() / "départ" # Dossier source
GEMINI_MODEL = "gemini-1.5-flash" # Modèle Gemini à utiliser