- 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>
106 lines
3.6 KiB
Bash
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" |