Spring : tendances, nouveautés et perspectives

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

Download "Spring : tendances, nouveautés et perspectives"

Transcription

1 Spring : tendances, nouveautés et perspectives Paris JUG 13/11/2012 Arnaud Cogoluègnes

2 Speaker Arnaud Cogoluègnes Consultant chez Zenika Formateur certifié SpringSource Co-auteur Spring Batch in Action Spring Dynamic Modules in Action Spring par la pratique, 2nde édition

3 Un peu d'histoire... v. 0.9 : juin 2003 v. 1.0 : mars 2004 v. 1.1 : septembre 2004 v. 1.2 : mai 2005

4 Un peu d'histoire... v. 2.0 : octobre 2006 v. 2.5 : novembre 2007 Java config, SpEL, REST v. 3.1 : décembre 2011 annotations v. 3.0 : décembre 2009 namespaces XML profils, cache, Java config++

5 Une vision, des idées Simplification Injection de dépendances Programmation orientée aspect

6 Une vision?

7 «Gérer la plomberie»

8 public class TransferService { public void transfer(...) { openconnection(); begintransaction(); // code applicatif committransaction(); closeconnection();

9 public class TransferService { public void transfer(...) { // code applicatif P O +A Simplicité Réutilisation Testabilité

10 Changement => adaptation

11 <aop:config> <aop:advisor advice-ref="txadvice" pointcut="execution(* com.zenika.service.*.*(..))"/> </aop:config> <tx:advice id="txadvice"> <tx:attributes> <tx:method name="update*" /> </tx:attributes> </tx:advice> public class TransferService { public void transfer(...) {

12 public class TransferService public void transfer(...) { <tx:annotation-driven />

13 Exécution, où?

14 Profils <beans profile="test">... </beans> <beans profile="prod">... </beans> <beans profile="cloud">... </beans> 3.1

15 Profils <beans profile="test"> <jdbc:embedded-database id="datasource" type="h2" /> </beans> <beans profile="prod"> <jee:jndi-lookup id="ds" jndi-name="java:comp/env/jdbc/ds" /> </beans> <beans profile="cloud"> <cloud:data-source id="datasource" service-name="contactds"/> </beans>

16 Activation des profils Ligne de commande -Dspring.profiles.active="prod" Programmatiquement GenericXmlApplicationContext ctx = new GenericXmlApplicationContext(); ctx.getenvironment().setactiveprofiles("test"); ctx.load("classpath:/application-context.xml"); ctx.refresh();

17 Où suis-je? public void initialize(configurableapplicationcontext ctx) { CloudEnvironment cloud = new CloudEnvironment(); if(cloud.getinstanceinfo() == null) { ctx.getenvironment().setactiveprofiles("default"); else { ctx.getenvironment().setactiveprofiles("cloud");

18 Solutions de configuration <XML /> Solution «historique» Externe Puissante Externe Centralisée Non-intrusive Limitée Java Java! Pas de namespace3.1 Rapide Type-safe Intrusive Décentralisée

19 <XML /> <bean id="transferservice" class="com.zenika.service.transferserviceimpl" > <constructor-arg ref="accountrepo" /> </bean> <bean id="accountrepo" class="com.zenika.repo.jdbcaccountrepository" > <constructor-arg ref="datasource" /> </bean>

20 public class TransferServiceImpl private AccountRepository public class JdbcAccountRepository implements AccountRepository private DataSource ds; <context:component-scan base-package="com.zenika" />

21 Configuration public class AppConfig private DataSource public TransferService transferservice() { return new public AccountRepository accountrepo() { return new JdbcAccountRepository(ds);

22 @Enable* public class AppConfig private DataSource public TransferService transferservice() { return new public AccountRepository accountrepo() { return new JdbcAccountRepository(ds);

23 @Enable* <=> namespaces

24 Solutions de configuration

25 Solutions de configuration Chacune avec ses avantages/inconvénients Iso-fonctionnelles Prendre la plus adaptée à ses besoins Bonne cohabitation dans une même application

26 REST SOA ROA HTTP Alternative Simple Protocole applicatif JSON

27 REST GET /crud-rest/zen-contact/contacts/1 HTTP/1.1 Accept: application/json Host: localhost:8080 HTTP/ OK Content-Type: application/json public class ContactController public Contact contact(@pathvariable Long id) { return contactrepository.findone(id); 3.0

28 REST GET /crud-rest/zen-contact/contacts/1 HTTP/1.1 Accept: application/json Host: localhost:8080 HTTP/ OK Content-Type: application/json public class ContactController public Contact contact(@pathvariable Long id) { return contactrepository.findone(id); 3.1

29 Changement? Refactoring complet entre 3.0 et 3.1 Traitement des méthodes des contrôleurs 100% compatible Nouveaux points d'extension

30 Spring : stabilité, compatibilité

31 Spring MVC : public class ContactController ContactRepository public ResponseEntity<Contact> contact(@domain Contact contact) { ResponseEntity<Contact> response = new ResponseEntity<Contact>( contact, contact == null? HttpStatus.NOT_FOUND : HttpStatus.OK ); return response;

32 Spring MVC : public class ContactController ContactRepository public ResponseEntity<Contact> contact(@domain Contact contact) { ResponseEntity<Contact> response = new ResponseEntity<Contact>( contact, contact == null? HttpStatus.NOT_FOUND : HttpStatus.OK ); return response; 3.1

33 Spring MVC et popularité Source :

34 Utilisations de Spring MVC Navigateur HTML Spring MVC Client REST Spring MVC Navigateur REST + AJAX Spring MVC

35 Utilisations de Spring MVC Navigateur HTML Spring MVC Client REST Spring MVC t e te a l p ien m Te ie cl t s e art R + la p r u o p Navigateur REST + AJAX Spring MVC

36 Test public class AccountRepositoryTest private AccountRepository public void save() { // test...

37 Test public class AccountRepositoryTest private AccountRepository public void save() { // test...

38 Test @ActiveProfiles("test") public class AccountRepositoryTest private AccountRepository public void save() { // test

39 Test + public class AccountRepositoryTest private AccountRepository public void save() { // public static class SpringJpaConfiguration public DataSource ds() {

40 Spring MVC test @ContextConfiguration public class MetaModelControllerTest private WebApplicationContext wac; private MockMvc public void setup() { this.mockmvc = public void list() throws Exception { (...)

41 Spring MVC test @ContextConfiguration public class MetaModelControllerTest private WebApplicationContext wac; private MockMvc public void setup() { this.mockmvc = public void list() throws Exception { (...)

42 Spring MVC test «no container» (...) public class MetaModelControllerTest { public void list() throws Exception { public void createok() throws Exception { mockmvc.perform(post("/metamodel").content(format(object(field("name", string("new"))))).contenttype(mediatype.application_json)).andexpect(status().iscreated()).andexpect( header().string("location", " );

43 Spring MVC test «no container» (...) public class MetaModelControllerTest { public void list() throws Exception { public void createok() throws Exception { mockmvc.perform(post("/metamodel").content(format(object(field("name", string("new"))))).contenttype(mediatype.application_json)).andexpect(status().iscreated()).andexpect( header().string("location", " ); 3.2

44 Cache public class ContactRepository Contact findone(long id) {... <cache:annotation-driven /> <bean id="cachemanager" class="...">... </bean>

45 Cache Client Spring cache Cible 3.1

46 Portfolio Spring

47 Portfolio Spring Spring Mobile / Spring Android Spring Social

48 Spring Data

49 Spring Data JPA Métier Accès données JPA DAO dynamiques, intelligents Moins de code répétitif Testabilité Conventions Pagination & tri Approche DDD

50 Spring Data JPA public interface ContactRepository extends JpaRepository<Contact, Long>{ <jpa:repositories base-package="com.zenika.repository" /> List<Contact> cts = repo.findall();

51 Spring Data JPA public interface ContactRepository extends JpaRepository<Contact, Long>{ List<Contact> findbylastname(string lastname); List<Contact> cts = repo.findbylastname("potter");

52 Spring Data MongoDB DAO dynamiques MongoTemplate Mapping objet-document DSL requête et mise à jour

53 Spring Data MongoDB public interface ContactRepository extends MongoRepository<Contact, String> { List<Contact> findbyfirstname(string firstname); <mongo:repositories base-package="com.zenika.repository" /> List<Contact> cts = repo.findall(); List<Contact> cts = repo.findbylastname("potter");

54 Spring Data MongoDB, API query import static o.s.data.mongodb.core.query.criteria.*; import static o.s.data.mongodb.core.query.query. query; List<Entry> entries = mongoops.find( query(where("tags").size(2)), Entry.class );

55 Spring Data MongoDB, API query import static o.s.data.mongodb.core.query.criteria.*; import static o.s.data.mongodb.core.query.query. query; List<Entry> entries = mongoops.find( query(where("tags").size(2).and("author").is("acogoluegnes")), Entry.class );

56 Spring Data MongoDB, API query

57 Spring Data JPA/MongoDB Spring Data JPA Spring Data MongoDB Spring Data Commons Spring

58 Spring Data REST Spring MVC et Spring Data JPA Support MongoDB en cours de développement Opérations CRUD suivant la sémantique REST Gestion des relations Navigation entre entités «HATEOAS»

59 Spring Data REST

60 Spring Data REST Spring Data JPA Spring Data REST Spring HATEOAS Spring Data Commons Spring

61 Intégration Client Web app.

62 Intégration Client Workers Workers Web app.

63 Intégration Client Web app. App.

64 Intégration Client Spring Integration / Spring AMQP Workers Workers Web app. App.

65 Intégration Client Web app. Spring Batch Spring Integration

66 Spring Integration Spring Integration Système de fichiers FTP SFTP... Composant applicatif O J PO Application

67 Spring Integration

68 Spring Integration Lightweight messaging Enterprise Integration Patterns Routage, transformation, etc. Configuration + DSLs Scala, Groovy

69 Spring Integration <=> bus Frontend Web Spring Integration Bus Spring Integration Routage Backend 1 Transformation Signature Backend 2 Cryptage Backend 3

70 Spring Integration & Spring Batch Spring Batch Admin Spring Integration Spring Batch Application

71 Spring Batch Traitements par lot Saut suite à erreur, retry Reprise sur erreur Fichiers plats/xml, JDBC/Hibernate, JPA, JMS, Spring Batch Admin : console de monitoring web

72 Spring Batch & scaling Local partitioning Thread 1 Thread 2 Thread 3 Spring Batch

73 Spring Batch & scaling Remote partitioning Spring Batch Spring Batch Spring Batch Spring Batch

74 Spring Batch & Spring Hadoop Spring Batch Spring Hadoop Cluster Hadoop

75 Intégration Client Spring Integration / Spring AMQP Workers Workers Web app. App. Cache Spring Redis / Spring GemFire Spring Batch Spring Integration

76 Intégration et déploiement

77 Cloud Foundry Client Workers Workers Web app. App. Cache

78 Conclusion Technologies Spring Simplicité et souplesse Stabilité et pérennité Un framework pour chaque besoin en entreprise Une grande cohérence dans le portfolio

79 Questions?

80 Merci!

Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG 07.11.2011

Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG 07.11.2011 Apache Camel & Entreprise Integration Patterns Raphaël Delaporte BreizhJUG 07.11.2011 1 Speaker CTO Zenika Ouest Consultant et formateur Responsable comité technique Architecture d'entreprise Domaine ESB

Plus en détail

Alfstore workflow framework Spécification technique

Alfstore workflow framework Spécification technique Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date

Plus en détail

Auto-évaluation Aperçu de l architecture Java EE

Auto-évaluation Aperçu de l architecture Java EE Auto-évaluation Aperçu de l architecture Java EE Document: f1218test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION APERÇU

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

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

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

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués Architecture JEE. Objectifs attendus Serveurs d applications JEE Systèmes distribués Architectures JEE Normes JEE couches logicielles, n-tiers framework JEE et design patterns 2007/02/28 Eric Hébert.eheb@yahoo.fr

Plus en détail

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse THÉMATIQUES Comprendre les frameworks productifs Découvrir leurs usages Synthèse 2 LES ENJEUX DES FRAMEWORKS D ENTREPRISE EN 2012 LE CONSTAT Ressources Recrutement Flexibilité Intérêt Montée en compétence

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

Devenez un véritable développeur web en 3 mois!

Devenez un véritable développeur web en 3 mois! Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web

Plus en détail

WEBSERVICES. Michael Fortier. Master Informatique 2ème année. fortier@lipn.univ-paris13.fr A308, Université de Paris 13

WEBSERVICES. Michael Fortier. Master Informatique 2ème année. fortier@lipn.univ-paris13.fr A308, Université de Paris 13 WEBSERVICES Michael Fortier Master Informatique 2ème année fortier@lipn.univ-paris13.fr A308, Université de Paris 13 https ://lipn.univ-paris13.fr/ fortier/enseignement/webservices/ Sommaire 1 Rappels

Plus en détail

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

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

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie 1 / 22 Technologies Web Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya Université Pierre et Marie Curie Rappel 2 / 22 Problématique Quelles technologies utiliser

Plus en détail

Introduction à ElasticSearch

Introduction à ElasticSearch Introduction à ElasticSearch Présentée par : Romain Pignolet Lundi 7 Juillet 2014 Sommaire 1 Présentation de Elasticsearch 2 Installation et exemples simples 3 API Rest 4 Comment fonctionne Elasticsearch?

Plus en détail

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/

Plus en détail

Hibernate vs. le Cloud Computing

Hibernate vs. le Cloud Computing Hibernate vs. le Cloud Computing Qui suis-je? Julien Dubois Co-auteur de «Spring par la pratique» Ancien de SpringSource Directeur du consulting chez Ippon Technologies Suivez-moi sur Twitter : @juliendubois

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

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui Formation PARTIE 1 : ARCHITECTURE APPLICATIVE DUREE : 5 h Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui automatisent les fonctions Définir une architecture

Plus en détail

GWT à l'épreuve du feu. by Sami Jaber (DNG Consulting) twitter @samijaber http://www.dng-consulting.com

GWT à l'épreuve du feu. by Sami Jaber (DNG Consulting) twitter @samijaber http://www.dng-consulting.com 1 GWT à l'épreuve du feu by Sami Jaber (DNG Consulting) twitter @samijaber http://www.dng-consulting.com Abstract Qu'est-ce que le projet Cobra? Une démo, une démo, une démo! Les défis techniques d'un

Plus en détail

Paris JUG. Spring Batch. Mardi 14 Mai 2013. Olivier Bazoud Julien Jakubowski

Paris JUG. Spring Batch. Mardi 14 Mai 2013. Olivier Bazoud Julien Jakubowski Paris JUG Spring Batch Mardi 14 Mai 2013 Olivier Bazoud Julien Jakubowski Intervenants Olivier Bazoud @obazoud Architecte technique sénior Java EE / Spring, Spring Batch, NoSQL, Node.js Co-auteur de «Spring

Plus en détail

Projet de programmation (IK3) : TP n 1 Correction

Projet de programmation (IK3) : TP n 1 Correction Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public

Plus en détail

Cours en ligne Développement Java pour le web

Cours en ligne Développement Java pour le web Cours en ligne Développement Java pour le web We TrainFrance info@wetrainfrance Programme général du cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation Java Unité

Plus en détail

les techniques d'extraction, les formulaires et intégration dans un site WEB

les techniques d'extraction, les formulaires et intégration dans un site WEB les techniques d'extraction, les formulaires et intégration dans un site WEB Edyta Bellouni MSHS-T, UMS838 Plan L extraction des données pour un site en ligne Architecture et techniques Les différents

Plus en détail

Cloud. Définition? 08/11/2012. James Urquhart The Wisdom of Clouds

Cloud. Définition? 08/11/2012. James Urquhart The Wisdom of Clouds Cloud Définition? the market seems to have come to the conclusion that cloud computing has a lot in common with obscenity--you may not be able to define it, but you ll know it when you see it James Urquhart

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

La base de données XML exist. A. Belaïd

La base de données XML exist. A. Belaïd La base de données XML exist Introduction Qu est-ce-que exist? C est une base de donnée native, entièrement écrite en Java XML n est pas une base de données en soi Bien qu il possède quelques caractéristiques

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

GECKO Software. Introduction à MOBIDICK. Modular But Integrated Application Framework

GECKO Software. Introduction à MOBIDICK. Modular But Integrated Application Framework Introduction à MOBIDICK Modular But Integrated Application Framework MOBIDICK 3 Standard Edition Community & Enterprise Principaux avantages et fonctionnalités GECKO Software http://consulting.bygecko.com

Plus en détail

BPEL Orchestration de Web Services

BPEL Orchestration de Web Services Orchestration de Web Services Grégory Le Bonniec gregory.lebonniec@zenika.com 26 novembre 2009 1 Zenika Conseil / Développement / Formation Localisation : Paris et Rennes Nos partenaires Mon expérience

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

Intégration de systèmes

Intégration de systèmes Intégration de systèmes Préparé par: Marc Barassi, Michel Fraser, Louis Martin, Martin Simoneau Collaboration spéciale: François Boucher et Richard Boutin 3/18/14 Intégration de systèmes «L ensemble des

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

4. SERVICES WEB REST 46

4. SERVICES WEB REST 46 4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,

Plus en détail

CQP Développeur Nouvelles Technologies (DNT)

CQP Développeur Nouvelles Technologies (DNT) ORGANISME REFERENCE STAGE : 26572 20 rue de l Arcade 75 008 PARIS CONTACT Couverture géographique : M. Frédéric DIOLEZ Bordeaux, Rouen, Lyon, Toulouse, Marseille Tél. : 09 88 66 17 40 Nantes, Lille, Strasbourg,

Plus en détail

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection

Plus en détail

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS Avant de commencer 1. Introduction 15 2. HTML5 oui, mais pas que... 15 2.1 HTML5 16 2.2 JavaScript 17 2.3 CSS 18 3. Les outils 18 Préparation des outils et création du projet 1. Introduction 21 2. Team

Plus en détail

Big Data. Cyril Amsellem Consultant avant-vente. 16 juin 2011. Talend 2010 1

Big Data. Cyril Amsellem Consultant avant-vente. 16 juin 2011. Talend 2010 1 Big Data Cyril Amsellem Consultant avant-vente 16 juin 2011 Talend 2010 1 Big Data Architecture globale Hadoop Les projets Hadoop (partie 1) Hadoop-Core : projet principal. HDFS : système de fichiers distribués

Plus en détail

Logiciel de gestion d emploi du temps

Logiciel de gestion d emploi du temps Conception d Application Informatique Logiciel de gestion d emploi du temps Céline HENRY COMBES et Pierre LUCE sous la direction de Julien IGUCHI-CARTIGNY Université de Limoges - 2011 1 Introduction Le

Plus en détail

Introduction aux «Services Web»

Introduction aux «Services Web» Introduction aux «Services Web» Sana Sellami sana.sellami@univ-amu.fr 2014-2015 Modalité de contrôle de connaissances Note de contrôle de continu Note projet Evaluation du projet la semaine du 17 novembre

Plus en détail

Programme ASI Développeur

Programme ASI Développeur Programme ASI Développeur Titre de niveau II inscrit au RNCP Objectifs : Savoir utiliser un langage dynamique dans la création et la gestion d un site web. Apprendre à développer des programmes en objet.

Plus en détail

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture API04 Contribution Apache Hadoop: Présentation et application dans le domaine des Data Warehouses Introduction Cette publication a pour but de présenter le framework Java libre Apache Hadoop, permettant

Plus en détail

2 Chapitre 1 Introduction

2 Chapitre 1 Introduction 1 Introduction Ce livre présente les Enterprise JavaBeans 2.0 et 1.1 qui constituent la troisième et la deuxième version de la spécification des Enterprise JavaBeans. Tout comme la plate-forme Java a révolutionné

Plus en détail

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. 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

Messagerie asynchrone et Services Web

Messagerie asynchrone et Services Web Article Messagerie asynchrone et Services Web 1 / 10 Messagerie asynchrone et Services Web SOAP, WSDL SONT DES STANDARDS EMERGEANT DES SERVICES WEB, LES IMPLEMENTATIONS DE CEUX-CI SONT ENCORE EN COURS

Plus en détail

AngularJS pour une application d'entreprise

AngularJS pour une application d'entreprise AngularJS pour une application d'entreprise SAVOIR FAIRE SERIAL Jean-Philippe Laurent Responsable pôle Web Benoit Charpié-Pruvost Expert AngularJS 18 juin 2015 BRINGING THE HUMAN TOUCH TO TECHNOLOGY BRINGING

Plus en détail

Android et le Cloud Computing

Android et le Cloud Computing Android et le Cloud Computing 1 Plan de l'exposé Rappels sur Android et le cloud Présentation de GCM Notions fondamentales de GCM Construire un projet GCM Ecrire un client GCM (récepteur GCM) Ecrire un

Plus en détail

OpenPaaS Le réseau social d'entreprise

OpenPaaS Le réseau social d'entreprise OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3

Plus en détail

Nouveautés de Drupal 8. Léon Cros @chipway

Nouveautés de Drupal 8. Léon Cros @chipway Nouveautés de Drupal 8 Léon Cros @chipway.. Léon Cros Communauté Drupal Président de l'association Drupal France et Francophonie @chipway / chipway-drupal. JDLL 2014. Chipway : Spécialiste Formations Drupal

Plus en détail

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information. PACBASE «Interrogez le passé, il répondra présent.». Le Module e-business Les entreprises doivent aujourd hui relever un triple défi. D une part, elles ne peuvent faire table rase de la richesse contenue

Plus en détail

Francis Mignault. ! Coauteur : Expert Oracle Application Express. ! Membre du Oracle APEX Advisory Board apex.oracle.com/vote

Francis Mignault. ! Coauteur : Expert Oracle Application Express. ! Membre du Oracle APEX Advisory Board apex.oracle.com/vote Présenté par : Francis Mignault! CTO et co-fondateur d Insum Solutions! 26 ans d expérience en informatique, dont 23 avec les bases de données Oracle; avec APEX depuis 2004! DBA certifié! Conférencier

Plus en détail

Une Histoire de Migration Agile

Une Histoire de Migration Agile Une Histoire de Migration Agile Présenté par Jaxio au Model Driven Day 2010 Cas client Banque de France Auditorium Prairie de 14h45 à 15h40 JAXIO info@jaxio.com http://www.jaxio.com/ Introduction Les

Plus en détail

Applications et Services WEB: Architecture REST

Applications et Services WEB: Architecture REST Applications et : Erick Stattner Laboratoire LAMIA Université des Antilles et de la Guyane France erick.stattner@univ-ag.fr Guadeloupe 2014-2015 Erick Stattner Applications et : 1 / 90 Description du cours

Plus en détail

Bases Java - Eclipse / Netbeans

Bases Java - Eclipse / Netbeans Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement

Plus en détail

<Insert Picture Here> Maintenir le cap avec Oracle WebLogic Server

<Insert Picture Here> Maintenir le cap avec Oracle WebLogic Server Maintenir le cap avec Oracle WebLogic Server Alexandre Vasseur Principal Sales Consultant Oracle Fusion Middleware Application Grid: Défis et Enjeux Réduire les coûts Support des

Plus en détail

Le Web de Données Dan VODISLAV Université de Cergy-Pontoise Master Informatique M2 Plan

Le Web de Données Dan VODISLAV Université de Cergy-Pontoise Master Informatique M2 Plan Le Web de Données Dan VODISLAV Université de Cergy-Pontoise Master Informatique M2 Plan RDF sur le Web Micro-formats Micro-données RDFa Vocabulaires communs Dublin Core, FOAF, SKOS Linked Open Data Architecture

Plus en détail

Déploiement de l infrastructure SOA. Retour d expérience Août 2013

Déploiement de l infrastructure SOA. Retour d expérience Août 2013 1 Déploiement de l infrastructure SOA Retour d expérience Août 2013 Agenda Contexte et constats Existant chez PSA Cible du chantier SOA Passerelle de sécurisation des services Les offres de service de

Plus en détail

Projet ESB - Retour d expérience

Projet ESB - Retour d expérience Projet ESB - Retour d expérience Projet de communication et d échange d informations entre SI 9 ème rencontre mondiale des logiciels libres - 02.07.2008 - ETNIC 1 Agenda Présentation 2. CFWB et ETNIC 4.

Plus en détail

ASP.NET MVC 4 Développement d'applications Web en C# - Concepts et bonnes pratiques

ASP.NET MVC 4 Développement d'applications Web en C# - Concepts et bonnes pratiques Introduction 1. Introduction 11 2. La plateforme de développement web de Microsoft 11 3. Définition du modèle de programmation MVC 14 4. L'historique d'asp.net MVC 17 4.1 ASP.NET MVC 1 (2008) 17 4.2 ASP.NET

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

Android Publish/Subscribe, GCM, Google Cloud Messaging : une introduction

Android Publish/Subscribe, GCM, Google Cloud Messaging : une introduction Android Publish/Subscribe, GCM, Google Cloud Messaging : une introduction jean-michel Douin, douin au cnam point fr version : 8 Décembre 2014 Notes de cours 1 Sommaire Le socle, les fondements Le patron

Plus en détail

Technologies Web avancées. ING1 SIGL Technologies Web avancées

Technologies Web avancées. ING1 SIGL Technologies Web avancées ING1 SIGL Technologies Web avancées Olivier Pons / 2013-2014 Objectif Comprendre globalement le Web Sommaire 1. Rappel Web 2. État de l'art 3. Solutions actuelles 2 / 28 1 Rappel Web 1a. HTML HTML dans

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

Java Naming and Directory Interface

Java Naming and Directory Interface Introduction Java Naming and Directory Interface Gaël Thomas gael.thomas@lip6.fr Université Pierre et Marie Curie Master Informatique M2 Spécialité SAR Java Naming and Directory Interface (JNDI) Java Standard

Plus en détail

COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant

COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST Amosse EDOUARD, Doctorant Organisation Cours Magistral 24/11/2014 26/11/2014 01/12/2014 Travaux Dirigés 26/11/2014 28/11/2014 01/11/2014 08/11/2014 Evaluation

Plus en détail

Famille IBM WebSphere Application Server

Famille IBM WebSphere Application Server IBM Famille IBM Le socle applicatif qui répond à vos besoins métier Points clés Bâtir un socle solide et réduire les coûts avec un serveur d applications répondant à vos besoins métier Gagner en agilité

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

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

Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/

Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Webographie The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Les slides de cette présentation

Plus en détail

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée forax at univ-mlv dot fr - ParisJUG Java.next() - Mars 2012 What Else? Lambda == Inner class? Java a des lambdas depuis la version 1.1 Exemple utilisant

Plus en détail

Technologies du Web. Ludovic DENOYER - ludovic.denoyer@lip6.fr. Février 2014 UPMC

Technologies du Web. Ludovic DENOYER - ludovic.denoyer@lip6.fr. Février 2014 UPMC Technologies du Web Ludovic DENOYER - ludovic.denoyer@lip6.fr UPMC Février 2014 Ludovic DENOYER - ludovic.denoyer@lip6.fr Technologies du Web Plan Retour sur les BDs Le service Search Un peu plus sur les

Plus en détail

Application Web et J2EE

Application Web et J2EE Application Web et J2EE Servlet, JSP, Persistence, Méthodologie Pierre Gambarotto Département Informatique et Math appli ENSEEIHT Plan Introduction 1 Introduction Objectfis

Plus en détail

Développement Web - Object Relational Mapping and Hibernate

Développement Web - Object Relational Mapping and Hibernate 1 / 58 Développement Web - Object Relational Mapping and Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer M1/M2 Informatique 2010-2011 2 / 58 Plan Plan 1 Introduction

Plus en détail

Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant.

Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant. Chapitre 7 Le mode de communication en connexion est, a priori, supporté par le protocole TCP. Ce protocole fournit une communication fiable; les données sont transmises comme chaînes d octets. Avant de

Plus en détail

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean. Plan du cours 2 Introduction générale : fondamentaux : les fondamentaux Michel Buffa (buffa@unice.fr), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime

Plus en détail

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. RMI Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. Méthode proche de RPC. Outils et classes qui rendent l'implantation d'appels de méthodes d'objets distants aussi simples

Plus en détail

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D NOVA BPM «Première solution BPM intégr grée» Pierre Vignéras Bull R&D Définitions Business Process Pratiques existantes qui permettent aux personnes et systèmes de travailler ensemble Business Process

Plus en détail

L ACCROISSEMENT DE L ENTROPIE DES SYSTÈMES D INFORMATION EST-ELLE UNE FATALITÉ?

L ACCROISSEMENT DE L ENTROPIE DES SYSTÈMES D INFORMATION EST-ELLE UNE FATALITÉ? L ACCROISSEMENT DE L ENTROPIE DES SYSTÈMES D INFORMATION EST-ELLE UNE FATALITÉ? Exposé à la Sorbonne René Mandel - 8/4/15 www.value-architecture.com 1 1. Préambule Maîtrise de la complexité Défi scientifique

Plus en détail

Jean-Philippe Paquette Jean-philippe.paquette@videotron.ca

Jean-Philippe Paquette Jean-philippe.paquette@videotron.ca Jean-Philippe Paquette Jean-philippe.paquette@videotron.ca 6 novembre 2013 Ordre du jour Histoire du mobile a RDS Les alertes SMS Application RDS hockey Push notifications Différence avec le site mobile

Plus en détail

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris : Développement d un client REST, l application Vélib 1. Présentation L application présentée permet de visualiser les disponibilités des vélos et des emplacements de parking à la disposition des parisiens

Plus en détail

De l authentification au hub d identité. si simplement. Présentation OSSIR du 14fev2012

De l authentification au hub d identité. si simplement. Présentation OSSIR du 14fev2012 De l authentification au hub d identité si simplement Présentation OSSIR du 14fev2012 Olivier Perroquin In-Webo Technologies Mission et solutions d In-Webo > Apporter aux Entreprises et Opérateurs de Services

Plus en détail

Single Sign-On open source avec CAS (Central Authentication Service)

Single Sign-On open source avec CAS (Central Authentication Service) JOSY «Authentification Centralisée» Paris, 6 mai 2010 Single Sign-On open source avec CAS (Central Authentication Service) Julien Marchal Consortium ESUP-Portail SSO open source avec CAS Introduction Pourquoi

Plus en détail

Formations qualifiantes pour demandeurs d emploi 2016-2018

Formations qualifiantes pour demandeurs d emploi 2016-2018 Formations qualifiantes pour demandeurs d emploi 2016-2018 Lot 1 : Data Analyst 1.1 Programmation Excel avec VBA, 1.2 Conception des structures de données, 1.3 Tour d horizon des outils, technologies et

Plus en détail

La gestion de la persistance avec Hibernate. Hibernate et la gestion de persistance. La gestion de la persistance (1/2) Introduction

La gestion de la persistance avec Hibernate. Hibernate et la gestion de persistance. La gestion de la persistance (1/2) Introduction La gestion de la persistance avec et la gestion de persistance Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX Claude.Duvallet@gmail.com

Plus en détail

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4 Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez.

Plus en détail

Construire une application marketing Facebook sur la plateforme Windows Azure

Construire une application marketing Facebook sur la plateforme Windows Azure Construire une application marketing Facebook sur la plateforme Windows Azure Lorsque le «Social Effect» est au rendez-vous, comment s assurer que votre application va supporter la montée en charge? Nous

Plus en détail

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web» Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web» Sana Sellami sana.sellami@lsis.org 2014-2015 Plan Partie 1: Introduction aux Services Web (SW) Partie 2: Vers une

Plus en détail

Urbanisation des SI Conduite du changement IT 20/03/09. Patrick CHAMBET http://www.chambet.com

Urbanisation des SI Conduite du changement IT 20/03/09. Patrick CHAMBET http://www.chambet.com Urbanisation des SI Conduite du changement IT 20/03/09 Sécuriser ses Web Services Patrick CHAMBET http://www.chambet.com Bouygues Telecom Direction Gouvernance, Outils et Architecture / Sécurité du SI

Plus en détail

Auto-évaluation Programmation en Java

Auto-évaluation Programmation en Java Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN

Plus en détail

Open Source Job Scheduler. Installation(s)

Open Source Job Scheduler. Installation(s) Open Source Job Scheduler Installation(s) Installations Standard Configuration Superviseur Agent SOS-Paris 2 Pré-requis o Base de données o MySQL, MSACCESS, Oracle o JDBC ou ODBC o Connecteurs o Mysql

Plus en détail

Fiche Technique. Cisco Security Agent

Fiche Technique. Cisco Security Agent Fiche Technique Cisco Security Agent Avec le logiciel de sécurité de point d extrémité Cisco Security Agent (CSA), Cisco offre à ses clients la gamme de solutions de protection la plus complète qui soit

Plus en détail

BizTalk Server 2013. Principales fonctions

BizTalk Server 2013. Principales fonctions Calipia usage re serve aux e tablissements de pendant du Ministe re de l Enseignement Supe rieur et de la Recherche BizTalk Server 2013 Principales fonctions BizTalk Server, disponible en version 2013

Plus en détail

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur goulwen.lefur@obeo.fr. Le 23 novembre 2012

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur goulwen.lefur@obeo.fr. Le 23 novembre 2012 DSL Domain Specific Language À l'aide des technologies Eclipse Modeling Le 23 novembre 2012 Goulwen Le Fur goulwen.lefur@obeo.fr Le but de cette session Montrer : Ce qu'est-un DSL/DSM Comment implémenter

Plus en détail

Nous vous garantissons un niveau élevé d exploitation de vos données

Nous vous garantissons un niveau élevé d exploitation de vos données crm.amabis.com AmaCRM SAAS vous permet de gérer votre relation client en toute simplicité Nous vous garantissons un niveau élevé d exploitation de vos données Concentrez-vous sur vos clients, nous gérons

Plus en détail

Refonte front-office / back-office - Architecture & Conception -

Refonte front-office / back-office - Architecture & Conception - Refonte front-office / back-office - Architecture & Conception - GLG204 - Architectures Logicielles Java 2008/2009 Nom : Cédric Poisson Matricule : 06-49012 Version : 1.0 Jeudi 28 mai 2009 1 / 23 Table

Plus en détail

Application web de gestion de comptes en banques

Application web de gestion de comptes en banques Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion

Plus en détail

Celui qui vous parle. Yann Vigara

Celui qui vous parle. Yann Vigara Celui qui vous parle Yann Vigara Celui qui vous parle Yann Vigara Celui qui vous parle [Spa m] Yann Vigara Fondateur et directeur technique d'atomes Dans l'administration système depuis 1999 Tombé dans

Plus en détail

1 JBoss Entreprise Middleware

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

Plus en détail

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É PHP. 27 ans - 6 ans d'expérience

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É PHP. 27 ans - 6 ans d'expérience A0251 INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É PHP 27 ans - 6 ans d'expérience Expert ises mét iers : Langues : Editeur de logiciels, E- Commerce, Tourisme et loisirs Roumain (Langue maternelle), Anglais (Intermédiaire)

Plus en détail