Files
geo/api/scripts/setup_addresses_access.sh
pierre 599b9fcda0 feat: Gestion des secteurs et migration v3.0.4+304
- 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>
2025-08-07 11:01:45 +02:00

106 lines
3.6 KiB
Bash

#!/bin/bash
# Script pour configurer l'accès à la base de données des adresses
# sur chaque environnement Incus
echo "Configuration de l'accès à la base de données des adresses"
echo "=========================================================="
# Fonction pour créer l'utilisateur sur un container
create_user_on_container() {
local container=$1
local api_ip=$2
local maria_ip=$3
echo ""
echo "Configuration pour $container..."
echo "Container MariaDB IP: $maria_ip"
echo "Container API IP: $api_ip"
# Se connecter au container MariaDB et créer l'utilisateur
incus exec $container -- mysql -u root -p -e "
-- Créer l'utilisateur pour l'accès depuis l'API
CREATE USER IF NOT EXISTS 'adresses_user'@'$api_ip' IDENTIFIED BY 'd66,AdrGeo.User';
GRANT SELECT ON adresses.* TO 'adresses_user'@'$api_ip';
-- Créer aussi un utilisateur localhost pour les tests directs
CREATE USER IF NOT EXISTS 'adresses_user'@'localhost' IDENTIFIED BY 'd66,AdrGeo.User';
GRANT SELECT ON adresses.* TO 'adresses_user'@'localhost';
-- Optionnel : créer un utilisateur pour tout le sous-réseau
CREATE USER IF NOT EXISTS 'adresses_user'@'13.23.33.%' IDENTIFIED BY 'd66,AdrGeo.User';
GRANT SELECT ON adresses.* TO 'adresses_user'@'13.23.33.%';
FLUSH PRIVILEGES;
-- Vérifier
SELECT user, host FROM mysql.user WHERE user = 'adresses_user';
"
echo "✓ Utilisateur créé sur $container"
}
# Fonction pour tester la connexion
test_connection() {
local api_container=$1
local maria_ip=$2
echo ""
echo "Test de connexion depuis $api_container vers $maria_ip..."
incus exec $api_container -- mysql -h $maria_ip -u adresses_user -p'd66,AdrGeo.User' -e "
SELECT DATABASE();
SHOW TABLES FROM adresses LIMIT 5;
"
if [ $? -eq 0 ]; then
echo "✓ Connexion réussie!"
else
echo "✗ Échec de la connexion"
fi
}
# Configuration pour chaque environnement
echo ""
echo "1. DÉVELOPPEMENT (DVA)"
read -p "IP du container dva-api [par défaut: 13.23.33.45]: " DVA_API_IP
DVA_API_IP=${DVA_API_IP:-13.23.33.45}
create_user_on_container "dva-maria" "$DVA_API_IP" "13.23.33.46"
echo ""
echo "2. RECETTE (RCA)"
read -p "IP du container rca-api [par défaut: 13.23.33.35]: " RCA_API_IP
RCA_API_IP=${RCA_API_IP:-13.23.33.35}
create_user_on_container "rca-maria" "$RCA_API_IP" "13.23.33.36"
echo ""
echo "3. PRODUCTION (PRA)"
read -p "IP du container pra-api [par défaut: 13.23.33.25]: " PRA_API_IP
PRA_API_IP=${PRA_API_IP:-13.23.33.25}
create_user_on_container "pra-maria" "$PRA_API_IP" "13.23.33.26"
# Tests de connexion
echo ""
echo "=========================================================="
echo "Tests de connexion"
echo "=========================================================="
read -p "Voulez-vous tester les connexions? (o/n): " test_choice
if [ "$test_choice" = "o" ]; then
test_connection "dva-api" "13.23.33.46"
test_connection "rca-api" "13.23.33.36"
test_connection "pra-api" "13.23.33.26"
fi
echo ""
echo "Configuration terminée!"
echo ""
echo "Notes importantes:"
echo "- Les utilisateurs ont été créés avec accès SELECT uniquement sur la base 'adresses'"
echo "- Trois types d'accès ont été configurés:"
echo " 1. Depuis l'IP spécifique de chaque container API"
echo " 2. Depuis localhost (pour les tests directs)"
echo " 3. Depuis tout le sous-réseau 13.23.33.% (optionnel, moins sécurisé)"
echo ""
echo "Pour tester manuellement depuis un container API:"
echo "incus exec [container-api] -- mysql -h [ip-maria] -u adresses_user -p'd66,AdrGeo.User' adresses"