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

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

0- Le langage C++ 1- Du langage C au langage C++ 2- Quelques éléments sur le langage. 3- Organisation du cours

0- Le langage C++ 1- Du langage C au langage C++ 2- Quelques éléments sur le langage. 3- Organisation du cours 0- Le langage C++ 1- Du langage C au langage C++ 2- Quelques éléments sur le langage 3- Organisation du cours Le présent cours constitue une introduction pour situer le langage C++, beaucoup des concepts

Plus en détail

RÉSUMÉ DU TRAVAIL DE DIPLÔME

RÉSUMÉ DU TRAVAIL DE DIPLÔME Filière d'informatique de gestion Travail de diplôme ÉTUDE ORACLE XE & APEX RÉSUMÉ DU TRAVAIL DE DIPLÔME AUTEUR: BRUNO DA COSTA RESPONSABLE DU PROJET: FABRICE CAMUS MANDANT: LABORATOIRE DE GÉNIE LOGICIEL

Plus en détail

Annexe : La Programmation Informatique

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

Plus en détail

PROJET DE FIN D ÉTUDES Asservissement visuel d un robot parallèle à câbles pour la réalisation d une fresque verticale de grande taille

PROJET DE FIN D ÉTUDES Asservissement visuel d un robot parallèle à câbles pour la réalisation d une fresque verticale de grande taille Résumé de PFE PROJET DE FIN D ÉTUDES Asservissement visuel d un robot parallèle à câbles pour la réalisation d une fresque verticale de grande taille Introduction Dans le domaine de la robotique, la robotique

Plus en détail

Projet Master 1ere année Sujet n 13 :

Projet Master 1ere année Sujet n 13 : BANON Daniel CAPON François CARRERE Jean-Charles IUP Avignon Master 1 TAIM Projet Master 1ere année Sujet n 13 : Interactions audio sur le site web du LIA A l attention de messieurs Nocéra, Favre et Larcher

Plus en détail

Le client/serveur repose sur une communication d égal à égal entre les applications.

Le client/serveur repose sur une communication d égal à égal entre les applications. Table des matières LES PRINCIPES DE BASE... 1 Présentation distribuée-revamping...2 Présentation distante...3 Traitements distribués...3 données distantes-rd...4 données distribuées-rda distribué...4 L'ARCHITECTURE

Plus en détail

Conduite et Gestion de Projet Professionnel Cahier des charges Projet: Robot

Conduite et Gestion de Projet Professionnel Cahier des charges Projet: Robot Conduite et Gestion de Projet Professionnel Cahier des charges Projet: Robot Makhlouf OUBACHA Salima OUZZMAN Stevens RABEHAJA Armelle HOUNDJO Mercredi 04 février 2015 1 Table des matières 1 But du projet

Plus en détail

Présentation du projet:

Présentation du projet: : Le but du projet est de réaliser le fonctionnement d'un jeu d échec valide. Plus spécifiquement, il consiste à implémenter l'organisation générale du jeu, et le suivi des règles du mouvement des pièces.

Plus en détail

LES COURS ONLINE. ar des étudiants our des étudiants. Olden Fabre, Cynthia Thimon, Jakub Kaluza, Jean Desravines, Oliver Hamm

LES COURS ONLINE. ar des étudiants our des étudiants. Olden Fabre, Cynthia Thimon, Jakub Kaluza, Jean Desravines, Oliver Hamm LES COURS ONLINE P ar des étudiants our des étudiants Olden Fabre, Cynthia Thimon, Jakub Kaluza, Jean Desravines, Oliver Hamm C AHIER DES CHARGES I - Préface...4 II - Introduction...5 III - Glossaire...6

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

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

RAPPORT DE STAGE GENERATION DE TESTS POUR AMELIORER DES OUTILS DE CALCUL DE TEMPS D'EXECUTION PIRE CAS

RAPPORT DE STAGE GENERATION DE TESTS POUR AMELIORER DES OUTILS DE CALCUL DE TEMPS D'EXECUTION PIRE CAS Université Joseph Fourier Département Licence Sciences & Technologie RAPPORT DE STAGE GENERATION DE TESTS POUR AMELIORER DES OUTILS DE CALCUL DE TEMPS D'EXECUTION PIRE CAS Laboratoire d'accueil : Verimag

Plus en détail

Plus De Cartouches 2013/2014

Plus De Cartouches 2013/2014 Plus De Cartouches 2013/2014 Page 1 SOMMAIRE INTRODUCTION ET PRESENTATION...3 MISSIONS...4 LE CONTEXTE DES MISSIONS...4 LES OBJECTIFS...4 LES CONTRAINTES...5 REALISATIONS...6 CHOIX EFFECTUÉS...6 RÉSULTATS...10

Plus en détail

LES COURS ONLINE. ar des étudiants our des étudiants. Olden Fabre, Cynthia Thimon, Jakub Kaluza, Jean Desravines, Oliver Hamm

LES COURS ONLINE. ar des étudiants our des étudiants. Olden Fabre, Cynthia Thimon, Jakub Kaluza, Jean Desravines, Oliver Hamm LES COURS ONLINE P ar des étudiants our des étudiants Olden Fabre, Cynthia Thimon, Jakub Kaluza, Jean Desravines, Oliver Hamm CAHIER DES CHARGES I - Préface...4 II - Introduction...5 III - Glossaire...6

Plus en détail

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

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

Plus en détail

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

Mieux développer avec. Qt Designer. Présenté par. KDevelop. Yassine CHAOUCHE

Mieux développer avec. Qt Designer. Présenté par. KDevelop. Yassine CHAOUCHE Mieux développer avec Qt Designer Présenté par Yassine CHAOUCHE & Tarik ALLA & KDevelop Sommaire K'est ce que c'est? (intro) Tour d'horizon (démo) Signaux et récépteurs Première application (démo) Conclusion

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

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

Guide d'installation de Citrix EdgeSight pour test de charge. Citrix EdgeSight pour test de charge 3.8

Guide d'installation de Citrix EdgeSight pour test de charge. Citrix EdgeSight pour test de charge 3.8 Guide d'installation de Citrix EdgeSight pour test de charge Citrix EdgeSight pour test de charge 3.8 Copyright L'utilisation du produit documenté dans ce guide est soumise à l'acceptation préalable du

Plus en détail

Morgan Beau Nicolas Courazier

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

Plus en détail

FileMaker Pro 14. Utilisation d'une Connexion Bureau à distance avec FileMaker Pro 14

FileMaker Pro 14. Utilisation d'une Connexion Bureau à distance avec FileMaker Pro 14 FileMaker Pro 14 Utilisation d'une Connexion Bureau à distance avec FileMaker Pro 14 2007-2015 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054

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

La Méthode AS3 Facile

La Méthode AS3 Facile La Méthode AS3 Facile Déclaration d'activité enregistrée sous le n 52 44 06789 44 auprès du Préfet de région des Pays de la Loire. Format du cours :Plate-forme d apprentissage numérique donnant accès à

Plus en détail

MODELE D UN RAPPORT DE STAGE DE BAC PRO ELECTROTECHNIQUE

MODELE D UN RAPPORT DE STAGE DE BAC PRO ELECTROTECHNIQUE MODELE D UN RAPPORT DE STAGE DE BAC PRO ELECTROTECHNIQUE [Prénom Nom] Rapport sur le stage effectué du [date] au [date] Dans la Société : [NOM DE LA SOCIETE : Logo de la société] à [Ville] [Intitulé du

Plus en détail

Programme de la licence informatique, université de Caen http://www.info.unicaen.fr

Programme de la licence informatique, université de Caen http://www.info.unicaen.fr Programme de la licence informatique, université de Caen http://www.info.unicaen.fr Unité Systèmes d'information CM : 45h - TD : 60h - TP : 12h - Coeff 2 Systèmes de Gestion de Bases de Données Modéliser

Plus en détail

RAPPORT DE CONCEPTION UML :

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

Plus en détail

14 Le langage Java : concepts et pratique

14 Le langage Java : concepts et pratique Avant-propos Le langage Java, né en janvier 1995 chez Sun, est un langage à objets qui permet d écrire de façon simple et claire des programmes portables sur la majorité des plateformes. Lié à l essor

Plus en détail

Rapport de Stage Pulido Julien. BTS SIO 2ème année Option Solutions Logicielles et Applications Métiers

Rapport de Stage Pulido Julien. BTS SIO 2ème année Option Solutions Logicielles et Applications Métiers BTS SIO 2ème année Option Solutions Logicielles et Applications Métiers 19 Janvier au 6 Mars 2015 BTS SIO 2ème année Table des matières I. REMERCIEMENTS... 2 II. PRESENTATION DE L ENTREPRISE... 3 III.

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

www.konicaminolta.fr DocMaster La parfaite maîtrise du cycle de production documentaire * L essentiel de l image

www.konicaminolta.fr DocMaster La parfaite maîtrise du cycle de production documentaire * L essentiel de l image www.konicaminolta.fr DocMaster La parfaite maîtrise du cycle de production documentaire * L essentiel de l image * Solution de gestion documentaire DocMaster Avec DocMaster... maîtrisez votre cycle de

Plus en détail

La version 12 de PaperPort s est enrichie de nombreuses fonctions qui vont vous aider à gérer encore plus efficacement l ensemble de vos documents.

La version 12 de PaperPort s est enrichie de nombreuses fonctions qui vont vous aider à gérer encore plus efficacement l ensemble de vos documents. Bienvenue! Nuance PaperPort est un logiciel de gestion documentaire qui vous permet de numériser, d organiser, de consulter, de manipuler et de partager vos documents papier et vos fichiers numériques

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

Chapitre 1. Notions de base

Chapitre 1. Notions de base The GIMP est un logiciel libre et gratuit dédié à la création et la manipulation d images. Au départ, il est prévu pour fonctionner sous des systèmes compatibles UNIX (Linux, par exemple).the GIMP a été

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

JXDVDTek - UNE DVDTHEQUE EN JAVA ET XML

JXDVDTek - UNE DVDTHEQUE EN JAVA ET XML BALLOTE Nadia FRIULI Valerio GILARDI Mathieu IUT de Nice Licence Professionnelle des Métiers de l Informatique RAPPORT DU PROJET : JXDVDTek - UNE DVDTHEQUE EN JAVA ET XML Encadré par : M. CRESCENZO Pierre

Plus en détail

ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges. c Copyleft 2006, ELSE Team

ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges. c Copyleft 2006, ELSE Team ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges c Copyleft 2006, ELSE Team 18 avril 2006 Table des matières 1 Introduction 2 2 Présentation du projet 3 2.1 Une distribution Évolulable..................

Plus en détail

Projet informatique UML-Cpp avec QT4

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

Plus en détail

Clément MILVILLE / Edouard SIMON. Projet CodeWar. Enseignant tuteur: Michaël Hauspie 1/17

Clément MILVILLE / Edouard SIMON. Projet CodeWar. Enseignant tuteur: Michaël Hauspie 1/17 Projet CodeWar Enseignant tuteur: Michaël Hauspie 1/17 2/17 Remerciements: Nous tenons à remercier tout particulièrement notre tuteur M. Michaël HAUSPIE pour son aide, ses conseils, ses avis et sa disponibilité

Plus en détail

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

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

Plus en détail

Server. Mac OS X. l Admin. Cahiers. Jacques Foucry. Collection dirigée par Nat Makarévitch. Avec la contribution de Martine Chalmond

Server. Mac OS X. l Admin. Cahiers. Jacques Foucry. Collection dirigée par Nat Makarévitch. Avec la contribution de Martine Chalmond Jacques Foucry Cahiers de l Admin Mac OS X Server Collection dirigée par Nat Makarévitch Avec la contribution de Martine Chalmond, ISBN : 2-212-11282-3 Étude de cas 1 Mac OS X Licences Intégration Facilité

Plus en détail

LA GESTION D ASTREINTE White Paper

LA GESTION D ASTREINTE White Paper LA GESTION D ASTREINTE White Paper GENERALITES SUR LA GESTION D ASTREINTE :... 2 POURQUOI METTRE EN PLACE UNE GESTION D ASTREINTE AUTOMATISEE?... 2 LA TRANSMISSION DE L INFORMATION, LE NERF DE LA GESTION

Plus en détail

Informatique pour Tous

Informatique pour Tous Informatique pour Tous Introduction et plan d'un cours en 15 chapitres François Guiberteau Introduction Analogie L'apprentissage de notions nouvelles, souvent abstraites, est complexe. L'informatique fait

Plus en détail

Fiche de lecture de PFE Guillaume HEMMERTER

Fiche de lecture de PFE Guillaume HEMMERTER 1. INTRODUCTION Les maîtres d ouvrage ou propriétaires de patrimoine immobilier qui s engagent dans la construction ou la rénovation d installations climatiques veulent avoir la certitude d obtenir le

Plus en détail

Gé nié Logiciél Livré Blanc

Gé nié Logiciél Livré Blanc Gé nié Logiciél Livré Blanc Version 0.2 26 Octobre 2011 Xavier Blanc Xavier.Blanc@labri.fr Partie I : Les Bases Sans donner des définitions trop rigoureuses, il faut bien commencer ce livre par énoncer

Plus en détail

Rapport de gestion de projet

Rapport de gestion de projet Rapport de gestion de projet Affectation des projets de programmation aux étudiants Université Montpellier II Licence 3 Lamant Adrien, Rogery Arthur, Maher Ishak April 2015 1 Membres de l équipe de développement

Plus en détail

CONDUITE & GESTION DE PROJET

CONDUITE & GESTION DE PROJET LES THEMES DU PROGRAMME PEDAGOGIQUE CONDUITE & GESTION DE PROJET Techniques de gestion de projets Connaître le rôle d un chef de projet dans la conduite de projet. Les méthodes, les techniques et les outils

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

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel. Méthode de Test Pour WIKIROUTE Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel. [Tapez le nom de l'auteur] 10/06/2009 Sommaire I. Introduction...

Plus en détail

Typologie du logiciel. Typologie du logiciel. Ordinateur? ORDINATEUR. Computer = Hardware + Software. Ordinateur = Matériel + Logiciel

Typologie du logiciel. Typologie du logiciel. Ordinateur? ORDINATEUR. Computer = Hardware + Software. Ordinateur = Matériel + Logiciel Architecture Logicielle des Systèmes d Information (ALSI) Ordinateur? ORDINATEUR MATERIEL Computer = Hardware + Software Septembre 2010 Sources: GJL, Wikipédia,, Internet Ordinateur = Matériel + Logiciel

Plus en détail

Le Framework.Net. Introduction. Pourquoi.Net?

Le Framework.Net. Introduction. Pourquoi.Net? Introduction. Pourquoi.Net? Le Framework.Net Cela fait une dizaine d'années que le monde du développement est bouleversé d'une part par la programmation objet et d'autre part par les applications web.

Plus en détail

Bases de la Bureautique septembre 2014

Bases de la Bureautique septembre 2014 Le matériel informatique : Unité centrale Un réseau en entreprise Un schéma type de l implantation de l'informatique dans une grande entreprise : le serveur centralise les mails, l'agenda, les données.

Plus en détail

Plateforme de capture et d analyse de sites Web AspirWeb

Plateforme de capture et d analyse de sites Web AspirWeb Projet Java ESIAL 2A 2009-2010 Plateforme de capture et d analyse de sites Web AspirWeb 1. Contexte Ce projet de deuxième année permet d approfondir par la pratique les méthodes et techniques acquises

Plus en détail

Création d un module complet de sondage en ligne

Création d un module complet de sondage en ligne Sté KOTAO StillinContact.com 6 Avenue du Tregor 190 PLERIN Création d un module complet de sondage en ligne Mini Rapport de stage TANGUY Arnaud Département Informatique I.U.T de Lannion 6 Juin 005 INTRODUCTION

Plus en détail

Programmation Avancée pour le Web

Programmation Avancée pour le Web L3 Informatique Option : ISIL Programmation Avancée pour le Web RAMDANI Med U Bouira 1 Contenu du module Introduction aux applications Web Rappels sur les sites Web Conception d une application Web Notion

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

Introduction. Pourquoi Silverlight?

Introduction. Pourquoi Silverlight? Pourquoi Silverlight? Si le Web ne cesse d évoluer et de s accroître, on peut en dire autant des attentes des utilisateurs. Lorsque le premier navigateur Web a été développé, il était destiné à fournir

Plus en détail

PG208, Projet n 3 : Serveur HTTP évolué

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

Plus en détail

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

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

Windows Data Recovery 6.0

Windows Data Recovery 6.0 Stellar Phoenix Windows Data Recovery 6.0 Guide d'installation Présentation Avec le logiciel Stellar Phoenix Windows Data Recovery vous pouvez récupérer presque tout. Le Stellar Phoenix Windows Data Recovery

Plus en détail

Introduction. À qui s adresse cet ouvrage?

Introduction. À qui s adresse cet ouvrage? Introduction Pourquoi ce livre? Dans le classement Tiobe, classement des langages les plus populaires, Python est placé huitième avec une augmentation de son utilisation en entreprise par rapport à l année

Plus en détail

Smart Automation, Quality and IT Excellence Solutions - our experience, your success. Version 2.5. www.ats-global.com

Smart Automation, Quality and IT Excellence Solutions - our experience, your success. Version 2.5. www.ats-global.com Version 2.5 Page 1 Des Big Data au décisionnel essentiel Convertissez vos données d'exploitation en indicateurs KPI vitaux, générez des rapports de gestion pertinents et procédez à des analyses de données

Plus en détail

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................

Plus en détail

PROJET PERSONNALISÉ ENCADRÉ : N 6

PROJET PERSONNALISÉ ENCADRÉ : N 6 PROJET PERSONNALISÉ ENCADRÉ : N 6 Mise en place d un serveur AD Benjamin Dupuy BTS Service Informatique aux Organisations Option : Solutions d'infrastructure, systèmes et réseaux Epreuve E6 Parcours de

Plus en détail

L informatique en BCPST

L informatique en BCPST L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité

Plus en détail

FOIRE AUX QUESTIONS ACT! 2009

FOIRE AUX QUESTIONS ACT! 2009 FOIRE AUX QUESTIONS ACT! 2009 Informations générales sur ACT! 1. Quelles sont les principales fonctionnalités d ACT!? - Gérer tous vos contacts et vos clients en toute simplicité - Communiquer avec vos

Plus en détail

Cartographie de mots : application à la visualisation de noms de marque

Cartographie de mots : application à la visualisation de noms de marque Université Montpellier II UFR Fac des Sciences Master 1 Informatique Université Montpellier II UFR Fac des Sciences Master 1 Informatique Cartographie de mots : application à la visualisation de noms de

Plus en détail

Une nouvelle référence dans cette année de jubilé

Une nouvelle référence dans cette année de jubilé 64 Pages romandes Une nouvelle référence dans cette année de jubilé Pour ce 25 ème anniversaire, les développeurs ont entièrement reprogrammé le logiciel de gestion ABACUS. Le résultat: une solution de

Plus en détail

Dossier projet isn 2015 par Victor Gregoire

Dossier projet isn 2015 par Victor Gregoire Dossier projet isn 2015 par Victor Gregoire Plan: I) But du projet: créer un jeu de blackjack fonctionnel et le poster sur une page web mise en ligne. Le jeu sera developpé en C++ a l'aide de code blocks.

Plus en détail

Yohan 2014-2015 GESTION DE PROJET. Objectif : Création d'un site internet commercial pour l'entreprise LIS Santé

Yohan 2014-2015 GESTION DE PROJET. Objectif : Création d'un site internet commercial pour l'entreprise LIS Santé CARPENTIER BTS SIO Yohan 2014-2015 GESTION DE PROJET Objectif : Création d'un site internet commercial pour l'entreprise LIS Santé Phase de définition du projet liée à une définition de la mission La mission

Plus en détail

Les modèles technologiques de la localisation

Les modèles technologiques de la localisation Les modèles technologiques de la localisation Les modèles technologiques de la localisation Cécile Martin Université Rennes 2 Avant d entrer en détails dans les modèles technologiques de la localisation,

Plus en détail

MMA - Projet Capacity Planning LOUVEL Cédric. Annexe 1

MMA - Projet Capacity Planning LOUVEL Cédric. Annexe 1 Annexe 1 Résumé Gestion Capacity Planning Alternance réalisée du 08 Septembre 2014 au 19 juin 2015 aux MMA Résumé : Ma collaboration au sein de la production informatique MMA s est traduite par une intégration

Plus en détail

utbm SET Stamp Partage convivial de photos HAJJAM-EL-HASSANI Amir GRÉA Antoine TISSERAND Geoffrey TX52 Travaux de laboratoire

utbm SET Stamp Partage convivial de photos HAJJAM-EL-HASSANI Amir GRÉA Antoine TISSERAND Geoffrey TX52 Travaux de laboratoire Printemps 2012 TX52 Travaux de laboratoire Stamp Partage convivial de photos Création d'une application Android de partage convivial de photographies. utbm université de technologi e Belfort-Montbéliard

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

UTILISATION D'UNE PLATEFORME DE TRAVAIL COLLABORATIF AVEC DES ELEVES DE TERMINALE STG

UTILISATION D'UNE PLATEFORME DE TRAVAIL COLLABORATIF AVEC DES ELEVES DE TERMINALE STG UTILISATION D'UNE PLATEFORME DE TRAVAIL COLLABORATIF AVEC DES ELEVES DE TERMINALE STG LE CONTEXTE Les élèves de terminale STG doivent réaliser pendant leur année de terminale sur une durée de 16 heures,

Plus en détail

Spécification fonctionnelle Syllabus

Spécification fonctionnelle Syllabus 2013 2014 Université Paris Diderot Paris 7 Master 1 Informatique UFR Informatique Olden Fabre, Cynthia Thimon, Jakub Kaluza, Jean Desravines, Oliver Hamm Spécification fonctionnelle Syllabus -1- TABLE

Plus en détail

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

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

Plus en détail

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

Le Ro le Hyper V Premie re Partie Configuration et Prise en main du gestionnaire Hyper-V

Le Ro le Hyper V Premie re Partie Configuration et Prise en main du gestionnaire Hyper-V Le Ro le Hyper V Premie re Partie Configuration et Prise en main du gestionnaire Hyper-V Microsoft France Division DPE Table des matières Présentation... 2 Objectifs... 2 Pré requis... 2 Quelles sont les

Plus en détail

FileMaker Pro 13. Utilisation d une Connexion Bureau à distance avec FileMaker Pro 13

FileMaker Pro 13. Utilisation d une Connexion Bureau à distance avec FileMaker Pro 13 FileMaker Pro 13 Utilisation d une Connexion Bureau à distance avec FileMaker Pro 13 2007-2013 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054

Plus en détail

RAPPORT DE STAGE Calcul parallèle sur GPU

RAPPORT DE STAGE Calcul parallèle sur GPU Université Joseph Fourier Département Licence Sciences & Technologie RAPPORT DE STAGE Calcul parallèle sur GPU D Aguanno Carlotta Laboratoire d accueil : INRIA Directeur du laboratoire : GROS Patrick Responsable

Plus en détail

Sommaire. 3 Bilan des Inventaires Laboratoires de L ENSIACET LEEI, laboratoire de l ENSEEIHT Service Administratif de l ENSIACET

Sommaire. 3 Bilan des Inventaires Laboratoires de L ENSIACET LEEI, laboratoire de l ENSEEIHT Service Administratif de l ENSIACET Sommaire 1 Introduction 2 Présentation du projet 3 Bilan des Inventaires Laboratoires de L ENSIACET LEEI, laboratoire de l ENSEEIHT Service Administratif de l ENSIACET 4 Résultat de la simulation des coûts

Plus en détail

fichiers Exemple introductif : stockage de photos numériques

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

Plus en détail

Cours 7 : Les logiciels (Software)

Cours 7 : Les logiciels (Software) Cours 7 : Les logiciels (Software) Abdelkrim Zehioua 2éme année Licence Gestion Faculté des sciences Économiques et sciences de Gestion Université Constantine 2 Plan du cours Les logiciels Système d'exploitation

Plus en détail

Documentation Matrox Imaging

Documentation Matrox Imaging Sommaire Dans le domaine de la vision industrielle et des systèmes d inspection optique automatisés, les caméras intelligentes obtiennent beaucoup d attention. En fait, elles sont souvent présentées à

Plus en détail

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude

Plus en détail

Acquisition d image : vers le tout numérique

Acquisition d image : vers le tout numérique Acquisition d image : vers le tout numérique Introduction La technologie évolue rapidement dans le domaine de l'acquisition d'image depuis quelques années, que ce soit dans les domaines industriel et scientifique

Plus en détail

Description et illustration du processus unifié

Description et illustration du processus unifié USDP Description et illustration du processus unifié Définit un enchaînement d activités Est réalisé par un ensemble de travailleurs Avec des rôles, des métiers Avec pour objectifs de passer des besoins

Plus en détail

Java. Java. Le livrede. Avec 80 exercices corrigés. Avec 80 exercices corrigés. Le livre. Anne Tasso. 5 e édition. Un best-seller qui a déjà conquis

Java. Java. Le livrede. Avec 80 exercices corrigés. Avec 80 exercices corrigés. Le livre. Anne Tasso. 5 e édition. Un best-seller qui a déjà conquis Anne Tasso Un best-seller qui a déjà conquis des milliers d'étudiants! Java Le livre Java Le livrede de premier premier langage langage Avec 80 exercices corrigés Avec 80 exercices corrigés 5 e édition

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

Mise à jour de version

Mise à jour de version Mise à jour de version Cegid Business Version 2008 Service d'assistance Téléphonique 0 826 888 488 Sommaire 1. A lire avant installation... 3 2. Installer les nouvelles versions des logiciels... 4 Compte

Plus en détail

1. Présentation générale

1. Présentation générale BTS SIO PPE2 SISR OCS Inventory NG Page 1 1. Présentation générale 1.1. Principales fonctionnalités 1.1.1. Inventaire et gestion de parc Open Computers and Software Inventory Next Generation est un logiciel

Plus en détail

LES OUTILS DE LA GESTION DE PROJET

LES OUTILS DE LA GESTION DE PROJET LES OUTILS DE LA GESTION DE PROJET PROJET : «ensemble des actions à entreprendre afin de répondre à un besoin défini dans des délais fixés». Délimité dans le temps avec un début et une fin, mobilisant

Plus en détail

COMPTE RENDU D ACTIVITÉ

COMPTE RENDU D ACTIVITÉ COMPTE RENDU D ACTIVITÉ Benjamin, Ingénieur Docteur R&D Mission au sein d un bureau d études en aéronautique Rapport de mission Avril - Septembre 2015 (6 mois) Lors de ma mission, j'ai pu intégrer l'équipe

Plus en détail

Documentation utilisateur FReg.NET

Documentation utilisateur FReg.NET Epitech Documentation utilisateur FReg.NET Document réservé aux utilisateurs souhaitant comprendre rapidement le fonctionnement du logiciel FReg.NET Lago_a, schehl_c, narcis_m, clique_x, tran-p_n 5/14/2010

Plus en détail

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

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

Plus en détail