Softway-Tunisie Revendeur Sage Tunisie | Centre de formation professionnelle en informatique et management | développement informatique
- Détails
- Écrit par messaoudi
- Catégorie : Développement
JSF (Java Server Faces) : développer une application Web JEE avec JSF et Ajax
Objectifs de la formation
• Avoir une expérience pratique dans l’utilisation isolée ou conjointe des frameworks couvrant toutes les couches applicatives : Hibernate, JPA, Spring, et JavaServer Faces/Primefaces.
• Comprendre les designs patterns qui sous-tendent chacun des frameworks étudiés (MVC, DAO,…).
• Apprendre à être productif et à développer tout en respectant les règles reconnues de la qualité (Utilisation efficace des IDE, Tests unitaires,…).
• Exploiter efficacement les frameworks de productivité de Java EE. Maîtriser l’utilisation conjointe de ces frameworks.
Contenu du cours
1- Introduction à Java EE et classification des frameworks de développement
• Aperçu de l'écosystème JEE, des frameworks leaders, de leur rôle dans le développement
d'applications Java.
• Tour d’horizon des patterns et des frameworks actuels de Java EE.
• Classification des frameworks Java EE.
• Présentation et comparaison des architectures 2-tiers, 3-tiers, n-tiers. Présentation de
l’architecture SOA.
2- Les frameworks d'industrialisation et de gestion de la qualité
• Organisation d'un développement Java : Le cycle de vie, les métiers, les processus de
développement, gestion de la qualité.
• Ant, un framework d'automatisation de tâches.
• Maven, pour simplifier la production et la gestion des "build".
• JUnit, un framework pour la rédaction et l'exécution de tests unitaires.
• Gestion de la qualité avec Checkstyle, PMD, FindBugs et Sonar.
• Outils de gestion de versions : Git et d’intégration continue avec Jenkins. Intégration de Git
avec Jenkins.
3- Les frameworks de persistance Hibernate et JPA
• Revue rapide de l’infrastructure JDBC et des patterns d’accès aux données.
• Présentation de la persistance et des principes de l’ORM (Object Relational Mapping).
• Présentation de l’architecture de Hibernate et de son modèle de configuration et de
programmation.
• Création d'un mapping objet/relationnel. SessionFactory, Configuration, API Criteria, et
HQL.
• Manipulation de données persistantes. Cycle de vie des objets. Synchronisation avec la base
de données.
• Présentation de l’architecture de JPA et de son modèle de configuration et de
programmation. Comparaison Hibernate/JPA.
• Création d'un mapping objet/relationnel. Contexte, classes persistantes.
• Manipulation de données persistantes. Cycle de vie des objets. Synchronisation avec la base
de données. Pratique de JPQL.
• Aspects avancés : Optimisations des allers/retours vers la base de données. Mise en œuvre
de la technique de Cache.
• Rappel des erreurs à éviter.
4- Le framework d’intégration Spring
• Concepts de conteneur léger.
• Vue d'ensemble et exemples d'utilisation de Spring.
• Pattern "Inversion de Contrôle (IoC) : Injection de dépendance".
• Mise en œuvre de Spring Core: Injection de dépendances et AOP.
• Configuration de Beans spécifiques à Spring, cycle de vie Les Beans, BeanFactory et
ApplicationContext.
• Méthodes d'injection de dépendance.
• Programmation orientée aspect (AOP) avec Spring.
• Les différents types d'«advice» : around, before, throws, after.
• Intégration de Spring avec Hibernate et JPA.
• Intégration de Spring dans le tiers Web.
• Mise en œuvre de Spring Security.
• Amélioration de la productivité Spring en utilisant Spring Roo.
5- Le framework JavaServer Faces (JSF)
• Introduction au modèle MVC 2.
• Architecture de JavaServer Faces.
• Composants de JavaServer Faces.
• Implémentation d'un processus de navigation web.
• Libraires de balises JSP de JSF.
• Mise en œuvre du layout des pages web avec les Facelets.
• Exploitation des nouveautés de JSF 2.0 (Validation de données, Ajax, Web beans,…).
• Internationalisation d’applications JSF.
• Struts vs. le standard JavaServer Faces.
6- JSF : Rich Interfaces (RIA) avec PrimeFaces
• Aperçu des frameworks d’extention de JSF (PrimeFaces, IceFaces, RichFaces,…).
• Architecture PrimeFaces.
• Configuration et mise en œuvre de PrimeFaces.
• Composants usuels de PrimeFaces : HtmlEditor, Dialog, AutoComplete, Charts,…
• Exploitation de la fonctionnalité Ajax avec PrimeFaces : les bonnes pratiques.
7- Frameworks de développement de Web Services XML : Glassfish Metro, Apache Axis2 et Apache CXF
• Standards XML : Schémas, XSL, DOM, et XPath.
• Standards des web services : SOAP, WSDL, et UDDI . REST.
• Place des web services dans le cadre d’architectures SOA.
• Patterns de développement de web services.
• JAX-WS avec l’implémentation de référence Glassfish Metro : Développer des web services
Java EE en utilisant des annotations.
• Présentation de l’architecture d’Axis 2 et de son modèle de configuration et de packaging.
• Présentation de l’architecture d’Apache CXF et de son modèle de configuration et de
packaging.
• Compraison des frameworks Glassfish Metro, Axis2 et CXF.
• Pratique de l’écriture de services : approches contract-first et code-first.
• Pratique de l’écriture de clients. Génération de proxies.
• Les web services REST : Fondements techniques et cas d’usages typiques.
• Développement d’exemple de Web services RESTful avec le Framework Jersey.
- Détails
- Écrit par messaoudi
- Catégorie : Développement
Spring
Objectifs de la formation
- Utiliser le Framework Spring pour développer des applications Java.
- Utiliser l'injection de dépendance pour configurer des applications.
- Tester des applications basées sur Spring.
- Effectuer la configuration Spring avec du XML, des annotations et des classes Java.
- Utiliser Hibernate et JDBC avec Spring pour les accès aux bases de données relationnelles.
- Utiliser le support de transaction de Spring.
- Utiliser la programmation orientée aspect (AOP) pour ajouter du comportement aux objets.
- Développer une application Web avec Spring MVC.
- Utiliser Spring Security pour sécuriser les applications Web.
- Développer plus rapidement avec Spring Boot.
- Développer une architecture REST avec Spring.
- Développer une architecture microservices simple avec Spring Cloud et Spring Boot.
Contenu du cours
Introduction à Spring
- Contexte d'utilisation de Spring
- L'injection de dépendance
Configuration d'une application avec Spring (Java, Xml, Annotations)
- Définition des Beans
- Spring Expression Language (SpEL)
- Bonnes pratiques. Quand utiliser les configurations Xml, Java, Annotations
Comprendre le cycle de vie du conteneur Spring
- Les phases de d'initialisation, d'utilisation et de destruction d'un contexte Spring
- Travailler avec les post-processeurs
Tester une application basée sur Spring
- Support pour JUnit dans Spring
- Spring Boot
Programmation orientée aspect (AOP)
- Quels problèmes résout l'AOP ?
- Définir des aspects. Utiliser les différents types : around, before, after
Accès aux données et JDBC avec Spring
- Comment Spring s'intègre avec les technologies d'accès aux données existantes
- Hiérarchie d'exceptions d'accès aux données (DataAccessException)
- Simplifier les accès JDBC avec le JdbcTemplate
Intégration de Spring avec Hibernate
- Bénéfices de l'utilisation de Spring et d'Hibernate
- Configuration d'Hibernate avec Spring
- Gestion des exceptions
Gestion des transactions avec Spring
- Déclarer un gestionnaire de transaction dans Spring
- Utiliser l'annotation @Transactionnal
- Transactions et tests d'integration
Spring dans une application web
- Configurer Spring dans une application Web
- Introduction à Spring MVC
- Définition des contrôleurs Spring MVC
Spring Boot
- Créer rapidement une application web avec Spring Boot
- Spring boot avancé
Spring Security
- Les problèmes résolus par Spring Security
- Sécurisation des URLs, des services, d'une application web
Microservices avec Spring Cloud
- Bénéfices d'une architecture microservices
- Du monolithe aux microservices
- Spring Cloud : Service access, service discovery, service configuration
- Détails
- Écrit par messaoudi
- Catégorie : Développement
Programmation XML et Services Web en environnement Java
Objectifs de la formation
-
XML peut s'adapter à tout contexte et besoin (gérer des flux RSS, effectuer des appels entre systèmes distants, configurer un système applicatif...). Malgré son omniprésence, XML est souvent source de mises en œuvre inappropriées et coûteuses. Derrière la simplicité relative de XML se cache une syntaxe extrêmement riche et puissante ainsi qu'un ensemble de technologies plus difficiles à appréhender. Nous utiliserons le langage Java dont la puissance des API offre des possibilités variées pour manipuler, analyser, valier et transformer le XML.
-
Cette formation Java XML vous permettra de: - Connaître les principales API Java permettant de manipuler du XML - Savoir naviguer, modifier, transformer un document XML en utilisant SAX ou DOM - Savoir transformer un document XML via XSLT et XPath - Pouvoir mettre en oeuvre un mapping Java/XML via l'API JAXB
Contenu du cours
XML : eXtended Markup Language
- XML : un langage de balisage
- L'histoire de XML
- Structure et syntaxe d'un document XML
- balises, commentaires, caractères spéciaux...
- Créer un document XML bien-formé (well-formed XML document)
- Valider un document XML
- Parser un document ou l'analyse syntaxique
- Transformer un document
L'écosystème XML
- XML : la première pierre
- XML et sa suite de standards, de modèles et de spécifications
- Un format universel : Web Services, XHTML, OpenDocument...
DTD à XSD : décrire et valider un document XML
- Pourquoi définir un modèle ?
- DTD :Document Type Definition
- XSD :XML Schema Description
- Définir un modèle XML : DTD ou XSD ?
- Générer un document XML à partir d'un modèle
- Valider un document XML
Les espaces de nommages (ie. namespaces)
- Namespaces : lever les ambiguités
- Les namespaces dans XML
- Nommer les éléments et les attributs
- Maîtriser la portée d'un namespace
- Les namespaces dans XSD
- Respecter les conventions de nommage
Java et XML : État des lieux
- XML : un langage difficile à manipuler
- Pourquoi utiliser Java pour manipuler XML ?
- JAXP : API standard Java de manipulation XML
- Aperçu de l'API JAXP : valider, parser, transformer...
- Les implémentations JAXP : laquelle choisir ?
SAX : lire et traiter un document XML
- SAX :Simple API for XML
- Parcourir un document XML
- Gestion des évènements
DOM : manipuler un arbre XML
- DOM :Document Object Model
- XML : un arbre de données
- Créer un objet DOM
- Manipuler/Modifier un objet DOM
- Sauvegarder un objet DOM : fichier, base de données...
- DOM comparé à SAX
Les alternatives à DOM et SAX
- Les limites de DOM et de SAX
- JDOM n'est pas DOM
- JDOM : s'abstraire totalement du XML
- STAX :Streaming API for XML
- STAX : une démarche hybride entre SAX et DOM
XPath : les 'adresses' XML
- La famille XSL
- XPath : pouvoir désigner des éléments dans un document XML
- Les éléments identifiables
- La syntaxe XPath
- Les expressions XPath
- Les fonctions XPath
XSLT : transformer un document XML en tout autre document
- XSLT :eXtensible Stylesheet Language Transformations
- XSLT : transformer un modèle XML
- La syntaxe XSLT
- Répétitions, tris et conditions
- XPath et XSLT
- Générer des documents XML/PDF/XHTML à partir d'une même source XML
JAXB : mapping Java/XML
- JAXB :Java Architecture for XML Binding
- JAXB : passer du monde Java au monde XML et inversement
- Principes du mapping Java/XML : manipuler du XML sans jamais voir de XML
- Générer une classe Java à partir d'un schéma XSD et inversement
- Détails
- Écrit par messaoudi
- Catégorie : Développement
Framework web Python : Les fondamentaux
Objectifs de la formation
Développer rapidement des applications évoluées avec Python
Structurer le code avec des classes, des fonctions, des modules et des fonctionnalités OO
Accéder des modules et des packages standards et tiers
Développer des interfaces utilisateur graphiques dynamiques et indépendantes de toute plateforme
Créer et déployer des applications Web dirigées par les données
Contenu du cours
Présentation de Python
- Caractéristiques du langage
- Interfaces d'accès interactives
- Le modèle d'exécution de Python
- Environnements de développement intégrés
Exploiter les types de base de Python
Manipuler des chaînes de caractères et des nombres littéraux
- Déclarer et initialiser des variables
- Opérations arithmétiques
- Décisions et itérations
- Formater et découper des chaînes de caractères
Manipuler des données composites
- Accéder aux éléments de listes
- Représenter des données ordonnées par des tuples
- Associer des clés à des valeurs dans des dictionnaires
- Traitement homogène des collections avec des itérateurs
Organisation et structuration du code
Définir et utiliser des fonctions
- Arguments positionnels, nommés par mot-clé et par défaut
- Valeurs de retour
- Listes d'arguments de longueur variable
- Fonction récursives et générateurs
Regrouper le code dans des modules
- Importer et recharger des modules
- Qualification des fonctions importées depuis un module
- Créer des modules
- Regrouper des modules dans des packages
Implémenter classes et objets
Déclarer et modifier des objets
- Encapsuler des fonctionnalités dans des classes
- Initialiser des objets par des constructeurs
- Accéder aux données dérivées avec des propriétés
- Rôle des méthodes statiques et des méthodes de classes
- Surcharge des opérateurs
Héritage et polymorphisme
- Réutiliser des fonctionnalités via l'héritage
- Définir des classes abstraites et des interfaces
- Spécifier dynamiquement des méthodes
- Contrôler la portée dans l'espace de noms
- Enrichir les fonctionnalités avec des décorateurs de classe
Manipuler le système de fichiers
Gestion des fichiers
- Lire et écrire fichiers textes et binaires
- Importer le module OS pour manipuler des répertoires
Améliorer la fiabilité par le traitement des exceptions
- Préserver le contrôle du programme par la gestion des erreurs
- Détecter des erreurs et lever des exceptions
Interface avec des bases de données relationnelles
Établissement des connexions
- Créer une connexion à une base SQL
- Instancier des curseurs pour accéder aux données
Exécution de requêtes SQL
- Récupération des données structurées
- Actions de mise à jour des données
Interfaces utilisateur graphiques avec Tkinter
Conception de l'interface
- Définir la disposition des fenêtres
- Insérer des widgets : labels, boutons, entrée
- Interaction avec les boîtes de dialogue
Écoute des événements
- Définir des éléments de menus
- Réagir aux clics de souris
- Capture des saisies au clavier
- Intégrer des gestionnaires d'événements
Développer des applications web
Analyse de la chaîne de traitement d'une requête
- Identifier la place de Python
- Associer des requêtes à des scripts Python
Développement MVC avec Python
- Exporter un modèle dans une base de données
- Utiliser des vues pour engendrer du HTML
- Traiter les requêtes avec des contrôleurs Python
Exploiter le framework Django
- Produire un code efficace et concis
- Simplifier le développement d'applications
- Accéder à une base de données et produire du HTML à partir de modèles
- Détails
- Écrit par messaoudi
- Catégorie : Développement
Initiation à Java Micro Edition
Objectifs de la formation
L'introduction de J2ME rend Java intéressant pour le développement d'applications embarquées.
Elle possède les atouts de Java dont l'indépendance par rapport à la plate-forme, le fait de posséder des librairies faisant partie des standards de la mobilité et une gestion de la mémoire entre autres avantages
Contenu du cours
J2ME - Enjeux de l'embarqué et la mobilité (M15021)
-
Besoins
-
Applications
-
Usages
-
Contraintes
-
Applications distribuées
-
Perspectives économiques
La plate-forme J2ME (M15022)
-
Historique
-
Intérêt
-
Les machines virtuelles CLDC
-
Les machines virtuelles CDC
-
Architecture
-
Les configurations
-
Les profiles
J2ME - Les environnements de développement (M15023)
-
J2ME wireless toolkit
-
Plugin Nokia pour Eclipse
CLDC (M15024)
-
Le package java.lang
-
Le package java.io
-
Le package java.util
-
Le package javax.microedition.io
MIDP (M15025)
-
Les Midlets
-
L'interface utilisateur
-
La gestion des événements
-
Le stockage et la gestion de données
-
MIDP for Palm OS
CDC (M15026)
-
Les profiles du CDC
-
Foundation profile
-
Personal Basis Profile (PBP)
-
Personal Profile (PP)
J2ME - Autres technologies pour les applications mobiles (M15027)
-
Kjava
-
PDAP ( PDA Profile)
-
PersonalJav
-
Java Phone
-
JavaCard
-
Embedded Java
Développement de MIDLets avec les APIs de J2ME/CLDC et J2ME/CDC Les APIs (M15028)
-
MIDP
-
MIDlet
-
Les interfaces graphiques
-
API RMS : stockage et gestion de données
-
MMAPI : Mobile Media API
-
Explorateur de fichiers
-
Personal Information Manager APIs
-
Wireless Messaging API
-
Services Web
-
Java APIs for Wireless Bluetooth Technology
-
Jeux Mobile
-
3D Graphics API


