SAE3.02 : Programmation Client/Serveur - Application Android, TCP/IP, Services

Projet : Application Android, TCP/UDP, multithreading, tableau de bord

Contexte du projet

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 nous a permis de renforcer notre 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 une interface utilisateur conçue via l’Android SDK, l’application intègre des fonctionnalités avancées comme le multithreading et un tableau de bord interactif. 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.

Apprentissages Critiques Mobilisés

  • AC23.01 : Automatisation de l’administration système par des scripts. Nous avons intégré des mécanismes pour automatiser des processus tels que la gestion des connexions clients et la collecte de statistiques via des threads dédiés.
  • AC23.02 : Développement d’une application conforme à un cahier des charges. Nous avons répondu aux exigences précises en termes de fonctionnalités, notamment l’authentification, le choix du protocole, et la personnalisation de l’interface utilisateur.
  • AC23.03 : Utilisation des protocoles TCP/UDP. L’application prend en charge les deux protocoles, offrant flexibilité et robustesse dans les communications réseau.
  • AC23.05 : Accès aux données depuis une application. Le tableau de bord dynamique permet une visualisation en temps réel des données échangées et des statistiques d’activité.
SAE302 étape 1

Présentation du Projet

1. Analyse et préparation : Étude du cahier des charges, définition des fonctionnalités clés : communication TCP/UDP, connexions multiples, authentification, tableau de bord interactif.
SAE302 étape 2
2. Développement et intégration : Architecture client-serveur robuste, multithreading (ExecutorService), gestion des protocoles TCP/UDP, authentification centralisée.
SAE302 étape 3
3. Conception de l’interface utilisateur : Tableau de bord dynamique, personnalisation clair/sombre, suivi en temps réel.
4. Tests et débogage : Gestion simultanée des protocoles, validation des entrées, stabilité et fiabilité de l’application.
SAE302 étape 4

Résultats techniques

  • Support complet des protocoles TCP et UDP, offrant flexibilité et fiabilité.
  • Gestion efficace de plusieurs connexions en simultané grâce au multithreading.
  • Tableau de bord dynamique pour un suivi en temps réel des activités réseau.

Résultats pratiques

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 personnalisation et la gestion des droits d’accès ont renforcé l’expérience utilisateur.

Compétences renforcées

Ce projet a consolidé nos bases en communication réseau, programmation Java, et développement Android. La résolution des erreurs rencontrées a également renforcé notre capacité à analyser et résoudre des problèmes complexes dans des environnements techniques.