Gestion de Projet
Application Mobile GSB — Java / Android

📋 Présentation du projet

Contexte : Dans le cadre du BTS SIO option SLAM (session 2026), développement d'une application Android en Java pour les équipes terrain de GSB (Galaxy Swiss Bourdin), communiquant avec l'API REST PHP de l'application web.
Réalisation n°2
Chef de projetHernandez Kenny
ModalitéProjet individuel
PériodeJanvier 2026 → Avril 2026
EnvironnementAndroid Studio / API REST OVH
Dépôt GitHubgithub.com/Kenny-Her/Gsb_Appli_Mobile
APKTélécharger l'APK

🎯 Objectifs

#ObjectifStatut
1Authentification sécurisée via token (stocké en SharedPreferences)✔ Réalisé
2Tableau de bord personnalisé selon le rôle de l'utilisateur✔ Réalisé
3Consultation et gestion des visites planifiées✔ Réalisé
4Rédaction, modification et suppression des rapports de visite✔ Réalisé
5Validation des rapports (rôle Délégué)✔ Réalisé
6Gestion des praticiens avec type et région (spinners dynamiques)✔ Réalisé
7Gestion des produits avec famille thérapeutique✔ Réalisé
8Inscription avec sélection du rôle et de la région✔ Réalisé
9Architecture MVC légère (POJOs Model + Activities Controller + XML View)✔ Réalisé

📅 Planning (Diagramme de Gantt)

Tâche Janv.Fév.MarsAvr.
Analyse & architecture Android (activités, API)
Connexion API REST + authentification token
Écran de connexion & tableau de bord
Module visites planifiées
Module rapports (ajout, modification, suppression)
Module validation des rapports
Module praticiens (spinners type + région)
Module produits (spinner famille)
Inscription avec rôle & région dynamiques
Architecture MVC (POJOs model/)
Tests, corrections & génération APK

🏗 Architecture MVC appliquée

📦 MODEL

  • model/Praticien.java
  • model/Produit.java
  • model/Rapport.java
  • model/Visite.java

POJOs construits depuis JSON. Encapsulent les données et exposent des getters.

🎮 CONTROLLER

  • MainActivity.java
  • DashboardActivity.java
  • RapportsActivity.java
  • PraticiensActivity.java
  • ProduitsActivity.java
  • VisitesActivity.java
  • ValiderRapportsActivity.java
  • InscriptionActivity.java

Activities gérant les appels API (Volley), la logique métier et les interactions utilisateur.

🖼 VIEW

  • activity_main.xml
  • activity_dashboard.xml
  • activity_rapports.xml
  • activity_praticiens.xml
  • activity_produits.xml
  • activity_visites.xml
  • activity_inscription.xml

Layouts XML définissant l'interface. CardViews générés dynamiquement en Java.

🛠 Ressources techniques

CatégorieOutil / TechnologieRôle dans le projet
IDEAndroid StudioDéveloppement, débogage et génération de l'APK
Éditeur back-endVisual Studio CodeDéveloppement de l'API REST PHP
Langage frontJava / XMLLogique applicative et interfaces utilisateur
Bibliothèque réseauVolleyRequêtes HTTP asynchrones vers l'API REST
Format d'échangeJSONCommunication entre l'app et l'API PHP
Persistance localeSharedPreferencesStockage du token d'authentification
Back-end APIPHP / PDOAPI REST hébergée sur OVH
SGBDMySQLBase de données hébergée sur OVH
VersioningGitHubSuivi des versions du code source
Gestion BDDPHPMyAdminAdministration de la base MySQL OVH

⚠️ Gestion des risques

RisqueNiveauSolution apportée
OVH bloque l'en-tête Authorization: Bearer en CGI Élevé Token transmis en paramètre GET ?token=xxx sur tous les appels API
Volley ne supporte pas nativement PUT avec corps de requête Élevé Workaround : POST + paramètre _method=PUT détecté côté PHP
Chevauchement de la toolbar avec la barre de statut Android Moyen Attribut android:fitsSystemWindows="true" sur tous les layouts
Couleurs hex courtes (#777) causant un crash Moyen Color.parseColor() exige 6 chiffres → remplacé par #777777
Spinners non remplis si l'API est lente ou indisponible Moyen Fallback statique (liste locale) en cas d'erreur réseau sur chaque spinner
Perte de données lors du développement Faible Versioning GitHub avec commits réguliers

📦 Livrables

LivrableDescriptionStatut
APK AndroidApplication installable sur tout appareil Android✔ Livré
Code sourceProjet Android Studio complet sur GitHub✔ Livré
Classes Model MVC4 POJOs dans le package model/✔ Livré
8 Activities (Controllers)Gestion de toutes les fonctionnalités applicatives✔ Livré
7 Layouts XML (Views)Interfaces utilisateur de chaque écran✔ Livré
Comptes de démonstration4 comptes (un par rôle) sur le serveur OVH✔ Livré