RAPPORT DE STAGE GWT PRISE EN MAIN SERVLET - TEST DES DAO TELOSYS PLUGIN ECLIPSE WIZARD DATASET TELOSYS

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

Download "RAPPORT DE STAGE GWT PRISE EN MAIN SERVLET - TEST DES DAO TELOSYS PLUGIN ECLIPSE WIZARD DATASET TELOSYS"

Transcription

1 RAPPORT DE STAGE GWT PRISE EN MAIN SERVLET - TEST DES DAO TELOSYS PLUGIN ECLIPSE WIZARD DATASET TELOSYS

2 SOMMAIRE 1 Introduction Généralités à propos du stage Sujet initial du stage Objectifs Présentation Sogeti Telosys Implantations du groupe Sogeti Dans le monde En France Les métiers du groupe Sogeti Le groupe Capgemini Sogeti Détails du stage Généralités Google Web Toolkit Objectif Environnement de développement Telosys Google Web Toolkit Eclipse 3 J2EE Derby Tomcat Réalisations Application de démonstration Présentations Problèmes rencontrés Service REST pour Telosys DAL Objectifs Environnement de développement Telosys J2EE Bases de données Réalisation Wizard Eclipse Objectifs Environnement de développement Développement Conclusion

3 5 Glossaire Remerciements Annexes GWT Addition GWT / Telosys Partie IHM GWT + GWT-Ext Partie Serveur - Service Telosys Dataset Telosys Dataset simple Dataset Paramétré Dataset Paramétré dynamiquement Template Velocity

4 1 Introduction Dans le cadre de la formation «Licence Professionnelle Systèmes informatiques et Logicielles» l étudiant effectue un stage de seize semaines en milieu professionnel, sanctionnant une dernière année d étude d informatique et facilitant l insertion dans le monde professionnel. C est par et avec Laurent Guerin que j ai réalisé mon stage au sein de l agence AS Nantes de la société Sogeti, sur le framework Telosys. Ce dernier est destiné à faciliter la migration d applications «client lourd» vers des applications «client léger» s exécutant dans un navigateur tout en préservant l ergonomie, l efficacité et les délais de livraison. -4-

5 2 Généralités à propos du stage 2.1 Sujet initial du stage Objectifs Deux objectifs avaient été définis pour ce stage. Dans un premier temps, l étude de GWT en tant que client Telosys. Ce dernier offrant déjà un panel varié de clients RIA (OpenLazlo, Flex, JavaFX). Par la suite, le stage devait se poursuivre sur la mise en place d un outil respectant l architecture REST destiné à exposer les DAO sur lesquels travaille le développeur et à les rendre accessible via un client http. Illustration 1: Répartition du temps sur le stage 2.2 Présentation Sogeti Telosys Implantations du groupe Sogeti Dans le monde Sogeti forme aujourd hui le pôle LPS (Local Professional Services) du groupe Capgemini. Sogeti assiste les entreprises et les organismes publics, tant dans la création et l optimisation de leurs systèmes d information que pour la mise en œuvre de leurs projets industriels de haute technologie. Son expertise en matière de Local Professional Services se développe autour de trois métiers complémentaires : -5-

6 L ingénierie scientifique, l informatique technique et industrielle, la mécanique et l électronique dans les grands projets de R&D industriels (High-Tech Consulting). Le conseil et l intégration de solutions applicatives de gestion (Application Services). L infrastructure technique et l exploitation de la production informatique (Infrastructure Services). Sogeti réunit aujourd hui collaborateurs dans 11 pays avec une couverture métier répartie en 2004 entre Infrastructure Services (28 %), Application Service (58 %) et High-Tech (14 %), ainsi qu un large portefeuille de services rendus aux différents secteurs d activité économique. Illustration 2: Répartition géographique de Sogeti dans le monde En France Illustration 3: Répartition géographique de Sogeti en France Sogeti compte plus de collaborateurs en France, répartis en services de proximité, géographiquement proches des clients. Les services de proximité exigent un business model adapté, reposant sur des micro-entreprises autonomes (agences), sous la responsabilité d un entrepreneur, implantées sur un territoire local, capables répondre de façon instantanée et optimale (qualité, prix) aux besoins spécifiques de son marché. -6-

7 Illustration 4: Constitution de l'agence Sogeti Les métiers du groupe Sogeti Le groupe Capgemini Le rapprochement de Capgemini et Sogeti repose sur la pertinence des histoires respectives, des offres et des savoir-faire, des talents et de l esprit de service. Il s appuie sur la simplicité, la proximité de l organisation de Sogeti et de ses agences. Il concrétise les investissements déjà réalisés et qui se poursuivront en formation, ainsi qu en développement professionnel et commercial. Illustration 5: Structure du groupe Capgemini -7-

8 Sogeti Sogeti est présent dans trois secteurs de l informatique. Application Service Sogeti participe à de grands projets informatiques avec engagement de résultat et respect des labels ISO. Sogeti réalise des prestations intellectuelles associées au système de gestion, depuis la phase de conception jusqu à la tierce maintenance applicative, en passant par l intégration, les tests et le déploiement d applications spécifiques ou bâties autour des logiciels majeurs du marché. Les offres majeures : Architectures et EAI, Application management, Technologies de développement Web, Business intelligence software, Control et testing, Implémentation de software, Déploiement d ERP, Centres de services. Infrastructure Service Sogeti propose une gamme de prestations de services complète, qui s étend du conseil à la gestion des services continus en passant par la mise en œuvre des projets liés à l exploitation et la gestion des infrastructures techniques. Les offres majeures : Gérance, help desk, exploitation de serveurs, Infrastructure management, TREC : Remote Exploitation Control, Intégration des outils d administration de systèmes, SOC : Security Operation Center, Migration (Piramide). High-Tech Consulting Sogeti intervient dans l ensemble des secteurs de haute technologie (aéronautique, spatial, automobile, télécoms, cartes à puce, numérique ). Sogeti participe aux phases de R&D des plus grands projets et les accompagne jusqu à leur terme. Les offres majeures : Automation, Logiciels embarqués, Calcul et Eurostats, Conseil en haute technologie, R&D externalisé. Illustration 6: Répartition du chiffre d'affaires Sogeti -8-

9 3 Détails du stage 3.1 Généralités L ensemble du stage s est déroulé dans le cadre du framework open source Telosys, développé au sein de Sogeti et hébergé par ObjectWeb, structure accueillant nombre de projets open source, par exemple Acceleo de l éditeur Obeo localisé à Nantes. 3.2 Google Web Toolkit Objectif Il s agit de prendre en main l outil GWT (Google Web Toolkit), son environnement de développement et ses diverses extensions. Ceci afin de définir à terme s il est possible d utiliser conjointement les frameworks Telosys et GWT, et de réaliser un support Power Point pour Sogeti destiné à faciliter la découverte de GWT pour les développeurs, ainsi que quelques exemples applicatifs de l utilisation conjointe de Telosys et GWT Environnement de développement Telosys Telosys est un framework open source hébergé par Object-Web et développé principalement au sein de Sogeti. Il est conçu pour réaliser des applications métier de type «Client-serveur». Telosys offre différentes briques intégrées mais utilisables séparément : Framework Javascript Gestionnaire d écrans screen maps Couche de persistance (mapping Objets/Relationnel) Gestionnaire d actions Gestionnaire de services Générateur de code Dans le cadre de cette étude de GWT, nous nous intéresserons plus particulièrement à la couche de persistance et au gestionnaire de services ; ce sont en effet les deux aspects de Telosys qui sont utilisés ici. -9-

10 Couche de Persistance Telosys DAL Pour gérer l accès aux données, Telosys fournit un ensemble de classes permettant de gérer simplement des DAO respectant les opérations de CRUD étendu. Par Eclipse, un générateur de code crée pour chaque table un DAO, un VO (POJO) et une VOList (Liste de VO) ; l ensemble de ces classe assure la persistance du framework. Illustration 7: Telosys DAL Gestionnaire de services Telosys propose un système d implémentation et d appel de «services» dont les principes sont très proches des «web services». Un service «voit» la session de l utilisateur qui le sollicite et peut donc l utiliser. Côté serveur, un service est une classe Java qui implémente la méthode «execute» d une interface et qui peut renvoyer soit un objet «response» (transmis au client en XML), soit une «vue» générée par un «renderer» et directement affichable dans le navigateur. Côté client, le framework Javascript offre un système de «stub générique» permettant d appeler un service par son nom symbolique. Les services peuvent être utilisés dans de nombreux cas : recherche multicritères avec affichage d une liste de résultats, navigation traditionnelle entre pages (type MVC), contrôle de saisie champ par champ Google Web Toolkit Suite à l expansion récente de l architecture AJAX, Javascript est devenu un langage de script incontournable pour les applications web ; c est suite à ce constat que GWT a vu le jour

11 GWT est un framework open source développé par Google. L idée générale de GWT était d offrir aux développeurs un outil permettant de générer du code Javascript compact à partir de code Java. En effet, le Javascript est très difficile à maintenir, les IDE sont rares de même que les bons développeurs Javascript. A l opposé, Java offre nombre d outils destinés à préserver la maintenabilité des applications, à respecter les normes de développement, ainsi que des IDE performants. L archive GWT fournie par Google contient initialement : Un utilitaire en ligne de commande permettant de générer un projet GWT destiné ou non à Eclipse. Un utilitaire en ligne de commande permettant de compiler le code java en code Javascript. Une bibliothèque java contenant toutes les classes nécessaires au fonctionnement de GWT. Le code Java du client est compilé en Javascript ; la version 1.4 du compilateur GWT n autorise actuellement qu une partie des classes Java 1.4. La version 1.5 RC1 de GWT, sortie en juillet, offre la possibilité d exploiter les nouveautés Java 1.5 telles que les annotations, les types génériques. Le serveur quant à lui peut tout à fait être codé en Java 1.6 dés lors que les Objets utilisés pour la communication client/serveur respectent Java 1.4. Le serveur peut donc appeler des services déjà existants. Un projet GWT sépare les aspects client et serveur en deux packages distincts, comme le montre le schéma ci-dessous. Illustration 8: Schéma détaillé du fonctionnement GWT

12 Communication Client-Serveur GWT propose son propre mode de communication client/serveur par services RPC ; cela revient à faire un appel asynchrone AJAX. Pour traduire ce dernier en java, GWT utilise deux interfaces côté client et une classe d implémentation côté serveur (voir schéma ci-dessous). Une des interfaces est directement implémentée côté serveur et permet l appel du service ; la seconde représente l aspect asynchrone de l appel. Illustration 9: Fonctionnement du RPC GWT Widgets GWT fournit un certain nombre de widgets de base ; dans l ensemble, la librairie officielle est assez pauvre comparée à celles maintenues par la communauté. Quelques exemples de widgets GWT ci-dessous. Illustration 10: Barre de menu GWT Illustration 11: TabPanel GWT

13 Illustration 12: StackPanel GWT De nombreuses bibliothèques de widgets se sont développées autour de GWT ; les plus connues sont gwt-ext et ext-gwt. La première dispose d une licence open source ; c est pourquoi elle a été choisie ici, les deux bibliothèques proposant une offre relativement similaire. Cette bibliothèque offre des possibilités très variées : ainsi, on trouve des tableaux éditables dont les données sont chargées à partir de XML ou de JSON, proposant un panel varié de tris et d affichages (illustration 12). Illustration 13: Tableau éditable GWT-ext

14 Les formulaires ont été particulièrement travaillés, le positionnement des widgets est très simple, les contrôles de surfaces sont gérés par des expressions régulières, un champ calendrier est disponible, les informations peuvent transiter par XML ou JSON (illustration 13). Illustration 14: Formulaire GWT-Ext Eclipse 3 J2EE Suite à un travail préalable de recherche sur le développement avec GWT, il est apparu que des plugins facilitant l utilisation du framework existaient pour les IDE Eclipse et NetBeans. Après avoir testé les deux IDE et leurs plugins, il s est avéré que le plugin NetBeans était moins productif que celui de son homologue. De plus, Eclipse étant le plus utilisé au sein de Sogeti, c est donc lui que j ai utilisé. La version J2EE d Eclipse a été utilisée : en effet, utiliser Telosys et des servlets requiert la version Enterprise de Java. Il existe deux plugins Eclipse pour GWT. Le premier, Cypal Studio, est open source et propose un certain nombre de fonctionnalités assez basiques : Créer un module Créer un remote service Maintenir le fichier Async Lancer l application en hosted mode Compiler l application en JavaScript Déployer sur un serveur extérieur Exporter comme WAR Le second, GWT Designer, qui est payant (40$/an/poste), offre les mêmes fonctions que Cypal, mais leur ajoute les suivantes : Editeur WYSIWYG (drag & drop) Génération bidirectionnelle du code Support du CSS Wizards générant certaines classes récurrentes

15 Lancement de tests JUnit Refactoring Internationalisation Création, Edition et Transformation de projets Eclipse en projets GWT. Documentation très étoffée Derby Une application de démonstration de Telosys, Telosys BookStore, utilise une base de données Derby. Plutôt que de créer une base pour les tests, étant donné que ce n était pas le sujet, je me suis appuyé sur cette dernière Tomcat 6 Un serveur web étant nécessaire pour les servlets et le déploiement des.war GWT, la version 6 de Tomcat convenait très bien Réalisations Suite à l étude de GWT, et du fonctionnement de Telosys, les bases étaient posées pour chercher une manière d utiliser GWT comme IHM de Telosys. Par la suite une première solution de complémentarité fut envisagée : utiliser le RPC de GWT pour assurer la communication entre le client et le serveur, puis utiliser Telosys DAL depuis la classe d implémentation GWT côté serveur. Illustration 15: Communication GWT / Telosys par le RPC de GWT Si cette méthode semblait cohérente, il est vite apparu que la pseudo-servlet dont hérite la classe d implémentation GWT est limitée dans son mode de fonctionnement. Par conséquent, une seconde solution fut trouvée : appeler des services Telosys en utilisant des requêtes classiques. Les services Telosys renvoient du XML, ce qui est parfaitement adapté à l utilisation des widgets de GWT-ext. Illustration 16: Communication GWT / Telosys par services Telosys Application de démonstration Basée sur la seconde solution, une application de démonstration a pu être réalisée. Celle-ci propose trois exemples impliquant GWT et Telosys. Le premier exemple utilise une IHM très simple pour réaliser une addition par un service Telosys

16 Vous pourrez trouver en Annexe le code de cette addition. Le service est appelé par une URI et renvoie du XML. Illustration 17: Addition Telosys phase A Illustration 18: Addition Telosys phase B Le second exemple, un peu plus complexe, fait appel aux DAO Telosys pour accéder à la base Derby et charger une liste d auteurs. La communication client-serveur passe par un service Telosys qui renvoie des données au format XML ; ce dernier est directement pris en charge par le widget GWT-Ext de l IHM. On peut ensuite modifier un auteur via un formulaire dont les champs sont soumis à un contrôle de surface par expression régulière. Illustration 19: Liste d'auteurs et modification par formulaire

17 Présentations Dans le cadre de l étude de GWT, deux Power Point ont été écrits. L un décrit de façon aussi détaillée que possible le fonctionnement de GWT et de ses diverses extensions, plugins... L autre est destiné à la mise en place d un poste de travail cohérent pour utiliser GWT Problèmes rencontrés Telosys + GWT GWT dispose de son propre fichier de mapping «Projet.gwt.xml» alors que Telosys utilise le fichier «web.xml» classique d un projet web dynamique impliquant des servlets. Ceci fut contourné en écrivant un build Ant ajoutant au «.war» généré par GWT le fichier «web.xml»

18 3.3 Service REST pour Telosys DAL Objectifs Développer une application permettant d utiliser et tester les DAO Telosys via un navigateur web. L application doit respecter les conditions suivantes : Respecter l architecture REST. Fonctionner avec un unique package, n utiliser que du Java, CSS, JavaScript. Être intégré à Telosys sans aucune configuration supplémentaire de l utilisateur Environnement de développement Telosys Le développement de ce service REST a bien entendu requis l utilisation des fonctions de persistance de Telosys, puisqu elles représente le cœur et la finalité de l application. Au fil du développement, les fonctionnalités de Dataset se sont révélées assurer une plus vaste globalité à l application. Datasets Telosys Les Datasets Telosys sont destinés à combler les éventuelles lacunes de la persistance. En effet, les DAO sont liés à une table, ce qui interdit de faire des jointures, requêtes imbriquées... Il existe plusieurs types de Datasets ; ici, seuls les SQLDataset qui accèdent à des bases de données seront exposés. Fonctionnement global : En premier lieu, on renseigne une définition du dataset qui contient la requête SQL et d éventuels paramètres, de façon similaire aux procédures stockées. On charge le dataset par une méthode load(). Et on peut accéder aux données qu il a chargées. Les SQLDataset sont eux-mêmes différenciés selon trois types : Le SQLDataset non paramétré n est défini que par la requête sql. Le SQLDataset paramétré statiquement est défini par une requête sql et une liste de critères correspondant à des «?» dans la requête ; lors du chargement, on affecte une valeur à ces critères. Le SQLDataset paramétré dynamiquement est défini par une requête sql ; lors du chargement, on définit dynamiquement ses paramètres et leurs valeurs. Les DAO Telosys, lors des actions de listes, acceptent une clause where. On retrouve alors le fonctionnement des SQLDataset non paramétrés ou paramétrés statiquement. Ces différents cas ont été traités dans l application réalisée. Pour mieux comprendre l utilisation des Dataset, vous trouverez en annexes des exemples des trois types de SQLDataset

19 J2EE La majorité du travail s est déroulé sur un Eclipse 3.3 Europa J2EE, mis à part quelques corrections réalisées sur la version 3.4 Ganymede J2EE d Eclipse. L utilisation de servlets dans le projet impliquait un IDE J2EE ainsi qu un conteneur de servlet ; Tomcat 6.0 a été choisi, s intégrant aisément dans Eclipse Bases de données L application a été testée au fur et à mesure à l aide d une base Derby déjà construite pour une application de démonstration de Telosys. Lorsque le travail a été suffisamment avancé, des tests ont été effectués avec une base mysql et une base Oracle Réalisation Le développement a débuté par la conception d une maquette présentant les différentes parties qui seraient implémentées par la suite, y compris la gestion du «tabpanel» en Javascript. Illustration 20: Maquette préliminaire

20 Pour répondre aux caractéristiques de l architecture REST, toutes les fonctions de l application doivent être accessibles par une URL humainement compréhensible. Cette URL a évolué au fur et à mesure du développement : L URL suivante décrit l action load du DAO author prenant comme clé primaire «5» sur le schéma ROOT de la base 0. Le numéro de base correspond à un fichier de configuration de Telosys appelé «dbconfig.xml». /db/0/root/author.load?id=5 Ici l URL décrit un insert du DAO author des valeurs «pierre» et «dupont» sur le schéma ROOT de la base 0. /db/0/root/author.insertkeygen?lastname=dupont&firstname=pierre L IHM de l application a été construite au fil des fonctions implémentées et testée au fur et à mesure. La partie entity correspond aux Value Object (POJO) générés par Telosys à partir de la base de données. Illustration 21: Entity

21 La partie List correspond à la méthode loadlist du DAO et met en action les VOList (Listes de POJO) générées par Telosys. Illustration 22: LoadList L application offre la possibilité de paramétrer le loadlist par une clause where et un order by. On peut également remplacer les valeurs par des «?» qui sont définis par la suite. A la manière des procédures stockées, ceci peut être utilisé pour préparer des requêtes de recherche dans une table en ne renseignant que les valeurs. Illustration 23: LoadList paramétré

22 Si les parties List et Entity ne sont accessibles que lorsqu une table disposant d un DAO a été sélectionnée, la partie Dataset peut être utilisée depuis n importe quelle table. Elle est destinée à tester les requêtes qui mettront en œuvre des Datasets. Illustration 24: Requête Dataset Comme les chargement de liste, les requêtes des datasets peuvent être paramétrées avec des «?», ce qui requiert ensuite de définir le type et la valeur correspondante. Illustration 25: Dataset Paramétré

23 On voit, à droite du champ destiné à la requête, deux listes : la première propose toutes les tables du schéma sélectionné, et la seconde les attributs correspondant à la table sélectionnée. Un double clic sur un élément d une de ces listes insère l élément à l emplacement du curseur dans le champ de la requête. Lors du développement de l application, il a fallu accéder aux MetaData des bases de données afin de fournir les fonctions Javascript décrites ci-dessus. Un ensemble de classes a donc été écrit puis ajouté au framework Telosys. L application, si elle n est pas REST-full puisque Telosys propose plus de méthodes que le CRUD, répond néanmoins aux principes fondamentaux de REST. Elle est Stateless (on ne conserve aucun état). Une URL lisible permet d accéder à toutes les fonctions

24 3.4 Wizard Eclipse Objectifs Telosys dispose déjà d un large panel d outils générant du code récurrent. Dans le cadre de cette «boîte à outils» du développeur Telosys, il m a été demandé de créer un wizard Eclipse générant une classe utilisant les Datasets Telosys Environnement de développement Eclipse 3.0 Le développement de Plug-in Eclipse se fait sous n importe quel type d Eclipse : on utilise simplement un projet plugin qui fournit toutes les classes d Eclipse. Lors de l exécution du plugin, l IDE lance une nouvelle instance de lui-même et charge le plugin dedans ; on peut alors utiliser cette instance comme un IDE fonctionnel. Eclipse est basé sur deux bibliothèques graphiques : SWT, développé par IBM, et Jface, partie intégrante d Eclipse qui s appuie sur cette dernière. SWT Cette bibliothèque, contrairement à AWT ou SWING, utilise les objets natifs du système d exploitation. Ainsi, que l application soit déployée sous Windows 2000, XP, Vista ; Ubuntu, Mandrake, RedHat ; MacOS, elle prendra les caractéristiques de l OS ainsi que les personnalisations de l utilisateur. C est une solution permettant de ne pas se préoccuper de l aspect graphique de l application. Jface Développée pour fonctionner conjointement avec SWT, elle apporte des structures spécifiques à Eclipse (Vues, Assistants, Dialogues, Préférences...). Velocity Velocity est des nombreux projets de la fondation Apache ; il s agit d un moteur de template écrit en Java. Il propose plusieurs types d applications. Celle qui nous intéresse est la génération de code source dans Eclipse. C est en effet Velocity qui permettra la création des classes à partir des informations recueillies dans le Wizard. L aspect le plus intéressant de Velocity réside dans sa simplicité : si le template fourni ne convient pas au développeur, le modifier est très rapide. Vous trouverez en annexe un des templates utilisés par le plug-in Développement Suivant les conseils de Laurent Guerin, dans un premier temps je me suis consacré à l étude des Wizards déjà réalisés : en effet, l architecture d Eclipse est très complexe et les Wizards n en représentent qu une infime partie. Après quelques journées passées à me perdre dans la hiérarchie des classes, lire du code pas toujours très bien documenté, et tester les possibilités de SWT, j ai d abord réalisé un premier schéma d enchaînement des pages du Wizard

25 Illustration 26: Enchaînement des pages du wizard Suite à la validation de ce schéma par Laurent Guerin, j ai pu commencer à coder. Une première version a vu le jour non sans mal : j ai dû étudier le fonctionnement de plusieurs Wizards d Eclipse, entre autres ceux de créations de projets qui comportaient plusieurs pages, ceux mettant en œuvre des boîtes de dialogue pour le chargement ou l enregistrement de fichiers. Il est rapidement apparu que cette première ébauche était boiteuse : les cinq pages du Wizard entraînaient une grande complexité du code, une perte de temps pour l utilisateur et ne permettaient pas de mettre en valeur l aspect personnalisation des templates Velocity. Une seconde version, utilisant deux pages et une boîte de dialogue, vit le jour. La boîte de dialogue devait gérer les tests du Dataset. Une fois de plus, cette solution n était pas satisfaisante, peu intuitive et trop complexe pour l utilisateur. J ai donc archivé ces deux versions et ai choisi une interface plus condensée ne mettant en œuvre qu une seule page. L interface est simple, explicite et aisée à maintenir

26 Illustration 27: Wizard Dataset sous Windows Vista Par la suite, un fichier de configuration sera ajouté à Telosys décrivant les templates disponibles pour le wizard

27 Un second Wizard a été réalisé par la suite, s appuyant sur le précédent. Il s agit de générer un POJO Java à partir de ses attributs (type, nom, valeur initiale) ainsi que leurs accesseurs. Illustration 28: Wizard POJO sous Vista

28 4 Conclusion D un point de vue technique, ce stage m a permis de découvrir les frameworks GWT et Telosys, les librairies GWT-Ext, Velocity, SWT, Jface et les bases de données Oracle et Derby. Ce fut également mon premier contact avec une entreprise dans le domaine de l informatique. L agence Nantes-Rennes, au terme de ce stage, m a proposé un CDD qui correspond parfaitement à mes projets. L intérêt de ce stage a résidé dans sa principale difficulté : en effet, diverses technologies ont été utilisées, et il m a fallu apprendre par moi-même à les utiliser. Cela m a fait découvrir des communautés très actives de gens passionnés. L open source est un formidable moyen de développement pour le logiciel ; l utilisateur peut être impliqué dans les projets selon ses compétences, sa motivation. A travers le bref aperçu que j ai eu du logiciel libre, se découpent de grands groupes qui semblent avoir saisi toutes les possibilités offertes par l open source. Ainsi Sogeti soutient le framework Telosys ; Google lance le framework GWT sur le marché et le passe sous licence Apache (libre) à partir de la version 1.4 ; IBM assure le développement d Eclipse. Bien entendu, les géants de l informatique trouvent leur intérêt dans l open source : Sogeti intègre du Telosys dans ses projets ; Google utilise GWT pour réaliser ses applications web, et 70 % des développeurs java utilisent Eclipse. Plus généralement, si de grand comptes optent pour et développent la solution libre, c est certainement pour bénéficier de communautés actives, que même eux ne sauraient entretenir. Si certains se méfient encore des projets libres, leur jugement devrait se modifier dans les années à venir. Le projet Ubuntu est sans doute l exemple le plus flagrant de ce que peut devenir le logiciel libre : il prend à contre-pied toutes les caractéristiques de l informatique «commerciale». En effet, Ubuntu, en plus d être libre et gratuit, fournit à qui en fait la demande des CDs d installation livrés directement chez soi, assumant les frais de pressage et port!

29 5 Glossaire CRUD : Create, Read, Update, Delete. Désigne les quatre opérations de base pour la persistance des données. DAO : Data Acces Object. Il s agit d une classe gérant l accès aux données pour une application : si le format de stockage des données change, il ne faut modifier que le DAO, l application reste fonctionnelle. EntryPoint : L EntryPoint est une classe qui hérite d EntryPoint ; c est par elle que l on place les différentes fonctions de l application dans le.html du module. On peut créer plusieurs EntryPoint dans un module pour clarifier le code. Mais elles doivent insérer dans le même.html pour ne pas générer d erreurs. MetaData : Une MétaDonnée est une donnée servant à définir ou décrire une autre donnée, quel que soit son support (papier ou électronique). Module : Un module représente une application GWT ; lors du déploiement chaque module correspondra à un.war. POJO : Plain Old Java Object. Acronyme décrivant un Objet Java simple, n étendant aucune classe, n implémentant aucune interface. REST : REpresentational State Transfer. Style de conception d architecture web. Basé sur quelques principes simples : L URI doit être humainement lisible et permettre d accéder directement à l information. Le protocole HTTP fournit toutes les opérations nécessaires (POST, GET, PUT, DELETE). Chaque opération se suffit à elle-même ; il n y a pas d état. Les standards HTML, XML permettent de faire le lien vers d autres ressources. On dit d une application qu elle est REST-full, si elle respecte scrupuleusement tous ces critères. RIA : Rich Internet Applications. Applications mixant les Webapp et les structures client légerserveur. Elles autorisent le client à effectuer des traitements afin d éviter le temps de transfert des données provenant du serveur. RPC : Remote Procedure Call. Un protocole permettant de faire des appels de procédures sur un ordinateur distant à l aide d un serveur d application. Ce protocole est utilisé dans le modèle clientserveur et permet de gérer les différents messages entre ces entités. Telosys DAL : Telosys Data Access Layer. Il s agit de l ensemble des outils Telosys dédiés à la persistance des données

Introduction / retour d'expérience : GWT

Introduction / retour d'expérience : GWT Introduction / retour d'expérience : GWT Qu'est ce que le Google Web Toolkit? Framework Ajax accessible et productif Pour quels projets? Interface riche et ergonomique Visualisation d'un grand nombre de

Plus en détail

Documentation technique

Documentation technique MEEVY Documentation technique Juillet 200 MEEVY a pour but de fournir aux artistes des outils pour promouvoir leur musique sur internet et proposer à l auditeur une plateforme de musique en ligne gratuite

Plus en détail

Mise en œuvre des serveurs d application

Mise en œuvre des serveurs d application Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés

Plus en détail

Programmation GWT 2. Développer des applications HTML5/JavaScript en Java avec Google Web Toolkit. 2 e édition. Sami Jaber

Programmation GWT 2. Développer des applications HTML5/JavaScript en Java avec Google Web Toolkit. 2 e édition. Sami Jaber Programmation GWT 2 Développer des applications HTML5/JavaScript en Java avec Google Web Toolkit 2 e édition Sami Jaber Groupe Eyrolles, 2012, ISBN : 978-2-212-13478-0 Table des matières Introduction à

Plus en détail

Spring IDE. Mise en œuvre. Eclipse

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

Plus en détail

ARCHITECTURE REST & WEB SERVICES. Exposé Informatique & Réseaux CHAMBON Florian 14 janvier 2014

ARCHITECTURE REST & WEB SERVICES. Exposé Informatique & Réseaux CHAMBON Florian 14 janvier 2014 ARCHITECTURE REST & WEB SERVICES Exposé Informatique & Réseaux CHAMBON Florian 14 janvier 2014 1 Introduction Présentation de Rest Serveur Java JAX-RS Démonstration 2 Introduction Présentation de Rest

Plus en détail

Java EE Approfondi - Cours 2. Cours de 2 e année ingénieur Spécialisation «Génie Informatique»

Java EE Approfondi - Cours 2. Cours de 2 e année ingénieur Spécialisation «Génie Informatique» Java EE Approfondi - Cours 2 Cours de 2 e année ingénieur Spécialisation «Génie Informatique» Présentation Lier l'orienté objet et la base de données relationnelle peut être lourd et consommateur en temps.

Plus en détail

Architecture Orientée Service, JSON et API REST

Architecture Orientée Service, JSON et API REST UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API

Plus en détail

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

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

Plus en détail

Spécifications techniques. Analyse d une solution de gestion des processus

Spécifications techniques. Analyse d une solution de gestion des processus ACube : module workflow Spécifications techniques Analyse d une solution de gestion des processus Mise en place côté Framework Ergonomique d un composant permettant de piloter l ergonomie selon l avancement

Plus en détail

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce

Plus en détail

Tp2 Emacs Développement Web

Tp2 Emacs Développement Web Tp2 Emacs Développement Web Les indications ci-dessous donnent les grandes lignes du développement. 1/ Evenement Ajax Jquery: Le code javascript jquery suivant permet d afficher un message dans un span

Plus en détail

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 42

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 42 Java et Objet Amélie Lambert 2014-2015 Amélie Lambert 2014-2015 1 / 42 Chapitre 8 Développement d applications Web Amélie Lambert 2014-2015 2 / 42 Plan du cours Typologie des applications Web Architecture

Plus en détail

Développement rapide d applications AJAX - J2EE. Laurent Guérin ( lguerin@sogeti.com ) Solutions Linux 1er Février 2007. Constats

Développement rapide d applications AJAX - J2EE. Laurent Guérin ( lguerin@sogeti.com ) Solutions Linux 1er Février 2007. Constats Développement rapide d applications AJAX - J2EE Solutions Linux 1er Février 2007 Laurent Guérin ( lguerin@sogeti.com ) Constats 1 Constats Statistiques du Standish Group 18% CHAOS Report 2004 29% Succès

Plus en détail

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand Centrale Réseaux

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un

Plus en détail

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki Institut Supérieur de Gestion Cours pour 3 ème LFIG Java Enterprise Edition Introduction Bayoudhi Chaouki 1 Java EE - Objectifs Faciliter le développement de nouvelles applications à base de composants

Plus en détail

Projet Telosys : Framework global et outil de génération de code

Projet Telosys : Framework global et outil de génération de code Projet Telosys : Framework global et outil de génération de code Laurent Guérin laurent.guerin@sogeti.com @ltguerin Telosys Project Leader Sogeti & OW2 Consortium Solutions Linux / Session OW2-20 juin

Plus en détail

Objectifs. Comprendre l architecture typique d une application web Exemple: Expérimenter avec:

Objectifs. Comprendre l architecture typique d une application web Exemple: Expérimenter avec: Cedric Dumoulin Objectifs Comprendre l architecture typique d une application web Exemple: Application permettant de lister un catalogue d articles, et de créer des articles Expérimenter avec: EJB, JPA

Plus en détail

Projet de fin d'études. Clients RIA pour le framework Telosys Étude de faisabilité

Projet de fin d'études. Clients RIA pour le framework Telosys Étude de faisabilité Projet de fin d'études Clients RIA pour le framework Telosys Étude de faisabilité Introduction Projet de fin d'études Entreprise Sogeti Framework open source Telosys Étude de nouvelles technologies RIA

Plus en détail

Site Web de paris sportifs

Site Web de paris sportifs Conception Nom HENAUD Benoît Numéro d auditeur 05-39166 Version V1.1 Date de mise à jour 15/05/2008 1/18 Table des matières 1. Objectif du document... 3 2. Architecture... 4 2.1. Contraintes techniques...

Plus en détail

SQL Server Installation Center et SQL Server Management Studio

SQL Server Installation Center et SQL Server Management Studio SQL Server Installation Center et SQL Server Management Studio Version 1.0 Grégory CASANOVA 2 SQL Server Installation Center et SQL Server Management Studio [03/07/09] Sommaire 1 Installation de SQL Server

Plus en détail

Les architectures N-tiers

Les architectures N-tiers Les architectures N-tiers 1 SOMMAIRE DU COURS XML ET LES ARCHITECTURES N-TIER Introduction aux architectures N-tier Serveurs d applications Déploiement d applications J2EE Tiers applicatif : servlets Tiers

Plus en détail

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

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

Plus en détail

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1 LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1 SAS Cost and Profitability Management, également appelé CPM (ou C&P), est le nouveau nom de la solution SAS Activity-Based Management. Cette version

Plus en détail

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 7 : RMI

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 7 : RMI iut ORSAY DUT Informatique Département Informatique 2008 / 2009 Travaux Pratiques n o 7 : RMI Nom(s) : Groupe : Date : Objectifs : savoir créer des applications client-serveur mettant en jeu des machines

Plus en détail

PLAN PROJET. Binôme ou monôme (B/M): M. : abdlhaqmilan@gmail.com GSM : 00212640108250. : Gestion d'une agence de location de voiture.

PLAN PROJET. Binôme ou monôme (B/M): M. : abdlhaqmilan@gmail.com GSM : 00212640108250. : Gestion d'une agence de location de voiture. Développement d une application JAVA EE PLAN PROJET Binôme ou monôme (B/M): M Nom & Prénom : AZRAGUE Abdelhaq Email : abdlhaqmilan@gmail.com GSM : 00212640108250 Organisme Scolaire : Gestion d'une agence

Plus en détail

Compte Rendu d intégration d application

Compte Rendu d intégration d application ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...

Plus en détail

J2EE. A.-E. Ben Salem. 09 Octobre 2011. LRDE and LIP6 1 / 15

J2EE. A.-E. Ben Salem. 09 Octobre 2011. LRDE and LIP6 1 / 15 J2EE A.-E. Ben Salem LRDE and LIP6 09 Octobre 2011 1 / 15 Plan 1 J2EE 2 Architecture Client/Serveur HTTP 3 Différence entre Web Statique et Web Dynamique 4 Web Dynamique avec un Serveur d applications

Plus en détail

Introduction à. Oracle Application Express

Introduction à. Oracle Application Express Introduction à Oracle Application Express Sommaire Qu est-ce que Oracle Application Express (APEX)? Vue d ensemble des fonctionnalités et des différents composants d Oracle APEX Démonstration de création

Plus en détail

Spring par la pratique

Spring par la pratique Spring par la pratique 2 e édition Spring 2.5 et 3.0 Arnaud Cogoluègnes Thierry Templier Julien Dubois Jean-Philippe Retaillé avec la contribution de Séverine Templier Roblou et de Olivier Salvatori Groupe

Plus en détail

[ Hornet ] Guide de migration d'un projet Acube vers Hornet

[ Hornet ] Guide de migration d'un projet Acube vers Hornet [ Hornet ] Guide de migration d'un projet Acube vers Hornet 3.6B Cette création est mise à disposition selon le Contrat Paternité - Pas d'utilisation Commerciale - Partage des Conditions Initiales à l'identique

Plus en détail

Guide d installation Des produits Salvia Développement

Guide d installation Des produits Salvia Développement Guide d installation Des produits Salvia Développement Salvia Développement s Tél. +33 (0)9 72 72 66 66 Tél. +33 (0)1 84 95 15 54 35 rue de la Gare 75019 Paris www.salvia-developpement.fr Manuel utilisateur

Plus en détail

Séminaire Partenaires Esri France 7-8 juin 2011 - Paris Les APIs Web ArcGIS

Séminaire Partenaires Esri France 7-8 juin 2011 - Paris Les APIs Web ArcGIS Séminaire Partenaires Esri France 7-8 juin 2011 - Paris Les APIs Web ArcGIS Gaëtan LAVENU Les nouveautés des API ArcGIS Les API Web ArcGIS - L API Flex - L API Silverlight/WPF - L API JavaScript Les APIs

Plus en détail

Bypass et filtre sur les requêtes destinées à la servlet W4

Bypass et filtre sur les requêtes destinées à la servlet W4 Note technique W4 Engine Bypass et filtre sur les requêtes destinées à la servlet W4 Cette note technique décrit le filtre de contrôle du bypass de la servlet W4. Versions de W4 Engine concernées : 5.0

Plus en détail

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée

Plus en détail

MIF13 Programmation Web OUTILS D AIDE À LA CONCEPTION D APPLICATIONS WEB

MIF13 Programmation Web OUTILS D AIDE À LA CONCEPTION D APPLICATIONS WEB MIF13 Programmation Web OUTILS D AIDE À LA CONCEPTION D APPLICATIONS WEB L I O N E L M É D I N I S E P T E M B R E - D É C E M B R E 2 0 0 9 Objectif de ce cours Prendre conscience de l existence de nombreux

Plus en détail

Gestion des immeubles

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

Plus en détail

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

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

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

Plus en détail

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement Cursus Outils & Développement Vous êtes Consultant, Chef de Projets, Directeur des Systèmes d Information, Directeur Administratif et Financier, Optez pour les «formations Produits» Nous vous proposons

Plus en détail

Catalogue de formation

Catalogue de formation 4 rue Jules Raimu 31 200 Toulouse http://www.creabilis.com contact@creabilis.com Tél. : 05 34 251 641 Fax : 05 34 257 956 Catalogue de formation CREABILIS S.A.R.L au capital de 7500 - R.C.S. Toulouse 441

Plus en détail

TD6 Initiation aux EJB3 avec Eclipse Ecriture d une application J2EE complète

TD6 Initiation aux EJB3 avec Eclipse Ecriture d une application J2EE complète TD6 Initiation aux EJB3 avec Eclipse Ecriture d une application J2EE complète Nous allons écrire une application J2EE qui permet dans un navigateur web de gérer des contacts. Pour cela, nous allons suivre

Plus en détail

TP J2EE GUIDE DE DEPLOIEMENT DE L APPLICATION WEB DE GESTION DES COMPTES

TP J2EE GUIDE DE DEPLOIEMENT DE L APPLICATION WEB DE GESTION DES COMPTES 2008 UFR Ingénieurs 2000 Vivien Boistuaud Julien Herr TP J2EE GUIDE DE DEPLOIEMENT DE L APPLICATION WEB DE GESTION DES COMPTES Ce document a été réalisé par V. Boistuaud et J. Herr dans le cadre des travaux

Plus en détail

Formation : WEbMaster

Formation : WEbMaster Formation : WEbMaster Objectif et Description : Centre Eclipse vous propose une formation complète WebMaster, vous permettant de : Utiliser dès maintenant les nouveautés du web2, ainsi alléger les besoins

Plus en détail

LOT03P6 - Domino 8.5 : XPages dans Domino Designer 8.5 - Partie 6

LOT03P6 - Domino 8.5 : XPages dans Domino Designer 8.5 - Partie 6 LOT03P6 - Domino 8.5 : XPages dans Domino Designer 8.5 - Partie 6 Objectifs du développement en 8.5 Fournir un outil de développement moderne Faire pour les développeurs ce que Notes 8 a fait pour l'utilisateur

Plus en détail

BES WEBDEVELOPER ACTIVITÉ RÔLE

BES WEBDEVELOPER ACTIVITÉ RÔLE BES WEBDEVELOPER ACTIVITÉ Le web developer participe aux activités concernant la conception, la réalisation, la mise à jour, la maintenance et l évolution d applications internet/intranet statiques et

Plus en détail

Utilisation de Jakarta Tomcat

Utilisation de Jakarta Tomcat ISI 1022 : Déploiement d applications Web Jean-Noël Sorenti. Année 2002/2003 Déploiement d application Web Utilisation de Jakarta Tomcat ISI 1022 : 1 ISI 1022 : Déploiement d applications Web Une application

Plus en détail

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web. ASTRIUM - Toulouse JEE Formation 2013 TP JEE Développement Web en Java Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web. Figure 1 Architecture

Plus en détail

Zend Framework 2 Industrialisez vos développements PHP

Zend Framework 2 Industrialisez vos développements PHP Avant-propos 1. Lectorat 15 2. Contenu du livre 15 3. Pré-requis 17 Introduction 1. Un peu d histoire 19 1.1 Petite histoire de l informatique 19 1.2 Petite histoire des langages informatiques 20 1.3 Petite

Plus en détail

SITE WEB E-COMMERCE ET VENTE A DISTANCE

SITE WEB E-COMMERCE ET VENTE A DISTANCE Développement d une application JAVA EE SITE WEB E-COMMERCE ET VENTE A DISTANCE PLAN PROJET Binôme ou monôme (B/M): M Nom & Prénom : AIT NASSER Btissam Email : aitnasser.btissam123@gmail.com GSM : Organisme

Plus en détail

Le Multimédia dans les SID

Le Multimédia dans les SID Le Multimédia dans les SID Introduction http://eric.groise.com/?/usability/le-retour-du-client-lourd 1 Le cours Fonctionnement 21h TD réparties en 7 séances de 3h chacune 1h30 cours, 1h30 pratique 1 projet

Plus en détail

Architecture technique des PGI

Architecture technique des PGI Architecture technique des PGI Description du thème Propriétés Description Intitulé long Formation concernée Matière Présentation Notions Transversalité Pré-requis Outils Mots-clés Durée Auteur(es) Version

Plus en détail

TP6 EJB : Création d'un EJB3 Entité

TP6 EJB : Création d'un EJB3 Entité TP6 EJB : Création d'un EJB3 Entité Objis : nous allons vous faire aimer JAVA - www.objis.com 1 Table des matières Formation EJB - TP 'Développement EJB3 entity avec Eclipse' Propriété du document...3

Plus en détail

Présentation du produit. Introduction Fonctionnalités Technologies Open Source Avantages Services Éditions Licence Captures d écran

Présentation du produit. Introduction Fonctionnalités Technologies Open Source Avantages Services Éditions Licence Captures d écran Présentation du produit Introduction Fonctionnalités Technologies Open Source Avantages Services Éditions Licence Captures d écran Page 2 Page 3 Page 5 Page 6 Page 7 Page 8 Page 9 Page 10 Introduction

Plus en détail

Formulaires Web avec Spring Web MVC

Formulaires Web avec Spring Web MVC Formulaires Web avec Spring Web MVC Spring propose un framework MVC pour faciliter la programmation d applications Web : Spring Web MVC. Au fil des ans ce framework a supplanté Struts pour être à présent

Plus en détail

Web Tier : déploiement de servlets

Web Tier : déploiement de servlets Web Tier : déploiement de servlets 1 / 35 Plan 1 Introduction 2 Servlet : Principe de fonctionnement 3 Création et développement sur un serveur JEE 4 Quelques méthodes de l API des servlets 5 Utilisation

Plus en détail

Création d une application JEE

Création d une application JEE Création d une application JEE Rédacteurs : Alexandre Baillif, Philippe Lacomme, Raksmey Phan et Michaël PLAN Date : juillet 2010 Mise à jour : Michaël PLAN Date : octobre 2014 Avertissement : - ce document

Plus en détail

LANGAGES & DéVELOPPEMENT. Une équipe à vos côtés pour toutes vos montées en compétences

LANGAGES & DéVELOPPEMENT. Une équipe à vos côtés pour toutes vos montées en compétences LANGAGES & DéVELOPPEMENT Une équipe à vos côtés pour toutes vos montées en compétences ASP.NET OPTION VB.NET OU C# 5 jours Permettre aux participants de mieux appréhender ce qu est la programmation pour

Plus en détail

EXTENSION de Microsoft Dynamics CRM 2013. Réf FR 80452

EXTENSION de Microsoft Dynamics CRM 2013. Réf FR 80452 EXTENSION de Microsoft Dynamics CRM 2013 Réf FR 80452 Durée : 3 jours A propos de ce cours : Ce cours offre une information interactive et détaillée sur le développement d extensions pour Microsoft Dynamics

Plus en détail

SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8

SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8 SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8 INTRODUCTION Bonjour à tous; Aujourd hui je publie une nouvelle version de l adaptation de la Sync Framework Toolkit,

Plus en détail

Traitement et navigation

Traitement et navigation 12 Traitement et navigation Au chapitre précédent, nous avons vu comment créer des pages web avec différentes technologies (HTML, JSP, JSTL, etc.) en insistant sur le fait que JSF est la spécification

Plus en détail

Point sur les solutions de développement d apps pour les périphériques mobiles

Point sur les solutions de développement d apps pour les périphériques mobiles Point sur les solutions de développement d apps pour les périphériques mobiles Par Hugues MEUNIER 1. INTRODUCTION a. Une notion importante : le responsive web design Nous sommes en train de vivre une nouvelle

Plus en détail

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

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

Plus en détail

Plugin Eclipse - Scout. 26 novembre 2012 Julien VERNEAU

Plugin Eclipse - Scout. 26 novembre 2012 Julien VERNEAU Plugin Eclipse - Scout Julien VERNEAU Sommaire n Introduction n Présentation n Construire une application n Exemple d utilisation n Conclusion Sommaire n Introduction Historique Objectifs du projet Scout

Plus en détail

Short-Circuit Introduction a Spring. Cours Spring. Spring utilise certaines technologies comme :

Short-Circuit Introduction a Spring. Cours Spring. Spring utilise certaines technologies comme : Cours Spring 1 Présentation Générale Historique Framework créé en 2002 par Rod Johnson, afin de proposer une réelle alternative technique aux EJB s, alors gouffre de performance en terme d applications

Plus en détail

Ecole Nationale Supérieure des Télécommunications Les outils XML

Ecole Nationale Supérieure des Télécommunications Les outils XML Ecole Nationale Supérieure des Télécommunications Les outils XML Page 1 sur 13 SOMMAIRE 1 Introduction 3 2 Parseur XML et processeur XSLT 4 2.1 Le Parseur XML v2 4 2.1.1 Les API DOM et SAX 4 2.1.2 Le parseur

Plus en détail

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/5 Titre professionnel : Reconnu par l Etat de niveau III (Bac), inscrit au RNCP (arrêté du 12/10/07, J.O. n 246 du 23/10/07) (32 semaines) Unité 1 : Structurer une application 6 semaines Module

Plus en détail

Applications orientées données (NSY135)

Applications orientées données (NSY135) Applications orientées données (NSY135) 11 Le langage HQL Auteurs: Raphaël Fournier-S niehotta et Philippe Rigaux (philippe.rigaux@cnam.fr,fournier@cnam.fr) Département d informatique Conservatoire National

Plus en détail

Pierre Chauvet. pierre.chauvet@uco.fr

Pierre Chauvet. pierre.chauvet@uco.fr WindowBuilder Pro Pierre Chauvet pierre.chauvet@uco.fr 1 Plan de la présentation Introduction - Outils de développement Java - Google Java Developer Tools - Installation plug-in - Documentation en ligne

Plus en détail

A. Architecture du serveur Tomcat 6

A. Architecture du serveur Tomcat 6 Administration du serveur A. Architecture du serveur Tomcat 6 La compréhension de l architecture interne du serveur Tomcat 6 est un pré-requis indispensable pour bien en maîtriser l administration et la

Plus en détail

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server Sébastien Boutard Thomas David Le plan de la présentation Petit retour sur les environnements de développement ArcGIS Server

Plus en détail

Versus Etude Technologique

Versus Etude Technologique VS Versus Etude Technologique 1 VS Contents Introduction... 3 Présentation des technologies... 3 Phonegap... 3... 3 Pour quels besoins?... 4 Comment ça fonctionne? Les models... 4 Phonegap... 5... 6 Comparatif...

Plus en détail

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL Prise en main de NVU et Notepad++ (conception d application web avec PHP et MySql) Propriétés Intitulé long Formation concernée Matière Présentation Description Conception de pages web dynamiques à l aide

Plus en détail

Accès aux données avec ADOBE FLEX 4.5

Accès aux données avec ADOBE FLEX 4.5 Accès aux données avec ADOBE FLEX 4.5 Informations juridiques Informations juridiques Pour consulter les informations juridiques, voir http://help.adobe.com/fr_fr/legalnotices/index.html. iii Sommaire

Plus en détail

Formation GWT. www.objis.com - Formation GWT 1

Formation GWT. www.objis.com - Formation GWT 1 Formation GWT www.objis.com - Formation GWT 1 Sommaire Formation GWT Introduction Qu'est ce qu'une application GWT? Méthodologie et étapes clés gestion projet GWT Interface utilisateur : widgets, panels,

Plus en détail

Familiarisation avec Eclipse / Netbeans

Familiarisation avec Eclipse / Netbeans Institut Galilée LEE Année 011-01 Master T.P. 0 Familiarisation avec Eclipse / Netbeans Lien important contenant le pdf du cours et du TP, et ensuite des sources : http://www-lipn.univ-paris13.fr/~fouquere/mpls

Plus en détail

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING Durée : 3J / 21H Formateur : Consultant expert en PAO et Web-marketing. Groupe de : 4 max Formation au web marketing Objectifs : Mettre en oeuvre des

Plus en détail

Introduction aux concepts d ez Publish

Introduction aux concepts d ez Publish Introduction aux concepts d ez Publish Tutoriel rédigé par Bergfrid Skaara. Traduit de l Anglais par Benjamin Lemoine Mercredi 30 Janvier 2008 Sommaire Concepts d ez Publish... 3 Système de Gestion de

Plus en détail

JOnAS 5. Serveur d application d

JOnAS 5. Serveur d application d JOnAS 5 Serveur d application d dynamique Agenda En quelques mots Caractéristiques essentielles Zoom sur le versioning 2 Bull, 2008 Serveur d application dynamique JOnAS - Serveur d application Open Source

Plus en détail

techniques & langages

techniques & langages 65 techniques & langages ActionScript 2 66 ActionScript 3 67 ASP 68 ASP.NET 69 Bases de données MySQL 70 Ajax 71 Java 72 Javascript-AJAX 73 PHP-MySQL 74 XHTML et CSS niveau 1 75 XHTML et CSS niveau 2 76

Plus en détail

Table des matières. TP JEE (2) Logic metier et Entreprise Java Beans. IUT Bordeaux 1 - Département Informatique

Table des matières. TP JEE (2) Logic metier et Entreprise Java Beans. IUT Bordeaux 1 - Département Informatique IUT Bordeaux 1 - Département Informatique Semestre 4 JEE 20112012 TP JEE (2) Logic metier et Entreprise Java Beans Les EJB (Enterprise JavaBeans) 3.0 permettent de découpler la logique de présentation

Plus en détail

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

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

Plus en détail

Travaux pratiques : EJB avec JBoss 5 + Java 6 + Eclipse

Travaux pratiques : EJB avec JBoss 5 + Java 6 + Eclipse Travaux pratiques : EJB avec JBoss 5 + Java 6 + Eclipse Introduction Le but de ce TP est de programmer une application à la norme EJB en utilisant le serveur d application JBoss. Matériel requis - JBoss

Plus en détail

Servlets, beans, base de données

Servlets, beans, base de données Institut Galilée E-services Année 2014-2015 Master 2 T.P. 2 Servlets, beans, base de données L objectif de ce TP est de mettre en place un site web pour l administration et la commande de pizzas : une

Plus en détail

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/8 Titre professionnel : Inscrit au RNCP de Niveau III (Bac + 2) (J.O. du 19/02/13) 24 semaines + 8 semaines de stage (uniquement en formation continue) Développer une application orientée objet

Plus en détail

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

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

Plus en détail

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i Modernisation IBM i Nouveautés 2014-2015 IBM Power Systems - IBM i 19 et 20 mai 2015 IBM Client Center, Bois-Colombes S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i Mardi

Plus en détail

TP SPRING. https ://lipn.univ-paris13.fr/ fortier/enseignement/spring/tp/

TP SPRING. https ://lipn.univ-paris13.fr/ fortier/enseignement/spring/tp/ Institut Galilée Année 2015-2016 TP SPRING Programmation et Logiciels sûrs Master 2 PLS Résumé L objectif de ce TP est d être capable de réaliser une application Java de gestion de location de véhicules,voiture

Plus en détail

FileMaker 12. Guide ODBC et JDBC

FileMaker 12. Guide ODBC et JDBC FileMaker 12 Guide ODBC et JDBC 2004-2012 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker et Bento sont des marques commerciales de

Plus en détail

Java Avancé - Cours 2

Java Avancé - Cours 2 Java avancé - cours 2 1/8 Java Avancé - Cours 2 Plan 1 Communication entre objets 1 1.1 Motivation....................................................... 1 1.2 Relations entre le panier et le rayon.........................................

Plus en détail

Introduction au développement en couches

Introduction au développement en couches Introduction au développement en couches Lorsque l on est débutant en programmation, on entend souvent dire qu il est important de développer ses applications en utilisant des couches, en séparant le code

Plus en détail

CONNECTIVITÉ. Options de connectivité de Microsoft Dynamics AX. Microsoft Dynamics AX. Livre blanc

CONNECTIVITÉ. Options de connectivité de Microsoft Dynamics AX. Microsoft Dynamics AX. Livre blanc CONNECTIVITÉ Microsoft Dynamics AX Options de connectivité de Microsoft Dynamics AX Livre blanc Ce document décrit les possibilités offertes par Microsoft Dynamics AX en terme de connectivité et de montée

Plus en détail

Rapport de stage. Création d un site web. Stage du 20/01/2013 au 21/02/2013

Rapport de stage. Création d un site web. Stage du 20/01/2013 au 21/02/2013 Rapport de stage Création d un site web Stage du 20/01/2013 au 21/02/2013 Auteur : Antoine Luczak Tuteur professionnel : M. Tison Tuteur scolaire : Mme Girondon Année scolaire : 2013/2014 1 Table des matières

Plus en détail

Création d'un convertisseur SQL SiTools

Création d'un convertisseur SQL SiTools Création d'un convertisseur SQL SiTools 1 - Introduction Un convertisseur permet de transformer la requête SQL, envoyé par la webapp SiTools à la webapp catalog ou l'inverse. C'est à dire que cette conversion

Plus en détail

Cours IHM-1 JavaFX 7 - FXML SceneBuilder Jacques BAPST

Cours IHM-1 JavaFX 7 - FXML SceneBuilder Jacques BAPST Cours IHM-1 JavaFX 7 - FXML SceneBuilder Jacques BAPST jacques.bapst@hefr.ch I/F procédurales déclaratives Avec JavaFX, les interfaces peuvent être créées de deux manières : Procédurale : en écrivant du

Plus en détail

Symfony 2. 1.Définition de symfony 2. 2.Installation. 3.Structure. 4.Symfony et les commandes

Symfony 2. 1.Définition de symfony 2. 2.Installation. 3.Structure. 4.Symfony et les commandes Symfony 2 Sommaire : 1.Définition de symfony 2 2.Installation 3.Structure 4.Symfony et les commandes 5.Le fonctionnement : le routeur (les url), les bundles, twig(templates) 6.L architecture de symfony2

Plus en détail

Architecture technique

Architecture technique OPUS DRAC Architecture technique Projet OPUS DRAC Auteur Mathilde GUILLARME Chef de projet Klee Group «Créateurs de solutions e business» Centre d affaires de la Boursidière BP 5-92357 Le Plessis Robinson

Plus en détail

Tests d IHM SWT automatisés

Tests d IHM SWT automatisés Tests d IHM SWT automatisés 14 avril 2009 http://www.flickr.com/photos/bbum/133956665/ SWTBot RCPRobot RCP FIT Eric Le Merdy Bonjour, Je suis heureux de vous accueillir ce soir pour parler des tests unitaires

Plus en détail

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s Mickaël Mickaël BLANCHARD BLANCHARD Préface de Sébastien L e p e r s Magento Préface de Sébastien L e p e r s Magento Réussir son site e-commerce Réussir son site e-commerce Groupe Eyrolles, 2010, ISBN

Plus en détail