|
| Titre : |
Réalisation d’une application de contrôle d’un afficheur pour la gestion d’une file d’attente en utilisant les sockets de la bibliothèque Qt |
| Type de document : |
document électronique |
| Auteurs : |
Takoua Djemmadi ; Chahrazed Slimani, Auteur ; Guellati, Nabil, Directeur de thèse |
| Editeur : |
Setif:UFA |
| Année de publication : |
2025 |
| Importance : |
1 vol (53 f .) |
| Format : |
29 cm |
| Langues : |
Français (fre) |
| Catégories : |
Thèses & Mémoires:Informatique
|
| Mots-clés : |
Réalisation d’une application |
| Index. décimale : |
004 Informatique |
| Résumé : |
Dans un contexte où la gestion efficace du temps et de l’affluence dans les lieux publics devient
une nécessité, ce mémoire présente la conception et la réalisation d’un système de gestion de
file d’attente informatisé. L’objectif principal est de proposer une solution évolutive et interactive
permettant d’améliorer l’organisation des flux de personnes dans des espaces tels que les
hôpitaux, administrations ou guichets de services.
Pour répondre à cette problématique, une application a été développée à l’aide de la bibliothèque
Qt, exploitant les sockets TCP/UDP pour assurer la communication entre les différents modules
du système. L’affichage dynamique, déployé sur un Raspberry Pi, permet une visualisation claire
des informations destinées aux usagers : numéro de ticket, guichet, messages d’accueil et images
publicitaires.
Le système repose sur une architecture distribuée incluant un serveur distant, un module d’affichage
et un contrôleur, offrant ainsi souplesse, modularité et possibilité d’extinction à distance.
Ce travail comprend également une étude technique du Raspberry Pi et de Qt, une analyse
fonctionnelle, une modélisation UML, et une phase d’implémentation concrète.
Les résultats obtenus démontrent la faisabilité et l’efficacité d’une telle solution dans le cadre
d’une gestion moderne des files d’attente. Des perspectives d’évolution sont proposées, notamment
l’intégration de nouvelles fonctionnalités telles que l’appel vocal ou la prise de rendez-vous
à distance. |
| Note de contenu : |
Sommaire
Introduction générale 10
Raspberry Pi 11
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Qui devrait utiliser le Raspberry Pi ? . . . . . . . . . . . . . . . . . . . . . . . . 12
L’avenir du Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Les Modèles de Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Les Composants de Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Les composants internes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Les composants externes (périphériques) . . . . . . . . . . . . . . . . . . . . . . 15
Systèmes D’exploitation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Alternatives à Raspbian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Installation de l’OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Installation à l’aide de NOOBS . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Téléchargement de NOOBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Transfert de NOOBS sur la carte micro SD . . . . . . . . . . . . . . . . 19
Démarrage de NOOBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Installation manuelle de l’OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Écriture de l’image de l’OS sur la carte micro SD (L’installation de l’OS) 22
Flashage depuis Linux . . . . . . . . . . . . . . . . . . . . . . . . 22
Flashage depuis Windows . . . . . . . . . . . . . . . . . . . . . . 22
Premiers pas avec le Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Préparer le Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Connexion d’un écran . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Vidéo composite . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Vidéo HDMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Vidéo DSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Connexion audio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Connexion d’un clavier et d’une souris . . . . . . . . . . . . . . . . . . . 25
Connexion d’un stockage externe . . . . . . . . . . . . . . . . . . . . . . 26
Connexion au réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Mise en réseau du modèle A, A+ ou Pi Zero . . . . . . . . . . . . 26
Réseau câblé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Réseau sans fil . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Connexion d’appareils Bluetooth . . . . . . . . . . . . . . . . . . . . . . 28
Connexion de l’alimentation . . . . . . . . . . . . . . . . . . . . . . . . . 28
Démarrer le Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Mise sous tension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Configuration du Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . 29
Exécution de l’outil . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Depuis le bureau . . . . . . . . . . . . . . . . . . . . . . . . . 30
Depuis la console . . . . . . . . . . . . . . . . . . . . . . . . 30
Arrêt et redémarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Framework Qt 34
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Notion de Base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Qt Widgets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Widgets intégrés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Widgets de base (éléments d’interface simples) . . . . . . . . . . . 36
Widgets de conteneur . . . . . . . . . . . . . . . . . . . . . . . . 38
Fenêtres et boîtes de dialogue . . . . . . . . . . . . . . . . . . . . 38
La fenêtre principale . . . . . . . . . . . . . . . . . . . . . . 38
boîtes de dialogue . . . . . . . . . . . . . . . . . . . . . . . . 39
Widgets personnalisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Disposer des widgets sur un formulaire . . . . . . . . . . . . . . . . . . . 42
Le positionnement absolu . . . . . . . . . . . . . . . . . . . . . . 42
La disposition manuelle . . . . . . . . . . . . . . . . . . . . . . . 42
Les gestionnaires de disposition . . . . . . . . . . . . . . . . . . . 42
Signaux et Slots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Sous Q_OBJECT et signaux/emplacements . . . . . . . . . . . . . . . . 44
Le système d’événements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Comment les événements sont livrés . . . . . . . . . . . . . . . . . . . . 46
Types d’événements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Gestionnaires d’événements . . . . . . . . . . . . . . . . . . . . . . . . . 47
Filtres d’événements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Envoi d’événements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Classes d’événements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Bases de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Connexion et exécution de requêtes . . . . . . . . . . . . . . . . . . . . . 52
Programmation réseau avec Qt . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Opérations réseau de haut niveau pour HTTP . . . . . . . . . . . . . . . 54
Utilisation de TCP avec QTcpSocket et QTcpServer . . . . . . . . . . . . 55
Utilisation d’UDP avec QUdpSocket . . . . . . . . . . . . . . . . . . . . 56
Prise en charge des proxys réseau . . . . . . . . . . . . . . . . . . . . . . 57
API de programmation réseau . . . . . . . . . . . . . . . . . . . . . . . . 57
Les Outils de développement des applications avec Qt . . . . . . . . . . . . . . . . . . 59
Qt Creator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Qt Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Qt Quick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
qmake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Conception et Implémentation 65
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Contexte et interactions du système . . . . . . . . . . . . . . . . . . . . . . . . . 65
Conception architecturale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Diagrammes de séquence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Implémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
IDE et Outils de développement . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Implémentation des Fonctionnalités Clés . . . . . . . . . . . . . . . . . . . . . . 69
Interface Utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
L’interface du contrôleur . . . . . . . . . . . . . . . . . . . . . . . . . . 77
L’interface d’afficheur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Conclusion générale 79 |
| Côte titre : |
MAI/1023 |
Réalisation d’une application de contrôle d’un afficheur pour la gestion d’une file d’attente en utilisant les sockets de la bibliothèque Qt [document électronique] / Takoua Djemmadi ; Chahrazed Slimani, Auteur ; Guellati, Nabil, Directeur de thèse . - [S.l.] : Setif:UFA, 2025 . - 1 vol (53 f .) ; 29 cm. Langues : Français ( fre)
| Catégories : |
Thèses & Mémoires:Informatique
|
| Mots-clés : |
Réalisation d’une application |
| Index. décimale : |
004 Informatique |
| Résumé : |
Dans un contexte où la gestion efficace du temps et de l’affluence dans les lieux publics devient
une nécessité, ce mémoire présente la conception et la réalisation d’un système de gestion de
file d’attente informatisé. L’objectif principal est de proposer une solution évolutive et interactive
permettant d’améliorer l’organisation des flux de personnes dans des espaces tels que les
hôpitaux, administrations ou guichets de services.
Pour répondre à cette problématique, une application a été développée à l’aide de la bibliothèque
Qt, exploitant les sockets TCP/UDP pour assurer la communication entre les différents modules
du système. L’affichage dynamique, déployé sur un Raspberry Pi, permet une visualisation claire
des informations destinées aux usagers : numéro de ticket, guichet, messages d’accueil et images
publicitaires.
Le système repose sur une architecture distribuée incluant un serveur distant, un module d’affichage
et un contrôleur, offrant ainsi souplesse, modularité et possibilité d’extinction à distance.
Ce travail comprend également une étude technique du Raspberry Pi et de Qt, une analyse
fonctionnelle, une modélisation UML, et une phase d’implémentation concrète.
Les résultats obtenus démontrent la faisabilité et l’efficacité d’une telle solution dans le cadre
d’une gestion moderne des files d’attente. Des perspectives d’évolution sont proposées, notamment
l’intégration de nouvelles fonctionnalités telles que l’appel vocal ou la prise de rendez-vous
à distance. |
| Note de contenu : |
Sommaire
Introduction générale 10
Raspberry Pi 11
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Qui devrait utiliser le Raspberry Pi ? . . . . . . . . . . . . . . . . . . . . . . . . 12
L’avenir du Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Les Modèles de Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Les Composants de Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Les composants internes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Les composants externes (périphériques) . . . . . . . . . . . . . . . . . . . . . . 15
Systèmes D’exploitation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Alternatives à Raspbian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Installation de l’OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Installation à l’aide de NOOBS . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Téléchargement de NOOBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Transfert de NOOBS sur la carte micro SD . . . . . . . . . . . . . . . . 19
Démarrage de NOOBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Installation manuelle de l’OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Écriture de l’image de l’OS sur la carte micro SD (L’installation de l’OS) 22
Flashage depuis Linux . . . . . . . . . . . . . . . . . . . . . . . . 22
Flashage depuis Windows . . . . . . . . . . . . . . . . . . . . . . 22
Premiers pas avec le Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Préparer le Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Connexion d’un écran . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Vidéo composite . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Vidéo HDMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Vidéo DSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Connexion audio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Connexion d’un clavier et d’une souris . . . . . . . . . . . . . . . . . . . 25
Connexion d’un stockage externe . . . . . . . . . . . . . . . . . . . . . . 26
Connexion au réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Mise en réseau du modèle A, A+ ou Pi Zero . . . . . . . . . . . . 26
Réseau câblé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Réseau sans fil . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Connexion d’appareils Bluetooth . . . . . . . . . . . . . . . . . . . . . . 28
Connexion de l’alimentation . . . . . . . . . . . . . . . . . . . . . . . . . 28
Démarrer le Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Mise sous tension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Configuration du Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . 29
Exécution de l’outil . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Depuis le bureau . . . . . . . . . . . . . . . . . . . . . . . . . 30
Depuis la console . . . . . . . . . . . . . . . . . . . . . . . . 30
Arrêt et redémarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Framework Qt 34
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Notion de Base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Qt Widgets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Widgets intégrés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Widgets de base (éléments d’interface simples) . . . . . . . . . . . 36
Widgets de conteneur . . . . . . . . . . . . . . . . . . . . . . . . 38
Fenêtres et boîtes de dialogue . . . . . . . . . . . . . . . . . . . . 38
La fenêtre principale . . . . . . . . . . . . . . . . . . . . . . 38
boîtes de dialogue . . . . . . . . . . . . . . . . . . . . . . . . 39
Widgets personnalisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Disposer des widgets sur un formulaire . . . . . . . . . . . . . . . . . . . 42
Le positionnement absolu . . . . . . . . . . . . . . . . . . . . . . 42
La disposition manuelle . . . . . . . . . . . . . . . . . . . . . . . 42
Les gestionnaires de disposition . . . . . . . . . . . . . . . . . . . 42
Signaux et Slots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Sous Q_OBJECT et signaux/emplacements . . . . . . . . . . . . . . . . 44
Le système d’événements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Comment les événements sont livrés . . . . . . . . . . . . . . . . . . . . 46
Types d’événements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Gestionnaires d’événements . . . . . . . . . . . . . . . . . . . . . . . . . 47
Filtres d’événements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Envoi d’événements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Classes d’événements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Bases de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Connexion et exécution de requêtes . . . . . . . . . . . . . . . . . . . . . 52
Programmation réseau avec Qt . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Opérations réseau de haut niveau pour HTTP . . . . . . . . . . . . . . . 54
Utilisation de TCP avec QTcpSocket et QTcpServer . . . . . . . . . . . . 55
Utilisation d’UDP avec QUdpSocket . . . . . . . . . . . . . . . . . . . . 56
Prise en charge des proxys réseau . . . . . . . . . . . . . . . . . . . . . . 57
API de programmation réseau . . . . . . . . . . . . . . . . . . . . . . . . 57
Les Outils de développement des applications avec Qt . . . . . . . . . . . . . . . . . . 59
Qt Creator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Qt Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Qt Quick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
qmake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Conception et Implémentation 65
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Contexte et interactions du système . . . . . . . . . . . . . . . . . . . . . . . . . 65
Conception architecturale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Diagrammes de séquence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Implémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
IDE et Outils de développement . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Implémentation des Fonctionnalités Clés . . . . . . . . . . . . . . . . . . . . . . 69
Interface Utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
L’interface du contrôleur . . . . . . . . . . . . . . . . . . . . . . . . . . 77
L’interface d’afficheur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Conclusion générale 79 |
| Côte titre : |
MAI/1023 |
|