diff --git a/doc/rapport.gpp.md b/doc/rapport.gpp.md index c0277c7705ea8d9dc34f6bffc379113211cadc1a..84d78cf6c6a4af0040d6ca2416c79f04eccf834c 100644 --- a/doc/rapport.gpp.md +++ b/doc/rapport.gpp.md @@ -1949,7 +1949,72 @@ déploiement est la copie de fichiers sur une partition donnée. ## Points d'amélioration - +Bien que le système à la fin de ce projet soit parfaitement fonctionnel, +il existe des points qui devraient ou pourraient être étudiés, améliorés +ou implémentés pour que le système soit prêt à une utilisation dans un +cadre réel. + +### Amélioration des performances de téléchargement des images sur un réseau réel avec de nombreux clients simultanés + +Le protocole réseau utilisé pour le téléchargement des images a été +testé avec un client unique, sur un réseau minimal ne comprenant que le +client et le serveur. Il est très probable que le temps de +téléchargement des images soit beaucoup plus long que celui mesuré dans +le cadre de ce travail si de nombreux clients téléchargent des images en +même temps, dans un réseau plus complexe tel que celui de l'école. + +L'étude et la mitigation de cette problématique a volontairement été +mise de côté dans le cadre de ce travail car il était difficile de +simuler les conditions réelles du système déployé dans une école alors +que tout le travail a été effectué hors de l'école, dans un petit réseau +local domestique avec une quantité limitée d'ordinateurs à disposition +pour faire des tests. + +Différentes approches pourraient être utilisées pour améliorer ces +performances, telles que la copie en _multicast_ des images, la +redondance des serveurs mettant à disposition les images ou encore +l'utilisation d'un protocole _pair à pair_ tel que _Bittorrent_ ou +_IPFS_ pour permettre de distribuer le transfert des images sur tous les +clients connectés plutôt que d'utiliser uniquement le serveur central +comme source du fichiers. + +### Amélioration du système de personnalisation des images + +Le système de personnalisation des images a été implémenté tardivement +dans le travail. Bien qu'il soit fonctionnel, il n'a pas été testé +extensivement. Il faudrait passer un peu de temps à créer des +configurations post-déploiement complexes qui sont exécutées au +démarrage par le système déployé et de valider leur fonctionnement. + +Par exemple, il était prévu de tester l'exécution de _playbooks_ +_Ansible_ au démarrage du système, copiés selon les choix de +personnalisation de l'utilisateur. Ces _playbooks_ pourraient étre +utilisés pour effectuer de nombreuses actions, telles que l'installation +de groupes de paquets choisis, la génération d'un nom d'hôte unique pour +la machine et la connexion à un domaine _Active Directory_ pour +permettre aux élèves de se connecter avec le même nom d'utilisateur et +d'avoir accès à leur dossier _home_ depuis un partage !!acronym{NFS}, +comme sur les postes de travail standards présents de l'école. + +### Amélioration de la sécurité + +Sur le système actuel, un utilisateur mal intentionné peut détruire ou +modifier les images présentes sur le serveur distant, car elles sont +récupérées sur un partage !!acronym{NFS} avec des droits de +lecture-écriture. La raison de ce partage en lecture et écriture est que +les logs sont écrits sur le même partage. Une manière simple de résoudre +ce problème serait de séparer ce partage en deux: le premier en lecture +seule contiendrait les images et le second contiendrait les logs +uniquement. + +Il faudrait ensuite trouver une solution pour empêcher une machine +d'aller modifier ou supprimer les logs d'une autre machine, ce qui est +compliqué à mettre en oeuvre avec un partage !!acronym{NFS}. Peut être +que les logs pourraient être transmis au serveur en utilisant un autre +canal de communication et de déléguer la création et le nommage du +fichier au serveur, pour que les clients ne soient plus capables +d'accéder directement aux fichiers des logs, mais que ce soit le serveur +qui ait la responsabilité de les créer et de les gérer. ## Retour personnel sur la manière dont le travail s'est effectué diff --git a/doc/rapport.md b/doc/rapport.md index e8fe79258a9bc1b165adbe53b3a6f2d41e5a4d3e..cf845c628b4d1358086d223f04728c60e3519e10 100644 --- a/doc/rapport.md +++ b/doc/rapport.md @@ -2062,7 +2062,72 @@ déploiement est la copie de fichiers sur une partition donnée. ## Points d'amélioration - +Bien que le système à la fin de ce projet soit parfaitement fonctionnel, +il existe des points qui devraient ou pourraient être étudiés, améliorés +ou implémentés pour que le système soit prêt à une utilisation dans un +cadre réel. + +### Amélioration des performances de téléchargement des images sur un réseau réel avec de nombreux clients simultanés + +Le protocole réseau utilisé pour le téléchargement des images a été +testé avec un client unique, sur un réseau minimal ne comprenant que le +client et le serveur. Il est très probable que le temps de +téléchargement des images soit beaucoup plus long que celui mesuré dans +le cadre de ce travail si de nombreux clients téléchargent des images en +même temps, dans un réseau plus complexe tel que celui de l'école. + +L'étude et la mitigation de cette problématique a volontairement été +mise de côté dans le cadre de ce travail car il était difficile de +simuler les conditions réelles du système déployé dans une école alors +que tout le travail a été effectué hors de l'école, dans un petit réseau +local domestique avec une quantité limitée d'ordinateurs à disposition +pour faire des tests. + +Différentes approches pourraient être utilisées pour améliorer ces +performances, telles que la copie en _multicast_ des images, la +redondance des serveurs mettant à disposition les images ou encore +l'utilisation d'un protocole _pair à pair_ tel que _Bittorrent_ ou +_IPFS_ pour permettre de distribuer le transfert des images sur tous les +clients connectés plutôt que d'utiliser uniquement le serveur central +comme source du fichiers. + +### Amélioration du système de personnalisation des images + +Le système de personnalisation des images a été implémenté tardivement +dans le travail. Bien qu'il soit fonctionnel, il n'a pas été testé +extensivement. Il faudrait passer un peu de temps à créer des +configurations post-déploiement complexes qui sont exécutées au +démarrage par le système déployé et de valider leur fonctionnement. + +Par exemple, il était prévu de tester l'exécution de _playbooks_ +_Ansible_ au démarrage du système, copiés selon les choix de +personnalisation de l'utilisateur. Ces _playbooks_ pourraient étre +utilisés pour effectuer de nombreuses actions, telles que l'installation +de groupes de paquets choisis, la génération d'un nom d'hôte unique pour +la machine et la connexion à un domaine _Active Directory_ pour +permettre aux élèves de se connecter avec le même nom d'utilisateur et +d'avoir accès à leur dossier _home_ depuis un partage <abbr title="Network File System: système de fichiers en réseau ">NFS</abbr>, +comme sur les postes de travail standards présents de l'école. + +### Amélioration de la sécurité + +Sur le système actuel, un utilisateur mal intentionné peut détruire ou +modifier les images présentes sur le serveur distant, car elles sont +récupérées sur un partage <abbr title="Network File System: système de fichiers en réseau ">NFS</abbr> avec des droits de +lecture-écriture. La raison de ce partage en lecture et écriture est que +les logs sont écrits sur le même partage. Une manière simple de résoudre +ce problème serait de séparer ce partage en deux: le premier en lecture +seule contiendrait les images et le second contiendrait les logs +uniquement. + +Il faudrait ensuite trouver une solution pour empêcher une machine +d'aller modifier ou supprimer les logs d'une autre machine, ce qui est +compliqué à mettre en oeuvre avec un partage <abbr title="Network File System: système de fichiers en réseau ">NFS</abbr>. Peut être +que les logs pourraient être transmis au serveur en utilisant un autre +canal de communication et de déléguer la création et le nommage du +fichier au serveur, pour que les clients ne soient plus capables +d'accéder directement aux fichiers des logs, mais que ce soit le serveur +qui ait la responsabilité de les créer et de les gérer. ## Retour personnel sur la manière dont le travail s'est effectué diff --git a/doc/rapport.pdf b/doc/rapport.pdf index 757b873ddd093d79eb6dfba2e557909332176ee3..5b9971216194c11b4d8ef90e8d37d4af25289025 100644 Binary files a/doc/rapport.pdf and b/doc/rapport.pdf differ