Tirer parti de la technologie XPages pour moderniser son parc applicatif Notes/Domino ne s'improvise pas. Pour vous aider dans ce projet, nous avons concocté un programme de formation adapté afin de répondre autonomes vos équipes de développement.
2. Développement XPages : Le cursus standard
Modules Pré-requis
Module principal
Développeur XPages
3 jours
Développeur Notes
2 jours
Développeur Web
2 jours
Modules
spécialisés
2 jours par module
dojo
et
dijit
Java
Simplifié
Java
Avancé
Accès
base de
données
Accès à
un web
service
Applications
Mobiles
Méthodo Ergonomie
de OneUI
2
3. Développement XPages : Le cursus standard
Pages 4 et 5 : les 2 modules pré-requis : Développement Web et Notes
Page 6 : le module standard «XPages»
Pages 7 à 14 : les modules spécialisés
dojo/dijit
Java simplifié
Java avancé
Accès à une base de données
Accès à des Web Services
Développement d'applications mobiles
Méthodologie de développement
Contrôles Ergonomique de OneUI
Les modules du cursus de formation standard aux XPages :
Ce document présente le détail de chacun de ces modules.
3
4. Module pré-requis : Développement Notes
Objectifs
Participants et durée de la formation
Pré-requis
Contenu
Donner les notions en développement Notes/Domino
nécessaires à tout développeur souhaitant aborder
efficacement le développement XPages.
Notion de base de documents : Définitions
Les masques: Description des données
Les types de champs : Texte, nombre, etc...
Champs mono et multi valués
Champ calculés et valeurs par défaut : @formules
Les @formules principales : @Now, @Username, etc...
Les vues : Organisation des données
Formules de sélection et ordre de tri
« Show multiple values as separate entries »
Catégories
Les agents programmés : LotusScript et Java
La gestion des droits :
La LCA et les différents niveaux d'accès
Les rôles
Les champs lecteurs et auteurs
La réplication
Les APIs Notes
LotusScript et Java
Informations sur l'utilisateur courant
Parcourir une vue : ViewEntryCollection
Utiliser le ViewNavigator
Manipuler les champs textes riches : MIME
Envoyer un mail
Développeurs souhaitant apprendre les XPages, mais
n'ayant pas de connaissances Notes/Domino.
Le module se déroule sur 2 jours.
Aucun
4
5. Module pré-requis : Développement Web
Objectifs
Participants et durée de la formation
Pré-requis
Contenu
Donner les notions en développement web
nécessaires à tout développeur souhaitant aborder
efficacement le développement XPages.
Introduction : HTML, CSS et Javascript
Principes du protocole HTTP :
Firefox et Firebug : les outils indispensables
Requêtes GET et POST
Les en têtes HTTP
HTML : Les tags principaux
Tags statiques
Tags pour la saisie : Texte, Combos,
Checkbox...
CSS : les styles les plus utilisés
Javascript :
La syntaxe de base
Les fonctions globales
Manipuler des listes
Manipuler le DOM
Les événements
dojo : Javascript avancé
Déclaration de fonctions
Paramètres de type fonction : syntaxe dojo
Objets et tableaux : le modèle dojo
Principes d'AJAX : dojo.xhr
JSON et JSONP
Lier des événements entre eux : dojo.connect
Développeurs souhaitant apprendre les XPages, mais
n'ayant pas de connaissances en développement
Web.
Le module se déroule sur 2 jours.
Aucun
5
6. Développement XPages : Module principal
Objectifs
Participants et durée de la formation
Pré-requis
Contenu
Rendre des développeurs Notes Web opérationnels
avec les XPages.
Maîtriser toutes les notions fondamentales de la
plate-forme, de manière à monter des applications
rapidement.
Domino Designer : présentation
Introduction : syntaxe XSP et principaux contrôles
Interactions navigateur/serveur :
Calcul de propriété : #{javascript: …}
Ajax : rafraîchissements partiels
Les "scopes" applicatifs
Le framework de validation :
Rendre un champ de saisie obligatoire
Typer un champ
Annuler la validation : la phase immédiate
Cas concret : enchaînement de deux combos
Créer une interface web 2.0 :
Les Custom Controls : paramètres et facettes
Intégration avec CSS
Contrôles « OneUI » : application Layout, etc...
Afficher une vue :
Les contrôles "Vue" et "Data View"
Datasources de type "vue" et contrôle Repeat
Manipuler les documents Notes :
Datasources de type "document"
Formulaire de saisie : les liaisons de données
Surcharge des propriétés par l'URL
Saisie anticipée : implémentation d'un pickname
Internationalisation : libellés, nombres et dates
Développeurs Notes/Domino avec des compétences
en développement Web (voir pré-requis si nécessaire).
Cette formation s'adresse à des développeurs
souhaitant devenir experts de la technologie.
La formation se déroule sur 3 jours.
Facultatif : Module pré-requis « Développement Web »
Facultatif : Module pré-requis « Développement Notes »
6
7. Module spécialisé : dojo et dijit
Objectifs
Participants et durée de la formation
Pré-requis
Contenu
Donner les clés à des développeurs XPages pour leur
permettre d'intégrer leurs développements avec le
framework Ajax « Dojo ».
dojo :
Les fonctions utiles : dojo.byId, ...
Modélisation Objet : dojo.declare, dojo.hitch, ...
Ajax : dojo.xhr
Manipulation du DOM : dojo.create, dojo.place, ...
Recherche de nœuds : dojo.query
Événements : dojo.connect, connect.subscribe, …
dijit :
Insérer un widget : dojoType et le « dojo parser »
Répondre à des événements: dojo/method
Écrire un nouveau widget
Intégration de dojo et dijit dans les XPages :
Javascript client: Rappel sur #{id:...}
Demander à charger un module dojo
Insérer un widget: dojoType, dojoAttributes
Répondre aux événements: <xp:scriptBlock>
Insérer un "module path" personnalisé dojo
Exemple d'intégration :
Boîtes de dialogue
Widget Stand By
Développeurs XPages souhaitant intégrer ou
développer des widgets dojo/dijit dans leurs
applications XPages.
Le module se déroule sur 2 jours.
Module principal «Développement XPages»
7
8. Module spécialisé : Java Simplifié
Objectifs
Participants et durée de la formation
Pré-requis
Contenu
Permettre à des développeurs XPages d'intégrer du
code Java dans leurs applications, et ainsi d'augmenter
leur productivité.
Ce module ne traite pas de la modélisation Objet.
La syntaxe Java :
Types primitifs : int, long, boolean, etc...
Manipulation de chaînes de caractères
Interfaces : différence avec les Classes
Syntaxe Java Bean : getters et setters
Méthodes statiques : déclaration et appel
Objets les plus utilisés : Vector et Map
Différences entre les APIs LotusScript et les APIs
Java :
Différences de syntaxe
Problème du recycle
Intégrer du Java dans les Xpages :
L'éditeur Java Eclipse intégré à Designer
Remplacer les bibliothèques JSS par des Classes
Appeler le code Java depuis JSS
Accéder à l'environnement JSF depuis Java
Déboguer du code Java
Utiliser une bibliothèque Jar externe
Ateliers :
Manipulation de streams : fichiers, requête HTTP
Générer du PDF : utilisation de iText
Développeurs XPages souhaitant profiter de la
puissance que Java met à leur disposition pour
améliorer leur productivité.
Le module se déroule sur 2 jours.
Module principal «Développement XPages»
8
9. Module spécialisé : Java Avancé
Objectifs
Participants et durée de la formation
Pré-requis
Contenu
Permettre aux développeurs XPages de libérer tout le
potentiel de la technologie grâce à l'utilisation de Java
dans leurs applications.
Ce cours met l'accent sur l'utilisation de JSF, le
framework sur lequel reposent les XPages elles même.
Managed-beans :
Déclaration dans le faces-config.xml
Implémentation : Java Bean et Map
Injection de dépendances : les managed
properties
Inclusion des scopes et accès aux objets
XPages
Sérialisation et mode de persistance de page
EL : Liaison composant/propriété
Contrôleurs JSF
Les Validators et Converters
Source de données personnalisées
Créer une bibliothèque de composants :
Création de contrôles "à la main"
Le "XPages Starter Kit"
Développeur XPages avec une expérience Java.
Le module se déroule sur 2 jours.
Module principal «Développement XPages»
Module avancé « Java Simplifié »
9
10. Module spécialisé : Accès à une base de données
Objectifs
Participants et durée de la formation
Pré-requis
Contenu
Donner à des développeurs XPages les moyens
d'accéder à des données stockées dans une base de
données relationnelle.
Utilisation de JDBC :
Déployer un pilote
Utiliser JDBC pour exécuter des requêtes
Écrire une source de données personnalisée
Utilisation de l'Extension Library
Accéder au résultat d'un SELECT
Mettre à jour les données
Développeurs XPages ayant une compétence en
langage SQL, et souhaitant accéder depuis leurs
applications à des informations stockées dans une
base de données relationnelle.
Le module se déroule sur 2 jours.
Module principal «Développement XPages»
Module avancé «Java Simplifié»
Maîtrise du langage SQL.
10
11. Module spécialisé : Accès à un web service
Objectifs
Participants et durée de la formation
Pré-requis
Contenu
Analyser et mettre en place les différentes méthodes
permettant à un développement XPages d’interagir
avec d'autres environnements en utilisant des web
services.
Web Services :
Présentation
Problématique liée au SSO
SOAP :
Axis : faire générer les objets
Apache CXF : une alternative à Axis
Exploiter le résultat dans une XPage
REST XML/Atom :
Utilisation de Apache Abdera
REST JSON : Accéder à un web service JSON
Les dataStores dojo
Proxy inotes pour appels Ajax cross domain
Accès depuis le serveur : fromJson() et
toJson()
Le Standard Business Toolkit :
Appeler un service REST JSON ou Atom
Gérer l'authentification : OAUTH
Développeurs XPages ayant besoin d'interfacer ses
applications avec d'autres environnements au travers
de web services.
Le module se déroule sur 2 jours.
Module principal «Développement XPages»
Module avancé «Java Simplifié»
11
12. Module spécialisé : Applications Mobiles
Objectifs
Participants et durée de la formation
Pré-requis
Contenu
Donner les moyens à des développeurs XPages de
mettre au point des applications accessibles depuis un
smartphone ou une tablette.
Introduction
dojo mobile :
Construire la structure d'une application mobile
Les principaux widgets
Les Mobile Controls
HTML5/Phonegap :
Récupérer les coordonnées GPS
Manipuler la liste des contacts
Utiliser une dataStore locale : SQL et fichiers
Gérer les boutons du smartphone/tablette
Développeur XPages souhaitant implémenter des
applications accessibles depuis un smartphone ou une
tablette.
Le module se déroule sur 2 jours.
Module principal «Développement XPages»
Module avancé «dojo/dijit»
12
13. Module spécialisé : Méthodologie
Objectifs
Participants et durée de la formation
Pré-requis
Contenu
Donner à votre équipe de développeurs un ensemble
d'outils et d'habitudes de travail qui leur permettront
d'augmenter leur productivité, et de sécuriser leurs
développements XPages.
Introduction
Méthodes Agile : sensibilisation
Présentation
XP : scénariis, tâches et itérations
Organisation du poste du développeur
La gestion de sources
Les grand principes
Mise en place : SVN ou GIT
Fonctions habituelles : «Relire sa copie», ...
Reconstruire une base depuis les sources
Le travail à plusieurs
Notion de branches
Fusion des modifications
Ateliers
Développeur seul ou équipe de développeurs
souhaitant sécuriser ses développements XPages.
Le module se déroule sur 2 jours.
Module principal « Développement XPages »
13
14. Module spécialisé :
Contrôles Ergonomiques de OneUI
Objectifs
Participants et durée de la formation
Pré-requis
Contenu
Mettre au point une interface cohérente est un processus
complexe. C'est la clé de l'acceptation des applications.
Dans ce module, vos développeurs apprendront à
maîtriser des règles ergonomiques - celles de OneUI –
puis à les mettre en pratique grâce aux contrôles de
l'extension library.
Introduction
OneUI :
Définition au sens IBM
Les contrôles de l'Extension Library
Création de contrôles spécifiques
Rappel sur les facettes
Rappel sur les paramètres de custom controls
Déploiement via un plugin : le XSP Starter Ki
Développeurs XPages souhaitant rationaliser le « look »
de leurs applications en utilisant des règles
ergonomiques.
Ce module s'adresse aussi bien à des développeurs
ayant des règles ergonomiques imposées, qu'à ceux
ayant plus de liberté.
Le module se déroule sur 2 jours.
Module principal «Développement XPages»
14
15. Nous contacter
15
www.asi-informatique.fr
Tel : 0811 094 021 prix d’un appel local
Mail : asicom@asi-informatique.fr
Suivre ASI
Twitter : @ASI_Informatic
Facebook.com/asi.informatique
Linkedin.com/company/asi-informatique
Viadeo.com/fr/company/asi-informatique
Youtube.com/user/asicommunication