Skip to main content

Architecture globale du système automatisé de traitement des commandes marée Carrefour

Le système est organisé en chaîne de traitement automatique en 4 étapes, visant à remplacer l’ensemble des manipulations humaines nécessaires au traitement quotidien des commandes du rayon marée. Ce système en étapes distincte à été choisi pour son aspect modulaire, maintenable et traçable.

1. impcarf.py – Téléchargement automatisé des commandes WebOffre

🎯 Objectif :

• Automatiser la récupération quotidienne des commandes envoyées par Carrefour (rayon marée), depuis le portail WebOffre.

⚙️ Fonctionnalités :

 ScriptConnexion :au impcarf.pyportail via Selenium (headless).

AutomatisationAuthentification sécurisée avec identifiants stockés dans .env.

• Navigation automatique vers la page de la connexion au portail Carrefour WebOffre.commande.

• Sélection du statut “Commande envoyée” (option value="B" dans le menu déroulant).

• Récupération des commandesliens de statuttéléchargement “envoyée”.xls (transformation edit/ → exportCsv/).

• Téléchargement des fichiers .xls de commandes vers le dossier localdans commandes_xls/.

• Journalisation complète des actions (connexion, statut, téléchargements, erreurs).

🔬 Points techniques :

• Sélection du statut via exécution JavaScript (élément masqué).

• Conversion des cookies Selenium → Requests pour les téléchargements directs.

• Sauvegarde des pages HTML à chaque étape pour permettre des diagnostics.

• Gestion d’erreurs avec captures d’écran en cas d’échec de connexion.

2. Conversion des commandes au format CSV

🎯 ScriptObjectif : xls2csv.py

ParcoursConvertir desautomatiquement tous les fichiers .xls récupérés.

du

dossier

• Conversioncommandes_xls/ en fichiers .csv placésexploitables.

• Assurer le suivi et la traçabilité des conversions.

⚙️ Fonctionnalités :

• Lecture des fichiers Excel avec pandas.

• Ajout d’une ligne d’horodatage de conversion en tête de chaque fichier .csv au format Horodatage: JJ/MM/AAAA - HH:MM.

• Vérification que le fichier n’a pas déjà été traité via un contrôle dans leliste.txt.

dossier

• Mise à jour de ce fichier commandes_csv/liste.txt pour garder la trace des fichiers convertis.

• Enregistrement dans un fichier commandes_recurrentes.csv des métadonnées suivantes :

• Nom du fichier,

• Première date de traitement,

• Dernière date de traitement,

• Durée entre la première et la dernière occurrence (pour identifier les commandes récurrentes).

• Archivage datéautomatique des fichiers .xls dans archives/commandes_xls/YYYYmmDD.

• Journalisation complète des conversions, des erreurs et des déplacements.

🔬 Points techniques :

• Création automatique de liste.txt et commandes_recurrentes.csv s’ils n’existent pas.

• Ajout de la ligne d’horodatage hors DataFrame pour éviter les altérations du contenu source.

• Les fichiers déjà présents dans liste.txt sont ignorés pour éviter les doublons.

• L’archivage respecte une structure datée stricte pour une traçabilité maximale.

🧾 3. csv2edi.py – Génération des fichiers EDI à partir des CSV

🎯 Objectif :

• Transformer les fichiers .csv issus de Carrefour en fichiers .edi conformes à la norme EANCOM/ORDERS.

 Assurer le suivi des commandes récurrentes et archiver chaque traitement.

Script⚙️ Fonctionnalités : csv2edi.py

• Lecture et extraction intelligente des informationsdonnées depuis les fichiers .csv.

• Génération d’un fichier .edi conformestructuré auxcontenant normes:

EANCOM/ORDERS.

• Les métadonnées : n° commande, client, entrepôt, dates,

• Les lignes articles (code EAN, libellé, quantité, prix),

• Les segments EDI normés (BGM, DTM, LIN, PIA, IMD, etc.).

• Mise à jour du fichier commandes_recurrentes.csv :

• Si la commande a déjà été traitée, mise à jour de la date de dernière occurrence et du délai cumulé.

• Sinon, création d’une nouvelle entrée.

• Archivage datéautomatique des fichiers .csv dans archives/commandes_csv/YYYYmmDD.

4. IntégrationJournalisation àcomplète l’ERPdu traitement.

🔬 Points techniques :

 ScriptContrôle :de edi2erp.pyla structure CSV (lignes, colonnes, présence des données critiques).

TransfertCréation automatique du dossier d’archive daté.

• Utilisation d’une structure MANQUANT pour les champs vides ou corrompus.

• Nommage des fichiers .edi basé sur le nom source CSV (sans extension).

🏭 4. edi2erp.py – Transfert et intégration des fichiers EDI dans l’ERP

🎯 Objectif :

• Transférer automatiquement les fichiers .edi générés vers unle répertoire surveilléd’import parde l’ERP interne.

ArchivageArchiver deschaque fichier traité pour garantir la traçabilité.

⚙️ Fonctionnalités :

• Scan du dossier commandes_edi/ pour détecter les nouveaux fichiers .edi traités dans archives/commandes_edi/YYYYmmDD.

L’Copie ou déplacement vers le répertoire surveillé par l’ERP déclenche ensuite ses propres processus d’import, validation, et traitement logistique..

 • Archivage dans archives/commandes_edi/YYYYmmDD.

• Journalisation du transfert réussi ou de toute erreur rencontrée.

🔒🔬 SécuritéPoints &techniques robustesse:

• Exécution prévue en tâche planifiée régulière (cron ou Task Scheduler).


• Création automatique du répertoire d’archive si absent.

Les

considérationsLe defichier sécuritén’est (authentification, isolation, journalisation), ainsidéplacé que lasi gestionle destransfert erreurs,ERP ferontest l’objet d’une section spécifique.

réussi.