Le simulateur HDLC (High-Level Data Link Control) 1

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

Download "Le simulateur HDLC (High-Level Data Link Control) 1"

Transcription

1 Le simulateur HDLC (High-Level Data Link Control) 1 Meriem Berkane et François Petitit encadrés par Mme S. Vial 13 mai Travail d'etude et de Recherche, classe de Maîtrise Informatique, Université d'evry Val d'essonne

2 Chapitre 1 Présentation du projet 1.1 Le projet Le TER, proposé et encadré par Mme Vial, consistait à poursuivre un projet qui avait déjà été commencé l'an dernier par Sébastien Jobert et Dominique Pillou. Le but était de développer un logiciel permettant de simuler une session d'échanges de trames dans le cadre du protocole de réseaux HDLC, qui est un protocole de type de la couche liaison de données. L'intérêt de ce sujet, était de mettre à la disposition des étudiants en réseaux, en particulier les étudiants en Licence Informatique, un outil pédagogique, pratique et clair, qui leur permettrait de se familiariser avec cette classe de protocoles, de faciliter la compréhension et l'assimilation de mécanismes souvent compliqués, et aussi de rendre les cours et les travaux pratiques concernant ce protocole plus pratiques et plus agréables. Nos objectifs dans le cadre de ce TER étaient donc les suivants : 1. étudier le protocole HDLC en détail, et essayer d'assimiler l'intégralité de ses fonctionnalités ; 2. En premier lieu, faire un travail d'étude et d'analyse du logiciel déjà réalisé, an d'apporter les améliorations nécessaires, et d'essayer d'achever le travail déjà commencé ; 3. Réaliser, dans la deuxième partie de ce TER, un véricateur de scénario, qui serait un outil pédagogique pour les étudiants et une véritable aide pour les professeurs lors de la correction des comptes rendus, car il permettrait aux étudiants et professeurs, de tester si leurs scénarios satisfont bien les normes HDLC. Les raisons qui nous ont poussées à choisir ce sujet, sont diverses : 1

3 Implémenter un protocole de réseaux n'est pas une chose facile, cela demande une grande phase de documentation et une étude approfondie des mécanismes de ce dernier. Pour nous, c'était une occasion intéressante de toucher à des domaines variés, que l'on allait forcément retrouver lors de nos futurs stages et emplois, tels que le conception et la gestion de projets, le génie logiciel, l'algorithmique avancée, les réseaux ainsi que le développement dans un langage objet. Nous avions réalisé lors de notre cursus universitaire, de nombreux projets, où nous devions répondre à des questions précises, et réaliser un travail bien précis et bien identié dès le départ. Dans ce TER, nous étions très attirés par la liberté d'action que nous avions. En eet, Mme. Vial a précisé lors de la présentation des sujets de TER, que nous étions susamment autonomes quant aux choix techniques et algorithmiques, et ceci à plusieurs niveaux, notamment le choix de nos outils et logiciels de travail, ainsi que la manière d'implémenter le protocole et de dénir l'interface entre l'utilisateur et le logiciel. Nous savions également, que nir un travail qui a déjà été commencé, par d'autres étudiants, qui ont leur façon de programmer, leur façon de penser, et une conception personnelle du protocole, qui est peut être diérente de la nôtre, ne serait certainement pas une chose facile, nous étions d'ailleurs le seul binôme à choisir ce sujet. Nous étions cependant, conscients que dans notre future vie active, nous allions peut être nous confronter à une situation identique, et que c'était un bon entraînement, et un bon dé à relever. Enn, étant très attirés par le domaine des réseaux (nous allons d'ailleurs, réaliser des stages dans ce domaine pendant les vacances d'été), développer ce logiciel nous permet d'approcher de plus près le domaine des réseaux, et de faire un premier pas pratique dans ce sens. Voilà donc les principales raisons qui nous ont poussées à choisir ce sujet. A présent, nous vous souhaitons une agréable lecture de ce rapport. 2

4 Chapitre 2 Le déroulement du projet 2.1 Documentation sur le protocole HDLC Comme nous l'avons expliqué dans le premier chapitre, la première étape de ce TER, était tout naturellement, la phase de documentation. Nous nous sommes donc plongés dans l'univers HDLC pendant les premières semaines du TER, et nous avons essayé de comprendre ses mécanismes et d'assimiler ses fonctionnalités, même les plus avancées. Nous allons dans cette partie, vous donner une dénition globale, concise et complète de ce protocole Généralités Le premier protocole de liaison réalisé par l'entreprise américaine IBM, pour son architecture SNA s'appelait SDLC (Synchronous Data Link Control). Le but de ce protocole, était de s'aranchir de deux principaux problèmes de communication entre machines locales ou distantes : 1. Les erreurs de transmission dûes aux perturbateurs ; 2. Le contrôle de ux entre machines ayant des débits diérents. SDLC était superieur aux autres protocoles alors existants de type envoyer et attendre qui génère des délais. Les organismes de normalisation intervinrent alors : 1. L'ANSI en t le ADCCP(Advanced Data Communication Procedure) ; 2. l'iso en t HDLC(High Level Data Control), entre 1980 et Le protocole HDLC(High Level Data Link Control) ou LAP-B issue de la norme ISO 8802,2 est, comme son nom l'indique, un protocole de haut niveau de la couche liaison de donées du modèle OSI. La couche liaison de données fait interface entre la couche physique et la couche réseau. Elles reçoit les données brutes sous forme de bits de la couche inférieure, les organise en trames appelées L-PDU(Link Protocol Data Unit) et gère l'envoi 3

5 de celles-ci jusqu'à une autre machine(connexion point à point). Cette gestion comprend : Un contrôle et une correction d'erreurs(vérication de la correction des données arrivées). Un système d'acquittement de messages ( L'émetteur peut ainsi savoir les quelles des trames envoyées ont été correctement reçues). Un contrôle de ot, lorsque la machine ne peut plus recevoir de trames, le transfert des données est ainsi gelé. Le protocole étudié, fait partie de la demi couche supérieure(llc -Logical Link Control-) de la couche liaison de donnée. Il assure l'envoi de messages entre 2 machines ou sites, c'est-à-dire que l'on doit s'assurer qu'ils arrivent bien, grâce à un système d'acquittement : soit sous forme de piggy backing, soit en envoyant un message d'acquittement. Une session HDLC se décompose en trois phases : 1. Connexion ; 2. Envoi/Réception de messages ; 3. Déconnexion. Nous allons maintenant voir les diérents types de trames Les diférents types de trames Voici le schéma d'une trame HDLC : Fig. 2.1 schéma d'une trame HDLC Les trames d'infomation Le champs commande de ce type de trames a la forme suivante : Fig. 2.2 champs contrôle d'une trame d'information 4

6 Le premier bit à gauche, positionné ici à 0, sert à identier ce type de trames comme étant des trames d'information. Le champ N(S) (codé sur 3 bits), correspond au numéro de la trame envoyée. Le champ P/F, correspond à un booléen, sa valeur est mise à vrai, si le site émetteur exige que le message émit soit acquitté dès sa réception, sa valeur est mise à faux dans le cas contraire. Le champ N(R) (codé sur 3 bits également), correspond au numéro de la prochaine trame attendue par le site émetteurau moment de l'envoi(ce champ est très utile pour les acquittements). Les trames de supervision Le champs commande de ce type de trames a la forme suivante : Fig. 2.3 champs contrôle d'une trame de supervision Ces trames ne contiennent pas de données à émettre, le champs données est donc vide ici, ce type de messages comprend 4 trames diérentes par leur utilité : RR : Receive And Ready : qui signie que le site émetteur a reçu toutes les trames ayant un numéro inférieur au numéro stocké dans le champs N(R), et qu'il est prêt à recevoir la prochaine trame ; RNR : Receive And Not Ready : qui signie que le site émetteur a reçu toutes les trames ayant un numéro inférieur au numéro stocké dans le champs N(R), mais qu'il souhaite geler la réception des messages, an de pouvoir gérer son ux, le site opposé devra donc attendre de recevoir un message RR, avant de pouvoir reprendre la communication avec ce site ; Les deux trames RR et RNR ont donc pour but, d'acquitter des trames, la diérence entre ces deux types de message, est que le premier permet de poursuivre le transfert des données, alors que le deuxième suspend temporairement l'envoi et la réception de messages ; REJ : REJect : qui signie que le site émetteur a reçu une ou plusieurs trames déséquencées(des trames non attendues), le champ N(R) ici, contient le numéro de la prochaine trame réellement attendue. Dans ce mode de reprise sur erreur, les messages non attendus(déséquencés) sont immédiatement détruits, et ne sont donc ni mémorisés, ni pris en compte ; 5

7 SREJ : Selective REJect : Dans ce cas aussi, le site émetteur a reçu une ou plusieurs trames déséquencées(des trames non attendues), mais la gestion de ces messages est diérente dans ce cas. En eet, le site émetteur du Srej, mémorise les messages déséquencées, et demande la réemission de messages manquants, il envoie donc un Srej par message manquant, le N(R) ici, comprend donc le numéro du message que ce site attend. Une fois que les messages manquants sont réceptionnés, les messages mémmorisés et mis en attente, sont immédiatement traités. Dans la pratique, le mode de reprise sur erreur le plus utilisé, est le REJ, le SREJ n'est utilisé, que dans des cas précis, où le risque qu'une trame soit perdue est inme, c'est le cas par exemple dans la transmission de données vers ou depuis des satellites. Là, la mémorisation des trames déséquencées s'avère très rentable, dans tous les autres cas, le REJ est très ecace. Les trames non numérotées : Le champs commande de ce type de trames a la forme suivante : Fig. 2.4 champs contrôle d'une trame non numérotée Il existe 4 types de trames non-numérotées : SABM : Set Asynchronous Balanced Mode, Cette trame correspond à une demande de connexion ; DISC : DISConnection, qui correspond à une demande de déconnexion ; UA : Unumbered Acknowledgement), qui correspond à une acceptation d'une connexion ou d'une déconnexion ; DM : Disconnected Mode, qui correspond au refus d'une connexion(qui est donc la suite de la réception d'une trame SABM) Paramètres de connexion Avant d'entamer une session HDLC, les deux machines doivent se mettre d'accord sur un certain nombre de paramètres, avant de se connecter. Voici les principaux paramètres : T1 : La durée du timer out de réémission, qui correspond au délai maximum au delà duquel toute trame non acquittée sera réémise ; 6

8 T2 :La durée du timer out d'acquitement, qui correspond au délai maximum au delà duquel toute trame reçue doit être acquittée ; W :La taille de la fenêtre, c'est à dire le nombre maximum de messages qu'un site peut envoyer successivement, sans que aucune d'elles ne soit acquittée. Naturellement la taille de la fenêtre est égale à 8 au maximum(car elle est codée sur 3 bits) ; N1 : La taille maximum des données émises dans une trame d'information ; N2 :Le nombre maximum qu'une trame est réémise avant de considérer que la connexion avec le site opposée n'est plus valable ; Le mode de reprise sur erreur : REJ ou SREJ Détection des erreurs : HDLC appartient à une famille de protocoles orientés bits(donc sans notion de caractère), et utilise un mécanisme de détection d'erreurs de type CRC Contrôle de Redondance Cyclique. L'idée du CRC est de transmettre, conjointement avec les données signicatives, une valeur calculée par l'émetteur à partir des données à transmettre. Le récepteur eectue le même calcul de son côté, et si le résultat est identique, alors le message n'a pas été modié. Dans tout les autres cas, le message reçu est détruit, et il n'est donc pas pris en compte. Le calcul va utiliser une opération de base : la division des polynômes. HDLC, comme bien d'autres protocoles de la même famille, utilise le polynôme générateur du standard X25 comme polynôme générateur(diviseur). cette partie sera plus détaillée dans le chapitre Aspects techniques, où nous vous présenterons les outils binaires, et la détection des erreurs telle que nous l'avons réalisée. Notre présentation du protocole HDLC est à présent terminée, si vous désirez plus de documentation sur HDLC vous pouvez vous référer à l'annexe où nous avons mis à votre disposition une importante liste de documents et de liens qui nous ont été d'une aide considérable. Ces annexes peuvent être un excellent outil pour les étudiants utilisateurs de ce logiciel, car nous elles nous ont beaucoup appris nous-mêmes sur le protocole. 2.2 L'analyse du projet réalisé l'an dernier Après la phase de documentation, vient alors la phase d'étude et d'analyse des fonctionnalités et des bases de HDLCSim, logiciel réalisé par Dominique Pillou et Sébastien Jobert l'année dernière. 7

9 Nous tenons, avant de rendre compte de cette analyse, remercier Dominique et Sébastien, car leur conception du logiciel, et leur rapport, nous ont été d'une aide considérable, dans cette partie. Ils ont en eet facilité la compréhension de leur code source et détaillé leur travail dans le rapport qui nous a été remis par Mme. Vial Les fonctionnalités de HDLCSim Le choix d'un certain nombre de paramètres de connexion Le temps de traitement d'un message d'information ; Le temps de transmission d'un message d'information ; La taille de la fenêtre W ; Le nombre maximum de fois qu'un message d'information peut être réémis, N2 ; L'acquittement des messages, utilisant des trames RR ; La gestion des messages déséquencés, avec mode de reprise sur erreur REJ. L'envoi et la réception des messages L'envoi de messages d'information ; La gestion des messages déséquencés, avec mode de reprise sur erreur REJ. L'interface graphique Une fenêtre de saisie des paramètres de connexion ; Une fenêtre de saisie des choix des actions par l'utilisateur ; Une fenêtre pour l'achage du diagramme La conception de HDLCSim Après une longue phase d'étude et de test de HDLCSim, nous avons énuméré un certain nombre d'améliorations à apporter. La connexion et la déconnexion ne sont pas implémentées dans HDLCSim, en eet cette partie du protocole est simpliée dans HDLCSim. L'envoi des messages d'information se gère intérieurement par le logiciel, un certain nombre de choix de paramètres ne sont pas proposés à l'utilisateur, comme c'est le cas par exemple pour le champ N(s), le numéro de la trame d'information à envoyer, nous avons jugé ce choix peu pédagogique. 8

10 Plus en profondeur, nous avons remarqué que la gestion des acquittements et des réémissions telle qu'elle a été réalisée dans HDLCSim, n'est pas complètement dèle au protocole HDLC. En eet, la gestion des timerouts est faite intérieurement par le logiciel et n'est pas transparente pour l'utilisateur, puisque le logiciel gère toujours le premier timerout expirant, suivant l'ordre chronologique, ce qui ne se fait pas forcément dans HDLC (voir la partie aspects techniques). Là aussi nous avons trouvé ce choix peu pédagogique. Un certain nombre de scénarios provoquaient une sortie brutale du logiciel, nous avons pensé, qu'un achage adapté à l'erreur serait plus pédagogique, et plus instructif. Sans compter que cela provoque une perte de temps aux étudiants, car ils doivent relancer le logiciel et recommencer leur scénario, en cas d'erreur de frappe ou d'erreur de maladresse, l'étudiant ou l'utilisateur perd du temps avant de pouvoir corriger une simple erreur. Une partie des fonctionnalités de HDLC n'étaient pas implémentées, ou n'étaient pas gérées dèlement à HDLC, c'est le cas comme nous l'avons dit plus haut de la connexion, la déconnexion, mais aussi du mode de reprise sur erreur SREJ, et la gestion de la busy condition, suite à l'envoi d'un message RNR. Certaines fonctionnalités de l'interface graphique ne fonctionnaient pas correctement, comme la sauvegarde et le chargement des scénarios sauvés par exemple. Dans l'implémentation d'un protocole, il est important que l'interface graphique soit indépendante des bases du protocole. Dans HDLCSim, un grand nombre de choix de l'utilisateur sont contrôlées par l'interface graphique. En eet, si une action n'est pas faisable, le champ correspondant apparaît en gris(désactivé), l'utilisateur est donc très guidé dans sa démarche, ce qui n'est pas très pédagogique, puisque l'élève a besoin d'essayer des scénarios, et si les actions voulues ne sont pas possibles, un message d'erreur doit apparaître an qu'il comprenne la raison pour laquelle son action n'est pas valide. Le dernier point évoqué ici, est très important, car il met l'accent sur la stratégie d'implémentation et la conception de HDLCSim, nous nous sommes donc rendus compte, que nous n'avions pas la même perception du protocole. De plus, nous trouvions que le code de HDLCSim, bien qu'il soit clair et compréhensible, n'ore pas la possibilité d'évolution vers d'autres outils(comme un véricateur de scénario par exemple), et à partir de là nos objectifs ont changé. 9

11 Après concertation avec Mme. Vial, qui a suivi notre analyse, nous nous sommes xé les objectifs suivants : Implémenter le protocole en essayant d'être les plus dèles et les plus proches possible de HDLC ; Le logiciel se doit d'être pédagogique et intéractif, et doit donc orir plus de liberté et de choix d'actions à l'utilisateur ; Le code que nous produirons devra être facilement modiable, et évolutif vers un véricateur de scénario, où les étudiants et professeurs, rentreront leurs scénario, et le véricateur retournera le résultat de la vérication ; Nous avons enn, proposé à Mme.Vial de prendre en compte le protocole en entier, y compris la partie détection des erreurs de transmission lors du transfert des données binaires, et de mettre à la disposition des étudiants des outils pertinents, et pédagogiques, qui sont destinés à optimiser leur temps, et de rendre les cours et travaux dirigés plus agréables, et plus intéractifs. Le dernier objectif a été jugé un peu ambitieux par notre encadrante, qui nous a conseillé de le faire uniquement si nous avions du temps à la n, d'autant plus que les autres objectifs n'étaient pas faciles à atteindre, et nécessitaient une période de conception assez importante, et c'est ainsi que nous avons procédé. Ceci était donc la phase étude et analyse de HDLCSim, et les conclusions que nous avons tiré à partir de cette dernière. 2.3 L'implémentation de notre logiciel L'étude que nous avons réalisée dans le chapitre précédent, nous a montré l'importance de la conception du logiciel. En eet, nous devions rééchir à un moyen ecace, qui nous permettrait d'atteindre progressivement les objectifs dénis dans la partie précédente. Après une longue réexion, nous avons mis au point une stratégie qui, malgré sa complexité algorithmique, présentait des avantages multiples : Complète indépendance entre l'interface graphique et l'implémentation du protocole ; Facilité d'évolution et d'intégration de nouvelles fonctionnalités ; Clarté du code source ; Mais avant tout, des intérêts pédagogiques, ce qui est très important à nos yeux, car nous n'avons pas oublié que les premiers utilisateurs de notre logiciel, seront des étudiants. La solution que nous avons adopté est donc la suivante : 10

12 1. Pour chaque type de trame HDLC, dénir des conditions pour lesquelles une trame de ce type peut être envoyée et réceptionnée, c'est ce que nous avons appelé les algorithmes de vérication ; 2. Toute tentative d'envoi d'un message non valide(ne satisfaisant pas les fonctions de vérications), un achage adéquat est mis au point, an d'expliquer à l'étudiant la raison pour laquelle ce message est invalide, et donc pourquoi son scénario ne correspond pas à un scénario HDLC valide ; 3. Pour chaque trame envoyée, dénir le traitement adéquat. Cette solution(qui sera détaillée dans les parties Tests et Aspects techniques), est complexe algorithmiquement, car, comme nous l'avons expliqué plus haut, elle suppose une compréhension profonde des mécanismes d'hdlc, et une analyse détaillée des diérents scénarios possibles dans HDLC, même les plus subtils. Comme cette stratégie permettait une évolution souple du logiciel, nous avons implémenté des fonctionnalités et outils suplémentaires, qui ont rendu le logiciel plus confortable et plus agréable à utiliser. Ces fonctionnalités sont les suivantes : 1. Des outils binaires qui ont comme but, de faire gagner du temps aux étudiants, tout en garantissant une compréhension globale de la partie détection et correction des erreurs(voir les parties tests et aspects techniques ainsi que l'onglet Outils binaires) ; 2. Un bouton supprimer, qui a comme but, de permettre à l'étudiant de faire des tests multiples, sans hésiter et sans perte de temps, puisqu'il pourra revenir en arrière autant de fois qu'il le souhaitera ; 3. Notre simulateur a été facilement transformé en un véricateur de scénarios, grâce à cette technique d'implémentation(voir l'onglet véricateur) ; 4. Un onglet Diagramme, accompagné d'un bouton capturer, a été mis à la disposition des utilisateurs, étudiants ou professeurs, an de sauver leurs scénarios ; 5. Enn, nous avons pris en compte l'intégralité du protocole, puisque nous avons rajouté la vérication des messages en binaire, ce qui nous a donc permis d'atteindre nos objectifs(voir la partie tests et aspects techniques, ainsi que l'onglet simulateur) ; 6. Un système de sauvegarde et de chargement de scénarios a été réalisé l'année dernière, il ne fonctionnait pas parfaitement, mais nous avons réussi à le rendre opérationnel, et nous l'avons donc intégré à notre logiciel. Les étudiants pourront ainsi, en plus du bouton capturer de l'onglet Diagramme, sauver et recharger leurs scénarios ; 11

13 7. Comme tout logiciel, un onglet Aide, contenant une quantité importante d' informations sur le logiciel et sur le protocole, destiné à aider les utilisateurs en général, et les étudiants en particulier à mieux utiliser le logiciel, et à approfondir leurs connaissances. Dans la partie Tests, nous allons donc mettre à votre disposition, une série de scénarios et de captures d'écran, correspondant à des situations diverses et variées, et couvrant l'intégralité de notre travail, an de montrer comment la stratégie présentée plus haut, permet d'implémenter correctement HDLC. Dans la partie aspects techniques, nous allons vous donner de brefs descriptifs, et les points clés de notre implémentation. 12

14 Chapitre 3 Aspects techniques 3.1 L'implémentation du protocole La phase de conception a abouti à un choix dans la structure des objets manipulés(les classes). C'est ce point de recherche que nous allons vous présenter brièvement dans cette partie( voir le diagramme UML fourni). Dans la partie implémentation de notre logiciel, nous avons présenté la stratégie d'implémentation suivie, ainsi que ses avantages et sa complexité algorithmique. Nous allons ici, approfondir les points clés de cette stratégie, ainsi que les principales méthodes qui forment les piliers de notre logiciel. Commençons donc par une brève description des classes implémentées : 13

15 3.1.1 Diagramme UML Fig. 3.1 diagramme de classes du protocole Présentation des classes La classe Evenement Cette superclasse représente tous les évènements d'un scénario. Un Evenement est caractérisé par trois attributs : La date : un entier positif représentant la date à laquelle il a lieu. Le site : Un caractère ('A' ou 'B') représentant le site ou la machine sur laquelle il se produit( ou encore l'émetteur lorsque l'évèneent est un message). Le type : une chaîne de caractères représentant les type de l'évènement( parmi (message ou TimerOut ). Cette classe a deux sous classes, la classe Message et la classe TimerOut. 14

16 La classe Message En plus des attributs de la classe Evenement dont elle hérite, elle est caractérisée par les attributs suivants : correctmessage : un booléen déterminant si le message arrive correctement, ou s'il est perdu pendant la transmission. BinaireCorrect : un booléen, qui détermine(en cas d'envoi de messages binaires), si ce message est reçu correctement du point de vue binaire(voir la partie traduction de messages, dans l'implémentation des outils binaires). PF : un caractère : 'P' ou 'F' ou 0, représentant le bit P/F d'un message. TpsTransm : un entier positif, représentant le temps que mettra un message pour arriver(s'il arrive corrextement). TypeMessage : une chaîne de caractère, représentant le type du message envoyé, cette chaîne est choisie parmi les suivantes :SABM, UA, DM, DISC, INFO, REJ, SREJ, RR, RNR. Nous avons fait correspondre à chaque type de message présenté ci-dessus, une classe spécique, qui, naturellement, hérite des attributs de la classe Message( et donc de la classe Evenement également). La classe SABM Comme nous l'avons décrit dans le deuxime chapitre(partie documentation), ce type de message correspond à une demande de connexion. Cette classe ne contient que les attributs hérités de la classe Message. La classe DISC En opposition au type de message précedent, les messages DISC représentent une demande de déconnexion, et comme pour les messages SABM, ils n'ont comme attributs, que leur héritage. La classe UA Comme nous l'avons décrit dans le deuxime chapitre(partie documentation), ce type de message correspond à une acceptation de connexion ou de déconnexion. Cette classe ne contient que les attributs hérités de la classe Message. La classe DM ce type de message correspond à une acceptation de connexion. Cette classe ne contient que les attributs hérités de la classe Message. La classe messageinfo La classe messageinfo, représente les messages d'information. En plus des attributs de la classe message, cette classe est caractérisée par les champs suivants : info : un tableau de bits(0 ou 1 ), représentant les données à transmettre. Ns : un entier positif, représentant le numéro de la trame envoyée. 15

17 Nr : un entier positif représentant le numéro de la prochaine trame reçue. Cet entier est utilisé dans la procédure d'acquittement par Piggy Backing, où les messages de type Info servent d'aquittement. La classe rej En plus des attributs de la classe Message, cette classe bénécie du champ Nr, qui représente le numéro de la première trame à réemettre(en cas de trames arrivées déséquencées). Comme pour les messages de type Info, ce champ sert également à acquitter les messages envoyés, ayant un numéro de trames inférieur à ce Nr. La classe srej Comme pour la classe rej, cette classe bénécie du champ Nr. En revanche, sa signication est quelque peu diérente ici. En eet, le Nr ici, représente le numéro de la trame à réemettre, et non forcément la première, car comme nous l'avons déjà expliqué dans la partie documentation, dans ce mode de reprise sur erreur, le récepteur des messages déséquencés, mémorise ces mesages reçus, et émet un Srej par message manquant. Ici aussi, ce champ sert également à acquitter les messages envoyés, ayant un numéro de trames inférieur à ce Nr. La classe Rr Les messages Rr, sont des messages de supervision servant dans le cas du contrôle de ux. En eet, ils servent à acquitter des messages, dans la mesure où l'émetteur du Rr n'a pas de messages d'information à émettre an d'acquitter par le Piggy Backing. Le champ Nr de cette classe a la même signication que celui de la classe messageinfo. La classe Rnr Les messages Rnr, sont également des messages de supervision servant dans le cas du contrôle de ux. En eet, ils servent à acquitter des messages, dans la mesure où l'émetteur du Rnr n'a pas de messages d'information à émettre an d'acquitter par le Piggy Backing. La diérence entre les messages de type Rr et Rnr, est que l'envoi d'un Rnr conduit à ce qu'on appelle une busy condition, qui signie que ce site est dans l'impossibilité de gérer le ux de messages qui lui arrive par cette connexion. La n d'une busy condition, est marquée par l'envoi d'un message Rr par le site initiateur de la busy condition. Le champ Nr de cette classe a la même signication que celui de la classe messageinfo. La classe TimerOut Cette classe, en plus des attributs de la classe Evenement, est caractérisée par deux attributs : 16

18 indiceliste : un entier positif qui représente l'indice dans la liste des évènements d'un scénario, du message qui a provoqué son insertion dans la liste, cette dénition est valable pour les timerout de réemission(r), d'acquittement(a), et de traitement des messages déséquensés(s). En revanche pour les timerout de traitement d'un Rej ou d'un Srej(T), cet entier représente le numéro de la trame à réemettre. ReemAcq : c'est un caractère dénissant le type du timerout parmi : R pour réemission, A pour Acquittement, S pour les messages de supervision Rej et Srej, car ce timerout représente la durée avant laquelle un site doit émettre un rej ou un srej(selon le mode choisi initialement). Et enn, T pour traitement du Rej ou du Srej reçu. En eet ce timerout représente la durée avant laquelle le site récepteur d'un Rej ou un Srej, doit envoyer le message correspondant. La classe listeevenements Cette liste est notre objet principal, car elle contient toutes les actions eectuées par les deux sites, elle est triée par ordre chronologique, et découpée en deux parties : La partie des messages, et la partie des timerouts. Ces deux parties sont accessibles grâce à un attribut de cette classe, qui est indicetimer, représentant l'indice du premier TimerOut gurant dans cette liste ( séparant dynamiquement la partie messages de la partie TimerOuts). La classe scénario Cette classe est le coeur de notre logiciel, car c'est dans cette dernière que le déroulement d'un scénario s' eectue réellement. Les attributs de cette classe sont les suivants : Les attributs xes : les paramètres de conexion TailleFenMax : la taille de la fenêtre (W). TailleMaxDonnees :La taille maximale des données (N2). RejOuSrej : un caractère qui représente le mode de reprise sur erreur choisi par l'utilisateur : R pour Rej et S pour Srej. DureeTimerAcq : la durée d'un timerout d'acquittement. DureeTimerReem : la durée d'un timerout de réemission. Les attributs évoluant durant le scénario datecourante : un entier positif représentant la date à laquelle le dernier message a été envoyé. DatePhaseTransfertA (et B) : représente la date à laquelle le site A(respectivement B) a été considéré comme connecté. DernierMessageEnvoyeA (et B) :représente le numéro du dernier message envoyé par le site A(respectivement B). DernierMessageRecuA (et B) :représente le numéro du dernier message reçu par le site A(respectivement B). 17

19 DernierMessageAcqA (et B) :représente le numéro du dernier message pour lequel le site A(respectivement B) a reçu un acquittement Les algorithmes clés Nous allons ici vous présenter de façon très brève les 3 principales catégories d'algorithmes que nous avons élaborés pour l'implémentation du protocole HDLC. Les algorithmes de vérication de messages Nous avons créé pour chaque type de messages, une fonction de vérication (appelées verifinfo, verifsabm, etc.) qui déterminent suivant l'état actuel d'un scénario, si l'envoi d'un message déni par l'utilisateur est cohérent dans le cadre du protocole HDLC. Dans le cas où un message est considéré incohérent, la fonction renvoie un message expliquant les raisons de ce refus. Ce qui est très utile du point de vue pédagogique. Cette solution est assez compliquée algorithmiquement car il faut prendre en compte toutes les possibilités permises par HDLC, même les plus subtiles. Par exemple, pour verier qu'un message de type INFO peut être envoyé, il faut s'assurer que l'on n'est pas à cette date en "busy condition", qu'on n'ait pas à gérer de messages déséquencés à cette date là, qu'on ne dépasse pas un timerout, etc. Sans compter les vérications de bases (que la date d'envoi soit supérieure ou égale à la date courante, que ce site n'a pas déjà envoyé un message à cette date là, etc.). Les algorithmes d'ajout de messages Lorsque la vérication d'un message est positive, il faut l'ajouter au scénario. Un traitement particulier doit être réalisé pour chaque type de message. Il existe donc de même une fonction d'ajout pour chaque type de message (appelées ajoutinfo, ajoutrej, etc.). Ces fonctions constituent une implémentation rigoureuse au détail près du protocole. Les algorithmes de calcul et de mise-à-jour des attributs évolutifs Certaines proriétés d'un scénario ne peuvent être gérées par des variables. Il est nécessaire de les calculer à chaque fois que l'on en a besoin. C'est le cas pour l'attribut "dernier message reçu" de la classe scénario. Par exemple, dans le cas représenté par ce diagramme, si B veut envoyer un message INFO à la date entourée en rouge, le champs N(R) du message info ne doit pas prendre le message INFO envoyé par A, ayant été reçu par B après l'envoi de son message. On ne peut donc pas se contenter de mettre 18

20 à jour la variable du dernier message reçu par un site lors de la réception d'un message. Il a donc fallu créer un algorithme (une méthode) de calcul de dernier message reçu. Cela s'applique également pour le dernier message acquitté. En revanche, le dernier message envoyé se gère aisément avec une variable. La principale diculté dans ces algorithmes a été la gestion des messages déséquencés, puisqu'ils ne doivent pas être comptés comme messages reçus, mais plutôt insérés dans des listes d'attente dans le cas d'un mode SREJ ou détruits dans le cas d'un mode REJ. De même, un message reçu lors d'une busy condition ne doit pas être pris en compte. (voir la partie "tests"). 19

21 3.2 L'implémentation de l'interface Fig. 3.2 diagramme de classes de l'interface présentation L'interface a été conçue pour être la plus complète et simple d'utilisation possible. Le logiciel développé l'an dernier orait une interface composée de nombreuses fenêtres "pop-up", qui s'ouvraient momentanément pour l'envoi d'un message ou la gestion des paramètres par exemple. De même, le diagramme possédait sa propre fenêtre. Nous trouvions cela peu pratique et avons préféré créer une fenêtre globale qui contiendrait tout ce que nous voudrions acher. swing L'interface a été programmée avec les bibliothèques Swing/AWT de java. Nous avons utilisé 7 classes dont nous allons maintenant donner une description de leur rôle et de leur contenu. 20

22 3.2.1 La classe autreinterface La classe "autreinterface" est la classe la plus importante. Elle contient tout d'abord les dénitions des fenêtres composant la fenêtre principale. C'est dans cette classe que sont collectées les informations sur les actions de l'utilisateur. C'est donc elle qui est chargée d'exécuter les bonnes fonctions avec les bons arguments, et c'est aussi elle qui va créer les messages et les scénarios entrés par l'utilisateur. Cette classe dénit des "panneaux" (l'objet "JPanel" en Java), c'est-à-dire une partie de la fenêtre de chaque onglet, pour y greer les diagrammes des scénarios, contenus dans la classe "fengraphe Les classes fengraphe, diagrammehdlc et Arrow Nous avons repris ces classes créées (fengraphe et diagrammehdlc) ou utilisées (Arrow) par les étudiants de l'an dernier pour l'achage d'un scénario HDLC au moyen d'un datagramme. Ces classe convenant parfaitement à nos besoins, nous les avons incorporées à notre interface en y apportant de très légères retouches, pour qu'elles soient compatibles avec nos propres scénarios. La classe fengraphe contient le dessin du diagramme ainsi que l'échelle et le bouton permettant de la manipuler. La classe diagrammehdlc permet de dessiner le diagramme, et la classe Arrow sert à dessiner les èches représentant les messages Les classe demarrage,fermeture et auteurs Ces trois classes ont été créées pour égayer un peu le logiciel et apporter des informations complémentaires (courrier électronique des auteurs, nom de l'université, etc.). 3.3 L'implémentation des outils binaires Les outils binaires sont implémentés dans la classe Binaire. Il y a 2 grands points dans ces outils : 1. la "traduction" d'une trame binaire, c'est-à-dire une suite de 1 et de 0, en un message tel que nous les utilisons dans les scénarios. 2. la division polynomiale, utilisée pour savoir si une trame a été correctement transmise, grâce au champs FCS, comme expliqué dans la partie de documentation sur HDLC. 21

23 Nous allons vous présenter maintenant comment ont été réalisés ces 2 outils La traduction de message Nous avons vu que les trames HDLC sont composées de 6 champs : fanion début, adresse, commande, données (parfois vide, quand ce n'est pas une trame d'information), FCS et fanion n. Voici comment nous déterminons les attributs d'un message : l'émetteur : si le champs adresse est égal à alors l'émetteur est A, s'il est égal à alors c'est B le type : Il se déduit de certains bit du champs commande. Voici la table de correspondance : n de bit : sabm 1111p110 ua 1100p110 dm 1111p000 disc 1111p010 rej 1001p*** srej 1011p*** rr 1000p*** rnr 1010p*** info 0"""p*** Fig. 3.3 Table de traduction des trames 'p' représente le bit P/F. Si p=1 alors le bit P/F de la trame est positionné, sinon il ne l'est pas. *** représente le champs N(R) des trames. On met donc la valeur N(R) des trames à la valeur décimale de ce champs. """ représente le champs N(S) des trames de type INFO. On met donc de même la valeur N(S) des trames INFO à la valeur décimale de ce champs. l'attribut "correctbinaire" des trames dépend de 4 facteurs qui doivent tous être vrais : 1. Les fanions de début et de n doivent impérativement être égaux à Le message doit être traduisible. C'est-à-dire que les valeurs du champs adresse doivent représenter le site A ( ) ou le site B( ) et le champs commande doit représenter un type de message existant. 22

24 3. La taille des données doit être égale à 0 si ce n'est pas une trame d'informations, ou strictement inférieure à la taille maximale des données choisie dans le scénario. Remarquons que, pour des raisons de simplicité d'utilisation, nous avons choisi de ne pas prendre en compte ce paramètre dans l'utilisation de l'onglet des outils binaires (il a été xé à 10000), mais il est très facilement changeable dans le code. 4. On fait la division polynomiale du champs données + du champs FCS par la représentation binaire du polynome choisit pour le logiciel : On compare le reste de la division avec le champs FCS de la trame. Les 2 doivent être égaux (c'est-àdire les mêmes bit par bit) pour que la valeur de "correctbinaire" soit mise à "vrai". Sinon elle est mise à "faux" La division polynomiale Nous avons tout d'abord voulu utiliser l'algorithme de calcul du CRC-16, contenu dans une libraire de Java, mais nous avons préféré ensuite implémenter l'algorithme générale de la division polynomiale. En eet, l'algorithme de CRC-16 ne permet que de faire la division par des polynomes de degré 16. Cela aurait bien convenu à HDLC, mais était moins intéressant pour les étudiants qui utilisent plus souvent des polynomes plus petits pour leurs exercices. Notre algorithme est l'implémentation de la manière de calculer que nous avons apprise en licence. Nous avons programmé la fonction intermédiaire ouexclusif qui, appliquée sur 2 tableaux T1 et T2, renvoie un tableau T3 suivant l'opération T3 = T1 xor T2/ Voici le pseudo-code de la division polynomiale, qui renvoie le reste de la division : 23

25 int[] divisionpolynomiale(int[] dividende, int[] diviseur) { int[] res = int[diviseur.length - 1]; int[] tabtemp = int[diviseur.length]; for (j = 0; j < diviseur.length; j++) { tabtemp[j] = dividende[j]; } for (i = 0; i < dividende.length - diviseur.length; i++) { /* si le premier bit à gauche du dividende est 1 on fait un XOR entre le dividende et le diviseur et on recolle avec les bits de droite du dividende */ if (tabtemp[0] == 1) { tabtemp = ouexclusif(tabtemp, diviseur); for (j = 0; j < diviseur.length - 1; j++) { tabtemp[j] = tabtemp[j + 1]; } } /* si le premier bit à gauche du dividende est 0 on passe d la suite */ else { for (j = 0; j < diviseur.length - 1; j++) { tabtemp[j] = tabtemp[j + 1]; } } tabtemp[diviseur.length - 1] = dividende[i + diviseur.length] for (j = 0; j < diviseur.length; j++) { } } /* la dernière itération : si le reste est supérieur au diviseur on divise une fois de plus */ if (tabtemp[0] == 1) { tabtemp = ouexclusif(tabtemp, diviseur); } else { for (j = 0; j < diviseur.length - 1; j++) { tabtemp[j] = tabtemp[j + 1]; } } /* on renvoie le résultat */ return tabtemp; } 24

26 Chapitre 4 Mode d'emploi du logiciel 4.1 La barre de menu Fig. 4.1 la barre de menu La barre de menu ore les fonctions suivantes : 1. Le bouton "Scénario" : nouveau scénario (remise à zéro du scénario courant) sauvegarde et chargement de scénario fermeture du logiciel 2. Le bouton "Astuces" : la capture de diagramme 3. Le bouton "Aide" : l'aide pour le logiciel et pour le protocole 4. Le bouton "A-propos" : une fenêtre présentant les le logiciel et les auteurs 25

27 4.2 L'onglet du simulateur Fig. 4.2 l'onglet du simulateur L'utilisateur entre tout d'abord les paramètres du scénario dans le cadre en haut à gauche, puis valide en cliquant sur "charger paramètres". Ensuite, Fig. 4.3 le réglages des paramètres il peut envoyer des trames avec les boutons du milieu, qui lui permettent de 26

28 choisir les paramètres de ces trames : type, émetteur, date d'envoi, temps de transmission, bit P/F placé ou non, numéro de trame d'information, et de préciser si la trame arrive bien à destination, ou s'il est perdu. Il peut aussi Fig. 4.4 l'envoi d'un message envoyer une trame binaire. Il doit rentrer la trame envoyée par le site et celle reçue par l'utilisateur. Cela permet de simuler les erreurs de transmission, et donc d'utiliser le FCS pour vérier la correction d'un message. Fig. 4.5 l'envoi d'un message binaire Le diagramme, en haut à droite, représente les trames envoyées et les timers actifs pour chacun des deux sites, et la date courante (correspondant à la date d'envoi de la dernière trame envoyée). La fenêtre de texte déroulant en bas à droite ache les paramètres de la connexion, ainsi que la liste des trames déjà émises. Elle pourra également acher des messages pour aider l'utilisateur, par exemple des messages lui précisant la raison pour laquelle une trame qu'il a voulu envoyer a été refusée. Cela agira en quelque sorte comme un interpréteur de commandes. 27

29 Chose très pratique, on peut annuler le dernier message envoyé, et ainsi revenir en arrière dans le scénario autant de fois que l'on veut, grâce au bouton "Annuler", en bas à gauche. 4.3 L'onglet du véricateur Fig. 4.6 l'onglet du véricateur L'utilisation du véricateur est semblable à celle du simulateur, sauf qu'ici les trames ne sont pas vériées. L'utilisateur peut demander la vérication de son scénario à n'importe quel moment, en cliquant sur le bouton "vérier le scénario", en bas à droite. 28

30 Le cadre de texte déroulant ache alors le résultat de la vérication, c'està-dire si le scénario est correct ou s'il y a des erreurs. 29

31 4.4 L'onglet du diagramme Fig. 4.7 l'onglet du diagramme L'onglet du diagramme permet d'avoir un diagramme du scénario plus grand que celui gurant dans l'onglet du simulateur. Il permet également de faire un capture du diagramme. Celui-ci sera sauvé au format.jpeg, sous le nom et dans le répertoire choisi par l'utilisateur. 30

32 4.5 L'onglet des outils binaires Fig. 4.8 l'onglet des outils binaires L'onglet des outils binaires comporte deux parties : le traducteur de message binaire : l'utilisateur tape un message codé en binaire, le logiciel lui renvoie la décomposition en champs du message, et le décodage de ce message, c'est-à-dire son type, son émetteur, le bit P/F placé ou non, les champs NS et NR si c'est un message info. la division polynomiale : divise un polynôme écrit sous forme binaire (par exemple x5 + x2 s'écrira ) par un polynôme de degré 15 ou 16 écrit sous forme binaire également(par exemple, x16 + x11 + x3 ( en binaire) est utilisé par la norme X25 européenne, x16 + x12 + x5 + 1 ( ) par le CCITT). Signalons-là un cas très important :le polynôme diviseur doit toujours être de 16 bit. Par conséquent, le polynôme utilisé par X25 s'écrira

33 Dans le protocole HDLC,le polynôme générateur a pour degré 15 ou 16. Exemple de division polynomiale : x23 + x21 + x14 par x16 + x12 + x Il faut rentrer les polynômes en notation binaire, ici cela donne divisé par Le résultat sera : , c'est-à-dire : x16 +x15 + x14 + x13 + x11 + x9 + x8 + x7 + x6 + x4 + x2. Le résultat est la valeur du FCS du message. 32

34 4.6 L'onglet de l'aide Fig. 4.9 l'onglet de l'aide Cet onglet fournit à l'utilisateur le mode d'emploi du logiciel, ainsi qu'une aide sur le protocole HDLC. Cele est très utile étant donné le but pédagogique du logiciel, qui doit servir à des étudiants qui apprennent ce protocole. Il permet d'avoir tous les documents utiles "sous la main". 33

35 Chapitre 5 jeux de test 5.1 Exemples de scénarios La connexion Comme nous l'avons déjà expliqué, une session HDLC commence toujours par une phase de connexion. Nous allons dans cette section, vous montrer que notre logiciel simule correctement la connexion, telle qu'elle se passe réellement. Dans HDLC, un site souhaitant commencer une phase de transfert de données avec un autre site, doit envoyer un message SABM. Le site récepteur, doit alors répondre positivement en envoyant un message UA, ou négativement en envoyant un message DM. Voici une série d'exemples de scénarios de connexion possibles : 1 - Un scénario simple pour commencer : Le site A envoie un message SABM à B, un timerout de type R(réémission) est alors chargé au niveau du site A( la demi ligne verte en pointillés). Le site B reçoit correctement cette demande de connexion, il charge donc un timerout de type A (Acquittement), avant lequel ce message doit être traité. Dans ce scénario, B répond positivement, en envoyant un message UA, et se considère connecté. A à son tour, dès réception du message UA, il se considère connecté. Si B décide de répondre négativement, les deux sites restent déconnectés. 34

36 2 - SABM perdu : Imaginons le cas suivant : A envoie un SABM, mais ce dernier est perdu(ce qui explique la demi èche). A charge un timerout de réémission. Quand le timerout de réémission que A a chargé expire, A est contraint de réémettre le message SABM. 3 - UA perdu : Imaginons le cas suivant : A envoie un message SABM, ce dernier arrive correctement, B répond positivement ou négativement(ce n'est pas important dans ce cas), mais ce message de réponse est perdu. Dans ce cas, B ne réémet pas le message de réponse envoyé(il n'y a pas de timerout de réémission chargé à la suite d'un envoi d'un message UA ou DM) ; En revanche, A ne recevant pas de réponse avant l'expiration du timerout de type R(chargé au niveau de A), il est contraint de réemettre le message SABM. 35

37 4 - Les deux sites envoient des demandes de connexion : 5 - Dans le scénario ci-dessus, les deux sites envoient une demande de connexion( cela est possible, car aucun d'eux n'aura reçu la demande du site opposé). Chacun d'eux, aura donc à répondre, à la demande de connexion du site opposé : Un certain nombre d'actions, ne sont bien évidemment pas tolérés. Si un message numéroté (autre que SABM, UA, DM et DISC) veut être envoyé alors que le site émetteur n'est pas connecté, le logiciel ache un message d'erreur : 36

38 Nous ne détaillerons pas tous les messages d'erreur, étant donné le grand nombre d'erreurs possibles. La phase de tranfert de données Le piggybacking Le piggybacking étant un point intéressant de HDLC, nous allons détailler un scénario l'illustrant : Après une connexion classique, B envoie un message INFO a A : On remarque les timers ajoutés, notamment celui de réémission pour B à la date 49. Celui-ci ne peut s'enlever que si A acquitte cette trame INFO. Cela ne pouvait se faire que grâce à l'envoi par A d'une trame REJ, SREJ, RR ou RNR. Or en réalité la plupart des messages sont acquittés avec des trames INFO grâce au mécanisme de piggybacking. Voici comment cela se passe : A envoie un message INFO à B : 37

39 La réception de ce message a supprimé le timer de ré-émission du site B. La reprise sur erreurs Dans le cas du mode de reprise sur erreur REJ, lorsque le site B reçoit un message INFO déséquencé (gure ci-dessous), il va envoyer immédiatement à l'émetteur un message REJ ayant comme champs N(R) le numéro de la trame attendue. La trame reçue déséquencée sera immédiatement détruite. Dans le cas du SREJ, prenons l'exemple où 2 messages de N(S) 0 et 1 ont été perdus et Le site reçoit la trame de N(S) 2 : 2 timersout de type S sont insérés. Le site va alors émettre 2 SREJ et l'émetteur va réémettre les 2 trames perdues : Maintenant, le site A va reprendre l'envoi de message INFO à-partir de la trame de N(S)=3, car la trame reçue déséquencée a été prise en compte par B : 38

40 Si A avait envoyé une quatrième trame avant de réemettre les trames perdues, B n'aurait toujours eu que deux messages SREJ à émettre, comme l'illustre la gure suivante : 39

41 La busy condition La busy condition débute quand un site n'arrive plus à gérer son ux et envoie une trame RNR. Par exemple ici B envoie un message RNR : A va envoyer une trame INFO avant d'avoir reçu le RNR. Mais B ne va pas le traiter : En eet, il n'y a pas de timer d'acquittement sur le site B. Pour arrêter la busy condition, le site B devra émettre une trame RR. Bien entendu, les trames RNR et RR servent aussi à acquitter des messages reçus. Quelques cas subtils et points de recherche Le premier test subtil que nous allons vous présenter concerne la situation suivante : Après la phase de déconnexion, A envoie un message de type Info de numéro 0, à la date 9, qui arrive correctement, comme vous voyez sur le diagramme suivant : 40

42 Ensuite, A envoie un deuxième message d'informatio(ns =1) : B envoie maintenant un message de type RNR à la date 35, avant la date de réception du deuxième message envoyé par A, ce qui entraînera le début d'une busy condition : Remarquez ici, que le début de la busy condition, a entraîné la suppression du timer d'acquittement au niveau de B concernant le dernier message reçu de la part de A, non pas parce qu'il l'a acquitté en envoyant le message RNR, bien au contraire, puisque on remarque toujours le timer de type réemission au niveau du site A, mais parce que la date de réception de ce message, est supérieure à la date d'envoi du message RNR(bien que le message de type Info ait été inséré avant le message RNR). Ce scénario, permet de montrer que l'ordre dans le quel l'utilisateur rentre ses messages(valides), n'inut pas le traitement eectué, et que notre logiciel, simule dèlement le protocole HDLC. Un deuxième cas à la fois subtil, et curieux dans HDLC est le suivant : Pour cela, il faut que la durée d'un timer out d'acquittement soit la même que celle d'un timer out de réémission(dans l'exemple elle est mise à 40). 41

43 Après la phase de connexion, A envoie un message de type Info : Dans cette conguration, il est impossible pour B d'envoyer un message de type RR ou de type RNR! La raison est simple, suposons que B veuille acquitter le message reçu par un message de type RR ou de type RNR. Il faudrait donc envoyer un message RR ou RNR à la date à laquelle le timer d'acquittement est chargé(dans l'exemple à la date 58). Cela est impossible, car dans ce cas, on aurait dépassé le timer out de type réémission, il faudra donc réemettre le message avant. Et ce scénario se répètera jusqu'à ce que le nombre maximum de réémission d'un message soit atteint, ou que B envoie un message de type information permettant l'acquittement par piggybacking. Ce scénario est très intéressant, car il met l'accent sur un détail important dans HDLC : le rapport entre la durée du timerout d'acquittement, la durée du timerout de réemission, et la durée du temps de transmission d'un message. Certaines version de HDLC se servent du temps moyen de transmission d'un message, an de xer à l'avance les durées de ces timers, mais dans notre logiciel, nous avons pensé qu'il était plus instructif et plus pédagogique, de permettre aux étudiants de jouer avec le logiciel, en essayant des valeurs diérentes de ces durées, et de déduire par eux-mêmes la relation entre ces paramètres. La déconnexion Les mécanismes de déconnexion sont similaires à ceux de la connexion, à la diérence près que le site récepteur du message DISC, ne peut envoyer qu'un message de type UA(ne peut que accepter la déconnexion). 5.2 Exemples d'envois de messages binaires Nous détaillons dans les exemples d'utilisation des outils binaires des exemples de messages binaires, mais nous voulons ici montrer un exemple très intéressant car il met à jour les limites du protocole HDLC. Le cas est le suivant : 42

44 Un site envoie une trame INFO à un autre. Comme nous l'avons vu, le site qui reçoit la trame vérie l'intégrité des données en calculant la division polynomiale des champs données + FCS par le polynome choisi par les 2 sites (par exemple celui de la norme X25), et en comparant ce résultat avec le FCS. S'ils sont égaux, alors le message est traité. Or si les données de la trame envoyée ont été modiées pendant le transport, mais que le résultat de la division polynomiale est bien égal au FCS, alors le message sera considéré comme correct et bien traité. Bien qu'il soit en réalité incorrect. C'est le cas lors de l'envoi de ces trames : Fig. 5.1 exemple illustrant les limites d'hdlc en terme de détection d'erreurs Le timer d'acquittement du site B, entouré au milieu prouve que le message envoyé a bien été traité. Nous avons cependant pu voir dans de nombreux documents qu'une telle possibilité est quasi-impossible, car le nombre d'erreurs exigée est bien trop grand par-rapport à la réalité. 43

45 5.3 Exemples d'utilisation des outils binaires Voici des exemples de trames à rentrer en binaire et leur traduction : On a Fig. 5.2 traduction d'une trame binaire traduit la trame binaire : La première partie du cadre nous donne la décomposition en champs de la trame binaire. Cela est très pratique car, s'il y a une erreur, on peut tout de suite voir d'où vient le problème. Remarquons que le champs données est vide. En eet, seul les trames d'information peuvent contenir des données. Ici c'est une trame SABM. Cette trame est donc une trame de type SABM, grâce à la valeur du champs commande, émise par B, grâce à la valeur du champs adresse. Nous avons xé arbitrairement car nous n'avions pas le choix le champs adresse à pour A et pour B. L'adresse étant celle du destinataire, l'émetteur est l'autre site. La trame est correcte. La valeur du champs ayant été expliquée dans la partie "aspects techniques" Exemples de messages binaires Voici une liste non exhaustive de trames binaires avec leur traduction, que nous avons utilisées pour tester le logiciel. Cela s'avère très pratique d'avoir une liste de trames à disposition, car l'écriture est assez fastidieuse. 44

1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5

1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5 1. Introduction... 2 2. Création d'une macro autonome... 2 3. Exécuter la macro pas à pas... 5 4. Modifier une macro... 5 5. Création d'une macro associée à un formulaire... 6 6. Exécuter des actions en

Plus en détail

Compte-rendu de projet de Système de gestion de base de données

Compte-rendu de projet de Système de gestion de base de données Compte-rendu de projet de Système de gestion de base de données Création et utilisation d'un index de jointure LAMBERT VELLER Sylvain M1 STIC Université de Bourgogne 2010-2011 Reponsable : Mr Thierry Grison

Plus en détail

Télécom Nancy Année 2013-2014

Télécom Nancy Année 2013-2014 Télécom Nancy Année 2013-2014 Rapport 1A Ajout du langage C dans la Programmer's Learning Machine GIANNINI Valentin Loria 615, rue du Jardin Botanique 54600, Villers-Lès-Nancy Maître de stage : QUINSON

Plus en détail

(Fig. 1 :assistant connexion Internet)

(Fig. 1 :assistant connexion Internet) MAIL > configuration de OUTLOOK EXPRESS > SOMMAIRE Qu'est ce que Outlook Express? Configuration Installation d'un compte POP Installation d'un compte IMAP Configuration du serveur SMTP En cas de problème

Plus en détail

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/2011. 1.1 Présentation. 1.2 Ressources

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/2011. 1.1 Présentation. 1.2 Ressources Master Maths Finances 2010/2011 Data Mining janvier 2011 RapidMiner 1 Introduction 1.1 Présentation RapidMiner est un logiciel open source et gratuit dédié au data mining. Il contient de nombreux outils

Plus en détail

Création d'un questionnaire (sondage)

Création d'un questionnaire (sondage) Création d'un questionnaire (sondage) Le but de ce petit tuto est d'avoir les séquences pas à pas pour la création d'un questionnaire de façon à ne pas devoir rechercher la manière de procéder si l'outil

Plus en détail

Premiers pas sur e-lyco

Premiers pas sur e-lyco Premiers pas sur e-lyco A destination des parents, ce document présente les premiers éléments pour accéder aux services de l'ent e-lyco d'un lycée. Que signifient ENT et e-lyco? ENT = Espace ou Environnement

Plus en détail

Programmation Objet - Cours II

Programmation Objet - Cours II Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à

Plus en détail

Manuel d'utilisation d'apimail V3

Manuel d'utilisation d'apimail V3 Manuel d'utilisation d'apimail V3 I Préambule Page 3 II Présentation Page 4 III Mise en route Configuration Page 5 Messagerie Serveur smtp Serveur pop Compte pop Mot de passe Adresse mail Laisser les messages

Plus en détail

CONNECTEUR PRESTASHOP VTIGER CRM

CONNECTEUR PRESTASHOP VTIGER CRM CONNECTEUR PRESTASHOP VTIGER CRM Page 1 / 14 Vtiger CRM - Prestashop Connector Pour PRESTASHOP version 1.4.x et 1.5.x Pour vtiger CRM version 5.1, 5.2.0, 5.2.1, 5.3 et 5.4 Introduction En tant que gérant

Plus en détail

Guide de démarrage rapide

Guide de démarrage rapide Guide de démarrage rapide 1 Sommaire 1.Préambule...3 2.Démarrage du programme...4 3.Prise en main...6 3.1.Les saisies...6 3.2.Les listes...10 4.Gestion courante...13 4.1.Saisie d'un devis...13 4.2.Transformation

Plus en détail

www.systhag-online.cm PREINSCRIPTION EN LIGNE

www.systhag-online.cm PREINSCRIPTION EN LIGNE UNIVERSITE DE DOUALA THE UNIVERSITY OF DOUALA www.systhag-online.cm PREINSCRIPTION EN LIGNE Guide de l'utilisateur Part. 1 (Mise à jour: 26 septembre 2012) 1 TABLE DES MATIERES I- AVANT DE COMMENCER 3

Plus en détail

1. Introduction...2. 2. Création d'une requête...2

1. Introduction...2. 2. Création d'une requête...2 1. Introduction...2 2. Création d'une requête...2 3. Définition des critères de sélection...5 3.1 Opérateurs...5 3.2 Les Fonctions...6 3.3 Plusieurs critères portant sur des champs différents...7 3.4 Requête

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

1 Gestionnaire de Données WORD A4 F - USB / 2014-04-05 / 6020 Alco-Connect

1 Gestionnaire de Données WORD A4 F - USB / 2014-04-05 / 6020 Alco-Connect 1 Gestionnaire de Données WORD A4 F - USB / 2014-04-05 / 6020 Alco-Connect Introduction... 4 Comment décrire le logiciel Cosmos?... 4 Quelles sont les fonctions de ce logiciel PC?... 4 Est-il possible

Plus en détail

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées PRODIGE V3 Manuel utilisateurs Consultation des métadonnées Pour plus d'information sur le dispositif : à remplir par chaque site éventuellement 2 PRODIGE V3 : Consultation des métadonnées SOMMAIRE 1.

Plus en détail

MEDIAplus elearning. version 6.6

MEDIAplus elearning. version 6.6 MEDIAplus elearning version 6.6 L'interface d administration MEDIAplus Sommaire 1. L'interface d administration MEDIAplus... 5 2. Principes de l administration MEDIAplus... 8 2.1. Organisations et administrateurs...

Plus en détail

PORTAIL INTERNET DE LA GESTION PUBLIQUE Guide d'utilisation du Portail Internet de la Gestion Publique

PORTAIL INTERNET DE LA GESTION PUBLIQUE Guide d'utilisation du Portail Internet de la Gestion Publique PORTAIL INTERNET DE LA GESTION PUBLIQUE Guide d'utilisation du Portail Internet de la Gestion Publique Cette documentation s'adresse aux utilisateurs travaillant avec le navigateur Internet Explorer et

Plus en détail

Votre appareil est configuré en usine pour permettre d'envoyer immédiatement des SMS.

Votre appareil est configuré en usine pour permettre d'envoyer immédiatement des SMS. Généralités SMS (messages texte) Votre appareil est configuré en usine pour permettre d'envoyer immédiatement des SMS. Conditions : u La présentation du numéro associée à votre ligne téléphonique est active.

Plus en détail

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM Copyright TECH 2012 Technext - 8, avenue Saint Jean - 06400 CANNES Société - TECHNEXT France - Tel : (+ 33) 6 09 87 62 92 - Fax :

Plus en détail

Cyberclasse L'interface web pas à pas

Cyberclasse L'interface web pas à pas Cyberclasse L'interface web pas à pas Version 1.4.18 Janvier 2008 Remarque préliminaire : les fonctionnalités décrites dans ce guide sont celles testées dans les écoles pilotes du projet Cyberclasse; il

Plus en détail

Le générateur d'activités

Le générateur d'activités Le générateur d'activités Tutoriel Mise à jour le 09/06/2015 Sommaire A. Mise en route du Générateur d'activité... 2 1. Installation de Page... 2 2. Création des bases du générateur d'activités... 3 3.

Plus en détail

Mémo d'utilisation de BD Dico1.6

Mémo d'utilisation de BD Dico1.6 Mémo d'utilisation de BD Dico1.6 L'application BDDico a été développée par la Section Cadastre et Géomatique de la RCJU. Son utilisation demeure réservée aux personnes autorisées. Les demandes d'utilisation

Plus en détail

Guide de l utilisateur. Demande d accréditation en ligne

Guide de l utilisateur. Demande d accréditation en ligne Guide de l utilisateur Demande d accréditation en ligne Table des matières Introduction... 3 Inscription à la liste des organisateurs... 4 Création de votre compte... 5 Ouvrir une session... 6 Visuel...

Plus en détail

Dessiner dans Galaad FRANÇOIS PALLUT

Dessiner dans Galaad FRANÇOIS PALLUT Dessiner dans Galaad FRANÇOIS PALLUT Paternité - Pas d'utilisation Commerciale - Pas de Modification : http://creativecommons.org/licenses/by-nc-nd/2.0/fr/ Table des matières Objectifs 5 Introduction 7

Plus en détail

Vous y trouverez notamment les dernières versions Windows, MAC OS X et Linux de Thunderbird.

Vous y trouverez notamment les dernières versions Windows, MAC OS X et Linux de Thunderbird. MAIL > configuration de mozilla thunderbird > SOMMAIRE Qu'est ce que Thunderbird? Téléchargement du logiciel Thunderbird Configuration Installation d'un compte POP Installation d'un compte IMAP En cas

Plus en détail

Université Ferhat ABBAS -Sétif

Université Ferhat ABBAS -Sétif Université Ferhat ABBAS -Sétif Centre des systèmes et réseaux d information et de communication, de télé-enseignement et d enseignement à distance Document explicatif de l'utilisation du webmail RoundCube,

Plus en détail

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes. Introduction L'objectif de mon TIPE est la reconnaissance de sons ou de notes de musique à l'aide d'un réseau de neurones. Ce réseau doit être capable d'apprendre à distinguer les exemples présentés puis

Plus en détail

Comment utiliser sa messagerie laposte.net

Comment utiliser sa messagerie laposte.net Fiche Logiciel Internet Niveau FL02009 09/09 Comment utiliser sa rie laposte.net 1) s'identifier, ouvrir une session Avant de commencer, munissez-vous de votre identifiant (votre adresse de courrier électronique)

Plus en détail

LimeSurvey Editeur de Questionnaire

LimeSurvey Editeur de Questionnaire Sommaire I. OBJECTIFS...1 1 adresse de la plateforme de questionnaire en ligne...1 2 identifier vous...1 II. PRATIQUE:...1 1 Le Principe...1 2 Créer le Questionnaire...3 3 Les Groupes...3 4 Les Questions...4

Plus en détail

TAGREROUT Seyf Allah TMRIM

TAGREROUT Seyf Allah TMRIM TAGREROUT Seyf Allah TMRIM Projet Isa server 2006 Installation et configuration d Isa d server 2006 : Installation d Isa Isa server 2006 Activation des Pings Ping NAT Redirection DNS Proxy (cache, visualisation

Plus en détail

Trier les ventes (sales order) avec Vtiger CRM

Trier les ventes (sales order) avec Vtiger CRM Trier les ventes (sales order) avec Vtiger CRM Dans l'activité d'une entreprise, on peut avoir besoin d'un outil pour trier les ventes, ce afin de réaliser un certain nombre de statistiques sur ces ventes,

Plus en détail

Edutab. gestion centralisée de tablettes Android

Edutab. gestion centralisée de tablettes Android Edutab gestion centralisée de tablettes Android Résumé Ce document présente le logiciel Edutab : utilisation en mode enseignant (applications, documents) utilisation en mode administrateur (configuration,

Plus en détail

GdsCompta. Logiciel de comptabilité générale

GdsCompta. Logiciel de comptabilité générale GdsCompta Logiciel de comptabilité générale CARACTERISTIQUES Logiciel sous Windows Fonctionne sous Windows XP, Vista, 7 et 8 Multi-dossier De la saisie des écritures au bilan, une comptabilité complète.

Plus en détail

Publipostage avec Calc

Publipostage avec Calc Auto-formation sur OpenOffice.org 2.0 par Cyril Beaussier Version 1.0.2 - Avril 2006 Publipostage avec Calc Sommaire Introduction... 2 Présentation... 3 Notions... 4 Les données... 5 Lettre type... 7 Création

Plus en détail

Projet tablettes numériques Document de référence

Projet tablettes numériques Document de référence Projet tablettes numériques Document de référence Version 1.0 Projet tablettes numériques Document de référence 1 Gestion des versions Numéro de Auteur Révision Date version 0.1 Martin Langelier Ébauche

Plus en détail

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Création d'un site dynamique en PHP avec Dreamweaver et MySQL Création d'un site dynamique en PHP avec Dreamweaver et MySQL 1. Création et configuration du site 1.1. Configuration de Dreamweaver Avant de commencer, il est nécessaire de connaître l'emplacement du

Plus en détail

Guide de configuration de SQL Server pour BusinessObjects Planning

Guide de configuration de SQL Server pour BusinessObjects Planning Guide de configuration de SQL Server pour BusinessObjects Planning BusinessObjects Planning XI Release 2 Copyright 2007 Business Objects. Tous droits réservés. Business Objects est propriétaire des brevets

Plus en détail

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA I. Introduction Suite à une demande des étudiants, il m'est apparu intéressant de montrer, à travers un exemple concret, comment

Plus en détail

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE 2 Grad Info Soir Langage C++ Juin 2007 Projet BANQUE 1. Explications L'examen comprend un projet à réaliser à domicile et à documenter : - structure des données, - objets utilisés, - relations de dépendance

Plus en détail

"! "#$ $ $ ""! %#& """! '& ( ")! )*+

! #$ $ $ ! %#& ! '& ( )! )*+ ! "! "#$ $ $ ""! %#& """! '& ( ")! )*+ "! "#$ $ $ ""! %#& """! '& ( ")! )*+, ## $ *$-./ 0 - ## 1( $. - (/$ #,-".2 + -".234-5..'"6..6 $37 89-%:56.#&(#. +6$../.4. ;-37 /. .?.@A&.!)B

Plus en détail

Le module Supply Chain pour un fonctionnement en réseau

Le module Supply Chain pour un fonctionnement en réseau Prélude 7 ERP Le module Supply Chain pour un fonctionnement en réseau Gérard Baglin Septembre 2008 Sommaire Chapitre 1 Le mode de fonctionnement en réseau de Prélude 7... 1 Le principe des jeux en temps

Plus en détail

VRM Monitor. Aide en ligne

VRM Monitor. Aide en ligne VRM Monitor fr Aide en ligne VRM Monitor Table des matières fr 3 Table des matières 1 Introduction 3 2 Vue d'ensemble du système 3 3 Getting started 4 3.1 Démarrage de VRM Monitor 4 3.2 Démarrage de Configuration

Plus en détail

Traitement de texte : Quelques rappels de quelques notions de base

Traitement de texte : Quelques rappels de quelques notions de base Traitement de texte : Quelques rappels de quelques notions de base 1 Quelques rappels sur le fonctionnement du clavier Voici quelques rappels, ou quelques appels (selon un de mes profs, quelque chose qui

Plus en détail

Vtiger CRM - Prestashop Connector

Vtiger CRM - Prestashop Connector Vtiger CRM - Prestashop Connector Pour PRESTASHOP version 1.4.x Pour vtiger CRM version 5.1, 5.2.0 et 5.2.1 Introduction En tant que gestionnaire d'une boutique en ligne, vous cherchez constamment de meilleurs

Plus en détail

Travaux pratiques avec RapidMiner

Travaux pratiques avec RapidMiner Travaux pratiques avec RapidMiner Master Informatique de Paris 6 Spécialité IAD Parcours EDOW Module Algorithmes pour la Fouille de Données Janvier 2012 Prise en main Généralités RapidMiner est un logiciel

Plus en détail

Navigation dans Windows

Navigation dans Windows Cours 03 Navigation dans Windows Comme je le disais en introduction, notre souris se révèle plus maligne qu'elle n'en a l'air. À tel point qu'il faut apprendre à la dompter (mais c'est très simple, ce

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

L'instruction if permet d'exécuter des instructions différentes selon qu'une condition est vraie ou fausse. Sa forme de base est la suivante:

L'instruction if permet d'exécuter des instructions différentes selon qu'une condition est vraie ou fausse. Sa forme de base est la suivante: 420-183 Programmation 1 8. Les structures conditionnelles Dans l'écriture de tout programme informatique, une des premières nécessités que nous rencontrons est de pouvoir faire des choix. Dans une application

Plus en détail

Réseau : Interconnexion de réseaux, routage et application de règles de filtrage.

Réseau : Interconnexion de réseaux, routage et application de règles de filtrage. TD réseau - Réseau : interconnexion de réseau Réseau : Interconnexion de réseaux, routage et application de règles de filtrage. Un réseau de grande importance ne peut pas seulement reposer sur du matériel

Plus en détail

Dans la série. présentés par le site FRAMASOFT

Dans la série. présentés par le site FRAMASOFT Dans la série Les tutoriels libres présentés par le site FRAMASOFT CRÉER DES EXERCICES AVEC JCLIC-AUTHOR Logiciel: JClic-author Plate-forme(s): Linux, Windows, Mac OS X Version: 0.1.1.9 Licence: GNU General

Plus en détail

Guide Utilisateur - Guide général d'utilisation du service via Zdesktop ou Webmail v.8. Powered by. Version 3.0 - EXOCA 1

Guide Utilisateur - Guide général d'utilisation du service via Zdesktop ou Webmail v.8. Powered by. Version 3.0 - EXOCA 1 Guide Utilisateur - Guide général d'utilisation du service via Zdesktop ou Webmail v.8 Powered by Version 3.0 - EXOCA 1 Sommaire Introduction... 3 1. Configuration du logiciel Zdesktop...4 2. Connexion

Plus en détail

Interface PC Vivago Ultra. Pro. Guide d'utilisation

Interface PC Vivago Ultra. Pro. Guide d'utilisation Interface PC Vivago Ultra Pro Guide d'utilisation Version 1.03 Configuration de l'interface PC Vivago Ultra Configuration requise Avant d'installer Vivago Ultra sur votre ordinateur assurez-vous que celui-ci

Plus en détail

Manuel utilisateur. Version 1.6b

Manuel utilisateur. Version 1.6b Manuel utilisateur Version 1.6b Table des matières Table des matières... 2 1. Introduction... 3 a. But de ce document... 3 b. Objet de ce document... 3 c. Remarques et commentaires... 3 2. Premiers pas

Plus en détail

SweetyPix, mode d'emploi

SweetyPix, mode d'emploi Université de Nice Sophia-Antipolis Master 1 STIC Informatique SweetyPix, mode d'emploi Edouard Jan Mendher Merzoug Anne-Laure Radigois Amaury Tinard 2005-2006 Université de Nice Sophia-Antipolis Master

Plus en détail

Les messages d erreur d'applidis Client

Les messages d erreur d'applidis Client Fiche technique AppliDis Les messages d erreur d'applidis Client Fiche IS00313 Version document : 1.00 Diffusion limitée : Systancia, membres du programme Partenaires AppliDis et clients ou prospects de

Plus en détail

Manuel d utilisation email NETexcom

Manuel d utilisation email NETexcom Manuel d utilisation email NETexcom Table des matières Vos emails avec NETexcom... 3 Présentation... 3 GroupWare... 3 WebMail emails sur internet... 4 Se connecter au Webmail... 4 Menu principal... 5 La

Plus en détail

MEGA ITSM Accelerator. Guide de Démarrage

MEGA ITSM Accelerator. Guide de Démarrage MEGA ITSM Accelerator Guide de Démarrage MEGA 2009 SP4 1ère édition (juin 2010) Les informations contenues dans ce document pourront faire l objet de modifications sans préavis et ne sauraient en aucune

Plus en détail

CINEMATIQUE DE FICHIERS

CINEMATIQUE DE FICHIERS ANDRE ANTHONY BRUNEAU Vincent JOUANNIN ROMAIN MAZEAUD MARINE RIOCHET Tony Groupe 609 CINEMATIQUE DE FICHIERS Mini-projet: Gestion de Ventes d'articles Enseignant: MONCEAUX Laura Année 2011 / 2012 TABLE

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

Tutoriel - flux de facturation

Tutoriel - flux de facturation 1 of 12 17.01.2007 01:41 Tutoriel - flux de facturation Le schéma ci-dessous illustre le flux de facturation classique : Lors de la création d'une facture, elle possède l'état de brouillon, ce qui veut

Plus en détail

Tutoriel : Comment installer une compte email (une adresse email) sur un logiciel de messagerie (ou client messagerie)?

Tutoriel : Comment installer une compte email (une adresse email) sur un logiciel de messagerie (ou client messagerie)? Tutoriel : Comment installer une compte email (une adresse email) sur un logiciel de messagerie (ou client messagerie)? Sur Thunderbird (V.3.0.5) Etape 1 - Introduction Lancez l'application Thunderbird

Plus en détail

HelpAndManual_unregistered_evaluation_copy GESTIONNAIRE D'ALARMES CENTRALISE OPTIM'ALARM. Manuel d'utilisation

HelpAndManual_unregistered_evaluation_copy GESTIONNAIRE D'ALARMES CENTRALISE OPTIM'ALARM. Manuel d'utilisation HelpAndManual_unregistered_evaluation_copy GESTIONNAIRE D'ALARMES CENTRALISE OPTIM'ALARM Manuel d'utilisation OPTIMALOG 2008 Table des matières I Table des matières Part I Gestionnaire d'alarmes Optim'Alarm

Plus en détail

Comment faire des étiquettes

Comment faire des étiquettes Comment faire des étiquettes Révision 0.1 31/03/2004 Réalisé avec : OOo 1.1.0 Plate-forme / Os : Toutes n révision, mode d'emploi n révision : x.yz x : n de version majeure, par exemple 0 pour une phase

Plus en détail

Messages d'erreurs. Redémarrez votre PC en cliquant sur Démarrer, en sélectionnant ensuite Arrêter puis en cochant Redémarrer

Messages d'erreurs. Redémarrez votre PC en cliquant sur Démarrer, en sélectionnant ensuite Arrêter puis en cochant Redémarrer Messages d'erreurs Erreur 602 Vous essayez de vous connecter à Internet. L'erreur n 602 apparaît et il vous est impossible de vous connecter. L'erreur 602 est souvent issue de l'utilisation de l'accès

Plus en détail

Transmissions série et parallèle

Transmissions série et parallèle 1. Introduction : Un signal numérique transmet généralement plusieurs digits binaires. Exemple : 01000001 ( huit bits). Dans une transmission numérique on peut envisager deux modes : les envoyer tous en

Plus en détail

Pluridisciplinarité. Classe de BTS DATR 1 -----------------------------------------------------------------------

Pluridisciplinarité. Classe de BTS DATR 1 ----------------------------------------------------------------------- Pluridisciplinarité Classe de BTS DATR 1 ----------------------------------------------------------------------- Module M53: Diagnostic de territoire cible dans le secteur des services. -----------------------------------------------------------------------

Plus en détail

Guide d'utilisation du logiciel de NEWSLETTERS

Guide d'utilisation du logiciel de NEWSLETTERS Page N :1/17 Guide d'utilisation du logiciel de NEWSLETTERS pour FCE France Page N :2/17 Avant propos Qu est-ce le logiciel NEWSLETTERS? C' est une application entièrement web destinée à la saisie et à

Plus en détail

MODE D'EMPLOI DE LA CALCULATRICE POUR LES COURTS SÉJOURS DANS L'ESPACE SCHENGEN

MODE D'EMPLOI DE LA CALCULATRICE POUR LES COURTS SÉJOURS DANS L'ESPACE SCHENGEN MODE D'EMPLOI DE LA CALCULATRICE POUR LES COURTS SÉJOURS DANS L'ESPACE SCHENGEN 1. Introduction Le règlement (UE) n 610/2013 du 26 juin 2013 a modifié la convention d'application de l'accord de Schengen,

Plus en détail

2. RAPPEL DES TECHNIQUES DE CALCUL DANS R

2. RAPPEL DES TECHNIQUES DE CALCUL DANS R 2. RAPPEL DES TECHNIQUES DE CALCUL DANS R Dans la mesure où les résultats de ce chapitre devraient normalement être bien connus, il n'est rappelé que les formules les plus intéressantes; les justications

Plus en détail

TUTORIAL REUTERS. Utilisation de l'utilitaire de recherche Reuters

TUTORIAL REUTERS. Utilisation de l'utilitaire de recherche Reuters TUTORIAL REUTERS Connexion à Reuters Allez sur https://portal.hpd.global.reuters.com/auth/login.aspx Le login est reut@ensimag.imag.fr, =1 à 5, le et le mot de passe étant ceux qui vous ont été

Plus en détail

Architecture des ordinateurs. Environnement Windows : sauvegarde

Architecture des ordinateurs. Environnement Windows : sauvegarde Architecture des ordinateurs Environnement Windows : sauvegarde 1/14 Table des matières 1.Introduction...3 a)objectifs...3 b)critères de choix...3 c)stratégies de sauvegarde...3 2.La source...4 a)sauvegarde

Plus en détail

Protocoles DHCP et DNS

Protocoles DHCP et DNS Protocoles DHCP et DNS DHCP (Dynamic Host Configuration Protocol) est un protocole qui permet à un serveur DHCP (Unix, Windows, AS400...) d'affecter des adresses IP temporaires (et d'autres paramètres)

Plus en détail

LOGICIEL ALARM MONITORING

LOGICIEL ALARM MONITORING LOGICIEL ALARM MONITORING Superviseur des centrales Galaxy - 1 - APPLICATIONS 4 Application locale sur le site 4 Application à distance 4 RACCORDEMENTS 4 CARACTERISTIQUES MATERIELLES 5 Centrale Galaxy

Plus en détail

ipra*cool v 1.08 guide de l utilisateur ipra*cool v.1-08 Guide de l'utilisateur ipra*cool v 1.08 1

ipra*cool v 1.08 guide de l utilisateur ipra*cool v.1-08 Guide de l'utilisateur ipra*cool v 1.08 1 ipra*cool v.1-08 Guide de l'utilisateur ipra*cool v 1.08 1 Sommaire 1 ipra*cool en bref 2 Démarrage d' ipra*cool 2.1 Initialisation du logiciel ipra*cool ( sur MOBILE et PC) 2.1.1 Vérification des connexions

Plus en détail

INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX

INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX TABLE DES MATIERES Livret Utilisateur Excel 2007 Niveau 2 INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX... 4 Les tableaux croisés dynamiques... 4 Création d un tableau croisé... 5 Comparer des

Plus en détail

Manuel d installation Version Evolution réseau Ciel Compta Ciel Gestion commerciale Ciel Associations

Manuel d installation Version Evolution réseau Ciel Compta Ciel Gestion commerciale Ciel Associations Manuel d installation Version Evolution réseau Ciel Compta Ciel Gestion commerciale Ciel Associations Sage activité Ciel 35, rue de la Gare - 75917 PARIS Cedex 19 Tél. 01.55.26.33.33 - Fax. 01.55.26.40.33

Plus en détail

Guide d utilisation. Table des matières. Mutualisé : guide utilisation FileZilla

Guide d utilisation. Table des matières. Mutualisé : guide utilisation FileZilla Table des matières Table des matières Généralités Présentation Interface Utiliser FileZilla Connexion FTP Connexion SFTP Erreurs de connexion Transfert des fichiers Vue sur la file d'attente Menu contextuel

Plus en détail

Méthodes de développement. Analyse des exigences (spécification)

Méthodes de développement. Analyse des exigences (spécification) 1 / 16 Méthodes de développement Analyse des exigences (spécification) 1 -Objectifs de l'analyse des exigences... 2 2 - Approfondissement et formalisation du besoin... 2 2.1 Séparation des besoins, contraintes

Plus en détail

progecad NLM Guide de l'utilisateur

progecad NLM Guide de l'utilisateur progecad NLM Guide de l'utilisateur Rev. 11.1 Table des matières Table des matières...2 Introduction...3 Comment démarrer...3 Installation de progecad NLM server...3 Enregistrement de progecad NLM server...3

Plus en détail

CommandCenter Génération 4

CommandCenter Génération 4 Notes importantes: Lors de l'installation de cette version logicielle SE Génération 4 8.11.2456-13, la mise à jour peut rester jusqu'à 25 minutes au même pourcentage (p. ex., 82 %) dans la phase d'installation

Plus en détail

Qu'est-ce que la messagerie électronique?

Qu'est-ce que la messagerie électronique? Si vous êtes fâché avec les activités épistolaires, la messagerie électronique va vous réconcilier avec elles. Découvrez-la et devenez-en, à votre tour, un adepte inconditionnel. Qu'est-ce que la messagerie

Plus en détail

DECOUVERTE DE LA MESSAGERIE GMAIL

DECOUVERTE DE LA MESSAGERIE GMAIL DECOUVERTE DE LA MESSAGERIE GMAIL modifie août 2011 La messagerie GMAIL est très répandue parce que simple d'utilisation et surtout gratuite. Car elle proposée par Google. Cliquez deux fois sur l'icône

Plus en détail

Description de la procédure pour ouvrir un compte et pour procéder aux achats en ligne

Description de la procédure pour ouvrir un compte et pour procéder aux achats en ligne Description de la procédure pour ouvrir un compte et pour procéder aux achats en ligne Ouvrir un compte sur Julo sera toujours gratuit! En ouvrant votre compte, vous devenez instantanément membre de la

Plus en détail

TP2 - Conguration réseau et commandes utiles. 1 Généralités. 2 Conguration de la machine. 2.1 Commande hostname

TP2 - Conguration réseau et commandes utiles. 1 Généralités. 2 Conguration de la machine. 2.1 Commande hostname Département d'informatique Architecture des réseaux TP2 - Conguration réseau et commandes utiles L'objectif de ce TP est d'une part de vous présenter la conguration réseau d'une machine dans l'environnement

Plus en détail

Tutorial Terminal Server sous

Tutorial Terminal Server sous Tutorial Terminal Server sous réalisé par Olivier BOHER Adresse @mail : xenon33@free.fr Site Internet : http://xenon33.free.fr/ Tutorial version 1a Page 1 sur 1 Index 1. Installation des services Terminal

Plus en détail

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A. ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A. - 1 - PREAMBULE Les conditions générales d utilisation détaillant l ensemble des dispositions applicables

Plus en détail

Utilisation d'un réseau avec IACA

Utilisation d'un réseau avec IACA Utilisation d'un réseau avec IACA Réseau IACA composé d'un ou plusieurs serveurs et de station 95 ou 98 ou ME ou NTWS ou 2000 ou XP Pro. Le réseau Le serveur est un ordinateur sur lequel a été installé

Plus en détail

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES Antonin AILLET Remi DEVES Thibaut AZZOPARDI 2 ème année de DUT Informatique Cahier Technique «Développer une application intranet pour la gestion des stages des étudiants» Encadré par Didier BOULLE Année

Plus en détail

Formation. Module WEB 4.1. Support de cours

Formation. Module WEB 4.1. Support de cours Formation Module WEB 4.1 Support de cours Rédacteur Date de rédaction F.CHEA 08/02/2012 Les informations contenues dans ce document pourront faire l'objet de modifications sans préavis Sauf mention contraire,

Plus en détail

COPIER, COUPER, COLLER, SELECTIONNER, ENREGISTRER.

COPIER, COUPER, COLLER, SELECTIONNER, ENREGISTRER. COPIER, COUPER, COLLER, SELECTIONNER, ENREGISTRER. 1. Comment déplacer ou copier un fichier sur Windows Vous aurez régulièrement besoin de déplacer ou dupliquer des fichiers sur votre ordinateur. Par exemple

Plus en détail

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts E3FI ESIEE Paris Systèmes et scripts B. Perret TP : Shell Scripts 1 Remarque générale Lorsque vous cherchez des informations sur Internet, n'oubliez pas que langage de shell script que nous avons vu correspond

Plus en détail

TP 10.3.5a Notions de base sur le découpage en sous-réseaux

TP 10.3.5a Notions de base sur le découpage en sous-réseaux TP 10.3.5a Notions de base sur le découpage en sous-réseaux Objectif Identifier les raisons pour lesquelles utiliser un masque de sous-réseau. Faire la distinction entre un masque de sous-réseau par défaut

Plus en détail

Tune Sweeper Manuel de l'utilisateur

Tune Sweeper Manuel de l'utilisateur Tune Sweeper Manuel de l'utilisateur www.wideanglesoftware.com Table des matières Introduction 2 Démarrage rapide 5 Recherche de doublons 9 Sélection des pistes à conserver 12 Éliminer les doublons 15

Plus en détail

Automatisation d'une Facture 4. Liste Déroulante Remises Case à cocher Calculs

Automatisation d'une Facture 4. Liste Déroulante Remises Case à cocher Calculs Dans la série Les tutoriels libres présentés par le site FRAMASOFT Automatisation d'une Facture 4 Liste Déroulante Remises Case à cocher Calculs Logiciel: Version: Licence: Site: OpenOffice.org Calc :

Plus en détail

Module SMS pour Microsoft Outlook MD et Outlook MD Express. Guide d'aide. Guide d'aide du module SMS de Rogers Page 1 sur 40 Tous droits réservés

Module SMS pour Microsoft Outlook MD et Outlook MD Express. Guide d'aide. Guide d'aide du module SMS de Rogers Page 1 sur 40 Tous droits réservés Module SMS pour Microsoft Outlook MD et Outlook MD Express Guide d'aide Guide d'aide du module SMS de Rogers Page 1 sur 40 Table des matières 1. Exigences minimales :...3 2. Installation...4 1. Téléchargement

Plus en détail

Exposer ses photos sur Internet

Exposer ses photos sur Internet Exposer ses photos sur Internet Vous souhaitez montrer vos photos à votre famille ou vos amis? Pour cela, il existe de nombreuses solutions : vous pouvez effectuer un envoi groupé par email, créer un site

Plus en détail