Digital Training

DIGITAL TRAINING -  Notre expertise pour la montée en compétences de vos équipes.

DocDoku est un organisme de formation (déclaration d’activité enregistrée sous le numéro 73 31 05527 31 auprès du préfet de région de Midi-Pyrénées), vous bénéficiez donc des accords DIF et d’une prise en charge de vos formations par les organismes collecteurs OPCA (FAFIEC pour les entreprises de la branche informatique, ingénierie, conseil, foires et salons).

Contactez-nous

S'abonner à la newsletter Digital Training

Retrouvez toutes nos prochaines sessions de formation ainsi que nos offres promotionnelles

 

Développer des applications Android professionnelles

Fiche descriptive détaillée

Référence : GAND
Durée : 4 jours (28heures)

Prochaines sessions inter-entreprises

Du 14 au 17 janvier 2014
Du 3 au 6 mars 2014
Du 14 au 17 avril 2014
Du 19 au 22 mai 2014
Du 1er au 4 juillet 2014
Du 8 au 11 septembre 2014
Du 20 au 23 octobre 2014
Du 24 au 27 novembre 2014

Présentation

Cela fait près de 10 ans que le téléphone portable est annoncé comme étant le terminal mobile capable de tout faire :

  • Naviguer sur Internet
  • Effectuer des micro-paiements
  • Visionner des vidéos…

Malheureusement, toutes les tentatives visant à faire du mobile davantage qu’un simple combiné téléphonique ont échoué, le WAP en est la parfaite illustration.
La sortie de l’iPhone en 2007 marqua un vrai tournant, il devenait enfin réaliste de faire plus que téléphoner avec son portable. Malheureusement, le caractère fermé de l’appareil d’Apple le rend peu accessible au monde de l’entreprise.
Aujourd’hui Android corrige ce défaut : il possède la richesse fonctionnelle de l’iPhone mais son système open source basé sur le langage Java fait de lui la plateforme mobile pour l’entreprise par excellence.
Cette formation s’adresse à tous ceux désireux de développer des applications professionnelles sous Android.
Elle commencera par dresser un panorama de l’univers Android : l’OS, les librairies systèmes, la machine virtuelle Dalvik mais aussi les outils de développement : l’IDE, le compilateur et le debugger.
Ce cours se poursuivra par la définition des notions essentielles d’Android : l’arborescence projet, les 4 composants que sont les classes Activity, ContentProvider, Service et BroadcastReceiver, les processus et les threads.
Ensuite seront abordés le développement IHM (approche déclarative ou programmatique), la persistance des données, la connectivité avec le monde extérieur : Web Services SOAP et REST (JSON ou POX), les communications « device to device ».
Enfin, les aspects sécurité et déploiement seront étudiés sous l’angle de l’exploitation applicative.

Programme

Présentation d’Android
  • Qu’y a-t-il dans la boite ?
  • L’Open Handset Alliance
  • Les applications de base
  • Positionnement par rapport à son environnement
Architecture logicielle
  • Un linux sous le capot
  • Des bibliothèques C/C++
  • Un middleware Java
  • Dalvik
  • Le JDK
Le modèle de programmation
  • Un développement presque classique
  • Le SDK Android
  • Développer, Exécuter & Débugger
  • Structure d’un projet
  • Et les webApp ?
Construire l’interface graphique
  • Le rendu visuel
  • Approche programmatique ou déclarative
  • Les composants graphiques
  • Les layouts
Le modèle de composants
  • Une forte modularité
  • Quatre familles de composants
  • La navigation entre activités
  • Les services
  • Le bus de messages
La persistance des données
  • Système de fichiers
  • Les préférences utilisateur
  • SQLite
Fonctions IHM poussées
  • Les menus
  • Etendre les composants existants
  • Les animations
  • Personnalisation en fonction de la configuration
  • Notifier l’utilisateur
  • 2D et 3D
  • App Widgets
  • La notion de Task
  • Styles et thèmes
Interaction avec le matériel
  • Les fonctions de téléphonie
  • La géolocalisation
  • API réseau bas niveau
  • L’APN
  • API media
  • Le vibreur, l’écran tactile, l’accéléromètre
Le réseau
  • Intégration web avec WebKit
  • Les protocoles de communication
Sécurité et déploiement
  • Signer les applications
  • Publier son application

Méthode pédagogique

50% de travaux pratiques

Audience 

Architectes techniques, développeurs

Pré-requis

Bonne maîtrise de Java, notions des technologies web (HTML, XML, JSON) ou de Java Swing

Tarif

1850 €

 

Développer des applications iOS (iPhone, iPad)

Fiche descriptive détaillée

Référence : iOS
Durée : 5 jours (35 heures)

Prochaines sessions inter-entreprises

Du 20 au 24 janvier 2014
Du 10 au 14 mars 2014
Du 7 au 11 avril 2014
Du 2 au 6 juin 2014
Du 7 au 11 juillet 2014
Du 15 au 19 septembre 2014
Du 27 au 31 octobre 2014
Du 1er au 5 décembre 2014

Présentation

Lancé en 2007, l’iPhone a définitivement remodelé le paysage de la téléphonie mobile. Celui-ci fonctionne sous iOS, le système d’exploitation développé par Apple qui équipe aujourd’hui l’ensemble des dispositifs tactiles de la marque tels que l’iPhone donc mais aussi l’iPad et l’iPod Touch. Avec plus de 50% de parts de marché en France sur les appareils mobiles, iOS est le système leader qui a fixé les standards d’ergonomie et d’usage.

Le SDK iOS dispose de tous les outils nécessaires pour développer, exécuter et tester des applications natives. Ces dernières sont développées avec le langage Objective-C en utilisant les frameworks système comme Cocoa Touch ou Core Data.

Cette formation va vous permettre d’acquérir de solides bases en Objective-C, d’apprendre à utiliser l’environnement de développement Xcode, à concevoir des interfaces graphiques grâce au mode WYSIWYG de l’outil Interface Builder, à maitriser le SDK et ses différentes API.

À l’issue de cette formation, vous serez donc entièrement autonome pour développer des applications iOS qui utilisent au mieux les capacités des produits mobiles Apple, et cela que les logiciels soient destinés au grand public ou uniquement à votre entreprise.

Programme

Présentation générale
  • Le matériel
  • Le système d’exploitation
  • Pour l’utilisateur
La programmation Objective-C
  • Syntaxe
  • Structure d’une classe : interface et implémentation
  • Définition des méthodes et propriétés
  • Héritage, Protocoles et Catégories
  • Instanciation des classes
  • Concept de message
  • Gestion des exceptions
Les frameworks
  • Foundation Kit
  • UIKit
  • Game Kit
  • iAd
  • Map Kit
Gestion de la mémoire
  • Création d’objets et allocation de la mémoire
  • Fonctionnement du Reference Counting
  • Retain, release et auto-release
  • ARC (différences avec le Garbage Collector)
  • Les bonnes pratiques
L’environnement de développement
  • Xcode 4
  • Création et organisation d’un projet
  • La gestion des sources (Git, Subversion)
  • Les éditeurs (Standard, Assistant et Version), l’Organizer
  • Les outils de debug
  • Interface Builder
  • Simulateur iOS
  • Profiling (CPU, mémoire, système de fichiers)
Concepts de haut niveau
  • Les storyboards
  • Scènes et enchaînements (segues)
  • Design Patterns (MVC, Target-Action, Delegate…)
L’interface graphique
  • Les vues
  • Les widgets (boutons, labels…)
  • Les pages scrollables : UIScrollView
  • Les pages web : UIWebView
  • Les principaux contrôleurs
  • Les Composants de navigation
  • Split View Controller pour iPad
  • Les alertes
Fonctionnalités IHM avancées
  • Prise en compte du cycle de vie
  • Multitâche
  • Les animations
  • La géolocalisation
  • Lectures audio et vidéo
  • Reconnaissance des gestures
  • Gestion de l’orientation (portrait/paysage)
  • Créer des applications universelles
  • URL schemes
Règles d’ergonomie (Human Interface Guidelines)
  • Respect des standards
  • Minimiser les fonctionnalités
  • Des interactions à bon escient
  • S’appuyer sur les forces de la plateforme
  • Les applications doivent être belles !
  • Atouts et inconvénients du tactile
Connectivité
  • Requêtes synchrones
  • Requêtes asynchrones
  • Sécurité
  • Interrogation de Web Services
  • WS JSON et XML
  • Monitoring réseau
Persistance des données
  • Les données utilisateurs
  • Le système de fichiers
  • Utilisation de SQLite
  • Création du DataModel et des classes métier
  • Core Data (chargement, lecture, sauvegarde)
Déploiement et gestion de flotte
  • Gestion des certificats, profiles de provisioning…
  • L’App Store
  • L’outillage
  • Déploiement Ad Hoc ou In-House
  • Store privé

Méthode pédagogique

50% de travaux pratiques

Audience

Architectes techniques, développeurs

Pré-requis

Connaissance d’un langage de programmation objet

Tarif

2050 €

 

Panorama mobile pour le Chef de projet

Fiche descriptive détaillée

Référence : ETAC
Durée : 2 jours (14 heures)

Prochaines sessions inter-entreprises

Du 16 au 17 décembre 2013
Du 30 au 31 janvier 2014
Du 17 au 18 mars 2014
Du 28 au 29 avril 2014
Du 19 au 20 juin 2014
Du 18 au 19 août 2014
Du 13 au 14 octobre 2014
Du 11 au 12 décembre 2014

Présentation

L’aire du tactile est aujourd’hui plus qu’enclenchée. Les téléphones intelligents et autres tablettes sont dotés d’une importante capacité de traitement rendant possible la création de logiciels très sophistiqués. Si cette évolution technologique ouvre un vaste champ d’opportunités, la disparité des systèmes embarqués sur ces combinés pose de réelles difficultés pour les applications destinées à un large public. Par ailleurs, un back-office mobile ne se conçoit pas nécessairement de la même manière que celui d’une application web classique.

Ce séminaire se propose de répondre à toutes les questions qu’un chef de projet ou plus généralement un manager pourrait se poser sur l’univers du mobile et du tactile. Nous dresserons ainsi un panorama des technologies, systèmes d’exploitations, langages de développement, frameworks, matériels d’aujourd’hui et de demain ; nous apporterons aussi des solutions à la problématique du développement multiplateforme ou de l’industrialisation de la production avec des usines logicielles.

Programme

Introduction
  • A quoi servent les applications tactiles ?
  • Les Interfaces Homme Machine
  • Qu’est que le surface computing ?
  • Le « Multi-Touch »
  • Les cas d’usage
Matériels à écran tactile
  • Tablettes
  • Téléphones mobiles
  • Ordinateurs portables et tactiles
  • Tables tactiles
Panorama des technologies mobiles du marché
  • iPhone
  • Android
  • Windows Mobile
  • BlackBerry
  • Nokia
  • Les autres…
Comment développer une application ?
  • Développement natif  (Android, Objective-C…)
  • Développement multi-OS
Les stratégies multi-plateformes
  • Développement natif
  • Développement web
  • Développement hybride web/natif
Côté serveur
  • Les technologies serveur
  • Développer sans adhérence au client
  • Choix du protocole de communication
Environnement de développement, code source et tests
  • Gérer les arborescences des projets
  • Mutualiser les ressources communes
  • Les tests unitaires
  • Les tests sur mobiles
Astuces et conseils
Conclusion : le web comme solution ?
  • Principe
  • La fin de la fragmentation ?
  • Quoi de neuf dans HTML 5 ?

Méthode pédagogique

20% de travaux pratiques

Audience

Chef de projets, manager responsable d’applications tactiles

Pré-requis

Notions des technologies web

Tarif

1250 €

 

Initiation à la programmation Objet/Java

Fiche descriptive détaillée

Référénce : IPJT
Durée : 3 jours (21 heures)

Prochaines sessions inter-entreprises

Du 10 au 12 février 2014
Du 24 au 26 mars 2014
Du 16 au 18 juin 2014
Du 20 au 22 août 2014
Du 15 au 17 octobre 2014
Du 8 au 10 décembre 2014

Présentation

Ce module a pour objectif de faire découvrir la programmation objet aux développeurs formés aux techniques procédurales et qui voudraient mettre à jour leurs connaissances en pratiquant.

Il présentera les concepts fondamentaux de la programmation orientée objet et les techniques d’implémentation qui leur sont liées. La théorie sera mise en pratique à travers le langage Java sur des exemples simples qui permettront aux développeurs de comprendre les différents avantages de ce paradigme de programmation.

Programme

Introduction à Java
  • Présentation du langage
  • La plate-forme de développement Java
  • Connaître les caractéristiques essentielles de Java
  • Identifier les différents composants du JDK
Les concepts objets
  • Les concepts de base
  • Qu’est-ce qu’un objet ?
  • Qu’est-ce qu’une classe ?
  • Attributs, opération, identité ?
  • Des concepts au code
  • Les associations
  • L’héritage
  • Qu’est-ce que l’encapsulation ?
  • Qu’est ce que la collaboration ?
  • Le polymorphisme
La syntaxe Java
  • Les types de base
  • Les opérateurs
  • Les conversions de type
  • Les structures de contrôle
  • Différences Java / C
  • Les énumérations
Objets, classes et tableaux
  • Déclarer une classe
  • Déclarer des attributs
  • Déclarer et implémenter des méthodes
  • Utiliser les méthodes static, final
  • Utiliser les attributs static, final
  • Ecrire des constructeurs
  • Créer un objet, puis le manipuler via la notion de références
  • Manipuler des tableaux
Héritage, polymorphisme, packages et encapsulation
  • Utiliser l’héritage avec Java
  • Mettre en pratique les règles de conversion entre classes au sein d’une hiérarchie d’héritage
  • Utiliser le polymorphisme avec Java
  • Utiliser les packages Java
  • Utiliser l’encapsulation avec Java
Interfaces
  • Utiliser les interfaces Java
  • Mettre en oeuvre l’héritage d’interfaces
  • Implémenter une interface
Classes de base
  • Utiliser la classe Object
  • Manipuler les classes de type « Wrapper »
  • Manipuler les classes liées aux chaînes de caractères
Collections
  • Les collections
  • Les collections de types Set et List
  • Les collections de type Map
  • Les collections génériques
  • Manipuler les collections
  • Choisir une collection
Exceptions
  • Spécifier et utiliser les exceptions 
  • Lever une exception
  • Classifier les exceptions
  • Utiliser le polymorphisme avec les exceptions

Méthodes pédagogiques

50% de travaux pratiques

Audience

Architectes techniques, développeurs

Pré-requis

Une première expérience avec Java ou un langage objet

Tarif

1650 €

 

 

Perfectionnement Java pour certification Oracle CPJP

Fiche descriptive détaillée

Référence : OCPJP
Durée : 5 jours (35 heures)

Prochaines sessions inter-entreprises

Du 24 au 28 février 2014
Du 12 au 16 mai 2014
Du 22 au 26 septembre 2014

Présentation

La certification « Oracle Certified Professional Java Programmer » (OCPJP) est une certification reconnue qui valide une parfaite maîtrise des principes fondamentaux de la plateforme Java. L’objectif de cette formation est de perfectionner les participants pour en faire des développeurs Java professionnels de haut niveau.

Au terme de cette formation, les stagiaires auront balayé l’ensemble du programme de la OCPJP et seront en mesure de l’obtenir.

Les formateurs animant cette formation ont tous passé avec succès la certification OCPJP.

Programme

Introduction
  • Java, un langage, une plateforme
  • La machine virtuelle Java (JVM) et le bytecode
  • Comment la JVM gère sa mémoire (Heap et non Heap)
  • Les commandes du JDK
  • Les principaux paquetages de l’API Standard
Concepts objets
  • Les classes et les instances
  • Anatomie d’une classe Java
  • Héritage
  • Polymorphisme
  • Encapsulation
  • Surcharge et redéfinition de méthodes
  • Usage des mots clés this et super
Le langage
  • Organisation des fichiers sources
  • Les types primitifs
  • Les classes enveloppes
  • Déclarations, expressions, instructions
  • Les blocs
  • Les structures conditionnelles
  • Les boucles
  • Les opérateurs
  • Gestion des exceptions
  • Les modificateurs
  • Les énumérations
  • Les classes et interfaces internes
Les bonnes pratiques
  • Implémenter les méthodes hashCode() et equals()
  • Les interfaces Comparable et Comparator
  • La méthode finalize()
  • Bien se servir de la méthode toString()
  • Le clonage d’objets
Les références d’objets
  • Passage de paramètres par valeur ou par référence ?
  • Comparaison de types
  • Le casting
  • ReferenceQueue
  • SoftReference
  • WeakReference
Manipulation de chaines de caractères
  • Immuabilité de String
  • String, StringBuilder et StringBuffer
  • Parsing, expressions régulières et formatage
  • Localisation des données
Les entrées / sorties
  • Les flux d’octets
  • Les flux de caractères
  • Les fichiers à accès direct
  • Appliquer des filtres
  • La classe Console
La généricité (Generics)
  • Les types génériques
  • Méthodes et constructeurs génériques
  • les types paramétrés contraints
  • Héritage et généricité
  • Utilisation des jokers (wildcards)
  • Type Erasure
L’API Collections
  • Les interfaces Collection, List, Set, Queue et Map
  • Choisir entre plusieurs implémentations
  • Les algorithmes
  • Les autres types
Les Threads
  • Processus et threads
  • Contrôler l’exécution d’un thread
  • Synchronisation
  • Réglage des priorités et des threads démons
  • Les groupes de threads
  • L’API haut niveau java.util.concurrent
Les design patterns classiques
  • Les design patterns de création
  • Les design patterns de structure
  • Les design patterns de comportement
  • MVC (Model View Controller)
  • MVP (Model View Presenter)

Méthode pédagogique

65% de travaux pratiques

Audience

Développeurs Java souhaitant se perfectionner

Pré-requis

Une première expérience avec Java ou un langage objet

Tarif

2100 €

 

Développer des applications d’entreprise Java EE 6

Fiche descriptive détaillée

Référence : JEE6
Durée : 5 jours (35 heures)

Prochaines sessions inter-entreprises

Du 3 au 7 février 2014
Du 31 mars au 4 avril 2014
Du 9 au 13 juin 2014
Du 25 au 29 août 2014
Du 6 au 10 octobre 2014
Du 17 au 21 novembre 2014

Présentation

La spécification Java EE (Enterprise Edition) est sortie fin décembre 2009 dans sa version 6. Parfois critiquées pour leur complexité, les technologies standards Java ont souvent été concurrencées par des projets Open Source innovants au premier rang desquels se trouve sans doute Spring.
Heureusement, le JCP (Java Community Process) a su s’approprier les apports de ces projets qui se retrouvent intégrés sous une nouvelle forme à Java EE.

Ce cours a pour objectif de parcourir l’intégralité de la spécification Java EE, toutes les briques logicielles seront étudiées : la persistance des données avec JPA 2, les EJB Session 3.1, les web services JAX-RS (REST) et JAX-WS (SOAP), le framework d’injection de dépendances CDI (Contexts and Dependency Injection), ainsi que les servlets 3 et JSF 2.

A l’issue de la formation, les stagiaires auront une vision complète des possibilités de la plateforme et seront ainsi capable de concevoir et de développer des applications d’entreprise.

Cette information sera illustrée de nombreux exemples issus de véritables applications.

Programme

Introduction
  • Architecture multi-couches
  • Les serveurs d’applications
  • Notion de conteneur
  • Panorama des technologies Java EE 6
  • Les profiles
Les EJB Session 3.1
  • EJB avec et sans état
  • Interface locale, distance ou aucune interface ?
  • Cycle de vie des EJB
  • Le nouvel EJB Singleton
  • Le Timer Service
  • Les méthodes asynchrones
  • Démarcation des transactions
  • La sécurité
La persistance des données avec JPA 2
  • Principe des ORM (Object-Relational Mapping)
  • Les annotations de mapping
  • Les associations : lazy loading, cascading, les relations bidirectionnelles, suppression des orphelins…
  • Le framework de validation
  • Le PersistenceContext
  • Les verrous optimistes et pessimistes
  • Le cache de deuxième niveau
  • API Criteria
  • Les pièges de JPA
API Servlet 3
  • Rappel sur le langage HTML et le protocole HTTP
  • Les servlets, les filtres et les écouteurs
  • Gestion de la session et manipulation des cookies
  • Maîtriser les scopes et les accès concurrents
  • Configuration avec le web.xml ou les annotations
  • La modularité avec les web fragments
  • Les servlets asynchrones
La couche de présentation avec JSF 2
  • Un framework MVC orienté composants
  • Facelets, moteur de template
  • EL comme « Expression Language »
  • Convertisseurs, validateurs, et gestionnaires d’évènements
  • Les Managed Beans et connexion au backend
  • Définition de la navigation
  • Internationalisation
  • Le support d’AJAX
CDI : le framework d’injection de dépendances de Java EE
  • Présentation des concepts
  • JSR 299 vs JSR 330
  • Utiliser les Qualifiers
  • Les scopes prédéfinis
  • Les méthodes de production
  • Se servir des stéréotypes
  • Fonctionnalités avancées
Middleware Orienté Messages avec JMS
  • Qu’est-ce qu’un système de messagerie ?
  • Queue et Topic
  • Modèle « Publication-abonnement »
  • Modèle « Point-à-point »
  • Les types de message
  • JMS dans le cadre des MDB (Message Driven Bean)
Les Web Services
  • Les architectures SOA
  • JAX-WS : Java API for XML Web Services
  • Les extensions WS-*
  • Le paradigme REST
  • JAX-RS : Java API for RESTful Web Services
  • WS basés sur les servlets ou les EJB

Méthode pédagogique

50% de travaux pratiques

Audience

Architectes, Développeurs Java

Pré-requis

Une première expérience avec Java ou un langage objet, un minimum de connaissances sur les architectures web

Tarif

2050 €

 

Développer des applications HTML 5 

Fiche descriptive détaillée

Référence : HTML5
Durée : 3 jours (21 heures)

Prochaines sessions inter-entreprises

Du 18 au 20 décembre 2013
Du 27 au 29 janvier 2014
Du 19 au 21 mars 2014
Du 23 au 25 avril 2013
Du 23 au 25 juin 2014
Du 1er au 3 octobre 2014
du 12 au 14 novembre 2014

Présentation

Après 10 ans sans évolution majeure, les langages phares du web, que sont HTML et CSS, sont enfin sortis de leur léthargie. Il était temps car si les standards semblaient être figés dans le marbre, les usages eux ont beaucoup évolué : diffusion de vidéos, wikis, réseaux sociaux et communication en temps réel, sans parler de l’Internet mobile et des tablettes tactiles.

Ainsi grâce à la version 5 d’HTML, il n’est plus nécessaire de recourir à des plugins propriétaires comme Flash pour animer des éléments en 3D, ou multiplier les « hacks » pour implémenter une application de supervision. Même si sa spécification n’est pas encore finalisée, HTML5 est dès à présent exploitable, l’engouement qu’il suscite auprès des géants de l’informatique tels que Google, Apple, ou Microsoft est révélateur du bond en avant technologique qu’il représente.

Cette formation détaillera l’ensemble des apports majeurs d’HTML5 et de CSS3. Un focus sur JavaScript sera fait en début de session car ce langage, autrefois boudé des développeurs, est devenu une brique essentielle à la réalisation d’applications web de nouvelle génération. Enfin, nous n’oublierons pas de traiter les sujets concernant l’environnement de développement et d’apporter des réponses sur les bonnes pratiques de conception.

Programme

Introduction
  • Historique des langages du web
  • La révolution AJAX
  • Qu’entendons-nous par « HTML5 » ?
  • Support des navigateurs
  • Les mobiles et autres dispositifs tactiles
JavaScript, le langage incontournable
  • La syntaxe : variables, opérateurs logiques, instructions, fonctions, mots clés…
  • Objets internes
  • Le DOM (Document Object Model)
  • Gestion des évènements
  • La programmation objet en JavaScript
  • JSON (JavaScript Object Notation)
API de communication
  • Rappel sur le protocole HTTP
  • XMLHttpRequest niveau 2
  • Server-Sent Events
  • API WebSocket
Stockage côté client
  • Web Storage
  • IndexedDB et Web SQL Database
  • Accéder au système de fichiers depuis le navigateur
  • Créer des applications hors-ligne
Graphisme et multimédia
  • Canvas 2D
  • Images vectorielles SVG (Scalable Vector Graphics)
  • La 3D sans plugin
  • Flux audio et vidéo
  • Pour aller plus loin : personnalisation du lecteur, les codecs, position de lecture
Les fonctionnalités orientées « application »
  • De nouveaux champs de formulaire
  • Emettre des notifications
  • Géolocalisation
  • Glisser-déposer
  • Web Workers : enfin des threads en JavaScript
  • Tour d’horizon des nouveautés à venir
Une meilleure sémantique
  • Balises de structuration
  • Microdata
  • Propriété rel
  • L’accessibilité
La présentation avec CSS3
  • Nouveaux sélecteurs CSS
  • Mise en page sophistiquée
  • Polices de caractères
  • Les effets
  • Transformations, transitions, animations
Architecture et conception
  • Sécurité, cross domain scripting
  • Bonnes pratiques
  • Optimiser et protéger son code
Outillage et environnement de développement
  • Quel IDE ?
  • Débugger, tester une application HTML5
  • Packager une application web en une application autonome

Méthode pédagogique

60% de travaux pratiques

Audience

Architectes, développeurs, webmasters

Pré-requis

Connaissance des bases du web et d’un langage de programmation (Java, VB…)

Tarif

1450 €

 

Concevoir des Web Services avec REST

Fiche descriptive détaillée

Référence : JREST
Durée : 3 jours (21 heures)

Prochaines sessions inter-entreprises

Du 17 au 19 février 2014
Du 26 au 28 mai 2014
Du 1er au 3 septembre 2014
Du 3 au 5 novembre 2014
Du 15 au 17 décembre 2014

Présentation

Composants logiciels distribués, les Web Services sont à l’origine des éléments d’intégration des technologies hétérogènes et des divers applicatifs que l’on peut retrouver au sein des systèmes d’information. Avec l’émergence d’HTML5 et des OS tactiles, ils sont devenus incontournables : il s’agit aujourd’hui de la manière la plus académique d’implémenter la couche serveur de nos applications.

Cette formation passera à la loupe les concepts et la philosophie REST tels que définis initialement par Roy Fielding, les bonnes pratiques, fruits de notre expérience et des retours de la communauté des développeurs, et aussi bien sûr les API nécessaires à l’écriture de Web Services REST en Java.

Programme

Introduction
  • Web Services et SOA
  • Le paradigme REST
  • HTTP et simplicité
  • Le standard JAX-RS
  • REST vs SOAP, JAX-RS vs JAX-WS
Les fondamentaux
  • Ressources & opérations CRUD
  • QueryParam, FormParam et MatrixParam
  • Lecture des entêtes HTTP
  • Formats XML et JSON (JavaScript Object Notation)
  • Mapping objet/XML – JSON
  • Les outils indispensables : curl, plugins navigateurs
Fonctions avancées
  • Optimisation : cache client et requêtes conditionnelles
  • Transferts de données binaires
  • Négociation de contenu
  • Les sous-ressources
  • Gestion des erreurs
  • Personnalisation du marshalling des entités
  • Sécurisation des Web Services


Bonnes pratiques de conception
  • Des URLs intuitives
  • Une API navigable
  • Les réponses partielles
  • La pagination
  • Comment traiter les opérations non CRUD ?
  • Quel emploi pour les cookies ?
  • Versionner l’API
  • Le bon usage des paramètres de requête (ex: la recherche)
  • Documentation de l’API, description WADL
  • Fournir un SDK ?
Bibliothèques, outillage et frameworks
  • En attendant Java EE 7 et JSR 353
  • Les librairies JSON en Java
  • WS REST sans serveur d’application
  • Librairies JavaScript
  • Ecrire un client Java
  • Tester un Web Service

Méthode pédagogique

60% de travaux pratiques

Audience

Architectes techniques, développeurs

Pré-requis

Connaissance du langage Java

Tarif

1450 €