Projet de technologie de l information RAPPORT

Dimension: px
Commencer à balayer dès la page:

Download "Projet de technologie de l information RAPPORT"

Transcription

1 Projet de technologie de l information RAPPORT Groupe i : Thomas Schwery & Alexandre Chappuis Assistant : Laurent Bindschaedler École Polytechnique Fédérale de Lausanne Année Propédeutique, printemps 2008 Table des matières 1 Introduction 3 2 Description des classes Classes de bases Peer PeerClient Classes pour les fichiers UploadedFileInfo FileBlock Replica RepositoryInfos EncodedFileInfo SuperBlock EncodedBlock Classes pour le PeerServer PeerServer PeerServerChannel Classes pour les Repositories Repository RepositoryChannel Classes pour la Gui Gui GuiFrame ThreadDownload ThreadUpload Classes utilitaires Menu UserInput Log Matrix GeneratorMatrix

2 3 Diagramme des classes 10 4 Améliorations Gui PeerServer et Repositories Gestion des processus Sérialisation Hack Divers Répartition des tâches 15 6 Conclusion 15 7 Annexes 16 2

3 1 Introduction Ce projet nous a accompagné durant un semestre. Tout au long de ce dernier, nous avons petit à petit implémenté en JAVA un système Peer-to-Peer pour le partage de fichiers, avec contrôle d accès, réplication par blocs et encodage Reed-Solomon. Ce rapport se veut d abord d apporter une meilleure vue d ensemble de notre implémentation, en décrivant toutes nos classes et les liens qui les unissent, notamment grâce à un diagramme de toutes les classes. Nous ne décrirons que leurs principales méthodes. Nous ajouterons ensuite quelques mots sur les différentes améliorations que nous avons apportées au programme de base et sur la répartition des tâches au sein de notre groupe. Finalement, nous tirerons quelques conclusions sur nos expériences, sur le savoir-faire que nous avons acquis et sur le déroulement du travail durant le semestre. 2 Description des classes Les vingt-deux classes de notre projet sont ici décrites avec leurs principales méthodes. Pour une liste et description de tous les attributs et méthodes d une classe, prière de consulter la Javadoc du projet, accessible depuis la page./doc/index.html ou consultable dans le code source de chaque fichier. 2.1 Classes de bases Peer Cette classe sert de démarrage à notre programme Peer to Peer. Elle traite les arguments fournis à la méthode main, les contrôle et s occupe de créer les répertoires requis. Elle instancie finalement un PeerClient, à travers lequel le menu principal est démarré. La classe Peer permet aussi de recevoir des arguments en format UNIX ( paramètre valeur). C est la méthode unixargs(string[] args) qui s occupe de les convertir dans le bon format. Quant à elle, la méthode error() affiche un message d erreur et quitte le programme PeerClient PeerClient est de loin la plus grande classe de notre programme. C est elle qui gère toutes les demandes de l utilisateur. Son constructeur prend en paramètre les arguments récoltés par la classe Peer. Il initialise également un fichier log dans lequel les erreurs seront affichées. La méthode start(), munie d une boucle infinie et d un switch, permet d afficher le menu principal et de traiter le choix de l utilisateur. C est aussi la classe PeerClient qui s occupe de gérer les ajouts et suppressions de fichiers dans nos collections. Nous avons séparés nos fichiers en deux collections : une pour les fichiers normaux, une pour les fichiers encodés. En outre, nous avons tenté de dupliquer le minimum de code lors de la création des méthodes concernant le download et l upload des fichiers. Nous disposons ainsi d une seule méthode pour le téléchargement, pour l affichage et pour savoir 3

4 si un fichier se trouve déjà dans une collection ou non. Les méthodes listsharedfiles() et isalreadyuploaded() disposent ainsi d un paramètre muni d une syntaxe bien particulière : List<? extends UploadedFileInfo>. Cette dernière permet de recevoir une collection de données de types UploadedFileInfo ou de toutes ses sous-classes. On peut ainsi passer en paramètre notre collection de fichiers normaux ou encodés. Quant à la méthode download, nous sommes sûr qu elle appelera la bonne méthode de téléchargement du fichier grâce à la résolution dynamique des liens de Java. Il n a par contre pas été possible de faire une seule méthode pour l upload. Nous l avons donc séparé en deux méthodes : uploadfile() et encodedupload(). Ces deux méthodes n étant pas très longues, nous pensons rester en accord avec le principe de dupliquer le minimum de code. Pour ces deux dernière, nous demandons les informations nécessaires à l utilisateurs si cela n a pas déjà été fait par la Gui, c est-à-dire si l appel de ses méthodes se fait depuis le mode console. Le démarrage du PeerServer et des Repositories se fait aussi dans cette classe. Les méthodes newpeerserver() et newrepository() permettent de démarrer les threads qui attendront les connexions (voir sections 2.3 et 2.4 page 7 de ce rapport pour de plus amples informations sur ces connexions). Ces méthodes appellent également les méthodes d enregistrement de ces processus auprès du Directory. La classe PeerClient s occupe finalement de gérer l historique des fichiers uploadés : c est elle qui l enregistre à la fermeture du programme et qui le lit au démarrage. La page html contenant les infos sur les fichiers est aussi maintenue à jour par PeerClient. La plupart des méthodes de cette classe sont publiques afin qu elles soient disponibles pour la Gui. (Pour de plus amples informations sur la Gui, lire la section 2.5 en page 8 de ce rapport.) 2.2 Classes pour les fichiers Chaque classe de cette catégorie, hormis RepositoryInfos, représente une partie bien spécifique d un fichier et contient les méthodes suivantes : Upload() : permet d uploader la partie du fichier et de mettre à jour l avancement de la barre de progression si l appel s est fait depuis la Gui. Download() : permet de télécharger la partie du fichier et de mettre à jour l avancement de la barre de progression si l appel s est fait depuis la Gui. printxxxinfos() : permet d afficher des informations sur la partie du fichier receivexxxinfos() : permet de recevoir les informations de la partie du fichier auprès d un PeerServer sendxxxinfos() : permet d envoyer les informations de la partie du fichier (utilisé par notre PeerServer) Nous décrirons ici les spécificités et méthodes additionnelles de chaque partie des fichiers normaux, puis des fichiers encodés UploadedFileInfo Un UploadedFileInfo est composé de plusieurs FileBlock, contenant chacun un morceau du fichier entier. Cette classe permet donc de stocker toutes les informations importantes sur un fichier, dans son plus haut niveau d abstraction. 4

5 Ces informations sont indispensables pour les étapes d upload, de download et d envoi/réception d informations. Toutes ces étapes sont gérées par les méthodes de cette classe. Le download est appelé par la méthode download(). Elle télécharge les blocs du fichier dans un ordre croissant. Si un bloc échoue, le download est annulé. L upload s effectue grâce à la méthode uploadfile(). Cette méthode prend en arguments le nombre de répliques souhaitées, le nom du fichier ainsi qu un channel ouvert vers le directory, permettant de recevoir la liste des repositories. Cette liste est reçue dans la méthode receivelistrepositories(). La taille du fichier à uploader est contrôlée par la méthode readfile() et les informations sur les blocs (nom, taille, etc...) sont définis dans setblockinfos(). A la fin d un upload ou d un download, il ne faut pas oublier de fermer les connexion encore actives. La méthode fermeturechannelrepositories() permet de réaliser cela FileBlock Un FileBlock est composé de plusieurs Replica, les répliques du bloc stockées sur les repositories. Cette classe permet donc de stocker toutes les informations concernant un bloc d un fichier. Ces informations concernent la taille, l emplacement et les répliques du bloc. Le download est géré par la méthode download(), qui va contacter chaque réplique tour à tour, jusqu à ce qu une réplique soit téléchargée avec succès. Si aucune réplique n a pu être téléchargée, le downlad est annulé. L upload est géré par la méthode upload(), qui va créer un tableau de Replica et les envoyer sur les Repositories. Les informations sur les Repositories sont stockées dans des objets RepositoryInfos Replica Replica est le plus petit élément d un fichier. Il s agit de la réplique d un bloc, c est à dire d une copie d un morceau du fichier, qui se trouve sur un repository. Il s agit de la seule classe en interaction avec les repositories, toutes les autres n étant que des objets intermédiaires utiles au stockage des informations nécessaires à la découpe et à la reconstitution du fichier. Chaque réplique possède un nom unique qui comprend le nom du fichier, l heure courante, le nombre de blocs et le nombre de répliques. Le download d une réplique est géré par la méthode download(), qui va contacter le Repository la contenant et recevoir les bytes de cette dernière. Il s agit de la seule méthode téléchargeant effectivement les données du fichier, celles-ci étant écrites sur le disque dur par la méthode writeblock(). L envoi de la réplique est effectué par la méthode upload(). Celle-ci envoie le fichier sur le repository fourni en argument. Il s agit également de la seule méthode envoyant effectivement les données du fichier RepositoryInfos RepositoryInfos permet de stocker les informations concernant un repository. Cette classe ne possède aucune méthode de communication, son seul rôle étant l enregistrement d informations pour les répliques. Cette classe permet 5

6 également de stocker un Channel ou un ErrorChannel de manière temporaire, ces objets n étant pas sérialisables. Une méthode compareto() permet de comparer deux repositories. Cette méthode compare les taux d échec de deux repositories, considérant le repository ayant la fréquence d échec la plus élevée -c est à dire le plus disponiblecomme étant le plus petit EncodedFileInfo EncodedFileInfo est le pendant encodé d un UploadedFileInfo. Il en hérite d ailleurs toutes les méthodes et variables et redéfinit certaines méthodes, telles que uploadfile(), download() et sendfileinfos(). Un fichier encodé est découpé en plusieurs SuperBlock, contenant chacun un morceau du fichier. L envoi est géré par la méthode uploadfile(), s occupant de récupérer la liste des repositories, d en sélectionner les meilleurs, de calculer les paramètres d encodage et d appeler la méthode d envoi de chaque SuperBlock. Les paramètres d encodage nécessitent de connaître deux informations : le taux d échec global et le taux d échec désiré. Le premier est calculé à partir du nombre de repositories indisponibles et du taux d échec des repositories sélectionnés. Le deuxième est demandé à l utilisateur. Ces taux permettent de calculer le nombre de mots d informations nécessaires pour l encodage (le paramètre k). Ces mots d informations sont ensuite encodés. Les mots codes résultants sont placés dans une matrice, la matrice des mots-codes du SuperBlock, qui est passée en paramètre à la méthode d upload d un SuperBloc. La procédure de téléchargement est gérée par la méthode download(). Celle-ci va calculer la matrice génératrice du code et chercher à télécharger les différents SuperBlock SuperBlock Un SuperBlock est un morceau de fichier encodé, divisé en blocs encodés appelés EncodedBlock. Chacun des SuperBlock peut être codé et décodé indépendemment des autres SuperBlock avec la même matrice génératrice. L envoi de données est géré par la méthode upload() qui récupère la matrice de mots-codes du SuperBlock et la découpe en EncodedBlock pour l envoi des données vers les repositories. C est aussi elle qui définit le nom du Super- Block et qui entrelace les mots-codes avant leur envoi sur les repositories. Le téléchargement se fait par la méthode download(), qui va lancer le download de chaque EncodedBlock constituant le fichier, jusqu à ce qu un nombre suffisant -c est à dire k - de blocs aient été obtenus. Ces derniers sont ensuite décodés par la méthode decode(), qui va résoudre les systèmes d équations et retrouver les mots d informations originaux pour les écrire sur le disque dur EncodedBlock EncodedBlock est le pendant encodé de FileBlock. Il s agit d un motcode du fichier encodé qui sera ensuite envoyé sur les repositories. Il en hérite les méthodes et variables et redéfinit certaines méthodes telles que download(), upload() ou sendblockinfos(). Comme pour FileBlock, il s agit de la seule partie concernée directement par l envoi des données du fichier. 6

7 Le téléchargement est effectué par la méthode download(), qui va contacter tous les repositories contenant cet EncodedBlock -habituellement un seul- tour à tour afin de récupérer les bytes du mot-code. L envoi des données est géré par la méthode upload() qui contacte le repository et lui envoie le packet contenant le mot-code préparé par SuperBlock.upload(). 2.3 Classes pour le PeerServer Le PeerServer récupère les données sur les fichiers en ligne et les envoie aux clients. Cet envoi s effectue dans les méthodes sendxxxinfos() présentes dans chaque classe nécessitant un envoi de données. Celles-ci s appellent à travers les méthodes UploadedFileInfo.sendFileInfo() et EncodedFileInfo.sendFileInfo(), les méthodes des autres classes étant appelées par ces deux méthodes. Le PeerServer ne fait que consulter les collections de fichiers uploadés. Seul le PeerClient est habilité à les modifier PeerServer La classe PeerServer sert de lanceur aux threads démarrés pour chaque connexion. Son rôle est d écouter chaque connexion et de lancer un processus qui gérera les commandes de chaque client. La boucle de lancement peut être interrompue grâce à la méthode stop(). Dans ce cas, aucune nouvelle connexion ne pourra être établie tandis que les connexions déjà établies resteront ouvertes jusqu à leur fermeture par le client PeerServerChannel Cette classe, implémentant Runnable, permet de gérer les commandes reçues par un client. La boucle de réception est interrompue dès que le client envoie un BREAK ou qu une erreur de connexion est levée. Les commandes comprises par le PeerServer sont celles spécifiées dans le protocole. 2.4 Classes pour les Repositories Le repository permet de stocker les données envoyées sur le réseau. L enregistrement se fait dans un dossier spécifique au repository, constitué du nom du peerclient l ayant démarré et du port sur lequel le repository écoute les connexions. Ainsi, un repository peut être interrompu, redémarré et peut continuer à servir les fichiers uploadés, même si le port de ce dernier a changé. Chaque repository possède également une fréquence d échec qui définit le nombre de connexions à accepter avant d en refuser une. Cette fréquence est choisie par deux lancers de dés à six faces, ce qui veut dire que la fréquence est comprise entre 2 et Repository La classe Repository sert de lanceur aux threads démarrés pour chaque connexion. Son rôle est d écouter chaque connexion et de lancer un processus qui gérera les commandes de chaque client. La boucle de lancement peut être interrompue grâce à la méthode stop(). Dans ce cas, aucune nouvelle connexion 7

8 ne pourra être établie tandis que les connexions déjà établies resteront ouvertes jusqu à leur fermeture par le client RepositoryChannel Cette classe, implémentant Runnable, permet de gérer les commandes reçues par un client. La boucle de réception est interrompue dès que le client envoie un BREAK ou qu une erreur de connexion est levée. Les commandes comprises par le Repository sont celles spécifiées dans le protocole. 2.5 Classes pour la Gui Pour la Gui, nous avons décidé de travailler avec Swing, car beaucoup plus de composants étaient disponibles et leur look plus agréable à nos yeux Gui Cette classe très courte est appelée par le PeerClient. Elle implémente l interface Runnable car la fenêtre de l interface graphique doit être appelée dans un nouveau Thread. On crée donc dans la méthode run() (la seule méthode de cette classe) un nouvel objet GuiFrame. On la rend ensuite visible GuiFrame GuiFrame représente la fenêtre de notre interface graphique. Elle dispose d un constructeur qui définit tous les éléments compris dans le fenêtre et dispose de plusieurs méthodes qui écoutent les événements déclenchés par l utilisateur. C est dans cette classe qu apparaît l interaction avec le PeerClient. La fenêtre est organisée en plusieurs JPanel. Chacun de ses derniers contient les composants nécessaires à la Gui (Boutons, listes, panels, textfields, etc...). Finalement, ils se retrouvent organisés dans un gestionnaire de mise en forme GridLayout. La plupart des composants sont des variables d instances car ils doivent être accessibles depuis plusieurs méthodes. Ils sont cependant initialisés dans le constructeur de la fenêtre. Deux méthodes d écoute se trouvent dans cette classe : actionperformed() Cette méthode permet d écouter les actions effectuées sur tous les boutons et d agir selon la source de l événement. Elle est similaire à la méthode start() de notre PeerClient, dans le sens où elle traite le choix de l utilisateur. Elle fait appel aux méthodes connexion(), achat(), voirpeerserver(), voirfichiers(), download() et upload(). La méthode download() lance un nouveau thread pour le téléchargement. La méthode upload() fait de même, mais demande dans un premier temps à l utilisateur les informations nécessaires, tel que le nombre de répliques s il s agit d un fichier normal ou le nombre de paquets tests à envoyer / le taux d échec lors du téléchargement s il s agit d un fichier avec encodage. itemstatechanged() Cette méthode permet d écouter les actions effectuées sur les listes de choix (pour le choix du Directory, des PeerServers et des fichiers). On notera la présence d une méthode insertion() qui nous permet d insérer une ligne dans la partie Informations de la Gui. Les méthodes insertintotable() et 8

9 removeupload() permettent de gérer l ajout et la suppression des fichiers dans les tables pour le download et l upload. La Gui contient aussi deux classes internes, qui sont décrites dans la rubrique Améliorations de ce document ThreadDownload Cette classe permet de lancer un téléchargement en arrière-fond depuis Gui- Frame. Son constructeur permet d initialiser les informations sur le fichier à télécharger et sa méthode run() permet de démarrer le téléchargement en faisant appel au PeerClient. C est aussi ici que la barre de progression est créée et passée en paramètre au peerclient. La couleur de cette dernière dépendra du type du fichier : elle sera bleu foncé s il s agit d un fichier encodé et bleu clair sinon. Au début du téléchargement, on ajoutera dans la table de download de la Gui le couple (nom du fichier, barre de progression). Six secondes après la réussite ou l échec de l opération, on le retirera ThreadUpload Cette classe permet de lancer un upload en arrière-fond depuis GuiFrame. Son constructeur permet d initialiser les informations sur le fichier à uploader et sa méthode run() permet de démarrer l upload en faisant appel au peerclient. C est aussi ici que la barre de progression est créée et passée en paramètre au peerclient. La couleur de cette dernière dépendra du type du fichier : elle sera bleu foncé s il s agit d un fichier encodé et bleu clair sinon. Au début de l upload, on ajoutera dans la table d upload de la Gui le couple (nom du fichier, barre de progression). Six secondes après la réussite ou l échec de l opération, on le retirera. 2.6 Classes utilitaires Menu Les menus étant appelés à maintes reprises dans notre projet (menu principal, choix des fichiers, des peerservers etc...), nous nous sommes simplifiés la vie en créant cette classe dès les premières semaines de travail. Un menu peut être construit de deux façons : soit en lui passant un tableau de chaînes de caractères en paramètre, soit une liste. Une fois le menu créé, il suffit d appeler la méthode affiche menu() qui nous retournera le choix de l utilisateur. On pourra ensuite effectuer diverses actions en fonction de ce choix. Nos menus gèrent aussi d éventuels séparateurs. Nous avons adopté la convention de commencer et de finir un séparateur par un tiret ( - ). Notre classe tient compte des éventuels séparateurs du menu et ne les comptabilise pas pour le choix de l utilisateur UserInput Cette classe permet de faciliter les demandes d entrées de données par l utilisateur. Il est possible de demander des entiers et des réels de manière simple, en spécifiant uniquement la question à poser et, si cela est nécessaire, le nombre 9

10 minimum et maximum accepté. Les méthodes sont statiques afin que l on puisse les appeler de cette manière, sans créer d objet : int entier = UserInput.askInt("Question...", minimum, maximum) Log Cette classe permet d écrire des fichiers log des problèmes et événements survenus durant l exécution du programme. Le constructeur permet d initialiser le nom du fichier voulu et la méthode add() permet d ajouter la ligne fournie en argument à ce dernier, précédée de l heure et la date auxquelles s est produit l événement. Pour plus d informations sur les raisons de cette classe, prière de lire le paragraphe divers de la section Améliorations Matrix Les matrices étant utilisées à maintes reprises dans la version encodées de nos downloads et uploads, nous avons créé cette classe pour les représenter. Un vecteur sera tout simplement une matrice de dimensions (1 n). Tous les éléments d une matrice seront des éléments du corps F256. Nous pouvons construire une matrice de deux façons : soit en spécifiant uniquement ses dimensions, soit en spécifiant ses dimensions et son contenu (en bytes qui seront convertis en éléments). Les deux constructeurs de cette classe permettent ces opérations. Les deux méthodes les plus utilisées sont sans doute multiply() qui multiplie la matrice courante avec celle passée en paramètre et echelonner() qui échelonne la matrice courante. On trouve aussi des méthodes utilitaires qui permettent de définir une ligne ou une colonne bien spécifique de la matrice GeneratorMatrix Cette classe hérite des propriétés d une matrice normale. Son constructeur fait appel au constructeur d une matrice sans contenu, qui initialise ses dimensions. Il définit ensuite le contenu de la matrice génératrice, d une manière optimale. Pour ce faire, nous calculons l élément (i, j) à partir des éléments précédents, ce qui réduit considérablement les calculs. Comme nous travaillons avec un générateur de corps (l élément deux), nous savons que la 1 e ligne et la 1 e colonne sont composées uniquement de 1. La deuxième colonne est une succession de puissances de 2, et les autres éléments de la ligne i et colonne j se calculent d après cette formule : G ij = G ij 1 G i2 3 Diagramme des classes Nous avons réalisé le diagramme des classes à l aide du plugin Amateras UML pour Eclipse. Vous le trouverez dans les annexes de ce document, en format A3 couleur. 10

11 4 Améliorations Nos améliorations peuvent se diviser en plusieurs catégories : celles concernant la Gui, celles concernant la gestion des processus, celles pour le PeerServer et les Repositories, celles concernant la sérialisation, celles à consommer avec modération ( HACK ) et toutes celles que nous avons implémentées par-ci parlà. Nous procéderons par ordre d importance. 4.1 Gui La Gui est l endroit où les améliorations nous ont pris le plus de temps. Premièrement, nous avons voulu implémenter toutes les fonctions principales de notre projet dans la Gui. Nous avons ainsi conçu les méthodes de notre PeerClient d un façon simple, afin que la Gui puisse les utiliser de la même façon que le PeerClient le fait. L upload, les opérations encodées, le démarrage d un PeerServer et la création de repositories sont ainsi possibles depuis le programme en version graphique. De plus, l upload des fichiers (avec encodage ou non) perd une grande limite qu il avait en mode console : celle de pouvoir les choisir librement sur le disque dur. En mode graphique, grâce à un JFileChooser, il nous est possible d uploader n importe quel fichier provenant de l ordinateur local. Fig. 1 Uploads multiples et leurs progressions : en bleu foncé les fichiers encodés et en bleu clair les fichiers normaux L amélioration la plus conséquente est sans doute la possibilité d effectuer de multiples uploads / downloads simultanément, tout en voyant l avancement de chaque opération dans une barre de progression. Le composant JProgressBar nous a pour cela rendu service. Il ne fût pas difficile de permettre les uploads et downloads multiples : il suffit en effet de démarrer un nouveau Thread à chaque download/upload. Deux problèmes se sont par contre posés : il fallait d abord trouver un moyen de définir l avancement de la barre de progression à des intervalles bien précis, puis il fallait gérer une table (ajout/suppression) contenant dans une colonne le nom du fichier, et dans l autre la barre de progression. Pour résoudre le premier problème, il nous a fallu transmettre la JProgressBar dans les méthodes upload/download de notre PeerClient, qui s occupe de les transmettre plus loin. Nous fixons le maximum de la barre de progression au nombre de bloc du fichier normal / superblocs du fichier encodé. A chaque upload/download d un 11

12 bloc/superbloc, nous mettons à jour la barre de progression et la Gui. Les barres de progressions ne sont donc pas mises à jour en temps réel, mais par intervalles de blocs/superblocs. Pour résoudre le deuxième problème, nous avons du créer une JTable avec deux colonnes dont les cellules ne sont pas modifiables (nous utilisons en fait la classe interne FileTable qui redéfinit JTable). La première, contenant les noms des fichiers, n a pas posé de problème. La deuxième colonne, quant à elle, devait pouvoir accepter des barres de progressions. Pour ce faire, nous avons redéfinit le rendu d une cellule dans une classe interne à la Gui que nous avons appelé CellRenderer, et nous avons appliqué ce rendu aux cellules de la deuxième colonne, contenant les JProgressBar. L ajout et la suppression de couples (nom du fichier, barre de progression) se font dans les Threads lancés pour les downloads/uploads. Pour la suppression d un couple, on attend six secondes après la fin de l upload/du download. Pour supprimer le bon fichier, il suffit de supprimer la première ligne qui contient le nom du fichier courant. Fig. 2 Downloads multiples et leurs progressions : en bleu foncé les fichiers encodés et en bleu clair les fichiers normaux Nous avons finalement différencié les fichiers encodés des fichiers normaux par la couleur de leur barre de progression et ajouté quelques petites icônes améliorant la convivialité du programme. Ces dernières ont été tirées d un pack d icônes du site et se trouvent dans le dossier./images/ 4.2 PeerServer et Repositories Notre PeerServer et nos Repositories acceptent les connexions multiples. C est-à-dire qu ils peuvent dialoguer avec plusieurs Peers simultanément. Pour réaliser cela, nous avons séparé chaque entité (PeerServer ou Repository) en deux classes bien distinctes : une première qui s occupe de réserver le port auprès de l ordinateur et d attendre des connexions, et une deuxième gérant tout le dialogue avec le Peer et les actions qui en découlent une fois qu une connexion a été détectée et acceptée. Chaque fois qu une connexion est acceptée, un nouveau 12

13 Thread s occupant de gérer le dialogue et les actions est lancé. 4.3 Gestion des processus Nous avons implémenté dans notre programme une gestion complète des processus. Il est ainsi possible, depuis le mode console du programme, de stopper/redémarrer le PeerServer ou les Repositories et d afficher les processus en cours. Notre PeerServer et chacun de nos Repositories disposent ainsi d une méthode stop() qui interrompt la boucle principale du processus. Comme notre PeerServer et nos Repositories acceptent les connexions multiples, il faut aussi à chaque fois créer une nouvelle connexion qui envoie un BREAK au canal qui s occupe de gérer le dialogue avec un Peer, afin que sa boucle soit aussi stoppée. 4.4 Sérialisation Cette amélioration permet à l utilisateur de garder les informations sur les fichiers qu il a uploadé d une session à l autre. C est-à-dire qu il peut sans autre stopper son programme et au prochain redémarrage de ce dernier, il n aura perdu aucune information sur les fichiers qu il proposait aux utilisateurs. Il devra simplement redémarrer un PeerServer pour les mettre à disposition des utilisateurs. Cela ne voudra toutefois pas dire que les fichiers seront téléchargeables : en effet, si les repositories sur lesquels ils ont été stockés ne sont plus actifs, il sera impossible de les récupérer. Pour pouvoir sérialiser nos fichiers, il a fallu que nos classes les représentant implémentent l interface Serializable. Quelques attributs de ces classes, tels les canaux, ont été déclaré transient afin qu ils ne soient pas sérialisés. A chaque fermeture du programme, l historique est sauvegardé dans un fichier et à chaque redémarrage, ce fichier est lu en testant le type de l objet, afin de savoir s il doit être ajouté dans la collection de fichiers encodés ou non. Le fichier de sérialisation se trouve à cet endroit :./infos/historique.serialize Nous avons aussi prévu une fonction qui permet de vider les collections de fichiers uploadés (encodés ou non) et de supprimer le fichier de sérialisation. 4.5 Hack Cette amélioration est un petit clin d oeil au concepteur du Directory. Ce dernier ne contrôle en effet pas l identité de la personne pour certaines opérations. Il est ainsi possible d effacer tous les PeerServer et Repositories du Directory. Pour ce faire, il faut dans un premier temps récupérer la liste des PeerServer et des Repositories (avec les commandes PEERSERVERNAMES et REPO- SITORYINFO ). Pour chaque PeerServer différent du nôtre, nous créons une nouvelle connexion avec le Directory (envoi de HELLO et du nom désiré), puis nous lui envoyons un BREAK avant de fermer le canal. De cette manière, le Directory supprime le PeerServer désiré. Il est encore plus simple de supprimer les Repositories. En effet, en ayant le nom d un Repository, il suffit d envoyer la commande UNREGISTERREPOSITORY au Directory, suivi de son nom. Il sera alors effacé. 13

Sylvain Archenault Yves Houpert. Projet Informatique : Langage Java : Jeu De Dames en Java

Sylvain Archenault Yves Houpert. Projet Informatique : Langage Java : Jeu De Dames en Java Sylvain Archenault Yves Houpert Projet Informatique : Langage Java : Jeu De Dames en Java Projet GM3 Mai 2005 Chapitre 1 INTRODUCTION Le projet qui nous a été confié est de réaliser un jeu de dames en

Plus en détail

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005 Oussama ELKACHOINDI Wajdi MEHENNI RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005 Sommaire I. Préliminaire : Notice d exécution et mode opératoire...4 II. Architecture globale de l application...5

Plus en détail

RAPPORT DE CONCEPTION UML :

RAPPORT DE CONCEPTION UML : Carlo Abi Chahine Sylvain Archenault Yves Houpert Martine Wang RAPPORT DE CONCEPTION UML : Bamboo Ch@t Projet GM4 Juin 2006 Table des matières 1 Introduction 2 2 Présentation du logiciel 3 2.1 Précisions

Plus en détail

www.lafamily.ch en 16 différences

www.lafamily.ch en 16 différences Cas d étude no 3 www.lafamily.ch en 16 différences juin 2003 Le mandat réalisé avec QuickSite de transformation du site existant de Lafamily.ch, centre globale d information pour les familles, à été de

Plus en détail

Le service pack 6 (SP6) est le dernier disponible pour visual studio 6. Ce dernier devrait être maintenu par Microsoft jusqu en 2008.

Le service pack 6 (SP6) est le dernier disponible pour visual studio 6. Ce dernier devrait être maintenu par Microsoft jusqu en 2008. 1 CONCEPT DE BASE 1.1 Visual Basic 6 1.1.1 Pour quoi faire? VB est un langage de type RAD : «Rapid Application Development». Il permet de créer des applications rapidement grâce à une conception simple

Plus en détail

GED MARKETING. Page 1 sur 18

GED MARKETING. Page 1 sur 18 GED MARKETING I. Présentation du produit... 2 II. Page principale de l application... 3 L arbre... 3 Le menu... 4 La fenêtre de navigation... 4 III. La recherche de documents... 4 Rechercher tous les documents...

Plus en détail

Morgan Beau Nicolas Courazier

Morgan Beau Nicolas Courazier EPSI - 2010 Rapport projet IA Conception et mise en œuvre d un générateur de systèmes experts Morgan Beau Sommaire Cahier des charges 3 Présentation générale 4 Analyse et modélisation 6 Le moteur d inférence

Plus en détail

Présentation. Logistique. Résumé de la 1e Partie. Mise en place du système

Présentation. Logistique. Résumé de la 1e Partie. Mise en place du système Présentation Diapo01 Je m appelle Michel Canneddu. Je développe avec 4D depuis 1987 et j exerce en tant qu indépendant depuis 1990. Avant de commencer, je tiens à remercier mes parrains Jean-Pierre MILLIET,

Plus en détail

LD Paye pour Windows

LD Paye pour Windows LD Paye pour Windows Version 4 Installation du progiciel Installation des programmes Ce paragraphe et ceux qui suivent décrivent l ensemble des tâches d installation de LDPaye pour Windows relatives à

Plus en détail

Gestion multi-stocks

Gestion multi-stocks Gestion multi-stocks Dans l architecture initiale du logiciel IDH-STOCK, 11 champs obligatoires sont constitués. Ces champs ne peuvent être supprimés. Ils constituent l ossature de base de la base de données

Plus en détail

PG208, Projet n 3 : Serveur HTTP évolué

PG208, Projet n 3 : Serveur HTTP évolué PG208, Projet n 3 : Serveur HTTP évolué Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L objectif

Plus en détail

Formation Gestion concours Version 2011.1.2 du 3 février 2011

Formation Gestion concours Version 2011.1.2 du 3 février 2011 Formation Gestion concours Version 2011.1.2 du 3 février 2011 PROGRAMME - Présentation du logiciel - Installation du logiciel, identification des éléments du logiciel - Récupération des licenciés de la

Plus en détail

Guide d installation UNIVERSALIS 2016

Guide d installation UNIVERSALIS 2016 Guide d installation UNIVERSALIS 2016 (Windows) Nous vous recommandons de lire ce document avant de commencer l installation d UNIVERSALIS 2016 sur Windows. Vous y trouverez la description de la procédure

Plus en détail

INITIATION AU SYSTEME D EXPLOITATION WINDOWS 2000

INITIATION AU SYSTEME D EXPLOITATION WINDOWS 2000 INITIATION AU SYSTEME D EXPLOITATION WINDOWS 2000 Introduction : Initiation à la Micro- Informatique 1. Matériel 2. Périphériques a) Le clavier b) La souris c) L écran d) L unité centrale e) L imprimante

Plus en détail

Sujet 4 : Jeu en réseau en Java / Swing. Auteur : Thomas JGENTI I072545

Sujet 4 : Jeu en réseau en Java / Swing. Auteur : Thomas JGENTI I072545 Projet Interfaces Homme-Machine Demi-valeur 16874 Année 2002-2003 Sujet 4 : Jeu en réseau en Java / Swing Auteur : Thomas JGENTI I072545 http://jgenti.free.fr/cnam Table de matières Table de matières...2

Plus en détail

Rapport Gestion de projet

Rapport Gestion de projet IN56 Printemps 2008 Rapport Gestion de projet Binôme : Alexandre HAFFNER Nicolas MONNERET Enseignant : Nathanaël COTTIN Sommaire Description du projet... 2 Fonctionnalités... 2 Navigation... 4 Description

Plus en détail

Sujet Projets 2 nd Semestre

Sujet Projets 2 nd Semestre Sujet Projets 2 nd Semestre Seuls les appels systèmes vus en cours sont autorisés. L usage d autres fonctions doit impérativement être validé par l enseignant. La date d ouverture pour l assignation de

Plus en détail

KWISATZ MODULE PRESTASHOP

KWISATZ MODULE PRESTASHOP Table des matières -1) KWISATZ - :...2-1.1) Introduction :...2-1.2) Description :...3-1.2.1) Schéma :...3-1.3) Mise en place :...4-1.3.1) PRESTASHOP :...4-1.3.1.1) Les Web Services :...4-1.3.2) KWISATZ

Plus en détail

Projet informatique UML-Cpp avec QT4

Projet informatique UML-Cpp avec QT4 Haute école spécialisée bernoise Haute école technique et informatique, HTI Section Electricité et système de communication Laboratoire de l informatique technique Projet informatique UML-Cpp avec QT4

Plus en détail

Projet de cryptographie. Algorithme de cryptage de type Bluetooth

Projet de cryptographie. Algorithme de cryptage de type Bluetooth Projet de cryptographie Algorithme de cryptage de type Bluetooth Le but de ce projet est de créer une application qui crypte et décrypte des fichiers en utilisant le principe de cryptage du Bluetooth.

Plus en détail

Sommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et

Sommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et Licence 3 CDA 2010/2011 Client FTP Java Maxence Jaouan Sommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et Windows?...

Plus en détail

ACCUEIL...2 LA DEMANDE DE DEVIS...11 COMPLETER UN DEVIS...12 ACCEPTER OU A REFUSER LE DEVIS...13

ACCUEIL...2 LA DEMANDE DE DEVIS...11 COMPLETER UN DEVIS...12 ACCEPTER OU A REFUSER LE DEVIS...13 ACCUEIL...2 LA COMMANDE...3 ONGLET "NATURE DES TRAVAUX"...3 ONGLET INFORMATIONS...8 ONGLET RECAPITULATIF...9 LA COMMANDE SIMPLE A VALIDER PAR LES ACHETEURS...10 LA DEMANDE DE DEVIS...11 COMPLETER UN DEVIS...12

Plus en détail

Getting Started. Analyseur temps-réel ATP 08. Introduction. Démarrage de l analyseur en ligne. HEAD Guide d introduction

Getting Started. Analyseur temps-réel ATP 08. Introduction. Démarrage de l analyseur en ligne. HEAD Guide d introduction Analyseur temps-réel ATP 08 Introduction L analyseur temps-réel (ATP 08) d ArtemiS permet à l utilisateur d analyser en ligne des données temporelles à l aide de nombreuses analyses, d en calculer la moyenne

Plus en détail

Braquelaire Tristan Sollaud Timothée IN-501-A1 SHOAL. Projet de Réseau et Programmation Objet 2012 / 2013. Note de Synthe se

Braquelaire Tristan Sollaud Timothée IN-501-A1 SHOAL. Projet de Réseau et Programmation Objet 2012 / 2013. Note de Synthe se Braquelaire Tristan Sollaud Timothée IN-501-A1 SHOAL Projet de Réseau et Programmation Objet 2012 / 2013 Note de Synthe se Sommaire I. Présentation générale :...1 A. La Connexion :... 1 B. L interface

Plus en détail

Gestionnaire de Sauvegarde

Gestionnaire de Sauvegarde d Utilisation Version 1.5 du 26/12/2011 d utilisation de l application de sauvegarde Actu-pc Sommaire Introduction... 3 Installation et mise en place du logiciel... 3 Pré-requis... 3 Démarrage de l installation...

Plus en détail

Traduction des Langages : Le Compilateur Micro Java

Traduction des Langages : Le Compilateur Micro Java BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant

Plus en détail

CREER ET FORMATER UNE PARTITION DE DISQUE DUR 1 QUE SONT LES PARTITIONS ET LES LECTEURS LOGIQUES? 6

CREER ET FORMATER UNE PARTITION DE DISQUE DUR 1 QUE SONT LES PARTITIONS ET LES LECTEURS LOGIQUES? 6 Table des matières. CREER ET FORMATER UNE PARTITION DE DISQUE DUR 1 QUE SONT LES PARTITIONS ET LES LECTEURS LOGIQUES? 6 QUE SONT LES DISQUES DE BASE ET LES DISQUES DYNAMIQUES? 6 FORMATAGE DES DISQUES ET

Plus en détail

Utilitaire de récupération des données

Utilitaire de récupération des données MDECOM32 pour Windows 95 Utilitaire de récupération des données Le logiciel MDECom32.EXE permet à l'utilisateur d'établir une communication avec le terminal pour émettre ou recevoir des données. MDECom32

Plus en détail

Restaurer des données

Restaurer des données Restaurer des données Pré-requis à cette présentation La lecture de ce guide suppose que vous avez installé l agent SFR Backup sur l équipement que vous souhaitez sauvegarder. Il est également nécessaire

Plus en détail

NETO32. Manuel d'utilisation. 2.03a

NETO32. Manuel d'utilisation. 2.03a NETO32 Manuel d'utilisation 2.03a Table des matières Introduction... 3 Où trouver Neto32... 3 Compatibilité... 3 Installation... 4 Démarrage de NETO32... 5 Présentation des Fonctions... 6 Menu Fichier...

Plus en détail

TD n 1 : Architecture 3 tiers

TD n 1 : Architecture 3 tiers 2008 TD n 1 : Architecture 3 tiers Franck.gil@free.fr 27/10/2008 1 TD n 1 : Architecture 3 tiers 1 INTRODUCTION Ce TD, se propose de vous accompagner durant l installation d un environnement de développement

Plus en détail

Mise à jour Apsynet DataCenter

Mise à jour Apsynet DataCenter Mise à jour Apsynet DataCenter Dans le cadre de sa stratégie d évolution produit, Apsynet propose à ses clients sous contrat de maintenance une mise à jour majeure annuelle. Celle-ci peut être complétée

Plus en détail

Salvia Liaison Financière. Manuel d installation version 15.00 Pour les professionnels des collectivités locales et de l habitat social

Salvia Liaison Financière. Manuel d installation version 15.00 Pour les professionnels des collectivités locales et de l habitat social Salvia Liaison Financière Manuel d installation version 15.00 Pour les professionnels des collectivités locales et de l habitat social Sommaire 1. Préambule... 3 2. Introduction... 3 3. Création de la

Plus en détail

Guillaume MONTAVON Benoît MEILHAC. Rapport Technique du projet. Gestionnaire de tâches pour Android

Guillaume MONTAVON Benoît MEILHAC. Rapport Technique du projet. Gestionnaire de tâches pour Android Guillaume MONTAVON Benoît MEILHAC Rapport Technique du projet Gestionnaire de tâches pour Android Sommaire 1. Introduction... 3 2. Outils utilisés... 3 2.1. Android SDK... 3 2.2. Android dans Eclipse...

Plus en détail

Dr Aser J. BODJRENOU. Dernière mise à jour: Mai 2008

Dr Aser J. BODJRENOU. Dernière mise à jour: Mai 2008 SUPPORT DE COURS SUR LE MODULE WINDOWS Dr Aser J. BODJRENOU Dernière mise à jour: Mai 2008 Objectifs Objectifs spécifiques Plan Démarrer un ordinateur. Indiquer: - l icône du Poste de travail sur le Bureau

Plus en détail

La Clé informatique. Formation Access XP Aide-mémoire

La Clé informatique. Formation Access XP Aide-mémoire La Clé informatique Formation Access XP Aide-mémoire Septembre 2003 Définitions de termes Base de données : Se compare à un énorme classeur ayant plusieurs tiroirs où chacun d eux contient des informations

Plus en détail

1. Faire Démarrer, Paramètres, Panneau de configuration, Outils d administration, Gestion de l ordinateur.

1. Faire Démarrer, Paramètres, Panneau de configuration, Outils d administration, Gestion de l ordinateur. TP PERSONNALISER SON POSTE DE TRAVAIL LES COMPTES, LES GROUPES C'EST QUOI? Les comptes et les groupes permettent de gérer plus facilement l administration d une machine. Il semble assez logique que sur

Plus en détail

1 Programmation Client/Serveur basée sur TCP/IP

1 Programmation Client/Serveur basée sur TCP/IP Outils Informatique pour l ingénieur TD 1 Réseau et Web IP, Client/serveur 1 Programmation Client/Serveur basée sur TCP/IP 1.1 Buts de cette réalisation Ce TP sur la programmation client/serveur a pour

Plus en détail

Atelier d initiation. Initiation à Windows Vista et 7

Atelier d initiation. Initiation à Windows Vista et 7 Atelier d initiation Initiation à Windows Vista et 7 Contenu de l atelier Qu est-ce que Windows?... 1 Démarrage d un ordinateur... 1 Ouverture de session... 1 Bureau... 2 La barre des tâches... 2 Le menu

Plus en détail

Tutoriel d utilisation du site macommanderocal.fr

Tutoriel d utilisation du site macommanderocal.fr Tutoriel d utilisation du site macommanderocal.fr Tutoriel d utilisation du site macommanderocal.fr Page 1 Table des matières I. Page d accueil... 3 1. Création de compte client... 3 2. Connexion à votre

Plus en détail

Créer sa première présentation :

Créer sa première présentation : PowerPoint est une application dédiée à la conception de présentations de toutes sortes, utilisées en projection ou en affichage sur écran. Ces présentations peuvent intégrer aussi bien du texte, des diagrammes,

Plus en détail

TO52 - Application médicale sous android Consultation des informations patient

TO52 - Application médicale sous android Consultation des informations patient TO52 - Application médicale sous android Consultation des informations patient DAVID LACHICHE XAVIER MICHEL Automne 2011 TABLE DES MATIÈRES 1 Partie données métier 2 1.1 Généralités.......................................

Plus en détail

IUT seconde année TP de synthèse : Réalisation d un chat Module I6 Interfaces graphiques et programmation événementielles Durée : 4h

IUT seconde année TP de synthèse : Réalisation d un chat Module I6 Interfaces graphiques et programmation événementielles Durée : 4h IUT de Caen Département Réseaux et Télécommunications Année 2013-2014 8 janvier 2014 A. Lechervy D. Rohard IUT seconde année TP de synthèse : Réalisation d un chat Module I6 Interfaces graphiques et programmation

Plus en détail

Un algorithme de composition musicale

Un algorithme de composition musicale Un algorithme de composition musicale Table des matières Présentation Le compositeur. Le code PMX.................................................. Structures de données utilisées........................................

Plus en détail

TP01: Installation de Windows Server 2012

TP01: Installation de Windows Server 2012 TP0: Installation de Windows Server 202 Rappel : nous utiliserons le terme «WS202» pour désigner Windows Server 202et le terme «VM» pour Machine Virtuelle. - Installation d une VM Windows Server 202 de

Plus en détail

Installation des outils du CD-Rom

Installation des outils du CD-Rom Installation des outils du CD-Rom Installer le JDK Pour installer Java2 SDK, exécutez le programme d'installation en double-cliquant sur l icône j2sdk-1_4_0-win.exe située dans le répertoire Java2 du CD-Rom.

Plus en détail

Numérisation. Copieur-imprimante WorkCentre C2424

Numérisation. Copieur-imprimante WorkCentre C2424 Numérisation Ce chapitre contient : «Numérisation de base», page 4-2 «Installation du pilote du scanner», page 4-4 «Réglage des options de numérisation», page 4-5 «Récupération des images», page 4-11 «Gestion

Plus en détail

Application de gestion de tâche

Application de gestion de tâche Université de Montpellier 2 Rapport TER L3 Application de gestion de tâche Tuteur : M. Seriai Participant : Cyril BARCELO, Mohand MAMMA, Feng LIU 1 er Fevrier 2015 26 Avril 2015 Table des matières 1 Introduction

Plus en détail

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web.

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web. Document 1 : client et serveur Les ordinateurs sur lesquels sont stockés les sites web sont appelés des serveurs. Ce sont des machines qui sont dédiées à cet effet : elles sont souvent sans écran et sans

Plus en détail

Utiliser un modèle d état prédéfini

Utiliser un modèle d état prédéfini Chapitre 8 Etats rapides Certains boutons sont désactivés, en fonction du type de cellule sélectionné. 4 Répétez les étapes 2 et 3 pour chaque bordure à paramétrer. 5 Cliquez sur le bouton OK pour valider

Plus en détail

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+ Guide de formation avec exercices pratiques Configuration et dépannage de PC Préparation à la certification A+ Sophie Lange Troisième édition : couvre Windows 2000, Windows XP et Windows Vista Les Guides

Plus en détail

Back up Server DOC-OEMSPP-S/6-BUS-FR-17/05/11

Back up Server DOC-OEMSPP-S/6-BUS-FR-17/05/11 Back up Server DOC-OEMSPP-S/6-BUS-FR-17/05/11 Les informations contenues dans le présent manuel de documentation ne sont pas contractuelles et peuvent faire l objet de modifications sans préavis. La fourniture

Plus en détail

Gestion électronique des procurations

Gestion électronique des procurations Gestion électronique des procurations Table des matières Généralités... 2 1. Approuver des procurations... 4 1.1 Section «Procurations à approuver»... 4 1.2 Section «Signaux»... 6 1.3 Messages particuliers...

Plus en détail

Console de gestion Online Backup 3.8 Manuel d utilisation

Console de gestion Online Backup 3.8 Manuel d utilisation Console de gestion Online Backup 3.8 Manuel d utilisation Novembre 2007 Version 1.0 Clause de non-responsabilité Le présent document a été élaboré avec le plus grand soin. Il se peut toutefois que des

Plus en détail

Manuel d utilisation de l outil collaboratif

Manuel d utilisation de l outil collaboratif Manuel d utilisation de l outil collaboratif Réf OCPD-V2 Page 1 / 24 a mis en œuvre un outil collaboratif qui permet de partager des informations entre collaborateurs. Il permet à des utilisateurs travaillant

Plus en détail

SOUMISSION WEB MANUEL D UTILISATION

SOUMISSION WEB MANUEL D UTILISATION 11/03/11 Version 3 SOUMISSION WEB MANUEL D UTILISATION Conventions utilisées dans le manuel... 1 Introduction... 3 Rôle de l application... 3 Accès à l application... 4 Accès à partir de l imprimante Print2C...

Plus en détail

Symphony Déployer des collections sur différents emplacements

Symphony Déployer des collections sur différents emplacements Symphony Déployer des collections sur différents emplacements Sandrine MARTINEZ 19/05/2014 1 / 28 TABLE DES MATIERES 1. Introduction... 3 1.1. But du document... 3 2. Etapes... 4 3. Configuration de Wireless

Plus en détail

Mode FAST Installation sur Windows de lecteur bi-fente CNOP (Conseil National de l Ordre des Pharmaciens)

Mode FAST Installation sur Windows de lecteur bi-fente CNOP (Conseil National de l Ordre des Pharmaciens) Mode FAST Installation sur Windows de lecteur bi-fente (Conseil National de l Ordre des Pharmaciens) Référence : DP_Mode_FAST_Installation_Lecteur_Bi-fente_V0 Date : 6/05/2013 Version : 1.0 Sommaire 1

Plus en détail

Rapport du projet de Chat distribué avec Java RMI

Rapport du projet de Chat distribué avec Java RMI Rapport du projet de Chat distribué avec Java RMI 1. LE SUJET...2 2. VERSION 1...4 A. PRESENTATION ET PRINCIPE... 4 B. CARACTERISTIQUES CLIENT / SERVEUR... 6 3. VERSION 2...8 A. PRESENTATION ET PRINCIPE...

Plus en détail

UT Installation et paramétrage logiciel de sauvegarde INSTALLATION ET PARAMETRAGE LOGICIEL DE SAUVEGARDE. Groupe PROGMAG

UT Installation et paramétrage logiciel de sauvegarde INSTALLATION ET PARAMETRAGE LOGICIEL DE SAUVEGARDE. Groupe PROGMAG GUIDE UTILISATION POINT DE VENTE INSTALLATION ET PARAMETRAGE LOGICIEL DE SAUVEGARDE SOMMAIRE 1 Créer une tâche de sauvegarde... 4 1.1 Paramètres de la tâche... 4 1.1.1 Nommer la tâche... 4 1.1.2 Emplacement

Plus en détail

PC & Windows Livret d exercices Laurent DUPRAT Pratiquons

PC & Windows Livret d exercices Laurent DUPRAT Pratiquons Pratiquons ensemble PC & Windows Livret d exercices Laurent DUPRAT Pratiquons ensemble PC & Windows Livret d exercices Laurent DUPRAT Pratiquons ensemble PC & Windows Livret d exercices Laurent DUPRAT

Plus en détail

Cahier Technique Installation sous Terminal Server Edition. Sage P.E. Documentation technique

Cahier Technique Installation sous Terminal Server Edition. Sage P.E. Documentation technique Cahier Technique Installation sous Terminal Server Edition Sage P.E Documentation technique Sommaire I. Introduction... 3 II. Configuration du serveur... 4 1. Principe d utilisation à distance... 4 2.

Plus en détail

Première étape : Le modèle client/serveur avec le protocole TCP (client unique)

Première étape : Le modèle client/serveur avec le protocole TCP (client unique) École de technologie supérieure Responsable du cours : Hassan Zeino Département de génie logiciel et des TI Chargés de laboratoire : Fatna Belqasmi (A-3326) Session : Automne 2010 LOG610 - RÉSEAUX DE TELECOMMUNICATION

Plus en détail

fichiers Exemple introductif : stockage de photos numériques

fichiers Exemple introductif : stockage de photos numériques b- La Gestion des données Parmi les matériels dont il a la charge, le système d exploitation s occupe des périphériques de stockage. Il s assure, entre autres, de leur bon fonctionnement mais il doit être

Plus en détail

TotEM. Guide d utilisation de l application. Janvier 2012 R001

TotEM. Guide d utilisation de l application. Janvier 2012 R001 TotEM Guide d utilisation de l application Janvier 2012 R001 TotEM Guide d utilisation de l application 1. Introduction 3 2. Les écrans de TotEM 7 3. Charger et visualiser un document 16 4. Le sommaire

Plus en détail

Manuel Utilisateur V4 MailInBlack V4.1.1.0

Manuel Utilisateur V4 MailInBlack V4.1.1.0 Manuel Utilisateur V4 MailInBlack V4.1.1.0 MailInBlack répond aux nouveaux enjeux liés à l utilisation de l email en entreprise en vous proposant des applications améliorant la performance de vos échanges

Plus en détail

Création d un catalogue en ligne

Création d un catalogue en ligne 5 Création d un catalogue en ligne Au sommaire de ce chapitre Fonctionnement théorique Définition de jeux d enregistrements Insertion de contenu dynamique Aperçu des données Finalisation de la page de

Plus en détail

SAUVEGARDE ET RESTAURATION DES METADONNEES AVEC SAS 9.3

SAUVEGARDE ET RESTAURATION DES METADONNEES AVEC SAS 9.3 SAUVEGARDE ET RESTAURATION DES METADONNEES AVEC SAS 9.3 SAS 9.3 est disponible depuis le 12 Juillet 2011. Cette nouvelle version s accompagne de son lot de nouveautés notamment au niveau du serveur de

Plus en détail

Administration de votre site web

Administration de votre site web Administration de votre site web WordPress Date de révision : 11/12/2012 1 Mestres All Dev, tous droits réservés, reproduction interdite. Sommaire Connexion... 3 Gestion des articles... 4 Créer un article...

Plus en détail

BTS SIO option SISR Lycée Godefroy de Bouillon Clermont-Ferrand

BTS SIO option SISR Lycée Godefroy de Bouillon Clermont-Ferrand Active Directory sous Windows Server SAHIN Ibrahim BTS SIO option SISR Lycée Godefroy de Bouillon Clermont-Ferrand Sommaire I - Introduction... 3 1) Systèmes d exploitation utilisés... 3 2) Objectifs...

Plus en détail

Recueil des Fiches Concepteurs : Mise en œuvre d un site SharePoint 2013 Juin 2015

Recueil des Fiches Concepteurs : Mise en œuvre d un site SharePoint 2013 Juin 2015 Recueil des s s : Mise en œuvre d un site SharePoint 2013 Juin 2015 Ce document décrit le paramétrage pour la mise en œuvre des fonctionnalités standard de Microsoft SharePoint 2013. NADAP et SharePoint

Plus en détail

Guide d installation UNIVERSALIS 2014

Guide d installation UNIVERSALIS 2014 Guide d installation UNIVERSALIS 2014 (Windows) Nous vous recommandons de lire ce document avant de commencer l installation d UNIVERSALIS 2014 sur Windows. Vous y trouverez la description de la procédure

Plus en détail

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2 Langage et Concepts de Programmation Objet Travaux Dirigés no2 Pôle Informatique École Nationale Supérieure des Mines de St-Etienne Vous trouverez plus de détails sur les concepts abordés lors de ce TD

Plus en détail

Utilisation de l application. Introduction à asa-control. Connexion à l application. Plus facile que tu ne le penses.

Utilisation de l application. Introduction à asa-control. Connexion à l application. Plus facile que tu ne le penses. asa-control Introduction à asa-control Utilisation de l application Plus facile que tu ne le penses. Tu travailles avec la souris et effectues toujours les mêmes étapes. Connexion à l application Choisis

Plus en détail

Manuel d aide. A l utilisation. Du logiciel. HexaSoft

Manuel d aide. A l utilisation. Du logiciel. HexaSoft Manuel d aide A l utilisation Du logiciel HexaSoft 1. Installation du logiciel Pour installer le logiciel sur votre PC procéder comme suit : 1. Insérez le CD d HexaSoft dans le lecteur CD du PC (Si l installation

Plus en détail

Correction TP 04. Guillaume. 16 février 2015 (màj 17/02)

Correction TP 04. Guillaume. 16 février 2015 (màj 17/02) 16 février 2015 (màj 17/02) NB : j ai réalisé ce corrigé avant son application en TP, il se peut que certaines réponses soient inexactes. Vous fâchez pas :c Je vous conseille de faire le TP par vous-même

Plus en détail

Manuel du revendeur. version 2.0-r1

Manuel du revendeur. version 2.0-r1 Manuel du revendeur version 2.0-r1 Table des matières 1 Explication des termes 3 2 Sections du tableau d administration dédié au revendeur 3 3 Généralités 4 3.1 Aperçu............................... 4

Plus en détail

Tableau de bord Commerçant

Tableau de bord Commerçant Paiement sécurisé sur Internet Paiement sécurisé sur Internet Tableau de bord Commerçant Paiement sécurisé sur Internet Paiement sécurisé sur Internet au de bord Commerçant au de bord Commerçant au de

Plus en détail

Personnaliser et adapter SPIP Développeur SPIP

Personnaliser et adapter SPIP Développeur SPIP Personnaliser et adapter SPIP Développeur SPIP En Théorie Le fonctionnement de SPIP Qu est ce que SPIP? SPIP (Système de Publication pour l Internet Partagé) est un logiciel libre destiné à la production

Plus en détail

Introduction au débogage avec Eclipse

Introduction au débogage avec Eclipse Introduction au débogage avec Eclipse C. Pain-Barre et H. Garreta IUT INFO Année 2006-2007 1 Notion de debogage Tout développeur est confronté un jour à un programme qui plante pour une raison apparemment

Plus en détail

LE TRAITEMENT DE TEXTE

LE TRAITEMENT DE TEXTE LE TRAITEMENT DE TEXTE A partir de la version 5 de spaiectacle, le traitement de texte est totalement intégré à l application. Au-delà de la simplification quant à la manipulation de ce module, c est également

Plus en détail

STATISTICA - Version 10

STATISTICA - Version 10 STATISTICA - Version 10 Instructions d'installation de STATISTICA Entreprise pour une Utilisation sous Terminal Server et Citrix Remarques : 1. Ces instructions s'appliquent à une installation sous Terminal

Plus en détail

Table des matières. 1 Objectifs... 3 2 Précautions importantes avant toute utilisation :... 4 3 Mode d emploi... 5 4 Questions / réponses...

Table des matières. 1 Objectifs... 3 2 Précautions importantes avant toute utilisation :... 4 3 Mode d emploi... 5 4 Questions / réponses... Table des matières 1 Objectifs... 3 2 Précautions importantes avant toute utilisation :... 4 3 Mode d emploi... 5 4 Questions / réponses... 6 1 Objectifs 1.1 Le BOB Migration Kit permet de : Convertir

Plus en détail

Documentation utilisateur MyGed. Documentation MyGed / Utilisation de MyGed Entreprise

Documentation utilisateur MyGed. Documentation MyGed / Utilisation de MyGed Entreprise Documentation MyGed / Utilisation de MyGed Entreprise 1 SOMMAIRE 1 Le classement...4 1.1 Le classement depuis une panière...4 1.2 Le traitement par lot...6 1.3 Classement depuis l explorateur Windows...7

Plus en détail

Logiciel SuiviProspect Version Utilisateur

Logiciel SuiviProspect Version Utilisateur Logiciel SuiviProspect Version Utilisateur 1 Le logiciel SuiviProspect permet le suivi des prospects, mais aussi des clients et fournisseurs; il s agit des contacts. Le logiciel permet l envoi de courrier,

Plus en détail

TP1 : Initiation à l algorithmique (1 séance)

TP1 : Initiation à l algorithmique (1 séance) Université de Versailles Vanessa Vitse IUT de Vélizy - Algorithmique 2006/2007 TP1 : Initiation à l algorithmique (1 séance) 1 Prise en main de l environnement Unix : rappels et compléments Le but de la

Plus en détail

Désinstallation des versions antérieures

Désinstallation des versions antérieures Nous vous recommandons de lire ce document avant de commencer l installation d Universalis 2011 sur Windows. Vous y trouverez une description de la procédure d installation, ainsi que les réponses aux

Plus en détail

Sujet 17 : Exploitation de données financières de Google Finance en C#

Sujet 17 : Exploitation de données financières de Google Finance en C# Amsellem Ari Pour le 01/06/11 Ohayon Alexandre Gueguen Tristan Sujet 17 : Exploitation de données financières de Google Finance en C# Introduction : Il convient tout d abord de signaler que le titre de

Plus en détail

GESTION DES TRANSPORTS via le WEB

GESTION DES TRANSPORTS via le WEB GESTION DES TRANSPORTS via le WEB SOLUTIONS INFORMATIQUES POUR UN MONDE EN MOUVEMENT MK2i 80 Rue des Alliés BP2523 38035 GRENOBLE CEDEX Tél. 04 76 33 35 07 Fax 04 76 40 15 17 www.mk2i.fr SOMMAIRE Introduction

Plus en détail

Génie logiciel Configuration et déploiement

Génie logiciel Configuration et déploiement Génie logiciel Configuration et déploiement SPE4 - ESI 1 Configuration et déploiement Rôle Logiciel d installation d application Importance Critique : doit accompagner tout développement Outils de développement

Plus en détail

MESSAGERIE INTERNE. Paramétrages

MESSAGERIE INTERNE. Paramétrages MESSAGERIE INTERNE Paramétrages Maintenance des Employés : La première étape est de créer autant d employé dans le logiciel que nécessaire afin d avoir une messagerie par code employé. Allez dans le menu

Plus en détail

7 VOS ADRESSES. Afin de faciliter la saisie des envois, ChronoShip OnLine vous permet de gérer votre carnet d adresses.

7 VOS ADRESSES. Afin de faciliter la saisie des envois, ChronoShip OnLine vous permet de gérer votre carnet d adresses. VOS ADRESSES 7 VOS ADRESSES Afin de faciliter la saisie des envois, ChronoShip OnLine vous permet de gérer votre carnet d adresses. Diverses options permettent d enrichir ce carnet d adresses : la saisie

Plus en détail

Sommaire : I. Introduction

Sommaire : I. Introduction Sommaire : I. Introduction... 1 II. Lancement de PcGalileo :... 2 III. Envoie demande de localisation :... 3 A. Geolocalisation ponctuelle :... 4 B. Géolocalisation séquentielle :... 4 C. Géolocalisation

Plus en détail

Manuel Utilisateur : INSTALLATION DE L APPLICATION SOFIE V1.40

Manuel Utilisateur : INSTALLATION DE L APPLICATION SOFIE V1.40 Manuel Utilisateur : INSTALLATION DE L APPLICATION SOFIE V1.40 Table des matières 1. INTRODUCTION... 3 1.1 OBJET DU DOCUMENT... 3 2. RESUME DES OPERATIONS... 4 2.1 DIAGRAMME DES ÉTAPES... 4 3. PRE-REQUIS

Plus en détail

Résolution des problèmes liés aux imprimantes www.ofppt.info

Résolution des problèmes liés aux imprimantes www.ofppt.info ROYAUME DU MAROC Office de la Formation Professionnelle et de la Promotion du Travail aux imprimantes DIRECTION RECHERCHE ET INGENIERIE DE FORMATION SECTEUR NTIC Diagnostiquer un problème Sommaire 1. Introduction...

Plus en détail

Boot Camp Guide d installation et de configuration

Boot Camp Guide d installation et de configuration Boot Camp Guide d installation et de configuration Table des matières 3 Introduction 4 Vue d ensemble de l installation 4 Étape 1 : Rechercher les mises à jour 4 Étape 2 : Préparer votre Mac pour Windows

Plus en détail

Installation E-SIDOC

Installation E-SIDOC Ministère de l'education Nationale - Académie de Grenoble - Région Rhône-Alpes Code fichier : installation_e-sidoc.doc C entre A cadémique de R essources et de M aintenance I nformatique E quipements P

Plus en détail

Mise en œuvre d un Site Sharepoint-V1

Mise en œuvre d un Site Sharepoint-V1 Mise en œuvre d un Site Sharepoint- MAJ 20/01/2015 Ce document décrit le paramétrage pour la mise en œuvre des fonctionnalités standard de Microsoft SharePoint 2013 NADAP et SharePoint NADAP ( Nouvelle

Plus en détail

LISTES DE DISTRIBUTION GÉRÉES PAR SYMPA DOCUMENT EXPLICATIF DE L'INTERFACE WEB À L'INTENTION DES ABONNÉS

LISTES DE DISTRIBUTION GÉRÉES PAR SYMPA DOCUMENT EXPLICATIF DE L'INTERFACE WEB À L'INTENTION DES ABONNÉS LISTES DE DISTRIBUTION GÉRÉES PAR SYMPA DOCUMENT EXPLICATIF DE L'INTERFACE WEB À L'INTENTION DES ABONNÉS MAI 2013 Table des matières 1. Introduction... 3 2. Interface d accueil... 4 2.1. Zone d authentification...

Plus en détail