Mémoire de stage : AtOnce Technologies. Mémoire de Stage. Thomas COLENO

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

Download "Mémoire de stage : AtOnce Technologies. Mémoire de Stage. Thomas COLENO"

Transcription

1 Mémoire de Stage Master 2 informatique parcours Image Son Multimédia Spécialité Synthèse d'image et Réalité Virtuelle Année Mémoire de stage : AtOnce Technologies Thomas COLENO Tuteur : Aurélie BUGEAU Encadrant : Gérald GAINANT Bordeaux, le 5 septembre 2011

2 TABLE DES MATIÈRES TABLE DES MATIÈRES Table des matières 1 Introduction 4 2 Contexte Industriel Présentation de l'entreprise NEOVA SUGAR JAM JAMY/iJAM Secteur du jeu vidéo Environnement de travail Logiciels Bibliothèques Planning et Objectifs Objectifs du stage Planning Prévisionnel Planning Eectif Travail eectué Widgets Cachier des charges Réalisation Transparence par layers Cachier des charges Réalisation Design de la fenêtre Cachier des charges Réalisation Intégration de sorties console Cachier des charges Réalisation Importation de chiers 3D Données importantes d'un chier 3D Cachier des charges Réalisation Réalisation de Shaders Présentation Cachier des charges Réalisation Autres tâches Décompression d'un chier lzma Bilan 31 6 Glossaire 32 Références 33 Page : 2

3 TABLE DES FIGURES TABLE DES FIGURES Table des gures 1 Version originale de JAM ijam sur ipad Bouton Choice FLTK Popup SUGAR Style des diérents widgets intégrés à SUGAR Rendu nal du bouton choice Style des barres de délement Achage d'une fenêtre avec dix layers rouges semi-transparents Rectangles de sélection et de survol sur le treeview Icône animée, par dessus le treeview Rendu nal du treeview Fenêtre JAM nale Fenêtre console originale Console intégrée à JAM Texture de Bruit Texture de correction de couleur Texture de correction de couleur uniligne Page : 3

4 1 INTRODUCTION 1 Introduction AtOnce Technologies est une société travaillant dans le secteur des jeux vidéos. Sa principale activité est la réalisation d'outils facilitant la production de jeux, ainsi que d'autres applications similaires. Ces outils regroupent essentiellement un framework complet fournissant de nombreux outils pour faciliter la programmation du programme, ainsi qu'un gestionnaire de données, facilitant la gestion de toutes les données pouvant être contenues dans un jeu. Au cours de mon stage, l'entreprise a commencé à diversier son activité, et à commencé à réaliser des applications sur plateforme mobile à destination des industriels. Lors de la première partie de mon stage, l'essentiel de mon travail s'est concentré sur le gestionnaire de données, pour élargir le panel de fonctionnalités proposées, et donner un style homogène à l'application. La seconde partie de mon stage était plus orientée du côté applicatif, avec l'extension de fonctionnalités soit sur le framework en lui même, soit sur l'application développée sur plateforme mobile. Page : 4

5 2 CONTEXTE INDUSTRIEL 2 Contexte Industriel 2.1 Présentation de l'entreprise AtOnce Technologies est une entreprise spécialisée dans la création de solutions logicielles pour le développement de jeux vidéos sur de multiples plateformes. A mon arrivée, elle comportait six personnes plus deux autres personnes qui travaillaient en étroite collaboration avec l'entreprise. Sur ces huits personnes, il y avait une gérante, un modeleur/graphiste et six développeurs. L'espace de travail consiste principalement en une grande salle open space, puis une petite salle de réunion, et le bureau pour la direction NEOVA NEOVA est un environnement logiciel développé par AtOnce Technologies au cours des années précédentes. Il a été principalement utilisé pour faire du jeu vidéo. Il propose de nombreux outils permettant de faciliter le développement et la portabilité des applications l'utilisant. Ces outils incluent des fonctions de traitement et d'achage de données 3D, sur de nombreuses plateformes SUGAR Présentation SUGAR est le successeur de NEOVA, et est l'environnement logiciel actuellement développé et utilisé par AtOnce Technologies. Il propose de nombreuses fonctionnalités que ce soit pour la gestion des chaînes de caractères, des chiers, ou pour l'achage 3D. Il propose ainsi une gestion très stricte de la mémoire, permettant de faciliter la résolution des problèmes, en particulier sur des plateformes mobiles ou des consoles de jeu, où la mémoire vive est fortement limitée. On peut d'ailleurs noter que pour faciliter cette gestion de la mémoire, toutes les classes utilisées par SUGAR sont en réalités des struct C++. Pools et allocators Cette gestion de la mémoire s'eectue grâce à des pools de mémoire qui permettent la libération automatique lors de leur destruction de tout ce qu'ils ont alloué précédemment, évitant ainsi tous les problèmes de fuite de mémoire. Associés à ces pools, il existe des allocators qui permettent d'allouer la mémoire de façon standard, ou au contraire en suivant un schéma d'allocation prédéni. Lors de la totalité de mon stage, j'ai du tenir compte des contraintes et des possibilités oertes par SUGAR, en particulier en ce qui concerne la gestion de la mémoire. LUA SUGAR propose également une interface avec le langage LUA, et permet ainsi aux applications l'utilisant d'utiliser ce langage pour écrire des scripts avec une inteface simpliée. LUA est en eet un langage de script proposant nativement une interface avec le C++. SUA L'un des objectifs de cet environnement logiciel étant de réaliser de l'achage 3D, une format de chier a été dévellopé en interne. Ce format, ASCII, utilise YAML [Yam] pour sérialiser les données. Un exporteur pour 3DSMax a été développé en interne Page : 5

6 2 CONTEXTE INDUSTRIEL 2.1 Présentation de l'entreprise pour pouvoir exporter directement un chier SUA. Les chiers SUA sont très génériques et sont compatibles avec toutes les plateformes, mais nécessitent d'être binarisés. PAK Les chiers PAK sont le format binaire de chier 3D utilisé par SUGAR. Ce format comporte de nombreux tags personnalisables, permettant par exemple de dénir la plateforme sur laquelle il doit être utilisé JAM JAM est un gestionnaire de données basé sur une conception de type MVC. L'essentiel du logiciel est écrit en LUA, à part la partie achage qui est écrite en C++, le tout en utilisant le framework SUGAR. Lors de mon arrivée dans l'entreprise, le logiciel ne contenait qu'un asset viewer, qui permettait de visualiser un modèle 3D. Il y avait aussi les prémices d'un asset browser, permettant de naviguer parmi les données et de les manipuler. Figure 1 Version originale de JAM JAMY/iJAM JAMY est une version allégée de JAM, devant être distribuée sur ios (iphone et ipad) ainsi que sur Android, elle s'appelle ijam sur ios. Cette application a pour but d'acher simplement des modèles 3D présents dans une bibliothèque. Cette bibliothèque est mise en ligne sur un serveur par l'utilisateur. En se connectant sur l'application, celui-ci peut ainsi récupérer et visualiser facilement ses modèles. Page : 6

7 2 CONTEXTE INDUSTRIEL 2.2 Secteur du jeu vidéo Figure 2 ijam sur ipad. 2.2 Secteur du jeu vidéo Concurrence Le secteur du jeu vidéo est un secteur très concurrenciel, avec un marché largement dominé par les entreprises américaines et japonaises. Le développement de jeux sur une autre plateforme que le PC subissent des contraintes particulières imposées par les diérents constructeurs de matériel. De plus, le secteur se décompose principalement en trois : les studios indépendants d'un côté, qui ont souvent peu de moyens. D'un autre côté les éditeurs, qui ont beaucoup de moyens pour développer leurs jeux. Et enn, la partie que l'on pourrait dénir comme "classique" des studios, composée de studios qui doivent obtenir un contrat avec un éditeur pour pouvoir sortir un jeu. Cohabitation Le jeu vidéo est un des domaines en informatique qui rassemble le plus de compétences diérentes. En eet, un programmeur doit savoir se faire comprendre des artistes, des games designers et des producers pour pouvoir travailler ecacement. Cela nécessite une grande rigueur, et une connaissance basique de la plupart de ces domaines pour pouvoir en comprendre les enjeux, et permettre ainsi à toutes les spécialités de travailler ecacement. 2.3 Environnement de travail Logiciels Windows et Visual Les développeurs de jeux vidéos travaillent le plus souvent sous windows, car de nombreux jeux nécessitent un tel environnement : les jeux PC et XboX360 par exemple. De même un des IDE les plus utilisés est Visual Studio, car il Page : 7

8 2 CONTEXTE INDUSTRIEL 2.3 Environnement de travail est très complet, et améliore fortement la productivité. Sans compter qu'il existe de nombreux outils se combinant avec Visual Studio qui facilitent le développement sur windows et sur les consoles microsoft. D'un autre côté, les logiciels de développement pour les consoles sony et nintendo sont aussi développés pour Windows. La plupart des professionnels du milieu s'orientent donc logiquement vers un environnement Microsoft Windows/Visual Studio. J'ai donc travaillé sous Windows avec la version professionnelle de Visual Studio Subversion (SVN) Pour faciliter le travail en équipe, l'entreprise utilise un logiciel de contrôle de code source. Subversion est souvent préféré, grâce à sa grande popularité, son intégration relativement facile dans d'autres systèmes, et l'existence de TortoiseSVN qui rend son utilisation très agréable au quotidien. 3DSMax Les modèles 3D étaient réalisés avec le logiciel 3DSMax, logiciel très populaire d'autodesk pour réaliser des modèles 3D. Bien qu'ayant peu utilisé le logiciel, il m'a fallu travailler avec les données extraites par ce logiciel, avec ou sans plugin spécique. Atmake Atmake est un outil développé en interne par l'entreprise. Cet outil permet de faire de la génération de code, de la génération de projets, de la construction crossplateforme, de la génération de tests unitaires et de documentation, et est aisément extensible.[gai11] FX Composer NVidia a développé ce logiciel d'éditions de shaders pour simplier le processus de création. Bien que le logiciel ne soit pas parfaitement stable, il comporte bien plus de fonctionnalités que son concurrent (RenderMonkey, créé par AMD/ATI). Un système de visualisation et de paramétrage en temps réel simplie grandement le processus de réalisation des shaders. RenderMonkey Bien qu'il soit plus pauvre en fonctionnalités que son concurrent, RenderMonkey possède néanmoins un avantage majeur : il permet l'écriture directe de shaders OpenGL en utilisant GLSL. Il supporte également OpenGL ES (version d'opengl pour mobiles) avec toutes les contraintes associées Bibliothèques DirectX et OpenGL Ces deux bibliothèques permettent l'achage de scènes 3D en temps réel. DirectX a été créé par Microsoft et ne fonctionne nativement que sur Windows ou sur les consoles XboX. Les autres plateformes utilisent généralement OpenGL. Il faut noter que les mobiles utilisent une version allégée d'opengl appellée OpenGL ES. LUA Comme signalé plus haut, LUA est un langage de script proposant nativement une interface avec le C++. Il reconnait aussi de façon native les chaines de caractères, facilitant le traitement de celles-ci. Ce langage est très permissif et est essentiellement basé sur l'utilisation de tableaux pour la gestion de la majorité des données. C'est ce langage qui est utilisé pour toute la partie controleur de l'architecture MVC dans SUGAR. [Ier06] Page : 8

9 2 CONTEXTE INDUSTRIEL 2.3 Environnement de travail FLTK (Fast Light ToolKit) est une bibliothèque libre et multi-plateforme fournissant des outils pour créer des interfaces utilisateur en 2D (fenêtres, boutons, champs de texte, etc...) Cette bibliothèque, existant depuis de nombreuses années présente l'avantage d'être rapide et légère, ainsi que de ne pas mélanger la visualisation et le traitement. [Flt] API Win32 L'intégralité de la documentation de l'api Win32, ainsi que de toutes les bibliothèques de microsoft sont disponibles sur le site de la msdn : microsoft.com/en-us/library/ Cette documentation s'est avérée une source de renseignement précieuse, tout au long de mon stage. [Mic] Les applications Windows sont diérenciées en deux types d'application : les applications consoles, et les applications fenêtrées. Les applications consoles, avec un main() standard sont associées à une console qui se lance automatiquement au démarrage de ladite application. Les applications fenêtrées, quand à elles, ne possèdent pas du tout de sortie console, ainsi du texte écrit sur la sortie standard est perdu, à moins d'associer une console manuellement. Une application windows fenêtrée doit créer une boucle contenant les fonctions TranslateMessage() et DispatchMessage() et indiquer à Windows quelle est sa fonction Wnd- Proc(). Cette fonction est celle qui traitera tous les évènement envoyés par windows, aussi bien les intéractions de l'utilisateurs avec l'application que les notications de rafraichissement de la fenêtre. GDI Windows Lors de ce stage, j'ai dû utiliser l'interface de dessin de Windows, la GDI. Un des points importants à noter fut la façon dont une fenêtre est dessinée. Quand la fenêtre doit être dessinée, Windows envoie un évènement WM_DRAW pour signaler à la fenêtre qu'elle doit se redessiner, ainsi qu'un contexte graphique. L'application doit utiliser les fonctionnalités de la GDI pour dessiner dans ce contexte graphique. Une fois qu'elle a ni, Windows remplace le contenu de la fenêtre par les informations contenues dans le contexte graphique. Page : 9

10 3 PLANNING ET OBJECTIFS 3 Planning et Objectifs 3.1 Objectifs du stage Mes objectifs lors de ce stage était de participer à un environnement de production, et de travailler en particulier sur le gestionnaire de données lié à cette production, ainsi que sur les fonctionnalités d'achage nales, comme les shaders. 3.2 Planning Prévisionnel Lors de mon arrivée dans l'entreprise, un planning prévisionnel relativement simple avait été établi : Choice Buttons : Dans le but de me permettre de prendre connaissance de la bibiliothèque FLTK, mon premier objectif était de réaliser des boutons de choix s'accordant avec le design général de l'application. Cette tâche était censée me prendre les deux premières semaines du stage. Widgets FLTK : Mes objectifs suivants étaient la réalisation de widgets FLTK plus avancés, toujours pour les intégrer dans le design de l'application, et orir des fonctionnalités avancées. La réalisation de ces widgets devait m'occuper pendant le premier tiers du stage. Editeur de particules : Les deux derniers tiers du stage, je devais réaliser un éditeur de particules, avec des courbes pour le paramétrer. Les spécications n'étaient pas très précises, et devaient être xées plus tard dans le stage. 3.3 Planning Eectif Certains évènements lors de mon stage ont conduit à un changement de priorités, et m'ont conduit à un planning légèrement diérent : Choice Buttons : Les deux premières semaines de stages étaient en correspondance avec le planning prévisionnel, avec la réalisation de boutons de choix intégrés au design de l'application, en utilisant les fonctionnalités fournies par le framework sugar. Widgets FLTK : Le premier tiers du stage a été dédié aux widgets FLTK comme prévu initialement, avec au départ des widgets de base, comme des barres de délement (scrollbar), puis j'ai du créer un widget d'arborescence (treeview) complètement intégré à JAM, qui m'a occupé tout le reste de cette période. Editeur de particules : A cause d'évolutions de l'entreprises non prévues initialement, l'éditeur de particules a été annulé, j'ai donc été assigné à d'autres tâches. AppWindow : Un tâche qui m'a occupé pendant quelques semaines fut la réalisation d'un fenêtre pour JAM n'utilisant pas le design par défaut de Windows, mais en utilisant un design personnalisé. Consoles : Une autre semaine a été dédiée à l'intégration de sorties consoles directement dans JAM. Importation de chiers 3D : Plusieurs semaines ont ensuite été consacrées à l'importation de formats de chiers 3D standards, et à leur conversion en SUA. Ces formats étaient le FBX et le OBJ. Shaders : La suite du stage a été essentiellement dédiée à la réalisation de shaders pour fournir des options permettant de jouer sur la qualité graphique de l'achage. Page : 10

11 4 TRAVAIL EFFECTUÉ 4 Travail eectué 4.1 Widgets Cachier des charges Bouton Choice Ma première tache fut de changer l'habillage des boutons de type "choice" de FLTK pour les adapter au style de SUGAR. Sur la gure de droite, on peut voir l'habillage de base du bouton. Au nal, il fallait retrouver le fond noir, ainsi que la forme et les contours propres aux popups SUGAR. Figure 3 Bouton Choice FLTK Figure 4 Popup SUGAR Barre de délement Il m'a ensuite fallu changer de la même façon l'habillage des barre de délement de FLTK pour les incorporer dans JAM. Je devais donc créer un style correspondant au style général des boutons existant. Figure 5 Style des diérents widgets intégrés à SUGAR Page : 11

12 4 TRAVAIL EFFECTUÉ 4.1 Widgets Treeview Après m'être habitué à l'utilisation de FLTK, la tâche qui me fut conée fut de réaliser un treeview (arborescence) qui s'intègre dans JAM. Ce treeview devait être relié au noeud Browser de la partie contrôleur de l'architecture MVC. Je devais donc travailler en étroite collaboration avec la personne qui s'occupait du développement du browser. Ce treeview devait contenir une arborescence d'items, dont le browser se chargerait de maintenit la cohérence logique. Le treeview devait supporter la gestion d'un grand nombre d'items (>5000) sans occasionner de ralentissement notable, ou de consommation mémoire excessive. Dans sa version nale, il devait aussi avoir les fonctionnalités suivantes : Support du glisser-déposer, en interne, de l'extérieur et vers l'exterieur. Possibilité de personnalisation du style d'un item. Multi-selection. Filtres d'achage personnalisables. Tri des items activable et désactivable. Gestion de permissions/restrictions sur les items. Gestion de barres de délements multiples (idée abandonnée au cours du projet) Réalisation La réalisation d'un widget en utilisant FLTK est très simple. Il sut de dériver de la classe Fl_Widget ou d'un de ses classes dérivées. On a ainsi le comportement de base communs à tous les widgets. Il sut ensuite de surcharger la fonction draw() pour modier l'achage du widget et de surcharger la fonction handle() pour modier son comportement. Bouton Choice Ma première idée pour faire le bouton choice était de simplement hériter d'un Fl_Choice et de modier la fonction draw() pour changer l'habillage du bouton. Malheureseument, le Fl_Choice utilise un système à base de menus plus complexe que les widgets de base, et la modication de l'habillage s'avérait délicat. Je suis donc parti d'un bouton par défaut (qui déclenche une callback) quand on clique dessus. Cette callback fait apparaître une popup SUGAR spéciquement dédiée aux choix. Cette popup possède donc directement le style de SUGAR. Je l'ai juste modifée légèrement pour déclencher le surlignement d'un choix lors du passage de la souris au-dessus. Figure 6 Rendu nal du bouton choice Page : 12

13 4 TRAVAIL EFFECTUÉ 4.1 Widgets Barre de délement Pour les barres de délement, le procédé a été plus simple, j'ai pu hériter directement d'un Fl_Slider et me contenter de surcharger les fonctions draw() et handle(). Pour le reste, l'intégration s'est faite plutôt facilement, le seul problème étant dû à la gestion de la transparence sur FLTK. Il faut obligatoirement dessiner l'intégralité du widget pour ne pas que le curseur "s'étale". Sur la gauche de l'image, on peut apercevoir le style par défaut des barres de délement dans FLTK, et sur la droite le style adapté à JAM. Figure 7 Style des barres de délement Treeview Ma première idée pour le treeview fut d'hériter d'un Fl_Tree. Mais encore une fois, il utilisait un système de menu et d'items assez peu modulaire, et qui rendait toute redénition du design problématique. J'ai donc préféré hériter d'un Fl_Group qui permettait la gestion automatique de widgets enfants. Dans une première version, j'ai utilisé des widgets pour les items. Mais une création d'items en grand nombre engendrait de forts ralentissements de l'application, et la mémoire avait tendance à augmenter drastiquement. J'ai donc du penser à une autre solution. J'ai donc créé une structure basique, contenant le minimum d'information sur les items. Chaque item contient un pointeur vers son parent, son frère précédent, son frère suivant, et son premier ls. Ainsi, l'arbre est facilement enregistré en mémoire, et le double chainage en largeur et profondeur permet d'avoir des algorithmes ecaces. J'ai donc réalisé d'autres tests de charge, et même avec des milliers d'items, la charge supplémentaire en mémoire restait très faible, et il n'y avait aucun ralentissement notable de l'application. L'étape suivante fut de gérer l'achage des items. J'ai donc pris la décision de considérer les items principalement comme des conteneurs de données, et de mettre tout l'exécutif dans le treeview lui-même. Ainsi, c'est lui qui gérait l'achage des items en intégralité. L'achage de base était simple, je me suis contenté d'acher les items un par un en appliquant un décalage sur la droite selon la profondeur de l'item, et ce, jusqu'à que le treeview soit intégralement rempli en hauteur. Page : 13

14 4 TRAVAIL EFFECTUÉ 4.1 Widgets Ensuite virent les premiers évènements souris. La création de quelques fonctions permettant de savoir avec précision ce qui se trouve sous la souris m'ont grandement facilité la tâche. J'ai ainsi pu rapidement ajouter des fonctionnalités telles que l'ouverture/fermeture d'un item ou la sélection. J'ai aussi rajouté une barre de délement. Toute la partie fonctionnelle a été relativement simple à réaliser, mais encore une fois, l'achage s'avérait plus complexe. En eet, seuls les éléments censés être achés sont dessinés, mais un élément peutêtre aché sans que son parent ou son frère précédent ne le soit. J'ai donc créé une fonction qui permet de récupérer l'item qui arrive après un autre dans l'achage du treeview : Treeitem* sufl::treeview::getnext( Treeitem* initem, bool inchildbrowse ) { SU_ASSERT( initem ); if( initem->haschild() && initem->isopen() && inchildbrowse ) { if(!initem->first->visible ) return getnext( initem->first, false ); return initem->first; } } while(!initem->next && initem->parent ) { initem = initem->parent; } if( initem->next &&!initem->next->visible ) return getnext( initem->next, false ); return initem->next; // NULL if we reach end of tree Grâce à cette fonction, il était aisé d'acher les éléments correctement, selon l'ouverture ou la fermeture de certains d'entre eux. La barre de délement a été gérée simplement, en appliquant simplement un décalage vertical du premier élément. Cela a été fait en utilisant la fonction citée au dessus, et en n'achant pas un nombre d'éléments correspondant au décalage. Après ça, il a fallu intégrer des fonctionnalités de glisser-déposer. Heureusement, FLTK proposait déjà un système pour le gérer, grâce à des évènements particuliers passés en paramètre à la fonction handle(). Cependant, le treeview n'est qu'un widget d'achage, et ne dois donc pas prendre de décisions particulières. Il faut donc transmettre les informations de glisser-déposer au browser et celui ci doit ensuite traiter les données puis mettre à jour le contenu du treeview. Pour permettre des retours visuels sur le glisser-déposer, ainsi que que pour donner une certaine autonomie au treeview, et donc permettre entre autres le renommage d'items, le déplacement interne sans avoir à solliciter le browser à chaque fois, nous Page : 14

15 4 TRAVAIL EFFECTUÉ 4.2 Transparence par layers avons mis en place un système de restrictions, permettant d'établir des comportements facilement et avec précision. Ces restrictions consistent simplement en un masque de bits et une énumération. Et quand une action doit être eectuée, il sut de vérier qu'aucun restriction ne l'en empêche. J'ai ensuite créé le système de ltres d'achage. Il s'agit simplement d'expressions régulières consécutives, précédées d'un signe + ou - selon qu'on veut acher ou masquer un certain type d'élément. Lorsque l'utilisateur a ni d'éditer les ltres, ils sont appliqués au treeview, grâce à un champ "visible" dans les items (visible dans la fonction plus haut). En eet, j'avais dans un premier temps juste masqué les éléments qui étaient ltrés, mais en parcourant quand même l'arborescence, ainsi leurs ls continuaient d'apparaître, déconnectés. Pour nir, j'ai créé un système d'animation (un simple rond qui tourne) signalant qu'un pak est en train d'être construit. La génération d'un pak étant un processus bloquant, j'ai du passer par un thread. J'ai aussi du créer une nouvelle fenêtre sans bordure et avec un fond transparent, puis acher mon image à l'intérieur. En eet, la création d'une nouvelle fenêtre était obligatoire, la génération des paks (bloquante) bloquait aussi la réception des évènements Windows permettant le rafraichissement de l'achage de la fenêtre. L'animation quand à elle a été crée en utilisant un mécanisme de sprite : une grande image horizontale contient les diérentes étapes de l'animation. Seule une portion de cette grande image est achée, et ladite portion est changée assez rapidement pour donner une impression de mouvement. Au nal, j'ai créé un retour visuel pour la sélection d'un élément ou son survol par la souris. il s'agissait simplement d'acher un fond diérent pour les items concernés. Malheureusement, cette solution forçait à redessiner entièrement le treeview à chaque mouvement de la souris, ce qui était excessivement couteux. Du coup, il y avait deux options : optimiser la fonction de dessin pour ne redessiner que les portions ayant subi une modication, ou détacher complètement les indicateurs de sélection et de survol en les achant semi-transparents par-dessus le treeview. La solution retenue fut la deuxième car ce système pouvait être réutilisé par ailleurs, et palliait au manque de gestion de la transparence de FLTK. 4.2 Transparence par layers Cachier des charges Problématique FLTK ne gère par défaut que la tranparence de façon minimaliste : si un pixel est transparent, il n'est tout simplement pas dessiné. Il n'y a pas de reconnaissance d'un élément qui pourrait être derrière, et il n'y a aucune notion de transparence partielle. Objectif Le but était de réaliser un widget de type Group qui supporterait une transparence partielle en utilisant un système de calques pour dénir l'ordre d'achage des éléments. Ce système devait permettre de dénir une transparence globale pour un calque, ainsi qu'une transparence au pixel. Page : 15

16 4 TRAVAIL EFFECTUÉ 4.2 Transparence par layers Réalisation Réalisation générique Pour pouvoir simuler de la transparence avec FLTK, le seul moyen était de générer une image où le fondu entre les diérents niveaux de transparence est réalisé "à la main", puis d'acher simplement cette image. La première étape fut de créer un widget de groupe héritant directement de Fl_Group. Ce groupe peut contenir des éléments de façon standard ( ceux-ci seraient situés directement à l'arrière plan ) ainsi que des layers. Ces layers héritent eux aussi de Fl_Group et peuvent ainsi contenir diérents éléments. Cela permettait ainsi de converser intacte la logique des widgets de FLTK. Le problème suivant fut de générer l'image avec les informations basiques des widgets, si possible sans avoir à modier le code source de FLTK. En eet, pour dessiner ses widgets, FLTK utilise directement des fonctions natives, sans possibilité évidente pour s'interfacer. Heureusement, une solution déjà intégrée à SUGAR proposait cette fonctionnalité, notamment pour l'achage des popups et la bordure semi-transparente, je n'avais plus qu'à l'adapter. La solution imaginée tire pleinement parti de la façon dont windows gère le dessin des fenêtres (cf. environnement de travail). En eet, windows propose également un système de bitmaps, auxquelles on peut associer un contexte graphique. On peut ensuite récupérer les données brutes de cette bitmap en RGBA pour les traiter. Pour forcer FLTK à écrire dans cette bitmap, il sut simplement de créer un nouveau contexte graphique, puis de l'assigner à la bitmap. Enn, FLTK possédant une variable globale pointant sur le contexte graphique en cours d'utilisation, il n'y avait plus qu'à changer sa valeur pour la faire pointer sur le contexte nouvellement créé, puis de faire tous les dessins nécessaires, et enn de restaurer le contexte graphique originale. Au nal, il n'y a plus qu'à acher l'image ainsi générée. Pour des raisons d'optimisation, le blend (opération qui consiste à combiner les layers en utilisant la transparence pour retrouver l'image nale) ne se fait que sur les régions qui ont été modiées, grâce à un système de cache. A chaque fois d'un widget est redessiné, le cache est mis automatiquement à jour, ainsi il y a toujours une version correcte de l'image en mémoire, prête à être achée. Il y avait cependant un dernier détail à régler : lors du passage du dessin FLTK vers la bitmap, puis de la bitmap à l'achage nal, les coordonnées sur l'axe y se sont retrouvées inversées. Il a donc fallu accomplir un traitement simple sur l'image consitant à l'inverser verticalent. Page : 16

17 4 TRAVAIL EFFECTUÉ 4.2 Transparence par layers Figure 8 Achage d'une fenêtre avec dix layers rouges semi-transparents. Application au treeview Une fois le système générique achevé, je me suis attelé à l'application au treeview. Pour l'utilisation qui était prévue, deux layers étaient nécessaire. Un layer de sélection qui permettrait la selection de multiples items, ainsi qu'un layer de survol qui surlignerait l'unique item se trouvant sous la souris. Le layer de survol devait également acher un retour visuel sur la position de la souris pendant un glisser-déposer. Il était censé acher une barre horizontale lors de l'insertion entre deux items, ou surligner l'item en question lors de l'insertion dans un item. Mais ce système s'est révélé trop complexe à appréhender après quelques utilisations, et fut mis de côté avant d'être nalisé. Un glisser-déposer permettrait ainsi uniquement une insertion dans un item. Le layer de survol et celui de selection ont des comportements très similaires, si ce n'est que le layer de sélection peut contenir rectangles achés, alors que celui de survol ne peut en contenir qu'un. Ainsi, le treeview a hérité du su_group et les layers de su_grouplayer, classes qui ont été créées lors de la réalisation générique des layers. Le treeview lui-même n'a nécessité que peu de modications, cependant les layers ayant un comportement beaucoup moins générique ont nécessité une plus grande spécialisation. Les deux layers utilisent un système de rectangles gris transparents, entourés d'une bordure noire opaque. Chaque layer contient deux tableaux : un tableau des rectangles nouvellement créés, et un tableau des rectangles nouvellement eacés. A chaque dessin du treeview, les rectangles devant être eacés sont remplacés par des pixels transparents, puis les rectangles devant être achés le sont. Enn, les deux tableaux sont vidés. De plus, les zones contenant les rectangles achés ou supprimés sont ajoutées au cache des su_group précédemment mentionnés, de façon à ce que le blend ne s'eectue que sur les zones ayant été redessinées. Page : 17

18 4 TRAVAIL EFFECTUÉ 4.2 Transparence par layers Figure 9 Rectangles de sélection et de survol sur le treeview. Ce système a permis une bien plus grande uidité de l'application, même en cas d'utilisation intensive de la souris. Faiblesses et optimisations Néanmoins, des ralentissement sont toujours présents si le treeview atteint une grande taille ( indépendamment du nombre d'item, c'est surtout la taille à l'écran qui pose problème ). En eet, même si le système de cache a permis de bien meilleurs performances, si le treeview grandit de façon trop importante, les opérations de dessin et de blend s'eectuent sur de grandes surfaces. De plus ce sont des opérations pixel par pixel, qui implique de très nombreuses boubles. Une des solutions envisagées pour le futur serait de gérer intégralement le dessin des layers grâce aux fonctions memmov(), memset() et memcpy(), qui utilisent directement la mémoire et permettent de faire des traitements beaucoup plus rapidement que pixel par pixel. Icône animée La génération d'un pak étant un processus bloquant, l'utilisateur pouvait avoir l'impression que l'application était bloquée. Il fut donc décidé de visualiser dans le treeview, grâce à une icone animée, quel chier était en train d'être généré. J'ai donc du mettre en place un système d'icône animée. Le problème majeur rencontré fut que la génération un processus complètement bloquant, aucun évènement, ni interne, ni FLTK, ni même windows n'était traité par l'application, et donc le rafraichissement de l'achage ne pouvait pas se faire. La solution que j'ai retenue m'a été inspirée par le fonctionnement des popups qui ne sont rien de moins que des fenêtres sans bordure incorporant une gestion de la transparence. Ainsi, lorsque la fonction créant l'icône animée est appellée, un thread est créé, luimême créant une nouvelle fenêtre, possedant sa propre WinProc, et donc pouvant répondre aux évènement windows de façon parfaitement indépendante. Ensuite, la fenêtre est achée par dessus la fenêtre de l'application, cette fenêtre est transparente et sans bordure. L'icône est ensuite achée à l'intérieur, et rafraichie régulièrement pour l'animation. Figure 10 Icône animée, par dessus le treeview. Page : 18

19 4 TRAVAIL EFFECTUÉ 4.3 Design de la fenêtre Le rendu nal du treeview comporte également un système de changement de style, comme la couleur de fond, ou le texte en italique, des icônes, ainsi que des èches d'ouverture/fermeture des items. Figure 11 Rendu nal du treeview. 4.3 Design de la fenêtre Cachier des charges L'objectif était de donner à la fenêtre de l'application un style agréable, et qui corresponde à la charte graphique. De plus, il fallait pouvoir utiliser l'application avec le système de "ghost" qui venait d'être réalisé. Ce système ache une fenêtre bleue semitransparente par dessus l'application lors d'un redimensionnment, ou d'un déplacement, et les subits à la place de l'application. Une fois les transformations terminées, le ghost disparait, et les transformations sont appliquées à l'application. L'idée de départ était de rendre les contours de le fenêtre de l'application légèrement transparent, et d'intégrer un bouton avec le nom de l'application dans la barre de titre, tout en gardant les fonctionnalités de déplacement et de redimensionnement oertes par le ghost, ainsi que le comportement basique d'une fenêtre Windows (minimisation, fermeture). Page : 19

20 4 TRAVAIL EFFECTUÉ 4.3 Design de la fenêtre Réalisation API Win32 La première piste que j'ai empruntée fut d'utiliser l'api Win32. J'ai malheureusement vite déchanté étant donné qu'avec l'api simple, la gestion de la transparence est très basique : soit une fenêtre gère la transparence, dans ce cas elle ne peut pas avoir de fenêtre lle. Soit elle ne la gère pas. Etant donné que JAM possède de nombreuses fenêtres lles, et qu'il était impossible de se passer de certaines d'entre elles (celles qui faisaient un achage 3D avec DirectX par exemple) il a fallu rééchir à une autre solution. Pour palier au problème précédent, j'ai tenté de créer une fenêtre contenant des bordures semi-transparentes et un fond transparent sur le reste de la fenêtre. Une autre fenêtre sans bordures et sans transparence contenait l'essentiel de l'application. Il n'y avait ensuite plus qu'à synchroniser l'achage des deux fenêtres. Malheureusement, la synchronisation était loin d'être parfaite en cas de minimisation de la fenêtre, et la gestion des évènements avec deux fenêtres séparées était devenue complètement erratique. Il m'a donc fallu chercher une autre solution. DWM Dans les versions de Windows à partir de Windows Vista, le DWM (Desktop Window Manager) a été intégré. Celui-ci permet d'obtenir des eets de transparence sur le contour des fenêtres, et d'étendre ces bordures à l'intérieur des fenêtres. Cela a donc semblé être une bonne solution au premier abord. Cependant, a part la transparence qui est gérée de façon ecace, il n'y a aucun moyen de personnalisation simple. De plus, l'utilisation du DWM a fait apparaître de nombreux problèmes d'achage et d'évènements.[ker] GDI+ et Direct2D La GDI+ est une version avancée de la GDI, qui propose entre autre la gestion de la transparence. Direct2D propose aussi de nombreuses fonctions de dessins très ecaces utilisant la transparence. Néanmoins, pour appliquer la transparence sur une fenêtre avec un de ces deux systèmes nécessite d'avoir une fenêtre utilisant la transparence... ce qui était impossible comme expliqué plus haut. Retour à la GDI Au vu du temps passé sur une tâche peu importante qui s'avérait ne pas être triviale, la décision fut prise d'abandonner pour le moment la transparence sur les bordures de la fenêtre. Il m'a juste fallu créer des bordures personnalisées. Evènement WM_NCPAINT Windows propose une solution pour personnaliser facilement les bordures des application, il s'agit de l'évènement WM_NCPAINT. Comme l'évènement WM_PAINT, il permet de dessiner dans un contexte graphique fourni. Mais contrairement à ce dernier, WM_NCPAINT permet de dessiner dans l'intégralité de la fenêtre, bordures comprises. L'utilisation de l'évènement WM_NCPAINT s'est avéré complexe car il ne permet pas l'utilisation de FLTK. En eet, les évènements de dessin et d'intéraction sur les bordures sont gérés de façon complètement indépendante. En particulier, les évènements souris et clavier ne sont pas gérés de la même façon et ne sont pas gérés par FLTK. La solution nale fût de masquer complètement les bordures de windows, et de gérer les bordures en interne dans l'application grâce au système de double fenêtrage discuté Page : 20

21 4 TRAVAIL EFFECTUÉ 4.4 Intégration de sorties console plus haut. Dans le fenêtre de bordure, il a ainsi été simple d'acher l'image contenant le titre de l'application ainsi que deux boutons permettant la fermeture et l'ouverture. Lors d'un clic sur un de ces boutons, un message Windows de minimisation ou de fermeture est envoyé à l'application, déclenchant ainsi l'intégralité du processus associé. Regions Windows Windows propose également un système de régions, pouvant avoir n'importe quelle forme. Il est ainsi possible de contenir l'achage dans une région. Ce système m'a permis de faire simplement des coins arrondis pour la fenêtre de l'application. Figure 12 Fenêtre JAM nale. 4.4 Intégration de sorties console Cachier des charges JAM ne bénéciait jusqu'à maintenant que d'une console s'achant dans une fenêtre externe. Le but était donc de créer une vue où s'acherait les sorties de la console, permettant de s'aranchir de la fenêtre supplémentaire, qui n'était pas vraiment pratique ni ergonomique. Page : 21

22 4 TRAVAIL EFFECTUÉ 4.4 Intégration de sorties console Figure 13 Fenêtre console originale. Les consoles dans SUGAR SUGAR comporte deux types de consoles : la console standard, et la console d'erreur. En Debug, il existe également une console de debug. Ces consoles sont des instances d'une même classes, diérenciées par les paramètres qui leur sont envoyés, et leur utilisation. En mode standard, toutes ces consoles eectuent leur achage vers la fenêtre de console dont j'ai parlé plus haut. Mon objectif, outre l'achage d'une vue de console en interne, était de canaliser les messages provenant des diérentes consoles SUGAR, an de pouvoir les transmettre à toutes les vues de console Réalisation Regroupement des consoles La première chose à faire a été de canaliser les messages provenant de toutes les consoles. Ce fut l'occasion pour moi de découvrir la fonction Windows OutputDebugString() qui permet d'acher du texte dans la sortie de debug, même pour une application qui n'est pas une application console. Cette sortie se récupère ensuite sur la fenêtre de sortie de visual studio, ou grâce à un logiciel dédié. Elle m'a permis de tester ecacement mon code, vu que je ne pouvais du coup pas utiliser les consoles de SUGAR sur lesquelles j'étais en train de travailler. Une fois cet outil mis en place, je me suis attelé au regroupement des messages provenant de toutes les consoles. J'ai tout d'abord pensé à une classe singleton, avec laquelles les diérentes consoles pourraient communiquer. Mais on m'a montré un système plus approprié dans ce cas, en utilisant la notion de namespace fournie par le C++. L'idée est de créer des fonctions dans un namespace, sans les associer à aucune classe. Cela permet d'avoir un chier.h épuré et facilement lisible. D'un autre côté, dans un.cpp, on peut dénir lesdites fonctions. Et pour simuler le fonctionnement d'un Page : 22

23 4 TRAVAIL EFFECTUÉ 4.4 Intégration de sorties console singleton, on peut utiliser la notion de namespace anonyme. Ce genre de namespace permet de limiter la portée de tout ce qui y est déclaré au chier actuel. De plus, la déclaration d'une variable dans un namespace anonyme est similaire à l'utilisation du mot clef static, mais sans les problèmes de link courramment associés. [Nam] Tirant parti de ces informations, j'ai donc créé un namespace cs_buer proposant des fonctions pour stocker les messages provenant des consoles et pour récupérer ces messages dans l'intention de les acher. J'ai donc ensuite implémenté ces fonctions dans un chier.cpp dans lequel j'ai créé un namespace anonyme. Dans ce namespace, j'ai ainsi déclaré un tableau pour contenir les messages qui resterait ainsi le même pour toute l'application. De plus chaque message possède un identiant, permettant de savoir facilement si il a été récupéré précedemment ou non. Vue d'achage de la console dans JAM Pour l'achage de la console dans JAM, j'ai utilisé le widget FLTK : Fl_Text_Editor. Ce widget est basé lui même sur un Fl_Text_Buer qui permet de faire simplement des manipulations complexes sur le texte.[tex] Ce widget est basé sur le moteur de l'éditeur de text NEdit. [NEd] Pour l'achage des messages, les vues des consoles vont récupérer les messages qui ne sont pas achés lors de chaque rafraichissement, et les achent. Figure 14 Console intégrée à JAM. Page : 23

24 4 TRAVAIL EFFECTUÉ 4.5 Importation de chiers 3D 4.5 Importation de chiers 3D Données importantes d'un chier 3D Géométries Les géométries sont les données basiques. Elles consistent en la liste des points et des faces d'un modèle 3D. Noeuds Les noeuds servent à dénir la position d'une géométrie ou de n'importe quoi d'autre dans la scène. Ils contiennent essentiellement des informations de translation et d'orientation. Références Les références sont les chemins vers des chiers qui ne sont pas directement intégrés dans le chier 3D, tels que les textures ou le code source des shaders utilisés. UVs Les UVs sont les coordonnées de texture pour un sommet et une face. Ils permettent de plaquer correctement une texture sur un objet. Le nom vient des variables u et v qui sont traditionnellement utilisées pour se positionner dans une texture, et éviter la confusion avec le x et le y utilisés pour les coordonnées en 3D. Matériaux Les matériaux représentent la surface d'un objets, et associent de nombreuses informations telles que les textures associées, les shaders, ainsi que les paramètres pour ce dernier, par exemple Cachier des charges L'objectif était de récupérer les informations importantes contenues dans diérents formats de chiers 3D (FBX et OBJ) et de les exporter à un format qui permettrait leur traitement de façon générique. Ce format devait être identique à celui fourni par la lecture d'un chier SUA Réalisation FBX Le format FBX a été créé par Kaydara pour l'enregistrement de scènes 3D animées. Kaydara a depuis été racheté par Autodesk, qui est un des leaders mondiaux du secteur, notamment avec ses logiciels 3DSMaxet Maya. Ainsi, dans le secteur du jeu vidéo et la plupart des autres domaines utilisant les objets 3D, le format FBX est considéré comme un standard. Bien que le FBX soit un format propriétaire, Autodesk fournit gratuitement aux développeurs un SDK en C++ ou en python pour leur permettre de récupérer les informations contenues à l'intérieur d'un chier FBX. [FBX] Pour réaliser l'importation des données du chier FBX, je disposais de code qui avait été précédemment utilisé, bien qu'il ne soit plus à jour. J'ai donc téléchargé la dernière version du SDK, qui est bien plus simple d'utilisation que la version précédente, et dispose en outre d'une documentation complète. L'essentiel de mon travail a donc été de mettre à jour le code existant et d'utiliser le SDK fourni par Autodesk. Page : 24

25 4 TRAVAIL EFFECTUÉ 4.6 Réalisation de Shaders Il y avait cependant un problème majeur, SUGAR ne supporte que les objets triangulés (i.e. qui sont constitués de triangles), alors que le format FBX supporte de nombreux autres types d'objets, tels que les nurbs (courbes et surfaces paramétriques). Heureusement, après quelques recherches, je me suis rendu compte que le SDK proposait des fonctions pour transformer des nurbs en objets triangulés. Les autres problèmes que j'ai rencontré étaient essentiellement des index de vertex qui n'étaient pas dans le bon ordre, ainsi que les coordonnées de textures qui étaient inversées. OBJ Le format OBJ a été créé par Wavefront Technologies pour l'enregistrement de formes géométriques 3D. C'est un format ouvert et ASCII (donc facilement éditable à la main). Ce format, du fait de sa simplicité et de son ouverture, est devenu un standard dans le domaine de la représentation d'objets 3D. [OBJ] Le format OBJ ne contient de données que sur la géométrie des objets, ainsi, il est impossible de récupérer d'information sur les noeuds, il faut considérer que tous les objets présents dans le chier sont rattachés à un noeud par défaut qui n'a subi ni translation, ni rotation. Il a aussi été décidé de ne pas prendre en compte les informations sur les références ou les matériaux présents dans le chier OBJ. Ainsi, les seules données récupérer sont les informations sur la Géométrie et les UVs des objets. On applique ensuite un matériau par défaut, et une texture fournie avec l'objet. Pour des raisons de délais, les surfaces paramétriques potentiellement présentes dans un chier OBJ sont ignorées. Les chiers OBJ étant enregistrés en ASCII, la lecture du chier se fait simplement ligne par ligne. Les premières lettres présentes sur la ligne indiquent le type de donnée présentent sur la suite de ladite ligne. La lecture du chier se fait donc de façon itérative, en remplissant des tableaux (de vertex, d'uv, de faces) au fur et à mesure de la lecture du chier. Une fois la lecture terminée, les données sont réarrangées pour être exportées. Limitations Du fait des limitations imposées par les délais, ou les formats de chier, il a fallu écrires des spécications pour permettre aux chiers FBX et OBJ d'être importés. Outre les spécications liées à l'achage, celles d'importation concernent surtout le fait d'avoir des objets intégralement triangulés (aucune face de plus de 3 côtés). Le format OBJ ne comportant pas d'information sur les noeuds, devait être créé l'axe Z vers le haut. 4.6 Réalisation de Shaders Présentation Un shader est un programme utilisé en n du processus de rendu pour paramétrer certains eets. Les shaders sont exécutés directement par la carte graphique avec une très forte parallélisation. Ceci induit de très bonnes performances, et permet donc de réaliser des eets complexes en temps réel, mais induit également les contraintes habituelles liées à la programmation parallèle, essentiellement que les saut d'instructions (if, for, while) sont à éviter tant que possible. Page : 25

26 4 TRAVAIL EFFECTUÉ 4.6 Réalisation de Shaders On distingue principalement deux types de shaders : les vertex shaders qui inuent sur les sommets des objets, et peuvent transmettrent au pixel shader, et ledit pixel shader (aussi appelé fragment shader) qui agit directement sur la couleur des pixels qui seront achés. Il existe aussi un geometry shader, mais je n'ai pas eu à l'utiliser. J'ai essentiellement réalisé essentiellement des shaders de post-processing, c'est-à-dire que la scène était rendu dans une texture, cette texture plaquée sur un Quad face à la caméra grâce au vertex shader. Ensuite du traitement d'image est réalisé sur la texture grâce au pixel shader Cachier des charges Noise Le premier shader que j'ai eu à réaliser fut donc un shader de post-processing. Il devait représenter un eet similaire à une vieille télévision cathodique, avec des lignes visibles sur l'écran, et un léger scintillement. Exposure Ensuite, le shader que j'ai eu a réalisé concernait l'exposition à la lumière. Il fallait que les zones peu exposées utilisent un nombre plus faible de couleurs. Le seuil de luminance est envoyé en paramètre du shader. ColorCorrection Un autre shader demandé était un shader permettant d'accomplir des corrections de couleurs selon une courbe. MotionBlur Enn, le dernier shader qui me fut demandé fut celui permettant d'acher un ou de mouvement Réalisation La plupart des shaders ont été réalisés en étroite collaboration avec un autre employé pour faciliter l'intégration à SUGAR. Noise La première version du shader fut inspirée d'un exemple présent dans la bibliothèque de shaders de NVidia. [NVi] L'idée principale était d'utiliser une texture de bruit et d'un oat évoluant en fonction du temps pour générer des nombres aléatoires. A partir de là, nous avions un faceur de scintillement. Figure 15 Texture de Bruit. Page : 26

LibreOffice Draw. Découvrir. Sommaire LV08001

LibreOffice Draw. Découvrir. Sommaire LV08001 Découvrir LibreOffice Draw LV08001 Sommaire 1. Dessiner une forme...3 2. Changer la couleur ou la ligne d'une forme...7 3. Insérer une image...8 4. Redimensionner une image ou une forme...16 5. Aligner

Plus en détail

pcon.planner 6 Préparer et présenter une implantation en toute simplicité

pcon.planner 6 Préparer et présenter une implantation en toute simplicité pcon.planner 6 Préparer et présenter une implantation en toute simplicité Sommaire 1. Installation :... 3 2. Démarrer le logiciel :... 3 3. Interface :... 3 4. Naviguer :... 4 5. Réaliser une implantation

Plus en détail

Nous allons détailler dans cette documentation les fonctionnalités pour créer un objet colonne.

Nous allons détailler dans cette documentation les fonctionnalités pour créer un objet colonne. Généralités Dans le générateur d états des logiciels Ciel pour Macintosh vous avez la possibilité de créer différents types d éléments (texte, rubrique, liste, graphiques, tableau, etc). Nous allons détailler

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

La Clé informatique. Formation Word XP Aide-mémoire

La Clé informatique. Formation Word XP Aide-mémoire La Clé informatique Formation Word XP Aide-mémoire Septembre 2003 Table des matières Édition et insertion de texte... 4 Manipulation d un document Exploration de la fenêtre de travail Bouton de maximisation

Plus en détail

Fichiers GRIB et logiciels de lecture des fichiers GRIB

Fichiers GRIB et logiciels de lecture des fichiers GRIB Fichiers GRIB et logiciels de lecture des fichiers GRIB I. Introduction...1 II. Comment obtenir des fichiers GRIB?...2 III. Les logiciels...2 1. GRIB.US...2 2. ZyGrib...4 IV. Et pour les smartphones?...6

Plus en détail

FCA SI2 GUIDE RAPIDE DE L UTILISATEUR

FCA SI2 GUIDE RAPIDE DE L UTILISATEUR FCA SI2 GUIDE RAPIDE DE L UTILISATEUR Introduction...2 1 Démarrage...3 1.1 Se connecter...3 1.2 Mettre à jour son Profil...3 1.3 Fonctionnalités du Système...4 2 Comment faire pour...5 2.1 Naviguer d un

Plus en détail

Calculatrice virtuelle HP Prime

Calculatrice virtuelle HP Prime Calculatrice virtuelle HP Prime Microsoft est une marque commerciale du groupe de sociétés Microsoft. Les informations contenues dans ce document peuvent être modifiées sans préavis. Les garanties relatives

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

Mise en scène d un modèle dans l espace 3D

Mise en scène d un modèle dans l espace 3D CHAPITRE 3 Mise en scène d un modèle dans l espace 3D Blender permet de construire des espaces à la manière d une scène de théâtre. Pour cela, il présente dès l ouverture tout ce dont on a besoin : un

Plus en détail

VISIONet MANUEL UTILISATEUR

VISIONet MANUEL UTILISATEUR VISIONet MANUEL UTILISATEUR I. VISIONet... 2 A. A quoi sert VISIONet?... 2 B. Comment accéder à VISIONet?... 2 II. La page d accueil... 3 A. Le bandeau... 3 B. Le moteur de recherche... 3 C. Les actualités...

Plus en détail

Documentation utilisateur MyGed. Documentation MyGed / Utilisation de MyGed Entreprise

Documentation utilisateur MyGed. Documentation MyGed / Utilisation de MyGed Entreprise Documentation MyGed / Utilisation de MyGed Entreprise 1 SOMMAIRE 1 Le classement...4 1.1 Le classement depuis une panière...4 1.2 Le traitement par lot...6 1.3 Classement depuis l explorateur Windows...7

Plus en détail

INFOGRAPHIE. Rapport du Projet de dessin 2D et 3D

INFOGRAPHIE. Rapport du Projet de dessin 2D et 3D Institut Galilée INFO 1 : Yohan ROUSSET Stéphane FOURNIER INFOGRAPHIE Rapport du Projet de dessin 2D et 3D Superviseur : R. MALGOUYRES Année 2008-2009 2 Table des matières I. Introduction... 4 II. Dessin

Plus en détail

Worldsoft CMS Méga Menu. Avec le Méga Menu du Worldsoft CMS, vous pouvez créer des menus de navigation.

Worldsoft CMS Méga Menu. Avec le Méga Menu du Worldsoft CMS, vous pouvez créer des menus de navigation. 1 Mega Menu Avec le du Worldsoft CMS, vous pouvez créer des menus de navigation. Vous pouvez mettre en place autant de menus que vous le désirez et les adapter graphiquement. Avec votre propre contenu

Plus en détail

Compte-rendu de projet de Cryptographie

Compte-rendu de projet de Cryptographie Compte-rendu de projet de Cryptographie Chirement/Déchirement de texte, d'images de sons et de vidéos LAMBERT VELLER Sylvain M1 STIC Université de Bourgogne 2010-2011 Reponsable : Mr Pallo Table des matières

Plus en détail

Tutoriel : logiciel de présentation Openoffice Impress

Tutoriel : logiciel de présentation Openoffice Impress Tutoriel : logiciel de présentation Openoffice Impress Le logiciel de présentation permet de construire une suite de pages (diapositives) contenant différents objets : du texte, de l'image, du son. - L'apparition

Plus en détail

Utiliser Freemind à l'école

Utiliser Freemind à l'école Utiliser Freemind à l'école Cette notice est une rapide introduction au mind maping, que nos amis québecois appelent les «schémas de réseaux conceptuels» ou encore idéacteur. En d'autres termes c'est l'organisation

Plus en détail

Le logiciel de création de site internet IZISPOT est un outil très puissant et qui est assez simple après quelques temps d utilisation.

Le logiciel de création de site internet IZISPOT est un outil très puissant et qui est assez simple après quelques temps d utilisation. 1 Le logiciel de création de site internet IZISPOT est un outil très puissant et qui est assez simple après quelques temps d utilisation. Voici un mode opératoire qui vous guidera dans l utilisation de

Plus en détail

1. PRESENTATION. La Messagerie, Elle permet d envoyer des messages, d en recevoir, de les lire et d y répondre.

1. PRESENTATION. La Messagerie, Elle permet d envoyer des messages, d en recevoir, de les lire et d y répondre. 1. PRESENTATION 1.1. LE LOGICIEL MICROSOFT OUTLOOK Le gestionnaire d informations Bureautique Microsoft OUTLOOK 2000 permet de communiquer sur le réseau interne d une entreprise ou via Internet, de gérer

Plus en détail

Table des matières. F. Saint-Germain / S. Carasco Document réalisé avec OpenOffice.org Page 1/13

Table des matières. F. Saint-Germain / S. Carasco Document réalisé avec OpenOffice.org Page 1/13 Voici un petit tutoriel d'utilisation du tableau numérique de la marque promethean. Ce tutoriel est loin d'être complet, il permet juste une première approche simple des outils de base du logiciel ACTIVstudio.

Plus en détail

PG 110: Sujet de projet

PG 110: Sujet de projet PG 110: Sujet de projet 2012-2013 L'objectif de ce projet de programmation est la réalisation d'un jeu 2D en C. 1 Principes du jeu Nous voulons donner une dimension de jeu d'aventure à un jeu de type Bomberman

Plus en détail

Créer des diaporamas avec. Impress. Sylvain Floury et Ludovic Grossard. Alternatives87. 2 avril 2011

Créer des diaporamas avec. Impress. Sylvain Floury et Ludovic Grossard. Alternatives87. 2 avril 2011 Créer des diaporamas avec Impress Sylvain Floury et Ludovic Grossard Alternatives87 2 avril 2011 OpenOce.org Suite bureautique avec les logiciels suivants : Writer (traitement de texte) Calc (tableau)

Plus en détail

Enseignement Informatique. Classe de BTS DATR 1 -----------------------------------------------------------------------

Enseignement Informatique. Classe de BTS DATR 1 ----------------------------------------------------------------------- Enseignement Informatique Classe de BTS DATR 1 ----------------------------------------------------------------------- Modules M42 & M53. -----------------------------------------------------------------------

Plus en détail

Sauf mention contraire, le contenu de cet ouvrage est publié sous la licence : Creative Commons BY-NC-SA 2.0 La copie de cet ouvrage est autorisée

Sauf mention contraire, le contenu de cet ouvrage est publié sous la licence : Creative Commons BY-NC-SA 2.0 La copie de cet ouvrage est autorisée Sauf mention contraire, le contenu de cet ouvrage est publié sous la licence : Creative Commons BY-NC-SA 2.0 La copie de cet ouvrage est autorisée sous réserve du respect des conditions de la licence Texte

Plus en détail

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

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

Plus en détail

Flash CS5. A - L environnement auteur de Flash

Flash CS5. A - L environnement auteur de Flash 1 Flash CS5 L objectif de cet apprentissage CS5 est de comprendre les concepts utilisés par le logiciel, et la manière dont il travaille. La description des outils ne sera donc pas exhaustive. Les différents

Plus en détail

Impression de Cartes avec Net2

Impression de Cartes avec Net2 Impression de Cartes avec Impression de Carte - Quelle méthode? Deux logiciels d'impression de carte sont utilisés avec. Un format basique qui fait partie du package logiciel depuis 2003 (V3.16) et un

Plus en détail

PC & Windows Livret d exercices Laurent DUPRAT Pratiquons

PC & Windows Livret d exercices Laurent DUPRAT Pratiquons Pratiquons ensemble PC & Windows Livret d exercices Laurent DUPRAT Pratiquons ensemble PC & Windows Livret d exercices Laurent DUPRAT Pratiquons ensemble PC & Windows Livret d exercices Laurent DUPRAT

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

Sujet 4 : Jeu en réseau en Java / Swing. Auteur : Thomas JGENTI I072545

Sujet 4 : Jeu en réseau en Java / Swing. Auteur : Thomas JGENTI I072545 Projet Interfaces Homme-Machine Demi-valeur 16874 Année 2002-2003 Sujet 4 : Jeu en réseau en Java / Swing Auteur : Thomas JGENTI I072545 http://jgenti.free.fr/cnam Table de matières Table de matières...2

Plus en détail

Créer un collage avec The Gimp 2.2.10

Créer un collage avec The Gimp 2.2.10 Créer un collage avec The Gimp 2.2.10 Sommaire A. Ouvrir The Gimp -----> Le choix des formats ou extensions B.Le projet : Isoler/ sélectionner C.Intégrer -----> calques -----> Echelle -----> Teintes Le

Plus en détail

Utiliser le dépôt SVN d'une forge FusionForge sur Microsoft Windows

Utiliser le dépôt SVN d'une forge FusionForge sur Microsoft Windows Utiliser le dépôt SVN d'une forge FusionForge sur Microsoft Windows Sommaire Introduction...2 Configuration SSH...2 Installation de PuTTY...2 Génération de clé SSH...2 Utilisation d'une clé SSH externe...3

Plus en détail

LES TABLETTES : GÉNÉRALITÉS

LES TABLETTES : GÉNÉRALITÉS LES TABLETTES : GÉNÉRALITÉS Fonctionnement Qu est-ce qu une tablette tactile? Une tablette tactile est un appareil doté d'un écran qui permet d'interagir simplement en touchant l'écran ou à l'aide d'un

Plus en détail

rendre les réunions simples

rendre les réunions simples rendre les réunions simples Vous trouverez tout ce dont vous avez besoin pour commencer à utiliser votre compte de conférence VaaS-t dans les pages suivantes. Guide de démarrage rapide Mise en route Votre

Plus en détail

Découvrir les calques de PhotoFiltre 7 et PhotoFiltre Studio par l'exemple

Découvrir les calques de PhotoFiltre 7 et PhotoFiltre Studio par l'exemple PF7. Fiche 9 Découvrir les calques de PhotoFiltre 7 et PhotoFiltre Studio par l'exemple Avant-propos Une image numérique peut être le résultat de la combinaison des contenus de différents calques fusionnés.

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

Fiche n 4 Utilisation de Kompozer Table des matières

Fiche n 4 Utilisation de Kompozer Table des matières Fiche n 4 Utilisation de Kompozer Table des matières 1-Travail préparatoire...1 1.1-Contraintes sur les noms de fichier...1 1.2-Préparation du dossier de stockage...1 1.3-Barre d'outils...1 1.4-Création

Plus en détail

Explorateur d images - 7 - & Logo Type Description

Explorateur d images - 7 - & Logo Type Description Explorateur d images Lors de l ouverture de «ImageAnnotation», l utilisateur a accès à l explorateur d images (voir figure 4). Ce dernier représente toutes les activités dont l utilisateur est membre.

Plus en détail

FORMATION «SWEET HOME 3D» SOUS LIBRE OFFICE

FORMATION «SWEET HOME 3D» SOUS LIBRE OFFICE FORMATION «SWEET HOME 3D» SOUS LIBRE OFFICE Le 26 Juin 2015 DROITS D'AUTEURS Licence Ce document est sous licence GNU Free documentation 1.3, hormis les dessins, ceci n'étant pas la production de Nâga.

Plus en détail

Initiation au mail. Sommaire : 1. Qu'est-ce qu'un mail?...3 2. Deux types d'outils pour consulter ses mails...4

Initiation au mail. Sommaire : 1. Qu'est-ce qu'un mail?...3 2. Deux types d'outils pour consulter ses mails...4 Initiation au mail Sommaire : 1. Qu'est-ce qu'un mail?...3 2. Deux types d'outils pour consulter ses mails...4 2.1. Les logiciels de gestion de mail...4 2.2. Les webmails...5 3. Se connecter au webmail...6

Plus en détail

Technologies Web. Technologies Web DHTML TCM-TWEB-01-001-13. Julien BEAUCOURT 2006 pour ETNA

Technologies Web. Technologies Web DHTML TCM-TWEB-01-001-13. Julien BEAUCOURT 2006 pour ETNA DHTML Sommaire Introduction Compatibilité du DHTML Les layers Les balises dynamiques Balise Balise et La balise Animer de éléments Le Document Object Model (DOM) Modifier une

Plus en détail

Créer une carte de visite Avec Open Office Writer

Créer une carte de visite Avec Open Office Writer Introduction Créer une carte de visite Concurrent direct de Microsoft Office, OpenOffice.org est une suite bureautique gratuite. Aujourd hui nous voyons le programme Writer (comparable à Word), c'est-à-dire

Plus en détail

Microsoft Powerpoint (première partie)

Microsoft Powerpoint (première partie) Microsoft Powerpoint (première partie) Pour les utilisateurs avancés, apprenez ce que vous pouvez faire avec Microsoft Powerpoint! Niveau : Avancé Version du logiciel : Powerpoint XP et 2003 Date de modification

Plus en détail

Prise en main du logiciel Smart BOARD

Prise en main du logiciel Smart BOARD Prise en main du logiciel Smart BOARD 1. Introduction : Le logiciel Smart BOARD est utilisable avec les tableaux blancs interactifs de la gamme SMART. Toutefois, il n'est pas nécessaire d'avoir un tbi

Plus en détail

Guide pour la réalisation d'un document avec Open Office Writer 2.2

Guide pour la réalisation d'un document avec Open Office Writer 2.2 Guide pour la réalisation d'un document avec Open Office Writer 2.2 1- Lancement de l'application : Le Traitement de textes de la Suite OpenOffice peut être lancé : soit depuis le menu «Démarrer / Programmes/OpenOffice2.2/Writer

Plus en détail

FORMATION PUBLISHER 2003

FORMATION PUBLISHER 2003 FORMATION PUBLISHER 2003 Livret 1 Débuter avec Publisher Niveau 1 Thierry TILLIER THIERRY TILLIER FORMATIONS http://www.coursdinfo.fr Sommaire Chapitre 1 INTRODUCTION... 5 Chapitre 2 Découverte de Publisher...

Plus en détail

ENSI. Visual C++ Initiation

ENSI. Visual C++ Initiation ENSI Visual C++ Initiation Tables des matières 1. LES MFC (MICROSOFT FOUNDATION CLASSES)...3 1.1 DÉFINITION... 3 1.2 L ESPACE DE TRAVAIL... 3 2. CRÉER UN NOUVEAU PROJET...5 2.1 ETAPE 1 : CHOISIR LE TYPE

Plus en détail

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

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

Plus en détail

SQL Server Management Studio Express

SQL Server Management Studio Express SQL Server Management Studio Express L'outil de gestion gratuit des bases Microsoft SQL Suite à mon précédent article, Microsoft a mis à disposition du public d'un outil gratuit de gestion des bases de

Plus en détail

Didapages. Création d'un livret numérique simple avec :

Didapages. Création d'un livret numérique simple avec : Création d'un livret numérique simple avec : Didapages. Installer Didapages. Créer un nouveau projet. Les outils du livret. Importer les éléments mutimédias 5. Créer un album multimédia simple 5.. Insérer

Plus en détail

Photofiltre : premières retouches d'images

Photofiltre : premières retouches d'images Photofiltre : premières retouches d'images Niveau débutant Niveau intermédiaire Niveau confirmé PhotoFiltre est un logiciel de retouche d images, libre et gratuit, très complet. Il permet d effectuer des

Plus en détail

Sélectionner les cellules à copier Cliquer sur copier Cliquer dans la première cellule de destination Menu Edition / Collage spécial

Sélectionner les cellules à copier Cliquer sur copier Cliquer dans la première cellule de destination Menu Edition / Collage spécial Collage spécial Sélectionner les cellules à copier Cliquer sur copier Cliquer dans la première cellule de destination Menu Edition / Collage spécial Définir le type de collage à réaliser Transposé : inverse

Plus en détail

ActiveInspire, les bases.

ActiveInspire, les bases. ActiveInspire, les bases. Contenu Ouvrir le logiciel ActivInspire Découvrir le tableau de bord. Explorer l espace de travail et la palette d outils principale. Créer, enregistrer et exporter un paperboard.

Plus en détail

Open Office. Open Office est une 'suite bureautique', c'est-àdire un ensemble de logiciels, qui ressemble à la

Open Office. Open Office est une 'suite bureautique', c'est-àdire un ensemble de logiciels, qui ressemble à la Open Office Open Office est une 'suite bureautique', c'est-àdire un ensemble de logiciels, qui ressemble à la suite bureautique Microsoft Office. La suite comprend: le traitement de texte Writer qui correspond

Plus en détail

Le service pack 6 (SP6) est le dernier disponible pour visual studio 6. Ce dernier devrait être maintenu par Microsoft jusqu en 2008.

Le service pack 6 (SP6) est le dernier disponible pour visual studio 6. Ce dernier devrait être maintenu par Microsoft jusqu en 2008. 1 CONCEPT DE BASE 1.1 Visual Basic 6 1.1.1 Pour quoi faire? VB est un langage de type RAD : «Rapid Application Development». Il permet de créer des applications rapidement grâce à une conception simple

Plus en détail

MEDIAplus elearning - version 6.6

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

Plus en détail

Manuel utilisateur du site www.cg-corsedusud.fr. 1. L Interface Typo 3 (version 4.4.x)

Manuel utilisateur du site www.cg-corsedusud.fr. 1. L Interface Typo 3 (version 4.4.x) Manuel utilisateur du site www.cg-corsedusud.fr 1. L Interface Typo 3 (version 4.4.x) Version 1 Le contenu de ces pages est relatif à TYPO3, CMS/Framework sous licence GNU/GPL disponible sur www.typo3.com

Plus en détail

TP C# Prise en main : interface graphique, animation

TP C# Prise en main : interface graphique, animation TP C# Prise en main : interface graphique, animation 1. Hello World! Description : Vous allez construire une application graphique dotée d un unique bouton qui affiche le message «Hello World!» lorsque

Plus en détail

UTILISATION DE L'APPLICATION «PARTAGE DE FICHIERS EN LIGNE»

UTILISATION DE L'APPLICATION «PARTAGE DE FICHIERS EN LIGNE» UTILISATION DE L'APPLICATION «PARTAGE DE FICHIERS EN LIGNE» url : http://colleges.ac-rouen.fr/cahingt/partages/ UN PRINCIPE : le stockage est privé, le partage est public > tant que l'on ne partage pas,

Plus en détail

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

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

Plus en détail

Guide de l utilisateur. Faites connaissance avec la nouvelle plateforme interactive de

Guide de l utilisateur. Faites connaissance avec la nouvelle plateforme interactive de Guide de l utilisateur Faites connaissance avec la nouvelle plateforme interactive de Chenelière Éducation est fière de vous présenter sa nouvelle plateforme i+ Interactif. Conçue selon vos besoins, notre

Plus en détail

ADOBE CONNECT Participant

ADOBE CONNECT Participant ADOBE CONNECT Participant Index Introduction... 1 1) Accès à la salle de Webconférence... 2 2) Configuration audio... 4 3) Gérer votre caméra... 9 4) Conversation avec les participants d une réunion...

Plus en détail

Utilisation d'interwrite avec un vidéoprojecteur interactif EPSON

Utilisation d'interwrite avec un vidéoprojecteur interactif EPSON Utilisation d'interwrite avec un vidéoprojecteur interactif EPSON Préambule Faire très attention au stylet et à la télécommande qui sont des éléments importants, fragiles, et faciles à voler. Vérifier

Plus en détail

PREZI : Présentations dynamiques

PREZI : Présentations dynamiques Présentation pro ou photos Prezi PREZI : Présentations dynamiques durée de la séance : 2h00 tous public. Tutoriels et logiciels disponible sur www.epn-montalieu.fr Prérequis : - Connaître l'environnement

Plus en détail

Impress. Pour cela, le logiciel sait associer images, textes, vidéos, sons. Il dispose aussi de possibilités d animations et de transitions variées.

Impress. Pour cela, le logiciel sait associer images, textes, vidéos, sons. Il dispose aussi de possibilités d animations et de transitions variées. Présentation Présentation OpenOffice est l'homologue de Microsoft Office PowerPoint. C'est un logiciel de présentation assistée par ordinateur. Il permet de réaliser des diaporamas, censés assister la

Plus en détail

Open Office.org. Sommaire :

Open Office.org. Sommaire : La publication assistée par ordinateur avec : Open Office.org OpenOffice impress est le module de Pré.A.O d'openoffice.or OpenOffice.org, la suite bureautique libre. Cette suite bureautique est téléchargeable

Plus en détail

INITIATION AU SYSTEME D EXPLOITATION WINDOWS 2000

INITIATION AU SYSTEME D EXPLOITATION WINDOWS 2000 INITIATION AU SYSTEME D EXPLOITATION WINDOWS 2000 Introduction : Initiation à la Micro- Informatique 1. Matériel 2. Périphériques a) Le clavier b) La souris c) L écran d) L unité centrale e) L imprimante

Plus en détail

Vos remarques / suggestions

Vos remarques / suggestions Présentation de Picasa Picasa est le logiciel de gestion d'album photo proposé par Google, il est gratuit. Google vous propose deux versions : un logiciel à installer sur l'ordinateur et un module Internet

Plus en détail

Tobii Communicator 4. Guide de démarrage

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

Plus en détail

Introduction @ 1. La gamme Microsoft Expression

Introduction @ 1. La gamme Microsoft Expression La gamme Microsoft Expression Microsoft propose déjà dans son catalogue des outils orientés graphisme ou destinés à la création de sites web. Avec l arrivée de Vista et plus précisément d une couche nommée

Plus en détail

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server Suite à mon précédent article concernant MSDE, je me suis rendu compte à partir des commentaires que de nombreux utilisateurs avaient des problèmes

Plus en détail

OpenOffice.org IMPRESS. Notes de cours Novembre 2005 Version 1.0

OpenOffice.org IMPRESS. Notes de cours Novembre 2005 Version 1.0 OpenOffice.org IMPRESS Notes de cours Novembre 2005 Version 1.0 Table des matières Préambule...3 INTRODUCTION...4 Objectifs...4 Impress PowerPoint...4 MacOSX - PC...4 CREATION...4 MODES DE TRAVAIL...4

Plus en détail

SOGo - Webmail. Recommandations sur l'usage de l'adresse électronique Lille 3

SOGo - Webmail. Recommandations sur l'usage de l'adresse électronique Lille 3 SOGo - Webmail Date d'édition 04/09/2013 Public concerné Étudiants, Personnels Version du logiciel Table des matières Recommandations sur l'usage de l'adresse électronique Lille 3...1 Connexion au webmail...2

Plus en détail

I Pourquoi une messagerie?

I Pourquoi une messagerie? I Pourquoi une messagerie? Outlook express est un logiciel de messagerie de windows. Il est installé par défaut sur un grand nombre d ordinateurs de la planète, ceux tournant sous Windows, et proposé par

Plus en détail

Tahsin Rossanaly - IR3

Tahsin Rossanaly - IR3 Tahsin Rossanaly - IR3 Plan de la présentation Présentation de XNA Architecture et fonctionnement de XNA Éléments d'architecture d'un jeu Interaction avec l'environnement Gestion de la 3D Informations

Plus en détail

Créer un dessin avec Word

Créer un dessin avec Word Créer un dessin avec Word Introduction Introduction Deux écoles, pour la création du dessin La réalisation du dessin Dessin à partir d une image Afficher les dessins Dans le menu, choisir : Outils Option

Plus en détail

Raja Bases de données distribuées A Lire - Tutoriel

Raja Bases de données distribuées A Lire - Tutoriel Université des Sciences de Montpellier Master 2 Semestre 1 Unité d'enseignement FMIN306 Raja Bases de données distribuées A Lire - Tutoriel 26 janvier 2011 Audrey Novak Romain Maneschi Jonathan Fhal Aloys

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

Serveur de Licences Acronis. Guide Utilisateur

Serveur de Licences Acronis. Guide Utilisateur Serveur de Licences Acronis Guide Utilisateur TABLE DES MATIÈRES 1. INTRODUCTION... 3 1.1 Présentation... 3 1.2 Politique de Licence... 3 2. SYSTEMES D'EXPLOITATION COMPATIBLES... 4 3. INSTALLATION DU

Plus en détail

Télécharger et Installer OpenOffice.org sous Windows

Télécharger et Installer OpenOffice.org sous Windows Télécharger et Installer OpenOffice.org sous Windows Version Date Auteur Commentaires 1.00 15/11/2008 Denis Bourdillon Création du document. Mise en forme de texte 1/15 Saison 2008-2009 Table des matières

Plus en détail

SUPPORT DE FORMATION WORD : niveau 2

SUPPORT DE FORMATION WORD : niveau 2 SUPPORT DE FORMATION WORD : niveau 2 Espace public multimédia Le Cyber 49, rue Maurice Thorez 92000 Nanterre - Tél. : 01 41 20 08 41 www.nanterre.fr Sommaire Introduction...3 I. Bordures et trame... 4

Plus en détail

Utilisation de l'outil «Open Office TEXTE»

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

Plus en détail

MINI ARTICLE. Qualité des backups : ok ou pas? Expérimenter grâce aux articles imprimés!

MINI ARTICLE. Qualité des backups : ok ou pas? Expérimenter grâce aux articles imprimés! MINI ARTICLE Qualité des backups : ok ou pas? Expérimenter grâce aux articles imprimés! Date Version Révision : 8.3.2005 Mais, ni l auteur de ce guide, ni les webmaters ou les administrateurs de Metagames,

Plus en détail

Réaliser une présentation avec OpenOffice 2.0

Réaliser une présentation avec OpenOffice 2.0 Réaliser une présentation avec OpenOffice 2.0 Introduction Le but de ce document est de présenter certaines fonctions de base d un des modules d OpenOffice : OpenOffice Impress. Celui-ci est l équivalent

Plus en détail

Fiche n 29 19/05/2002. WORD : les tableaux

Fiche n 29 19/05/2002. WORD : les tableaux Service informatique Enseignement Recherche Fiche n 29 19/05/2002 WORD : les tableaux Présentation des tableaux Un tableau se compose de lignes et de colonnes de cellules que vous remplissez de texte et

Plus en détail

Configuration de Windows (II)

Configuration de Windows (II) Configuration de Windows (II) Affichage des icônes sur le Bureau : 1 disposer les icônes librement sur le Bureau 2 créer des raccourcis des lecteurs sur le Bureau 3 ranger les icônes sur le Bureau Affichage

Plus en détail

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

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

Plus en détail

Avec GMPCAD 2009 animez vos dessins!

Avec GMPCAD 2009 animez vos dessins! Avec GMPCAD animez vos dessins! GMPCAD est encore plus adaptée aux nouvelles solutions multimédia (son, vidéo,..) et intègre de nouvelles fonctions : gestionnaire de textures/images, export JPEG, pièces-jointes-multimédia,

Plus en détail

Dépanner W8 avec les raccourcis clavier

Dépanner W8 avec les raccourcis clavier Dépanner W8 avec les raccourcis clavier Gérer la «Charm Bar» La «charm bar», c est cette barre intelligente qui apparaît sur la droite de l écran et qui nous offre l opportunité d accéder rapidement à

Plus en détail

Figure 6.3: Possibilité d exprimer son talent

Figure 6.3: Possibilité d exprimer son talent SÉANCE 6 Création de schémas 6.1 Présentation du logiciel «Draw» est un logiciel de dessin vectoriel et de PAO (Publication Assistée par Ordinateur). Avec ce logiciel, il vous est possible de créer divers

Plus en détail

Initiation à L Informatique. - Cours sur Windows - La notion du SE

Initiation à L Informatique. - Cours sur Windows - La notion du SE Initiation à L Informatique - Cours sur Windows - 1 Le système d'exploitation est un ensemble d'outils logiciels permettant à l'ordinateur de gérer : - la communication entre les différents composants

Plus en détail

Naviguer CHARGER ET QUITTER INTERNET EXPLORER

Naviguer CHARGER ET QUITTER INTERNET EXPLORER Naviguer UTILISER UN NAVIGATEUR CHARGER ET QUITTER INTERNET EXPLORER Pour pouvoir travailler avec votre application Internet Explorer il est indispensable de l'ouvrir. Pour réaliser cette opération plusieurs

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

Guide Rédacteur Typo3

Guide Rédacteur Typo3 Guide Rédacteur Typo3 Table des matières 1. Introduction 1 2. Login 1 3. Vue d'ensemble 2 1.1 Le mode Page...5 1.2 Le mode Voir...7 4. Créer une nouvelle page 8 5. Déplacer une page 9 6. Copier une page

Plus en détail

Une GED personnelle pratique et simple. Copyright 2005 Alain DELGRANGE licence GPL

Une GED personnelle pratique et simple. Copyright 2005 Alain DELGRANGE licence GPL Une GED personnelle pratique et simple Copyright 2005 Alain DELGRANGE licence GPL Introduction Pyged est une application de gestion électronique de documents personnelle optimisée pour le fonctionnement

Plus en détail

Documentation VERSION FRANCAISE

Documentation VERSION FRANCAISE xplan 3.8 pour Mac Gestion de projet avec diagrammes de Gantt Documentation VERSION FRNCISE PRESENTTION vec xplan, créer, suivre et gérer vos projets sera plus facile que jamais! xplan est fait pour suivre

Plus en détail

Présentation et manuel utilisateur. Comment bien démarrer avec les LOGI-Logiciels?

Présentation et manuel utilisateur. Comment bien démarrer avec les LOGI-Logiciels? Merci beaucoup d avoir rejoint les utilisateurs de la suite logicielle LOGI-Collector pour PC. Elle vous permettra de gérer efficacement vos collections de Timbres, Capsules, Fèves, Véhicules miniatures,

Plus en détail

Publication Assistée par Ordinateur

Publication Assistée par Ordinateur Présentation OpenOffice Draw est l'outil de dessin vectoriel de la suite bureautique OpenOffice. De fait, Draw permet de réaliser certains documents comparables à ceux de Publisher, le logiciel de P.A.O.

Plus en détail

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

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

Plus en détail