Les informations que manipulent les utilisateurs de l'outil
informatique sont généralement mutées d'une source vers
une autre. Parfois il arrive que certaines de ces informations soit totalement
déplacées3. De là, survient donc une
préoccupation majeure, celle de savoir ce qui se passe lorsqu'on
décide par exemple de couper un morceau de texte lors d'une saisie pour
la coller à la place d'une autre et par mégarde au moment du
collage de ce dernier au lieu de faire un Ctrl+V après sélection
de la portion à remplacer on en fait plutôt un Ctrl+C. Il vient
que le morceau de texte qui a été coupé a
été écrasé par celui copié par
mégarde. Il est donc important pour nous de se poser la question de
savoir : où se trouve ce texte et comment faire pour le
récupérer ? Lorsqu'on effectue une opération
de copie4, l'élément copié est chargé
dans une application de Windows appelée Clipboard soit «
presse-papier » en français. En effet le presse-papier gère
les fonctionnalités de « copier/coller » et «
couper/coller » des systèmes d'exploitation. Intégré
depuis le début des interfaces graphiques, il est devenu une seconde
nature pour les utilisateurs. En revanche, il n'a jamais vraiment
évolué depuis son introduction dans Windows.
Pourquoi est-il donc important de remplacer le presse-papier
de Windows ? Il ressort qu'au sein du système d'exploitation de
Microsoft, cette fonction est en effet limitée : vous pouvez effectuer
un « copier » ou un « couper » (ou encore une impression
d'écran) pour envoyer un élément (texte, image ou autre)
dans le presse-papier, mais Windows ne peut stocker en mémoire
qu'un élément à la fois. Très gênant
au vue de l'exemple présenté ci-dessus. Notons cependant qu'une
application comme Microsoft Office, depuis sa version XP, gère au
plus 24 éléments dans son presse-papier
amélioré.
De même, le presse-papier de Windows ne
différencie pas la nature des éléments qui lui sont
présentés : un texte a même valeur qu'une image par
exemple. Enfin, l'intégration du presse-papier dans Windows se limite au
simple « Copier », « Couper » et « Coller » du
menu contextuel. Aucune fonctionnalité particulière n'est
prévue. Par exemple, par défaut, il est impossible de copier d'un
clic le chemin de l'emplacement d'un programme dans le disque dur.
[1]
Ce sont toutes ces limites, et bien d'autres encore, qui ont
suscitées à la suite d'une étude préalable du
presse-papier le souci de mettre sur pied une application de gestion du
presse-
3 Dans le sens d'un « couper-coller »
4 «copier-coller» ou
«couper-coller»
2
papier de Windows. Le rapport qualité
prix de cette application est donc meilleur que d'autres applications
payantes.
A travers notre application, il sera donc possible à
tout utilisateur de visualiser et d'un seul clic récupérer une
copie perdue par le presse-papier de Windows, de stocker dans un groupe un
ensemble de copies constamment utilisé par exemple :
· Des structures et commandes utilisées lors de la
rédaction d'un mémoire ou d'une thèse de doctorat avec
l'éditeur Latex ;
· Des fragments de code utilisés dans le cadre d'un
développement logiciel ;
· des images utilisées dans le cadre des conceptions
graphiques.
Tous pouvant être facilement
récupérés en un seul clic.
Nous offrons donc ainsi à tout utilisateur de l'outil
informatique un presse-papier qui fonctionne même après un
redémarrage de Windows et dont le nombre de copie
maximale passe de 24 à un nombre théoriquement
infini.
Ce travail se divise en deux étapes : une
théorique et l'autre pratique. Dans l'étape théorique,
nous avons d'abord fais une étude sur le noyau des systèmes
d'exploitations en général et de celui de Windows en particulier.
Ensuite nous avons fait une étude du presse-papier de Windows. Enfin une
analyse des besoins nous a permis de rédiger le cahier de charges.
L'étape pratique a consisté à analyser et à
concevoir via UML (Unified Modeling Language) l'application de gestion du
presse-papier. A la suite de cette analyse, nous avons proposé une
implémentation en C# de l'application et réalisé des tests
sur celle-ci.
Ce mémoire est ordonné comme suit :
l'architecture du noyau de Windows NT 6.2 et sa relation avec le presse-papier
sont présentées dans le chapitre 1. Le chapitre 2 présente
le presse-papier dans sa globalité et son fonctionnement particulier au
sein du système d'exploitation Windows. Les différentes phases
d'analyse et de conception de l'application ainsi que son implémentation
sont présentés dans le chapitre 3. Le chapitre 4 détaille
les tests sur l'application, la configuration minimale d'utilisation et le
coût estimatif du projet.
3
En informatique, le
presse-papier5 est une fonctionnalité qui
permet de stocker des données que l'on souhaite dupliquer ou
déplacer. Il utilise une zone de la mémoire volatile de
l'ordinateur, pouvant contenir des informations de nature diverse (texte,
image, fichier, etc.). Ces informations sont stockées en zone
mémoire lorsqu'elles ont fait l'objet d'un appel à la fonction
copier ou couper du système d'exploitation ou d'un
logiciel. Elles sont réutilisables par la suite par l'appel de la
fonction « coller », qui replace l'objet. Ces
opérations sont possibles dans plusieurs systèmes d'exploitation
et sont utilisées chaque jour par des utilisateurs ; ceci demande une
grande manoeuvre à l'intérieur du système d'exploitation
qui doit être capable de stocker en mémoire les informations
à manipuler. Mais pouvons-nous parler de mémoire sans toutefois
parler de l'élément essentiel de tout système
d'exploitation qui de par ses fonctions assurent aussi celle de la gestion de
la mémoire ? Il s'agit ici du noyau du système d'exploitation
communément appelé Kernel en anglais.
On distingue plusieurs systèmes d'exploitation possédant un
presse-papier parmi lesquels WINDOWS 3.X, WINDOWS NT, WINDOWS 2000, WINDOWS ME,
WINDOWS XP, WINDOWS 7, WINDOWS 8, LINUX, UNIX, MAC OS, CHROME OS, ANDROID mais
un seul fera l'objet de notre étude à savoir Windows 7. Le
système d'exploitation stocke le contenu du presse-papier dans la
mémoire volatile de l'ordinateur. La gestion de cette mémoire est
une tâche réservée au noyau du système
d'exploitation; son étude est plus qu'indispensable pour la
compréhension de la relation qui existe entre le presse-papier et la
mémoire. L'objet de ce chapitre est de faire une étude globale de
l'architecture du noyau d'un système d'exploitation en
générale et en particulier de celui de Windows 7 dans un premier
temps et dans un second temps établir l'importance du choix de ce
dernier en le comparant aux noyaux de deux autres systèmes
d'exploitation à savoir Mac OS et Linux dans leurs versions
équivalentes à celle de Windows 7.
5 ou « presse-papiers »
selon l'ancienne orthographe