En mettant la logique métier de côté, le problème se traite par méthodes d’intégration.

Je le découperais en 4 couches :

1. Méthodes de collecte du fichier source

A. Téléchargement planifié

Un job va chercher périodiquement le fichier Excel sur le site externe.

Usage :

  • site public

  • URL stable

  • pas d’événement émis par la source

Avantages :

  • simple

  • robuste

  • facile à opérer

Inconvénients :

  • on vérifie même quand rien n’a changé

  • dépend du rythme de polling


B. Détection par empreinte du fichier

On télécharge ou on lit les métadonnées, puis on calcule un hash du fichier.

Principe :

  • si le hash est identique, on ne fait rien

  • si le hash change, on lance l’analyse

Avantages :

  • très efficace

  • évite les imports inutiles

Inconvénient :

  • dit que le fichier a changé, pas quoi a changé


C. Versionnement systématique des snapshots

Chaque fichier reçu est archivé comme une version datée.

Principe :

  • on conserve v1, v2, v3, etc.

  • la comparaison se fait entre deux snapshots successifs

Avantages :

  • audit complet

  • possibilité de rejouer l’historique

  • très utile pour les écarts

Inconvénient :

  • plus de stockage

  • plus de discipline opérationnelle


2. Méthodes de détection des différences

A. Diff au niveau du fichier

On compare le fichier courant au précédent comme un objet global.

Résultat :

  • changé / inchangé

Usage :

  • bon comme filtre rapide

  • insuffisant seul pour ERPLibre


B. Diff au niveau des lignes

C’est la méthode la plus sérieuse dans ce genre de cas.

Principe :

  • chaque ligne représente un enregistrement métier

  • on identifie une ligne par une clé stable

  • on compare ancien et nouveau jeu de lignes

On obtient 4 catégories :

  • nouvelles lignes

  • lignes supprimées

  • lignes modifiées

  • lignes inchangées

Avantages :

  • très compatible avec ERPLibre

  • permet du create / update / archive

  • méthode généralement la plus propre

Condition :

  • il faut une clé métier stable, ou à défaut une clé technique reconstruite


C. Diff au niveau des cellules

On compare champ par champ à l’intérieur d’une ligne.

Exemple :

  • montant changé

  • date changée

  • statut changé

Avantages :

  • précision fine

  • utile pour journaliser les changements

  • permet d’éviter des mises à jour inutiles dans ERPLibre

Inconvénient :

  • plus coûteux

  • plus complexe si les colonnes changent souvent


D. Diff par hash de ligne

Pour chaque ligne normalisée, on calcule une empreinte.

Principe :

  • même clé + hash différent = ligne modifiée

  • même clé + hash identique = aucune mise à jour

Avantages :

  • très efficace

  • très propre techniquement

  • excellent compromis entre simplicité et performance

C’est souvent la meilleure méthode pratique.


3. Méthodes de synchronisation vers ERPLibre

A. Import brut et remplacement complet

On efface ou désactive les anciennes données, puis on recharge tout.

Avantages :

  • très simple conceptuellement

Inconvénients :

  • brutal

  • mauvais pour l’historique

  • risque de casser les liens ERPLibre

  • peu élégant

Je ne recommande pas cette méthode sauf petit volume et modèle jetable.


B. Synchronisation incrémentale par upsert

Méthode standard recommandée.

Principe :

  • si la clé n’existe pas : création

  • si la clé existe et les données changent : mise à jour

  • si la clé n’existe plus dans la source : archivage ou désactivation

Avantages :

  • propre

  • stable

  • compatible avec le fonctionnement d’ERPLibre

  • bon pour le suivi dans le temps

C’est la méthode la plus naturelle pour ce besoin.


C. Staging puis promotion

On charge d’abord les données dans une zone tampon, puis on les pousse dans les modèles métier ERPLibre après validation.

Deux étages :

  1. table/modèle de staging

  2. modèles métier finaux

Avantages :

  • très professionnel

  • permet validation, nettoyage, contrôle qualité

  • protège les modèles métier

  • excellent pour les fichiers Excel externes, souvent imparfaits

C’est souvent la meilleure architecture réelle.


D. Journal des écarts avant écriture

Avant de modifier ERPLibre, on produit un lot d’écarts :

  • à créer

  • à modifier

  • à archiver

  • anomalies

Avantages :

  • auditabilité

  • validation humaine possible

  • utile si les subventions sont sensibles

Très bonne méthode quand la donnée a une portée administrative.


4. Méthodes d’intégration technique avec ERPLibre

A. Module ERPLibre dédié

On crée un module ERPLibre qui :

  • stocke la source

  • gère le staging

  • calcule les écarts

  • met à jour les modèles métier

Avantages :

  • cohérent

  • traçable

  • maintenable

  • intégré au cycle ERPLibre

C’est la méthode la plus propre si le système doit durer.


B. ETL externe qui appelle ERPLibre proprement

Un service externe récupère Excel, calcule les écarts, puis pousse les mises à jour vers ERPLibre via son mécanisme applicatif.

Avantages :

  • séparation claire

  • bon si vous avez déjà une stack d’intégration

  • plus facile à industrialiser

Inconvénient :

  • un système de plus à opérer


C. Écriture directe en base

Possible techniquement, mais mauvaise méthode pour ERPLibre.

Pourquoi :

  • contourne les règles métier

  • contourne les automatismes ORM

  • risque d’incohérence

Je déconseille.


Les grandes méthodes possibles, résumées

Méthode 1 — Polling + hash fichier + reload complet

Simple, mais assez grossière.

Méthode 2 — Polling + snapshots + diff par lignes + upsert ERPLibre

Méthode standard, solide.

Méthode 3 — Polling + staging + diff par hash de ligne + validation + promotion

Méthode la plus professionnelle.

Méthode 4 — Versionnement complet + journal des écarts + synchronisation incrémentale

Méthode idéale si on veut audit, traçabilité et historique fort.


Ce que je recommanderais

Pour un contexte Polytechnique / subventions / suivi professoral, je recommanderais ceci :

Méthode cible :

  1. téléchargement planifié du fichier

  2. archivage du snapshot

  3. normalisation du contenu Excel

  4. calcul d’une clé stable par enregistrement

  5. hash par ligne

  6. détection des écarts

  7. chargement dans un modèle de staging ERPLibre

  8. validation automatique des anomalies

  9. synchronisation incrémentale vers les modèles métier

  10. journal d’import et d’écarts

En pratique, ça donne une architecture très propre :
Source Excel → Snapshot → Normalisation → Diff → Staging → Sync ERPLibre → Audit


En une phrase

Oui : il existe plusieurs méthodes, mais la plus sérieuse est généralement
snapshot versionné + diff par lignes (ou hash de ligne) + staging + upsert incrémental dans ERPLibre.

Je peux maintenant te faire la typologie complète des méthodes sous forme de tableau comparatif, ou directement te proposer une architecture de référence concrète pour ERPLibre.