Ce projet a consisté à déployer une API Python développée avec Tornado sur un cluster de conteneurs géré par Docker Swarm. L’objectif était d’assurer un déploiement automatisé et fiable en utilisant l’intégration et la livraison continues (CI/CD) via GitLab.
Le projet a débuté par la mise en place de l’infrastructure sous ProxMox, avec 4 VMs dédiées (GitLab, DNS/DHCP et 3 nœuds Swarm). Ensuite, l’API a été conteneurisée et un pipeline GitLab a été conçu pour gérer le build, les tests (unitaires, lint, coverage) et le déploiement en pré-production puis en production.
En conclusion, cette SAE m’a permis d’approfondir mes connaissances en DevOps, d’améliorer mes compétences en automatisation et de travailler avec des outils essentiels au déploiement d’applications modernes.
Objectif du projet :
À partir de données d'acquisition fournies en continu par un serveur en Python, l'objectif est de développer une application web en utilisant le framework Django. L'application propose aux utilisateurs des fonctionnalités permettant l'affichage de courbes similaires à un oscilloscope : sélections en fonction du temps et de l'amplitude, options d'affichage, transformations mathématiques. Les langages utilisés sont le JavaScript côté navigateur et le Python côté serveur.
Contexte de l'expérience :
AGATA (Advanced Gamma Tracking Array) est un projet de recherche européen dont l'objectif est de développer et de construire un spectromètre gamma de nouvelle génération, couvrant un angle solide de 4π. Ce spectromètre sera utilisé dans des expériences exploitant des faisceaux d'ions intenses, qu'ils soient stables ou radioactifs, afin d'étudier la structure des noyaux atomiques en fonction de leur moment cinétique, de l'isospin et de la température, jusqu'aux limites de stabilité nucléaire. Le spectromètre AGATA complet sera composé d'un réseau de 180 cristaux de germanium pur encapsulés (HPGe) de grande taille (9,0 cm de long et 8,0 cm de diamètre circulaire). Les cristaux ont une forme hexagonale effilée (hexagonale à l'avant, circulaire à l'arrière) et sont segmentés électriquement en 36 segments (6 longitudinaux et 6 transversaux).
Le but de cette SAE était de créer un serveur de discussion interne type discord / teamspeak.
Ce serveur est doté d'une interface utilisateur coté client réalisée à l'aide de la librairie python3 PyQt6.
Il est possible de se rendre sur le lien github fourni ci-bas pour accéder au répertoire complet du projet.
Cette SAE a pour volonté de reprendre l'entièreté des compétences et de la théorie accumulées depuis le départ de la formation.
Celle-ci a été réalisée durant la fin de S2 de BUT 1 et a été effectuée en groupes de trois.
L'objectif du projet est de mettre en place un réseau complet dans un labo de l'IUT avec différents VLANS, des systèmes d'accès restreints en fonction des utilisateurs et de leur provenance, une interface WEB, une partie Téléphonie (analogique, numérique & IP), de l'échange de données depuis des périphériques externes (Station météo) via MQTT, installation de services type DNS, serveur web, base de donnée, serveur FTP etc etc..
Le projet aura été étalé sur deux semaines avec pour chaque grosse partie du projet (WEB, TÉLÉPHONIE, MQTT, RÉSEAU) un rapport et une soutenance à effectuer.
Clairement le projet le plus intéressant que l'on aura réalisé cette année-ci de par son ampleur et la gestion que cela impose.
Vous retrouvez ci-dessous la liste exhaustive des compétences mises en place durant le projet :
For a group project, we had to learn how to use the Django framework to build an application for absences management.
Here below are links to view the organisationnal diagram, the project report from one of our group members, and a procedure for deploying the app.
Compétences acquises :
Ressources mobilisées :
Le but de cette SAE étant de simuler le travail à effectuer lors de la création d'un réseau pour une entreprise fictive.
Cela va de la liste des matériaux qui seront requis jusqu'a la rédaction finale du devis du projet.
Il fallait également créer des plans clairs de l'installation, le tout en respectant les locaux et installations pré-existantes de l'entreprise. Cette SAE nous aura permis de développer les compétences suivantes :
Lors d'une SAE dans le cadre de ma formation de BUT, nous avons du mettre en place un réseau wifi dans une salle de TP et d'en découvrir son fonctionnement.
Pour ce faire nous avons utilisé de nombreux outils de mesure du signal, nous avons également observé les effets d'évènements externe sur le dit signal.
Cette SAE aura notamment permit de développer les compétences suivantes :
Lors d'une SAE dans le cadre de ma formation de BUT, nous avons du créer un système de tirage de loto en utilisant le language de programmation Python.
Ceci aura permit de découvrir/améliorer nos compétences, notamment concernant celles-ci :