yannickyayo / laravel-api-geo
Wrapper Laravel pour communiquer avec l'API GEO du gouvernement français.
Fund package maintenance!
YannickYayo
Requires
- php: ^7.4
- guzzlehttp/guzzle: ^7.3
- illuminate/contracts: ^8.37
- spatie/laravel-package-tools: ^1.4.3
Requires (Dev)
- brianium/paratest: ^6.2
- friendsofphp/php-cs-fixer: ^2.0
- nunomaduro/collision: ^5.3
- nunomaduro/larastan: ^0.7.6
- orchestra/testbench: ^6.15
- pestphp/pest: ^1.3
- phpunit/phpunit: ^9.3
README
Ce package Laravel apporte un Wrapper autour de l'API Geo du gouvernement français.
Installation
Vous pouvez installer le package via composer :
composer require yannickyayo/laravel-api-geo
Utilisation
use Yannickyayo\LaravelApiGeo\Facades\LaravelApiGeo; //---------- Recherches ----------// // Chercher une commune $response = LaravelApiGeo::towns()->search('nom', 'Pau'); /* Clés possible pour la recherche des communes : [ 'codePostal', 'codeDepartement', 'codeRegion', 'nom', 'lon', 'lat', ] */ // Chercher un département $response = LaravelApiGeo::departments()->search('nom', 'Pyrénées-Atlantiques'); /* Clés possible pour la recherche des départements : [ 'code', 'codeRegion', 'nom', ] */ // Chercher une région $response = LaravelApiGeo::regions()->search('nom', 'Nouvelle-Aquitaine'); /* Clés possible pour la recherche des régions : [ 'code', 'nom', ] */ /* Exemple de résultat : [ "status_code" => 200, "data" => "[{"code":"64445","codeDepartement":"64","codeRegion":"75","nom":"Pau","codesPostaux":["64000","64023"],"surface":3149.75,"population":77251,"centre":{"type":"Point","coordinates":[-0.3462,43.3197]},"contour":{"type":"Polygon","coordinates":[[...]]},"_score":0.24253612514094966,"departement":{"code":"64","nom":"Pyrénées-Atlantiques"},"region":{"code":"75","nom":"Nouvelle-Aquitaine"}}]", ] Vous recevez un tableau contenant de code status de la réponse et les données au format json. */
Récupérer seulement certaines colonnes
Il est possible de limiter les colonnes renvoyées par l'API avec la méthode fields()
:
$response = LaravelApiGeo::towns()->fields(['nom', 'surface'])->search('nom', 'Pau'); /* Colonnes possibles pour les communes : [ 'code', 'codeDepartement', 'codeRegion', 'nom', 'codesPostaux', 'surface', 'population', 'centre', 'contour', 'departement', 'region', ] Colonnes possibles pour les départements [ 'nom', 'code', 'codeRegion', 'region', ] Colonnes possibles pour les régions [ 'code', 'nom', ] */
Test
composer test
Changelog
Veuillez vous référer au CHANGELOG pour plus d'informations sur ce qui a changé récemment.
Contribuer
Veuillez vous référer au fichier CONTRIBUTING pour les détails.
Failles de sécurité
Veuillez vour référer à notre politique de sécurité pour savoir comment faire un rapport de sécurité.
Credits
License
Licence MIT (MIT). Voir Licence pour plus d'informations.