Files
geo/api/scripts
Pierre 3443277d4a feat: Release version 3.1.4 - Mode terrain et génération PDF
 Nouvelles fonctionnalités:
- Ajout du mode terrain pour utilisation mobile hors connexion
- Génération automatique de reçus PDF avec template personnalisé
- Révision complète du système de cartes avec amélioration des performances

🔧 Améliorations techniques:
- Refactoring du module chat avec architecture simplifiée
- Optimisation du système de sécurité NIST SP 800-63B
- Amélioration de la gestion des secteurs géographiques
- Support UTF-8 étendu pour les noms d'utilisateurs

📱 Application mobile:
- Nouveau mode terrain dans user_field_mode_page
- Interface utilisateur adaptative pour conditions difficiles
- Synchronisation offline améliorée

🗺️ Cartographie:
- Optimisation des performances MapBox
- Meilleure gestion des tuiles hors ligne
- Amélioration de l'affichage des secteurs

📄 Documentation:
- Ajout guide Android (ANDROID-GUIDE.md)
- Documentation sécurité API (API-SECURITY.md)
- Guide module chat (CHAT_MODULE.md)

🐛 Corrections:
- Résolution des erreurs 400 lors de la création d'utilisateurs
- Correction de la validation des noms d'utilisateurs
- Fix des problèmes de synchronisation chat

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-19 19:38:03 +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.