Optimisation des flux industriels : Modernisation des échanges de données via une API REST Django, remplaçant les processus fichiers/BDD pour réduire la latence entre une plateforme externe, une application ETL et les machines.
L'objectif principal de mon stage chez Constellium était de réduire la latence entre une plateforme hors site, l'application « ETL» interne (Extract, Transform, Load) et les machines de production en modernisant les échanges de données. Pour cela, j'ai conçu et développé une API REST avec Django, remplaçant les anciens processus basés sur des fichiers CSV et des synchronisations de base de données. Cette solution permet désormais des transferts de données plus rapides et automatisés via des requêtes HTTP, tout en intégrant des scripts Python pour optimiser le traitement des flux ascendants et descendants.
Répondre aux incidents et aux demandes d’assistance et d’évolution
Développer la présence en ligne de l’organisation
Mettre à disposition des utilisateurs un service informatique
Les langages et outils utilisés
Objectif de l’application
L’API REST développée durant mon stage chez Constellium
vise à fluidifier les échanges entre la plateforme hors
site, l'application ETL et les machines en modifiant le
systeme de synchronisations. Elle assure une transmission
instantanée des données pour la production, comme les
annonces et les encours machines, via des requêtes HTTP
POST.
Fonctionnalités principales
✅ Conversion des fichiers CSV - TXT - DAT en JSON
- Les données sont transformées en JSON pour faciliter
leur traitement et leur envoi via l’API.
✅ Automatisation des flux
- Les scripts encours.py et annonce.py gèrent
automatiquement la récupération, la conversion et l’envoi
des données.
✅ Serveur Flask pour la conversion inverse
- Un serveur Flask convertit les JSON reçus en fichiers
CSV exploitables par les machines, éliminant les
interventions manuelles.
✅ Optimisation des performances
- Les temps de traitement passent de 10 minutes à
quelques secondes, grâce à l’abandon des synchronisations
par fichiers.
Intérêt et impact
- Cette solution renforce l’efficacité opérationnelle de
Constellium en alignant les outils informatiques sur les
besoins industriels.
- Réduction des délais : Les données sont disponibles en
temps réel, améliorant la réactivité des équipes.
- Fiabilité accrue.
- Maintenance simplifiée : L’utilisation de technologies modernes (Django, serveur flask) rend le système plus évolutif.
Ce stage m’a permis de développer des compétences solides en
développement back-end, tout en découvrant un environnement
professionnel dans une grande entreprise industrielle. J’ai
appris à répondre à des besoins concrets grâce à la création
d’une API web fonctionnelle et bien structurée.
🧠 Compétences techniques acquises
Maîtrise du framework Django :
- J’ai appris à structurer une application Django selon
l’architecture MTV (Model-Template-View), à créer des vues,
des routes et à gérer les données via les modèles.
Création d’une API REST avec Django REST Framework :
- J’ai mis en place des endpoints d’API avec des ViewSets, des
routes personnalisées, et des sérialiseurs pour gérer les
échanges de données au format JSON.
Connexion à une base de données relationnelle :
- J’ai utilisé les modèles Django pour interfacer une base de
données et réalisé des migrations pour créer ou modifier les
tables automatiquement.
Gestion des opérations CRUD via API :
- L’API permet d’effectuer des actions GET, POST, PUT et
DELETE sur les données, respectant les standards des services
RESTful.
🌍 Découverte de nouveaux outils et langages
- Découverte approfondie de Python et du framework Django
- Utilisation du Django REST Framework
- Gestion de projet via Git pour versionner le code
- Manipulation d’une base de données avec l’ORM intégré de
Django
- Utilisation d’outils de test API comme Postman
- Approche concrète du développement d’une API RESTful dans un
contexte professionnel