Conception et développement d'un logiciel de Vision par ordinateur

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

Download "Conception et développement d'un logiciel de Vision par ordinateur"

Transcription

1 Florent Perrocheau Licence d'informatique Université de Franche-Comté Stage de troisième année Du 15/03/2010 au 15/08/2010 Conception et développement d'un logiciel de Vision par ordinateur Maitre de stage : Laurent Lebocq Responsable de stage : Jean-marc Nicod

2 2

3 Remerciements Je tiens à remercier : Laurent Lebocq et David Hériban pour m'avoir permis de réaliser ce stage et m'avoir accompagné dans différentes tâches de la réalisation du projet. Jean-Marc Nicod pour s'être déplacé et m'avoir apporté des conseils. toute l'équipe de l'as2m pour leur accueil. 3

4 4

5 Table des matières 1.Introduction Contexte du stage Percipio-Robotics Micro-manipulation Vision par ordinateur Le système de micro-assemblage Présentation du stage Sujet Définition des besoins Déroulement du stage Planning Outils utilisés...14 Framework Qt...14 Multi-Threading...15 Plugin...16 Librairie de traitement d'images : OpenCv Conception Les demandes de traitements...17 Protocole de communication Architecture Diagramme de classe Les chaînes de traitements Les plugins L'interface utilisateur...23 Version de développement...23 Version finale Résultats Perspectives Bilan...27 Bibiliographie et netographie...28 Glossaire...29 Annexe...30 I.Protocole de communication...30 II.Exemple de traitement de vision...32 III. Interface du logiciel

6 1.Introduction La licence informatique nous offre l'opportunité de réaliser un stage en entreprise afin de concrétiser la première partie de notre formation et de mettre en pratique nos connaissance dans un cadre professionnel. Avec comme objectif d'élargir mes connaissances en programmation orienté objet, j'ai décider d'effectuer mon stage au sein de Percipio-Robotics, entreprise en devenir lié au monde de la recherche, où j'ai en charge la conception et le développement en C++ d'un logiciel de vision par ordinateur. J'exposerais dans ce rapport la première partie de mon expérience qui se déroule jusqu'au 15 aout Tout d'abord je présenterais rapidement le contexte de ce stage, l'entreprise et son domaine d'activité. Puis j'aborderais le projet qui m'est confié et les moyen mis en œuvre afin de mener à bien sa réalisation. Enfin je conclurais par un bilan technique et humain de cette expérience. 6

7 2.Contexte du stage 1)Percipio-Robotics Mon stage prends place au sein de Percipio-Robotics, projet d'entreprise innovante qui a pour ambition la valorisation de travaux de recherches réalisés à l'institut FEMTO-ST. Elle a pour secteur d activité la manipulation et l assemblage robotisé de micro-composants. Elle conçoit des systèmes robotisés de micro-assemblage permettant de manipuler des composants microtechniques de tailles caractéristiques comprises entre 10 micromètres et quelques millimètres, grâce à des inovations comme une micropince à actionnement piézoélectrique lauréat de deux microns d or au salon international des microtechniques MICRONORA 2002 et 2008 et brevetée depuis Le projet Percipio-Robotics est entré à l Incubateur d Entreprises Innovantes de Franche- Comté (IEI.FC) en août Cette structure associative, créée par les établissements d enseignement supérieur de la région Franche-Comté, a pour mission de favoriser la création d entreprises innovantes valorisant les résultats de la recherche publique. La création de Percipio- Robotics est prévue pour le second semestre Son effectif se compose actuellement de trois personnes : le porteur de projet David HERIBAN qui développe le système de micro-manipulation au cœur du projet, le co-porteur de projet et ingénieur étude UFC Laurent LEBOCQ, ingénieur en vision par ordinateur sur le projet, qui sera mon encadrant durant mon stage, ainsi que Michaël GAUTHIER, futur associé, chargé de recherche CNRS. Cette structure est pour le moment située au département AS2M (Automatisme et Système Micro-Mécatronique), laboratoire situé à l'ensmm (École Nationale Supérieure de Mécanique et de Microtechniques de Besançon), où furent menés les travaux de recherche à l'origine du système de micro-manipulation mis au point par Percipio-Robotics. 2)Micro-manipulation À l heure actuelle, encore beaucoup de tâches de micro-manipulation sont réalisées à la main par des opérateurs humains. Cela pose un vrai problème pour l industrie. C est un travail pénible, et de ce fait ces opérateurs ne peuvent travailler que très peu dans une journée. De plus, les tâches qu ils peuvent accomplir sont limitées. C est pourquoi la micro-manipulation est un domaine de recherche très important qui répond à un besoin des industriels. La première solution pour améliorer un travail de micro-manipulation consiste à remplacer la pince de l opérateur par une station de micro-manipulation télé-opérée. Celle-ci prend la forme d'un robot commandé par un opérateur via un joystick. Les stations de télémanipulation constituent déjà des technologies maitrisées et représentent un réel gain pour la manufacture. La prochaine étape est l'automatisation des tâches de micro-manipulation. Pour cela, les capteurs visuels, tels que les caméras, sont préconisées. En effet les informations visuelles sont 7

8 riches, moins soumises aux bruits et beaucoup plus faciles à mettre en œuvre que des capteurs de force ou de position dans le contexte du micro-monde. Il s'agit en général de récupérer la position des objets à manipuler en utilisant des algorithmes comme la détection de contours afin que le robot puisse opérer de façon automatique. 3)Vision par ordinateur La vision par ordinateur (aussi appelée "vision artificielle") est une branche de l'informatique dont le but est de rendre un ordinateur capable de lire et d'analyser une scène donnée, en se basant sur des informations visuelles telles qu'une image ou un flux vidéo. On pourrait citer plusieurs domaines d'application comme la reconnaissance de caractères, utilisée par exemple pour le tri du courrier, le contrôle visuel d'une chaîne de fabrication, l'asservissement visuel d'un robot ou la détection de formes que l'on peut trouver sur les appareils photographiques proposant une option de détection de sourires ou les projets du domaine vidéoludique proposant de s'affranchir de toute interface avec la machine en interagissant directement avec les mouvement du corps. 8

9 4)Le système de micro-assemblage Illustration 1: système de micro-manipulation Le système mis au point par Percipio-Robotics a pour but la manipulation et l'assemblage de micro-objets. Il est composé d'une station de micro-assemblage robotisée et de deux ordinateurs. La partie informatique est séparée sur deux postes différents afin que chaque partie dispose de ressources matérielles dédiées. Le premier ordinateur héberge le logiciel de commande qui pilote la station. Le second ordinateur embarque un logiciel de vision qui peut être assimilé à un capteur. Il a pour but de répondre à des demandes de traitement de vision par ordinateur envoyées par le logiciel de commande afin de rendre celui-ci autonome et d'automatiser les manipulations. 9

10 3.Présentation du stage 1)Sujet Le projet de ce stage a pour objectif la re-conception et le développement d'un logiciel de vision par ordinateur prenant place dans le système de micro-manipulation mis en place par Percipio-Robotics. Ce logiciel a pour fonction de répondre à des demandes de traitement sur images envoyées par le PC de commande. Il devra donc gérer les demandes, effectuer des traitements de vision par ordinateur sur des images provenant d'une (ou plusieurs) caméra(s) et communiquer les résultats via Ethernet avec un autre logiciel. Une première version de ce logiciel existe déjà mais pose plusieurs soucis pour une utilisation industrielle du système. Tout d'abord, celui-ci, ayant été développé rapidement pour répondre à un besoin dans le cadre de travaux de recherche, manque de stabilité et d'optimisation. Il est également incomplet pour l'utilisation finale désirée, sa conception n'autorisant que la gestion des traitements simples. De plus, comme le logiciel de commande, il fut développé avec l'environnement de programmation Borland qui requiert une licence, ne peut assurer la portabilité des applications développées, et n'est plus mis à jour. Il fut donc décidé de repartir sur des bases solides pour ce qui est des «softs» intégrant le système. La première étape choisie fut la réécriture du logiciel de vision, tâche qui m'est attribuée au cours de ce stage. J'ai donc pour mission de concevoir une nouvelle architecture qui permette la gestion plus complète des tâches à réaliser et ensuite de développer ce logiciel en C++ avec le frameworks Qt. 10

11 2)Définition des besoins portabilité L'application doit être compatible sous les systèmes d'exploitation Windows et Linux. modularité Une grande modularité est demandée afin de pouvoir modeler le logiciel au gré des besoins, pour pouvoir fournir à chaque client un système adapté à son utilisation. Précision et rapidité Le futur robot devant être capable de déplacements rapides (environ un mètre par seconde pour manipuler des pièces mesurant quelques dizaines de microns), la précision des captures et la rapidité des traitements sont primordiales. L'acquisition doit être précise à la milliseconde et les traitements ne peuvent excéder quelques dizaines de millisecondes. Techniquement abouti Afin de tirer parti de machines véloces, dans le but d'optimiser les temps de calculs, les différentes tâches exécutées devront être parallélisées grâce à l'utilisation du multi-threading. Il est aussi question d'éventuelles évolutions pour utiliser le calcul GPU. Prise en charges de flux multiples La station de micro-assemblage peut nécessiter plusieurs caméras. Il faut donc pouvoir gérer, en simultané, plusieurs flux vidéos. De plus, ceux-ci peuvent provenir de différents types de caméras possédant des protocoles variés : USB, firewire ou giga-éthernet. Le logiciel devra s'adapter au différents formats de caméras professionnelles utilisés couramment en industrie. gestion de demandes de traitements complexes Le logiciel doit être capable de gérer des demandes de traitements complexes. Il doit pouvoir effectuer des chaînes de traitements susceptibles d'être sérialisées et parallélisées. communication avec le logiciel de commande La communication avec le logiciel de commande nécessite de définir un protocole de communication entre les deux logiciels. Un module de communication sera nécessaire pour gérer la communication par liaison Ethernet via TCP/IP. 11

12 interface de test Pour de faciliter la mise en place et le développement du système final, une interface permettant de tester directement les traitements de vision, avec un retour complet des résultats et des informations de l'exécution de ceux-ci, est nécessaire. 12

13 4.Déroulement du stage Pour la réalisation du logiciel j'ai du mettre en œuvre, approfondir et élargir mes connaissances de façon significative. Pour cela j'ai effectué un travail important d'auto-formation, ce qui m'a permis d'acquérir des notions de programmation jusqu'alors non abordées lors de ma formation initiale ou de mes travaux personnels. J'ai ensuite réalisé un travail de conception en concertation avec les membres du projet et de l'équipe afin de définir les besoins de l'application et d'apporter une solution pour la réalisation de celle-ci. Puis j'ai pu commencer le développement, étape en cours de réalisation à l'heure actuelle. 3)Planning Afin d'organiser mon temps de travail durant mon stage, j'ai réalisé un planning prévisionnel prenant en compte les différentes étapes nécessaires pour réaliser la tâche qui m'est confiée. Celui-ci à été respecté jusqu'à aujourd'hui. Illustration 2: planning prévisionnel 13

14 4)Outils utilisés La réalisation de ce projet m'a demandé d'acquérir des connaissances afin de pouvoir utiliser certaines techniques de programmation telles que le multi-threading, la gestion des plugins, la programmation d'interfaces graphiques et l'utilisation avancée du C++ et la programmation orientée objet. Pour cela j'ai engagé un travail d'apprentissage en amont. Une fois l'offre de stage agréée, pour mettre un maximum de chances de mon coté, j'ai orienté mon travail personnel afin de me former au mieux et être apte à satisfaire au travail proposé. J'ai tout d'abord porté et continué mon projet «tutoré» de licence, un moteur de jeu sur Nintendo DS initialement prévu en C, vers le C++, dans le but de compléter et approfondir l'étude de ce langage et la programmation orientée objet. Par la suite, j'ai profité du projet de MOP pour m'initier au développement de GUI. J'ai donc développé une interface graphique pour la puissance 4 demandée. Grâce à cela, j'ai pu prendre connaissance avec le framework Qt avant le début de mon stage. Cela ma permis de mieux appréhender des sujets plus complexes dès le début du stage. Durant le premier mois, j'ai approfondi mon apprentissage de Qt à travers des notions plus complexes comme l'utilisation du multi-threading ou les plugins. J'ai aussi découvert la vision par ordinateur à travers la librairie OpenCv. Au cours de cet apprentissage j'ai pu développer quelques outils qui me furent utiles pour le développement du projet. Framework Qt Qt est un framework de développement C++, comprenant un ensemble de bibliothèques et d'outils qui permettent de faciliter le développement d'applications multi-plateformes. Il fut développé initialement par la société Trolltech, puis a été racheté par Nokia. Son développement a commencé en 1991 avec comme objectif de proposer une bibliothèque permetant de gérer une interface graphique. Depuis, il a énormément évolué et regroupe maintenant de nombreux modules qui en font un outil très complet. Il permet entre autre : la création d'interface graphiques le chargement de fenêtres 3D gérées par OpenGL le dessin en 2D la gestion du multi-threading la communication en réseau le support du javascript un accès SQL aux bases de données la manipulation et la génération de fichiers XML l'affichage de pages web avec le moteur WebKit En plus de proposer ses outils haut niveau, il implémente toutes les fonctions nécessaires au développement de logiciels comme la gestion des chaînes de caractères ou les conteneurs. Il est donc possible de créer une application complète en utilisant seulement Qt. 14

15 Point intéressant, il offre une entière compatibilité des applications développées avec les systèmes d'exploitation Linux, Windows et Mac OS. Depuis la version 4.5, Qt est proposé sous une licence LGPL v2.1. Cette nouvelle licence permet ainsi le développement de logiciels propriétaires sans nécessiter l'achat d'une licence commerciale, ce qui est un avantage intéressant pour une start-up comme Percipio-Robotics. Qt signifie "Cute", ou "Mignonne" en français, parce que les développeurs trouvaient que la lettre Q était jolie dans leur éditeur de texte Emacs. On peut noter qu'il est utilisé par de grands noms de l'informatique. En effet, plusieurs projets comme KDE (l'un des environnements de bureau les plus utilisés dans le monde de Linux), VLC (lecteur multimédia très populaire), SKYPE (solution de téléphonie par internet), ou Adobe Photoshop (logiciel de retouche d'image et de dessin assisté par ordinateur), sont basés sur son utilisation. Multi-Threading Le multi-threading est une technique de programmation permettant de paralléliser l'exécution d'un logiciel. Un thread, ou fil d'exécution, est un ensemble d'instructions s'exécutant de manière séquentielle. L'exécution en parallèle de plusieurs threads permet à un programme de travailler sur plusieurs fronts, simultanément. Très utilisé pour la gestion de GUI, ce procédé permet de conserver la réactivité de l'interface graphique même lors de l'exécution de calculs coûteux. Cela permet également de tirer profit des ressources de machines bénéficiant d'une plateforme qui possèdent un processeur multi-cœurs en multipliant le nombre d'exécutions simultanées, ce qui, ainsi, a pour intérêt de réduire les temps de calculs. Les contraintes de rapidité de traitement de l'application font du multi-threading une priorité dans la conception de celle-ci, la première version fut d'ailleurs nommé VisionThread. L'utilisation du multi-threading est grandement facilitée par la bibliothèque Qt. En effet elle offre un outil puissant qui gère de façon transparente l'implémentation de ceux-ci. Qt propose comme technique d'étendre la classe visée en la faisant hériter de Qthread. Dans ce cas, la classe devra redéfinir une méthode run(). Son implémentation implique un éventuel partage des ressources en mémoires. Afin de garantir l'intégrité de celles-ci, il est indispensable de contrôler leurs accès. Pour cela, l'utilisation des mutexs, primitives de synchronisation, permettent de superviser la lecture et l'écriture des données. 15

16 Plugin Un plugin est un module qui complète un logiciel pour lui apporter de nouvelles fonctionnalités. Il peut être à la base d'une architecture modulaire où différentes parties d'un programme sont déportées dans des plugins. Qt fournit également des outils permettant leurs implémentation. Librairie de traitement d'images : OpenCv OpenCV est une librairie open source de vision par ordinateur. Elle regroupe un grand nombre de fonctions permettant d'effectuer des tâches comme par exemple l'application de filtre sur une image ou la détection d'objet. 16

17 5)Conception La réflexion autour de la conception de l'application s'est déroulée sur une durée d'un mois environ, en parallèle avec l'apprentissage des outils et le début du développement. Les réunions menées avec les porteurs du projet m'ont permis de définir de façon précise et formelle les besoins de la nouvelle version de l'application, ceux-ci étant encore relativement vagues à mon arrivé. j'ai ensuite mené des travaux de recherche afin de proposer les solutions adéquates aux nouveaux besoins du «soft». Il a d'abord fallu redéfinir un point important conditionnant la nouvelle architecture du logiciel : les demandes de traitements que celui-ci pourra accepter. Il en a résulté un travail d'analyse syntaxique pour définir et formaliser le protocoles de communication des demandes. Puis l'architecture a été totalement repensée afin de permettre une gestion plus complexe des traitements à effectuer et d'apporter une plus grande modularité. 1) Les demandes de traitements Une des fonctions importantes du logiciel est la communication avec le PC de commande. En effet, son rôle dans le système est de répondre à des demandes de traitements de vision. Afin d'optimiser l'exécution des traitements et de modulariser ceux-ci, une réflexion de re-conception autour de ce point majeur fut mise en œuvre. Dans la première version du logiciel, chaque demande envoyée ne pouvait comprendre qu'un seul traitement. Les traitements correspondaient à un besoin spécifique faisant usage d'une composition plus simple. Cela impliquait plusieurs contraintes et une certaine faiblesse au niveau de l'exécution des traitements. Pour illustrer ce fait, voici les demandes qu'il était nécessaire d'envoyer afin de pouvoir définir la distance entre l'objet à manipuler et la pince. Pour cela il est nécessaire de connaître la position de l'objet et des deux doigts de la pince du robot. Illustration 3: envoi de demande ancienne version Premièrement, pour une requête précise, trois demandes sont alors envoyées, ce qui aura pour conséquence de multiplier le flux de communication, donc le nombre de demandes et de résultats à analyser. 17

18 De plus, SPEEDLABEL qui détecte le centre de gravité des objets disponibles sur l'image, DETECT_SIFIT1 et DETECT_SIFIT2 qui permettent de détecter les doigts de la pince, nécessitent un traitement commun sur l'image, un seuillage (binarisation de l'image). Dans ce cas, cette opération sera exécutée trois fois (ce qui engendre un gaspillage des ressources). Enfin, imaginons qu'après plusieurs tests on se rende compte que l'application d'un filtre sur l'image permette d'améliorer les résultats pour détecter le bon objet à manipuler. Alors, même si les fonctions permettant d'appliquer ce filtre sont déjà définies, il faudra créer une nouvelle fonction correspondant à la combinaison de ce filtre et de la détection d'objet et donc modifier et recompiler le code source. Cette analyse nous montre plusieurs points importants nécessitant une évolution. L'utilisation des ressources, point crucial pour garantir des temps de traitement acceptables, doit être optimisée. Dans ce but deux notions furent mises en avant : - Premièrement, la redondance des traitements doit être évitée. Si les résultats d'un traitement doivent être utilisés par plusieurs autres traitements, celui-ci ne doit être effectué qu'une seule fois. - Deuxièmement, il serait intéressant de paralléliser l'exécution des traitements indépendants pour tirer profit des ressources matérielles des processeurs multi-cœurs. Pour répondre à ces critères une demande doit donc pouvoir spécifier n traitements pouvant être sérialisés et parallélisés afin que son résultat soit calculé de façon efficace. Cela permettra également de gagner en modularité et de fournir un outil puissant. Les combinaisons de traitement de base permettront de définir des tâches plus complexes de façon totalement paramétrable. Il fut aussi profitable d'ajouter aux demandes plusieurs paramètres, afin de satisfaire les nouveaux besoins de l'application ou d'apporter des améliorations intéressantes. Pour que le logiciel de commande puisse identifier les résultats d'une demande à travers le flux des réponses reçues, il a donc été judicieux d'inclure une clé ID. La première version ne gérant pas encore le multi-caméra, il fut aussi utile de pouvoir préciser le numéro de la caméra à utiliser pour la capture. La dernière information ajoutée fut une option permettant de spécifier un nombre d'exécution à la chaîne de traitements en spécifiant le délai entre deux cycles ainsi que le nombre de cycles. Pour reprendre l'exemple précédent, la requête se réduirait à : Illustration 4: envoi de demande nouvelle version La chaîne spécifie les même tâches que précédemment à la différence que leur ordre d'exécution est précisé de façon à optimiser les traitements. On retrouve également quelques paramètres supplémentaires comme la clé ID, le numéro de caméra et le nombre d'exécutions. 18

19 Protocole de communication Afin de pouvoir communiquer des demandes de traitements complexes, il fut nécessaire de définir un protocole de communication entre le logiciel de commande et le logiciel de vision. J'ai pour cela mis à profit les connaissances acquises lors du module d'as de la licence informatique. La recherche d'un langage fut axé autour de deux points importants : le respect des contraintes permettant de définir un langage analysable et la simplicité, ou le confort d'utilisation. Pour formaliser le langage, j'ai utilisé la syntaxe utilisée lors du projet de TP d'as. J'ai donc défini les règles syntaxiques en ayant préalablement annoncé les tokens utilisés. Le protocole est disponible en annexe 19

20 2) Architecture J'ai pris la liberté de ne pas tout inscrire sur le diagramme, notamment les fonctions et les attributs de chaque classe, afin d'alléger celui-ci et de rendre sa compréhension plus aisée. J'expliquerai ensuite quelques points importants de l'architecture. 1) Diagramme de classe Illustration 5: diagramme de classe 20

21 2) Les chaînes de traitements Dans une chaîne de traitements, l'image ou les résultats résultant d'un traitement doivent pouvoir être utilisés par plusieurs autre traitements. Et plusieurs traitements indépendants doivent s'exécuter en parallèle. Pour répondre à ce problème, la solution choisie a été de modéliser la chaîne de traitement sous la forme d'un arbre binaire. L'arbre est composé de deux types de nœuds, les nœuds associés aux traitements, et le nœud de tête. Le nœud de tête est créé à la réception d'une demande de traitements. Il récupère et conserve l'id, indispensable à l'identification de la réponse associée. Il demande la capture de l'image au module d'acquisition en fonction des informations relatives à la demande. La partie de la demande correspondant aux traitements est analysée afin de créer les nœuds fils, ce récursivement, afin de générer la chaîne de traitements. Chaque nœud s'exécute dans un thread indépendant dans le but de paralléliser les traitements. Illustration 6: exemple d'arbre généré à partir d'une demande 21

22 3) Les plugins Afin de satisfaire le besoin de modularité du programme, celui ci est séparé en trois parties : le cœur ou le moteur qui gère et traite les demandes, les plugins de traitements sur images et les plugins d'acquisition spécifiques à un type de caméras. Cela permettra de développer indépendamment ces modules. Ils pourront être compilés séparément et être testés directement sur le logiciel ce qui apportera un gain de temps et de productivité. L'application finale prenant place dans le système de micro-manipulation adapté aux besoins d'une utilisation spécifique, il sera donc aisé, de configurer le soft pour les caméras du système et les besoins en terme de traitements en chargeant les plugins correspondants. Les plugins de traitement sur images regroupent un ensemble de fonctions de vision par ordinateur. Chacune de ces fonctions pouvant être exécutée plusieurs fois simultanément pour pouvoir paralléliser l'exécution des traitements, il n'était donc pas envisageable, une fois le plugin chargé, d'appeler les fonctions directement. Pour résoudre ce problème, les plugins sont donc conçus sur le modèle du factory pattern, c'est à dire qu'ils comprennent une fonction qui permet de créer des objets correspondant aux fonctions de traitements. Pour pouvoir gérer plusieurs plugins, ceux-ci sont pilotés par un superviseur qui se charge de trouver la fonction demandée dans le bon plugin. Illustration 7: diagramme de classe des plugins de traitements Ainsi, pour récupérer la fonction de traitement (Process) désirée, l'élément de la chaîne de traitement (TaskNode) appelle la fonction de création de Process du superviseur. Celui-ci va déterminer dans quel plugin trouver la bonne fonction et appeler celle-ci. Il retournera ensuite le Process créé qui sera attribué à l'élément de la chaîne. Les plugins qui gèrent les caméras sont réalisés sur le même principe car il doit être possible de gérer, simultanément, plusieurs caméras du même type. 22

23 6)L'interface utilisateur Le soft sera utilisé en définitive par deux types d'utilisateurs. Selon le type d'utilisateur, son interface différera. Version de développement Le premier type d'utilisateurs regroupe les développeurs de Percipio-Robotics qui auront pour tâche le développement de modules de traitements d'image et de capture. La version sur laquelle ils travailleront disposera d'une interface qui fournira de nombreux outils qui permettent de faciliter leur travail. Cette version permettra de charger et décharger les plugins de façon dynamique. Les demandes pourront être entrées en lignes de commande en local. La vérification de l'exécution d'une chaîne de traitements, de façon précise, sera rendue possible par un mode pas à pas pour le retour visuel, et par un rendu détaillé des résultats du traitement. Version finale Le deuxième type d'utilisateurs concerne les opérateurs des entreprises dans lesquelles sera installé le système complet. Pour son utilisation l'interface sera réduite au minimum. Elle donnera accès à des fonctions simples comme démarrer et arrêter le système, visualiser les flux des caméras et à quelques liens comme le support technique de Percipio-robotics, éventuellement une aide en ligne ou hors ligne et les informations sur le soft. 23

24 7)Résultats Le développement de l'application a débuté il y a un mois. Aujourd'hui le logiciel remplit quelques-unes des fonctions principales. Il permet de charger les différents types de plugins et de traiter des chaînes de traitements demandées en local via l'interface de test. Sur les premiers tests, on peut remarquer des gains de performance significatifs par rapport à l'ancienne version. A noter qu'il sont en partie dûs aux outils utilisés, notamment une nouvelle version de la bibliothèque de vision. Ancienne version Nouvelle version Seuillage 7ms 1ms Détection de contours 9ms 2ms 24

25 5.Perspectives Mon stage étant actuellement au milieu de son déroulement, il reste encore beaucoup de chose à développer. Le module de communication Le module de communication n'a pas encore été conçu, deux possibilités sont envisageables quand à son implémentation : utiliser les fonctions C natives ou utiliser les méthode fournies par Qt. Une étude comparative des performances des deux solutions serait intéressante afin de réaliser le meilleur choix. Il est aussi question de concevoir un module, prenant place entre le module de communication et le module de traitement, qui permette de traduire dans le langage défini des demandes formulées avec un nouveau langage plus simple et de plus haut niveau. Les demandes reçues pourraient de plus être très modulaires et très simples. Ce nouveau langage permettra de spécifier des chaînes de traitements relativement courantes de façon simplifiée en s'affranchissant de la complexité de composition de la chaîne. Par exemple : Illustration 8: schéma de fonctionnement du module de traduction Test Une méthode de test devra être utilisée afin de garantir la robustesse du logiciel. 25

26 Interface utilisateur Une fois les fonctionnalités définies implémentées, je pourrai soumettre des idées pour améliorer l'expérience utilisateur. Fichier de configuration L'utilisation d'un fichier de configuration externe au programme pourrait être intéressante. Celui-ci pourra servir à définir, notamment, les plugins à utiliser et les paramètres d'initialisation des caméras pour l'utilisation du système intégré chez le client. De cette façon, si un besoin d'évolution se fait sentir, cela permettra de mettre à jour facilement et à distance l'installation du client. Documentation Je devrai également fournir une documentation complète du logiciel afin de faciliter sa compréhension, chose importante du fait que le soft sera utilisé par d'autres développeurs qui réaliseront les plugins nécessaires à la mise en place de nouveaux systèmes. 26

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

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

Architecture Logicielle

Architecture Logicielle Architecture Logicielle Chapitre 3: UML pour la description et la documentation d une architecture logicielle Année universitaire 2013/2014 Semestre 1 Rappel L architecture d un programme ou d un système

Plus en détail

Logiciel EV3 LEGO MINDSTORMS Education

Logiciel EV3 LEGO MINDSTORMS Education Robot éducateur : LEGO Education a le plaisir de vous présenter Robot éducateur, une sélection d'activités pédagogiques vous permettant de prendre en main votre EV3 LEGO MINDSTORMS Education de façon structurée

Plus en détail

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

DESCRIPTION DE L APPLICATION GEOANALYSTE

DESCRIPTION DE L APPLICATION GEOANALYSTE CRENAM Centre de REcherches sur l'environnement et l'aménagement CNRS UMR5600 / Université Jean Monnet Saint Etienne Renaud.Mayoud (Renaud.Mayoud@univ-st-etienne.fr) Thierry.Joliveau (Thierry.Joliveau@univ-st-etienne.fr)

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

Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco

Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco Livre blanc Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco Présentation Ce document examine la prise en charge de la programmabilité sur l'infrastructure axée

Plus en détail

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre Partie I : Introduction Plan de la première partie Quelques définitions Caractéristiques communes des applications temps-réel Exemples d

Plus en détail

DUT. Informatique, orientation Imagerie Numérique. Domaine : Sciences, Technologies, Santé. Mention : Informatique

DUT. Informatique, orientation Imagerie Numérique. Domaine : Sciences, Technologies, Santé. Mention : Informatique DUT Informatique, orientation Imagerie Numérique Domaine : Sciences, Technologies, Santé Mention : Informatique Organisation : Institut Universitaire de Technologie Lieu de formation : Le Puy en Velay

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

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada AJAX (Administrateur) (Dernière édition) Programme de formation Microsoft Partner France, Belgique, Suisse, Roumanie - Canada WWW.SASGROUPE.COM Formez vos salariés pour optimiser la productivité de votre

Plus en détail

Leica Application Suite

Leica Application Suite Leica Application Suite Macro Editor et Macro Runner (Éditeur de macros et Exécuteur de macros) Personnalisées et automatisées 2 Les instructions peuvent être momentanément suspendues» de manière optionnelle

Plus en détail

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C#

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# CHAPITRE 1 Introduction aux web services Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# NetBeans JavaScript Eclipse Objective C Xcode PHP HTML Objectifs du chapitre : Ce

Plus en détail

YZP 480...495 : SAUTER Vision Center

YZP 480...495 : SAUTER Vision Center YZP 480...495 : SAUTER Vision Center SAUTER Vision Center 3.0 - logiciel modulaire de gestion technique de bâtiments dernière génération pour des bâtiments efficaces en énergie Le SAUTER Vision Center

Plus en détail

1 JBoss Entreprise Middleware

1 JBoss Entreprise Middleware 1 JBoss Entreprise Middleware Les produits de la gamme JBoss Entreprise Middleware forment une suite de logiciels open source permettant de construire, déployer, intégrer, gérer et présenter des applications

Plus en détail

Hyper File 7 en mode réseau sur un serveur Windows NT4 / Windows 2000 / Windows 2003 : Optimisation de la vitesse I. Préambule

Hyper File 7 en mode réseau sur un serveur Windows NT4 / Windows 2000 / Windows 2003 : Optimisation de la vitesse I. Préambule en mode réseau sur un serveur Windows NT4 / Windows 2000 / Windows 2003 : Optimisation de la vitesse I. Préambule Ce document est fourni à titre purement informatif et n'est pas contractuel. Ces informations

Plus en détail

Programme de formation

Programme de formation INSCRIVEZ VOUS Formations sélectionnées et financées par le FAFIEC Programme de formation mardi 16 septembre 2014 Les Métiers du Test Module 5.2 - Automatisation des tests fonctionnels : HP Unified Functional

Plus en détail

Les CMSs, comment ça marche et comment choisir le bon CMS? (mon site, pas à pas)

Les CMSs, comment ça marche et comment choisir le bon CMS? (mon site, pas à pas) Les CMSs, comment ça marche et comment choisir le bon CMS? (mon site, pas à pas) Author : soufiane Bonjour, J'ai parlé dans les tutoriels précédents de la série "mon site, pas à pas" sur les divers langages

Plus en détail

1. Considérations sur le développement rapide d'application et les méthodes agiles

1. Considérations sur le développement rapide d'application et les méthodes agiles Chapitre 1 Introduction 1. Considérations sur le développement rapide d'application et les méthodes agiles 1.1 Rappel Longtemps les méthodes en cascade ou en V ont été opposées aux démarches empiriques

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

Fonctionnalités de développement

Fonctionnalités de développement 163 Chapitre 5 Fonctionnalités de développement 1. Optimisation des applications ASP.NET Fonctionnalités de développement 1.1 Présentation de ASP.NET ASP.NET est un ensemble de technologies créé par Microsoft

Plus en détail

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier

Plus en détail

Projet Active Object

Projet Active Object Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques

Plus en détail

Livre blanc Mesure des performances sous Windows Embedded Standard 7

Livre blanc Mesure des performances sous Windows Embedded Standard 7 Livre blanc Mesure des performances sous Windows Embedded Standard 7 Table des matières Résumé... 1 Introduction... 1 Utilisation de la boîte à outils Windows Performance Analysis... 2 Fonctionnement...

Plus en détail

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés

Plus en détail

La mesure des écarts en Sciences de l'ingénieur

La mesure des écarts en Sciences de l'ingénieur 1 sur 6 24/05/2015 18:44 La mesure des écarts en Sciences de l'ingénieur Gil Sause, Dominique Laporte La problématique L'enseignement des sciences de l'ingénieur (SI) au lycée s'inscrit dans une continuité

Plus en détail

F1 - Utilisez le Bureau Virtuel pour l'enseignement et le Travail Collaboratif p.5

F1 - Utilisez le Bureau Virtuel pour l'enseignement et le Travail Collaboratif p.5 Année 2013-2014 F1 - Utilisez le Bureau Virtuel pour l'enseignement et le Travail Collaboratif p.5 F2 - Utilisez l'environnement Numérique de Travail pour vos Enseignements p.6 F3 - Préparez une image

Plus en détail

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

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

Plus en détail

Windows 8 Installation et configuration

Windows 8 Installation et configuration Editions ENI Windows 8 Installation et configuration Collection Ressources Informatiques Extrait 112 Windows 8 Installation et configuration Pour terminer l'application de l'image, nous devons configurer

Plus en détail

Instructions de mise à jour du micrologiciel des lecteurs SSD clients Crucial

Instructions de mise à jour du micrologiciel des lecteurs SSD clients Crucial Instructions de mise à jour du micrologiciel des lecteurs SSD clients Crucial Présentation Au moyen de ce guide, un utilisateur peut effectuer une mise à jour du micrologiciel sur les SSD Crucial Client

Plus en détail

Prérequis : POO (Programmation Orientée Objet) et Python. Nous supposerons que PyQt est déjà installé et configuré. Sommaire du chapitre :

Prérequis : POO (Programmation Orientée Objet) et Python. Nous supposerons que PyQt est déjà installé et configuré. Sommaire du chapitre : Ce tutoriel est basé sur l'excellentissime tutoriel C++ http://www.siteduzero.com/tutoriel-3-11240-introduction-a-qt.html Je n'ai fait que l'adapter aux spécificité de python et PyQt Prérequis : POO (Programmation

Plus en détail

Présentation de la solution. HP Storage Essentials : le logiciel de gestion des performances des systèmes de stockage

Présentation de la solution. HP Storage Essentials : le logiciel de gestion des performances des systèmes de stockage Présentation de la solution HP Storage Essentials : le logiciel de gestion des performances des systèmes de stockage Le suivi et la gestion des performances de l'infrastructure de stockage sont la clé

Plus en détail

trigonométrie équations mécanique homographie vision pas ordinateur

trigonométrie équations mécanique homographie vision pas ordinateur robotique algorithmes simulation modélisation vecteurs géométrie analytique informatique cinématique inverse produit scalaire Rapport de stage trigonométrie équations mécanique Laboratoire Informatique

Plus en détail

modélisation solide et dessin technique

modélisation solide et dessin technique CHAPITRE 1 modélisation solide et dessin technique Les sciences graphiques regroupent un ensemble de techniques graphiques utilisées quotidiennement par les ingénieurs pour exprimer des idées, concevoir

Plus en détail

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» Du cours Modélisation Semi -Formelle de Système d Information Du Professeur Jean-Pierre GIRAUDIN Décembre. 2002 1 Table de matière Partie 1...2 1.1

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

ÉCONOMIE ET GESTION LYCÉES TECHNOLOGIQUE ET PROFESSIONNEL

ÉCONOMIE ET GESTION LYCÉES TECHNOLOGIQUE ET PROFESSIONNEL ÉCONOMIE ET GESTION LYCÉES TECHNOLOGIQUE ET PROFESSIONNEL Au niveau du second degré, l'économie et gestion recouvre un ensemble de champs disciplinaires relevant de l'économie, du droit, des sciences de

Plus en détail

Windows 8 Installation et configuration

Windows 8 Installation et configuration Editions ENI Windows 8 Installation et configuration Collection Ressources Informatiques Extrait 112 Windows 8 Installation et configuration Pour terminer l'application de l'image, nous devons configurer

Plus en détail

Licence Professionnelle Électronique Analogique et Micro Électronique PROJET TUTORE 2005-2006

Licence Professionnelle Électronique Analogique et Micro Électronique PROJET TUTORE 2005-2006 Licence Professionnelle Électronique Analogique et Micro Électronique PROJET TUTORE 2005-2006 Rudy ROBIN Dominique LEMAIRE année 2005/2006 Licence professionnelle Électronique Analogique et Micro Électronique

Plus en détail

GANTTPROJECT. Julien TENDERO

GANTTPROJECT. Julien TENDERO GANTTPROJECT Julien TENDERO SOMMAIRE : 1 -Introduction : 2 -Installation et utilisation : 3-Édition, compilation et exécution dans Eclipse : 4-Améliorations apportées : 5-Conclusion: 1 -Introduction :

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

Les traitements de texte : open office writer

Les traitements de texte : open office writer Les traitements de texte : open office writer Qu'est ce qu'un traitement de texte? Peut être le paragraphe qui passionnera le moins, il apparaît néanmoins nécessaire de savoir ce qu'est (de manière grossière)

Plus en détail

Présentation générale XProtect

Présentation générale XProtect Milestone Systems Présentation générale Logiciels de vidéosurveillance : une solution pour chaque problématique Milestone est un logiciel de vidéosurveillance puissant visant à faciliter la gestion des

Plus en détail

Note technique. Formats de compression vidéo utilisés par CamTrace V11 avantages et inconvénients.

Note technique. Formats de compression vidéo utilisés par CamTrace V11 avantages et inconvénients. Note technique Formats de compression vidéo utilisés par CamTrace V11 avantages et inconvénients. 1) Formats d'acquisition et de stockage utilisées par CamTrace. CamTrace n'effectue aucune compression

Plus en détail

TP 1 : prise en main de C#. Net sous Visual Studio 2010

TP 1 : prise en main de C#. Net sous Visual Studio 2010 Année universitaire : 2014-2015 Responsable : Sonia LAJMI Niveau Matière 2 ème année MPIM Management des Contenus Multimédia TP 1 : prise en main de C#. Net sous Visual Studio 2010 Dans ce tout premier

Plus en détail

Travail collaboratif. Glossaire

Travail collaboratif. Glossaire Glossaire Ajax Traduction anglaise : Ajax (Asynchronous JavaScript And XML) AJAX est un combiné de différents langages de développement Web comme XHTML, JavaScript ou XML, il est fréquemment utilisé pour

Plus en détail

Projet de Veille Technologique

Projet de Veille Technologique Projet de Veille Technologique Programmation carte à puce - JavaCard Ing. MZOUGHI Ines (i.mzoughi@gmail.com) Dr. MAHMOUDI Ramzi (mahmoudr@esiee.fr) TEST Sommaire Programmation JavaCard Les prérequis...

Plus en détail

Conservation des documents numériques

Conservation des documents numériques Conservation des documents numériques Qu'est ce qu'un document numérique? Matthieu GIOUX matthieu.gioux@bnf.fr Contexte de la préservation des documents numériques Une croissance en expansion Développement

Plus en détail

Microsoft Dynamics Mobile Development Tools

Microsoft Dynamics Mobile Development Tools Microsoft Dynamics Mobile Development Tools Microsoft Dynamics Mobile Development Tools AVANTAGES : Bâtir des solutions complètes avec Microsoft Dynamics. Créer rapidement des applications verticales à

Plus en détail

Module "Installer et configurer un PC"

Module Installer et configurer un PC Rapport d'activités Module "Installer et configurer un PC" (i-ch/ict 304) Auteur : Rafael Ruiz Classe : 1IIN Mandataire(s) : PLu Date : 14 novembre 2013 rapport d'activité.odt 1 / 11 PLu : 14/11/2013 Table

Plus en détail

ManageEngine IT360 : Gestion de l'informatique de l'entreprise

ManageEngine IT360 : Gestion de l'informatique de l'entreprise ManageEngine IT360 Présentation du produit ManageEngine IT360 : Gestion de l'informatique de l'entreprise Améliorer la prestation de service à l'aide d'une approche intégrée de gestion des performances

Plus en détail

Le stockage local de données en HTML5

Le stockage local de données en HTML5 Le stockage local HTML5, pourquoi faire? Dans une optique de réduction des couts de maintenance, de déploiement, beaucoup d'entreprises ont fait le choix de migrer leurs applicatifs (comptables, commerciales,

Plus en détail

IFT630 Processus concurrents et parallélisme. Projet final Rapport. Présenté à Gabriel Girard

IFT630 Processus concurrents et parallélisme. Projet final Rapport. Présenté à Gabriel Girard IFT630 Processus concurrents et parallélisme Projet final Rapport Présenté à Gabriel Girard par Alexandre Tremblay (06 805 200) Pierre-François Laquerre (05 729 544) 15 avril 2008 Introduction Après plusieurs

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

BACHELOR OF SCIENCE INFORMATICIEN-NE DE GESTION

BACHELOR OF SCIENCE INFORMATICIEN-NE DE GESTION Informatique de gestion BACHELOR OF SCIENCE HES-SO BACHELOR OF SCIENCE INFORMATICIEN-NE DE GESTION Plans d études et descriptifs des modules Filière à plein temps et à temps partiel Table des matières

Plus en détail

Bénéficiez d'un large choix d'applications novatrices et éprouvées basées sur les systèmes d'exploitation i5/os, Linux, AIX 5L et Microsoft Windows.

Bénéficiez d'un large choix d'applications novatrices et éprouvées basées sur les systèmes d'exploitation i5/os, Linux, AIX 5L et Microsoft Windows. 1. Le nouveau eserver i5 en bref Gérez plusieurs systèmes d'exploitation et environnements d'applications sur un seul serveur pour simplifier votre infrastructure et réduire les frais de gestion Simplifiez

Plus en détail

AUTOMATISATION DES TESTS FONCTIONNELS - HP UNIFIED FONCTIONAL TESTING (UFT)

AUTOMATISATION DES TESTS FONCTIONNELS - HP UNIFIED FONCTIONAL TESTING (UFT) AUTOMATISATION DES TESTS FONCTIONNELS - HP UNIFIED FONCTIONAL TESTING (UFT) REF : CQL08 DURÉE : 5 JOURS OBJECTIFS Maîtriser la démarche d automatisation des tests Savoir automatiser les tests fonctionnels

Plus en détail

http://www.linea21.com info@linea21.com

http://www.linea21.com info@linea21.com Livre blanc http://www.linea21.com SOMMAIRE SOMMAIRE... 1 PRESENTATION... 2 TIC ET DEVELOPPEMENT DURABLE... 3 PUBLIER ET COMMUNIQUER... 4 LES GROUPES DE TRAVAIL...5 LE TABLEAU DE BORD PERSONNALISE... 6

Plus en détail

Tutorat C/Unix : Un Rapido Client/Serveur

Tutorat C/Unix : Un Rapido Client/Serveur Tutorat C/Unix : Un Rapido Client/Serveur Nouredine Melab 1 Description générale du projet 1.1 Objectif L'objectif du projet est de concevoir et de réaliser un jeu de hasard dénommé Rapido. Un serveur

Plus en détail

Service de réplication des données HP pour la gamme de disques Continuous Access P9000 XP

Service de réplication des données HP pour la gamme de disques Continuous Access P9000 XP Service de réplication des données HP pour la gamme de disques Continuous Access P9000 XP Services HP Care Pack Données techniques Le service de réplication des données HP pour Continuous Access offre

Plus en détail

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie Chapitre I : Les bases du C++ Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie du logiciel, et ce depuis

Plus en détail

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

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

Plus en détail

1.1- Compiler et exécuter un premier programme en C++

1.1- Compiler et exécuter un premier programme en C++ 1.1- Compiler et exécuter un premier programme en C++ 1- Un premier programme en C++ 2- Compilation et exécution 1- Un premier programme en C++ Le premier programme que propose le cours consiste à afficher

Plus en détail

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET 1 Tianxiao LIU Licence Professionnelle Réseaux & Sécurité Université de Cergy-Pontoise http://depinfo.u-cergy.fr/~tliu/lpg.php PLAN Objectif et

Plus en détail

Microsoft Application Center Test

Microsoft Application Center Test Microsoft Application Center Test L'outil de Test de performance des Sites Web Avec Visual Studio.NET, il est fourni une petite application qui permet de valider la performance de son site Internet ou

Plus en détail

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Jade. Projet Intelligence Artificielle «Devine à quoi je pense» Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges

Plus en détail

Environnement logiciel open source pour la création d œuvres artistiques interactives

Environnement logiciel open source pour la création d œuvres artistiques interactives Environnement logiciel open source pour la création d œuvres artistiques interactives Stéphane Donikian IRISA/CNRS Campus de Beaulieu 35042, Rennes Cedex, France donikian@irisa.fr La création artistique

Plus en détail

CAHIER DE S CHARGE S Remote Workload Manager

CAHIER DE S CHARGE S Remote Workload Manager CAHIER DE S CHARGE S Remote Workload Manager équipe Regis Rouyard (rouyar_r) Jonathan Bouchot (boucho_o) Johan Massin (massin_j) Jacky Rouquette (rouque_j) Yannick Boillon (boillo_o) EPITECH INOVATION

Plus en détail

Architecture distribuée

Architecture distribuée Architecture distribuée Conception et développement d algorithmes distribués pour le moteur Baboukweb Jean-Christophe DALLEAU Département de Mathématiques et Informatique Université de La Réunion 26 juin

Plus en détail

Les clusters Linux. 4 août 2004 Benoît des Ligneris, Ph. D. benoit.des.ligneris@revolutionlinux.com. white-paper-cluster_fr.sxw, Version 74 Page 1

Les clusters Linux. 4 août 2004 Benoît des Ligneris, Ph. D. benoit.des.ligneris@revolutionlinux.com. white-paper-cluster_fr.sxw, Version 74 Page 1 Les clusters Linux 4 août 2004 Benoît des Ligneris, Ph. D. benoit.des.ligneris@revolutionlinux.com white-paper-cluster_fr.sxw, Version 74 Page 1 Table des matières Introduction....2 Haute performance (High

Plus en détail

Chapitre II : Interfaces Interpréteurs de commandes et interfaces graphiques

Chapitre II : Interfaces Interpréteurs de commandes et interfaces graphiques Chapitre II : Interfaces Interpréteurs de commandes et interfaces graphiques Interfaces Un SE a deux fonctions principales : Gestion des ressources matérielles Présentation d'une machine virtuelle à chaque

Plus en détail

Qlik Sense Desktop. Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Tous droits réservés.

Qlik Sense Desktop. Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Tous droits réservés. Qlik Sense Desktop Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Tous droits réservés. Copyright 1993-2015 QlikTech International AB. Tous droits réservés. Qlik, QlikTech, Qlik Sense,

Plus en détail

Brique BDL Gestion de Projet Logiciel

Brique BDL Gestion de Projet Logiciel Brique BDL Gestion de Projet Logiciel Processus de développement pratiqué à l'enst Sylvie.Vignes@enst.fr url:http://www.infres.enst.fr/~vignes/bdl Poly: Computer elective project F.Gasperoni Brique BDL

Plus en détail

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x WysiUpStudio CMS professionnel pour la création et la maintenance évolutive de sites et applications Internet V. 6.x UNE SOLUTION DE GESTION DE CONTENUS D UNE SOUPLESSE INÉGALÉE POUR CRÉER, MAINTENIR ET

Plus en détail

PFE Télécommunications. Pré-rapport à l'issue des 6 premières semaines de stage. Page 1 sur 5 1 %

PFE Télécommunications. Pré-rapport à l'issue des 6 premières semaines de stage. Page 1 sur 5 1 % PFE Télécommunications Pré-rapport à l'issue des 6 premières semaines de stage!"!"#$%&' ()*()!")+")# (#),()-,)*)"-./0 1 ()*()!")+-)# % 23 &0 )14) 56 7$8797%77:7' '72 Page 1 sur 5 Contexte Les centres de

Plus en détail

Business Intelligence avec SQL Server 2012

Business Intelligence avec SQL Server 2012 Editions ENI Business Intelligence avec SQL Server 2012 Maîtrisez les concepts et réalisez un système décisionnel Collection Solutions Informatiques Table des matières Les éléments à télécharger sont disponibles

Plus en détail

Sybase PowerAMC 16. Guide des nouvelles fonctionnalités générales. www.sybase.fr/poweramc DOCUMENTATION

Sybase PowerAMC 16. Guide des nouvelles fonctionnalités générales. www.sybase.fr/poweramc DOCUMENTATION Sybase PowerAMC 16 Guide des nouvelles fonctionnalités générales DOCUMENTATION 2 2 www.sybase.fr/poweramc A propos de PowerAMC 16 PowerAMC est une solution de modélisation d'entreprise graphique qui prend

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

TAGREROUT Seyf Allah TMRIM

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

Plus en détail

Concepteur Développeur Informatique Option Nomade

Concepteur Développeur Informatique Option Nomade Concepteur Développeur Informatique Option Nomade Module : Espace ouvert de formation (2 semaines) Ce module est composée de plusieurs parties : - le module développement durable (14 heures), qui traite

Plus en détail

Documentation utilisateur. [EIP] TransLSF

Documentation utilisateur. [EIP] TransLSF Documentation utilisateur [EIP] TransLSF Henri HARDILLIER - Thomas MOREL - Florian JOUSSEAU Alexis MONNIER - Keo KHEMARA - Leo MARTIN Stéphane RICARDO Résumé Ce document présente la documentation destinée

Plus en détail

Quel PC pour quels usages? 1) PC de Bureau ou Portable? Les différents types de portables. - Les ultra-portables. - Les portables généralistes

Quel PC pour quels usages? 1) PC de Bureau ou Portable? Les différents types de portables. - Les ultra-portables. - Les portables généralistes Avant toute chose, il faut savoir pour quel usage, vous désirez acquérir un ordinateur. En effet la configuration de votre ordinateur ne sera pas la même si vous désirez uniquement faire de la bureautique

Plus en détail

FICHE D ACTIVITE N 4 : APPLICATION SMARTPHONE DE GESTION DE FRAIS (ANDROID)

FICHE D ACTIVITE N 4 : APPLICATION SMARTPHONE DE GESTION DE FRAIS (ANDROID) FICHE D ACTIVITE N 4 : APPLICATION SMARTPHONE DE GESTION DE FRAIS (ANDROID) Table des matières I. Pôle de compétences concernées... 3 II. Circonstance et contexte... 3 III. Situation professionnelle et

Plus en détail

Éditions QAD On Demand est disponible en trois éditions standard : QAD On Demand is delivered in three standard editions:

Éditions QAD On Demand est disponible en trois éditions standard : QAD On Demand is delivered in three standard editions: QAD On Demand QAD On Demand est une option du déploiement de QAD Enterprise Applications. Grâce à elle, les utilisateurs tirent un profit maximum de QAD Enterprise Applications, partout dans le monde,

Plus en détail

Atelier thématique. Mardi 25 juin 2013. Avenue Gabriel Péri 84110 Vaison-la-Romaine ESPACES MULTIMEDIA

Atelier thématique. Mardi 25 juin 2013. Avenue Gabriel Péri 84110 Vaison-la-Romaine ESPACES MULTIMEDIA Mardi 25 juin 2013 Atelier thématique Avenue Gabriel Péri 84110 Vaison-la-Romaine Page 1 / 12 SOMMAIRE Une nouvelle interface pour de nouveaux appareils...3 Passer de l'écran d accueil au bureau...4 Le

Plus en détail

Le Workflow comme moteur des projets de conformité

Le Workflow comme moteur des projets de conformité White Paper Le Workflow comme moteur des projets de conformité Présentation Les entreprises sont aujourd'hui soumises aux nouvelles régulations, lois et standards de gouvernance les obligeant à mettre

Plus en détail

VISUALISATION EN TEMPS RÉEL PERSPECTIVES À POINT DE VUE MOBILE

VISUALISATION EN TEMPS RÉEL PERSPECTIVES À POINT DE VUE MOBILE 167 VISUALISATION EN TEMPS RÉEL DE J. SAPALY On sait que l'exploration visuelle consiste en une succession de fixations du regard, séparées par des mouvements oculaires saccadés, chaque fixation amenant

Plus en détail

Intervenants. Thomas d'erceville Project Manager. Christian NGUYEN Practice Manager IT Quality

Intervenants. Thomas d'erceville Project Manager. Christian NGUYEN Practice Manager IT Quality Intervenants Thomas d'erceville Project Manager Christian NGUYEN Practice Manager IT Quality 2 14/04/2015 De l'assurance qualité à l'ingénierie des tests logiciels 1. Contexte général des tests mobiles

Plus en détail

Nouveau Web Client marquant, Cumulus Video Cloud, optimisations de la base de données, et plus..

Nouveau Web Client marquant, Cumulus Video Cloud, optimisations de la base de données, et plus.. INFORMATION PRODUIT : Quoi de Neuf dans Cumulus 9.0? Nouveau Web Client marquant, Cumulus Video Cloud, optimisations de la base de données, et plus.. Les nouveautés marquantes et les améliorations disponibles

Plus en détail

Business Intelligence avec SQL Server 2012

Business Intelligence avec SQL Server 2012 Editions ENI Business Intelligence avec SQL Server 2012 Maîtrisez les concepts et réalisez un système décisionnel Collection Solutions Informatiques Extrait Alimenter l'entrepôt de données avec SSIS Business

Plus en détail

Retek Data Warehouse Web 3.0 Notes de publication

Retek Data Warehouse Web 3.0 Notes de publication Retek Data Warehouse Web 3.0 Notes de publication AIDER LA DISTRIBUTION A CREER, GERER ET SATISFAIRE LA DEMANDE DE SES CLIENTS Retek Data Warehouse Le logiciel décrit dans cette documentation est fourni

Plus en détail

µrv : Realité Virtuelle

µrv : Realité Virtuelle µrv : Realité Virtuelle Edgar-Fernando ARRIAGA-GARCIA Charles-Henri BABIAUD Clément GRELLIER Quentin PETIT Jérôme Ricoeur Florent VIOLLEAU INSA Rennes 21 septembre 2011 1 / 15 Objectifs pour cette semaine

Plus en détail

SOUTIEN INFORMATIQUE DEP 5229

SOUTIEN INFORMATIQUE DEP 5229 SOUTIEN INFORMATIQUE DEP 5229 Le Diplôme d études professionnelles D.E.P. en soutien informatique a une durée totale de 1800 heures à temps plein. Le programme permet de développer les compétences nécessaires

Plus en détail

Workflow. François Bailly Christophe Brion M2 SID Miage Nancy

Workflow. François Bailly Christophe Brion M2 SID Miage Nancy Workflow François Bailly Christophe Brion M2 SID Miage Nancy Sommaire Introduction Description et bref historique Fonctionnement des Workflow Règles de conception Avantages et problèmes relatifs à l'entreprise

Plus en détail

Cybernet : Utilisation de métaphores et des techniques de réalité virtuelle pour la représentation de données. Application à la gestion de réseau.

Cybernet : Utilisation de métaphores et des techniques de réalité virtuelle pour la représentation de données. Application à la gestion de réseau. Cybernet : Utilisation de métaphores et des techniques de réalité virtuelle pour la représentation de données. Application à la gestion de réseau. P. Abel*, P. Gros*, D. Loisel* & J.P. Paris** Institut

Plus en détail

Nécessité de concevoir un outil de recherche PDF... 3. Présentation des fonctionnalités d'indexation et de recherche... 3

Nécessité de concevoir un outil de recherche PDF... 3. Présentation des fonctionnalités d'indexation et de recherche... 3 1 Table des matières Nécessité de concevoir un outil de recherche PDF... 3 Présentation des fonctionnalités d'indexation et de recherche... 3 Architecture IFilter... 4 Performances et extensibilité : des

Plus en détail