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>
This commit is contained in:
pierre
2025-08-07 11:01:45 +02:00
parent 6a609fb467
commit 599b9fcda0
662 changed files with 213221 additions and 174243 deletions

View File

@@ -0,0 +1,29 @@
-- Migration pour ajouter la table sectors_adresses
-- Cette table stocke les adresses associées à chaque secteur
CREATE TABLE IF NOT EXISTS `sectors_adresses` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`fk_sector` int(11) NOT NULL,
`fk_address` bigint(20) NOT NULL COMMENT 'ID de l''adresse dans la base adresses',
`numero` varchar(10) DEFAULT NULL,
`voie` varchar(255) DEFAULT NULL,
`code_postal` varchar(5) DEFAULT NULL,
`commune` varchar(100) DEFAULT NULL,
`latitude` decimal(10,8) NOT NULL,
`longitude` decimal(11,8) NOT NULL,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `idx_sector` (`fk_sector`),
KEY `idx_address` (`fk_address`),
KEY `idx_code_postal` (`code_postal`),
KEY `idx_commune` (`commune`),
KEY `idx_coords` (`latitude`, `longitude`),
CONSTRAINT `fk_sectors_adresses_sector` FOREIGN KEY (`fk_sector`) REFERENCES `ope_sectors` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- Index pour améliorer les performances des requêtes géographiques
CREATE INDEX idx_sectors_adresses_geo ON sectors_adresses (fk_sector, latitude, longitude);
-- Commentaire sur la table
ALTER TABLE `sectors_adresses`
COMMENT = 'Table de liaison entre les secteurs et les adresses géographiques contenues dans leurs périmètres';