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

 


Programmation Windows avec C#

 

Objectifs de la formation

Le langage C# est le langage objet phare de Microsoft. Il permet de développer tout type d'application (client lourd, web, web service, ...). Le langage C# est très lié à la plateforme .Net à laquelle il "emprunte" ses objets pour développer des applications fenêtrées (Windows Forms ou WPF), des sites WEB (ASP.net Web Forms et MVC), ou encore se connecter aux bases de données (ADO.net, LINQ et Entity Framework). L'environnement de développement intégré incontournable pour le C# est Visual Studio.
 
Cette formation C# vous permettra de maîtriser les fondamentaux du langage C# et l'environnement de programmation Visual Studio 2010/2012/2013/2015. Au-delà du langage C#, qui reste l’objectif de base de la formation, la plateforme .NET 3.5 à 4.6 vous sera également présentée afin de bien comprendre l'environnement global sur lequel peut s’appuyer  le langage C#.

Plus concrètement à l'issue de la formation vous serez capable de :

  • Comprendre les principes du développement objet (classe, méthode, héritage, etc.)
  • Comprendre le rôle du framework .NET 3.5/4.0/4.5  et savoir utiliser ses classes
  • Configurer et utiliser Visual Studio 2008/2010/2012/2013/2015
  • Maîtriser la syntaxe et les concepts du langage C#.  
  • Utiliser ADO.NET et LINQ pour accéder aux données d'une base quelque soit leur provenance et les manipuler
  • Savoir appliquer les grands principes de C# à la réalisation d'applications riches (Windows Forms ou WPF)
  • Utiliser des services Web XML dans une application C#.  
  • Tester des fonctionnalités avancées de C#.    
  • Créer une première application Web en ASP.NET

Contenu du cours

Introduction à .Net 3.5/4.0/4.5/4.6

Qu'entend-on par plateforme (framework) .net ?
Pourquoi parle-t-on parfois indifféremment de C# ou VB .net ?
La place de C# dans l'architecture globale de .NET 3.5/4.0/4.5
Les nouveautés du Framework .Net 4.5, du langage C# 6, et de Visual Studio 2015
Comparaisons de C# avec d'autres langages (Java, C++, etc.)

La conception Objet

Qu'est-ce qui caractérise un programme « objet » ?
Vocabulaire et concepts de base (classes, instances)
Pourquoi l'encapsulation est-elle fondamentale ?
Le cycle de vie d'un objet (constructeur, destructeur)
Savoir réutiliser les traitements et les données (héritage)
Donner le même nom à des traitements différents (polymorphisme)
Exemples de mauvaises conceptions
T.P.Conception orientée Objet d'une étude de cas

Les bases de C#

Espace de nom, types énumérés.   
Gestion des références, typage.   
Différents modes de passages de paramètres
Méthodes à nombre d'arguments variable.   
Surcharge d'opérateurs.   
Notion d'attribut, et importance des méta-données.
T.PPremiers exemples progressifs en C# mettant en avant les points importants et/ou difficiles du langage.

La programmation en C#

Le modèle Objet avec le langage C#.   
Classes et objets : notion de méthode.   
Code géré et gestion de la mémoire.   
Héritage, surcharge et polymorphisme.   
Propriétés, indexeurs et énumérateurs.   
Les nouveautés de C# .NET 3.5/4.0/4.5/4.6 : expression d'initialisation, types anonymes, propriétés automatiques, méthodes d'extension, méthodes partielles et lambda expressions
Utilisation des "Generics"
T.P.Réalisation des programmes de la veille.

La programmation avancée en C#

Exceptions : gestion centralisée des erreurs, classes d'exceptions personnalisées, exceptions non- .Net.   
Délégués : délégués et événements, les délégués comme alternative au polymorphisme.   
Structure de l'architecture .Net 3.5/4.0/4.5/4.6 : assembly, processus et domaine, support multi-langage en .Net, sécurité.
T.P.Gérer les tests avec les exceptions. Réaliser une application avec les délégués. Créer des bibliothèques partagées (assemblies signés).

Les classes incontournables du framework

Classe mathématiques, structures usuelles, gestion des dates.   
Gestion du formatage des chaînes.   
Filtrer l'information grâce aux expressions régulières.  
Conteneurs classiques : listes, listes triées, piles et tables de hashage.
T.P.Tirer parti de la puissance du framework .Net pour réaliser rapidement des applications de gestion.

Introduction à l’accès aux données en .NET

Les principes d’ADO .Net
Notion de classe client / classe fournisseur en C#   
Choisir d'accéder aux données avec DataReader ou DataSet ?
La nouvelle philosophie de LINQ (Entity Framework, LINQ to SQL, Linq To Objects, Linq to XML, ...).
T.P.Lecture d’un flux XML depuis un fichier texte et stockage dans une base de données.
Rendre interrogable par Linq un objet métier réalisé dans les TP précédents. Accéder avec Entity Framework à une base de données existante.

Introduction à WPF et aux Windows Forms

Le modèle objet des Windows Forms : la simplicité de mise en œuvre
Les possibilités de WPF (Windows Presentation Foundation) : la souplesse des ressources, (style, trigger, …) et du data binding
Comparaison entre les frameworks concurents Windows Forms / WPF
T.P.Réalisation d'une application fenêtrée simple démontrant les bonnes pratiques et l'utilisation des concepts objets et C# dans un cas réel.

ASP.Net/ C#  et Webform

L'architecture des Web Forms
Séparation Métier / Code et Présentation
Webservice (webmethode) en C#

  • Créer une première application Web en ASP.NET

J2EE Piloter un projet Technique

 

Objectifs de la formation

Contenu du cours

Développement J2EE Niveau 1

Objectifs de la formation

 Connaître les fondements des architectures n-tiers et l'architecture J2EE.
• Savoir utiliser les technologies Servlet/JSP.
• Connaître les bonnes pratiques pour développer des accès aux bases de données avec JDBC et les pools de connexions.
• Connaître les bases de la bibliothèque JSTL.

Contenu du cours

 1- Présentation des architectures
   • Architectures à objets distribués, architectures n-tiers, modèle en couches.
   • Présentation des architectures J2EE et .NET.
   • Architecture SOA.
   • Services web.

2- Architecture J2EE 
   • Architectures n-tiers : du client serveur au modèle Internet.
   • Architecture web, serveur HTTP et client léger, les navigateurs.
   • Protocole HTTP, requête cliente et réponse serveur, protocole en mode déconnecté sans session.
   • Fonctionnement et rôle des Servlets.
   • Fonctionnement et rôle des pages JSP, Modèle MVC JSP/Servlet.
   • Les serveurs d'applications open source J2EE (Tomcat, JBoss, Sun App Server, Glassfish, 
     JonAS).
   • Structure standard d'une application web J2EE, norme de répertoires.
   • Le fichier de configuration normalisé web.xml.
   • Déploiement des applications web J2EE, les archives JAR, WAR et EAR.
   • Les descripteurs de déploiement. 

3- Mise en œuvre des Servlets 
   • Les APIs de base.
   • Le cycle de vie d'une Servlet.
   • Les méthodes init, destroy, doPost, doGet.
   • Les Classes HttpRequest et HttpResponse.
   • Partage des Servlets pour l'ensemble des clients.
   • Cycle de vie des Servlets (Chargement et déchargement).

4- Les Servlets (suite)
   • Mécanisme de redirection vers d'autres ressources.
   • Gestion d'un formulaire HTML et récupération des données.
   • Accès à la session utilisateur, fermeture de la session.
   • Gestion des contextes (ServletContext, Session, Requête).
   • Bonnes pratiques.
   • Mécanisme de listeners.
   • Mise en œuvre de filtres.

5- Conception des pages JSP
   • Intégration de balises JSP dans une page HTML.
   • Lancement d'une page JSP.
   • Syntaxe des balises JSP : directives, scriplets et autres balises spécifiques.
   • Transmettre des données à une JSP, les patterns Data Transfert Object et Value Object.
   • Accès aux différents contextes (application, session et requête).
   • Les objets prédéfinis.
   • Optimisation et utilisation de cache.

6- La bibliothèque de balises JSTL (JSP Standard Tag Library)
   • Les balises pour les variables.
   • Les balises de structure de contrôle (tests, boucles, ...).
   • Les balises pour l'internationalisation.
   • Les balises pour les requêtes SQL.
   • Réalisation de ses propres balises.
   • Conception étape par étape d'une balise personnalisée.
   • Gestion de la navigation, sécurité, pages d'erreurs.

Développement J2EE Niveau 2

Objectifs de la formation

  Fournir une présentation plus concise et plus détaillée de la plateforme J2EE. 
• Expliciter les EJBs, les Session Beans, les Entity Beans, les Message Driven Beans ainsi que la connexion avec la BD (JDBC) et les transactions.
• L'utilisation du serveur d'application JBoss dans les ateliers pratiques rendra les choses comprises et implémentées pratiquement.

Contenu du cours

 1- Introduction aux EJB
   • L’Architecture J2EE.
   • Le Serveur J2EE.
   • EJB Container.
   • Web Container.
   • Enterprise beans.
   • Session beans.
   • Entity beans.
   • Comparaison : Session et Entity beans.
   • Contenu d’une Application J2EE.
   • Phases de Développement des Applications J2EE.

2- Sessions beans
   • Le cycle de vie de Session bean.
   • The Stateful Session bean Life Cycle.
   • The Stateless Session bean Life Cycle.
   • Comparaison des Session beans.
   • Passage de Session bean's Object Reference.
   • Accessing Environment Entries.

3- Entity beans
   • Caractéristiques des Entity beans.
   • Persistence.
   • Primary Key Class.
   • Création de Primary Key Class.
   • Recherche du Primary Key.
   • Le cycle de vie de Entity bean.
   • Container-Managed Fields.
   • Entity bean Class.
   • A bean-Managed Persistence Example.
   • A Container-Managed Persistence Example.
   • The Finder Methods.
   • Table Creation.
   • Handling Exceptions.
   • Comparaison des Entity Beans.

4- Message Driven Bean (MDB) et introduction à JMS
   • Creation JMS client (message producer and message consumer).
   • Configuation de JMS server sur weblogic.
   • Caractéristiques d’un MD.
   • Cycle de vie d’un MD.

5- Database Connections
   • Connections codées.
   • Comment se connecter ?
   • Quand se connecter ?
   • Spécification de JNDI Name for Deployment.
   • Spécification Database Users and Passwords.
   • Container-Managed Connections.


6- Transactions
   • Container-Managed Transactions.
   • Attributs de Transaction.
   • Rolling back a Container-Managed Transaction.
   • Synchronisation des Variables d’Instance des Session beans.
   • Méthodes non autorisées dans les Container-Managed Transactions.
   • Bean-Managed Transactions.
   • JDBC Transactions.
   • JTA Transactions.
   • Returning Without Committing.
   • Méthodes non autorisées dans les bean-Managed Transactions.
   • Résumé des Transaction Options.

7- Atelier pratique avec le serveur d'application JBoss

Java optimisation

 

Objectifs de la formation

Optimiser le code Java d'une application pour en améliorer les performances

Maîtriser les outils d'aide à l'optimisation

Optimiser le fonctionnement de la machine virtuelle

Optimiser l'utilisation des librairies standards

Mettre en oeuvre des Design Patterns significatifs

Contenu du cours

 

» Méthodologie et outils pour l'optimisation

Les éléments impliqués dans l'optimisation.

Le choix d'un environnement d'exécution performant.

Les éléments de la méthodologie.

Outils de profiling et de visualisation de la mémoire. Outils de tests et d'aide (findBugs, CheckStyle...).

Le choix du compilateur et de la JVM.

Travaux pratiques 
Utilisation des profilers hprof et jmp. Utilisation de JUnit. Profiling d'une application simple.

» L'optimisation et le langage

Identifier les vraies sources d'inefficacité.

Connaître les bons usages qui les évitent.

L'optimisation et la gestion des objets, les évaluations, les tests.

Travaux pratiques 
Démonstrations de l'amélioration des performances de l'application.

» L'optimisation et les librairies standard

La manipulation des Strings. Les classes Collections.

Travaux pratiques 
Démonstrations de l'amélioration des performances de l'application témoin par une meilleure manipulation des Strings et des Collections.

» L'optimisation et quelques Design Patterns

L'utilisation des interfaces et des classes abstraites.

L'utilisation de fabriques.

L'utilisation d'adaptateurs, décorateurs, proxies.

Travaux pratiques 
Design Patterns pour l'optimisation des applications.

» L'optimisation et les I/O

Le choix des bonnes classes de Stream.

L'optimisation de la sérialisation.

L'optimisation spécifique aux IO réseaux.

Travaux pratiques 
Amélioration des performances de l'application témoin par une meilleure gestion des IO.

» L'optimisation et le multithreading

Le modèle d'activité de Java.

La synchronisation des threads.

L'optimisation des Threads.

Travaux pratiques 
Démonstrations de l'optimisation des Threads.

» L'optimisation et la gestion de la mémoire

Les principes généraux des GC (principaux algorithmes, collaboration avec l'allocateur).

L'organisation de la mémoire des principales JVM.

La saturation mémoire (cause, diagnostic, solutions).

Les évolutions Java6 : le Garbage Collector.

Travaux pratiques 
Utilisation d'outils de visualisation de la mémoire, de l'activité du GC.

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