Files
geo/api/scripts
pierre 2f5946a184 feat: Version 3.5.2 - Configuration Stripe et gestion des immeubles
- Configuration complète Stripe pour les 3 environnements (DEV/REC/PROD)
  * DEV: Clés TEST Pierre (mode test)
  * REC: Clés TEST Client (mode test)
  * PROD: Clés LIVE Client (mode live)
- Ajout de la gestion des bases de données immeubles/bâtiments
  * Configuration buildings_database pour DEV/REC/PROD
  * Service BuildingService pour enrichissement des adresses
- Optimisations pages et améliorations ergonomie
- Mises à jour des dépendances Composer
- Nettoyage des fichiers obsolètes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-09 18:26:27 +01:00
..

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.