DEDICACE iii
REMERCIEMENTS iv
AVANT PROPOS v
RESUME vi
ABSTRACT vii
LISTE DES TABLEAUX viii
LISTE DES FIGURES ix
LISTE DES SIGLES ET DES ABREVIATIONS x
TABLE DES MATIERES xii
INTRODUCTION GENERALE 1
CHAPITRE 1 : REVUE DE LA LITTERATURE 3
1.1. Noyau d'un système d'exploitation
4
1.1.1. Généralités 4
1.1.2. Systèmes à noyaux restreints et Fonctions
généralement remplies par un noyau 6
1.1.2.1. Systèmes à noyaux restreints 6
1.1.2.2. Fonctions généralement remplies par un
noyau 6
1.2. Architecture du noyau de Windows 7. 7
1.2.1. Architecture générale de Windows NT 7
1.2.1.1. Le HAL (Hardware Abstraction Layer) 9
1.2.1.2. Le noyau 9
1.2.1.3. Les services du NT Executive 10
1.2.1.4. Les sous systèmes d'environnement 13
1.3. Les noyaux de Mac OS et de Linux 14
1.3.1. Le noyau de Mac OS 14
1.3.2. Le noyau de Linux 15
CHAPITRE 2 : LE PRESSE-PAPIER 17
2.1. Présentation du presse-papier 17
2.1.1. Les formats de données 18
2.1.1.1. Les formats de données standard 18
2.1.1.2. Formats inscrits du presse-papier 20
2.1.1.3. Formats privés du presse-papier 21
2.1.1.4. Formats multiples du presse-papier 21
2.1.1.5. Formats de synthèse du presse-papier 21
2.1.2. Fonctionnement du presse-papier 22
2.1.2.1. Description du processus d'extraction des
données 23
2.1.2.2. Les fonctions du presse-papier 24
2.2. Limites du presse-papier de Windows 27
2.2.1. Saisie d'un mémoire avec Latex 27
xiii
2.2.2. Manipulation des images 28
2.3. Développement logiciel autour du
presse-papier 28
2.4. Cahier des charges 31
2.4.1. Description de l'existant 31
2.4.2. Expression des besoins 31
2.4.2.1. Besoins fonctionnels 31
2.4.2.2. Besoins non fonctionnels 31
2.4.3. Solution adopté 32
2.4.3.1. Choix de la méthode d'analyse et de conception
32
2.4.3.2. Choix du langage de programmation 32
CHAPITRE 3 : DEVELOPPEMENT LOGICIEL 34
3.1. Analyse et conception 34
3.1.1. Présentation de UML 36
3.1.2. Les vues et diagrammes d'UML 36
3.1.2.1. La vue fonctionnelle 37
3.1.2.2. La vue dynamique 40
3.1.2.3. La vue structurelle ou statique 43
3.2. Schéma fonctionnel de l'application
50
3.3. Les interfaces du logiciel 51
3.4. Implémentation 53
3.4.1. Environnement de développement et langage de
programmation 53
3.4.1.1. Présentation de Visual Studio 2010 53
3.4.1.2. L'architecture .Net 53
3.4.1.3. Présentation du langage de programmation C#
56
3.4.2. Présentation des différents modules 56
3.4.2.1. La gestion de la copie 56
3.4.2.2. La gestion des collections et des groupes. 57
3.4.2.3. La sauvegarde et la restauration des données
59
CHAPITRE 4 : TESTS ET GUIDE D'UTILISATION 60
4.1. Présentation de l'application 60
4.1.1. Fenêtre principale 60
4.1.2. Fonctionnalités de l'application 61
4.2. Configuration minimale 62
4.3. Coût estimatif du projet 62
4.3.1. Estimation du coût des équipements 63
4.3.2. Estimation du coût de développement 63
4.3.2.1. Contexte de développement d'un logiciel 63
4.4.2.2. Estimation de la charge 63
CONCLUSION GENERALE 67
REFERENCES BIBLIOGRAPHIQUES 68