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

v0.6.1 2026-02-17 09:26 UTC

This package is auto-updated.

Last update: 2026-02-17 09:27:00 UTC


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).

PHP Version Symfony Version License

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 DaplosReferential et 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

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

MIT

Auteur

Yoan Bernabeu pour SeineYonne