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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

É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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

É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

Microsoft Dynamics AX 2012 Une nouvelle génération de système ERP

Microsoft Dynamics AX 2012 Une nouvelle génération de système ERP Microsoft Dynamics AX 2012 Une nouvelle génération de système ERP Microsoft Dynamics AX 2012 n'est pas seulement la dernière version d'un excellent produit. Cette solution représente en fait un véritable

Plus en détail

Préparer la synchronisation d'annuaires

Préparer la synchronisation d'annuaires 1 sur 6 16/02/2015 14:24 En utilisant ce site, vous autorisez les cookies à des fins d'analyse, de pertinence et de publicité En savoir plus France (Français) Se connecter Rechercher sur TechNet avec Bing

Plus en détail

Projet de programme pour l enseignement d exploration de la classe de 2 nde : Informatique et création numérique

Projet de programme pour l enseignement d exploration de la classe de 2 nde : Informatique et création numérique Projet de programme pour l enseignement d exploration de la classe de 2 nde : Informatique et création numérique 19 mai 2015 Préambule L informatique est tout à la fois une science et une technologie qui

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

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

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

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

Projet : PcAnywhere et Le contrôle à distance.

Projet : PcAnywhere et Le contrôle à distance. Projet : PcAnywhere et Le contrôle à distance. PAGE : 1 SOMMAIRE I)Introduction 3 II) Qu'est ce que le contrôle distant? 4 A.Définition... 4 B. Caractéristiques.4 III) A quoi sert le contrôle distant?.5

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

v7.1 SP2 Guide des Nouveautés

v7.1 SP2 Guide des Nouveautés v7.1 SP2 Guide des Nouveautés Copyright 2012 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,

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

Master Energie spécialité Energie électrique

Master Energie spécialité Energie électrique 03/12/2013 http://www.univ-fcomte.fr Master Energie spécialité Energie UFR Sciences, techniques, et gestion de l'industrie http://stgi.univ-fcomte.fr/ Dénomination officielle : Master Sciences, technologies,

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

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

EIP 2012 Projet Livepad. Documentation technique 1.5

EIP 2012 Projet Livepad. Documentation technique 1.5 EIP 2012 Projet Livepad 1.5 Marc Mathieu Benjamin Netter David Ngo Pierre Pasteau Denis Togbe 12-01-2012 Informations sur le projet Groupe Nom du projet Type de document Marc Mathieu Benjamin Netter David

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

ACTIVITÉ DE PROGRAMMATION

ACTIVITÉ DE PROGRAMMATION ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,

Plus en détail

Chapitre 1 Introduction

Chapitre 1 Introduction Les éléments à télécharger sont disponibles à l'adresse suivante : http://www.editions-eni.fr Saisissez la référence ENI de l'ouvrage SOBI10SHA dans la zone de recherche et validez. Cliquez sur le titre

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

UN EXEMPLE DE CYBERENSEIGNEMENT EN CHIMIE

UN EXEMPLE DE CYBERENSEIGNEMENT EN CHIMIE 123 UN EXEMPLE DE CYBERENSEIGNEMENT EN CHIMIE Résumé Cet article décrit la création d un centre serveur sous le système d exploitation Linux, avec le serveur web Apache, ainsi que le développement d un

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

CA ARCserve Backup. Avantages. Vue d'ensemble. Pourquoi choisir CA

CA ARCserve Backup. Avantages. Vue d'ensemble. Pourquoi choisir CA DOSSIER SOLUTION : CA ARCSERVE BACKUP R12.5 CA ARCserve Backup CA ARCSERVE BACKUP, LOGICIEL DE PROTECTION DE DONNÉES LEADER DU MARCHÉ, INTÈGRE UNE TECHNOLOGIE DE DÉDUPLICATION DE DONNÉES INNOVANTE, UN

Plus en détail

Retrouver de vieux programmes et jouer sur VirtualBox

Retrouver de vieux programmes et jouer sur VirtualBox CHAPITRE 3 Retrouver de vieux programmes et jouer sur VirtualBox Ce chapitre présente des notions avancées de VirtualBox. Elles permettront de réaliser des configurations spécifiques pour évaluer des systèmes

Plus en détail

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques livre blanc DÉVELOPPEMENT INFONUAGIQUE MEILLEURES PRATIQUES ET APPLICATIONS DE SOUTIEN DÉVELOPPEMENT INFONUAGIQUE - MEILLEURES PRATIQUES 1 Les solutions infonuagiques sont de plus en plus présentes sur

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

1. Développement embarqué. André KPOZEHOUE DOMAINES DE COMPETENCES CONNAISSANCES TECHNIQUES

1. Développement embarqué. André KPOZEHOUE DOMAINES DE COMPETENCES CONNAISSANCES TECHNIQUES André KPOZEHOUE 11 Rue Georges Teissier, 42000 Saint-Etienne. Téléphone : 06 34 95 30 57 / 09 53 11 29 77 e-mail : kpoand@yahoo.fr Identifiant Skype : kpozehoue Mobilité géographique : France entière Disponibilité

Plus en détail

WEA Un Gérant d'objets Persistants pour des environnements distribués

WEA Un Gérant d'objets Persistants pour des environnements distribués Thèse de Doctorat de l'université P & M Curie WEA Un Gérant d'objets Persistants pour des environnements distribués Didier Donsez Université Pierre et Marie Curie Paris VI Laboratoire de Méthodologie et

Plus en détail

Auteur LARDOUX Guillaume Contact guillaume.lardoux@epitech.eu Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

Auteur LARDOUX Guillaume Contact guillaume.lardoux@epitech.eu Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA Auteur LARDOUX Guillaume Contact guillaume.lardoux@epitech.eu Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA Sommaire 1. Introduction 2. Installation 3. Fonctionnement 4. Développement 5. Démonstration 2

Plus en détail

Sage CRM. 7.2 Guide de Portail Client

Sage CRM. 7.2 Guide de Portail Client Sage CRM 7.2 Guide de Portail Client Copyright 2013 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,

Plus en détail

Découverte des tablettes tactiles (ipad d'apple et Galaxy Tab de Samsung

Découverte des tablettes tactiles (ipad d'apple et Galaxy Tab de Samsung Pourquoi découvrir ces tablettes tactiles? L arrivée des tablettes tactiles sur le marché des outils numériques fait apparaître de nouvelles habitudes dans les technologies de l information et de la communication.

Plus en détail

Logiciel de télégestion ACS série 700

Logiciel de télégestion ACS série 700 5 640 Logiciel de télégestion ACS série 700 Il intègre différents modules logiciels : un logiciel de gestion, un logiciel graphique, un logiciel d'alarme, un logiciel d'appels automatiques et un logiciel

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

Digicomp 2. Bienvenue à la présentation «Windows 10 What's new»

Digicomp 2. Bienvenue à la présentation «Windows 10 What's new» Digicomp 2 Bienvenue à la présentation «Windows 10 What's new» 3 Contenu de la présentation Les objectifs de Microsoft L'interface utilisateur La sécurité Nouvelles applications Gestion dans l'entreprise

Plus en détail

Questions fréquentes sur les tarifs et les licences Windows Server 2012

Questions fréquentes sur les tarifs et les licences Windows Server 2012 Questions fréquentes sur les tarifs et les licences Windows Server 2012 Sommaire Éditions Windows Server 2012 Datacenter et Standard... 4 Q1. Quelles sont les nouveautés de Windows Server 2012?... 4 Q2.

Plus en détail

Peregrine. AssetCenter. Product Documentation. Solution Asset Tracking. Part No. DAC-441-FR38. Build 49

Peregrine. AssetCenter. Product Documentation. Solution Asset Tracking. Part No. DAC-441-FR38. Build 49 Peregrine AssetCenter Product Documentation Solution Asset Tracking Part No. DAC-441-FR38 Build 49 AssetCenter Copyright 2005 Peregrine Systems, Inc. Tous droits réservés. Les informations contenues dans

Plus en détail

Retrospect 7.7 Addendum au Guide d'utilisation

Retrospect 7.7 Addendum au Guide d'utilisation Retrospect 7.7 Addendum au Guide d'utilisation 2011 Retrospect, Inc. Certaines parties 1989-2010 EMC Corporation. Tous droits réservés. Guide d utilisation d Retrospect 7.7, première édition. L utilisation

Plus en détail

ABACUS vi Version Internet (release 2010)

ABACUS vi Version Internet (release 2010) ABACUS vi Version Internet (release 2010) Un aperçu du logiciel de gestion d'entreprise: FAQ Aperçu ABACUS vi est un logiciel de gestion d'entreprise entièrement nouveau dans l'architecture de l'internet.

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

Service d'installation et de démarrage de la solution de stockage réseau HP StoreEasy 1000/3000

Service d'installation et de démarrage de la solution de stockage réseau HP StoreEasy 1000/3000 Service d'installation et de démarrage de la solution de stockage réseau Services HP Données techniques Le service d'installation et de démarrage de la solution de stockage réseau offre l'installation

Plus en détail

CINEMATIQUE DE FICHIERS

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

Plus en détail

LICENCE : INFORMATIQUE GENERALE

LICENCE : INFORMATIQUE GENERALE LICENCE : INFORMATIQUE GENERALE RÉSUMÉ DE LA FORMATION Type de diplôme : Licence (LMD) Domaine : Sciences, Ingénierie et Technologies Mention : Informatique générale Objectifs Le diplôme offre une formation

Plus en détail

Types de REA produites dans le cadre de la séquence pédagogique

Types de REA produites dans le cadre de la séquence pédagogique Scénario pédagogique APPRENDRE À ENSEIGNER AUTREMENT Description générale du scénario Titre Les bases de données relationnelles Résumé Dans le cadre d'un cours à distance, la visioconférence est une REA

Plus en détail

Distinguer entre «Enregistrer» et «Sauvegarder»

Distinguer entre «Enregistrer» et «Sauvegarder» Compétence D1.4 IV - : Pérenniser ses données IV Assurer une sauvegarde 33 Compresser / Décompresser un fichier ou un ensemble de fichiers / dossiers 35 A. Assurer une sauvegarde Distinguer entre «Enregistrer»

Plus en détail

Galaxy est une plateforme de traitements (bio)informatiques accessible depuis l'url : (en précisant votre login et mot de passe LDAP «genotoul»).

Galaxy est une plateforme de traitements (bio)informatiques accessible depuis l'url : (en précisant votre login et mot de passe LDAP «genotoul»). Galaxy est une plateforme de traitements (bio)informatiques accessible depuis l'url : (en précisant votre login et mot de passe LDAP «genotoul»). http://galaxy-workbench.toulouse.inra.fr/ Quelque soit

Plus en détail

Sébastien Sougnez 24/12/1987 0032498084119 / 0032499642506 s.sougnez@areaprog.com 2 ans et demi d expérience

Sébastien Sougnez 24/12/1987 0032498084119 / 0032499642506 s.sougnez@areaprog.com 2 ans et demi d expérience Données personnelles Sébastien Sougnez 24/12/1987 0032498084119 / 0032499642506 s.sougnez@areaprog.com 2 ans et demi d expérience Expériences professionnelles / Avril 2010 (Consultant SharePoint) Octobre

Plus en détail

Gestion du centre de données et virtualisation

Gestion du centre de données et virtualisation Gestion du centre de données et virtualisation Microsoft Corporation Juin 2010 Les informations contenues dans ce document représentent l'opinion actuelle de Microsoft Corporation sur les points cités

Plus en détail

Analyse comparative entre différents outils de BI (Business Intelligence) :

Analyse comparative entre différents outils de BI (Business Intelligence) : Analyse comparative entre différents outils de BI (Business Intelligence) : Réalisé par: NAMIR YASSINE RAGUI ACHRAF Encadré par: PR. L. LAMRINI Dans le domaine d économies des Big Data et Open Data, comment

Plus en détail

DESIGN WEB & INTERACTIF INTERACTIVE DESIGN HIGHER NATIONAL DIPLOMA EN MÉDIAS INTERACTIFS

DESIGN WEB & INTERACTIF INTERACTIVE DESIGN HIGHER NATIONAL DIPLOMA EN MÉDIAS INTERACTIFS DESIGN WEB & INTERACTIF INTERACTIVE DESIGN HIGHER NATIONAL DIPLOMA EN MÉDIAS INTERACTIFS NIVEAU III (BAC + 2) - 120 ECTS Expertises : web design, applications, méthode et concepts, prototypage, infographie,

Plus en détail