Etude et développement d une interface graphique de conception logicielle appliquée aux Réseaux de Capteurs Sans Fil

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

Download "Etude et développement d une interface graphique de conception logicielle appliquée aux Réseaux de Capteurs Sans Fil"

Transcription

1 Institut Supérieur d Informatique de Modélisation et de leurs Applications Institut de recherche en sciences et technologies pour l'environnement Complexe des Cézeaux 24 Avenue des Landais BP BP Aubière Cedex Aubière Cedex Rapport de stage de 2 ème année ISIMA Génie Logiciel et Systèmes Informatiques Etude et développement d une interface graphique de conception logicielle appliquée aux Réseaux de Capteurs Sans Fil Présenté par : Sylvain Rebeyrol Responsable ISIMA : Jian Jin Li Responsables entreprise : Gil De Sousa et Aurélien Jacquot Du 4 avril au 2 septembre 2011

2 Institut Supérieur d Informatique de Modélisation et de leurs Applications Institut de recherche en sciences et technologies pour l'environnement Complexe des Cézeaux 24 Avenue des Landais BP BP Aubière Cedex Aubière Cedex Rapport de stage de 2 ème année ISIMA Génie Logiciel et Systèmes Informatiques Etude et développement d une interface graphique de conception logicielle appliquée aux Réseaux de Capteurs Sans Fil Présenté par : Sylvain Rebeyrol Responsable ISIMA : Jian Jin Li Responsables entreprise : Gil De Sousa et Aurélien Jacquot Du 4 avril au 2 septembre 2011

3 Remerciements Je remercie le personnel du Cemagref, pour l'accueil qu'ils m ont réservé tout au long de mon stage. L'ambiance était chaleureuse et conviviale. J ai été très bien intégré au sein de cette équipe. Je tiens à remercier particulièrement Aurélien JACQUOT et Gil DE SOUSA pour m'avoir aidé dans de nombreuses circonstances. Ils m'ont permis d'avancer sur mon travail lorsque j'ai rencontré des difficultés. Ils m'ont soutenu et leur aide et leur expérience m ont été précieuses.

4 Glossaire ARM : AWT : Eclipse : Framework : I²C : ISIMA : JFace : Société britannique spécialisée dans le développement de processeur. Abstract Window Toolkit est une bibliothèque graphique pour JAVA, et sert de fondement à Swing. Environnement de développement libre codé principalement en JAVA par la Fondation Eclipse. Ensemble de composants logiciels structurels, permettant de créer la base ainsi que les grandes lignes d un logiciel. Inter Integrated Circuit Bus, développé par Philips. Ce bus de communication nécessite deux fils. Institut Supérieur de l'informatique de Modélisation et de leurs Applications. JFace est une bibliothèque graphique pour JAVA, s appuyant sur SWT pour fournir des interfaces plus structurées. Langage C : Langage de programmation impératif, de bas niveau inventé en Langage JAVA : Langage de programmation orienté objet, inventé en LIMOS : Package : PIC : RCP : RSCF : Swing : SWT : Template : Laboratoire d'informatique, de Modélisation et d'optimisation des Systèmes est une unité mixte de recherche. Il est rattaché aux deux universités clermontoises. Paquetage. Désigne un ensemble de classe. Famille de microcontrôleurs de la société Microchip. Rich Client Platfom est une application riche conçue à l aide d un noyau exécutif et de briques logicielles, ainsi que d un framework et un modèle d interface utilisateur. Réseau de Capteur Sans Fil Bibliothèque graphique pour JAVA, basé sur AWT. Elle utilise des composants en pur Java. Standard Widget Toolkit est une bibliothèque graphique libre pour JAVA, initiée par IBM. Elle fait appel aux composants natifs du système d exploitation. Permet à une classe ou une fonction de pouvoir s adapter à plusieurs types sans avoir besoin d'être redéfinie.

5 TSCF : UML : Wi-Fi : XML : ZigBee : Technologies et Systèmes d'information pour les agrosystèmes de Clermont Ferrand. Unified Modeling Language est un langage de modélisation graphique à base de pictogrammes. IEEE , protocole de communication sans fil. Il permet de relier plusieurs appareils informatiques, les informations étant transmises par des ondes. Extensible Markup Language est un langage informatique de balisage générique. IEEE , protocole de communication à consommation d'énergie réduite.

6 Résumé Les évolutions technologiques des dernières années ont permis de mettre en évidence un nouveau domaine de recherche : les réseaux de capteurs sans fil (RCSF). Ils sont utilisés par le Cemagref pour répondre à différents types d applications dans le domaine agricole et environnemental. Mon travail a consisté à développer une interface graphique de programmation permettant de faciliter la création de nouvelles applications pour les nœuds de ces réseaux. Cette interface doit permettre de générer le code de l application à partir des paramètres fournis par l utilisateur et des briques logicielles. J ai développé cette interface sous Eclipse à l aide du langage JAVA et du framework d Eclipse, permettant de réaliser un RCP. Aujourd hui, l interface est fonctionnelle et permet de générer du code. Il est également possible de sauvegarder et de réutiliser certaines parties du code d'applications déjà existantes. Des corrections et améliorations pourront être apportées pour une meilleure utilisation de l interface. Des fonctions pourront également être ajoutées pour que l interface soit plus complète. Mots clés : réseau de capteurs sans fil, agriculture, environnement, interface graphique, génération de code, langage JAVA, RCP. Abstract Technological developments in recent years have highlighted a new research area: wireless sensors networks (WSN). WSN are used by Cemagref to respond to different kinds of challenges in agriculture and the environment field.. The objective of my work was to develop a programming graphical user interface (GUI) to make easier the design of new applications for the WSN nodes. This interface allows the application code generation from user-supplied parameters and software components. I developed this interface in JAVA language and with the Eclipse framework, to achieve an RCP application. Today, the interface is functional and can generate code. It's also possible to save and reuse parts of existing application code. Corrections and upgrades can be made for a better use of the interface. Functions can also be added for completed the interface. Key words: wireless sensors network, agriculture, environment, graphical user interface, code generation, JAVA language, RCP.

7 Tables des matières Introduction... 1 I. Présentation du stage... 2 I.1. Présentation du Cemagref... 2 I.1.1. Présentation de l unité de recherche TSCF... 2 I.1.2. Présentation de l équipe COPAIN... 3 I.2. Contexte de l étude... 3 I.3. Objectifs du stage et planning... 5 I.4. Planning du stage... 5 II. Etude et recherche d outils... 6 II.1. Etude... 6 II.1.1. Architecture d une plateforme de RCSF... 6 II.1.2. Fonctionnalités attendus de l'interface... 7 II.1.3. Etude le l existant... 7 II.2. Outils informatiques utilisés II.2.1. Choix du langage de programmation II.2.2. Choix d un outil de modélisation II.2.3. Choix de la bibliothèque graphique II.2.4. Utilisation d un RCP III. Modélisation de l interface III.1. Déroulement de son utilisation III.2. Diagrammes de classes de l application III.3. Découpage en vues IV. Développement de l application IV.1. Cœur de l application IV.1.1. Données et ressources IV.1.2. Génération de code IV.2. Interface IV.2.1. Création d une interface avec Eclipse RCP IV.2.2. Principales parties de l interface IV.2.2.a. Explorateur IV.2.2.b. Listes des ressources IV.2.2.c. Vue pour le paramétrage IV.2.2.d. Editeur graphique IV.2.3. Exporter le RCP V. Première utilisation de l application V.1. Test de l interface V.2. Réalisation d un nœud V.3. Compilation et test du code généré Conclusion... 36

8 Table des figures Figure 1. Présentation des centres du Cemagref en France... 2 Figure 2. Schéma d'un RCSF... 4 Figure 3. Schéma d'une plateforme de RCSF... 6 Figure 4. Photo d une carte mère avec une carte fille Watermark... 7 Figure 5. Diagrammes des différentes étapes du prototype... 8 Figure 6. Fenêtre de configuration de capteur du prototype... 9 Figure 7. Vue généraliste d ArgoUML Figure 8. Vue généraliste d ArgoUML Figure 9. Exemple d interface développé avec Eclipse RCP Figure 10. Diagramme de cas d'utilisation de l'application Figure 11. Diagramme d activité de l'application Figure 12. Version simplifiée du diagramme de classes du package «data» Figure 13. Version simplifiée du diagramme de classes du package «io» Figure 14. Version simplifiée du diagramme de classes du package «ui» Figure 15. Vue externe du nœud Figure 16. Vue interne du nœud Figure 17. Vue interne de la carte fille Figure 18. Exemple du code générer Figure 19. Onglet d'extension du plugin Figure 20. Vision globale de l'interface Figure 21. Création du projet Test Figure 22. Création du profil Carte Watermark Figure 23. Configuration de la carte fille... 34

9 Table des tableaux Tableau 1. Comparatif entre Papyrus et ArgoUML Tableau 2. Comparatif entre Swing et JFace Tableau 3. Formatage d'un fichier de carte fille Tableau 4. Exemple de formatage d'un fichier de projet... 24

10

11 Introduction Au cours de ma deuxième année d'étude à l'institut Supérieur d'informatique, de Modélisation et de leurs Applications (ISIMA), j'ai effectué un stage au sein de l'institut de recherche en sciences et technologies pour l'environnement, nommé Cemagref. Ce stage a duré cinq mois entre avril et septembre Dans le cadre des applications de collecte de données environnementales à distance, l'équipe Copain s'appuie sur la technologie des (RCSF). Celle-ci déploie une multitude de systèmes électroniques (nœuds), embarquant une intelligence, une mémoire, ainsi qu'un moyen de communication sans fil sur des zones vastes (parcelles agricoles, vignes...). Différentes versions d'une plateforme de RCSF, nommée LiveNode, ont été développées, en collaboration avec le laboratoire d'informatique LIMOS. Actuellement, le capteur sans fil LiveNode est basé sur une architecture matérielle modulaire. Cependant, il est difficile de se servir des différentes briques logicielles de ces plateformes. De plus, on constate que, dans la majorité des cas, des codes communs peuvent être réutilisés d une application à l autre. Il est donc important de centraliser les différentes briques logicielles, pour faciliter leur développement. Pour le moment, un utilisateur novice aura de grandes difficultés pour reprendre et concevoir une application, car il devra comprendre et modifier lui-même l intérieur du code. Il est donc nécessaire de développer un outil graphique permettant de l aider dans son travail. Je présenterai dans une première partie le contexte du stage. Une seconde partie détaillera l étude d un prototype d interface effectuée, ainsi que le choix des outils qui seront utilisés durant le stage. Ensuite, dans une troisième partie, je propose une modélisation de l application à travers différents diagrammes UML, ainsi que la schématisation d un nœud. La quatrième partie expliquera le développement de l application. Enfin, la cinquième et dernière partie présentera le fonctionnement de l application et les tests effectués. Rebeyrol Sylvain 22 août

12 I. PRESENTATION DU STAGE I.1. Présentation du Cemagref J'ai effectué mon stage au sein du Cemagref, qui est un établissement public à caractère scientifique et technologique (EPST). Le Cemagref possède 9 centres sur la France et 2 antennes, une en Martinique et une à Strasbourg illustré dans la Figure 1. Figure 1. Présentation des centres du Cemagref en France. Le Cemagref possède 20 unités de recherche et 5 unités mixtes de recherche, autour de 3 départements de recherche que sont les eaux, les écotechnologies et les territoires. Il y a 1600 personnes qui travaillent au Cemagref réparties dans tous ces centres, dont environ 500 chercheurs et 200 doctorants. J'ai rejoint à l'unité de recherche Technologies et Système d'information pour les agrosystèmes de Clermont-Ferrand. (UR TSCF) I.1.1. Présentation de l unité de recherche TSCF L'unité de recherche TSCF appartient au centre de Clermont-Ferrand (63), qui a la particularité d être sur deux sites : - Site d Aubière, département du Puy-de-Dôme. - Site de Montoldre, département de l Allier Ce dernier site dispose d'une ferme expérimentale. Régulièrement, les agents sont amenés à effectuer des essais ou des relevés sur ce site, afin de mieux tester leurs solutions et appareils en milieu agricole. L'unité de recherche TSCF est composée de trois équipes de recherche, qui sont réparties sur les deux sites : - L'équipe TEAM, Technologie Epandage Agroéquipements Mobilité, a pour but d'améliorer les techniques d'épandage pour un meilleur résultat sans détériorer Rebeyrol Sylvain 22 août

13 l'environnement, et d'apporter des solutions pour améliorer les travaux des exploitants par l'intermédiaire de robots mobiles autonomes coopératifs. - L'équipe CARAC'TERRE s'occupe de la caractérisation des matériaux et des différents milieux dans le domaine agricole. - La troisième équipe, que j'ai rejointe, est l'équipe COPAIN, présentée plus en détails ci-dessous I.1.2. Présentation de l équipe COPAIN L'équipe travaille sur les Systèmes d'information Agro-environnementaux et Communicants, et est chargée de concevoir et réaliser des systèmes d'information dédiés à la gestion de données agro-environnementales. Ces systèmes sont alimentés par des données environnementales collectées, et permettent de qualifier et d'avoir une meilleure compréhension de l'environnement et des pratiques agricoles. De plus, les échanges de données entre différents systèmes d information sont également étudiés afin d exploiter au mieux les informations recueillies. La démarche de la réalisation commence par l'analyse des besoins de l'utilisateur, la spécification des systèmes d'information, la modélisation et la conception d'une solution et enfin la gestion des sources de données. L'équipe est composée de 12 personnes permanentes au sein du Cemagref, une personne postdoctorante et deux personnes doctorantes. L'équipe développe trois thématiques de recherche : - Les réseaux de capteurs sans fil (RSCFs). - Les entrepôts de données - Les systèmes d'information géographique (SIGs). Mon stage s'intègre dans la thématique des RCSFs. Mon maître de stage, Gil DE SOUSA, travaillent au sein de cette équipe ainsi que mon encadrant Aurélien JACQUOT. I.2. Contexte de l étude Un RCSF est composé de deux grands types de nœuds : les capteurs sans fil et le point (ou station) de collecte. Les capteurs sans fil relèvent des données grâce à des capteurs de grandeur physique (thermomètre, pluviomètre...), et envoient ces informations vers le point de collecte, également appelé puits. Le puits récupère les informations remontées par les différents capteurs sans fil et les transmet au centre de traitement. Il n'est pas rare qu'un capteur sans fil soit hors de portée du puits, les informations vont alors transiter de nœud en nœud jusqu'à atteindre un point de collecte (Figure 2). Les nœuds d un RCSF sont des systèmes embarqués à fortes contraintes de ressources, notamment en termes d énergie, de puissance de calcul et de mémoire. Les nœuds peuvent être dans des endroits difficiles d'accès, et on considère qu'ils sont autonomes une fois qu'ils sont déployés. L'autonomie de leur batterie est donc primordiale et c est pour cela qu ils doivent consommer le moins possible, tout en ayant une puissance de calcul et une mémoire suffisante. Le protocole de communication sans fil utilisé est également très important. Par exemple, le Wi-Fi (IEEE ) offre un débit élevé au détriment d'une consommation d'énergie importante. D'autres protocoles comme le ZigBee (IEEE ) ont, à l'inverse, un débit limité pour une consommation assez faible. Le choix du protocole de communication dépend des contraintes de l'application supportée. Rebeyrol Sylvain 22 août

14 Les domaines d applications des RCSF sont vastes, allant notamment de la collecte de données environnementales à la surveillance d infrastructures en passant par l aide à la personne. Figure 2. Schéma d'un RCSF Il existe trois manières de collecter les informations d'un RCSF : soit à la demande, soit sur événement, soit automatiquement. Dans le premier cas, lorsque l'on souhaite avoir l'état de la zone de couverture à un instant T, le puits va émettre un signal vers toute la zone de couverture pour que les capteurs remontent leurs informations. Dans le deuxième cas, lorsqu'un événement se produit en un point, les capteurs sans fil situés à proximité vont alors remonter les informations vers le puits. Cela permet de repérer quand le niveau d'eau monte trop ou encore quand le sol est trop sec et qu'il y a un risque d'incendie. Dans le cas d'une collecte automatique, les nœuds vont remonter automatiquement et périodiquement leur dernier relevé vers le puits. Cela permet d'étudier l'évolution de la zone de couverture dans le temps, en constituant une base de données. Les RCSFs peuvent, par exemple, permettre de contrôler à distance l'irrigation d'une vigne. Les différents nœuds sont disséminés dans toute la vigne pour avoir un relevé détaillé de l état hydrique du sol. En complément, différentes données météorologiques peuvent être mesurées, puis traiter, afin d'indiquer la nécessité d'irriguer en fonction de l'humidité du sol. Le RCSF peut aussi permettre de comparer les relevés des différentes périodes de l'année sur plusieurs années, puisqu'une base de données stocke les informations utiles de ces relevés. Avec ceuxci, l'utilisateur peut analyser la qualité du sol de son exploitation grâce à un outil d'aide à la décision. L'outil fournit des conseils à l'utilisateur à partir des données recueillies et des modèles de culture et de traitements. Le sol n'absorbant pas l'eau uniformément sur toute une exploitation, cette dernière est alors découpée en parcelles modélisées dans l'outil afin de fournir un rapport sur l'état du sol. Ainsi, l'utilisateur peut irriguer uniquement les parcelles qui en ont besoin et économiser de l'eau sur les autres. Pour fonctionner, les nœuds disposent de batteries qui doivent leur permettre Rebeyrol Sylvain 22 août

15 d'avoir une autonomie de plusieurs mois sans intervention. Les énergies renouvelables comme le solaire peuvent aider à améliorer la durée de vie de chaque nœud du réseau. I.3. Objectifs du stage et planning L objectif du stage consiste à proposer une interface graphique de programmation, permettant de faciliter la création de nouvelles applications sur les microcontrôleurs ARM et PIC des plateformes de RCSF. Je dois, dans un premier temps, me familiariser avec la programmation sur ces architectures et prendre connaissance des applications existantes. Dans un deuxième temps, j étudierai le prototype existant et réaliserai une modélisation UML de l interface. Dans un troisième temps je devrai développer l interface. L interface devra permettre une conception visuelle de l application ainsi que son paramétrage, à l aide de briques graphiques représentant les différents périphériques et fonctionnalités. Il faudra également à tout instant pouvoir ajouter ou corriger des fonctionnalités à des briques nouvelles ou existantes. Elle utilisera des bibliothèques de codes réutilisables d applications embarquées, écrites en langage C. A partir de la représentation visuelle et de ces bibliothèques, le logiciel pourra générer un code source paramétré pour une application embarquée donnée. Ensuite, ces codes seront compilés par un logiciel tiers. A terme, il est envisagé d'intégrer des outils de compilation libres à l'interface de programmation, pour en faire un outil complet de développement et d'envoi sur cible. Enfin, les applications générées devront être validées sur la plateforme matérielle développée. I.4. Planning du stage Mon stage a commencé le 4 avril Durant le mois d'avril, j ai étudié le fonctionnement des RCSFs ainsi que l'architecture des nœuds utilisés par le Cemagref. J ai également étudié le prototype d'interface qui a été réalisé en amont de mon stage. Lors du mois de mai, j'ai cherché des outils pour la modélisation et la conception de l'application que j'utiliserai pendant le stage. Pour la fin du mois de mai, j'ai préparé une présentation faisant le point sur mon stage. Pendant le mois de juin, j'ai modélisé l'application. Pour cela, différents diagrammes UML ont été réalisés. Un diagramme de cas d'utilisation et un diagramme d activité ont été établis pour voir les différentes étapes qu'un utilisateur ferait, s'il voulait créer un nœud, ainsi que leur ordre. Des diagrammes de classes de l'application ont également été réalisés. La base du code de l'application a ensuite été générée à partir de ces diagrammes. Lors des mois de juillet et d'août, j'ai développé l'application, en concevant l'interface et la génération du code. Enfin au mois d'août, j'ai rédigé mon rapport. J'ai également effectué des tests et débogué l'application. Malheureusement, je n'ai pas eu le temps de tester le code sur la plateforme physique. Rebeyrol Sylvain 22 août

16 II. ETUDE ET RECHERCHE D OUTILS II.1. Etude II.1.1. Architecture d une plateforme de RCSF Différentes versions de la plateforme de RCSF, nommée LiveNode, ont été développées en collaboration avec le laboratoire d'informatique LIMOS. Actuellement, le capteur sans fil LiveNode est basé sur une architecture matérielle modulaire : une carte mère et des cartes filles. Ces cartes sont empilables, c est-à-dire que l on peut brancher une carte fille sur une carte mère, sur laquelle on pourra brancher une nouvelle carte fille (Figure 3 et Figure 4). Figure 3. Schéma d'une plateforme de RCSF Cette structure offre une réutilisabilité des éléments d une plateforme à une autre, et permet également de ne pas être limité physiquement en nombre de cartes filles. Les cartes mères sont conçues autour du processeur ARM7 et dispose de mémoires internes Flash de 256ko et RAM de 64ko. Les cartes filles embarquent un processeur PIC24F avec 32ko de mémoire Flash et 8ko de RAM. La carte mère s occupe de gérer la communication entre les différents nœuds du RCSF, de transférer des mesures vers la station de collecte de données, ainsi que de piloter le réveil des différentes cartes filles. Les cartes filles sont conçues pour répondre à une application et traiter les informations provenant de différents capteurs. Rebeyrol Sylvain 22 août

17 Figure 4. Photo d une carte mère avec une carte fille Watermark A noter qu il existe deux types de cartes filles : actives et passives. Les cartes filles actives possèdent un processeur et traitent elles-mêmes les données collectés par les capteurs. Les cartes filles passives ne possèdent pas de processeur. Par conséquent, elles ne peuvent que faire passer à la carte mère les données brutes collectées par les capteurs. La carte mère devra traiter les données brutes avant de les envoyer. II.1.2. Fonctionnalités attendus de l'interface Un utilisateur de cette application attend diverses fonctionnalités. Il doit tout d'abord pouvoir l'utiliser sans être un expert. Cela signifie qu'il peut créer un nœud sans avoir à écrire du code, mais uniquement à l'aide de représentations graphiques et de paramètres. Il doit pouvoir paramétrer les différentes parties du nœud, que ce soit la carte mère, les cartes filles ou les capteurs. L'une des principales fonctionnalités attendue est de pouvoir générer du code à partir d'éléments connus, possédant des bibliothèques de codes, mais également à partir d'éléments inconnus. Dans ce cas, un squelette de code sera généré. Il doit également être possible d'ajouter de nouvelles cartes filles et capteurs au fil du temps. L'utilisateur doit également avoir une certaine liberté dans l'ordre des étapes de création d'un nœud, comme paramétrer une carte fille juste après l'avoir ajouté ou seulement après avoir ajouté toutes les cartes filles. Enfin, l'interface doit être facilement modulable pour ajouter, par exemple, de nouveaux paramètres ou de nouvelles fonctionnalités. II.1.3. Etude le l existant Un premier projet ISIMA, auquel je n'ai pas participé, a été réalisé en amont de mon stage. Le but de celui-ci était de concevoir un prototype d interface et de tester les possibilités au Rebeyrol Sylvain 22 août

18 niveau de la génération de code. Le prototype devait permettre de générer du code paramétré d une application pour une carte fille de type Watermark. L interface a été réalisée en Java sous Eclipse avec la bibliothèque graphique Swing. Elle est découpée en différentes fenêtres, chaque fenêtre correspondant à une étape (Figure 5). En passant d une étape à une autre, une nouvelle fenêtre s ouvre et la précédente se ferme. Figure 5. Diagrammes des différentes étapes du prototype Le code est généré au fur et à mesure que l on avance. Un dossier va être créé pour chaque carte fille dans lequel on trouvera la base du codage des cartes Watermark ainsi que les fichiers correspondant aux différents périphériques de la carte. La configuration des capteurs est écrite dans le fichier gpio.c. Ce prototype permet bien de générer du code pour les cartes Watermark, cependant il y a quelques défauts au niveau de l'ergonomie et de son fonctionnement. Par exemple, le fait de changer de fenêtre à chaque étape est perturbant. On place la fenêtre à un endroit et quand on passe à l étape suivante, la nouvelle fenêtre se trouve aux coordonnées par défaut. On ne déplace alors plus la fenêtre car elles changent assez rapidement, ce qui nous fait travailler dans le coin supérieur gauche de notre écran. De plus, les éléments d une fenêtre (bouton, case à cocher, zone de texte, etc.) ont des coordonnés absolues et non relatives. Ceci pose des problèmes d alignement et de redimensionnement, mais également de modularité. Il y a également un problème lors de la configuration des capteurs (Figure 6), il faut faire attention à bien appuyer sur le bouton «Validate» pour chaque capteur avant de faire «Next step». Il n y a pas de contrôle sur ce dernier, et on peut passer à l étape suivante sans avoir validé de configuration pour tous les capteurs. Il faut donc faire bien attention à valider Rebeyrol Sylvain 22 août

19 chaque configuration de capteur, pour éviter de générer du code avec des parties manquantes. Il est d autant plus facile d oublier de valider lorsque la carte fille n a qu un capteur. Figure 6. Fenêtre de configuration de capteur du prototype Le prototype possède également quelques limitations. Par exemple les cartes filles d une carte mère sont obligatoirement du même type, alors qu'en règle générale, si un nœud possède plusieurs cartes filles ces dernières sont de types différents. On peut également remarquer sur la Figure 5 que les étapes pour une carte connue sont quasi similaires à celles pour les autres cartes. Il aurait peut-être été préférable de trouver une solution pour fusionner ses étapes et éviter une redondance en utilisant des classes quasi similaires. Après avoir étudié ce projet, divers problèmes sont apparus pour utiliser ce prototype comme base pour l'interface. Tout d'abord, son déroulement est trop séquentiel. Les différentes étapes doivent être faites dans un ordre précis. De plus, il n est pas possible de revenir en arrière. Ceci implique que, si l on a fait une erreur lors d une étape, il faut recommencer de zéro. Il n est pas non plus possible de sauvegarder le projet que l on réalise. Il faut donc savoir précisément ce que l on veut avant de lancer l application. Un autre problème est la trop grande rigidité de ce prototype. Il n est pas évident de rajouter des éléments, comme un autre type de carte fille ou de nouveaux paramètres pour des capteurs. Cela est en partie du à une gestion des éléments graphiques en coordonnées absolues, obligeant à réadapter ces éléments à chaque ajout d un nouvel élément. Enfin, il est possible de paramétrer les cartes, mais le prototype ne possède pas de représentation graphique, permettant de mieux visualiser le nœud que l'on est en train de créer et d'ajouter ou retirer des éléments. Au vu des différents problèmes, j ai donc suivi l avis initial de mes encadrants et décidé de ne pas reprendre le prototype. Bien que je ne l'ai pas repris, je me suis tout de même inspiré du prototype pour développer l'interface. Rebeyrol Sylvain 22 août

20 II.2. Outils informatiques utilisés II.2.1. Choix du langage de programmation Il m'a fallu choisir avant tout un langage de programmation qui allait être utilisés pour développer l'interface. J'ai focalisé mon choix sur des langages orientés objet et entre deux en particulier : C++ et Java. J'ai toutefois préféré Java à C++, notamment à cause de la portabilité de Java, permettant d'utiliser une application sur de multiples systèmes d'exploitation sans avoir à la recompiler. J'ai également choisi ce langage car il possède une bibliothèque graphique en standard et qu'il existe des outils facilitant le développement d'interfaces. II.2.2. Choix d un outil de modélisation Avant de commencer la modélisation de l interface, j ai recherché un logiciel permettant de réaliser des diagrammes UML. Ce logiciel devait : - pouvoir réaliser les principaux diagrammes UML - être libre - pouvoir générer du code Java à partir de diagrammes de classe Après quelques recherches j ai sélectionné, dans un premier temps deux logiciels : Papyrus (voir Figure 7) et ArgoUML (voir Figure 8). Figure 7. Vue généraliste d ArgoUML Rebeyrol Sylvain 22 août

21 Papyrus a été développé en Java, et est basée sur Eclipse et sur le plugin UML2 d'eclipse. Il a été développé à l'origine par le Commissariat à l'energie Atomique, et est actuellement développé par Papyrus UML-Team. Il permet de générer du C++ ou du Java. ArgoUML est un logiciel conçu en Java et développé à l'origine par Jason E. Robbins. Il est maintenant un projet open source hébergé sur Tigris.org. Il permet de générer du C++, du C#, du Java, du PHP ou encore du SQL. Les points forts et faibles sont résumés dans le Tableau 1. Tableau 1. Comparatif entre Papyrus et ArgoUML UML 2 Support des classes Java Génération de diagrammes Papyrus oui non non ArgoUML non oui java Papyrus possède l'avantage de gérer l'uml 2 alors qu ArgoUML n'est qu'à UML 1.4. De nombreuses fonctionnalités d'argo UML ne sont pas finies de développer, ce qui est également un bon désavantage face à Papyrus. Par exemple, certains diagrammes ne sont pas complètement implémentés et il n est pas non plus possible d annuler ou de répéter les actions. Cependant, ArgoUML possède deux bons avantages sur Papyrus. Tout d'abord, il possède, en plus des classes de base d UML, toutes les classes de base de Java. Il offre également la possibilité de faire des constructeurs facilement. L'autre point fort d'argouml est qu'il permet de générer des diagrammes de classes à partir d un code Java, ce qui est intéressant pour réaliser le diagramme de classes final de l'application. Les deux logiciels possèdent néanmoins quelques défauts. Par exemple, dans Papyrus, il arrive fréquemment qu'il y ait des problèmes lorsque l'on sauvegarde des diagrammes. Dans ArgoUML, il arrive parfois que lorsque l'on veut supprimer un élément, il disparaisse seulement du diagramme mais ne soit pas réellement supprimé. J'ai choisi ArgoUML plutôt que Papyrus car, bien qu'il ne gère pas UML 2, le code généré est plus correct que celui de Papyrus, notamment grâce à l'intégration des classes de base de Java. Le fait qu'il puisse également générer un diagramme à partir du code est une bonne plusvalue. Rebeyrol Sylvain 22 août

22 Figure 8. Vue généraliste d ArgoUML Comme on peut le voir dans la Figure 8, la zone de gauche permet de voir les différents éléments des projets. Ici, on peut voir les différents diagrammes UML qui seront affichés dans la zone centrale. Au centre, on a le diagramme sélectionné. Il est construit à l'aide de la barre d'outils se trouvant juste au dessus. Enfin, en bas se trouve les détails de l'élément sélectionné dans le diagramme. La partie la plus intéressante est la partie propriétés. C'est dans cet onglet que l'on indiquera les informations sur les attributs et méthodes des classes. Pour les attributs, il est, par exemple, possible de choisir le nom, le type, le niveau de visibilité, la valeur par défaut ou encore si l'attribut est de classe ou d'instance. Pour les méthodes, il est possibles d'indiquer les différents paramètres ainsi que de coder l'intérieur des méthodes. Il est rare que l'on code le contenu des méthodes dans ArgoUML car cette fonctionnalité n'est pas très pratique d'utilisation. La génération du code, notamment des interfaces et des héritages, fonctionne assez bien. Le seul point gênant dans le code généré est la mauvaise gestion des template. Il n'est pas possible de les utiliser avec les classes de base de Java telle que List, et il est également difficile de créer une classe avec un template. II.2.3. Choix de la bibliothèque graphique Ne reprenant pas le prototype d interface du projet, j ai comparé les deux principales bibliothèques graphiques de Java pour déterminer laquelle utiliser. Ces deux bibliothèques sont Swing et JFace. Chacune de ces bibliothèques se reposent sur une autre bibliothèque, AWT pour Swing et SWT pour JFace. La grande différence entre Swing et JFace se trouve au niveau de Swing et SWT. Leur gestion des éléments graphiques, comme les fenêtres, les boutons, les zones de texte, ou la barre de menu est aussi différente. Rebeyrol Sylvain 22 août

23 Swing crée ses propres éléments en Java, ce qui le rend donc indépendant de l'os (Operating System, système d exploitation). SWT, de son côté, demande au système d exploitation de lui créer des éléments externes à Java et qu il gérera par la suite. De cette différence découle différents avantages et inconvénients (voir Tableau 2). Tableau 2. Comparatif entre Swing et JFace Performances Portabilité Apparence Swing Assez lourd Gestion automatique des ressources JFace Rapide et fluide Gestion manuelle des ressources Indépendant de l'os Installation de bibliothèques en fonction de l'os Indépendante de l'os Apparence similaire à celle de l'os Au niveau des performances, JFace est plus rapide que Swing car il fait appel a des composants natifs alors que Swing fait appel à des composants en Java. Cependant, dans le cas particulier de l'affichage d'un très grand nombre de données, JFace est plus lent. En effet, les données à afficher doivent systématiquement être copiées dans les composants natifs, alors qu'avec Swing, elles sont utilisées directement, sans recopie. Toutefois, le nombre d'éléments à afficher dans un composant graphique est le plus souvent modéré. Contrairement à Swing, JFace demande de gérer soit même la libération des ressources car ces dernières sont alloués par l'os et non le Java. Au niveau de la portabilité, Swing est totalement indépendant de l'os sur lequel il tourne et il fait également partie des bibliothèques de base de Java, ce qui le rend facilement utilisable et exploitable. Du côté de JFace, certaines bibliothèques sont dépendantes de l'os. Bien que les programmes utilisant JFace soient indépendants de l'os, il faudra donc installer ces librairies en fonctions de ce dernier. De plus, JFace ne fait pas partie des bibliothèques de base de Java. Enfin au niveau de l'apparence, elle ne change pas d'un OS à l'autre pour Swing tandis que pour JFace, l'apparence des programmes est similaire au système sur lequel il fonctionne. Swing permet donc d'avoir une apparence unique et personnalisable, et JFace permet de faire des applications s'intégrant mieux avec l'os. J ai commencé par développer quelques petits programmes avec JFace, car je ne connaissais pas cette bibliothèque. Après un petit temps d adaptation, JFace étant un peu déroutant au début, je l ai trouvé plus facile d'utilisation que Swing. Il m a fallu un temps d adaptation car j étais habitué à Swing et que les deux bibliothèques se ressemblent. Certaines classes portent le même nom, mais d autres non. On passe donc du temps à chercher les noms de ces classes. Il faut aussi penser à bien libérer les éléments. Enfin, chose qui m a le plus dérouté par rapport à Swing, c est que les éléments d interface sont liés à un autre dès leur création. Si l on veut par exemple ajouter un bouton dans une fenêtre, avec Swing on crée la fenêtre et le bouton, puis on ajoute le bouton à la fenêtre, ce qui est le schéma naturelle. Dans JFace, on crée la fenêtre, puis lorsqu on crée le bouton, on indique qu il se trouve dans la fenêtre, ce qui est donc le schéma inverse. Finalement, je me suis plutôt tourné vers JFace que Swing, car je l'ai trouvé plus pratique que Swing pour développer l'interface. Le nombre de données à afficher étant modéré, JFace sera Rebeyrol Sylvain 22 août

24 également plus performant que Swing. De plus, cela me permet de découvrir une nouvelle bibliothèque graphique et de ne pas me limiter à Swing. J'ai toutefois préférer étudier les RCP (Rich Client Platform) avant de faire un choix définitif sur la bibliothèque graphique. II.2.4. Utilisation d un RCP Un RCP, ou plateforme client riche en français, fournit des briques logicielles de base pour la construction d une application ainsi qu un noyau exécutif pour le faire fonctionner. Cela permet de faciliter la conception d une interface en partant d une base connue, fonctionnelle et fiable. Les RCP se basent en général sur un framework. Les principaux framework en Java sont Eclipse, NetBeans et Spring Framework, qui sont open source (code source libre). Eclipse et NetBeans sont deux environnements de développement qui ont été codé en Java pour produire des programmes en Java. Les deux mettent à disposition leur framework pour développer un RCP. Le framework de NetBeans utilise Swing pour la partie graphique tandis que celui d Eclipse utilise JFace. Devant développer mon interface sous Eclipse, j ai étudié principalement le fonctionnement de son framework pour le développement d un RCP. Développer un RCP avec le framework d Eclipe revient à faire un ou plusieurs plugins pour Eclipse. L application pourra donc fonctionner directement sous Eclipse. Mais, il est également possible de rendre l application autonome. Pour cela, Eclipse va générer une base, un noyau, auquel il va rajouter les plugins de l application. On peut voir sur la Figure 9 un exemple d interface, ici un afficheur de données géographiques, réalisé avec Eclipse RCP. Rebeyrol Sylvain 22 août

25 Figure 9. Exemple d interface développé avec Eclipse RCP Pour les applications reprenant le fonctionnement d Eclipse, l interface est basée sur des vues, éditeurs et perspectives. Les éditeurs sont regroupés dans une zone, souvent la zone central. Un éditeur correspond à un élément sur lequel on travaille. Il peut s agir de codes sources ou encore de diagrammes UML par exemple. Autour de cette zone peuvent se trouver des vues. Elles peuvent être regroupées sous forme d onglets ou séparées. Les vue contiennent des informations annexes aux éditeurs, comme un explorateur de fichier, des informations sur un fichier ou encore les valeurs des variables lors d un débogage. Enfin, les perspectives correspondent à un ensemble de vues et à leurs organisations. Une perspective correspond généralement à un type d utilisation. Dans Eclipse, les deux principales perspectives sont celles de développement et celle de débogage. La perspective de débogage va contenir des vues pour connaître des informations sur le déroulement de l exécution que n aura pas la perspective de développement Ce framework utilisant JFace et donc SWT. Il est donc dépendant du système d exploitation sur lequel il fonctionne. Cela ne concerne pas tout le framework mais seulement la portion de SWT qui est spécifique à un système. Le code de notre application est donc indépendant du système mais il se repose sur un framework qui ne l est pas. Pour faciliter la diffusion de l application, Eclipse permet d exporter l application vers n importe lequel des systèmes d exploitation où Eclipse est compatible. Eclipse créera un dossier comprenant les plugins de notre application ainsi que les plugins du framework qu on utilise, comprenant la version adaptée au système d exploitation de SWT, le noyau du framework et un fichier permettant de démarrer l application, qui est généré en fonction du système d exploitation cible. Rebeyrol Sylvain 22 août

26 J ai finalement choisi de faire un RCP à l aide du framework d Eclipse, car cela me permettrait de développer plus rapidement l interface, notamment grâce aux concepts d'éditeurs et de vues. Il serait alors possible d'afficher facilement une représentation graphique ainsi que les paramètres dans la même fenêtre. J ai également choisi celui d Eclipse à cause de sa notion de plugin, permettant de rajouter facilement des modules à une application, mais également d'utiliser l'application directement au sein d'eclipse. Au niveau de la bibliothèque graphique, cela concordé de plus avec mon choix initial. Rebeyrol Sylvain 22 août

27 III. MODELISATION DE L INTERFACE III.1. Déroulement de son utilisation J ai tout d'abord repéré les différentes actions qu un utilisateur voudra faire. Cela m a permis de construire un diagramme de cas d utilisation (Figure 10). Figure 10. Diagramme de cas d'utilisation de l'application Ce diagramme est assez simple et ne comporte qu'un acteur. Au niveau des cas d'utilisation, l'utilisateur peut créer, configurer ou supprimer un nœud, ajouter un élément, que ça soit une carte mère, une carte fille, ou un protocole ou un capteur. Il peut également créer un profil de carte fille. Enfin, l'utilisateur peut générer le code du nœud qu'il a créé. A partir de ce diagramme, j'ai défini les différentes étapes pour créer un nœud, et j ai établi un diagramme d activité (Figure 11), indiquant le déroulement logique des différentes étapes. Rebeyrol Sylvain 22 août

28 Figure 11. Diagramme d activité de l'application Dans un premier temps, l utilisateur crée et configure un nœud puis carte mère. Ensuite pour les cartes filles, il peut soit décider d utiliser une carte fille existante, soit créer un nouveau profil, où il indiquera les capteurs qu elle possède ainsi que certains paramètres. Il configurera ensuite la carte fille pour le nœud qu il réalise. Enfin, une fois que toutes les cartes filles sont ajoutées et configurées, il générera le code. Bien entendu, le diagramme d'activité montre le déroulement théorique du programme. En réalité, l'utilisateur pourra configurer les éléments quand il le souhaite ou encore pourra créer un profil sans l'utiliser dans le nœud. III.2. Diagrammes de classes de l application A partir du diagramme d activité et de l'étude du prototype, j'ai tout d'abord réalisé les différents packages de l'application. Un diagramme de classes a été réalisé pour chaque package. Le tout premier package est le package «data» (Figure 12 et Annexe I), qui regroupent les différentes données d'un projet ainsi qu'une interface, IData, que les différentes classes de ce package vont implémenter. Ces classes sont Project, Node, MotherBoard, ChildBoard, Link et Sensor, correspondantes respectivement à un projet, un nœud, une carte mère, une carte fille, un protocole de communication et un capteur. Il y a également un autre package dans data, intitulé «profile», et contenant les classe ChildBoardP, LinkP et SensorP. Les classes de ce package correspondent à un profil (ou modèle) d'élément. Par exemple, une carte fille seule correspond à un ChildBoardP, tandis que cette même carte intégrée dans un nœud correspondra à un ChildBoard et contiendra des informations supplémentaires. Ces éléments ne sont donc pas dépendants du nœud et peuvent être réutilisés d'un projet à l'autre. Un projet contient donc un nœud, qui contient une carte mère. Cette carte mère dialogue avec les cartes filles via des protocoles de communication et chacune d elles est définit à partir d un modèle de carte fille, et contient des capteurs et les librairies de traitement. Les modèles de carte filles contiennent des modèles de capteurs. Rebeyrol Sylvain 22 août

29 Prenons l exemple d un nœud possédant des cartes filles Watermark. La carte mère dialoguera avec les cartes filles via le protocole de communication I²C, et chacune d elles est définit à partir du modèle de carte Watermark. Ce modèle comporte trois capteurs de type Watermark et possèdent des librairies de traitement permettant de gérer la carte fille et ses capteurs. Figure 12. Version simplifiée du diagramme de classes du package «data» Un deuxième package important est «io» (Figure 13 et Annexe II), comprenant les classes permettant de gérer les entrées/sorties. Il contient les classes ProjectFile, ChildBoardFile, LinkFile et SensorFile qui permettent respectivement de charger et de sauvegarder un projet, un modèle de carte fille, un modèle de protocole de communication ou un modèle de capteur dans un fichier texte. Il y a également la classe Generator, permettant de générer le code source du nœud. Figure 13. Version simplifiée du diagramme de classes du package «io» Rebeyrol Sylvain 22 août

30 Un troisième package, nommé «ui» (Figure 14), regroupe toutes les classes permettant de réaliser l'interface graphique de l'application. Il y a dedans six packages : «perspectives», «views» (Annexe III), «viewers», «editors» (Annexe IV), «input» et «actions» qui contiennent respectivement les perspectives, les vues, les visionneuses, les éditeurs, les types d entrées des éditeurs et les actions. Les classes de ces packages sont les différentes classes permettant de faire un RCP à l'aide du framework d'eclipse. Le package «ui» contient également un autre package, «forms». Ce dernier contient différentes classes implémentant l'interface Iform, se trouvant dans ce même package. Ces classes servent à représenter graphiquement les instances des classes du package «data». Il y a les classes NodeForm, MotherBoardForm, ChildBoardForm, LinkForm, ProfileForm et SensorForm, permettant de représenter un nœud, une carte mère une carte fille, un protocole de communication ou un capteur. Le package contient, pour finir, l interface DrawableData qui est implémentée par les classes du package «data» possédant une représentation graphique comme les nœuds, les capteurs, etc. Figure 14. Version simplifiée du diagramme de classes du package «ui» Enfin, il y a trois autres packages mineurs : - «historic», regroupant les différentes classes servant à créer un historique, pour pouvoir annuler ou répéter des actions. Il contient la classe Historic permettant de constituer un historique d'actions, ainsi que des classes d'actions implémentant l'interface IHistoricAction. Ces classes sont CreateAction, DeleteAction et MoveAction. - «models», contenant une classe générique Model, et trois autres classes héritant de ChildBoardModel, LinkModel et SensorModel. Ces classes permettent de lister tous les Rebeyrol Sylvain 22 août

31 types de cartes filles, protocoles et capteurs existants, correspondant à des instances des classes ChildBoardP, LinkP et SensorP. - «util», regroupant les classes IOFunction, LineReader et LineWriter. IOFunction et contenant les fonctions utiles pour la gestion des fichiers, comme la création d un dossier, la copie d un fichier ou encore la copie d un dossier. LineReader et LineWriter servent à lire et écrire ligne par ligne dans un fichier texte. Cinq classes se trouvent également à la racine de l'application. Ces classes sont celles de base, générées par Eclipse, pour faire un RCP. Ce sont les premières classes de l'application à être utilisées et permettent de créer la fenêtre, ainsi que la barre de menu et les raccourcis. III.3. Découpage en vues Pour pouvoir représenter le nœud et le paramétrer, des vues, correspondant à différents niveaux de zoom sur le nœud, ont été définies. Elles permettent de mieux visualiser la partie du nœud sur laquelle on travaille. La première vue correspond au nœud vu de l extérieur (Figure 15). Celle-ci permet de paramétrer le nœud au niveau de son intégration au réseau, comme par exemple l'activation d'un DHCP (Dynamic Host Configuration Protocol) ou l adresse IP (Internet Protocol) du nœud, la passerelle de communication et l'identifiant du réseau auquel il appartient. Figure 15. Vue externe du nœud La deuxième vue est interne au nœud (Figure 16). Elle représente donc la carte mère, les cartes fille ainsi que le ou les protocole(s) de communication entre la carte mère et chaque carte fille. Ici, on pourra paramétrer les fréquences d'envoi, la calibration des capteurs ainsi que tous les paramètres spécifiques relatifs à la carte mère et aux cartes filles. Rebeyrol Sylvain 22 août

32 Figure 16. Vue interne du nœud La dernière vue représente l'intérieur d'une carte fille (Figure 17). Cette vue schématise la carte fille et ses capteurs. Dans cette vue, on représente graphiquement un profil de carte fille avec l'ensemble des éléments la constituant. On retrouve les capteurs avec leurs librairies respectives ainsi que la définition du protocole de communication avec la carte mère. Les paramètres que l'on trouve ici, sont indépendants de la carte mère, et du nœud. Figure 17. Vue interne de la carte fille Rebeyrol Sylvain 22 août

33 IV. DEVELOPPEMENT DE L APPLICATION Deux grandes parties se distinguent dans l application. D un côté le cœur de l application, gérant les différents éléments et paramètres d un nœud ainsi que la génération du code, et de l autre nous avons l interface vue par l utilisateur permettant de communiquer avec le cœur. IV.1. Cœur de l application IV.1.1. Données et ressources Comme nous l'avons vu dans le diagramme de classe classes (voir paragraphe III.2, Figure 12), il y a neuf types de données qui sont associées à neuf classes : Project, Node, MotherBoard, ChildBoard, Link, Sensor, ChildBoardP, LinkP et SensorP. Ces données sont : un projet, un nœud, une carte mère, une carte fille, un capteur, un protocole de communication, un modèle de carte fille, un modèle de capteur et un modèle de protocole de communication. Ces données sont identifiées par des noms uniques. Comme nous l'avons vu, les trois dernières classes, correspondant à des profils, peuvent être réutilisées. Il faut donc pouvoir les enregistrer et les charger. Cela sera réalisé à l'aide des classes ChildBoardFile, SensorFile et LinkFile. Les données sont sauvegardées sous forme de fichier texte où chaque ligne correspond à une valeur d une variable. Elles seront chargées au démarrage de l application. Les profils possèdent tous un nom ainsi que le chemin d'accès à la bibliothèque associée à la carte fille, capteur ou protocole. Les capteurs et protocoles possèdent également le nom du fichier à inclure dans le code de la carte fille. Par exemple pour un capteur Watermark, le chemin d'accès sera «/bibliotheques/capteurs/watermark/», contenant les fichiers watermark.c et watermark.h. Le fichier à inclure sera watermark.h, et on écrira donc #include «watermark.h» dans le code de la carte fille. Pour la carte fille, elle contient le chemin des différents fichiers correspondant aux modèles de capteurs qui la compose (Tableau 3). Nom de la carte Tableau 3. Formatage d'un fichier de carte fille Carte Watermark Chemin de la bibliothèque de la carte /bibliotheques/cartes filles/watermark/ Chemin du fichier du capteur 1 Chemin du fichier du capteur 2 /ressources/capteurs/watermark.sen /ressources/capteurs/watermark.sen Les six autres classes représentent les éléments d un projet. La classe ProjectFile permet d enregistrer ou charger un projet, en faisant étape par étape, pour chaque élément (Annexe V). Les projets sont également sauvegardés sous forme de fichiers texte formatés de la même manière que les précédents (Tableau 4). Les fichiers du projet pourront être chargés à n'importe quel moment de l exécution du programme. Rebeyrol Sylvain 22 août

34 Les objets ChildBoard, Sensor et Link sont rattachés à un modèle. Au niveau du fichier de projet, cela ce traduit par le nom du profil. Tableau 4. Exemple de formatage d'un fichier de projet Identifiant du projet Test Identifiant du nœud Adresse IP si on n utilise pas de DHCP, sinon null Caractéristiques de la représentation graphique du nœud Identifiant de la carte mère Fréquence de la carte mère 10 Caractéristiques de la représentation graphique de la carte mère Identifiant de la carte fille 1 Etat de la carte fille 1 0 Adresse de la carte fille 1 Caractéristiques de la représentation graphique de la carte fille 1 Identifiant du profil de la carte fille 1 Identifiant du protocole 1 de la carte fille 1 Caractéristiques de sa représentation graphique Identifiant du capteur 1 de la carte fille 1 Identifiant du profil du capteur 1 de la carte fille 1 Etat du capteur 1 de la carte fille 1 1 Fréquence du capteur 1 de la carte fille 1 2 Statut du capteur 1 de la carte fille 1 3 Pin d'alimentation du capteur 1 de la carte fille 1 Pin de transmission du capteur 1 de la carte fille 1 Canal du capteur 1 de la carte fille 1 10 Type de canal du capteur 1 de la carte fille 1 Nœud null 89;60;100;60 Carte mère 30;109;100;60 Carte Watermark 0x67 211;72;77;51 Carte Watermark I2C 211;99;132;138 Watermark Watermark Rebeyrol Sylvain 22 août

35 IV.1.2. Génération de code Une fois que le nœud a été paramétré, on passe à l'étape de génération du code associé. Cette étape consiste à insérer les paramètres dans un squelette de code plus ou moins complet. On ne traite ici que de la génération des cartes filles, pas celle de la carte mère et du nœu. Pour générer entièrement le nœud, il faudrait générer les cartes filles et la carte mère. Lors de la génération, un dossier sera créé et portera le nom du nœud. A l intérieur, se trouveront les dossiers des cartes filles, dans lesquels il y aura d autres dossiers séparant les différentes parties du code, comme le squelette, les protocoles de communication ou encore les capteurs. En fonction des éléments qui composent la carte fille, différents fichiers seront copiés dans les dossiers. Enfin, au niveau du squelette du code, les paramètres de la carte fille seront écrits. Les principaux paramètres de la carte fille se feront dans la fonction Init_cfg_global du fichier config.c, tandis que les paramètres des capteurs (Annexe VI) qui la composent se feront dans la fonction Init_cfg_sensors du même fichier (Figure 18). Il faut également inclure les fichiers dont la carte fille a besoin dans le fichier include_lib.h. Ces fichiers sont ceux des protocoles de communication et des bibliothèques associées aux capteurs. Pour écrire le code au niveau du squelette, le fichier config.c est copié dans un fichier temporaire puis il va être recopié au fur et à mesure. On écrit les paramètres lorsque l on arrive au niveau où l on doit les insérer, puis on continue de recopier le fichier temporaire. Une fois que l on a fini, il ne reste plus qu à fermer le fichier temporaire, qui sera alors supprimer, et à fermer config.c qui contiendra alors les paramètres de la carte fille. void Init_cfg_global() { cfg_global.state = 0; cfg_global.address = 0x67; cfg_global.nb_sensors = 3; } void Init_cfg_sensors() { cfg[0].state = UNKNOWN_STATE; cfg[0].alim = 11; cfg[0].pin = 22; cfg[0].channel = 10; cfg[0].channel_type = IO_TYPE; cfg[0].sensor_cfg.id = 0; cfg[0].sensor_cfg.type = WATERMARK_SENSOR_TYPE; cfg[0].sensor_cfg.status = NORMAL_SENSOR_STATE; cfg[0].sensor_cfg.freq = 300; } cfg[1].state = UNKNOWN_STATE; cfg[1].alim = 13; cfg[1].pin = 24; cfg[1].channel = 12; cfg[1].channel_type = IO_TYPE; cfg[1].sensor_cfg.id = 1; cfg[1].sensor_cfg.type = WATERMARK_SENSOR_TYPE; cfg[1].sensor_cfg.status = NORMAL_SENSOR_STATE; cfg[1].sensor_cfg.freq = 300; Figure 18. Exemple du code générer Rebeyrol Sylvain 22 août

36 IV.2. Interface IV.2.1. Création d une interface avec Eclipse RCP Un plugin d Eclipse permet d utiliser facilement le framework d Eclipse, mais il n est pas dans tous les packs d Eclipse. Il sert en réalité à faire des plugins qui pourront être ou non des RCPs. Avant de créer l interface, il faut d abord créer un projet de plugin dans notre cas. On peut préciser la cible sur laquelle est destinée le plugin, comme par exemple une certaine version d Eclipse. Le nom d un plugin Java est en général construit de la même manière que les packages. Dans le cas présent, le plugin a été nommé «com.cemagref.interface». Il faut ensuite donner quelques informations supplémentaires sur le plugin comme son identifiant, la version que l on réalise ou encore la version de Java qu il utilise. Ces paramètres seront modifiables par la suite. On nous demande également si l on veut créer un RCP ce qui est notre cas. Enfin avant de finir la création du projet, on peut choisir un modèle de RCP. Cinq classes ainsi que des fichiers sur le plugin sont alors générés. Ces cinq classes sont : - Activator, qui sert à activer le plugin, - Application, qui sera appelée lorsque la classe s activera ou se désactivera, - ApplicationActionBarAdvisor, regroupant toutes les actions, qui sont généralement utilisées par un raccourci ou dans la barre de menu, et permettant de construire une barre de menu, - ApplicationWorkbenchAdvisor, qui créera l espace de travail - ApplicationWorkbenchWindowAdvisor, qui créera et remplira la fenêtre Seules les classes ApplicationActionBarAdvisor et ApplicationWorkbenchWindow Advisor peuvent avoir besoin d être complétées. En essayant d ouvrir le fichier XML ou le manifeste du plugin, un onglet s ouvre et regroupe les principales informations et caractéristiques du plugin. On peut voir et modifier les dépendances de notre plugin, mais aussi indiquer quels packages seront visibles, les éléments et ressources du projet qui doivent être incluses. La partie la plus intéressante est celle traitant des extensions du plugin (Figure 19). Depuis cet onglet, il est possible de concevoir le squelette de l interface sans effort de programmation. Bien entendu il est toujours possible de réécrire ces éléments. Chaque extension permet d ajouter un type d élément dans l application. Par exemple l extension org.eclipse.ui.views permet de créer des vues, tandis que l extension org.eclipse.ui.bindings permet de définir des raccourcis clavier. Dans la partie de droite, on indiquera les détails de l élément sélectionné. Par exemple pour une vue, différents paramètres tels que l identifiant de la vue, le nom de la vue et la classe associée à la vue pourront être renseignés. Rebeyrol Sylvain 22 août

37 Figure 19. Onglet d'extension du plugin L interface de l application utilise les extensions suivantes : - org.eclipse.core.runtime.products, regroupant les informations utilisées si on rend le plugin autonome ; - org.eclipse.core.runtime.application, servant à indiquer la classe principale de l application ; - org.eclipse.ui.perspectives, permettant de créer des perspectives; - org.eclipse.ui.perspectiveextensions, indiquant les vues que contiennent les perspectives; - org.eclipse.ui.views, gérant les vues; - org.eclipse.ui.editors, permettant de créer des éditeurs; - org.eclipse.ui.commands, regroupant des commandes; - org.eclipse.ui.bindings, permettant de créer des raccourcis clavier, chaque raccourci étant associé à une commande. Une fois les extensions créées il faut remplir les classes associées. La plupart de ces classes possèdent un identifiant unique pour que le noyau d'eclipse puisse aller chercher leurs différents éléments. Une vue, par exemple, ne peut apparaître qu une fois dans une perspective, ce qui fait que la classe associée à la vue ne sera jamais instanciée plus d une fois simultanément. Dans le cas des éditeurs, il y a un double identifiant. L identifiant du type d éditeur et l identifiant des données en entrée de l éditeur. Il est donc possible d'instancier plusieurs fois un éditeur, du moment que les données en entrée sont différentes. Par exemple, si on a un diagramme UML codé en XML, on pourra l'ouvrir avec un éditeur XML et UML en même temps, l'un affichant le XML et l'autre le diagramme, mais il n'est pas possible d'ouvrir deux fois le fichier avec l'éditeur XML. Rebeyrol Sylvain 22 août

38 IV.2.2. Principales parties de l interface Comme nous le montre la Figure 20, l interface est découpée en quatre parties : l explorateur à gauche, les listes des ressources à droite, une zone pour le paramétrage en bas et l éditeur graphique, au centre. Les trois premières parties contiennent des vues, tandis que la dernière contient les éditeurs. Figure 20. Vision globale de l'interface Les vues se reposent sur des viewers, c est-à-dire sur une classe qui va permettre de visualiser les données passées en entrée à la vue. Par exemple, un TreeViewer va permettre d'afficher les données sous la forme d'une arborescence. La vue va également avoir besoin de savoir comment nommer les objets fournis par le viewer. Les éditeurs permettent de modifier un type de donnée. Un éditeur XML permettra de modifier des fichiers XML, tandis qu'un éditeur de carte fille permettra de modifier une carte fille. Les éditeurs sont donc fortement liés aux données passées en entrée. Eclipse a intégré une gestion de sauvegarde au niveau des éditeurs pour sauvegarder les modifications effectués. Il n y a que quatre méthodes à remplir pour gérer la sauvegarde des fichiers d un éditeur : - issaveasallowed, qui permet d indiquer si l éditeur est autorisé à sauvegarder ; - isdirty, qui permet de savoir si le fichier a été modifié depuis la dernière sauvegarde ; - dosave et dosaveas, qui sont appelées lorsque l on veut sauvegarder. Rebeyrol Sylvain 22 août

39 IV.2.2.a. Explorateur L explorateur permet de voir les différents projets ouverts ainsi que les éléments d un projet, comme le nœud et les cartes filles. Une structure en arborescence a donc été choisie comme dans la plupart des explorateurs de fichiers. Le viewer utilisé a donc été un objet de type TreeViewer, permettant de visualiser les données sous forme d arbre. Il a besoin d une autre classe, implémentant l interface ITreeContentProvider, lui indiquant comment construire l arbre à partir des données en entrée, à l aide de quatre méthodes : - getelements, permettant de récupérer les éléments de l arborescence à partir d une entrée sous forme de tableau ; - haschildren (Annexe VII), permettant de savoir si un élément possède un fils ; - getchildren (Annexe VIII), indiquant la manière de récupérer les fils d un élément ; - getparent, indiquant la manière de récupérer le père d un l élément. Si haschildren retourne vrai, le symbole «+» apparaitra à côté de l élément. Lorsque l on clique dessus, la méthode getchildren sera alors appelée. Il n est pas obligatoire de remplir la méthode getparent pour pouvoir créer l arborescence. En double cliquant sur un élément, il est possible de déclencher un événement. Ici, un double clic sur un élément permet d ouvrir l éditeur associé à cet élément. Il n est possible d ouvrir un éditeur qu en double cliquant sur un projet, un nœud ou une carte fille. IV.2.2.b. Listes des ressources Cette zone permet de lister les éléments qui peuvent être rajoutés au projet, c est-à-dire les cartes filles, les protocoles de communication et les capteurs. Pour cela, on utilise trois vues similaires regroupées en onglets, chaque vue correspondant à un type de ressource. Vu que l on a besoin de lister des éléments, le viewer utilisé ici est un ListViewer. Pour ajouter un élément d une des listes dans le projet, il faut sélectionner l élément puis le dessiner dans l éditeur. Bien entendu, il n est pas possible de créer n importe quel élément n importe où. Les cartes filles et les protocoles de communication ne pourront être insérées seulement lorsque l on concevra l intérieur d un nœud, et les capteurs ne pourront être ajoutés que lors de la conception de l intérieur d une carte fille. Il est possible d ajouter des éléments dans les listes. En réalité, à chaque fois que l on enregistre l un de ces éléments, une nouvelle entrée est créée. Par exemple, si j ajoute une carte fille existante dans un projet et que je modifie sa composition puis la sauvegarde, le profil d origine ne sera pas modifié mais, par contre, un nouveau sera créé et listé. IV.2.2.c. Vue pour le paramétrage Cette vue permet de voir les paramètres du ou des éléments sélectionnés dans l éditeur actif. Le mieux pour afficher ces paramètres est de les organiser sous forme de tableau où chaque ligne correspond à un paramètre de l élément sélectionné. La première colonne contenant l intitulé du paramètre et la deuxième contenant le paramètre. Eclipse offre bien la possibilité de faire des tableaux mais leur gestion n est pas prévue pour cette forme d affichage. Les tableaux sont prévus pour avoir une entrée par ligne et non par colonne comme on l aurait souhaité. La première ligne contient donc l intitulé des paramètres et la seconde ligne contient les paramètres. Le viewer utilisé pour faire un tableau est un ParameterViewer, que j ai écrit et qui hérite de la classe TableViewer. C est le viewer qui va créer le tableau et déterminer le nombre de Rebeyrol Sylvain 22 août

40 colonnes. Chacune de ces colonnes sera associée à un TableViewerColumn qui permettra de visualiser les cases d une colonne en fonction de l entrée. Ils s appuient sur une instance de la classe DataEditingSupport, héritée de l objet EditingSupport servant à remplir une cellule. Dans cette classe, j implémente quatre méthodes principales : - getcelleditor, déterminant le type d éditeur de cellule ; - canedit, vérifiant si une cellule est modifiable ; - getvalue, permettant de récupérer la valeur utilisée par l éditeur de cellule ; - setvalue, permettant de modifier la valeur utilisée par l éditeur de cellule. Ces méthodes ont toutes comme paramètre l élément qui est en entrée de la ligne actuelle. Il existe différents types d éditeurs de cellule. Cela peut être une zone de texte ou une liste déroulante par exemple. La valeur récupérée par getvalue peut-être différente de celle affichée. Par exemple si l éditeur de cellule est une liste déroulante, la valeur attendue est le numéro de l élément dans la liste et non l intitulé. Les éléments sélectionnés étant différent, la barre de titre du tableau n'est pas utilisable. Si une carte mère et une carte fille sont sélectionnées, les intitulés ne peuvent être utilisés comme barre de titre car il ne correspondrait pas à tous les éléments sélectionnés. Les intitulés sont donc insérés dans le tableau à chaque type d élément sélectionné, les éléments étant triés par type. IV.2.2.d. Editeur graphique Les éditeurs de l interface sont basés sur les «vues» évoquées dans la partie III.3. Il y en a donc trois : nœud, carte mère/cartes filles et carte fille/capteurs. Ces éditeurs sont ouverts à partir de l explorateur de projet. En double cliquant sur un projet, on ouvre l éditeur représentant le nœud. En le faisant sur un nœud, on ouvrira l éditeur représentant l intérieur d un nœud avec sa carte mère et ses cartes filles. Et enfin, en le faisant sur une carte fille, on ouvrira l éditeur représentant l intérieur d une carte fille, c est-à-dire celle-ci ainsi que ses capteurs. L élément passé en entrée de ces éditeurs est l objet sur lequel on a double cliqué. Ces éditeurs sont constitués d un canevas sur lequel sera dessiné le schéma. Un écouteur d événements est associé à ce canevas. Ces éditeurs ont deux modes de fonctionnement. Ils peuvent être soit en mode «dessin», soit en mode «déplacement». Dans le mode «dessin», il est possible d ajouter des éléments. Pour cela, il faut avoir au préalable sélectionné l élément à insérer puis le dessiner en cliquant puis en tirant tout en maintenant enfoncé le bouton de la souris. L élément sera créé en relâchant le bouton. Dans le mode «déplacement», il est possible de sélectionner un ou plusieurs éléments. Seuls les éléments qui sont inclus dans la zone de sélections seront sélectionnés. Il est ensuite possible de déplacer les éléments sélectionnés ou de les supprimer. Lorsque l on modifie le nom d un élément sans les paramètres, le nom est mis à jour dans l éditeur et dans l explorateur de projet. Lorsqu un élément est ajouté ou supprimé, l explorateur de projet est également mis à jour. A chaque éditeur est également associé un historique. Cet historique permet d annuler ou répéter les actions que l on a faites dans l éditeur, c est-à-dire créer, déplacer ou supprimer un élément. Il permet également de déterminer si la sauvegarde est à jour ou non. Rebeyrol Sylvain 22 août

41 IV.2.3. Exporter le RCP Un fois l application terminée, il reste encore à récupérer le plugin ou la version autonome. Pour exporter le plugin, il suffit de cliquer sur exporter dans la partie Overview de la fenêtre contenant les extensions du plugin, que nous avions vue précédemment. Mais si l on veut réaliser une application autonome, cela demande plus de temps. Il faut tout d abord créer un nouveau fichier de configuration de produit. Ce fichier correspond donc à une application autonome. Il faudra indiquer tout d abord le nom du produit ainsi que sa version. Il faudra ensuite indiquer la classe «application» qui sera la première classe appelée. Ici, cette classe est la classe Application de mon plugin com.cemagref.interface. Il faut ensuite préciser les plugins à inclure. Il suffit ici de sélectionner mon plugin, puis d appuyer sur «Ajouter les plugins requis» pour ajouter automatiquement les plugins dont dépend le mien. Il est ensuite possible de déterminer les autres plugins à démarrer en plus du principal, ce qui n est pas le cas ici. Il y a enfin quelques autres options, comme la possibilité d associer une icône à l application ou encore de remplir la fenêtre «A propos de» que propose Eclipse. Après avoir fini le paramétrage de l application, il est enfin possible d exporter l application. Rebeyrol Sylvain 22 août

42 V. PREMIERE UTILISATION DE L APPLICATION V.1. Test de l interface Une fois le développement de l interface terminé, j ai effectué des tests pour vérifier son bon fonctionnement et corriger des bogues. Il y a eu des tests mineurs, tel que la vérification des raccourcis ou le bon affichage des schémas. Des tests plus importants ont été réalisés sur les fichiers de projet. Il a fallu vérifier que la sauvegarde s effectue correctement. Pour le chargement, il fallait supporter un fichier tronqué, et traité le cas où un projet fait référence à un profil de carte fille inexistant dans l interface. Il a fallu ensuite tester l arborescence, qui est assez fragile. Il faut bien sécuriser les fonctions déterminant si un élément possède un fils et permettant de récupérer ses fils. Si un problème survient dans ces fonctions, l arborescence peut afficher des fils invisibles, être tronquée ou aboutir à une boucle infinie, avec un élément qui est son propre fils. Pour le cas particulier d une référence à un profil inexistant, la carte fille apparait bien dans l arborescence, mais il faut vérifier qu on ne puisse pas l ouvrir, car sinon le programme bogue. Les fichiers de profil ont des tests similaires, il faut vérifier que les fichiers sont correctement sauvegardés, et pouvoir charger des fichiers tronqués. Il faut également gérer le cas où deux profils portent le même nom. Pour la génération de code, j ai testé que le code puisse être générer même si des informations manquent, comme l état d un capteur ou encore les bibliothèques associées à ce dernier. Enfin j ai effectué beaucoup de tests au niveau des entrées de l utilisateur pour les paramètres. Par exemple, vérifier que la fréquence du capteur est bien un entier ou que l adresse du nœud est bien en hexadécimale. V.2. Réalisation d un nœud Voici un exemple d utilisation de l application pour réaliser un nœud. Au lancement de l'application, les profils sont chargés. Dans notre exemple, on charge le protocole I²C et le capteur Watermark, ce qui va créer un LinkP et un SensorP. Ces profils sont ajoutés dans les listes de la partie droite de la fenêtre. Un fois ceci fait, il nous faut créer un nouveau projet, que l on nomme Test. Le fichier «Test.pjt» sera créer, et contiendra toutes les données du projet. Un nœud et une carte mère sont ajoutés automatiquement dans le projet (Figure 21). De là, on ouvrira le schéma du projet et du nœud pour paramétrer le nœud et la carte mère, en indiquant par exemple que le nœud utilise un DHCP. Notre projet contient à cet instant un Project, un Node et un MotherBoard. Rebeyrol Sylvain 22 août

43 Figure 21. Création du projet Test Il n'y a pas le profil de carte fille que l'on souhaite et on doit donc crée un nouveau profil de carte fille. Pour cela, on sélectionne «Nouvelle Carte Fille» dans la partie de droite, ce qui ouvrira un nouveau schéma contenant une carte fille, et créera une nouvelle instance de ChilBoardP. On ajoute à ce schéma deux capteurs «Watermark». En comparant la Figure 22 et la Figure 17, on remarque bien que le schéma du profil correspond bien à la vue interne de la carte fille. Après avoir indiqué où sont localisées les bibliothèques de la carte fille, on nomme ce profil «Carte Watermark» et on sauvegarde dans le fichier «Carte Watermark.chb». Cela va valider le profil de carte fille et il va alors être intégré dans la liste des profils disponibles. Rebeyrol Sylvain 22 août

44 Figure 22. Création du profil Carte Watermark Dans le schéma du nœud, on va ajouter une carte fille en sélectionnant le profil que l on vient de créer. Cela va ajouter un ChildBoard et deux Sensor au projet. On lie ensuite la carte mère et la carte fille ajoutant une communication I²C, ajoutant un Link à la carte fille. Enfin, on sélectionne la carte fille pour la paramétrer. On remarque également ici en comparant la Figure 23 et la Figure 16 que le schéma ressemble bien à la vue interne du nœud. Figure 23. Configuration de la carte fille Rebeyrol Sylvain 22 août

ECLIPSE. Une courte introduction

ECLIPSE. Une courte introduction Laboratoire d'analyse et d'architecture des Systèmes ECLIPSE Une courte introduction Résumé: Quelques notions de bases sont rapidement décrites. Mots clés: Eclipse, Version, Exemples, IDE, Plug-ins, Rich

Plus en détail

Spring IDE. Mise en œuvre. Eclipse

Spring IDE. Mise en œuvre. Eclipse A Spring IDE Bien que Spring mette à disposition d intéressants mécanismes afin d améliorer l architecture des applications Java EE en se fondant sur l injection de dépendances et la programmation orientée

Plus en détail

Introduction à Eclipse

Introduction à Eclipse Introduction à Eclipse Eclipse IDE est un environnement de développement intégré libre (le terme Eclipse désigne également le projet correspondant, lancé par IBM) extensible, universel et polyvalent, permettant

Plus en détail

Systèmes d exploitation

Systèmes d exploitation Systèmes d exploitation Un système d exploitation (SE, en anglais Operating System ou OS) est un ensemble de programmes responsables de la liaison entre les ressources matérielles d un ordinateur et les

Plus en détail

Introduction à l Interaction Homme-Machine Tutoriel Visual Studio / Visual Basic

Introduction à l Interaction Homme-Machine Tutoriel Visual Studio / Visual Basic IUT d Orsay Première Année Introduction à l Interaction Homme-Machine Février 2014 Introduction à l Interaction Homme-Machine Tutoriel Visual Studio / Visual Basic Cette introduction à Visual Studio est

Plus en détail

2- Téléchargement et installation version actuelle 6.1

2- Téléchargement et installation version actuelle 6.1 1- EDI NetBeans (Environnement : Microsoft Windows Linux Ubuntu) EDI, Environnement de Développement Intégré Anglais : IDE, Integrated Development Environment Programme regroupant : Un éditeur de texte

Plus en détail

Qu est ce que l environnement Eclipse?

Qu est ce que l environnement Eclipse? Qu est ce que l environnement Eclipse? Bernard DAUTREVAUX Directeur formation et conseil Acsys www.ac6-formation.com Pour en savoir plus: nos formations Eclipse +33 (0)1 41 16 80 10 Page 0 assistance conseil

Plus en détail

Conception et réalisation d'un capteur sans fil évolutif pour l'acquisition de données agrienvironnementales

Conception et réalisation d'un capteur sans fil évolutif pour l'acquisition de données agrienvironnementales Institut Supérieur d Informatique de Modélisation et de leurs Applications Complexe des Cézeaux BP 10125 63173 Aubière Cedex Institut de recherche pour l'ingénierie de l'agriculture et de l'environnement

Plus en détail

Java 7 Les fondamentaux du langage Java

Java 7 Les fondamentaux du langage Java 184 Java 7 Les fondamentaux du langage Java 1.1 Les bibliothèques graphiques Le langage Java propose deux bibliothèques dédiées à la conception d'interfaces graphiques. La bibliothèque AWT et la bibliothèque

Plus en détail

Installation et paramétrage. Accès aux modèles, autotextes et clip- art partagés

Installation et paramétrage. Accès aux modèles, autotextes et clip- art partagés DSI Documentation utilisateurs Installation et paramétrage Accès aux modèles, autotextes et clip- art partagés Auteur : Yves Crausaz Date : 21 septembre 2006 Version : 1.04 Glossaire OOo : Abréviation

Plus en détail

BIRT (Business Intelligence and Reporting Tools)

BIRT (Business Intelligence and Reporting Tools) BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»

Plus en détail

Alfresco Guide Utilisateur

Alfresco Guide Utilisateur Alfresco Guide Utilisateur ATELIER TECHNIQUE DES ESPACES NATURELS - 1 Table des matières Alfresco Guide Utilisateur...1 Accéder à la GED de l'aten...3 Via un client FTP...3 Onglet Général...3 Onglet Avancé...3

Plus en détail

2010 Ing. Punzenberger COPA-DATA GmbH. Tous droits réservés.

2010 Ing. Punzenberger COPA-DATA GmbH. Tous droits réservés. 2010 Ing. Punzenberger COPA-DATA GmbH Tous droits réservés. La distribution et/ou reproduction de ce document ou partie de ce document sous n'importe quelle forme n'est autorisée qu'avec la permission

Plus en détail

BUREAU D ETUDES INFORMATIQUE JOUEUR DE PUISSANCE 4

BUREAU D ETUDES INFORMATIQUE JOUEUR DE PUISSANCE 4 MIETLICKI Pascal 3 MIC C2 BUREAU D ETUDES INFORMATIQUE JOUEUR DE PUISSANCE 4 1. Mode Console... 2 2. Mode Graphique... 2 3. Architecture de notre logiciel... 3 4. Manuel d utilisation... 5 5. Aide au joueur...

Plus en détail

Tobii Communicator 4. Guide de démarrage

Tobii Communicator 4. Guide de démarrage Tobii Communicator 4 Guide de démarrage BIENVENUE DANS TOBII COMMUNICATOR 4 Tobii Communicator 4 permet aux personnes souffrant de handicaps physiques ou de communication d'utiliser un ordinateur ou un

Plus en détail

Explorateur Windows EXPLORATEUR WINDOWS...1 INTRODUCTION...2 LANCEMENT DE L'EXPLORATEUR WINDOWS...3 PRÉSENTATION PHYSIQUE...3 RECHERCHER...

Explorateur Windows EXPLORATEUR WINDOWS...1 INTRODUCTION...2 LANCEMENT DE L'EXPLORATEUR WINDOWS...3 PRÉSENTATION PHYSIQUE...3 RECHERCHER... EXPLORATEUR WINDOWS SOMMAIRE EXPLORATEUR WINDOWS...1 INTRODUCTION...2 LANCEMENT DE L'EXPLORATEUR WINDOWS...3 PRÉSENTATION PHYSIQUE...3 RECHERCHER...6 ORGANISATION DE SES DOSSIERS...7 CRÉER UN DOSSIER...7

Plus en détail

Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet

Cahier de charges (Source : Java EE - Guide de développement d'applications web en Java par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module Site Web dynamique JSP / Servlet Sujet : betaboutique Soutenance le 04 / 01 /2013 &

Plus en détail

Modélisation sous Eclipse

Modélisation sous Eclipse Modélisation sous Eclipse Programmation / Edition textuelle / Edition graphique/ Modèle Lecture Modèle Traitement Présentation des résultats Solutions apportées par Eclipse? http://www.eclipse.org/ Introduction

Plus en détail

TRAAM STI 2013-2014 Acquisition et exploitations pédagogiques des données sur un système pédagogique

TRAAM STI 2013-2014 Acquisition et exploitations pédagogiques des données sur un système pédagogique TRAAM STI 2013-2014 Acquisition et exploitations pédagogiques des données sur un système pédagogique Bilan technique et éléments de développement Fonctionnalités attendues Une vingtaine d établissements

Plus en détail

Intelligence d entreprise Guide de mise en route

Intelligence d entreprise Guide de mise en route Intelligence d entreprise Guide de mise en route 2013 Table des matières Guide de mise en route... 1 Rapports standard de Sage 50 Intelligence d'entreprise... 1 Accès aux rapports de Sage 50 Intelligence

Plus en détail

Niveau 2. Atelier d'initiation à l'ordinateur et à Windows ... xfondation de la Bibliothèque Memphrémagog inc. Magog (Québec) J1X 2E7 Tél.

Niveau 2. Atelier d'initiation à l'ordinateur et à Windows ... xfondation de la Bibliothèque Memphrémagog inc. Magog (Québec) J1X 2E7 Tél. xfondation de la Bibliothèque Memphrémagog inc. Magog (Québec) J1X 2E7 Tél. : 843-1330. Atelier d'initiation à l'ordinateur et à Windows Niveau 2.......... JB 15 septembre 2008 ( Canevas original : Marcel

Plus en détail

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com Cours Plugin Eclipse Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com 1 Qui suis-je? Ancien étudiant de Jussieu - Paris VI Diplomé du Master Technologies

Plus en détail

Formation des enseignants universitaires à la conception d'un cours en ligne sur une plateforme d'enseignement à distance

Formation des enseignants universitaires à la conception d'un cours en ligne sur une plateforme d'enseignement à distance Formation des enseignants universitaires à la conception d'un cours en ligne sur une plateforme d'enseignement à distance PARTIE2 : PRATIQUE Implémentation d'un cours en ligne sur une plateforme d'enseignement

Plus en détail

Projet de développement

Projet de développement Projet de développement Introduction à Eclipse Philippe Collet Licence 3 MIAGE S6 2012-2013 http://miageprojet2.unice.fr/index.php?title=user:philippecollet/projet_de_développement_2012-2013 Plan r Application

Plus en détail

Projet de développement. Introduction à Eclipse. Philippe Collet. Licence 3 MIAGE S6 2013-2014

Projet de développement. Introduction à Eclipse. Philippe Collet. Licence 3 MIAGE S6 2013-2014 Projet de développement Introduction à Eclipse Philippe Collet Licence 3 MIAGE S6 2013-2014 http://miageprojet2.unice.fr/user:philippecollet/projet_de_d%c3%a9veloppement_2013-2014 Plan r Eclipse : Introduction

Plus en détail

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova I. Introduction Dans une période où la plasticité peut aider à réduire les coûts de développement de projets comme des applications mobile,

Plus en détail

Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005

Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005 MDA : Un Tutoriel Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005 1 Sommaire Table des matières 1 Sommaire 1 2 Introduction 2 2.1 A qui s adresse ce tutoriel......................

Plus en détail

Environnements de développement (intégrés)

Environnements de développement (intégrés) Environnements de développement (intégrés) Plan de travail Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure Centre d enseignement et

Plus en détail

Annexe : La Programmation Informatique

Annexe : La Programmation Informatique GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de

Plus en détail

Positionnement de UP

Positionnement de UP UNIFIED PROCESS Positionnement de UP Unified Process Langage Méthode Outil logiciel UML UP RUP 6 BONNES PRATIQUES développement itératif gestion des exigences architecture basée sur des composants modélisation

Plus en détail

SUPPORT DE COURS WINDOWS VISTA

SUPPORT DE COURS WINDOWS VISTA SOMMAIRE I.... LA GESTION DE L'ORDINATEUR... 2 A.... LES UNÎTES LOGIQUES... 2 1 DISQUES DURS... 2 2 SUPPORTS AMOVIBLES... 3 3 PROPRIÉTÉS DU SUPPORT... 3 B... LE CONTENU DE L'ORDINATEUR... 4 1 DOSSIERS...

Plus en détail

Atelier 2. Étape 1 : Installation de Active Directory, installation du service DNS et installation du service WINS Durée approximative : 40 minutes

Atelier 2. Étape 1 : Installation de Active Directory, installation du service DNS et installation du service WINS Durée approximative : 40 minutes Atelier 2 Installation d Active Directory Installation du service DNS Installation du Service WINS Création d'un compte d'ordinateur Jonction d'un ordinateur à un domaine Création d usagers. Étape 1 :

Plus en détail

Qu'est-ce que le BPM?

Qu'est-ce que le BPM? Qu'est-ce que le BPM? Le BPM (Business Process Management) n'est pas seulement une technologie mais, dans les grandes lignes, une discipline de gestion d'entreprise qui s'occupe des procédures contribuant

Plus en détail

Projet de développement. Introduction à Eclipse. Philippe Collet. Licence 3 Informatique 2012-2013

Projet de développement. Introduction à Eclipse. Philippe Collet. Licence 3 Informatique 2012-2013 Projet de développement Introduction à Eclipse Philippe Collet Licence 3 Informatique 2012-2013 Plan r Application de redmine à votre projet r Eclipse : Introduction et historique r Architecture d Eclipse

Plus en détail

TUTORIAL ModelSim VHDL

TUTORIAL ModelSim VHDL ÉCOLE NATIONALE SUPÉRIEURE de SCIENCES APPLIQUÉES et de TECHNOLOGIE TECHNOPOLE ANTICIPA LANNION UNIVERSITÉ DE RENNES 1 TUTORIAL ModelSim VHDL D. Chillet, E. Casseau Le 14 novembre 2008 LOGICIEL et SYSTÈME

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

PLANIFICATION ET SUIVI D'UN PROJET

PLANIFICATION ET SUIVI D'UN PROJET Centre national de la recherche scientifique Direction des systèmes d'information REFERENTIEL QUALITE Guide méthodologique PLANIFICATION ET SUIVI D'UN PROJET Référence : CNRS/DSI/conduite-projet/developpement/gestion-projet/guide-planfi-suivi-projet

Plus en détail

Utilisation de l'outil «Open Office TEXTE»

Utilisation de l'outil «Open Office TEXTE» PRESENTATION / FORMATION Utilisation de l'outil «Open Office TEXTE» Présentation générale : OpenOffice Texte est un traitement de texte assez similaire à celui proposé par Microsoft ; il est d'ailleurs

Plus en détail

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web PROGRAMMATION PUBLIC Professionnels informatiques qui souhaitent développer des applications et «applets» Java DUREE 4 jours 28 heures OBJECTIF Créer divers «applets» à intégrer dans un site Web dynamique,

Plus en détail

Le farming dans DokuWiki, intérêt et mise en œuvre

Le farming dans DokuWiki, intérêt et mise en œuvre Le farming dans DokuWiki, intérêt et mise en œuvre Etienne MELEARD Comité Réseau des Universités Université de Rennes 1, Campus Beaulieu 35042 Rennes Cedex Résumé DokuWiki est une plateforme de Wiki souple

Plus en détail

http://cri.univ-lille1.fr Virtualisation de Windows dans Ubuntu Linux

http://cri.univ-lille1.fr Virtualisation de Windows dans Ubuntu Linux http://cri.univ-lille1.fr Virtualisation de Windows dans Ubuntu Linux Version 1.0 Septembre 2011 SOMMAIRE 1. Introduction 3 2. Installation du logiciel de virtualisation VirtualBox 4 3. Création d'une

Plus en détail

TD1-1 : Microsoft Project V2.0.1

TD1-1 : Microsoft Project V2.0.1 TD1-1 : Microsoft Project V2.0.1 Cette œuvre est mise à disposition selon les termes de la licence Creative Commons Attribution Pas d'utilisation Commerciale Partage à l'identique 3.0 non transposé. Document

Plus en détail

FAQ. Produit: NovaScale BLADE Series Date : septembre 2009 Objet: Migration de l'image d'un système avec la solution RDS/Ghost Solution Suite 2.5.

FAQ. Produit: NovaScale BLADE Series Date : septembre 2009 Objet: Migration de l'image d'un système avec la solution RDS/Ghost Solution Suite 2.5. Référence Doc. : DT-ENG-019-FR FAQ Produit: NovaScale BLADE Series Date : septembre 2009 Objet: Migration de l'image d'un système avec la solution RDS/Ghost Solution Suite 2.5. Résumé : Cette note explique

Plus en détail

Cours «Conception de systèmes numériques» Eduardo Sanchez EPFL-IC. Laboratoire 1 Introduction aux outils Quartus II et ModelSim

Cours «Conception de systèmes numériques» Eduardo Sanchez EPFL-IC. Laboratoire 1 Introduction aux outils Quartus II et ModelSim 1. Introduction Cours «Conception de systèmes numériques» Eduardo Sanchez EPFL-IC Laboratoire 1 Introduction aux outils Quartus II et ModelSim Ce laboratoire a pour but de vous initier aux outils logiciels

Plus en détail

Scub Foundation. Socle technique Java Open Source http://www.scub-foundation.org

Scub Foundation. Socle technique Java Open Source http://www.scub-foundation.org Scub Foundation Socle technique Java Open Source http://www.scub-foundation.org Présentation de Scub Présentation de Scub Scub est une société de service en informatique qui a pour but de fournir du conseil

Plus en détail

MEDIAplus elearning - version 6.6

MEDIAplus elearning - version 6.6 MEDIAplus elearning - version 6.6 LMS Export et LMS Etendu Sommaire 1.Avant propos... 4 1.1. Le mode LMS Export... 5 1.2. Le mode LMS Etendu... 6 2.MEDIAplus LMS Export... 7 2.1. Principe de l administration

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

Fiche pratique. Les outils systèmes. Maintenance, défragmenter, planifier, sauvegarder

Fiche pratique. Les outils systèmes. Maintenance, défragmenter, planifier, sauvegarder 1 Fiche pratique Les outils systèmes Maintenance, défragmenter, planifier, sauvegarder Les outils système Proposés dans Windows Vista vous permettent de défragmenter, nettoyer, sauvegarder, restaurer...

Plus en détail

Modélisation Principe Autre principe

Modélisation Principe Autre principe Modélisation Principe : un modèle est une abstraction permettant de mieux comprendre un objet complexe (bâtiment, économie, atmosphère, cellule, logiciel, ). Autre principe : un petit dessin vaut mieux

Plus en détail

Développement J2EE. avec Eclipse. et WSAD. Karim Djaafar. Olivier Salvatori. avec la contribution de. Groupe Eyrolles, 2003, ISBN 2-212-11285-8

Développement J2EE. avec Eclipse. et WSAD. Karim Djaafar. Olivier Salvatori. avec la contribution de. Groupe Eyrolles, 2003, ISBN 2-212-11285-8 Développement J2EE avec Eclipse et WSAD Karim Djaafar avec la contribution de Olivier Salvatori Groupe Eyrolles, 2003, ISBN 2-212-11285-8 La plate-forme de développement Eclipse CHAPITRE 5 147 Les vues

Plus en détail

TrashMagic 2. Manuel d'utilisation

TrashMagic 2. Manuel d'utilisation TrashMagic 2 Manuel d'utilisation Droits d auteur Ce logiciel est Copyright 2010 TED et TRI-EDRE. Ce manuel et le logiciel qu il décrit sont protégés par le droit d auteur. L utilisation de tout ou partie

Plus en détail

Logiciel. Instructions d'installation. KUKA.Sim Viewer KUKA.Sim Layout KUKA.Sim Tech KUKA.Sim Pro Bibliothèque de composants KUKA.Sim. Version 2.

Logiciel. Instructions d'installation. KUKA.Sim Viewer KUKA.Sim Layout KUKA.Sim Tech KUKA.Sim Pro Bibliothèque de composants KUKA.Sim. Version 2. Logiciel KUKA.Sim Viewer KUKA.Sim Layout KUKA.Sim Tech KUKA.Sim Pro Bibliothèque de composants KUKA.Sim Version 2.1 KUKA.Sim 2.1 2010-01-05 Page 1/11 Copyright KUKA Roboter GmbH La présente documentation

Plus en détail

Préface. Table des matières

Préface. Table des matières Table des matières Qu'est Ce Que l'edi NetBeans?... 1 Ce Qui Rend l'edi NetBeans Spécial... 2 Ce Qui Vient Avec l'edi NetBeans... 3 Ce Que Ce Livre Vous Apportera... 3 Comment Utiliser Ce Livre... 4 NetBeans

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

Manuel d'utilisation du BNE-Linux. Le mode «élève»

Manuel d'utilisation du BNE-Linux. Le mode «élève» Manuel d'utilisation du BNE-Linux Cette nouvelle version du BNE est dérivée de l'interface de la distribution Linux ENPT 2.0 de la société Imaugis : http://www.imaugis.com/accueil Le mode «élève» Accéder

Plus en détail

Mode d'emploi Application Présences Planification des évènements

Mode d'emploi Application Présences Planification des évènements Mode d'emploi Application Présences Planification des évènements 21 avril 2005 Page 1 / 31 2005 / Guillaume Fort Sommaire 1. Description du concept...3 2. Démarrage de l'application...4 3. Philosophie

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

Publication d'application

Publication d'application Publication d'application Vue d'ensemble JetClouding supporte 3 types de publication d'application: Microsoft Remote Desktop: L'utilisateur verra le Bureau à distance Windows dans la session. Le contrôle

Plus en détail

Appuyez et relâchez une fois le bouton gauche de la souris. Il sert à choisir un item ou pour appuyer sur l'un des différents boutons de Windows.

Appuyez et relâchez une fois le bouton gauche de la souris. Il sert à choisir un item ou pour appuyer sur l'un des différents boutons de Windows. Introduction Cette page a été conçue pour vous démontrer les possibilités de la souris. Elle sert premièrement à déplacer le pointeur sur l'écran ou vers des commandes. C'est avec les combinaisons de boutons

Plus en détail

Laplink PCmover Express La façon la plus facile de transférer vers un nouveau PC Windows

Laplink PCmover Express La façon la plus facile de transférer vers un nouveau PC Windows Laplink PCmover Express La façon la plus facile de transférer vers un nouveau PC Windows Manuel de l utilisateur Service clientèle/ Support technique: Web: http://www.laplink.com/index.php/fre/contact

Plus en détail

Movie Cube. Manuel utilisateur pour la fonction sans fil WiFi

Movie Cube. Manuel utilisateur pour la fonction sans fil WiFi Movie Cube Manuel utilisateur pour la fonction sans fil WiFi Table des matières 1. Connexion de l'adaptateur USB sans fil WiFi...3 2. Paramétrage sans fil...4 2.1 Infrastructure (AP)...5 2.2 Peer to Peer

Plus en détail

Créer et partager des fichiers

Créer et partager des fichiers Créer et partager des fichiers Le rôle Services de fichiers... 246 Les autorisations de fichiers NTFS... 255 Recherche de comptes d utilisateurs et d ordinateurs dans Active Directory... 262 Délégation

Plus en détail

Premiers pas avec Eclipse : INTRODUCTION INSTALLATION. Premiers contacts : Le workspace est le répertoire dans lequel sont stockés :

Premiers pas avec Eclipse : INTRODUCTION INSTALLATION. Premiers contacts : Le workspace est le répertoire dans lequel sont stockés : Premiers pas avec Eclipse : INTRODUCTION Eclipse est un IDE, Integrated Development Environment (EDI environnement de développement intégré en français), c'est-à-dire un logiciel qui simplifie la programmation

Plus en détail

Médiapôle de Guyancourt Lycée de Villaroy 2 rue Eugène Viollet Le Duc BP31 78041 GUYANCOURT Cedex Tel : 01 30 48 91 88 / Fax : 01 30 57 49 70

Médiapôle de Guyancourt Lycée de Villaroy 2 rue Eugène Viollet Le Duc BP31 78041 GUYANCOURT Cedex Tel : 01 30 48 91 88 / Fax : 01 30 57 49 70 Utilisateurs et Groupes Stage personnes ressources réseau en établissement janvier 2005 Formateurs : Jackie DAÖN Médiapôle de Guyancourt Lycée de Villaroy 2 rue Eugène Viollet Le Duc BP31 78041 GUYANCOURT

Plus en détail

Maison domotique Présentation générale de la maison domotique

Maison domotique Présentation générale de la maison domotique Maison domotique Présentation générale de la maison domotique Les caractéristiques techniques : Maison générale : Les différentes pièces : Le salon La cuisine La chambre La salle de bain Le tableau éléctrique

Plus en détail

Axel Menu. Publier facilement et rapidement des applications sous Windows TSE. Novembre 2008 - Réf. : axmenuf-11

Axel Menu. Publier facilement et rapidement des applications sous Windows TSE. Novembre 2008 - Réf. : axmenuf-11 Axel Menu Publier facilement et rapidement des applications sous Windows TSE Novembre 2008 - Réf. : axmenuf-11 La reproduction et la traduction de ce manuel, ou d'une partie de ce manuel, sont interdites.

Plus en détail

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Architecture d'entreprise : Guide Pratique de l'architecture Logique Guides Pratiques Objecteering Architecture d'entreprise : Guide Pratique de l'architecture Logique Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam

Plus en détail

TD/TP 1 Introduction au SDK d Android

TD/TP 1 Introduction au SDK d Android TD/TP 1 Introduction au SDK d Android Romain Raveaux 1 Introduction Android est un système d'exploitation pour téléphone portable de nouvelle génération développé par Google. Celui-ci met à disposition

Plus en détail

Le panneau de configuration

Le panneau de configuration Le panneau de configuration Introduction Le panneau de configuration est l'organe le plus important de votre ordinateur. Il sert essentiellement à paramétrer votre système d'exploitation : apparence, sécurité,

Plus en détail

GUIDE D'INSTALLATION. AXIS Camera Station

GUIDE D'INSTALLATION. AXIS Camera Station GUIDE D'INSTALLATION AXIS Camera Station À propos de ce guide Ce guide est destiné aux administrateurs et utilisateurs AXIS Camera Station. Il s'applique à la version logicielle 3.31 et ultérieure. Il

Plus en détail

1ère année LMD informatique/mathématique, UHL Batna. Module Bureautique. TD n 2 Windows XP

1ère année LMD informatique/mathématique, UHL Batna. Module Bureautique. TD n 2 Windows XP 1 TD n 2 Windows XP 1. Définition Windows est le système d'exploitation fourni par la compagnie Microsoft. Windows XP est un système multiutilisateur et multitâche qui fonctionne sur les micro-ordinateurs

Plus en détail

MATERIEL FOURNI INSTALLATION DU LOGICIEL

MATERIEL FOURNI INSTALLATION DU LOGICIEL PRESENTATION DU PRODUIT Dans la mesure où le logiciel est susceptible de mises à jour et d'améliorations en réponse aux suggestions des utilisateurs, le contenu de ce manuel peut être légèrement différent

Plus en détail

Gestion des immeubles

Gestion des immeubles RAPPORT DE CONCEPTION Gestion des immeubles BOUSSRHAN YOUSSEF & BENZITI WALID Email : Youssefboussrhan@gmail.com GSM : 0678510690, 0611347597 ISTA NTIC SYBA CRJJ GROUPE B Annexe : Figure 1: Diagramme de

Plus en détail

Chapitre 4 Les Servlets. 1. Qu'est-ce qu'une Servlet? 1.1 Présentation. 1.2 Requêtes HTTP

Chapitre 4 Les Servlets. 1. Qu'est-ce qu'une Servlet? 1.1 Présentation. 1.2 Requêtes HTTP 210 Les Servlets 1. Qu'est-ce qu'une Servlet? 1.1 Présentation Les Servlets sont la base de la programmation Java EE. La conception d'un site Web dynamique en Java repose sur ces éléments. Une Servlet

Plus en détail

QCM L2 DOMAINE 3 ET DOMAINE 5

QCM L2 DOMAINE 3 ET DOMAINE 5 Il peut y avoir une ou plusieurs bonnes réponses. Les réponses correctes sont comptées positivement, les réponses fausses sont comptées négativement. Ne rien cocher vaut 0. Question 2 (D3.1 B5.2) Pour

Plus en détail

Programmation de robots

Programmation de robots Programmation de robots 1 Le robot Le but de ces séances d'initiation est de vous apprendre les bases de la programmation du robot en quelques heures. Pour arriver au plus vite au c ur du sujet, nous avons

Plus en détail

Développement de Servlets et JSP avec Eclipse

Développement de Servlets et JSP avec Eclipse Développement de Servlets et JSP avec Eclipse Sommaire 1 Mise en place o 1.1 Installation de Galileo o 1.2 Association de Galileo avec une installation de Tomcat o 1.3 Pilotage des serveurs 2 Développement

Plus en détail

TOUCHES DE RACCOURCI JAWS pour Windows

TOUCHES DE RACCOURCI JAWS pour Windows TOUCHES DE RACCOURCI JAWS pour Windows Touches de raccourci pour Internet Explorer Remarque : Le système d'aide de JAWS inclut des informations détaillées sur l'utilisation d'internet Explorer. À partir

Plus en détail

Une GED personnelle pratique et simple Version 2.1.0. Copyright 2005 2005 Alain DELGRANGE licence GNU GPL2

Une GED personnelle pratique et simple Version 2.1.0. Copyright 2005 2005 Alain DELGRANGE licence GNU GPL2 Une GED personnelle pratique et simple Version 2.1.0 Copyright 2005 2005 Alain DELGRANGE licence GNU GPL2 Introduction Pyged est une application de gestion électronique de documents personnelle optimisée

Plus en détail

SOMMAIRE. I. Introduction 02. II. Glossaire 03 a. Glossaire technique 03 b. Glossaire fonctionnel 04

SOMMAIRE. I. Introduction 02. II. Glossaire 03 a. Glossaire technique 03 b. Glossaire fonctionnel 04 SOMMAIRE I. Introduction 02 II. Glossaire 03 a. Glossaire technique 03 b. Glossaire fonctionnel 04 III. Présentation de l'association 05 a. Présentation juridique et géographique 05 b. Présentation de

Plus en détail

Laplink PCmover Express La façon la plus facile de transférer vers un nouveau PC Windows

Laplink PCmover Express La façon la plus facile de transférer vers un nouveau PC Windows Laplink PCmover Express La façon la plus facile de transférer vers un nouveau PC Windows Manuel de l utilisateur Service clientèle/ Support technique: Web: http://www.laplink.com/index.php/fre/contact

Plus en détail

Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium. Comparatif Choco/Drools dans le cadre du projet JASMINe

Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium. Comparatif Choco/Drools dans le cadre du projet JASMINe Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium dans le cadre du projet JASMINe Avril 2008 Table des matières 1 Introduction 3 1.1 Rappel sur JASMINe.......................................

Plus en détail

Bureau de Windows et raccourcis

Bureau de Windows et raccourcis Bureau de Windows et raccourcis Présentation de Windows 1 Le Bureau de Windows Le Poste de travail Contenu du disque dur Les icônes principales du Bureau Les raccourcis - créer un raccourci d'un fichier

Plus en détail

Desktop Manager 2.8 Guide de mise à jour. Janvier 2014

Desktop Manager 2.8 Guide de mise à jour. Janvier 2014 Desktop Manager 2.8 Guide de mise à jour Janvier 2014 Ce document d'aide présente une méthodologie pour migrer d'une ancienne version de Desktop Manager vers la nouvelle version 2.8. Elle comporte deux

Plus en détail

Documentation Utilisateur. ADKiosk

Documentation Utilisateur. ADKiosk Documentation Utilisateur ADKiosk DU_ADKioskV36.odt 27/10/11 16:59:29 Page 1/18 Suivi du Document Version Date Auteur Objet 0.1 06/05/2008 O. LAZZAROTTO Rédaction initiale 1.0 02/06/2008 V. MONTAGNON Relecture

Plus en détail

SOMMAIRE. Chapitre 1 - principe 3 Téléphonique 4 PC/Configuration logicielle 4 PC/Configuration matérielle: 4 Pabx 4

SOMMAIRE. Chapitre 1 - principe 3 Téléphonique 4 PC/Configuration logicielle 4 PC/Configuration matérielle: 4 Pabx 4 SOMMAIRE Chapitre 1 - principe 3 Téléphonique 4 PC/Configuration logicielle 4 PC/Configuration matérielle: 4 Pabx 4 Chapitre 2 - installation 5 A partir du CD fourni 6 Installation 6 Chapitre 3 - personnalisation

Plus en détail

Prise en main Windows

Prise en main Windows Prise en main Windows Windows 2000 est un système d'exploitation. Un système d exploitation est un logiciel qui intervient à presque tous les niveaux de fonctionnement de votre ordinateur. Il est donc

Plus en détail

SoC : Système on Chip. C est le concept d intégrer une fonction électronique dans un composant programmable.

SoC : Système on Chip. C est le concept d intégrer une fonction électronique dans un composant programmable. 0 Présentation du TP : Pré-requis : Durée estimée : Objectif : Avoir suivi les TP_description_schématic_compteur-FPGA et TP_compteur_VHDL_virtual_instruments-FPGA. Connaissance du langage C ANSI. 2 heures.

Plus en détail

Cahier des charges. Jonathan HAEHNEL. Université de Strasbourg IUT Robert Schuman

Cahier des charges. Jonathan HAEHNEL. Université de Strasbourg IUT Robert Schuman Université de Strasbourg IUT Robert Schuman Maître de stage : Nicolas Lachiche Tuteur universitaire : Marie-Paule Muller Cahier des charges Jonathan HAEHNEL Strasbourg, le 6 mai 2011 Table des matières

Plus en détail

INFORM :: DEMARRAGE RAPIDE A service by KIS

INFORM :: DEMARRAGE RAPIDE A service by KIS - Création d'un formulaire Ce petit mémo a pour but de donner une vue d'ensemble des étapes menant à la création d'un formulaire avec in- Form. Bien que générique ce document fournit également les informations

Plus en détail

BSD/BSD Plus. NOTE D'APPLICATION Comment personnaliser ses pages web

BSD/BSD Plus. NOTE D'APPLICATION Comment personnaliser ses pages web BSD/BSD Plus NOTE D'APPLICATION Comment personnaliser ses pages web CRE Technology estime que les informations contenues dans ce document sont justes et fiables et se réserve le droit de modifications

Plus en détail

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed 6, bd maréchal Juin F-14050 Caen cedex 4 Spécialité Informatique 2 e année Rapport de projet Gestion du parc informatique matériel et logiciel de l Ensicaen SAKHI Taoufik SIFAOUI Mohammed Suivi ENSICAEN

Plus en détail

Unité de formation 1 : Structurer une application. Durée : 3 semaines

Unité de formation 1 : Structurer une application. Durée : 3 semaines PROGRAMME «DEVELOPPEUR LOGICIEL» Titre professionnel : «Développeur Logiciel» Inscrit au RNCP de niveau III (Bac+2) (JO du 23 Octobre 2007) (32 semaines) Unité de formation 1 : Structurer une application

Plus en détail

Guide d'installation client. Version 6.0 SP1

Guide d'installation client. Version 6.0 SP1 Guide d'installation client Version 6.0 SP1 2013 Pitney Bowes Software Inc. Tous droits réservés. Ce document peut contenir des informations confidentielles et exclusives appartenant à Pitney Bowes Inc

Plus en détail

Déploiement d'une application Visual Studio Lightswitch dans Windows Azure.

Déploiement d'une application Visual Studio Lightswitch dans Windows Azure. Déploiement d'une application Visual Studio Lightswitch dans Windows Azure. Utilisation de SQL Azure avec Lightswitch Article par Eric Vernié Microsoft France Division Plate-forme & Ecosystème SOMMAIRE

Plus en détail

Préparation à l installation d Active Directory

Préparation à l installation d Active Directory Laboratoire 03 Étape 1 : Installation d Active Directory et du service DNS Noter que vous ne pourrez pas réaliser ce laboratoire sans avoir fait le précédent laboratoire. Avant de commencer, le professeur

Plus en détail

HDM-2100. Connection Manager

HDM-2100. Connection Manager HDM-2100 Connection Manager Contents I- Installation de LG Connection Manager... 2 II- Configuration requise...3 III- Introduction et mise en route de LG Connection Manager... 3 IV-Fonctions de LG Connection

Plus en détail

Guide d utilisation Novaxel

Guide d utilisation Novaxel Guide d utilisation Novaxel 1 Objectifs Aucun Prérequis Type Guide explicatif 110 pages Objectifs de ce guide Comprendre les principes de la GED Savoir gérer de l arborescence de classement Ressources

Plus en détail

PC Check & Tuning 2010 Optimisez et accélérez rapidement et simplement les performances de votre PC!

PC Check & Tuning 2010 Optimisez et accélérez rapidement et simplement les performances de votre PC! PC Check & Tuning 2010 Optimisez et accélérez rapidement et simplement les performances de votre PC! MAGIX PC Check & Tuning 2010 est la solution logicielle complète pour l'analyse, la maintenance et l'accélération

Plus en détail

Fonctionnement du serveur Z39.50

Fonctionnement du serveur Z39.50 Fonctionnement du serveur Z39.50 Table des matières 1 Configuration du serveur...2 1.1 Comportement du serveur...2 1.2 Configuration de la traduction z39.50 -> base de données...2 1.3 Configuration du

Plus en détail