Stage de deuxième année — BUT Informatique
Stage AP-HP — Hôpital Avicenne
Analyse et amélioration d’un prototype d’application web destiné au pilotage d’une Unité de Diagnostic Rapide. Mon travail a porté sur l’audit fonctionnel, l’analyse du backend, l’intégration LDAP / Active Directory et la correction de plusieurs problèmes liés aux dossiers patients et aux utilisateurs.
Contexte du stage
Stage réalisé du 20 avril au 12 juin 2026 au sein de l’Hôpital Avicenne, établissement rattaché à l’AP-HP.
Structure d’accueil
L’AP-HP regroupe plusieurs établissements hospitaliers en Île-de-France. Mon stage s’est déroulé à l’Hôpital Avicenne, dans un environnement où les outils informatiques doivent être fiables, sécurisés et adaptés aux besoins médicaux.
Besoin métier
Le projet répondait à un besoin de l’Unité de Diagnostic Rapide de Jean-Verdier : remplacer progressivement un fichier partagé par une application permettant de centraliser les données patients et de suivre l’activité du service.
Objectifs de ma mission
Comprendre le prototype existant, identifier ses limites et contribuer à sa fiabilisation dans un environnement hospitalier.
Analyser l’existant
- Découvrir le fonctionnement général du POC
- Tester les principales fonctionnalités
- Identifier les bugs visibles côté utilisateur
- Comprendre l’architecture du backend
Améliorer l’application
- Renforcer la validation des données
- Améliorer la cohérence des dossiers patients
- Sécuriser certaines actions administratives
- Intégrer l’authentification Active Directory
Mission 1
Audit fonctionnel du prototype
La première étape a consisté à tester l’application comme un utilisateur afin d’identifier les anomalies, les incohérences et les fonctionnalités à améliorer.
Modules testés
- Création et modification des dossiers patients
- Gestion des utilisateurs
- Statistiques et graphiques
- Import et export CSV
- Journal d’audit
- Commentaires et activité HDJ
Problèmes observés
- Valeurs incohérentes acceptées dans les formulaires
- Dates saisies dans un ordre illogique
- Messages d’erreur parfois insuffisants
- Imports CSV bloqués ou incomplets
- Données pouvant fausser les statistiques
Mission 2
Analyse technique du backend
Après l’audit fonctionnel, j’ai étudié le code source afin de relier les problèmes observés dans l’interface aux différentes couches du backend.
Architecture étudiée
- Contrôleurs Spring Boot
- Services et logique métier
- DTO de création et de modification
- Entités Java
- Repositories PostgreSQL
- Spring Security
Analyse réalisée
- Recherche de l’origine des anomalies
- Étude du parcours complet des données
- Analyse des validations existantes
- Étude des champs dynamiques
- Analyse de l’import et de l’export CSV
- Préparation de pistes de correction
Environnement technique
Mise en place d’un environnement local et d’une machine virtuelle Linux pour compiler, transférer et tester l’application.
Technologies utilisées
- Java et Spring Boot
- Spring Security
- PostgreSQL
- Maven
- IntelliJ IDEA
- Git et GitHub
- Machine virtuelle Linux
Cycle de travail
- Analyse et modification du projet en local
- Compilation avec Maven
- Génération du fichier JAR
- Transfert du fichier vers la machine virtuelle
- Lancement avec la base PostgreSQL
- Vérification du fonctionnement dans le navigateur
Mission 3
Intégration LDAP / Active Directory
Adaptation du système d’authentification afin de permettre aux utilisateurs de se connecter avec leurs identifiants professionnels AP-HP.
Système hybride
- Active Directory pour l’authentification
- Groupes AD pour déterminer les droits
- PostgreSQL pour les profils applicatifs
- Spring Security pour la gestion des accès
Gestion des rôles
- Groupe administrateurs : rôle ADMINISTRATEUR
- Groupe médecins : rôle MÉDECIN
- Aucun groupe autorisé : accès refusé
- Création automatique du profil lors de la première connexion
Mission 4
Développement et correction du POC
Correction des anomalies prioritaires identifiées pendant les tests et validées avec mon maître de stage.
Dossiers patients
- Validation des noms et prénoms
- Contrôle du format de l’IPP
- Code postal limité à cinq chiffres
- Vérification des dates futures
- Contrôle de la cohérence chronologique
- Renforcement du calcul du statut du dossier
Gestion des utilisateurs
- Validation des logins professionnels
- Prise en charge des adresses e-mail AP-HP
- Amélioration des messages d’erreur
- Suppression des faux messages de succès
- Protection contre l’auto-désactivation d’un administrateur
Tests et validation
Chaque correction a été vérifiée avec plusieurs scénarios fonctionnels et des requêtes SQL de contrôle.
Tests fonctionnels
- Saisie volontaire de données incorrectes
- Tests de dates médicales incompatibles
- Tests de différents formats de login
- Vérification des messages affichés
- Contrôle des actions administratives sensibles
Vérifications techniques
- Compilation du projet avec Maven
- Analyse des logs du backend
- Inspection des requêtes HTTP avec le navigateur
- Requêtes SQL dans PostgreSQL
- Comparaison entre la base et l’interface
Une limite technique identifiée
Certains champs dynamiques, comme le sexe, le médecin traitant, le mode de contact ou le champ « adressé par », nécessitaient une analyse plus approfondie.
Chemin complet de la donnée
- Formulaire HTML
- JavaScript
- Appel API
- Contrôleur backend
- Service métier
- Base PostgreSQL
- Affichage dans le dossier patient
Décision adoptée
J’ai choisi de ne pas modifier largement cette partie sans comprendre entièrement son fonctionnement. Cette démarche prudente permettait d’éviter d’introduire une régression dans une application manipulant des données sensibles.
Bilan du stage
Une expérience professionnelle qui m’a permis de progresser techniquement et de découvrir le rôle essentiel de l’informatique dans un environnement hospitalier.
Compétences techniques
- Analyse d’une application existante
- Développement backend avec Spring Boot
- Utilisation de PostgreSQL
- Authentification LDAP et Active Directory
- Débogage et analyse des logs
- Tests fonctionnels et validation des données
Compétences professionnelles
- Autonomie
- Rigueur
- Communication avec une équipe technique
- Compréhension d’un besoin métier
- Présentation et justification de mes choix
- Prise en compte des risques de régression