Développeur Full Stack

Projet Floween : Application de suivi patient aux urgences

YILMAZ Rahman

Master 2 Bases de Données et Intelligence Artificielle

Année 2024-2025

Entreprise : Solo Agilis Sweepin

Tuteur entreprise : JÉGARD Johan

Tutrice universitaire : ROXIN Ana

Durée : 24 mois

Plan de la présentation

  1. Sweepin - présentation entreprise
  2. Projet Floween - contexte et marché
  3. Équipe projet
  4. Cahier des charges
  5. Architecture technique
  6. Choix technologiques
  1. DevOps et tests
  2. Performance
  3. Évolutions futures possibles
  4. Conclusion - Bilan compétences
  5. Questions

⏱️ Durée prévue : 15 minutes

Sweepin - présentation entreprise

En chiffres

2015 Année de création
~10 Collaborateurs
100+ Clients
1M+ Téléchargements

L'entreprise

Fondateurs : Johan JÉGARD, Matthieu DIBAJI, Yanis KERFA

Localisation : Dijon

Groupe : Tessi (actionnaire depuis 2022)

Tessi : 13 000 collaborateurs, 15 pays, 532M€ CA 2023

Domaines d'activité

  • Géolocalisation intérieure (IPS)
  • Applications SmartCity

Smartcity

IPS

Projet Floween - contexte et marché

Contexte du projet

Application de suivi patient aux urgences

Client cible : Hôpital de Monaco

Date démo : mi-septembre

Équipe : 4 personnes

Mon rôle : Développement frontend et conception UI

Analyse du marché

630 Services d'urgence en France
21M Patients par an

Concurrent : FollowMe Urgences

Clients FollowMe : Hôpital Foch de Suresnes

source : https://drees.solidarites-sante.gouv.fr
source : https://www.vie-publique.fr
source : https://drees.solidarites-sante.gouv.fr
source : https://participez.esante.gouv.fr

Équipe projet Floween

Organisation de l'équipe (4 personnes)

🎯 Johan Jégard - CEO

Points stratégiques, objectifs, validation

💻 Rahman YILMAZ - Frontend

Développement frontend, conception UI

🎨 Mohamed Laaraiedh - Designer

Maquettes visuelles, UX/UI

⚙️ William Maudit - Backend

Développement backend, API

Cahier des charges

Exigences fonctionnelles

  • Application mobile-only, en mode Progressive Web App (PWA)
  • Suivi temps réel du parcours patient aux urgences
  • Deux vues :
    • Patient : accès complet aux infos médicales
    • Accompagnant : informations limitées
  • Interface en cards colorées selon l’étape (en cours, terminée, à venir)
  • Internationalisation et confidentialité (RGPD)

Exigences techniques

  • Frontend : SvelteKit (SSR), NodeJs, TypeScript, TailwindCSS, Flowbite
  • Backend : Symfony 7 (PHP), MariaDB, API REST, JWT, WildFly (HL7), Apache
  • Authentification et session sécurisées (hash patient, cookie JWT, HTTPS)
  • PWA avec cache, optimisée réseaux lents
  • Pas d’accès desktop

Architecture technique

Stack technique

Frontend SvelteKit SSR + NodeJS + TypeScript + TailwindCSS + Flowbite Svelte
Backend PHP 8.3 + Symfony 7 + MariaDB + JWT + Apache
Intégration HL7 via WildFly
Déploiement Docker + Portainer

Sécurité

  • HTTPS obligatoire
  • RGPD conforme
  • Hash unique par patient
  • Cookies sécurisés

Diagrammes d'architecture

Choix technologiques

SvelteKit SSR

Framework moderne avec rendu côté serveur

  • Performance optimale
  • Bundle size réduit
  • TypeScript natif
  • Developer experience excellente

PHP 8.3 + Symfony 7

Backend robuste et mature

  • Écosystème médical adapté
  • JWT pour l'authentification
  • MariaDB pour la persistance
  • Performance éprouvée

Progressive Web App

Application web progressive

  • Installation sans store
  • Performance

Aperçu de l'application

DevOps et tests

Containerisation

  • Docker : Environnements isolés et reproductibles
  • Portainer : Interface de gestion des conteneurs
  • Multi-environnements : Dev, Test, Production

Outils de développement

  • Git : Versioning et collaboration
  • ClickUp : Gestion de projet agile
  • Postman : Tests API
  • Webstorm : IDE de développement
  • GitHub Copilot : Assistance IA au développement

Tests et qualité

  • Tests interne
  • Tests de performance

Performance - Toutes les métriques

Métrique Fibre Optique wifi
(300 mbit/s)
4G Lente
(1 638,4 kbit/s)
4G Lente + Cache SW
(1 638,4 kbit/s)
3G
(750 kbit/s)
LCP 280ms 1 474ms 635ms 4 921ms
FCP 280ms 1 474ms 635ms 4 921ms
TTFB 110ms 580ms 580ms 1 900ms
TBT 0ms 0ms 0ms 0ms
Taille HTML 39,97 Ko
Poids transféré 187,96 Ko 187,96 Ko 8 Ko 187,96 Ko
Poids total 655 Ko
Nb requêtes 33 33 6 33

🚀 Points clés

  • Cache très efficace : 8 Ko seulement en 4G avec cache (vs 187,96 Ko)
  • Requêtes optimisées : 6 requêtes avec cache (vs 33)
  • SSR performant : LCP 280ms en fibre optique
  • TBT excellent : 0ms sur toutes les connexions

Évolutions futures possibles

🚀 Migration vers Tauri

Transformation en application desktop native pour les notifications push natives

♻️ Réutilisation UI existante

Conservation de l'interface SvelteKit actuelle

⚡ Runtime natif optimisé

Meilleures performances que les solutions web

📱 Accès APIs mobiles

Intégration système complète

🏆 Performances supérieures

Meilleur que Cordova/React Native

Conclusion et bilan des compétences - Récapitulatif 24 mois

🎯 Année 1

Développement Android Jetpack Compose Kotlin MVVM SDK SmartCity

🚀 Année 2

SvelteKit HTML/CSS/JS PHP/Symfony API REST DevOps Full Stack PWA

Questions

💬 Questions ?

Merci pour votre attention

Rahman YILMAZ

Master 2 BDIA - Alternant chez Solo Agilis Sweepin

Diaporama disponible à cette adresse : https://memoire.sudo-rahman.fr
Rapport d'alternance téléchargeable ici

N'hésitez pas à me poser vos questions sur le projet Floween, les technologies utilisées, ou mon évolution professionnelle.