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
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
- Détails
- Écrit par messaoudi
- Catégorie : Développement
J2EE Piloter un projet Technique
Objectifs de la formation
Contenu du cours
- Détails
- Écrit par messaoudi
- Catégorie : Développement
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étails
- Écrit par messaoudi
- Catégorie : Développement
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
- Détails
- Écrit par messaoudi
- Catégorie : Développement
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.


