Stage deuxième année Constellium

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.

Contexte de mon stage

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.

Tableau des Compétences - épreuve BTS SIO
Compétences
Projets
Gérer le patrimoine informatique

Répondre aux incidents et aux demandes d’assistance et d’évolution

Développer la présence en ligne de l’organisation

Travailler en mode projet

Mettre à disposition des utilisateurs un service informatique

Organiser son développement professionnel

Les langages et outils utilisés

POSTGRE SQL
SVN
GITLAB
LINUX
PYTHON
DJANGO
Descriptions du projet

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.

Bilan de mon stage

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