|
| Titre : |
Conception et développement d’un système LIMS Plateforme de gestion d’un laboratoire médical Stage effectué au sein de SIGEAD |
| Type de document : |
document électronique |
| Auteurs : |
Seif El Islam Lakhal ; Mohamed Younes Djilani, Auteur ; Balbal,Samir, Directeur de thèse |
| Editeur : |
Setif:UFA |
| Année de publication : |
2026 |
| Importance : |
1 vol (86 f .) |
| Format : |
29 cm |
| Langues : |
Français (fre) |
| Catégories : |
Thèses & Mémoires:Informatique
|
| Mots-clés : |
LIMS
Laboratoire médical
Angular
PHP
MySQL
API REST
RBAC
Gestion de laboratoire |
| Index. décimale : |
004 Informatique |
| Résumé : |
Ce mémoire présente la conception, le développement et le déploiement d’un système de gestion de
laboratoire d’analyses médicales de type LIMS (Laboratory Information Management System). Réalisé
en collaboration avec Infinity Prod by SIGEAD, ce projet vise à répondre aux problématiques de gestion
des données, de traçabilité, de sécurité et d’optimisation des processus au sein des laboratoires médicaux.
La solution développée repose sur une architecture à trois tiers intégrant un frontend Angular 17, une API
REST PHP 8 et une base de données MySQL. Elle permet la gestion des patients, le suivi des analyses, la
validation des résultats biologiques, la facturation, le suivi des paiements ainsi que l’accès sécurisé aux
résultats via des codes QR.
La sécurité est assurée par le hachage bcrypt des mots de passe, le contrôle d’accès basé sur les rôles
(RBAC), l’authentification par session et l’utilisation de requêtes préparées afin de prévenir les injections
SQL. L’application a été déployée sur l’infrastructure cloud de l’entreprise.
Les résultats obtenus montrent que la solution proposée améliore la centralisation des données, la traçabilité
des opérations et l’automatisation des activités de laboratoire, contribuant ainsi à une gestion plus
efficace et sécurisée. |
| Note de contenu : |
Sommaire
Abstract iii
Résumé iv
Abréviations x
Introduction générale 1
Chapitre 1 : Contexte du projet et cahier des charges 3
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Présentation de l’organisme d’accueil . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1 Présentation générale de l’entreprise . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.2 Activités et domaine d’expertise . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.3 Organisation de l’entreprise . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Contexte général du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.1 Présentation du domaine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.2 Limites des systèmes existants . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.3 Importance et enjeux du projet . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4 Cahier des charges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4.1 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4.2 Objectifs du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.3 Objectif général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.4 Objectifs opérationnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.5 Spécification des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4.6 Besoins non fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.4.7 Solution proposée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Chapitre 2 : Conception du système 26
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2 Identification des acteurs du système . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.3 Diagrammes des cas d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.1 Inventaire des cas d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.3.2 Diagramme des cas d’utilisation global . . . . . . . . . . . . . . . . . . . . . 30
2.3.3 Description textuelle des cas d’utilisation principaux . . . . . . . . . . . . . . 31
2.4 Diagrammes de séquence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.4.1 Scénario 1 – Authentification d’un utilisateur . . . . . . . . . . . . . . . . . . 33
2.4.2 Scénario 2 – Création d’une demande d’analyses . . . . . . . . . . . . . . . . 33
2.4.3 Scénario 3 – Validation des résultats par le biologiste . . . . . . . . . . . . . . 34
2.5 Diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.5.1 Présentation des entités principales . . . . . . . . . . . . . . . . . . . . . . . . 35
2.5.2 Représentation graphique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.5.3 Contraintes d’intégrité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.6 Règles de gestion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.7 Conception de la base de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.7.1 Modèle logique des données . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.7.2 Description des tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.7.3 Récapitulatif des tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.8 Diagramme d’activité – Processus de paiement . . . . . . . . . . . . . . . . . . . . . . 43
2.8.1 Description du processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.9 Diagramme de composants et architecture logicielle . . . . . . . . . . . . . . . . . . . 45
2.9.1 Architecture en trois couches . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.9.2 Description des composants de la solution . . . . . . . . . . . . . . . . . . . . 47
2.10 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Chapitre 3 : Réalisation et Implémentation 49
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.2 Environnement de développement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.2.1 Environnement matériel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.2.2 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.3 Technologies utilisées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.3.1 Frontend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.3.2 Backend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.3.3 Base de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.3.4 API REST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.4 Architecture de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.5 Implémentation des fonctionnalités . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.5.1 Gestion des utilisateurs et authentification . . . . . . . . . . . . . . . . . . . . 57
3.5.2 Gestion des patients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.5.3 Gestion des analyses et des prélèvements . . . . . . . . . . . . . . . . . . . . 58
3.5.4 Gestion des résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.5.5 Gestion de la facturation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.5.6 Tableau de bord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.6 Présentation des interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.6.1 Interface de connexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.6.2 Tableau de bord principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.6.3 Module patients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.6.4 Module analyses et prélèvements . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.6.5 Module factures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.7 Sécurité et gestion des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.8 Tests et validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.8.1 Tests des endpoints API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.8.2 Tests fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.8.3 Tests de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.8.4 Environnement de test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.8.5 Résultats des tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.9 Difficultés rencontrées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.10 Déploiement de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.10.1 Architecture de déploiement . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.10.2 Accès à l’application déployée . . . . . . . . . . . . . . . . . . . . . . . . . . 72
3.10.3 Procédure de déploiement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
3.10.4 Configuration CORS pour l’environnement de production . . . . . . . . . . . . 74
3.10.5 Code source et gestion de versions . . . . . . . . . . . . . . . . . . . . . . . . 74
3.10.6 Mesures de sécurité post-déploiement . . . . . . . . . . . . . . . . . . . . . . 75
3.10.7 Intégration et déploiement des automates d’analyse . . . . . . . . . . . . . . . 75
3.10.8 Accès au patient via code QR . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.10.9 Procédure de mise à jour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.10.10 Limites et points d’attention . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
3.11 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Conclusion générale 82
Bibliographie 84 |
| Côte titre : |
MAI/1074 |
Conception et développement d’un système LIMS Plateforme de gestion d’un laboratoire médical Stage effectué au sein de SIGEAD [document électronique] / Seif El Islam Lakhal ; Mohamed Younes Djilani, Auteur ; Balbal,Samir, Directeur de thèse . - [S.l.] : Setif:UFA, 2026 . - 1 vol (86 f .) ; 29 cm. Langues : Français ( fre)
| Catégories : |
Thèses & Mémoires:Informatique
|
| Mots-clés : |
LIMS
Laboratoire médical
Angular
PHP
MySQL
API REST
RBAC
Gestion de laboratoire |
| Index. décimale : |
004 Informatique |
| Résumé : |
Ce mémoire présente la conception, le développement et le déploiement d’un système de gestion de
laboratoire d’analyses médicales de type LIMS (Laboratory Information Management System). Réalisé
en collaboration avec Infinity Prod by SIGEAD, ce projet vise à répondre aux problématiques de gestion
des données, de traçabilité, de sécurité et d’optimisation des processus au sein des laboratoires médicaux.
La solution développée repose sur une architecture à trois tiers intégrant un frontend Angular 17, une API
REST PHP 8 et une base de données MySQL. Elle permet la gestion des patients, le suivi des analyses, la
validation des résultats biologiques, la facturation, le suivi des paiements ainsi que l’accès sécurisé aux
résultats via des codes QR.
La sécurité est assurée par le hachage bcrypt des mots de passe, le contrôle d’accès basé sur les rôles
(RBAC), l’authentification par session et l’utilisation de requêtes préparées afin de prévenir les injections
SQL. L’application a été déployée sur l’infrastructure cloud de l’entreprise.
Les résultats obtenus montrent que la solution proposée améliore la centralisation des données, la traçabilité
des opérations et l’automatisation des activités de laboratoire, contribuant ainsi à une gestion plus
efficace et sécurisée. |
| Note de contenu : |
Sommaire
Abstract iii
Résumé iv
Abréviations x
Introduction générale 1
Chapitre 1 : Contexte du projet et cahier des charges 3
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Présentation de l’organisme d’accueil . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1 Présentation générale de l’entreprise . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.2 Activités et domaine d’expertise . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.3 Organisation de l’entreprise . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Contexte général du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.1 Présentation du domaine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.2 Limites des systèmes existants . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.3 Importance et enjeux du projet . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4 Cahier des charges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4.1 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4.2 Objectifs du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.3 Objectif général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.4 Objectifs opérationnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.5 Spécification des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4.6 Besoins non fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.4.7 Solution proposée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Chapitre 2 : Conception du système 26
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2 Identification des acteurs du système . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.3 Diagrammes des cas d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.1 Inventaire des cas d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.3.2 Diagramme des cas d’utilisation global . . . . . . . . . . . . . . . . . . . . . 30
2.3.3 Description textuelle des cas d’utilisation principaux . . . . . . . . . . . . . . 31
2.4 Diagrammes de séquence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.4.1 Scénario 1 – Authentification d’un utilisateur . . . . . . . . . . . . . . . . . . 33
2.4.2 Scénario 2 – Création d’une demande d’analyses . . . . . . . . . . . . . . . . 33
2.4.3 Scénario 3 – Validation des résultats par le biologiste . . . . . . . . . . . . . . 34
2.5 Diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.5.1 Présentation des entités principales . . . . . . . . . . . . . . . . . . . . . . . . 35
2.5.2 Représentation graphique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.5.3 Contraintes d’intégrité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.6 Règles de gestion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.7 Conception de la base de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.7.1 Modèle logique des données . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.7.2 Description des tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.7.3 Récapitulatif des tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.8 Diagramme d’activité – Processus de paiement . . . . . . . . . . . . . . . . . . . . . . 43
2.8.1 Description du processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.9 Diagramme de composants et architecture logicielle . . . . . . . . . . . . . . . . . . . 45
2.9.1 Architecture en trois couches . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.9.2 Description des composants de la solution . . . . . . . . . . . . . . . . . . . . 47
2.10 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Chapitre 3 : Réalisation et Implémentation 49
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.2 Environnement de développement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.2.1 Environnement matériel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.2.2 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.3 Technologies utilisées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.3.1 Frontend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.3.2 Backend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.3.3 Base de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.3.4 API REST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.4 Architecture de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.5 Implémentation des fonctionnalités . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.5.1 Gestion des utilisateurs et authentification . . . . . . . . . . . . . . . . . . . . 57
3.5.2 Gestion des patients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.5.3 Gestion des analyses et des prélèvements . . . . . . . . . . . . . . . . . . . . 58
3.5.4 Gestion des résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.5.5 Gestion de la facturation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.5.6 Tableau de bord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.6 Présentation des interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.6.1 Interface de connexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.6.2 Tableau de bord principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.6.3 Module patients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.6.4 Module analyses et prélèvements . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.6.5 Module factures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.7 Sécurité et gestion des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.8 Tests et validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.8.1 Tests des endpoints API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.8.2 Tests fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.8.3 Tests de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.8.4 Environnement de test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.8.5 Résultats des tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.9 Difficultés rencontrées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.10 Déploiement de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.10.1 Architecture de déploiement . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.10.2 Accès à l’application déployée . . . . . . . . . . . . . . . . . . . . . . . . . . 72
3.10.3 Procédure de déploiement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
3.10.4 Configuration CORS pour l’environnement de production . . . . . . . . . . . . 74
3.10.5 Code source et gestion de versions . . . . . . . . . . . . . . . . . . . . . . . . 74
3.10.6 Mesures de sécurité post-déploiement . . . . . . . . . . . . . . . . . . . . . . 75
3.10.7 Intégration et déploiement des automates d’analyse . . . . . . . . . . . . . . . 75
3.10.8 Accès au patient via code QR . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.10.9 Procédure de mise à jour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.10.10 Limites et points d’attention . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
3.11 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Conclusion générale 82
Bibliographie 84 |
| Côte titre : |
MAI/1074 |
|