- Ajout système complet de gestion des secteurs avec contours géographiques - Import des contours départementaux depuis GeoJSON - API REST pour la gestion des secteurs (/api/sectors) - Service de géolocalisation pour déterminer les secteurs - Migration base de données avec tables x_departements_contours et sectors_adresses - Interface Flutter pour visualisation et gestion des secteurs - Ajout thème sombre dans l'application - Corrections diverses et optimisations 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
67 lines
2.3 KiB
Markdown
Executable File
67 lines
2.3 KiB
Markdown
Executable File
# Scripts Utilitaires
|
|
|
|
Ce dossier contient des scripts utilitaires pour la gestion des bases de données et l'automatisation de tâches.
|
|
|
|
## Structure
|
|
|
|
- `php/` : Scripts PHP pour la manipulation des données et l'intégration avec l'API
|
|
- `shell/` : Scripts shell pour l'automatisation et les opérations système
|
|
- `python/` : Scripts Python pour le traitement des données et l'analyse
|
|
- `cron/` : Scripts et configurations pour les tâches programmées
|
|
|
|
## Migration geosector → geosector_app
|
|
|
|
Les scripts de migration permettent de transférer des données de la base MySQL geosector (sur un serveur distant) vers la base MariaDB geosector_app (locale).
|
|
|
|
### Prérequis
|
|
|
|
- Accès SSH au serveur distant hébergeant la base MySQL geosector
|
|
- Accès à la base de données MariaDB geosector_app locale
|
|
- Droits suffisants pour lire/écrire dans les deux bases
|
|
- Clé SSH pour l'authentification au serveur distant
|
|
|
|
### Utilisation
|
|
|
|
1. Configurer les paramètres de connexion dans le fichier `config.php` :
|
|
- Paramètres SSH (serveur, port, utilisateur, clé)
|
|
- Paramètres de la base de données source (distante)
|
|
- Paramètres de la base de données cible (locale)
|
|
|
|
2. Exécuter le script de migration souhaité :
|
|
```
|
|
php php/migrate_users.php
|
|
```
|
|
ou
|
|
```
|
|
./shell/migrate_table.sh users
|
|
```
|
|
|
|
3. Pour comparer les schémas de tables entre les deux bases :
|
|
```
|
|
python python/compare_schemas.py users
|
|
```
|
|
./bash/migrate_table.sh users
|
|
```
|
|
|
|
## Tâches programmées (cron)
|
|
|
|
Les scripts dans le dossier `cron/` peuvent être configurés pour s'exécuter automatiquement via crontab.
|
|
|
|
Exemple de configuration crontab pour exécuter la synchronisation quotidienne :
|
|
|
|
```
|
|
# Synchronisation quotidienne à 2h du matin
|
|
0 2 * * * php /chemin/vers/api/scripts/cron/sync_databases.php > /dev/null 2>&1
|
|
```
|
|
|
|
## Fonctionnement du tunnel SSH
|
|
|
|
Les scripts établissent automatiquement un tunnel SSH pour accéder à la base de données distante :
|
|
|
|
1. Vérification de l'existence d'un tunnel déjà établi
|
|
2. Création d'un tunnel SSH si nécessaire
|
|
3. Exécution des opérations de base de données via le tunnel
|
|
4. Fermeture propre du tunnel à la fin du script
|
|
|
|
Les tunnels utilisent un port local (par défaut 13306) pour rediriger vers le port MySQL du serveur distant.
|