Projets

Conception et déploiement d'un système de billetterie pour les transports en commun

L’objectif principal de ce projet est de concevoir et de déployer un système de billetterie qui permettra la vente et le contrôle efficace des titres de transport. Ce système devra être capable de gérer la vente des billets et des abonnements, enregistrer les informations associées, et assurer le contrôle des accès dans les stations de métro, les trams et les bus. Les fonctionnalités attendues incluent également la capacité à enregistrer tous les accès, qu’ils soient valides ou non, et à fournir des tableaux de bord complets avec des statistiques en temps réel sur l’activité des terminaux et le trafic global du réseau. En outre, le système devra être en mesure d’intégrer des contrôleurs équipés de terminaux mobiles, facilitant ainsi la vérification de la validité des titres de transport et contribuant à renforcer le contrôle et la sécurité dans les transports en commun. Le projet embarque comme technologie flask, mongoDB, MQTT, Mosquitto, du COAP et plusieurs autres protocoles. Le projet à été réalisé avec 3 autres étudiants sur deux jours.

 
Réseau du département informatique

Gestion de parc informatique

Mon stage consistait à assurer la gestion du parc informatique au sein du département dédié. Mon rôle principal impliquait la préparation de nouvelles images en dual boot Windows/Ubuntu ainsi que la gestion de l’enregistrement et du déploiement de plus d’une centaine de machines.

En plus de ces responsabilités, j’ai également été chargé de plusieurs autres tâches. J’ai développé une solution de déploiement automatisé pour les ordinateurs portables de prêt en utilisant Fog Project, avec un Raspberry Pi servant de serveur. De plus, j’ai pris en charge la mise à jour et l’actualisation d’un IPAM basé sur Netbox. Enfin, j’ai préparé des machines virtuelles pour divers besoins spécifiques.

Deep Learning

Ce projet consiste à développer un réseau de neurone en Java avec une interface graphique en JavaFX. Le but est de déplacer un robot avec des images qu’il transmettra vers la machine de calcul. Le serveur répondra avec les données de navigation. Le programme permet de visualiser l’évolution de l’apprentissage en temps réel et de voir évoluer les poids et les biais d’entrée.

Interface de commande du réseau de neurone
Interface de commande des différents serveurs

Système de communication

Ce projet consiste à faire communiquer plusieurs serveurs ensemble de façon à effectuer des commandes. Les informations transitent du serveur PHP vers différents serveurs Java avec divers protocoles de communication telle que le TCP ou l’UDP tout en les cryptants grâce au protocole AES. 

Token Ring

Ce projet est un système  de Token Ring entre différents processus que nous pouvons voir sur la droite. L’ensemble des processus participant à ce système (processus fils) communique grâce à des tubes et va faire circuler un message qu’on appellera le jeton. Chaque processus crée un répertoire de nom ”id” et stockera dans ce répertoire différents fichiers relatifs aux visites successives du jeton. Il utilise les différents mécanismes de communications interprocessus (IPC).

Schéma du token ring

Bataille naval

Ce projet avait pour but de créer une bataille naval qui se joue à deux joueurs sur deux exécutions du même programme. Il communique grâce à la sérialisation proposé par Java. Les interfaces sont implémentées grâce à JavaFX et JavaSwing. Le reste est en Java.