Package Laravel pour les données géographiques du Bénin
# BeninGeo
**Package Laravel pour les données géographiques du Bénin : départements et communes.**
Un package Laravel simple et efficace qui fournit l'accès complet aux données géographiques administratives du Bénin, incluant tous les départements et leurs communes respectives.
## 📋 Table des matières
- Fonctionnalités
- Installation
- Utilisation
- Gestion des erreurs
- Compatibilité
- Contribution
- Licence
- Auteur
## ✨ Fonctionnalités
- 📍 **Liste complète des 12 départements du Bénin**
- 🏘️ **Accès aux 77 communes organisées par département**
- 📊 **Statistiques et comptage des entités géographiques**
- 🛡️ **Gestion robuste des erreurs avec exceptions personnalisées**
- ⚡ **Performance optimisée avec mise en cache automatique**
- 📱 **Compatible avec les dernières versions de Laravel**
## 🚀 Installation
Installez le package via Composer :
```bash
composer require zakiyou/benin-geo
```
## 📖 Utilisation
### Utilisation de base
```php
departments();
// Récupérer les communes d'un département spécifique
$communes = $geo->communes('Atlantique');
// Compter les départements
$totalDepartments = $geo->countDepartments();
// Compter les communes d'un département
$countCommunes = $geo->countCommunes('Atlantique');
// Obtenir le nombre total de communes au Bénin
$totalCommunes = $geo->countTotalCommunes();
// Obtenir toutes les communes groupées par département
$groupedCommunes = $geo->allCommunesGrouped();
```
### Utilisation avec l'injection de dépendances
```php
departments();
return view('locations.index', compact('departments'));
}
public function communes($department, BeninGeo $geo)
{
$communes = $geo->communes($department);
return response()->json($communes);
}
}
```
## Gestion des erreurs
Le package utilise une exception personnalisée pour gérer les départements inexistants :
```php
communes('DépartementInexistant');
} catch (DepartmentNotFoundException $e) {
// Gestion de l'erreur
echo "Erreur : " . $e->getMessage();
// Log de l'erreur …