Files
geo/api/scripts
Pierre 206c76c7db feat: Livraison version 3.0.6
- Amélioration de la gestion des entités et des utilisateurs
- Mise à jour des modèles Amicale et Client avec champs supplémentaires
- Ajout du service de logging et amélioration du chargement UI
- Refactoring des formulaires utilisateur et amicale
- Intégration de file_picker et image_picker pour la gestion des fichiers
- Amélioration de la gestion des membres et de leur suppression
- Optimisation des performances de l'API
- Mise à jour de la documentation technique

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-08 20:33:54 +02:00
..
2025-08-08 20:33:54 +02: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.