Softway Tunisie créée depuis 1994, met à votre disposition ses années d’expérience à la fois dans la formation professionnelle en informatique et management, et dans l’intégration des logiciels Sage en Tunisie ainsi le développement des sites web et des logiciels sur mesure dans le but de satisfaire les besoins d'une clientèle de plus en plus critique et rigoureuse.

 

Développez votre activité sereinement et en toute sécurité avec la gamme de logiciels Sage 100 Cloud

 

 Découvrir nos solutions des logiciels Sage 100 Cloud

 

 

Découvrir

 


La mission première de Softway Tunisie est de proposer des formations en informatique et management en Tunisie basées sur des expériences du terrain avec des professeurs du terrain

Découvrir

 


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.

 

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

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

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

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

 

Powered by Amazing-Templates.com 2014 - All Rights Reserved.