yoanbernabeu / daplos-bundle
Bundle Symfony DaplosBundle
Installs: 774
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:symfony-bundle
pkg:composer/yoanbernabeu/daplos-bundle
Requires
- php: >=8.4
- doctrine/orm: ^2.14|^3.0
- symfony/cache: ^6.4|^7.0|^8.0
- symfony/config: ^6.4|^7.0|^8.0
- symfony/console: ^6.4|^7.0|^8.0
- symfony/dependency-injection: ^6.4|^7.0|^8.0
- symfony/http-client: ^6.4|^7.0|^8.0
- symfony/http-kernel: ^6.4|^7.0|^8.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.64
- phpstan/phpstan: ^1.12
- phpstan/phpstan-doctrine: ^1.5
- phpstan/phpstan-symfony: ^1.4
- phpunit/phpunit: ^10.0|^11.0|^12.0
- symfony/phpunit-bridge: ^6.4|^7.0|^8.0
- symfony/var-exporter: ^6.4|^7.0
README
Bundle Symfony pour l'intégration des référentiels DAPLOS (données agricoles) et le parsing des fichiers d'export .dap.
Note Francophone : Le code et les entités sont en Français pour rester alignés avec la terminologie métier AgroEDI (DAPLOS).
Fonctionnalités
- Référentiels API : Synchronisation des 53 référentiels DAPLOS (10 000+ items) via l'API
- Parser de fichiers : Lecture des exports
.dap(parcelles, interventions, intrants, récoltes) - Entité unique : Architecture simplifiée avec
DaplosReferentialet enum type-safe - Cache intelligent : Support des tags pour invalidation rapide
Pré-requis
Important : L'accès aux référentiels DAPLOS nécessite d'être membre d'AgroEDI Europe. Liste des adhérents
Démarrage rapide
# Installation composer require yoanbernabeu/daplos-bundle # Générer l'entité php bin/console daplos:generate:entity # Migrations php bin/console make:migration php bin/console doctrine:migrations:migrate # Synchroniser les référentiels php -d memory_limit=1G bin/console daplos:sync --all
Configuration
Créez config/packages/yoanbernabeu_daplos.yaml :
yoanbernabeu_daplos: api: login: '%env(DAPLOS_LOGIN)%' apikey: '%env(DAPLOS_APIKEY)%' cache: enabled: true ttl: 3600
Commandes disponibles
Référentiels API
# Lister les référentiels php bin/console daplos:referentials:list # Voir les détails d'un référentiel php bin/console daplos:referentials:show 611 # Synchroniser un type php bin/console daplos:sync --type=CULTURES # Synchroniser tout php -d memory_limit=1G bin/console daplos:sync --all
Parser de fichiers .dap
# Parser un fichier php bin/console daplos:parse fichier.dap # Avec détails des interventions php bin/console daplos:parse fichier.dap --interventions # Export JSON php bin/console daplos:parse fichier.dap --format=json
Utilisation dans le code
use YoanBernabeu\DaplosBundle\Enum\DaplosReferentialType; use YoanBernabeu\DaplosBundle\Parser\Contract\FileParserInterface; // Référentiels $cultures = $repository->findByReferentialType(DaplosReferentialType::CULTURES); // Parser $document = $parser->parseFile('fichier.dap'); foreach ($document->parcelles as $parcelle) { echo $parcelle->nom; foreach ($parcelle->getEvenements() as $intervention) { echo $intervention->libelleIntervention; } }
Documentation
- Synchronisation des référentiels
- Génération d'entité
- Parser de fichiers .dap
- Traits et DTOs
- Utilisation dans le code
- FAQ
Tests
composer test # Tests unitaires composer phpstan # Analyse statique composer cs-check # Code style composer qa # Tout
Dépendances
- PHP >= 8.1
- Symfony 6.4+ / 7.x / 8.x
- Doctrine ORM
Licence
Auteur
Yoan Bernabeu pour SeineYonne