La SAE3.02 visait à développer une application client-serveur capable de communiquer à travers les protocoles TCP et UDP, en respectant un cahier des charges précis. Ce projet m'a permis de renforcer ma maîtrise des concepts fondamentaux de la communication réseau, notamment la gestion des connexions multiples, l'authentification des utilisateurs, et l'échange de données complexes.
Développée en Java avec Android Studio, l'application intègre des fonctionnalités avancées comme le multithreading, un système d'authentification par rôles, et un service de transfert de fichiers. Ce projet a été une opportunité unique d'explorer les protocoles réseau tout en appliquant des solutions concrètes pour améliorer l'expérience utilisateur.
Écran de connexion avec gestion des rôles admin/utilisateur.
Écran principal avec sélection TCP/UDP et services disponibles.
Le projet s'est déroulé en plusieurs phases structurées, mettant en avant mes compétences en développement logiciel et en gestion de projet.
J'ai étudié les spécifications du cahier des charges, définissant les fonctionnalités clés de l'application : communication via TCP/UDP, gestion des connexions multiples, authentification, et services multiples. Cette phase a mobilisé mes capacités d'analyse critique et de planification technique.
L'application propose trois services principaux :
J'ai résolu des erreurs critiques comme la gestion simultanée des protocoles, la synchronisation des threads, et la validation des entrées utilisateur. Ces étapes ont permis de garantir la stabilité et la fiabilité de l'application.
Écran montrant les trois services disponibles et leurs fonctionnalités.
Le projet a abouti à une application fonctionnelle répondant aux exigences initiales et démontrant mes compétences dans divers domaines :
L'application a permis de simuler des scénarios réalistes de communication réseau, illustrant des cas d'usage tels que la gestion d'un serveur multi-services ou l'échange de données structurées. La gestion des droits d'accès et l'interface intuitive ont renforcé l'expérience utilisateur.
Écrans montrant les tests de connexion et d'échange de données réussis.
Ce projet a consolidé mes bases en communication réseau, programmation Java, et développement Android. La résolution des erreurs rencontrées a également renforcé ma capacité à analyser et résoudre des problèmes complexes dans des environnements techniques.
Logs détaillés montrant la gestion des connexions et l'exécution des services.
Le développement de cette application Android client/serveur a été un succès complet, répondant à tous les objectifs fixés dans le cahier des charges. L'application démontre une maîtrise approfondie des concepts de programmation réseau, de développement mobile et de gestion des architectures distribuées.
Cette SAE m'a permis d'acquérir une expertise significative en développement mobile. N'ayant pas d'expérience préalable en Java Android, je suis particulièrement fier du résultat obtenu. Le projet m'a poussé à maîtriser simultanément plusieurs domaines techniques : programmation orientée objet, protocoles réseau, multithreading, et écosystème Android.
L'implémentation du service de transfert de fichiers comme prise d'initiative démontre ma capacité à aller au-delà des exigences de base pour créer des fonctionnalités véritablement utiles. Cette expérience constitue une base solide pour de futurs projets de développement d'applications mobiles et de systèmes distribués.