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.
• 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.
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.
• 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:
• 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.
réussi.Les•
considérationsLedefichiersécuritén’est(authentification, isolation, journalisation), ainsidéplacé quelasigestionledestransferterreurs,ERPferontestl’objet d’une section spécifique.