Internet / XML / SOA, Web, développement
Transcription
Internet / XML / SOA, Web, développement
Internet / XML / SOA, Web, développement Le Web, aujourd'hui incontournable dans le monde professionnel, donne accès à l'information, mais également à une multitude d'applications d'entreprise ou de services grand public. Les filières proposées vous apporteront toutes les connaissances nécessaires pour concevoir des sites Web performants et conviviaux, mettant l'accent aussi bien sur le design, les aspects éditoriaux que sur les techniques de développement ou encore de référencement. Elles intègrent les technologies les plus récentes comme Ajax, Flash, ActionScript 3, Flex, les dernières versions des ateliers de développements et Frameworks du monde Java, .NET, PHP ou encore Macromédia/Adobe. Stages Pratiques Développer un site Web, synthèse pratique. ( p3 ) ( p5 ) Dreamweaver CS5, développer un site Web. ( p6 ) prise en main. Dreamweaver CS5, Javascript, HTML dynamique. ( p8 ) ( p10 ) Ajax, programmation côté client. Javascript, perfectionnement pour le Web 2.0. ( p12 ) Dojo Toolkit, créer des applications Ajax/ RIA en JavaScript. HTML 5, CSS3, nouveautés et développement RIA. ( p14 ) ( p16 ) HTML 5, les API JavaScript. ( p17 ) Accessibilité, enjeux et mise en œuvre. ( p18 ) Web 2.0, développer des applications. ( p19 ) Créer des applications multiplateformes pour mobiles. ( p20 ) ( p22 ) ActionScript 3.0, programmation. ( p24 ) Flex et ActionScript 3.0, niveau 1. ( p26 ) Flex et ActionScript 3.0, niveau 2. ( p28 ) PHP un site Web dynamique. Flash5,etdévelopper ActionScript. ( p30 ) PHP 5, pour les développeurs objet. ( p32 ) L'essentiel de Java et de l'objet. ( p33 ) Dévelop( p35 ) per en Java.une application Web 2.0 /GWT. Développer ( p37 ) Java, développement de servlets et JSP. ( p39 ) Framework JavaServer Faces. ( p41 ) Struts 2, développer des applications Web MVC. ( p43 ) `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ \ÊÜÜܰpdfediting.com Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com page 1 / 65 PHP 5, développement Web avec Symfony. .......................... ( p59 ) Ruby On Rails, développement Web. ... ( p61 ) Grails, developpement d'applications Web. .......................... ( p62 ) Langage Perl. .... ( p63 ) Cycle certifiant Développeur Web côté client. .... ( p64 ) `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 2 / 65 \ÊÜÜܰpdfediting.com Stage pratique. Réf : DSW Développer un site Web, synthèse pratique Participants OBJECTIFS Cette formation pratique s'adresse aux informaticiens qui souhaitent concevoir une application client intranet/ Internet. Ce cours, très pratique, vous présentera l'ensemble des technologies Internet. Il vous expliquera le fonctionnement des services Web et des différents langages associés, HTML, XML..., les technologies du Web 2.0, ainsi que les techniques graphiques, l'interrogation des bases de données et l'administration. Les exercices vous permettront d'appréhender d'une manière très concrète toutes les phases de la réalisation d'un site Web. Pré-requis Connaissances de base en architectures techniques. 1) Les technologies du site Web 2) Administration et sécurisation du serveur web 3) Création de pages Web : HTML, XML, XHTML 4) Les formulaires 5) Conception graphique et multimédia 6) Accessibilité et ADAE 7) Ergonomie d'une application Web 8) Pages dynamiques 9) Les technologies Web 2.0 10) Le langage JavaScript et DHTML 1) Les technologies du site Web - Les serveurs Web (Apache, IIS). Wampserver. Les protocoles TCP/IP, HTTP. FTP. Les URL. Les services réseaux complémentaires (DNS, DHCP, ...). - Achat et gestion du nom de domaine. Choisir un hébergeur. Architecture technique. Organisation. Les services Web. 2) Administration et sécurisation du serveur web - Protocoles HTTPS, SSL. - Les certificats, le firewall, le proxy. - Paiement sécurisé. - Mise en oeuvre de l'ensemble des opérations d'administration effectuées par le webmaster (nom de domaine, transfert ftp, sécurité, création de messages d'erreur personnalisés, gestion des fichiers journaux, suivi et analyse des statistiques). 3) Création de pages Web : HTML, XML, XHTML - Présentation des langages HTML, XHTML, HTML5. Différences entre les navigateurs. - Structure, liens, hypertexte. - Les images, les cadres, les feuilles de style. Les formats vectoriels. - Tableaux et calques. - Techniques pour réussir son référencement sur les moteurs de recherche. Les méta-tags. - Définition et intégration de composants Plug-ins. Flash, Silverlight, Java, ActiveX. Travaux pratiques Réalisation de pages complexes HTML avec Dreamweaver. Création de feuilles de style, préparation de la page au référencement. 4) Les formulaires - Contraintes et avantages. Syntaxe, structure, champs de saisie, boutons, cases à cocher, listes, zones de texte, sélections de fichier. Travaux pratiques Réalisation d'un formulaire avec envoi des données vers la messagerie et une base de données. 5) Conception graphique et multimédia - Créer une charte graphique. Intégrer une charte graphique. - Mise en oeuvre d'outils graphiques (Fireworks) pour concevoir une interface évoluée. - Développement d'animations avec Flash. - Les ressources graphiques GIF, JPEG, PNG, Shockwave. Travaux pratiques Conception d'un modèle de page HTML avec Fireworks, composant Flash. Intégration de plug-ins multimédias pour visualiser des composants Flash, Shockwave. 6) Accessibilité et ADAE - Norme. Impact sur le développement. Mettre en conformité le site avec l'accessibilité. Outils de test. Labels Accessiweb. Outils de validation en ligne. Travaux pratiques Mise en oeuvre d'outils de test et audit. 7) Ergonomie d'une application Web - Charte graphique. Règles d'usability. Ecueils graphiques à éviter pour faire un site efficace (navigation, mise en page, contraintes techniques). Modèles de pages. Travaux pratiques Définir le cahier des charges de la charte graphique. 8) Pages dynamiques - Différence entre serveur web et serveur d'application. - Mode de fonctionnement, sécurité. Les méthodes GET et POST. Les variables serveur. - Les serveurs web du marché. - Les langages de scripts serveur et leurs plateformes de développement : ASP, ASPX, JSP, PHP. - Appel de services Web. Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 3 / 65 \ÊÜÜܰpdfediting.com - Intégration de requêtes SQL dans la page pour insérer, supprimer, modifier des données de la base. Travaux pratiques Développer des pages dynamiques, interrogation d'une base de données, de services web. 9) Les technologies Web 2.0 - Présentation des technologies Web 2.0 (blogs, rss, wiki...). - Les technologies émergentes d'interfaces graphiques : XUL, XAML, Flex, HTML5. - Présentation et mise en oeuvre de solutions Rich internet Application (RIA) et Rich Desktop Application (RDA). - Présentation des solutions émergentes Adobe AIR, Microsoft SilverLight, framework Google. Travaux pratiques Démonstration et mise en oeuvre de ces multiples technologies. 10) Le langage JavaScript et DHTML - Syntaxe du langage. Contrôles de saisie d'un formulaire. Effets de rollover sur les images. Gestion des cookies. Mise en oeuvre du DHTML. Effets spéciaux en DHTML. - DOM et Ajax. - Présentation Ecmascript et émergence du langage Actionscript. - Présentation des offres du marché à base de Javascript (Google API, Widgets...). - Récupérer, savoir débuguer vos programmes. Travaux pratiques Utilisation du JavaScript pour ajouter des effets DHTML et des contrôles sur formulaire, gestion d'événements en JavaScript Intégration de scripts existants. Gestion de cookies. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 4 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : DCS Dreamweaver CS5, prise en main Participants OBJECTIFS Ce stage s'adresse à tous les internautes et webmasters désirant acquérir de bonnes pratiques de création de site. Vous apprendrez à utiliser l'atelier Dreamweaver CS5 d'Adobe, notamment pour préparer des pages HTML et XHTML simples et améliorer leur aspect graphique avec des feuilles de styles CSS. A l'issue de ce cours, vous serez en mesure de créer, maintenir et promouvoir des sites Web de qualité. Pré-requis Aucune connaissance particulière. 1) Rappels du Web 2) Dreamweaver 3) Création de pages simples 4) Accessibilité et Web usability 5) Mise en forme avancée avec CSS 6) Introduction au DHTML 1) Rappels du Web - Principaux protocoles d'un site web (HTTP, FTP, SMTP, POP3, IMAP). Principes : client-serveur et site Web. - Navigateurs Web (MSIE, Mozilla Firefox). - Principaux serveurs HTTP (Apache, IIS). - Les URL (structure, méthode GET, accès localhost). - Le langage HTML. Travaux pratiques Exploration de sites à partir de deux navigateurs. Démons-tration de l'interface IIS. Paramétrage d'un site local. Modification manuelle des paramètres d'une URL en GET. 2) Dreamweaver - Présentation de la gamme Adobe. Prise en main de Dreamweaver CS5 (démarrage, espace de travail, paramétrage, première page, publication, tests). Travaux pratiques Préparation de l'environnement de travail (espace, dossiers). Création d'une première page. Publication distante en FTP. 3) Création de pages simples - Les textes (principales balises, casse, fonte, couleur, paragraphes, titres...). Les images (GIF, JPG et PNG, insertions, bordures, zones réactives...). - Les hyperliens (url, cibles, ancres...). - Propriétés de la page (fonds, ancres, ascenseurs...). - Mise en forme à l'aide de tableaux. Travaux pratiques Création d'une page comportant des textes, liens et images. 4) Accessibilité et Web usability - Qu'est-ce que l'accessibilité ? (technique et handicap, lois, initiatives publiques, privées...). - Importance du (X)HTML. Séparation sémantique (contenu, forme, interactivité). - Qu'est-ce que la web usability ? (ergonomie globale). - Importance de l'apparence (charte, best practices...). - Importance du contenu et référencement (méta-tags). - Les outils d'évaluation de l'ergonomie. Travaux pratiques Tests et rapports d'accessibilité avec Dreamweaver. Définition d'une charte graphique. Visite de quelques sites de référencement. 5) Mise en forme avancée avec CSS - Qu'est-ce qu'un CSS ? (définition, fichier...) - Création, utilisation, liaison, import. Mise en page à l'aide de divisions logiques (positions relatives et absolues...). - Maintenance et nettoyage du code. Travaux pratiques Création de trois pages liées entre elles par une page sommaire, avec barre de navigation... 6) Introduction au DHTML - Qu'est-ce que JavaScript ? Découverte d'effets Spry. Travaux pratiques Test simple de déclenchement JavaScript. Mise en oeuvre de quelques effets Spry sur les pages déjà créées. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 5 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : DCSW Dreamweaver CS5, développer un site Web Participants OBJECTIFS Ce stage pratique s'adresse à tous les informaticiens désireux de maîtriser les techniques permettant de développer un site Web et de construire une interface Web interactive et dynamique. Dreamweaver est l'atelier de conception de pages Web le plus répandu sur le marché. En découvrant ses fonctionnalités, vous apprendrez à maîtriser l'éditeur de pages XHTML/HTML, la mise en forme graphique au moyen des feuilles de style CSS, tout en prenant en compte l'accessibilité des sites Web. Vous utiliserez le produit pour intégrer des technologies côté client (JavaScript, applet Java, Flash, plug-ins, composant ActiveX) et gérer les interactions avec des bases de données. A l'issue de ce cours, vous serez en mesure de créer vos propres sites Web et aurez découvert toutes les particularités de Dreamweaver CS5. Pré-requis Connaissances de base des composants d'une architecture Web. 1) Rappels Web 2) Le studio Dreamweaver 3) Composition de pages à l'aide des ateliers 4) Design et accessibilité 5) Intégration de composants média 6) JavaScript 7) Accès aux bases de données et XML 8) Authentification utilisateur 1) Rappels Web - Les protocoles d'un site web : HTTP, FTP, NNTP, SMTP, POP3. - Fonctionnement d'un site Web. - Les sites Intranet, Internet, Extranet, B2B, B2C. Impact sur les technologies. - Plateforme d'hébergement, navigateurs, Firewall. - Le langage HTML, rôle et structure des URL. - Paramétrage du poste client et serveur. Travaux pratiques Paramétrage du navigateur, du serveur Web, création d'alias. 2) Le studio Dreamweaver - Présentation de la gamme Macromedia. Couplage Dreamweaver / Fireworks. - Environnement de test. - Prise en main de Dreamweaver. Paramétrage de l'espace de travail, de l'interface de l'atelier. Enrichir les menus Dreamweaver. - Création d'un site Web : choix techniques, compatibilité. - Conception graphique HTML : les images et les zones sensibles, liens, ancres, méta-tags, formatage graphique, tableaux, paragraphes, imports externes, convertisseurs Word. - Description du langage HTML et la dernière version, XHTML. - Les versions XHTML 1.0, XHTML mobile. - Publication du site et optimisation du code (nettoyage du code). - Travail en équipe et les " Design Notes ". Travaux pratiques Création d'un espace de projet de site Web. Découverte de l'éditeur graphique et construction graphique de pages. Développement de pages XHTML. 3) Composition de pages à l'aide des ateliers - Création d'un modèle de page. Contrôles sur les zones modifiables. Utilisation des modèles PHP, WML, HTML... - Import externe de pages. - Les feuilles de styles CSS-1, CSS-2. Import, partage construction, utilisation. - Création de formulaires (zones de texte, checkbox, combobox, radio, upload), les méthodes GET et POST et les actions associées. Contrôles de saisie avec le Framework SPRY. - Les méta-tags de la page et le référencement. - Construction de cadres (frames), propriétés, modifications, interactions entre cadres. Exercice Création de CSS, tableaux, cadres. Import de pages. Création de formulaire et appel de serveur. 4) Design et accessibilité - Construction de la charte graphique. Importer une charte graphique dans le projet. - Règles " d'utilisabilité " : points de composition à respecter. - Création d'un modèle de page avec Fireworks. - Accessibilité et prise en charge de la priorité 2 du WAC/W3C. Exercice Test de compatibilité XHTML et d'accessibilité. Création d'un modèle à partir de Fireworks. Reproduire techniquement une charte graphique fournie. 5) Intégration de composants média - Animation graphique : mise en oeuvre de scénario, rollover. - Intégration de composants graphiques : Flash, Applet, ActiveX, Plug-ins, vidéo Flash. - Utilisation de l'inspecteur de tags. Exercice Création de contrôles en JavaScript, intégration de multiples composants multimédias. 6) JavaScript - Syntaxe JavaScript. Les objets Script. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 6 / 65 \ÊÜÜܰpdfediting.com - Création dynamique de code JavaScript et association aux événements. Débogage de code. Téléchargement de scripts JavaScript. Travaux pratiques Contrôles sur les formulaires, ouverture de pop-up, traitement sur les layers. 7) Accès aux bases de données et XML - Paramétrage de la connexion ODBC. Consultation de la base de données (données, types) avec l'éditeur SGBD de Dreamweaver. - Les objets serveurs pour la gestion dynamique des bases de données : insertion dans une table, suppression d'un enregistrement, modification d'un enregistrement. - Interrogation SQL sur une table. Préparation et personnalisation des requêtes à l'aide de l'assistant. Les barres et états de navigation. - Manipulation des pages principales/détails. - Récupération des résultats et manipulation des RecordSet. Génération des tableaux dynamiques de résultats. Utilisation des tables pour générer des formulaires. - Construction de pages XSLT. - Création graphique d'un appel Ajax avec SPRY Dataset. Travaux pratiques Création d'une connexion à une base, gestion de la base (insert, update, delete, select). Création dynamique de formulaires avec recherche vers une base. 8) Authentification utilisateur - Gestion des formulaires de login. Raccordement automatique d'une table d'authentification au site Web. Contrôle conditionnel d'accès aux pages. Variable de session. Travaux pratiques Création d'une table d'utilisateurs avec la génération de pages de login. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 7 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : DHL Javascript, HTML dynamique Participants OBJECTIFS Ce stage pratique s'adresse à tous concepteurs de sites Web et informaticiens désireux d'exploiter Javascript et les technologies HTML dynamique pour leurs projets. Le langage Javascript est devenu incontournable dans le développement de sites Web, tant pour sa relation forte à l'interface graphique que pour le traitement client/serveur. Ce stage vous apportera toute la connaissance pour interfacer le langage avec les éléments graphiques des pages Web et ainsi pouvoir réaliser des menus déroulants, des animations, modifier dynamiquement les styles de présentation ou encore réagir aux actions de l'utilisateur... Il vous apprendra également à lancer des requêtes au serveur (AJAX) et à manipuler des données XML. Pré-requis Bonnes connaissances du HTML. Connaissances de base en programmation 1) Les technologies du Web 2) Le langage JavaScript 3) Evénements et données 4) Gestion de formulaires HTML 5) Interaction avec les feuilles de style en cascade 6) Manipulation du DOM XML 7) Ajax Travaux pratiques Programmation Javascript, manipulation du DOM, gestion de l'interactivité. 1) Les technologies du Web - Présentation des types de navigateurs et leur impact sur la portabilité des programmes JavaScript. Versions de JavaScript. - Les composants Web : HTML, XHTML, CSS, Javascript, Flash, Java... Les protocoles HTTP, HTTPS. - Impact de Javascript sur l'accessibilité et le référencement. - Importance de JavaScript sur les sites web 2.0. Impact de la conformité XHTML sur l'utilisation dynamique de Javascript. - Les outils de développement (éditeur, débogueur...). - Positionnement et illustration des technologies DHTML. 2) Le langage JavaScript - Déclaration et portée des variables. - Types de données (Number, Boolean, Date, Math, String, Array). Typage et conversion de type. Détection de type avec typeof. - Gestion des tableaux. - Opérateurs logiques et arithmétiques. Boucles (for, while...). - Création de fonctions et paramétrage variable. - Faire un codage sécurisé avec la gestion d'erreur et les exceptions. - Rappels sur les concepts objets. Développement Objet en JavaScript : création de classes (méthodes, propriétés). Constructeur. Surcharge. Usage des mots réservés prototype, this. Création d'instance. Usage d'Object sur les classes dynamiques. Extension des objets prédéfinis. - Utilisation du format JSON pour la création de classes. - Les objets prédéfinis du langage (Array, Date, Math, String, Regexp ...) et leur utilisation. Exercice Mise en oeuvre des différentes fonctionnalités Javascript à travers de multiples travaux pratiques. 3) Evénements et données - Organisation des événements. Impact des événements sur les types de navigateurs et versions de DOM. - Comment programmer des écouteurs sur des événements par programme, par paramétrage des balises HTML. Règles pour faire un codage multinavigateur. - Créer, détruire des écouteurs. - Les traitements événementiels JavaScript : gestionnaires clavier, souris, événements liés aux formulaires, Rollover, menus dynamiques. - L'objet Event et son utilisation. - Les objets du DOM (window, document, ...) et leur manipulation. - Manipulation des URL (redirections http, ...). - Gestion des cookies (lecture et écriture). Exercice Programmation d'événements multiples sur les éléments formulaire, souris, clavier... 4) Gestion de formulaires HTML - Manipulation de contenu de formulaires. - Accès et modification dynamique des composants du formulaire : zone de saisie, cases à cocher, cases d'options, manipulation de combobox, textarea. - Fonctions de validation de formulaire. - Evénements liés aux éléments de formulaire : changement, initialisation, clic,... Exercice Conception de fonctions personnalisées contrôlant les activités de l'utilisateur. 5) Interaction avec les feuilles de style en cascade - Rappel sur les feuilles de style en cascade (CSS-1, CSS-2), Les outils pour les manipuler. - Implémentation des CSS en tant que propriétés des objets du DOM. - Modification directe des propriétés CSS des objets du DOM. - Modification de l'objet CSS stylesheets. - Rendre la page dynamique via le changement des propriétés de style. Exercice `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 8 / 65 \ÊÜÜܰpdfediting.com Réalisation de pages simples afin de se familiariser à l'utilisation de feuilles de style et à leur manipulation à travers JavaScript. 6) Manipulation du DOM XML - Présentation du langage XML (éléments attributs). - Implémentation des analyseurs XML (parseurs) chez Microsoft IE et les autres : variantes entre les navigateurs, problématique de la maintenance. - Manipulation des objets du DOM (lecture, ajout, suppression, modification de noeuds). Exercice Familiarisation à la construction d'un chemin d'accès à un élément du DOM. 7) Ajax - Présentation de Asynchronous Javascript And Xml - Enjeux, solutions et alternatives. - Les bibliothèques du marché. - HTTP et Ajax : échanges HTTP et l'objet XMLHttpRequest. Exercice Récupération de données XML et affichage des données. Interrogation d'une base de données. Création d'un formulaire de connexion. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 9 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : PAJ Ajax, programmation côté client Participants OBJECTIFS Ce cours s'adresse aux webmasters, développeurs web, informaticiens. Ajax est devenu une technologie incontournable du développement d'applications riches Web 2.0. Durant ce cours, vous apprendrez la manipulation de ses composants, le CSS, le DOM, ainsi qu'à établir des échanges client-serveur. Pré-requis Bonnes connaissances en JavaScript et en technologies Web Côté client. 1) Ajax 2) Rappel XML 3) Rappels JavaScript 4) JavaScript Object Notation (JSON) 5) Programmation du DOM 6) Traitements XML en JavaScript 7) XMLHttpRequest 8) Les patterns Ajax 9) Compléments 1) Ajax - Les objectifs d'Ajax. Principes de fonctionnement. - Force du mix technologique Ajax/REST/Web 2.0. - Choisir entre Ajax et Flash, Applet, Html. Application. 2) Rappel XML - La structure XML. les namespaces. - Les moyens de validation XML : DTD et XSD. - Limite du XPath. Mise en oeuvre XSLT en Ajax. Travaux pratiques Création d'une structure XML bien formée et validée. 3) Rappels JavaScript - La programmation Objet. Types. Variables. Tableaux. - Ecmascript. Emergence d'ActionScript. Travaux pratiques Création et manipulation de classes et d'objets. 4) JavaScript Object Notation (JSON) - Avantages et inconvénients dans les échanges. - Objets, Arrays, syntaxe et parseur JSON. - JSON, avantages et inconvénients. - Sérialisation entre client et serveur. 5) Programmation du DOM - Importance du langage XHTML. - Composants DHTML. - Le rôle du DOM dans la programmation XML. - Gestion dynamique de CSS. Travaux pratiques Modification dynamique du DOM d'une page HTML. 6) Traitements XML en JavaScript - Présentation XSLT. Le langage Xpath. - Le format RSS. Travaux pratiques Traitement XSLT. Utilisation de flux RSS. 7) XMLHttpRequest - Créer et utiliser un objet XMLHttpRequest. - Outils de débogage (IE Toolbar, Firebug). - Modification des en-têtes HTTP. - Encodage et décodage des données. - Gestion des erreurs. - Gestion du cache. Travaux pratiques Créer une application Ajax pour lire, modifier et écrire dans une table produit, formulaire de login. Remplir dynamiquement un menu déroulant. Traitement RSS à partir de flux Ajax. 8) Les patterns Ajax - Threads. Usage d'iFrame pour les appels Client/Server. - Traitements asynchrones, synchrones. - Sécuriser des échanges Ajax (cryptage, sessions...) - Problématiques de sécurité et performance : cryptage, compression, débogage, offuscation. - Mise en place de proxy crossDomain. - Présentation et mise en oeuvre du framework jQuery, impact sur l'interface graphique. Travaux pratiques Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 10 / 65 \ÊÜÜܰpdfediting.com Mise en oeuvre de requêtes asynchrone et multithreads.Développement Ajax en jQuery. 9) Compléments - Framework Ajax, Java, .NET. - Ajax et XUL. - Présentation de la programmation Ajax avec HTML5. Nouveaux événements. - Ajax et les API Google : Google Search et Google Maps. Travaux pratiques Développer en JavaScript un exemple de cartographie. Développement Ajax sous HTML5. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 11 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : JPG JavaScript, perfectionnement pour le Web 2.0 Participants OBJECTIFS Ce stage pratique s'adresse à tous les concepteurs de sites Web et informaticiens désireux d'exploiter JavaScript et les technologies HTML dynamique pour leurs projets. Le langage JavaScript est devenu incontournable pour le développement d'applications riches client. Ce cours vous donnera tout le savoir-faire technologique pour mettre en oeuvre de véritables applications Web 2.0 à partir de concepts avancés JavaScript. Pré-requis Bonnes connaissances en JavaScript et HTML. Connaissances de base de XML. 1) Parseur XML 2) Evénements du DOM 2 3) Programmation Orientée Objet 4) Expressions régulières 5) Echange de données, interactions 6) Environnement de débogage 7) Programmation JavaScript sous HTML5 8) Google API : Maps, Search et Charts 9) Framework JQuery 1) Parseur XML - Méthodes du DOM. Structure XML. - Les éléments de type Text, Node, Attribut. - Création dynamique d'objets HTML. - Rappels DTD et XSD. Exercice Parcourir une structure XML à partir d'un flux Ajax. 2) Evénements du DOM 2 - Le gestionnaire d'événements. - Phases des événements capture, capturing, bubble. - Description des objets de type Event. - Les événements Mouse et Keyboard. - Gestion dynamique des événements. - Création d'événement et diffusion. - Impact de preventDefault et stopPropagation sur la personnalisation de son IHM. - Différences entre navigateurs. Exercice Gestionnaire clavier, création de son gestionnaire d'événement. 3) Programmation Orientée Objet - Rappels sur l'objet. Propriétés. Méthodes. Héritage. - Portée des données privées et publiques. Exercice Création d'un mini-framework. 4) Expressions régulières - Mécanismes. - Début et fin ( ^ $ ). Occurrences ( ? + * {} ). Common Characters ( . \d \D \w \W \s \S ). Groupes ( [] ). Négation ( ^ ). Patterns ( () ). Alternatives ( | ). Escape Character ( \ ). Travaux pratiques Contrôle de dates, email. 5) Echange de données, interactions - Cookies. - Base embarquée dans le navigateur Sqlite. - Base distante via Ajax et HttpRequest. - Interfaçage avec une application Flash. Travaux pratiques Communication avec une application Web. Appel de services web. Création de cookie. Utilisation d'une base embarquée, échanges avec la base distante. 6) Environnement de débogage - Introduction, solutions dédiées aux navigateurs. - Messages d'erreur. Tests de performance. Points d'arrêt. Tests multinavigateurs. - Stockage des bancs de test. Travaux pratiques Mise en oeuvre d'outils de débogage. 7) Programmation JavaScript sous HTML5 - Nouveaux événements. Modes de communications client/serveur. Gestion multimédia. Travaux pratiques Création Ajax sous HTML5. Gestion vidéo. Gestion des données persistantes. 8) Google API : Maps, Search et Charts `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 12 / 65 \ÊÜÜܰpdfediting.com - Enjeux de la cartographie pour les applications Web. - Création d'une Maps. Systèmes de coordonnées. - Géocoder pour la recherche d'adresse. - Outils de navigation (zoom, mini-carte, vue aérienne, vue plan...). - Création de markers. - Le gestionnaire d'événement GEvent. - Groute pour l'identification de trajectoires. - Format KML pour l'enregistrement de cartes. - Utiliser l'éditeur de cartes de Google. Publier ses cartes sur Internet. - Intégration de Google Search dans les pages Web. - Types de recherche : Web search, Local Search, Video Search, Blog Search, News Search, Book Search, and Image Search. Options de recherche. - Génération de graphiques dynamiques avec Google Charts API. Formats barres, Pie, Point, courbes. Encodage de données simple, complexe. Travaux pratiques Mise en oeuvre des principales fonctions de Google Map API. Création de graphiques statistiques. 9) Framework JQuery - Fonctionnement de JQuery. Gestion des événements. - Mise en oeuvre de jQuery pour des échanges Ajax. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 13 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : DOJ Participants Ce cours s'adresse au développeur Web réalisant des interfaces utilisateurs en HTML/CSS et souhaitant les dynamiser avec JavaScript. Dojo Toolkit, créer des applications Ajax/RIA en JavaScript OBJECTIFS Dojo Toolkit est un Framework JavaScript Open Source qui facilite le développement Web 2.0. Ce stage vous apportera la maîtrise des fonctionnalités les plus utiles de Dojo et vous apprendra à les mettre en oeuvre pour créer des applications Web " riches " (RIA). Vous verrez comment utiliser Ajax, concevoir des IHM et des formulaires évolués, utiliser des widgets préfabriqués ou créer vos propres composants. Pré-requis Bonnes connaissances en HTML, CSS et JavaScript. Connaissances de base en programmation orientée objet. 1) Introduction à Dojo Toolkit 2) Le module Dijit : interface graphique et formulaire 3) Gestion des modules et programmation orientée objet 4) Gestion des événements 5) Ajax 6) Drag and Drop et animations CSS 7) Fonctions utilitaires 8) Modules et outils complémentaires Travaux pratiques Les travaux pratiques ont pour objet la réalisation d'un prototype d'une application. L'interface graphique de l'application sera réalisée en exploitant les widgets fournis avec Dojo Toolkit puis progressivement enrichie pour prendre en compte les interactions avec l'utilisateur. 1) Introduction à Dojo Toolkit - Présentation des concepts et technologies du Web 2.0. - Présentation de l'architecture. - Présentation des différentes éditions. - Intégration à une application. - Configuration de Dojo Toolkit. Travaux pratiques Installation de Dojo Toolkit. Création d'un document HTML intégrant Dojo Toolkit. Configuration des paramètres de base. 2) Le module Dijit : interface graphique et formulaire - Architecture et cycle de vie d'un widget. - Instanciation d'un widget. - Utilisation et personnalisation d'un thème. - Les widgets applicatifs : barre de menus et barre d'outils, info-bulle, menu contextuel, affichage arborescent, barre de progression, boîte de dialogue... - Les widgets de mise en page : ContentPane, BorderContainer, TabContainer, StackContainer, AccordionContainer. - Les widgets de formulaire : champs de texte, listes déroulantes, boutons, case à cocher, bouton radio, curseur... - Fonctions utilitaires pour la gestion des widgets. Travaux pratiques Définition de la maquette de l'application. Intégration de la maquette à l'aide des widgets. 3) Gestion des modules et programmation orientée objet - Création et configuration d'un module. - Rappel sur la programmation orientée objet. - Simulation des classes et de l'héritage. - Fonctions utilitaires pour la programmation orientée objet. Travaux pratiques Création d'un widget personnalisé. 4) Gestion des événements - Gestion des événements du DOM. - Gestion des événements d'un widget. - Implémentation d'une architecture Publish/Subscribe. Travaux pratiques Ajout des gestionnaires d'événement aux widgets de l'application. 5) Ajax - Présentation de l'architecture Ajax. - Utilisation des fonctionnalités Ajax. - Présentation du format JSON. Travaux pratiques Modification des formulaires de l'application pour employer Ajax. 6) Drag and Drop et animations CSS - Utilisation du Drag and Drop. - Utilisation des animations prédéfinies. - Création d'une animation personnalisée. - Chaînage et combinaison des animations. Travaux pratiques Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 14 / 65 \ÊÜÜܰpdfediting.com Ajout du Drag and Drop et des animations à l'application. 7) Fonctions utilitaires - Manipulation de chaînes. - Manipulation de tableaux. - Manipulation du DOM. - Gestion des cookies. - Gestion du bouton Précédent. 8) Modules et outils complémentaires - Présentation du module Dojox. - Dojo Build Tools : déploiement d'une application Dojo. - Dojo Objective Harness (DOH) : tests unitaires pour JavaScript. Travaux pratiques Création d'une édition personnalisée de Dojo Toolkit. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 15 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : HCS HTML 5.0, CSS3, nouveautés et développement RIA Participants OBJECTIFS Développeurs Web. Chefs de projet Web. Cette formation vous apprendra à créer des pages et des applications Web en utilisant HTML5 et CSS3. Vous découvrirez les avancées proposées par le HTML5 notamment en termes d'interfaces Web riches/RIA, de multimédia et de moyens de communication permettant la mise en oeuvre d'applications client/serveur attractives. Pré-requis Connaissances de base de HTML et CSS. 1) Rappels 2) Introduction au HTML 5 3) Balises HTML 4) Nouveautés du CSS3 1) Rappels - Rappels sur les versions HTML, DOM. - Position des navigateurs face aux technologies HTML. - Outils de développement HTML 5. - Test de compatibilité, méthode de détection HTML 5. 2) Introduction au HTML 5 - Les objectifs de HTML 5. - Les principaux concepts et apports. - La " roadmap " de HTML 5. - Quand utiliser HTML 5 ? - Les différents composants. Balises, formulaires, audio, vidéo, API, etc. Travaux pratiques Démonstrations. Découvertes des possibilités et du champ d'action. 3) Balises HTML - Structure de la page. - Nouveaux tags sémantiques header, section, footer, article, nav, aside. Encodage des données. L'élément HTML 5 Canvas. - Différence Canvas vs SVG. Usage du Canvas : accessibilité, positionnement, effets. - La sémantique HTML 5. - Les nouvelles balises. - Les extensions de balises HTML existantes. - Les nouveaux attributs : a, fieldset, iframe, area, button... - Les microformats. Présentation et avantages sur le référencement. Attributs itemprop='nationality' ... - Les formulaires. Les nouveaux types INPUT (email, date, week,...). Les nouveaux champs de formulaires : range, autofocus, placeholder, menu, ... - Les formats multimédia. Codecs et API Multimédia. Gestion vidéo et audio avec les nouvelles balises HTML 5. Travaux pratiques Création de templates HTML 5. Positionnement d'éléments en absolu. Nombreux TP sur la mise en oeuvre des balises HTML5 (formulaires, conception. ...). Réalisation d'un lecteur multimédia. 4) Nouveautés du CSS3 - Nouveaux sélecteurs : nth-child(even), child ... - Support des polices : @font-face ... - Mise en forme du texte. - Text wrapping : text-overflow: ellipsis. - Bordure sur texte : -webkit-text-fill-color,... - Ombrage : text-shadow. - Gestion multi colonnes : -webkit-column-count... - Couleurs et lumières. Opacité. Saturation, luminosité hsla (95, 98%, 68%, 0, 19). - Bordures arrondies : border-radius. - Ombres sur texte et sur box et box-shadow. - Gestion des fonds. - Fonds ajustés aux conteneurs. - Fonds dégradés : -webkit-gradient. - Animations. - Transitions : -webkit-transition. - Transformation, rotations : -webkit-transform. Travaux pratiques Intégration de CSS 3 aux applications Web. Mise en forme de textes. Gestion multicolonne. Positionnement à l'écran. Animation et effets de transition. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 16 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : HML HTML 5, les API JavaScript Participants OBJECTIFS Développeurs Web. Chefs de projet Web. Le HTML5 mène le JavaScript à un niveau d'achèvement qui permettra aux applications Web de rivaliser avec les applications de bureau en termes d'interactivité. Cette formation vous apprendra à mettre en oeuvre les différentes API JavaScript proposées avec le HTML5, parmi lesquelles celles dédiées au stockage, à la communication client/serveur ou encore à la géolocalisation. Pré-requis Bonnes connaissances du langage HTML et de JavaScript. 1) Introduction 2) Gestion de la persistance 3) Gestion du cache 4) Communication Client/Serveur 5) Gestion du glisser/copier 6) Géolocalisation 1) Introduction - Les principales nouveautés HTML 5 : les principales balises, les formulaires... - Les nouveaux sélecteurs CSS : recherche d'élément par Classe, par sélecteurs... Travaux pratiques Recherche d'éléments par positionnement ou Class. 2) Gestion de la persistance - Vue d'ensemble des problématiques de stockage. - Stockage local (localStorage). - Stockage de session. - Stockage de base de données. - Création de bases, requêtes. - Outils d'administration sqLite. - Opérations SQL disponibles. Travaux pratiques Création d'une table produit avec requêtage 3) Gestion du cache - Prise en charge du mode déconnecté. - Evénements offline, online. Travaux pratiques Mise en place d'un mode déconnecté. 4) Communication Client/Serveur - Communication crossDomain. - Cross Document Messaging. - API PostMessage. - Ecouteur de messages émis par le serveur. API EventSource. - XMLHTTPRequest Level 2. Présentation Level 2. Les événements de progression. Communication multidocuments. - Communication Web sockets. API et protocole Web socket. Travaux pratiques Mise en oeuvre et comparaison des différents protocoles C/S. 5) Gestion du glisser/copier - Mécanismes Drag'n'Drop. - L'attribut draggable. - Possibilités et limites. Travaux pratiques Gestion panier par glisser/copier. 6) Géolocalisation - Vue d'ensemble de la géolocalisation. - Données privées. - Sources d'information de localisation. - Utilisation de l'API de localisation. - Respect de la vie privée. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 17 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : ACC Accessibilité, enjeux et mise œuvre Participants OBJECTIFS Ce cours s'adresse aux chefs de projet, décideurs, directeurs communication, responsables département multimédia, responsables éditorial, responsables MOA/MOE, webmestres, rédacteurs, développeurs HTML. Cette formation introduit les principes généraux de l'accessibilité, présente les normes, outils et ressources disponibles, et propose une approche méthodologique et opérationnelle pour la prise en compte de l'accessibilité numérique. Pré-requis Bonnes connaissances des langages HTML et JavaScript, et des feuilles de style CSS. 1) Pourquoi concevoir des sites accessibles à tous ? 2) Accessibilité Web : repères du concepteur 3) Quel référentiel d'accessibilité choisir ? 4) Accessibilité, démarche d'ensemble 5) Ecrire pour le Web 6) Définir la structure des pages 7) Règles de mise en forme : fondamentaux 8) Outils de navigation 9) Composants graphiques 10) Liens hypertextes 11) Scripts 1) Pourquoi concevoir des sites accessibles à tous ? - Une opportunité d'intégration sociale. - Le cadre légal en France et en Europe. - Montée en puissance de l'accessibilité du Web. 2) Accessibilité Web : repères du concepteur - Comprendre les différences entre sites accessibles et sites non accessibles. Impacts d'une migration vers l'accessibilité sur la chaîne de production Web. 3) Quel référentiel d'accessibilité choisir ? - Pourquoi un référentiel ? Les référentiels d'accessibilité. Les critères de choix. 4) Accessibilité, démarche d'ensemble - Les étapes clés de mise en œuvre. Quelle accessibilité pour les Intranets et les applications Web ? Formaliser une charte d'accessibilité. Travaux pratiques Démonstration de l'outil Confort de Lecture. Retours d'expérience d'un consultant ayant mené des projets de conception intégrant les référentiels d'accessibilité. 5) Ecrire pour le Web - L'importance du contenu. Rendre un site plus efficace. - Panorama des types éditoriaux. - Lisibilité et notion d'ergonomie de lecture à l'écran. Le comportement des internautes et son influence sur l'écriture. 6) Définir la structure des pages - Garantir la qualité de restitution. Format de page. Métadonnées et titre de page. Changements de langue. Structurer le contenu. Accessibilité et référencement. 7) Règles de mise en forme : fondamentaux - Principes généraux. Mise en forme du texte. - Séparer la mise en forme et le contenu. Respecter la charte graphique. Titraille. Composants graphiques. Liens hypertextes. Listes à puces. - Mise en forme avancée. Acronymes et abréviations. Composants multimédias. Tableaux de données. Formulaire. 8) Outils de navigation - Menus, barre de progression et outils transversaux. - Aide à la navigation. Le plan du site. 9) Composants graphiques - Règle générale. Images de mise en forme. Puces graphiques, images illustratives, textuelles, cliquables. 10) Liens hypertextes - Liens internes et externes. Liens de téléchargement. Groupes de liens. 11) Scripts - Règles de conception. Exemples : Pop up, redirection automatique. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 18 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : XAW Web 2.0, développer des applications Participants OBJECTIFS Ce cours s'adresse aux webmasters, développeurs web, informaticiens. Web 2.0 est devenu un standard pour la définition des applications Web de demain et l'architecture des services associés. Ce cours vous apprendra, au moyen de nombreux travaux pratiques, à maîtriser les règles de conception et les technologies nécessaires à la réussite de votre site Web 2.0, HTML5. Pré-requis Bonnes connaissances du Web, d'HTML et de CSS. Connaissances de base du JavaScript et du XML. 1) Rappels XML 2) Introduction au Web 2.0 3) Feuilles de style 4) Interfaces graphiques 5) Interaction et formulaires 6) JavaScript 7) Les Frameworks professionnels 8) Les solutions Web 2.0 1) Rappels XML - Structure XML et documents valides. - Savoir lire un schéma XSD. - Web sémantique et référencement (SEO, SiteMap). Travaux pratiques Création de documents XML, de XSD et de XSL. Tests d'accessibilité. Création de page XHTML. 2) Introduction au Web 2.0 - Les concepts et les technologies Web 2.0. - Règles de conception. - Navigateurs du marché, impact sur la portabilité. Travaux pratiques Analyse d'ergonomie Web 2.0. Interrogation de Services Web à partir du Web. 3) Feuilles de style - Les feuilles de style CSS, CSS-3 : couplage avec XML. - Le développement d'interface riche et animée. Travaux pratiques Paramétrage automatique de blocs, calques, menus, zones de formulaires à partir de CSS. 4) Interfaces graphiques - Langages XUL, XAML/SilverLight, Flex/MXML, SVG, HTML5. - Flash pour traiter des données XML distantes. - Présentation des technologies RIA et RDA. Travaux pratiques Développement d'une application de base XUL, Flex, Flash. Conversion HTML vers PDF. Création de gadgets. 5) Interaction et formulaires - Formulaires XForms dans les interfaces Web 2.0. - Offre Microsoft InfoPath. - les solutions de contrôle de saisie (autosuggest,...) Travaux pratiques Démonstration et création de formulaires. 6) JavaScript - Variable, fonctions. Manipulation d'objet. - manipulation du DOM pour gérer l'interactivité. - Portabilité, industrialisation des programmes. - Générateur d'interface GWT. - Environnements de développement et de test. - Ajax. Principe. Codage. 7) Les Frameworks professionnels - Google API (Google Maps, Ajax, feed, ...). - Prototype, jQuery, Mootols, Yahoo (YUI), Adobe (SPRY). Travaux pratiques Création d'une cartographie Google Maps. 8) Les solutions Web 2.0 - Définitions (blog, audioblog, podcast, outils...). - WordPress pour la création et gestion de ses blogs. - Les protocoles RSS, ATOM dans les blogs. - Les Wikis. Les solutions de commerce 2.0. Travaux pratiques Création d'un blog et de son flux RSS. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 19 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : MOB Créer des applications multi-plateformes pour mobiles Participants OBJECTIFS Développeurs et chefs de projets mobilité. Cette formation vous apprendra à réaliser un site Web pour terminaux mobiles et tablettes avec les technologies HTML, CSS et JavaScript. Vous mettrez en oeuvre les frameworks les plus utilisés pour réaliser des applications fonctionnant sous iPhone, Blackberry, Windows Phone, Android... Pré-requis Bonnes connaissances du Web, d'HTML de CSS. Connaissances de base du JavaScript et du XML. 1) Rappels sur les technologies de base 2) Solutions embarquées 3) Différence entre application Web traditionnelle et mobile 4) Construction XHTML, HTML5 5) Framework Multi plateforme 6) Stockage des données dans le mobile 7) Cartographie et géolocalisation 1) Rappels sur les technologies de base - Présentation des familles de terminaux smartTouchet tablets, leurs spécificités. - Rappel sur les technologies HTML, CSS, JavaScript. - Présentation des moteurs Webkit, Gecko,... - Importance et intégration du useragent. - Communication Ajax : importance et limite selon les mobiles. - Outils de développement, de test, de simulation. Travaux pratiques Mise en place d'environnement de travail dédié au mobile. 2) Solutions embarquées - Présentation des technologies existantes et leurs environnements de développement : limite, coût, portabilité. - Objective-C (iPhone, iPad), Java (Android, BlackBerry), .Net (Windows Mobile), Bada (Samsung), ... - Méthode de publication d'une application dans les catalogues officiels des opérateurs (Applestore, Marketplace, AndroidMarket, Ovi,...). Démarches administratifs (iPhone Developer Program, Certificats, ...). 3) Différence entre application Web traditionnelle et mobile - Différences entre les navigateurs : moteurs JavaScript, CSS, limite des plugins (Flash, PDF,...) spécificités propre à chaque fabricant. - Différence des tailles des écrans et solutions. - Différences matérielles (CPU, mémoire). 4) Construction XHTML, HTML5 - Les balises META et spécifiques : Viewport et paramétrage dynamique des CSS. - Balises traditionnelles de construction de pages. - Constructions de tableaux. - Les liens et les options dédiées accesskey. - Les images et importances des images sur les terminaux (format, poids des images). - Les textes p, span. Les blocs div et les blocs canvas en HTML5. - Les formulaires. Nouveaux types de données (daterange, slider, ...). Activation du clavier numérique. - CSS : importance en mode multicanaux. Positionnement des éléments. Empilement navigation entre les éléments (zindex, display, visibility). - Apport des CSS3 en HTML5 et moteurs iwebkit (boutons, effets, transformations,...). JavaScript. Rappels sur le langage. - Importance du DOM pour un portage multi terminal. - Evénements multitouch spécifiques aux terminaux (gesture, touch, drag et drop,...). - Bibliothèque graphique : API de dessin (rectangle, ligne,...), palette de couleur, manipulation des images; - Tests de conformité au W3C : outils de validation. Travaux pratiques Réalisation de pages mettant en oeuvre ces fonctionnalités. Réalisation d'un formulaire de saisie avec gestion automatique du clavier, calendrier, slider. Création de boutons et composant respectant la charte du terminal. Gestion par CSS de la rotation du terminal. Réalisation du drap&drop, gestion dynamique des évènements " touch ". Réalisation d'un mini gestionnaire de dessin pour afficher des graphiques. 5) Framework Multi plateforme - Avantages d'utilisation d'un framework. - Choisir le framework mobile : PhoneGap et ses outils de publication Appstore. RhoMobile et le langage Ruby, son modèle MVC. AppAccelerator. jQTouch. jQuery Mobile. Smartface spécial Blackberry et Nokia. Travaux pratiques Mise en oeuvre et découverte des différents framework disponibles sur le marché. Construction plus avancée d'un mini site avec jQuery Mobile et PhoneGap 6) Stockage des données dans le mobile - Utiliser la base SQLite intégrée au navigateur. - Langage SQL et outils d'administration. - Gestion et pilotage en JavaScript (création de table, requêtes...). - Usage de Google Gears pour les terminaux non compatibles HTML5. - Gestion du cache côté client pour un travail en mode non connecté (localStorage, sessionStorage). Travaux pratiques Création d'un gestionnaire de notes avec stockage dans la base embarquée. Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 20 / 65 \ÊÜÜܰpdfediting.com 7) Cartographie et géolocalisation - Gestion de la carte Google Maps, options pour prise en charge de la géolocalisation du mobile. Travaux pratiques Affichage de la carte par rapport à la localisation du mobile et affichage de markers sur la carte. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 21 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : DEM Participants Cette formation pratique s'adresse aux développeurs de sites, informaticiens, designers. Flash et ActionScript, applications multimédias créer des applications multimédias OBJECTIFS La technologie Flash est devenue la référence pour la réalisation des animations multimédias pour le Web et les terminaux embarqués. Vous apprendrez à programmer avec son langage objet ActionScript, interagir sur les composants graphiques, développer rapidement des applications client/serveur (formulaires, appels de services Web...). Pré-requis Connaissances de base du HTML et de la programmation. Expérience souhaitable en programmation et en création graphique avec Flash. 1) Concepts de base 2) Le langage de programmation 3) Les événements 4) Les clips d'animation 5) Echanges de données 6) Effets multimédias 7) Fonctionnalités avancées 8) Formulaires et composants 9) Echanges XML et bases de données 10) Composants avancés 1) Concepts de base - Présentation du langage de programmation ActionScript 2.0. Différences entre les lecteurs Flash. - Présentation du framework de Flash. Flash Builder, Flash CS4, CS5. CS Live. Central Device. - Structure d'un script. Règles de programmation ActionScript. - Construction d'une bibliothèque de fichiers externes. - Débogage, points d'arrêt, fonction trace. - Test de performance pour optimiser le chargement. - Apprendre à travailler avec l'aide. - Flash Builder 3, Flash Pro CS5. Les nouveautés. Travaux pratiques Configuration de Flash. Débogage pas à pas de programmes. Rapports de performance. 2) Le langage de programmation - Les variables - Typage. Variables globales, locales. - Programmation objet : création de classe, prototype, héritage, constructeur, destructeur. Opérateurs with, this. - Accès aux données : les chemins d'accès. - Les tableaux. Propriétés de la classe Array. - Opérateurs logiques, arithmétiques. - Opérateurs de boucles : for, while. - Dates et heures (objets Date). - Les fonctions. Travaux pratiques Création d'un tableau d'objets. Création de classes. 3) Les événements - Principes de propagation et d'orchestration des événements. - Evénements (EnterFrame, key, Mouse, data, load) liés au Clip, boutons. - Gestionnaire clavier, souris. - Gestion des erreurs et des exceptions. - Gestion du timer. Travaux pratiques Evénements sur le chargement de clip, programmation d'actions clavier, souris. 4) Les clips d'animation - Chargement dynamique de clip (LoadMovie. DuplicatemovieClip...). - Contrôles d'animation vidéo stop, play, goto... - Création de mask. Travaux pratiques Création et animation dynamique de clips. 5) Echanges de données - Echange de données avec la page HTML. - Passage d'arguments au lancement du module Flash. - Appel de pages web en mode GET et POST. - Méthodes de SendAndLoad pour appeler vos URL. - Sauvegarde de données locales : SharedObject et cookies. Travaux pratiques Sauvegarder des données dans un fichier externe, appel de CGI, appel de fonctions JavaScript. Sauvegarde de profil avec ShareObject. 6) Effets multimédias - Mise en oeuvre des multiples objets de base. Gestion des sons (object Sound). - Import de ressources multimédias. - Conversion vidéo et gestion de fichiers MP3 et vidéo. - Personnalisation du curseur (objet Mouse). - Gestion des couleurs (Objet Color). Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 22 / 65 \ÊÜÜܰpdfediting.com - Effets graphiques (fader, easing...) avec la classe Tween. Travaux pratiques Création dynamique d'un album photo... Chargement vidéo. 7) Fonctionnalités avancées - API de dessin. - Gestion de la barre de progression. - La détection de collision d'objet (hitTest). - Gestion du copier-coller - Gestion de l'impression. - Composants avancés (Tree, onglets, accordéon, TitleWindow, DataGrid). - Accessibilité. Travaux pratiques Jeu de collision, horloge, puzzle, gestion du copier-coller... 8) Formulaires et composants - Comparaison entre un formulaire Flash et HTML. - Création d'un formulaire. Transmission des données (GET et POST) vers un serveur distant. - Manipulation des composants de formulaire : menu déroulant, radio bouton, case à cocher, zone de texte, boîtes de dialogue, TreeBox, Ticker, barre de progression, scrolling. - Programmation des boutons envoi et réception. Travaux pratiques Créer un formulaire et envoi des données par e-mail, dans une base de données. 9) Echanges XML et bases de données - Gestion dynamique d'une base de données à partir de Flash : requête SQL, insertion, curseur. - Classes de communication et de données XMLConnector, WebServiceConnect, DataSet. - Chargement de données XML en ActionScript. - Utilisation du Wizard et inspecteur de composants pour développer rapidement des interfaces puissantes : lecteur RSS, podcastservices web, Menus, Tree. Travaux pratiques Gestion d'un catalogue produit. Appel de flux RSS. Interroger et gérer une base client. Appel de services web. 10) Composants avancés - Sécurité et protection du Flash contre la copie. - Présentation des formats MXP et les outils de création de composants. - Création de composants. Usage de la zone Exchange. - Créer une bibliothèque SWC. - Export vers Flex, HTML5. Travaux pratiques Installation de composants, protection du Flash contre l'import. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 23 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : ACP ActionScript 3.0, programmation Participants OBJECTIFS Cette formation pratique s'adresse aux développeurs de sites, informaticiens, designers. Le langage ActionScript 3.0, présent au coeur des produits Flash, Flex, Framework Ecmascript, s'impose de plus en plus comme un langage incontournable pour produire des applications métier et multimédia. Cette formation vous détaillera tous les mécanismes essentiels de ce langage afin que vous puissiez mener à bien vos projets. Pré-requis Connaissances de base du HTML, des concepts du Web et de la programmation. Expérience souhaitable en programmation. 1) Concepts de base 2) Rappels sur les composants graphiques 3) Le langage Actionscript 3.0 4) Manipuler les données XML avec E4X 5) Evénements du DOM3 6) Composants graphiques 7) Manipulation de données multimédia 8) Styles 9) Accès aux données 10) AMF 1) Concepts de base - Les lecteurs Flash. Flash player, AVM1 et AVM2. - Présentation du sandBox et de sa sécurité. Désassembleur de code. Offuscation. - Présentation du Framework de Flash. - Environnements de développement ActionScript 3 sous Flash ou Flex, Flash Develop. - Présentation de l'éditeur, débogage d'application sous Firebug. - Paramétrage des options de compilations. - Avantage de Flex pour développer rapidement des projets Actionscript3. Travaux pratiques Configuration de Flash. Premier projet. Rerouter les erreurs vers Firefox / Firebug. 2) Rappels sur les composants graphiques - Rappel sur les formats graphiques (MovieClip, Button, Graphics). - Démarche pour exporter des bibliothèques SWC ou SWF pour son intégration dans un projet AS3. - Les formats multimédia (vidéo audio supportés). - Intégration dans une page web et passage de paramètres. - Rôle du Stage, DisplayObjects. Architecture graphique. Travaux pratiques Construction de bibliothèques SWC, SWF, classes spécifiques Flash pour intégration et appel dans un projet AS3. 3) Le langage Actionscript 3.0 - Variables. Typage. Conversions. Portée. - Opérateurs logiques, arithmétiques. - Création de package et de classes (héritage, portée, constructeurs). - Array, dataprovider. - Classes et objets : package, portée, héritage, surcharge,... - Classes de données : Objets, Math, String. - Les expressions régulières. - Manipulation des dates et heures. - Classe Error et gestion des exceptions. Travaux pratiques Prise en main et manipulation des formats date, String, Array d'Actionscript 3.0. Exceptions et gestion des erreurs. 4) Manipuler les données XML avec E4X - Comprendre la structure du XML, CDATA, NameSpace, Qname. Validation XSD, XPath. - Manipuler le XML en ActionScript 3.0. - Les classes XML, XMLList, XMLDocument. - Manipuler, filtrer, trier et itérer les objets de type XML. - Chargement extérieur de données XML. Travaux pratiques Manipuler des données XML. Xpath. Chargement extérieur. 5) Evénements du DOM3 - Trois phases des événements. - Déclarer des événements personnalisés. - Classe Event. Les événements KeyBoard, Mouse. - Les événements du gestionnaire graphique. Travaux pratiques Création d'événements avec passage d'arguments. Gestion du Drag Drop. 6) Composants graphiques - Composants graphiques : MovieClip, Sprite, Shape. - Composants TextField, SimpleButton, Label. - Gestion de la barre de progression. - Gestion des Bitmap, class Loader. - Propriétés et événements. - API de dessin. - La détection de collision d'objet (hitTestObject). Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 24 / 65 \ÊÜÜܰpdfediting.com Travaux pratiques Création de composants dynamiquement et gestion de leurs propriétés. Chargement et traitement de bitmap. 7) Manipulation de données multimédia - Traitement et mise en forme de contenu Texte. - Les CSS. - Traitement d'images Bitmap. Classes Bitmap et BitmapData. - Manipulation, transformation d'objets Bitmap. - Filtres personnalisés avec Pixel Bender. - Traitement de données audio. Chargement. SoundLoaderContext, SoundChannel. Transformation de Fourier. - Traitement de données vidéo. Classes Video, NetStream et Camera. 8) Styles - Design des composants : thèmes, feuilles de style, fontes. Mask. Effets et transitions. - Chargement de CSS. - Personnalisation du curseur (objet Mouse). - Gestion des couleurs (Objet Color). - Effets graphique avec la classe Tween. - Effets et Bitmaps : gestion pixels, Threshold, filtres de transformation. Travaux pratiques Chargement de CSS, changement des styles. Changement de curseur. Programmation de drag&Drop de composant graphique, création d'un masque. 9) Accès aux données - Services loadURL. Loader. - Shared Objects et les données. - Appel de services web. Travaux pratiques Appel d'URL, création de ShareObject. Chargement dynamique d'image, de Flash, de vidéos, de sons. 10) AMF - Présentation du protocole AMF. - Echanges d'objets, modèle MVC. - Présentation d'AMFPHP. - Définition des services. Travaux pratiques Création d'un projet utilisant AMFPHP. Création d'application client, configuration et installation AMFPHP. Installation d'AMFPHP avec WampServer, création d'un service distant. Interrogation et échange de données. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 25 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : FLX Participants Cette formation pratique s'adresse aux développeurs de sites, informaticiens, designers. Flex et ActionScript 3.0, niveau 1 créer des applications métier pour le web OBJECTIFS Flex est devenu une plateforme de programmation très prisée pour développer des applications métier Flash depuis sa prise en compte dans les environnements Mac, Unix ou Windows. Vous apprendrez à programmer avec Flex 3 et Flex 4, son langage objet ActionScript 3.0 des interfaces graphiques interactives, utilisant des données XML ou des services Web. Pré-requis Connaissances de base en programmation et en développement Web. 1) Présentation Flex 4 2) Le langage Actionscript 3.0 3) Langage MXML 4) Contrôles 5) Les formulaires 6) Les conteneurs 7) Contrôles de navigation 8) Styles 9) Accès aux données 10) Graphiques 1) Présentation Flex 4 - Emergence des clients riches. RIA. Présentation de Flex builder : son environnement Eclipse, compilateurs, SDK, package Data et Charting. - Différences et avantages avec une programmation sous Flash. - Intégration dans une architecture J2EE ou .Net. - Le lecteur Flash 10. Concept DisplayObject. - Espace de travail (project, workspace, librairies, répertoire de publication). - Création du premier projet Flex. - Configuration de Flex Builder et prise en main du débogueur. - Présentation Flex4 et ses nouveautés. Travaux pratiques Création d'un projet et mise en oeuvre du débogueur. 2) Le langage Actionscript 3.0 - Rappels sur le langage XML : modèle, schéma de validation, Namespace. - Spécificités Actionscript 3.0. - XML et Ecmascript XML (E4X). - Variables. Typage. Conversions. Portée. - Opérateurs logiques, arithmétiques. - Création de package et de classes (héritage, portée, constructeurs). - Array, ArrayCollection, iList utilisation sur les composants graphiques. - Classe deeror et gestion des exceptions. - Le langage XML et e4X. - Intégration de commentaires et documentation avec asDoc. Travaux pratiques Prise en main Actionscript 3.0 au cours de travaux pratiques. 3) Langage MXML - Structure d'une application Flex : blocs script, Model, CSS. - La balise Application et ses propriétés : framerate, caractéristiques graphiques. - Interaction avec Actionscript. - La gestion des événements : propagation, trois phases. - Liaison dynamique entre les variables Bindable et les composants graphiques. - Evénements et instanciation des composants graphiques. - Gestion d'événements : clavier, souris. Travaux pratiques Programmation d'événements : clic sur un bouton, changement d'état... 4) Contrôles - Architecture des composants graphiques. - Propriétés spatiales, styles, paramétrages, ViewState. Gestion des états sous Flex 4. - Création dynamique de contrôles. - Rôle des DataProvider raccordement aux Collections. - Contrôles de données : label, image. DataGrid (personnalisation, événements, filtre, tri), Tile, TileList (personnalisation), videoloader, swfloader. - Drag and Drop sur les composants. - Création de composants personnalisés : passage de paramètres, personnalisation. Travaux pratiques Création de boutons multi-états, datagrid personnalisés, chargement de vidéos. 5) Les formulaires - Conteneur Form, FormItem. - Composants de saisie : texte, boutons radio, menus, cases à cocher, Rich Text, NumericStepper. - Validation de données : Emailvalidator, Currencyvalidator, RegExprValidator, Datevalidator..., association à un modèle de données. - Contrôles de saisie : dateFormator. - Envoi du formulaire. - Générateur de formulaire de Flex4. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 26 / 65 \ÊÜÜܰpdfediting.com Travaux pratiques Création de formulaires de login, contrôles de saisie de fiches produits. 6) Les conteneurs - Application ControlBar, moduleLoader, TitleWindow, Panel, Spacer, Grid, HDivedBox, Panel. - Composant Repeater pour parcourir une liste. Travaux pratiques Construction dynamique de zones graphiques à partir de Repeater. 7) Contrôles de navigation - Accordion, ViewStack, Menu, Bar, TabBar, TabNavigator, Togglebutton. - Contrôles de navigation List, LinkButton, popupButton, popupMenuButton. Travaux pratiques Mise en oeuvre de barres de menus, onglets, boutons dynamiques vers le web. 8) Styles - Design des composants : thèmes, feuilles de style, fonts. - Effets et transitions : rotation, séquence, parallèle. - Accès aux données : les chemins d'accès. - Styles Flex4. Construction graphique avec Adobe Catalyst. - Nouveaux effets visuels sous Flex 4. <fx :Declarations>. - Les thèmes (spark, etc.) et composants multi skin sous Flex4. Travaux pratiques Mise en pratique de multiples effets. 9) Accès aux données - EAX et EcmaScript XML. - Services HTTPService : création de requête HTTP et échange de données GET et POST. - Shared Objects. - Accès aux Web services. - Echanges RPC et Soap. - Le composant Repeater. - Le gestionnaire de données sous Flex4. Travaux pratiques Appel de service web, appel d'URL, création de ShareObject. 10) Graphiques - Mise en oeuvre de graphismes : pie, plot, bar, line,... - Raccordement entre données et graphismes. Travaux pratiques Création de graphiques à partir de données XML : Pie, Bar. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 27 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : FLP Flex et ActionScript 3.0, niveau 2 Participants OBJECTIFS Cette formation s'adresse aux personnes qui connaissent déjà Flex et ActionScript 3 et qui souhaitent se perfectionner. Ce cours intensif vous permettra d'accroître votre capacité de production avec Flex et ActionScript 3. Vous apprendrez entre autres à maîtriser les concepts avancés de création d'une application Flex, les échanges client-serveur, les composants évolués comme le Drag and Drop. Pré-requis Bonnes connaissances en développement Web avec Flex, ou connaissances équivalentes à celles apportées par le stage Flex et ActionScript 3.0, niveau 1 (réf. FLX). 1) Rappels Flex 2) Débogage 3) Manipuler les données XML avec E4X 4) Valider et formater les données 5) Evénements personnalisés 6) Evénements Drag and Drop 7) Création de composants personnalisés 8) Communication Flex 9) Accéder à des services Web 10) AMF 11) Créer des composants avec le Repeater 12) Manipuler les types complexes 13) Compléments 1) Rappels Flex - Les clients riches Internet. Machine virtuelle Flash et Flash Player. Flex Builder. Présentation de Flex 4.0. 2) Débogage - Débugueur. Raccorder Firebug au débugueur de Flex. - Présentation de la classe ILogger. - Développer son propre gestionnaire de log. - Configuration mm.cfg. Remoting Debug. Travaux pratiques Raccorder Firebug, développer un gestionnaire graphique de logs. 3) Manipuler les données XML avec E4X - Validation XSD, XPath. Manipuler le XML en ActionScript 3.0. La classe XML. - Filtrer, trier et itérer les objets de type XML. - Manipulation des objets MXML du DOM3 Travaux pratiques Manipuler des données XML, parcours des DisplayObjects. 4) Valider et formater les données - Valider les données d'un formulaire. - Créer des validateurs en MXML et en ActionScript. - Gérer les erreurs de validation. - La validation et les modèles de données. - Expressions régulières. Formater les données. Travaux pratiques Appliquer des validateurs sur un formulaire de saisie. 5) Evénements personnalisés - Déclarer des événements personnalisés. - Classe Event. Les événements KeyBord, Mouse. - Fonctionnalité du Binding. - Création d'événements dans un composant. - Transfert de données sur un événement personnalisé. - Communication entre composants par événements. 6) Evénements Drag and Drop - Présentation du mécanisme. Drag and Drop de List, de DataGrid et de composants personnels. Travaux pratiques Création de multiples Drag and Drop. Drag & drop. 7) Création de composants personnalisés - Passer des données complexes aux composants. - Bonnes pratiques pour l'échange de données. - Créer une classe héritée d'une classe graphique. - Styles. Création de thèmes. Chargement de ModuleSwf. Travaux pratiques Créer une classe Label, Tree personnalisée, Datagrid... 8) Communication Flex - HTTPService : communiquer avec les services distants. - Passage de paramètres. - Gestion des erreurs et des données entrantes. - Sécurité : performance, cryptage, gestion crossDomain, rôle du proxy, désactivation du ViewSource. Travaux pratiques Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 28 / 65 \ÊÜÜܰpdfediting.com Manipuler des données provenant d'un HTTPService. 9) Accéder à des services Web - Processus pour appeler des services Web. - Déclencher les services et manipuler les résultats. Les formats Objects, flashvars, XML, E4X. Gérer les résultats et les erreurs avec les gestionnaires d'événement. Travaux pratiques Manipuler des données provenant d'un WebService. 10) AMF - Présentation du protocole AMF. Echanges d'objets, modèle MVC. Présentation d'AMFPHP. - Définition des services. Présentation BlazeDS. Travaux pratiques Création d'un projet utilisant AMFPHP. 11) Créer des composants avec le Repeater - Comprendre la philosophie du Repeater. - Principales propriétés et méthodes. - Accéder aux composants dynamiquement créés. Travaux pratiques Afficher des données dans un tableau dynamique. 12) Manipuler les types complexes - Les collections. Filtres et tris. - Itérer sur une collection avec IcursorView. - Présentation de classFactory. Travaux pratiques Utiliser les types complexes. 13) Compléments - Intégrer Cairngorm ou un autre MVC - Introduction à AIR. Structure d'une application AIR. Widgets. - Tendances MXML. Outils. Thermo, Degrafa, COCOMO, Flex 4, Gumbo... - Google Maps API pour Flex. Travaux pratiques Analyse de Cairngorm. Créer une mini application AIR. Créer une cartographie Google Maps. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 29 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : PHH Participants Cette formation s'adresse aux informaticiens qui souhaitent acquérir une formation opérationnelle sur PHP dans le contexte du développement, et aux webmasters ayant déjà une bonne connaissance d'un langage de programmation client (javascript ou vbscript). Pré-requis Connaissances de base du langage HTML et d'au moins un langage de programmation côté client. PHP 5 développer un site Web dynamique avec bases de données OBJECTIFS Ce cours vous permettra de maîtriser d'une manière opérationnelle le langage PHP dans le contexte de développement de sites Internet dynamiques. Il vous permettra aussi d'aborder les aspects connexes à ce type de développement : bases de données, langage SQL, manipulation de fichiers graphiques... 1) Introduction 2) Premières applications Web en PHP 3) Gestion des sessions utilisateurs 4) Une application Web professionnelle Travaux pratiques Des machines sous Windows ou Linux équipées du serveur Web Apache avec le module PHP et un serveur MySQL ou Oracle seront mis à la disposition des participants. Les participants vont créer un site complet de vente en ligne. 1) Introduction - L'architecture du WEB : HTTP, CGI, interactivité : script client ou script serveur - Qu'est-ce que PHP ? - Historique de PHP. - Les différences entre PHP 4 et PHP 5. - Présentation de l'exemple utilisé durant la formation : le site de vente en ligne. Travaux pratiques Revue des balises principales HTML et des commandes de style. Introduction à la feuille de style de l'application exemple. 2) Premières applications Web en PHP Automatisation d'une page Web - Les principes du client-serveur. - Premiers éléments du langage. - Intégration de PHP dans une page HTML. - Variables et fonctions. - Librairies. - Fonctions de base, variables serveur et variable PHP. - Variables serveur et variable PHP. - Contrôles de flux et boucles. Les formulaires simples - Passage et transmission de variables. - Lecture/écriture de fichier. - Vérification de login/mot de passe. - Redirection. Les variables complexes : tableaux - Constructeur array. - Fonctions associées aux tableaux. - Fonctions d'extraction. - Fonctions de navigation dans un tableau. Travaux pratiques Réalisation de fonctions personnalisées. Réalisation d'une librairie de fonctions. Réalisation d'une fonction de création de liste déroulante. 3) Gestion des sessions utilisateurs Variables persistantes : Cookies et Session - Avantages et inconvénients des cookies et sessions. - Limitations et précautions. - Les variables de session. - Fonctions liées aux variables de session. - Les Cookies. - Sérialisation des variables complexes. - Utilisation. Utilisation d'une base de données MySQL - Présentation de MySQL. - Concepts fondamentaux : bases, tables, champs, enregistrements. - Bases MySQL. - Tables MySQL. - Champs MySQL. - Enregistrements MySQL. - Fonctions PHP MySQL. - Introduction au langage SQL (sélection, modification, suppression). - Traitement des résultats des requêtes. Travaux pratiques `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 30 / 65 \ÊÜÜܰpdfediting.com Réalisation d'un panier d'achat simple, version cookie et session. Gestion des quantités commandées. Création d'une base MySQL. Remplissage de la base à partir d'une base texte. Création de fiches produit à la volée par extraction des données de la base. 4) Une application Web professionnelle Notions d'architecture multicouches - Introduction aux principes MVC. Les formulaires complexes - Moteur de recherche : formulaire en relation avec une base de données. - Fonctions avancées de sélection : recherches et tris. Le graphisme en PHP - Présentation de la librairie GD. - Création d'image, réutilisation. - Gestion des polices et de l'écriture en mode image. - Superposition de texte pour protection de droits. - Intégration au site. - Réalisation de graphiques statistiques. Intégration des modules réalisés Travaux pratiques Réalisation d'un moteur de recherche : la sélection sur Auteur, Titre et Héros donne une liste de liens sur les fiches produit correspondantes. Implémentation multicouche. Intégration des différents modules réalisés. Affichage des images, avec mention de copyright. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 31 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : OBP Participants Informaticiens et webmasters qui souhaitent une formation opérationnelle en développement objet PHP. PHP 5, pour les développeurs objet créer une application Web en P.O.O. OBJECTIFS Ce cours vous permettra de maîtriser d'une manière opérationnelle le langage PHP dans le contexte d'un développement objet. Vous apprendrez à créer un site Web dynamique et aborderez la mise en oeuvre des aspects connexes à ce type de développement. L'ensemble du cours est orienté objet. Pré-requis Bonnes connaissances des bases du HTML. La connaissance d'un langage objet permettra de mieux profiter de la formation mais n'est pas indispensable. 1) Introduction 2) Bases du Langage PHP 3) Programmation Orientée Objet (POO) 4) Premières applications Web en PHP 5) Gestion des sessions utilisateurs 6) Utilisation d'une base de données MySQL 7) Une application Web professionnelle 1) Introduction - Qu'est-ce que PHP ? Interactivité avec les internautes. - Les différences entre PHP 4 et PHP 5. - Présentation de l'exemple utilisé durant la formation. 2) Bases du Langage PHP - Automatisation d'une page Web. - Le client-serveur. Premiers éléments du langage. - Intégration de PHP dans une page HTML. - Variables et fonctions. Librairies. - Fonctions de base, variables serveur et variable PHP. - Contrôles de flux et boucles. Travaux pratiques Réalisation de fonctions personnalisées. 3) Programmation Orientée Objet (POO) - Rappel UML. Modélisation des classes. Outils. - Classes, propriétés, méthodes. Visibilité et Protection. - Constructeur, destructeur. Appel implicite vs. explicite. - Héritage et agrégation. Propagation. Polymorphisme. - Sérialisation et stockage. Organisation des fichiers. Travaux pratiques Réalisation d'une classe PageWeb. 4) Premières applications Web en PHP - Les formulaires simples. Passage de variables. Vérification de login/mot de passe. Redirection. - Les variables complexes : tableaux des fonctions. Travaux pratiques Réalisation d'un objet de stockage. Réalisation d'un objet Formulaire (texte, select et upload). 5) Gestion des sessions utilisateurs - Variables persistantes : Cookies et Session. - Avantages, limitations et précautions. - Variables de session et fonctions liées. Les Cookies. - Sérialisation des variables complexes. Utilisation. Travaux pratiques Réalisation d'un objet Panier d'Achat stockable en cookie ou session. Gestion des quantités commandées. 6) Utilisation d'une base de données MySQL - Concepts : bases, tables, champs, enregistrements. - Fonctions PHP Mysqli. Introduction au langage SQL. - Requêtes et traitement des résultats. Travaux pratiques Création d'une base MySQL et de fiches produits à la volée. 7) Une application Web professionnelle - Notions d'architecture multicouches. Principes MVC. - Formulaires complexes. Liaison aux données. - Fonctions avancées de sélection: recherches et tris. - Le graphisme en PHP : de la librairie GD. - Intégration au site. Travaux pratiques Réalisation d'un moteur de recherche. Amélioration de la classe SQL. Implémentation multicouches. Intégration des différents modules réalisés. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 32 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : LJO L'essentiel de Java et de l'objet Participants OBJECTIFS Développeurs non confirmés, ingénieurs, chefs de projets proches du développement. Ce cours vous permettra de maîtriser les principes de l'approche objet et les mécanismes du langage. Les constructions du langage seront progressivement introduites à partir des concepts fondamentaux. Le cours abordera aussi les problèmes de conception (via la notation UML) et présentera les principales API et librairies standard : les entrées/sorties, les utilitaires, les classes graphiques (AWT et Swing), les applets. Ce cours présente rapidement les nouveautés de Java 5. Pré-requis Connaissances de base en programmation. Expérience souhaitable en développement d'applications. 1) Les techniques " objet " 2) Les constructions de base du langage 3) La définition et l'instanciation des classes 4) L'héritage 5) Les exceptions 6) Présentation de quelques classes et librairies standard Travaux pratiques Les exercices pratiques ont été conçus pour illustrer tous les éléments du langage et pour mettre en œuvre les concepts de la conception orientée objet : tous les exercices comportent une phase d'analyse/conception suivie d'une phase de programmation. 1) Les techniques " objet " - Les principes généraux de la modélisation et de la programmation " objet ". L'abstraction et l'encapsulation : les interfaces. Les différentes formes d'héritage, le polymorphisme. - Une introduction aux modèles et à la notation UML : le modèle statique, le modèle dynamique, le modèle de coopération, les scénarii. Travaux pratiques La spécification UML d'une étude de cas qui sera l'un des fils directeurs des exercices suivants. 2) Les constructions de base du langage - Les variables : déclaration et typage. - La définition des champs. - Les méthodes : définition. - Les expressions. - Les instructions de contrôle : les instructions conditionnelles, de boucle, de branchement. - Les tableaux. - Les types énumérés, l'autoboxing. - Les Unités de compilation et packages : le contrôle de la visibilité des classes, le mécanisme d'import. - Les imports statiques. Travaux pratiques Suite d'exercices simples permettant la prise en main de l'environnement de développement et la réalisation d'un programme simple. Utilisation des packages. 3) La définition et l'instanciation des classes - Les classes et les objets. - Les champs, les méthodes. - Les constructeurs. - L'autoréférence. - Les champs et méthodes statiques. - Les méthodes à nombre variable d'arguments. - Les aspects méthodologiques : la conception des classes. Travaux pratiques Programmation de l'étude de cas. 4) L'héritage - Les différentes formes d'héritage : l'extension et l'implémentation. - Les interfaces et l'implémentation des interfaces. Le polymorphisme et sa mise en œuvre. - L'extension. La définition des classes dérivées, les constructeurs, les références. Les aspects méthodologiques. La construction de hiérarchies de classes. La factorisation de code : les classes abstraites. - L'utilisation simultanée de l'implémentation et de l'extension. Les classes abstraites. Les aspects méthodologiques : le regroupement des constantes, la spécification de services. La construction de hiérarchies de classes et d'interfaces. - La généricité. Travaux pratiques Conception et construction d'une hiérarchie de classes et d'interfaces. Mise en place du polymorphisme et de la généricité dans l'étude de cas. 5) Les exceptions - Les blocs de try, la génération des exceptions. - L'algorithme de sélection du catch(). - Les aspects méthodologiques : la construction d'une hiérarchie d'exception, l'utilisation des exceptions. Travaux pratiques Introduction des exceptions dans l'étude de cas. 6) Présentation de quelques classes et librairies standard `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 33 / 65 \ÊÜÜܰpdfediting.com La programmation des entrées/sorties - La hiérarchie des classes d'entrée/sortie. - Quelques classes de manipulation des systèmes de fichiers. - Quelques classes d'entrées/sortie travaillant sur les flots de bytes, sur les flots de char. - Les entrées/sorties clavier. La programmation graphique - Les concepts de base : les principes de la visualisation et de la gestion des événements depuis jdk1.1. - La visualisation des composants graphiques : les conteneurs et les Layouts. - Quelques composants graphiques : labels, boutons, zones de texte. - La gestion des événements : les Listeners et Adapters. L'association de gestionnaires aux composants graphiques. La programmation des applets - Les applets : les principes, le cycle de vie, etc. - La classe Applet. - L'intégration dans une page HTML. Quelques classes utilitaires - Les classes système. - Les classes de conteneur. Travaux pratiques Construction d'une applet. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 34 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : JVC Développer en Java, pour programmeurs C/C++ Participants OBJECTIFS Concepteur, développeur, ingénieur, chef de projets opérationnel. Un cours intensif qui vous permettra d'acquérir une maîtrise approfondie du langage Java 5 dans l'application des principes de la programmation objet. Vous utiliserez les librairies graphiques (AWT et Swing), les librairies d'entrées/sorties et d'accès aux bases de données (JDBC). Vous aborderez aussi les bases de la programmation Web et la programmation des applets. Pré-requis Bonnes connaissances en programmation C ou C+ +. Expérience requise en développement logiciel. 1) Les techniques " objet " 2) La programmation objet avec Java 3) La conception d'interfaces graphiques (awt, swing) 4) Introduction à la programmation Web : les applets 5) Les entrées/sorties et quelques classes utilitaires 6) La connexion aux bases de données : JDBC Travaux pratiques Les exercices pratiques ont été conçus pour illustrer tous les éléments du langage et pour systématiquement mettre en oeuvre les concepts de la conception orientée objet : tous les exercices comportent une phase d'analyse/conception suivie d'une phase de programmation. 1) Les techniques " objet " - Les principes généraux de la modélisation et de la programmation " objet ". L'abstraction et l'encapsulation : les interfaces. Les différentes formes d'héritage, le polymorphisme. - Une introduction aux modèles et à la notation UML : le modèle statique, le modèle dynamique, le modèle de coopération, les scénarii. Travaux pratiques L'application des concepts à une étude de cas qui sera l'un des fils directeurs des exercices suivants. 2) La programmation objet avec Java - Les éléments de base du langage : les variables, les types, les expressions, les instructions, les tableaux, les structures de contrôle, les types énumérés et l'autoboxing. - La définition et l'instanciation des classes. Les champs, les méthodes, les constructeurs, l'autoréférence, les champs et méthodes statiques. Les méthodes à nombre variable d'arguments. Les aspects méthodologiques : la conception des classes. - Les Unités de compilation et packages : le contrôle de la visibilité des classes, le mécanisme d'import. - Les différentes formes d'héritage : l'extension et l'implémentation. - Les interfaces et l'implémentation des interfaces. - Le polymorphisme et sa mise en oeuvre. - L'extension. - La définition des classes dérivées, les constructeurs, les références. - Les aspects méthodologiques. - La construction de hiérarchies de classes. - La factorisation de code : les classes abstraites. - L'utilisation simultanée de l'implémentation et de l'extension. - Les classes abstraites. - Les types génériques. - Les aspects méthodologiques : le regroupement des constantes, la spécification de services. - La construction de hiérarchies de classes et d'interfaces. Travaux pratiques Prise en main de l'environnement de développement et programmation d'un programme simple. Programmation de l'étude de cas. Conception et construction d'une hiérarchie de classes et d'interfaces. Mise en place du polymorphisme et de la généricité dans l'étude de cas. Introduction des exceptions dans l'étude de cas. 3) La conception d'interfaces graphiques (awt, swing) - Les concepts de base : les principes de la visualisation et de la gestion des événements depuis jdk1.1, quelques classes génériques. - La visualisation des composants graphiques. Les conteneurs et les Layouts : BorderLayout, FlowLayout, GridLayout, GridBagLayout et CardLayout. La construction de conteneurs hiérarchiques. Quelques composants graphiques : labels, boutons, menus, zones de texte, boîtes à cocher, canevas. - La gestion des événements. Les Listeners et Adapters. - L'association de gestionnaires aux composants graphiques. - Les particularités de Swing. Travaux pratiques Construction de petites applications ou d'une petite interface graphique pour quelques objets dans l'étude de cas. Construction d'un petit éditeur ou prise en compte des événements dans l'interface graphique de l'étude de cas. 4) Introduction à la programmation Web : les applets - Les principes et les constituants du Web. - Les applets : principes, cycle de vie, la classe Applet, l'intégration dans une pag# HTML, le passage des paramètres, les problèmes de sécurité. Travaux pratiques Construction d'une applet. 5) Les entrées/sorties et quelques classes utilitaires `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 35 / 65 \ÊÜÜܰpdfediting.com - Les I/O. La hiérarchie des classes d'entrée/sortie. Quelques classes de manipulation des systèmes de fichiers. Quelques classes d'entrée/sortie travaillant sur les flots de bytes, sur les flots de char. Les entrées/sorties clavier. La sérialisation. - Les classes d'encapsulation des types. - Les classes système. - Les classes de conteneur. - Les classes d'observateur. 6) La connexion aux bases de données : JDBC - Le modèle de JDBC et les principes généraux. - Rappels de SQL. - Connexion à un SGBD. - Exécution des requêtes et traitement des réponses. - L'utilisation des requêtes précompilées. - Les concepts transactionnels (A.C.I.D) : atomicité, cohérence, isolation, durabilité. Travaux pratiques Sauvegarde/consultation de données dans une BD. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 36 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : GWT Participants Ce cours s'adresse aux développeurs et chefs de projets désireux de découvrir un framework permettant d'améliorer l'ergonomie des applications Web, mais aussi d'en simplifier le développement. Pré-requis Bonnes connaissances des langages Java et JavaScript. Expérience souhaitable en programmation Java/Web. Développer une application Web 2.0/GWT le Google Web Toolkit OBJECTIFS Ce cours a pour objectif de présenter le Google Web Toolkit (GWT) en tant que solution pour la mise au point d'applications Web riches basées sur Ajax. Il détaille le modèle applicatif et les mécanismes de base de GWT nécessaires à la réalisation d'applications plus ergonomiques et plus réactives. 1) Présentation 2) La bibliothèque de composants graphiques 3) JavaScript Native Interface et composants personnalisés 4) Concepts GWT avancés 5) Accès au serveur 6) Implémenter une politique de tests 7) L'environnement GWT 8) Considérations architecturales 1) Présentation - Rappels sur les fondements du Web. - Présentation du Web 2.0 et des technologies Ajax. - Les mécanismes de Google Web Toolkit. - Les autres Frameworks Ajax : (YahooUI, Echo3...). - Utilisation de GWT au sein de l'IDE Eclipse. - Test des applications depuis le navigateur. Travaux pratiques Création d'un premier projet GWT simple avec Eclipse. 2) La bibliothèque de composants graphiques - Utilisation de l'API et des composants de base. - Nouveau système de positionnement par CSS. - Gestion de la présentation (LayoutManager). - Mise en oeuvre du modèle événementiel. Travaux pratiques Construction d'écrans utilisant les composants GWT (arbre, menus,...) et les conteneurs graphiques (onglet, panels). CSS personnalisées. 3) JavaScript Native Interface et composants personnalisés - Interactions entre JavaScript et Java. - Conception d'un composant graphique spécifique. Travaux pratiques Mise en oeuvre sur un exemple simple. 4) Concepts GWT avancés - Gestion de la session et de la navigation. - Chargement différé. - Chargement à la demande des fichiers JavaScripts. - Optimisation du chargement des ressources. - Analyse des performances avec Speed Tracer. Travaux pratiques Analyse des performances d'une application GWT avec l'outil Speed Tracer. Impact du code splitting sur le chargement d'une l'application. 5) Accès au serveur - Architecture de type Ajax. - Communication asynchrone. - Gestion de la sérialisation, des exceptions. - Formats d'échange JSON et XML. Travaux pratiques Ecriture d'un service GWT. 6) Implémenter une politique de tests - Mise en place de Jaunit avec GWTTestCase. - Intégration de l'outil HTMLUnit. Travaux pratiques Mise au point de tests pour une application GWT simple. 7) L'environnement GWT - Widgets graphiques avancés GWT-Mosaic. - Librairie Java Ext-GWT (GXT). - Composants Smart GWT. - Editeur graphique GWT Designer. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 37 / 65 \ÊÜÜܰpdfediting.com Démonstration GWT Designer et la librairie GXT. 8) Considérations architecturales - Position de GWT au sein d'une architecture JavaEE. - Modèles d'architectures : MVC, Portail, SOA ... - Intégration avec d'autres technologies : EJB3, JSF... Démonstration Intégration de GWT avec une architecture JEE existante. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 38 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : JSP Java, développement de servlets et JSP Participants OBJECTIFS Informaticiens souhaitant développer des applications Web avec les technologies Java/JEE. Ce cours vous permettra de mener à bien un projet Web d'entreprise basé sur la plate-forme Java. Vous découvrirez les architectures MVC afin de construire des solutions robustes et facilement extensibles, avec entre autres une introduction au développement à l'aide de l'environnement Apache Struts. Les connaissances acquises par la pratique sur Tomcat, ainsi que sur des outils de développement comme Eclipse vous permettront de construire vos solutions sur les différents serveurs d'applications Java comme WebLogic, WebSphere, JBoss ou Jonas. Pré-requis Bonnes connaissances du langage Java et des technologies Web. Expérience requise en programmation Java. 1) Rappel sur le contexte des applications Web d'entreprise 2) Développement Web en Java 3) Applications Web et servlets 4) Présentation des Java Server Pages 5) Les librairies de balises 6) Accès aux bases de données 7) Introduction à Struts 8) Introduction à JSF 9) Sécurisation de l'application Travaux pratiques Développement d'une application Web en Java. Utilisation du conteneur de servlet/JSP, Tomcat. Environnement de développement Eclipse. 1) Rappel sur le contexte des applications Web d'entreprise Concepts de base - Serveur et client Web. Protocoles applicatifs (HTTP). Scripts CGI et gestion des sessions. Accès aux ressources de l'entreprise : SGBDR, base documentaire et XML, moniteur transactionnel, annuaire, application héritée. HTML-XML, applets Java. La plate-forme JEE. Architecture multitiers. 2) Développement Web en Java Composants nécessaires à l'utilisation de Java côté serveur - Serveur Web et plate-forme serveur. Moteur de servlet. Java Virtual Machine. Environnement de développement et d'exploitation - Outils de développement et de débogage : NetBeans et Eclipse. Architecture du conteneur Web Tomcat d'Apache. Déploiement des servlets et pages JSP. Développement d'une première servlet - Génération de contenu dynamique. Travaux pratiques Mise en place de l'environnement. Développement d'une servlet. 3) Applications Web et servlets Développement d'une application avec des servlets - Le conteneur de servlet. Le cycle de vie d'une servlet. Initialiser une servlet. Ecrire les méthodes de services. Gestion des formulaires HTML. Le traitement de la réponse, l'envoi d'information, la génération de HTML. Filtrage des requêtes/réponses. Programmation des filtres. La récupération d'information : du serveur Web, du client et de l'environnement. Invocation d'autres ressources Web. Inclusion et transfert du contrôle. Gestion des erreurs et journalisation des événements - Gestion des erreurs d'exécution. Gestion et emploi des exceptions Java. Envoi d'erreurs http. Journalisation des événements. Suivi de session - Les différentes méthodes. Obtention, consultation et abandon de session. Contexte de session. Travaux pratiques Développement d'une application à base de servlets exploitant l'environnement du conteneur Web. 4) Présentation des Java Server Pages Présentation des objectifs et de l'architecture - Objectifs. Mécanisme de fonctionnement. Exemples de pages JSP. Technique de développement - Les scriplets. Intégration dans la page Web. Directives, déclarations, expressions et actions JSP. Inclusion statique vs dynamique. Versions du langage, syntaxe XML. Utilisation de JavaBeans à partir de page JSP - Définition, création, déploiement et utilisation. - Accès et modification à partir d'une page JSP. Développement d'application à l'aide de JSP - Combinaison JSP et servlets. Inclusion d'applets. - Accès aux ressources de l'entreprise. Travaux pratiques Développement d'une application Web mettant en oeuvre servlets et JSP. Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 39 / 65 \ÊÜÜܰpdfediting.com 5) Les librairies de balises Principe des librairies et extensions de balises - Extensions de balises. Fonctionnement. Exemple. Développement d'extension de balises - Balises simples, avec attributs, avec corps. - Déployer et exploiter une librairie de balises. Présentation de JSTL (Java Standard Tag Library) - Concevoir des JSP avec JSTL. Exemples. - Les bibliothèques : core, XML, i18n, SQL, fonctions. Travaux pratiques Développement de librairies de balises. Intégration de JSTL aux applications développées. 6) Accès aux bases de données Etude d'une application avec accès aux bases de données relationnelles - Mise en place de la base et de l'interface JDBC. Connexion à la base, récupération d'information, mise à jour de données. Transaction. Pool de connexions. Les DataSources. Correspondance BDR/Modèles objet - Objectifs. Approches et outils Java. - Présentation de JPA et les différentes solutions du marché (Hibernate...). Travaux pratiques Développement d'une application Web présentant des données d'un SGBDR. 7) Introduction à Struts Utilisation d'un framework de type MVC - Présentation. Architecture. Composants du framework. Gestion des événements. Configuration de l'application. Extension et librairies de balises. Travaux pratiques Adaptation de l'application au modèle MVC avec Struts. 8) Introduction à JSF - Présentation. Architecture. Composants du framework. Gestion des événements. Configuration de l'application. Extension et librairies de balises. 9) Sécurisation de l'application - La sécurité dans un contexte Web. Notions de users, realms, roles. Authentification et autorisation. Sécurité et programmation de servlets. Installer et configurer SSL. Certificats numériques. Java Authentication and Authorization Service. Configuration de Tomcat. - Les nouvelles annotations de Java EE6 Travaux pratiques Ajout de la sécurisation d'accès au site construit. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 40 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : JSF Participants Développeurs et chefs de projet ayant à réaliser le développement d'applications n-tiers sur J2EE. Pré-requis Connaissance du langage Java et du développement Web. La connaissance de la plate-forme J2EE est un plus, mais non indispensable. Framework JavaServer Faces utilisation de composants pour le développement Web en Java OBJECTIFS Ce cours vous permettra de prendre en main les composants JSF afin de construire des solutions Web facilement extensibles. Il propose, entre autres, une introduction au développement Server Side Scripting. 1) Introduction aux JSF 2) Premier pas 3) Concepts JSF 4) Composants standard 5) Cycle de traitement d'une requête 6) Langage d'expression (EL) 7) Configurer une application JSF 8) Compléments 9) Intégrer JSF avec JSP, Struts et Ajax 10) Facelets Travaux pratiques Le conteneur de Servlet/JSP utilisé est Tomcat, implémentation de référence de J2EE. Les environnements de développement sont Eclipse et WSAD. 1) Introduction aux JSF - Rappels : Servlet, JSP, MVC 2. Frameworks du marché. - JSF : fonctionnalités, positionnement. - Intégration à l'existant. JSF et développement RAD 2) Premier pas - Configurer l'application Web. Configurer JSF. - Créer un backing-bean et un formulaire. - Configuration simplifiée avec JSF 2.0. Travaux pratiques Mise en place de règles de navigation sur un formulaire. 3) Concepts JSF - Composants graphiques. Représentation côté serveur et côté client. Arbre de composants. - Génération du code client. - Validation des données saisies. - Backing beans. Rôle dans le MVC. - Ajouter un listener, Evénements. - Afficher des messages. Naviguer entre les pages. 4) Composants standard - Les familles de composants. Les propriétés. - Vue racine. Paramètres. Sorties formatées. Images.Formulaires. Saisies simples. Commandes. Panneaux. Travaux pratiques Création d'un formulaire élaboré pour la saisie de critères de recherche. Affichage des résultats dans un Datagrid. 5) Cycle de traitement d'une requête - Les phases. Récupérer la vue. Appliquer les paramètres. Effectuer les validations. Mise à jour du modèle. Invoquer l'application. Renvoyer la réponse. Travaux pratiques Mise en oeuvre d'un PhaseListener. 6) Langage d'expression (EL) - Caractéristiques. Propriétés des objets et méthodes. - Expressions avec opérateurs. Variables implicites 7) Configurer une application JSF - Archive web. Configurer web.xml. Déclarer la Servlet JSF. Structure du fichier de configuration JSF. - Configurer les backing beans et la navigation. Travaux pratiques Configurer pour faire coopérer des backing beans. 8) Compléments - Afficher des messages utilisateur. Principe des messages JSF. Afficher un message dans une JSP. - Conversion et validation des données - Principe. Converters et validators standard et personnalisés avec un backing bean. - Internationalisation. La classe Locale. Configuration. Travaux pratiques Ajouter des contraintes de validation à un formulaire. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 41 / 65 \ÊÜÜܰpdfediting.com 9) Intégrer JSF avec JSP, Struts et Ajax - JSP. Effectuer un include dynamique et statique. - Utiliser des tags non JSF. Cas des tags JSTL. - Objectifs d'une intégration Struts/JSF. - Présentation de composants Ajax. Le tag <f:ajax> de JSF 2.0. Travaux pratiques Utiliser des composants Ajax dans une page JSF. 10) Facelets - Présentation de Facelets. - Gérer des layouts. - Créer des composants personnalisés. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 42 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : SMVC Struts 2, développer des applications Web MVC Participants OBJECTIFS Développeurs Java impliqués dans le développement d'une couche de présentation Web. Ce cours vise à fournir une compréhension globale du framework Struts 2 vous permettant d'exploiter efficacement ses possibilités dans le cadre d'un développement d'application Web rigoureux. L'ensemble des éléments d'architecture sera abordé théoriquement puis mis en oeuvre dans le cadre d'une migration d'une application Servlet/Jsp en Struts2. Pré-requis Il est nécessaire que les participants aient déjà une expérience de la programmation de Servlet/ Jsp. 1) Rappels et compléments sur l'API Servlet 2) Présentation du framework Struts2 3) Le " front Controller " de Struts2 4) La pile d'objets et langage d'expressions OGNL 5) Les classes d'actions Struts2 6) Les constituants de la librairie de tags " strutstags " 7) L'approche " Model Driven " 8) Internationalisation d'une application Struts2 9) Les techniques de validation de Struts2 10) Utilisation du framework Tiles 11) Autres aspects du framework Travaux pratiques Les exercices pratiques ont été conçus pour illustrer tous les éléments du framework et leur mise en oeuvre dans le cadre d'un développement industriel : tous les exercices comportent une phase d'analyse/conception suivie d'une phase de programmation. 1) Rappels et compléments sur l'API Servlet - Rappel sur les mécanismes de base de l'API Servlet/JSP : cycle de vie d'une requête, les différents scopes "request", "session", "application", fichier web.xml. - Compléments sur les mécanismes de filtre et de listener utilisés par le framework Struts2. Travaux pratiques Appropriation d'une petite application Web développée en Servlet/Jsp qui sera le fil directeur des exercices suivants et qui permettra sa migration sur le framework Struts2.Thématique : gestion de comptes bancaires (créer, supprimer, créditer et débiter des comptes bancaires).Première étape de migration : mettre en oeuvre un filtre pour calculer le temps de traitement de certaines requêtes, mettre en place un listener pour assurer la restauration/sauvegarde d'une couche métier lors de l'initialisation de l'application et de sa destruction. 2) Présentation du framework Struts2 - Principales caractéristiques de Struts1 : cycle de vie d'une requête, éléments d'architecture impliqués, contraintes, limites et besoins d'évolution. - Principales caractéristiques de Struts2 : cycle de vie d'une requête, éléments d'architecture impliqués, les bénéfices attendus vis-à-vis de Struts1. - Les technologies clés de Struts2. - Découverte des constituants de base d'une application Struts2 par l'étude de l'implémentation d'une fonctionnalité d'authentification (taglib " struts-tags ", classe action et sa configuration dans struts.xml). Travaux pratiques Configurer un projet Eclipse pour un développement Struts2 (librairie et fichier web.xml). Implémenter la fonctionnalité d'authentification vue théoriquement : première utilisation de la taglib " struts-tags ", d'une action POJO, d'une configuration basique d'action dans le fichier struts.xml. 3) Le " front Controller " de Struts2 - Les fichiers de configuration Struts2 : organisation d'un fichier struts.xml, rôles des fichiers struts.default.xml, et struts.properties. - Le " front Controller " Struts2 : rôle de la classe FilterDispatcher. - Rôle des intercepteurs : principes, intercepteurs par défaut, règles de configuration des intercepteurs pour une action, création de piles d'intercepteurs. - L'intercepteur ServletConfigInterceptor et dépendance avec l'action (les interfaces " Aware "). - Création de ses propres intercepteurs. - Contexte d'exécution d'une action : l'ActionContext. Travaux pratiques Intégrer la fonctionnalité d'authentification Struts2 au projet d'origine sans régression (adaptation des JSP concernées en utilisant la taglib struts-tags, intégrer l'action d'authentification au projet, intégrer les fichiers de configuration). Tracer le temps de traitement des authentifications dans un fichier de log en utilisant l'intercepteur " TimerInterceptor ". 4) La pile d'objets et langage d'expressions OGNL - Rôles de la pile d'objets et du langage OGNL. - Organisation de la pile d'objets et positionnement dans l'ActionContext. - Règles de construction d'expressions OGNL. - Exemples d'utilisation via des JSP. 5) Les classes d'actions Struts2 - Les différentes classes d'action : POJO ou extension d'ActionSupport. - Configuration par défaut d'une action : valeurs résultats par défaut et types de résultats standard. - Mapping des paramètres des requêtes sur les propriétés de l'action. - Valeurs résultats prédéfinies et types de résultats prédéfinis (types de rendu). - Configuration spécifique d'une action : méthodes de traitement et résultats multiples. - Factorisation de résultats : les " global-results ". `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 43 / 65 \ÊÜÜܰpdfediting.com - Traitement des exceptions : l'intercepteur " exception ", le tag " exception-mapping ", factorisation des traitements d'exceptions (" global-exception-mappings "). Travaux pratiques Reprendre le projet et l'enrichir pour traiter toutes les RuntimeException par l'affichage d'une page d'erreur de l'application et traiter spécifiquement les erreurs d'authentification au niveau de l'action. Utiliser OGNL dans le développement des deux pages d'erreur. 6) Les constituants de la librairie de tags " struts-tags " - Organisation de la librairie de tags : " control tags ", " data tags ", " form ui tags ". - Les " control-tags ": if-elseif-else, append, generator, iterator, merge... - Les "data tags" : a, action, bean, date, i18n, include, push, set, text... - Les "form ui tags" : hidden, label, passwd, textearea, textfield, token, radio, reset... - Mapping des "form ui tag" avec les propriétés de l'action. - Traitement d'un upload de fichier : le tag " file ", l'intercepteur " fileUpload ", implémentation de l'action. 7) L'approche " Model Driven " - Objectif du " Model Driven ". - Constituants de cette approche : les intercepteurs " model-driven " et " scoped-modeldriven " et configuration spécifique (" scoped-modeldriven "). - Implémentation modèle CRUD en Struts2 : intercepteur " preparable ", configuration d'action paramétrée, conventions de nommage. - Exemple de mise en oeuvre. Travaux pratiques Reprendre le projet et réécrire les JSP en exploitant les possibilités de la librairie struts-tags de manière à supprimer toute utilisation de " scriptlet " et de " jstl ". Implémenter une action " GererCompte " en exploitant l'approche " Model Driven ". 8) Internationalisation d'une application Struts2 - Principes de l'internationalisation d'une application (les resource bundles struts2). - Constituants struts2 : l'intercepteur " i18n ", le paramètre " request_locale " et variable " locale " de l'utilisateur. - Politique de recherche d'une " resource bundle ". - La classe Action Support et les différentes méthodes getText(). - Fichier " .properties " paramétré. - Les " form ui tags " exploitant l'internationalisation. 9) Les techniques de validation de Struts2 - Les principes de validation (côté client et côté serveur). - Constituants struts2 : l'intercepteur " validation " et interface " Validateable " et "ValidationAware ", la classe ActionSupport , la valeur résultat " input ". - Les balises : " actionerror ", " fielderror " et " actionmessage ". - Validation programmatique : la méthode validate(). - Validation déclarative : les fichiers action-validation.xml et les validateurs prédéfinis. - Validation côté " client " : propriété " validate " du formulaire, javascript généré. Travaux pratiques Reprendre le projet en externalisant tous les libellés des actions et des JSP dans des fichiers de propriétés en deux langues (français et anglais). Implémenter le choix de la langue à partir de la page d'accueil. Implémenter une validation déclarative sur la page de création/modification d'un compte " côté serveur comme " côté client " 10) Utilisation du framework Tiles - Principe du pattern " Composite View " et du framework Tiles. - La librairie de tags " tag-tiles" : développement de layouts et des fragments de page. - Le fichier de configuration " tiles.xml " : déclaration des pages Tiles. - Configuration des actions exploitant des pages Tiles : le result-type " tiles ". - Intégration de Tiles à Struts2. Travaux pratiques Reprendre le projet de manière à produire toutes les pages selon un modèle commun de présentation (header, menu, contenu dynamique, footer). 11) Autres aspects du framework - Mise en oeuvre bas niveau d'Ajax : configuration de l'action, traitement de la requête asynchrone, implémentation javascript. - La librairie de tags "ajax " et exemple de librairie tiers. - Traitement des erreurs de conversion. - Configuration par annotation. Travaux pratiques Reprendre la page création/modification d'un compte et exploiter le tag Ajax " autocompleter " pour rechercher un compte puis afficher son état. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 44 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : VBN Participants Pour les développeurs désirant acquérir les techniques et les réflexes pour développer tous types d'applications .NET avec Visual Studio 2008/2010. Visual Basic.NET applications avec Visual Studio 2008/2010 OBJECTIFS Cette formation vous apprendra tout d'abord à connaître l'architecture des Frameworks 2.0, 3.0 , 3.5 et 4.0, puis à exploiter les classes de base communes aux différents types d'applications .NET (Windows, Web, DLL, etc.), avec le langage VB.NET. Vous apprendrez ensuite à créer vos classes/objets spécifiques et à tirer parti des mécanismes (encapsulation, héritage et polymorphisme) inhérents à la programmation orientée objet (POO) en .NET. Vous verrez également le principe des accès aux données avec ADO.Net et des applications Web : ASP.NET. Pré-requis Bonnes connaissances en programmation. Connaissances de base des concepts objet. Expérience requise en développement logiciel. 1) Introduction à la plate-forme .NET 2) Syntaxe de base : données, expressions et instructions 3) Gestion des exceptions 4) Programmation Orientée Objet 5) Classes et objets en VB.NET 6) Objets et classes de base du framework .NET 7) Exemples d'applications développées en .NET Travaux pratiques Les aspects syntaxiques du langage VB .NET et les classes de base sont illustrés par des exemples dans le cadre d'une introduction aux Windows Forms. S'ensuivent la conception d'objets spécifiques, puis la création d'une DLL réutilisable, avec son déploiement. Démonstrations sur les accès aux données (ADO .NET) et les applications de type Windows et Web (ASP .NET). 1) Introduction à la plate-forme .NET - Principe et architecture de la plateforme .NET. - Architecture du Framework .NET : CLR, BCL, et CLS (support multilangage). - Aperçu des différents types d'applications dans un environnement multicible. - Structure d'une application .NET : notion d'espace de noms. - Outils et environnement de développement. - Langage de MSIL : principe du langage intermédiaire, principe de la compilation JIT (Just In Time Compiler). - Notion d'assembly, de métadonnées et de déploiement. Assembly privé et assembly partagé : signature, rôle du GAC (Global Assembly Cache), mise en place dans le GAC. Travaux pratiques Exemple de programme VB.NET. Exécution en mode géré. Utilisation de l'environnement de développement Visual Studio.Net pour l'écriture du premier programme. 2) Syntaxe de base : données, expressions et instructions - Variables et expressions : déclaration, constantes, opérateurs. - Types de données : Common Type System, rôle de la classe de base System.Object et transtypage. - Types annulables. - Types valeur et types référence. - Manipulation et gestion des tableaux. - Instructions de contrôle de flux : boucles et tests. - Nouveautés VB8 : Continue, IsNot, Using, visibilité des propriétés, support des types non signés, mot-clef Global, TryCast. Opérateurs IsTrue et IsFalse. Travaux pratiques Ecriture de programmes en VB.NET mettant en oeuvre des algorithmes classiques. 3) Gestion des exceptions - Principe de la gestion des exceptions. - Utilisation de l'instruction Throw. - Utilisation des exceptions pour le traitement centralisé des erreurs. - Structure de gestion des exceptions interlangages : déclenchement d'exception dans un langage, interception et traitement dans un autre. Exemple entre VB.NET et C#. Travaux pratiques Exemples de gestion des exceptions en VB.NET. 4) Programmation Orientée Objet - Classes et objets : modélisation du monde réel par objet. - Notions de champ, méthode et propriété. - Héritage. - Polymorphisme. - Implémentation d'interfaces multiples. - Représentation du modèle objet. 5) Classes et objets en VB.NET - Définition des classes. Définition des objets. - Définition du contenu de la classe : méthodes et propriétés. - Visibilité des membres d'une classe : propriétés et méthodes. Utilisation des espaces de noms. - Cycle de vie des objets : constructeur, destructeur. Gestion de la mémoire avec le garbage collector. - Le mécanisme de surcharge (constructeurs, méthodes et opérateurs). - Implémenter un événement. - Dérivation et héritage des classes : principe de dérivation, contrôle d'accès lors de la dérivation. Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 45 / 65 \ÊÜÜܰpdfediting.com - Principe des interfaces (définition et implémentation). - Principe du polymorphisme. - Manipulation des attributs : principe des méta-données. Attributs de classe, de méthode, de champ. - Régions de code et classes partielles. - Classes génériques. - Génération de documentation. Travaux pratiques Ecriture de classes de base. Manipulation de méthodes et propriétés dans les classes. Dérivation de classe. Exemple d'implémentation d'une interface et de mise en oeuvre du polymorphisme par héritage ou avec une interface. 6) Objets et classes de base du framework .NET - Qu'est-ce qu'un framework ? Principe. Hiérarchie des classes. - Traitement des dates et des durées. Traitement des chaînes avec StringBuilder et les expressions régulières. - Classes incontournables : manipulation du système de fichier, Math, Random, etc. - Gestion des entrées/sorties : hiérarchie des classes. FileStream, StreamReader/StreamWriter. - Principes des entrées/sorties asynchrones. - Les différents types de collections, de dictionnaires et de tables de hachage. - Les collections génériques. - Principe et utilisations de LINQ. - Se familiariser avec LINQ To Object. Travaux pratiques Utilisation des classes de base. Exemples de manipulation du système de fichiers et d'opérations de lecture/écriture dans un fichier texte. 7) Exemples d'applications développées en .NET - Principe et conception d'une bibliothèque de classes réutilisable. - Principe et exemple des applications Web ASP .NET. - Introduction aux accès aux données avec ADO .NET. Travaux pratiques Réalisation d'une bibliothèque de classes signée et installation dans le GAC. Réalisation d'une page ASPX simple, avec affichage de données. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 46 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : PSH Participants Ce cours s'adresse aux développeurs désirant acquérir les techniques et les réflexes pour développer tous types d'applications .NET avec Visual Studio 2008/2010. C#, développer en .NET avec Visual Studio 2008/2010 OBJECTIFS Cette formation vous apprendra à connaître l'architecture des Frameworks 2.0, 3.0, 3.5 et 4.0, puis à exploiter les classes basiques communes aux différents types d'applications .NET (Windows, Web, DLL, etc.) avec le langage C#. Vous apprendrez à créer des classes métier et à tirer parti des mécanismes (encapsulation, héritage et polymorphisme) inhérents à la programmation orientée objet (POO) en .NET. Vous verrez également le principe des accès aux données avec ADO.NET et les différentes mises en oeuvre de LINQ ainsi que des applications et services Web : ASP.NET. Pré-requis Bonnes connaissances en programmation. Connaissances de base des concepts objet. Expérience requise en développement logiciel avec un langage de type C/C++ ou Java. 1) La plateforme .NET 2) Syntaxe de base : données, expressions et instructions 3) Gestion des exceptions 4) Programmation Orientée Objet 5) Classes et objets en C# 6) Objet et classes de base du framework .NET 7) Les différent types d'applications développées en .NET Travaux pratiques Au tout début du stage, les aspects syntaxiques du langage C# et les classes de base sont illustrés avec des exemples simples. La plus grande partie du stage concerne la conception d'objets spécifiques, la création et le partage de bibliothèques métier réutilisables. Le stage se termine par une présentation des accès aux données (ADO .NET) et des applications de type Windows et Web (ASP .NET). 1) La plateforme .NET - Principe et architecture de la plateforme .NET. - Architecture du Framework .NET : CLR, BCL, et CLS (support multilangage). - Aperçu des différents types d'applications dans un environnement multicible. - Structure d'une application .NET : notion d'espace de noms. - Outils et environnement de développement. - Langage de CIL : principe du langage intermédiaire, principe de la compilation JIT (Just In Time Compiler). - Notion d'assembly, de métadonnées et de déploiement. Assembly privé et assembly partagé : signature, rôle du GAC (Global Assembly Cache), mise en place dans le GAC. Les nouveautés du GAC 4.0. Travaux pratiques Exemple de programme C# minimum. Exécution en mode géré. Utilisation de l'environnement de développement Visual Studio.Net pour l'écriture du premier programme. 2) Syntaxe de base : données, expressions et instructions - Variables et expressions : déclaration, constantes, opérateurs, types anonymes (C# 3.0) et dynamiques (C# 4.0). - Types de données : Common Type System, rôle de la classe de base System.Object et transtypage. - Types valeur et types référence. - Instructions de contrôle de flux : boucles et tests. - Syntaxe de base : manipulation des tableaux, instructions de contrôle de flux, ... Travaux pratiques Ecriture de programmes en C# mettant en oeuvre des algorithmes classiques. 3) Gestion des exceptions - Principe de la gestion des exceptions. - Déclenchement d'erreurs personnalisées avec throw. - Utilisation des exceptions pour le traitement centralisé des erreurs. Travaux pratiques Gestion des erreurs de saisie en utilisant les exceptions. 4) Programmation Orientée Objet - Classes et objets. - Modélisation du monde réel par objet. - Notions de champ, méthode et propriété. - Héritage. - Polymorphisme. - Interfaces. 5) Classes et objets en C# - Définition des classes. Définition des objets. - Définition du contenu de la classe : méthodes et propriétés. - Visibilité des membres d'une classe : propriétés et méthodes. Utilisation des espaces de noms. - Cycle de vie des objets : constructeur, destructeur. Gestion de la mémoire avec le garbage collector. - Le mécanisme de surcharge (constructeurs, méthodes et opérateurs). - Dérivation et héritage des classes : principe de dérivation, contrôle d'accès lors de la dérivation. - Principe du polymorphisme. - Principe des interfaces (définition et implémentation). - Manipulation des attributs : principe des méta-données. Attributs de classe, de méthode, de champ. - Régions de code et classes partielles. - Classes génériques. - Délégués, covariance, contravariance et événements. Les variances appliquées aux interfaces (C# 4.0).`Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 47 / 65 \ÊÜÜܰpdfediting.com - Classes métier semblables à celles du framework .NET : réalisation de propriétés, d'indexeurs et d'énumérateurs. - Génération de documentation. - Les nouveautés de C# 3.0 et 4.0 : expression d'initialisation, types anonymes, types dynamiques, paramètres optionnels, propriétés automatiques, méthodes d'extension, méthodes partielles et lambda expressions. Travaux pratiques Ecriture de classes de base. Manipulation de méthodes et propriétés dans les classes. Dérivation de classe. Exemple d'implémentation d'une interface et de mise en oeuvre du polymorphisme par héritage ou avec une interface. 6) Objet et classes de base du framework .NET - Qu'est-ce qu'un framework ? Principe. Hiérarchie des classes. - Traitement des dates et des durées. Traitement des chaînes avec StringBuilder et les expressions régulières. - Classes incontournables : manipulation du système de fichier, Math, Random, etc. - Les différents types de collections, de dictionnaires et de tables de hachage. - Les collections génériques et les bases de Linq avec LINQ To Object sur les collections standard. Travaux pratiques Utilisation des expressions régulières et d'une table de hachage. Rendre une collection réalisée précédemment compatible avec LINQ et utiliser LINQ To Objects pour l'interroger. 7) Les différent types d'applications développées en .NET - Principe et conception d'une bibliothèque de classes réutilisables. - Principe et exemple des applications Web ASP .NET. - Principe et exemple des services Web ASP .NET. - Introduction aux accès aux données avec ADO .NET et LINQ. - Qu'est-ce que LINQ : exemple avec LINQ To Entities et LINQ to SQL. Travaux pratiques Réalisation d'un formulaire Windows interrogeant une base de données. Démonstration d'une page ASPX simple, avec affichage de données. Démonstration d'un service Web simple. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 48 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : AST Participants Informaticiens souhaitant développer des applications Internet/Intranet en utilisant les technologies .NET (ASP.NET et ADO.NET) dans le cadre de l'environnement Visual Studio 2010/2008. Pré-requis Bonnes connaissances de la programmation C# ou VB.NET. Connaissances de base des technologies Web côté client (HTML, JavaScript...) ASP.NET 4.0/3.5, niveau 1 développement Web avec Visual Studio 2010/2008 OBJECTIFS Ce cours vous apprendra à utiliser les techniques mises en oeuvre dans l'environnement .NET 4.0/3.5 (ou supérieur)/ Visual Studio 2010-2008 pour la création d'applications Internet/Intranet. Il détaillera la technologie ASP.NET (Active Server Page.NET) pour la création de pages dynamiques, avec une présentation des possibilités offertes par Ajax. Vous verrez également comment lier vos applications avec des bases de données (ADO.NET) et intégrer des services Web utilisant les technologies XML dans une application Web ASP.NET. 1) Rappels des concepts liés à l'Internet/Intranet et technologies .NET 2) Fonctionnement des pages ASP. NET 3) Contrôles serveur HTML 4) Contrôles serveur Web 5) Conception de la structure d'un site Web 6) Contrôle de sources de données 7) Gestion de la sécurité 8) Configuration et déploiement 9) Utilisation des services Web Travaux pratiques Les stagiaires apprendront à maîtriser l'infrastructure ASP.NET. Ils utiliseront l'environnement .NET/Visual Studio 2010/2008 pour mettre en oeuvre les techniques nécessaires aux applications Web professionnelles. Les exercices sont effectués en C# ou VB.Net suivant le choix des participants. 1) Rappels des concepts liés à l'Internet/Intranet et technologies .NET - Serveur Web, sites statiques et dynamiques. - Architecture d'une application Internet/Intranet. - Technologies .NET. Application Web en .NET. - Outils intégrés à Visual Studio. Travaux pratiques Utilisation de Visual Studio pour la création d'un site, création d'un formulaire d'entrée de données. 2) Fonctionnement des pages ASP. NET - Principe et problématique des pages dynamiques. - Rappel des méthodes HTTP GET et POST. - Principe des pages ASP .NET (ASPX). - Utilisation des contrôles serveur WebForms. Intégration dans les pages ASPX avec Visual Studio. - Gestion automatique de la persistance de l'état des contrôles serveur avec le ViewState. - Gestion de la persistance des données applicatives : Session, Cache, Application, Cookies. - Membres caractéristiques des classes page, HttpRequest, HttpResponse et HttpServerUtility. - Utilisation et limitations du QueryString. - Mise en oeuvre du CrossPagePostBack. - Gestion des événements dans les pages ASP.NET : Load, UnLoad, PreRender... - Gestion des événements de l'application : fichier global.asax, événements importants, utilisation. - Structuration d'une application Web avec Visual Studio (dossiers spéciaux, ressources, etc.). Travaux pratiques Ecriture des premières pages ASP.NET basées sur des contrôleurs serveur standard (listes, boutons, etc.) et gérant des événements. Mise en oeuvre des mécanismes nécessaires aux applications professionnelles (session, cookie, etc.). 3) Contrôles serveur HTML - Utilité des contrôles serveur HTML pour la création de pages actives côté client et serveur. - Principaux contrôles. Utilisation. - Intégration des contrôles serveur HTML avec les scripts clients JavaScript. Travaux pratiques Utilisation des contrôles serveur HTML afin de rendre dynamique une page, du côté client et du côté serveur. 4) Contrôles serveur Web - Principe des contrôles serveur. - Caractéristiques des contrôles de base : TextBox, Label, Literal, Listes, Boutons, Table, TableCell, etc. - Contrôles conteneur : Panel, MultiView, Wizard... - Contrôles riches : Calendar, AdRotator, FileUpload... - Contrôles de validation et groupe de validation. - Réalisation d'un contrôle utilisateur. - Principe et mise en oeuvre de l'Ajax. Travaux pratiques Mise en oeuvre des contrôles de validation côté client et côté serveur avec les contrôles Wizard. Exemple du contrôle FileUpload... Mise en oeuvre de l'Ajax avec UpdatePanel. 5) Conception de la structure d'un site Web - Contrôles utilisateur pour la structuration des pages. - Mise en forme d'un site à l'aide des MasterPages. - Rôles des dossiers spéciaux (App_Code, App_Data, App_Themes, etc.). - Utilisation des feuilles de style CSS et des thèmes. Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 49 / 65 \ÊÜÜܰpdfediting.com - Mise en place d'un système de navigation avec un fichier SiteMap et des contrôles SiteMapPath, TreeView et Menu. Travaux pratiques Exemple de réalisation d'une application de e-commerce... 6) Contrôle de sources de données - Introduction à ADO.NET. Modèle objet ADO.NET. - Mécanismes d'accès à une base de données : connexion, instruction SQL, procédure stockée, lecture de données. Utilisation d'un DataSet. - Mécanisme de DataBinding. - Utilisation des contrôles liés à une source de données : XmlDataSource, GridView (tri et pagination). - Afficher une vue Maître/Détail entre un contrôle GridView et les contrôles DetailsView, FormView. - Principes des modèles de lignes (Templates). Travaux pratiques Utilisation des contrôles SqlDataSource, GridView et DetailsView pour présenter les données d'entreprise (par exemple les articles d'un catalogue d'un site de e-commerce). 7) Gestion de la sécurité - Les types d'attaques (SQL injection, spoofing, répudiation...) et les moyens de s'en prémunir. - Contrôle applicatif des accès et des droits. - Gestion de la sécurité basée sur Windows. Travaux pratiques Mise en oeuvre d'une authentification et d'un accès restreint, ainsi que d'une restriction d'accès pour un dossier Web. 8) Configuration et déploiement - Gestion des exceptions. - Rôle et format du fichier Web.config. - Le Web Administration Tool intégré à Visual Studio. - Sauvegarde des paramètres de l'application. - Configuration de la gestion des sessions. - Rôle du serveur Web : présentation de IIS. - Le mode Release. Publication de l'application. 9) Utilisation des services Web - Principe. Architecture, communication XML/SOAP. Langage WSDL (Web Service Description Language). - Appel d'un service Web à partir d'une requête HTTP et d'un proxy. Travaux pratiques Ecriture d'un Web Service simple (recherche dans une base de données) et interrogation via une ASP.NET et un proxy. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 50 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : MVC Programmation Web MVC en .NET Participants OBJECTIFS Développeurs .NET confirmés, désirant acquérir les techniques et les réflexes pour développer tous types d'applications Web avec ASP.NET MVC. Le Framework ASP.NET MVC est une évolution de la plateforme de développement ASP.NET. Il met l'accent sur l'utilisation de patterns d'architecture performants et la testabilité du code. Ce stage très pratique vous apprendra à le mettre en oeuvre pour construire et déployer des applications Web sécurisées et évolutives. Vous verrez comment concevoir des IHM riches avec Ajax et jQuery, et comment produire un code maintenable au moyen d'une architecture MVC (Modèle Vue Contrôleur). Pré-requis Bonnes connaissances de C#, HTML et JavaScript. Expérience requise en développement logiciel. 1) Découverte du Framework ASP.NET MVC 2) Architecture d'une application ASP.NET MVC 3) URL et routing 4) Extensibilité des contrôleurs 5) Vues avancées 6) Modèles approfondis 7) Techniques de construction des vues 8) jQuery et ASP.NET MVC 9) Intégration de services ASP.NET dans MVC 10) Déploiement d'une application ASP.NET MVC 11) Les bonnes pratiques ASP.NET MVC 1) Découverte du Framework ASP.NET MVC - Retour sur ASP.NET et limites de l'approche Webforms. - Les solutions apportées par ASP.NET MVC. 2) Architecture d'une application ASP.NET MVC - Rappels sur le pattern MVC. - Routing. - Contrôleurs et actions. - Vues. - Modèles. Travaux pratiques Installation d'ASP.NET MVC. Création d'une première application ASP.NET MVC. Ecriture de tests unitaires. 3) URL et routing - Configuration du routage. - Contraintes et paramètres. - Areas. - Tester le routage. 4) Extensibilité des contrôleurs - Les filtres. - La factory de contrôleur. - Les contrôleurs asynchrones. - Tester les contrôleurs et les actions. Travaux pratiques Mise en oeuvre de l'extensibilité des contrôleurs. 5) Vues avancées - Remplacement du moteur de vue par défaut. - Utilisation des méthodes utilitaires pour HTML. - Différentes méthodes pour afficher du contenu dynamique. - Les vues partielles. Travaux pratiques Mise en oeuvre des principes de vues avancées. 6) Modèles approfondis - Métadonnées et annotations. - Binding. - Validation. Travaux pratiques Mise en oeuvre des annotations et du binding. 7) Techniques de construction des vues - Utilisation de master pages. - Règles CSS. - Les outils Ajax. 8) jQuery et ASP.NET MVC - Rappels sur jQuery. - Transferts de données avec JSON. - La bibliothèque jQuery UI. - Animations et autres effets graphiques. Travaux pratiques Réalisation de vues avec jQuery, Ajax et CSS. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 51 / 65 \ÊÜÜܰpdfediting.com 9) Intégration de services ASP.NET dans MVC - Authentification par formulaires. - Membership et gestion des rôles et profils. - Caching. - Sitemap. - Localisation. Travaux pratiques Exemple d'une application MVC sécurisée par authentification et gestion d'autorisations. 10) Déploiement d'une application ASP.NET MVC - Rappels sur IIS. - ASP.NET MVC et IIS 7. - ASP.NET MVC et IIS 5.1/6. Travaux pratiques Exécution d'un déploiement d'application MVC sous IIS6 et IIS7. 11) Les bonnes pratiques ASP.NET MVC - Les erreurs à éviter. - Les pratiques recommandées (sécurité, SEO...). - Comment migrer une application Webforms vers MVC ? - Comment intégrer des contrôles ou des pages Webforms dans MVC ? - Les outils complémentaires. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 52 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : NEA Participants ASP.NET 3.5/4.0, niveau 2 développement Web Développeurs ASP.NET. OBJECTIFS Pré-requis Ce cours permettra aux participants d'appréhender les aspects avancés du développement Web avec ASP.NET 3.5 et 4.0, comme, entre autres, l'utilisation du cache de IIS et d'ASP.NET, la sécurité et les profils utilisateurs, l'internationalisation des applications, etc. Le tout dans le contexte d'architectures multiniveaux. Bonnes connaissances de la programmation Web en .NET. Ou connaissances équivalentes à celles apportées par le stage "ASP.NET 2.0/3.5, niveau 1" (réf. AST). Expérience souhaitable. 1) Architecture des applications ASP.NET (rappels rapides) 2) Utilisation avancée de ADO.NET, architecture en couches 3) Contrôles personnalisés 4) Optimisation des applications et utilisation du cache 5) Gestion des erreurs, journalisation, gestion de la configuration 6) Sécurité, authentification et gestion des utilisateurs 7) Représentation graphique des données 8) La réflexion 9) Introduction à ASP.NET AJAX 10) Introduction aux WebParts 11) LINQ To SQL (.Net 3.5 et 4.0) 12) LINQ To Entities (.Net 3.5 SP1 et 4.0) 13) Sites Dynamic Data (ASP.Net 3.5 et 4.0) Travaux pratiques Bonnes pratiques et techniques d'optimisation pour la création d'un site Web professionnel. Les exercices sont effectués en C# ou VB.Net suivant le choix des participants. 1) Architecture des applications ASP.NET (rappels rapides) - Rappels : architecture et cycle de vie des pages ASP.NET. - Architecture des applications multitiers : tiers interface, tiers métier, tiers données. Structure et rôle de diverses couches. - Composants d'une application ASP.NET : composants HTML, composants Serveur, Web Services. - Rappels sur les contrôles serveur HTML et les contrôles serveur Web. Rappel sur le DataBinding. - Mise en place d'une première application avec utilisation du DataBinding et de l'accès aux données. - Approche pour la gestion d'informations persistantes. - Les informations de session en base de données. - Gestion de l'état avec le ControlState. - Le piège du ViewState : utilisation et limite. 2) Utilisation avancée de ADO.NET, architecture en couches - Dataset typé : importance et rôle. Représentation XSD du typage. Les TableAdapters. Personnalisation et renforcement du type des classes générées. - LINQ. - Utilisation des templates Repeater/ListView, DataList, GridView, DetailsView et FormView. - Utilisation des objets métiers comme source de données (ObjectDataSource) et interaction avec les templates classiques. - Personnalisation avec les événements des DataSources et les contrôles à base de templates. Travaux pratiques Développement de la couche d'accès aux données pour optimiser la présentation de celle-ci. 3) Contrôles personnalisés - Génération dynamique de contrôles dans une page. - Les contrôles utilisateur de type ASCX, distribuables et composites : mise en oeuvre. - Interactions avec les scripts client et respect du cycle de vie de la page hôte. - Intégration des contrôles utilisateur dans le designer de Visual Studio. Travaux pratiques Réalisation de contrôles utilisateur des trois types. 4) Optimisation des applications et utilisation du cache - Conseil dans le développement des applications, le piège des exceptions. - Le cache d'ASP.NET et les dépendances de cache. - Interaction avec les bases de données et SQL Server : SqlDependency et SqlCacheDependency. Travaux pratiques Mise en place des mécanismes d'optimisation. 5) Gestion des erreurs, journalisation, gestion de la configuration - Traitements centralisés des exceptions non gérées par Page.Error et Application_Error. - Gérer la configuration dans le fichier Web.Config. - Configurer les erreurs http par le fichier Web.Config. - Utilisation des journaux d'événements pour la journalisation des erreurs. Travaux pratiques Mise en place d'une gestion centralisée des erreurs. Ecriture des événements importants dans un journal système. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 53 / 65 \ÊÜÜܰpdfediting.com 6) Sécurité, authentification et gestion des utilisateurs - Principes : authentification, autorisation et personnification. - L'identité système : WindowsAuthenticationModule. - L'identité applicative : FormsAuthenticationModule. - La gestion des comptes applicatifs avec les MembershipProviders et contrôles spécialisés (LoginStatus, LoginView, ChangePassWord...). - Authentification avec les certificats clients. - Personnification au nom du client. - Ajout d'informations personnelles (personnalisation de l'apparence du site, par exemple) au profil des utilisateurs. Travaux pratiques Réalisation d'une application Web de type forum gérant des rôles (et les privilèges associés à ces rôles) pour les utilisateurs : rôle Visiteur, rôle Ecrivain et rôle Modérateur. 7) Représentation graphique des données - Les images : manipulations, génération à la volée. Stockage/lecture en base de données. - Notion de page-image ASP.NET. - Utilisation de HTTPHandlers générateurs d'images. - Le contrôle ASP.Net 4.0 Chart pour la génération de graphes. Travaux pratiques Protection d'un site contre les robots à l'aide d'images lisibles seulement par des utilisateurs "intelligents". 8) La réflexion - La réflexion avec .NET. Utilisation de la réflexion pour réaliser des interfaces dynamiques. Travaux pratiques Saisie, dans une application web, d'une valeur de type complexe inconnu à l'aide de l'API de réflexion de .NET. 9) Introduction à ASP.NET AJAX - Le principe AJAX. - Les extensions de Microsoft Ajax Library à JavaScript. - Les bibliothèques de classes de Microsoft Ajax Library à JavaScript. - L'interaction entre les scripts client et les PageMethods ou Services Web ASP.NET. Sérialisation JSON pour ADO.NET. - Les contrôles serveurs spécifiques à ASP.NET AJAX : ScriptManager, UpdatePanel, UpdateProgress... - Aperçu de l'Ajax Control Toolkit. Travaux pratiques Optimisation des flux http à l'aide des Contrôles serveur ScriptManager et UpdatePanel. Réalisation d'un site de discussion en direct. Création de services Web consommables via la technologie cliente Ajax. 10) Introduction aux WebParts - Principes, gestion des modes, apparence et disposition, catalogues, édition de propriétés et de propriétés d'IU. 11) LINQ To SQL (.Net 3.5 et 4.0) - Attributs de mapping, SQL Metal dans Visual Studio, opérations d'écriture : rôle du DataContext, mapping de l'héritage TPH, intégration dans la LinqDataSource ASP.Net 3.5, gestion des conflits d'accès concurrents optimistes. 12) LINQ To Entities (.Net 3.5 SP1 et 4.0) - Mapping par les fichiers XML CSDL, SSDL, MSL et EDMX, le designer de Visual Studio, mapping de fonction, opérations d'écriture : rôle de l'ObjectContext et des EntityKeys, Langage Entity SQL, mapping de l'héritage TPH et TPT, intégration dans la EntityDataSource ASP.Net 3.5, gestion des conflits d'accès concurrents optimistes. 13) Sites Dynamic Data (ASP.Net 3.5 et 4.0) - Grands principes, gestion des routes, métadonnées impliquées, création d'un site Dynamic Data, ajout à un site existant, personnalisation : des données à représenter, des filtres, des entités, des listes, des champs. Le contrôle QueryExtender ASP.Net 4.0. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 54 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : SVR Participants Ce cours s'adresse aux développeurs ASP .NET qui souhaitent découvrir la philosophie de Silverlight et les techniques associées afin de concevoir des pages web interactives côté client, avec Visual Studio. Pré-requis Bonne connaissance des ASP.NET (XML, Framework 2, Visual Studio 2008/2010 et pratique du langage C# ou VB .NET). Maîtriser Silverlight 4 applications ASP.NET avec interfaces riches OBJECTIFS Silverlight sert à enrichir l'expérience utilisateur avec des pages Web constituées d'éléments visuels riches, redimensionnables et interactifs. Cette formation vous permettra de vous familiariser avec les différentes techniques de mise en oeuvre de Silverlight 4, au travers d'ateliers réalisés en C# ou en VB .NET. 1) Introduction 2) Concepts fondamentaux 3) Conception d'interfaces utilisateurs 4) Gestion des opérations 5) Outils de conception graphique Travaux pratiques Suite à une introduction aux possibilités offertes par Silverlight, une série d'ateliers allant d'une simple page à la conception d'une page liée à des données sont réalisés de façon à découvrir les différents éléments à mettre en oeuvre. 1) Introduction - Comprendre l'architecture de Silverlight. - Structure d'une application Silverlight (XAML, code-behind, compilation, intégration à une page Web). - Gestion multiplateformes, multinavigateurs et déploiement. - Panorama des outils de développement (Visual Studio, SDK, MS Blend et outils tiers). Travaux pratiques Configurer l'environnement de développement Visual Studio 2008 pour réaliser des applications Web Silverlight. 2) Concepts fondamentaux - Introduction au langage XAML. - Hiérarchie des classes et familles d'éléments. - Gestion des événements : les gestionnaires. - Interactions avec la page Web (HTML Bridge). Travaux pratiques Interagir avec les objets graphiques, les contrôles de base et la page Web hôte. 3) Conception d'interfaces utilisateurs - Techniques de positionnement avec les éléments Panels, Canvas et Grid. - Présentation des contrôles (TextBlock, TextBox, etc.). - Système de transformations et d'animations. - Personnalisation : styles et modèles de contrôles. Travaux pratiques Créer, personnaliser et programmer les éléments courants, avec exemples de transformations et d'animations. 4) Gestion des opérations - Intégration de la CLR et modèle d'exécution (cycle d'exécution, classes usuelles et collections, etc.). - Rappel sur le DataBinding. - Fonctionnement des entrées/sorties dans la zone Isolated Storage. - Se connecter avec la classe WebClient ou par un service WCF. - Créer et déployer une application de navigateur. - Interagir avec des données distantes via RIA Services. - Manipulation de fichiers XML avec ou sans LINQ. Travaux pratiques Manipulation des classes utiles en Silverlight. Réalisation de plusieurs applications (avec récupération de fichiers distants et édition de données via RIA Services). 5) Outils de conception graphique - Techniques d'intégration de vidéos. - Prise en main de MS BLEND (interface, gestion des ressources et des assets, conception d'une interface, intégration avec Visual Studio, réalisation d'animations). - Présentation de MS Encoder. - Format d'image Deep Zoom. Travaux pratiques Réalisations d'une interface de saisie avec MS Blend, d'une page affichant des images haute résolution avec l'effet Deep Zoom, d'une page affichant une sélection de vidéos. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 55 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : PHH Participants Cette formation s'adresse aux informaticiens qui souhaitent acquérir une formation opérationnelle sur PHP dans le contexte du développement, et aux webmasters ayant déjà une bonne connaissance d'un langage de programmation client (javascript ou vbscript). Pré-requis Connaissances de base du langage HTML et d'au moins un langage de programmation. PHP 5 développer un site Web dynamique avec bases de données OBJECTIFS Ce cours vous permettra de maîtriser d'une manière opérationnelle le langage PHP dans le contexte de développement de sites Internet dynamiques. Il vous permettra aussi d'aborder les aspects connexes à ce type de développement : bases de données, langage SQL, manipulation de fichiers graphiques... 1) Introduction 2) Premières applications Web en PHP 3) Gestion des sessions utilisateurs 4) Une application Web professionnelle Travaux pratiques Des machines sous Windows ou Linux équipées du serveur Web Apache avec le module PHP et un serveur MySQL ou Oracle seront mis à la disposition des participants. Les participants vont créer un site complet de vente en ligne. 1) Introduction - L'architecture du WEB : HTTP, CGI, interactivité : script client ou script serveur - Qu'est-ce que PHP ? - Historique de PHP. - Les différences entre PHP 4 et PHP 5. - Présentation de l'exemple utilisé durant la formation : le site de vente en ligne. Travaux pratiques Revue des balises principales HTML et des commandes de style. Introduction à la feuille de style de l'application exemple. 2) Premières applications Web en PHP Automatisation d'une page Web - Les principes du client-serveur. - Premiers éléments du langage. - Intégration de PHP dans une page HTML. - Variables et fonctions. - Librairies. - Fonctions de base, variables serveur et variable PHP. - Variables serveur et variable PHP. - Contrôles de flux et boucles. Les formulaires simples - Passage et transmission de variables. - Lecture/écriture de fichier. - Vérification de login/mot de passe. - Redirection. Les variables complexes : tableaux - Constructeur array. - Fonctions associées aux tableaux. - Fonctions d'extraction. - Fonctions de navigation dans un tableau. Travaux pratiques Réalisation de fonctions personnalisées. Réalisation d'une librairie de fonctions. Réalisation d'une fonction de création de liste déroulante. 3) Gestion des sessions utilisateurs Variables persistantes : Cookies et Session - Avantages et inconvénients des cookies et sessions. - Limitations et précautions. - Les variables de session. - Fonctions liées aux variables de session. - Les Cookies. - Sérialisation des variables complexes. - Utilisation. Utilisation d'une base de données MySQL - Présentation de MySQL. - Concepts fondamentaux : bases, tables, champs, enregistrements. - Bases MySQL. - Tables MySQL. - Champs MySQL. - Enregistrements MySQL. - Fonctions PHP MySQL. - Introduction au langage SQL (sélection, modification, suppression). - Traitement des résultats des requêtes. Travaux pratiques `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 56 / 65 \ÊÜÜܰpdfediting.com Réalisation d'un panier d'achat simple, version cookie et session. Gestion des quantités commandées. Création d'une base MySQL. Remplissage de la base à partir d'une base texte. Création de fiches produit à la volée par extraction des données de la base. 4) Une application Web professionnelle Notions d'architecture multicouches - Introduction aux principes MVC. Les formulaires complexes - Moteur de recherche : formulaire en relation avec une base de données. - Fonctions avancées de sélection : recherches et tris. Le graphisme en PHP - Présentation de la librairie GD. - Création d'image, réutilisation. - Gestion des polices et de l'écriture en mode image. - Superposition de texte pour protection de droits. - Intégration au site. - Réalisation de graphiques statistiques. Intégration des modules réalisés Travaux pratiques Réalisation d'un moteur de recherche : la sélection sur Auteur, Titre et Héros donne une liste de liens sur les fiches produit correspondantes. Implémentation multicouche. Intégration des différents modules réalisés. Affichage des images, avec mention de copyright. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 57 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : OBP Participants Informaticiens et webmasters qui souhaitent une formation opérationnelle en développement objet PHP. PHP 5, pour les développeurs objet créer une application Web en P.O.O. OBJECTIFS Ce cours vous permettra de maîtriser d'une manière opérationnelle le langage PHP dans le contexte d'un développement objet. Vous apprendrez à créer un site Web dynamique et aborderez la mise en oeuvre des aspects connexes à ce type de développement. L'ensemble du cours est orienté objet. Pré-requis Bonnes connaissances des bases du HTML. La connaissance d'un langage objet permettra de mieux profiter de la formation mais n'est pas indispensable. 1) Introduction 2) Bases du Langage PHP 3) Programmation Orientée Objet (POO) 4) Premières applications Web en PHP 5) Gestion des sessions utilisateurs 6) Utilisation d'une base de données MySQL 7) Une application Web professionnelle 1) Introduction - Qu'est-ce que PHP ? Interactivité avec les internautes. - Les différences entre PHP 4 et PHP 5. - Présentation de l'exemple utilisé durant la formation. 2) Bases du Langage PHP - Automatisation d'une page Web. - Le client-serveur. Premiers éléments du langage. - Intégration de PHP dans une page HTML. - Variables et fonctions. Librairies. - Fonctions de base, variables serveur et variable PHP. - Contrôles de flux et boucles. Travaux pratiques Réalisation de fonctions personnalisées. 3) Programmation Orientée Objet (POO) - Rappel UML. Modélisation des classes. Outils. - Classes, propriétés, méthodes. Visibilité et Protection. - Constructeur, destructeur. Appel implicite vs. explicite. - Héritage et agrégation. Propagation. Polymorphisme. - Sérialisation et stockage. Organisation des fichiers. Travaux pratiques Réalisation d'une classe PageWeb. 4) Premières applications Web en PHP - Les formulaires simples. Passage de variables. Vérification de login/mot de passe. Redirection. - Les variables complexes : tableaux des fonctions. Travaux pratiques Réalisation d'un objet de stockage. Réalisation d'un objet Formulaire (texte, select et upload). 5) Gestion des sessions utilisateurs - Variables persistantes : Cookies et Session. - Avantages, limitations et précautions. - Variables de session et fonctions liées. Les Cookies. - Sérialisation des variables complexes. Utilisation. Travaux pratiques Réalisation d'un objet Panier d'Achat stockable en cookie ou session. Gestion des quantités commandées. 6) Utilisation d'une base de données MySQL - Concepts : bases, tables, champs, enregistrements. - Fonctions PHP Mysqli. Introduction au langage SQL. - Requêtes et traitement des résultats. Travaux pratiques Création d'une base MySQL et de fiches produits à la volée. 7) Une application Web professionnelle - Notions d'architecture multicouches. Principes MVC. - Formulaires complexes. Liaison aux données. - Fonctions avancées de sélection: recherches et tris. - Le graphisme en PHP : de la librairie GD. - Intégration au site. Travaux pratiques Réalisation d'un moteur de recherche. Amélioration de la classe SQL. Implémentation multicouches. Intégration des différents modules réalisés. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 58 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : SYM PHP, développement Web avec le framework Symfony Participants OBJECTIFS Développeurs et chefs de projets PHP5. Symfony est un framework Open Source PHP qui propose une architecture, des composants et des outils pour réaliser plus efficacement des applications Web complexes. Ce stage vous présentera les aspects techniques de Symfony et vous montrera comment le mettre en oeuvre pour créer des applications. Pré-requis Bonnes connaissances de PHP. Connaissance de base de la programmation orientée objet. 1) Du PHP # à plat # à la structure MVC 2) Le Templating avec Symfony 3) L'environnement de travail Symfony 4) Le routing et le protocole HTTP 5) L'abstraction Objet-Relationnel 6) L'installation du framework 7) L'admin generator 8) Les tests 9) Le cache 10) L'internationalisation et la localisation 1) Du PHP # à plat # à la structure MVC - Comprendre la séparation en couches. - Mettre la logique métier dans des classes. - Utiliser la syntaxe PHP alternative pour les templates. - Découper un projet en niveaux application, module, action. - L'arborescence des fichiers d'un projet Symfony. - Lier des pages entre elles. - Comprendre la théorie du design pattern MVC. 2) Le Templating avec Symfony - Utiliser un helper et un helper group. - Construire un formulaire avec des helpers. - Concevoir des templates modulaires. - Utiliser le view.yml pour modifier la vue. 3) L'environnement de travail Symfony - Utiliser plusieurs environnements de développement. - Comprendre le déroulement d'une requête avec la web debug toolbar. - analyser les requêtes avec les fichiers de log. - Apprendre la syntaxe YAML. - Comprendre le cache de la configuration et symfony cc. - Explorer les fichiers de configuration. - Utiliser la ligne de commande Symfony. - Déboguer une application Symfony. 4) Le routing et le protocole HTTP - Comprendre ce qu'est une URL. Le get et le post. - Utiliser Apache et le rewriting d'URL. - Utiliser un helper pour formater les requêtes sortantes. - Comprendre le front controller. - Comprendre le routing bidirectionnel. - Distinguer un redirect et un forward. - Ajouter une extension à une page. - Utiliser le routing pour gérer une arborescence de navigation. 5) L'abstraction Objet-Relationnel - Manipuler des objets métier. - Se protéger des injections SQL. - Abstraire le SQL pour pouvoir changer de base de données. - Ecrire un schéma relationnel pour Doctrine. - Connecter une application à une base de données. - Générer un modèle objet. - Utiliser les classes générées par Doctrine. - Utiliser l'objet Doctrine_Query pour requêter la base de données. - Traduire une requête SQL en requête objet. 6) L'installation du framework - Installer Symfony depuis une sandbox, PEAR, SVN. - Initialiser un projet, un module, un suivi de version. - Configurer un serveur web. - Mettre à jour Symfony. - Installer Symfony sur un serveur de production. Synchroniser deux installations. 7) L'admin generator - Générer ou initier un module. - Initier une administration. - Explorer le code généré. - Utiliser le generator.yml pour modifier le code généré. - Modifier la vue liste et la vue edit. - Personnaliser des templates. Utiliser des thèmes. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 59 / 65 \ÊÜÜܰpdfediting.com - Comprendre les templates de templates. 8) Les tests - Valider un élément de code avec un test unitaire. - Utiliser lime et la ligne de commande symfony test:unit, test:functional et test:all. - Valider une fonctionnalité avec un test fonctionnel. - Utiliser l'objet sfTestBrowser pour simuler une navigation entre des pages. - Vérifier un élément de page avec le Dom CSS Selector. - Automatiser les tests. 9) Le cache - Mettre en cache le résultat de requête, une page avec ou sans layout, un composant de la vue. - Explorer l'arborescence des fichiers cachés. 10) L'internationalisation et la localisation - Identifier les textes de l'interface à traduire (__()). - Traduire une interface avec un dictionnaire XLIFF. - Formater automatiquement une date, un nombre, un montant. Stocker des informations différentes selon la localisation. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 60 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : RUB Ruby On Rails, développement Web Participants OBJECTIFS Ce stage s'adresse à tous les programmeurs, Web développeurs et Webmasters désirant concevoir des sites Internet orientés Web Services avec l'un des meilleurs Frameworks du moment. Ce stage vous apprendra à maîtriser le Framework Ruby On Rails (RoR) pour développer vos applications Web. Vous verrez comment tirer parti de la simplicité et de la rapidité d'utilisation de RoR pour créer des applications riches et évolutives en utilisant le modèle MVC, et pour les connecter à des Services Web. Pré-requis Connaissances de base d'HTML, de JavaScript, d'un langage de développement côté serveur et en administration d'un serveur Web. 1) L'architecture 2) Installation et configuration 3) Découverte et prise en main du framework 4) Action Controller 5) Action View 6) Bases de données Active Record 7) Ror, Ajax et les services Web 8) Synthèse 1) L'architecture - MVC : modèles, vues et contrôleurs. - Active Record : modèle Rails. Action Pack : vue (RHTML et RXML) et contrôleur Rails. - Structure des répertoires. 2) Installation et configuration - InstantRails : Ruby on Rails, MySQL, "Apache"... - Environnement d'exécution. - Outil de ligne de commande. - Les éditeurs (RadRails, Komodo, jEdit...). - Bases de données supportées (MySQL, PostgreSQL, Oracle, SQL Server...). - Paramétrage d'une base de données. - Paramètres de configuration. - Première application. 3) Découverte et prise en main du framework - Conventions de nommage. Fichiers journaux. URL de requêtes. Embedded Ruby (ERb). - Fonctionnement d'une application Rails. - Extensions des bibliothèques d'active support (String, Number, Date, Time...). Prise en charge UNICODE. 4) Action Controller - Bases. Routage de requêtes (map.connect, génération d'URL, routage ressources, la méthode GET). - Méthodes d'action (environnement du contrôleur, réponse utilisateur et formats). - Sessions et cookies. Gestion du cache. Les filtres. 5) Action View - Les formats (builder vs RHTML). Les assistants (Helpers). - Les formulaires (personnalisés, encapsulant des objets, modèles multiples, gestion des erreurs). - Les fichiers. Création de formats dynamiques. 6) Bases de données Active Record - Les tables et classes. Les colonnes et attributs. - Les clés (id, primaires, étrangères...). - Les relations (belongs_to, has_one, has_many...). - Jointures multiples. Acts as List/Tree. - Les connexions de BdD. - Le CRUD (Create Release Update Delete). - Transactions et validation. - Trucs et astuces de BdD. 7) Ror, Ajax et les services Web - Prototype et ScriptAculoUs (scripts et assistants). - Formats Rjs (CRUD, interaction JS directe). - AWS, SOAP, XML-RPC et REST. - L'API WS Rails. - Modes de routage (direct, délégation...). - Les clients de services Web. 8) Synthèse - Créer une application RoR complète. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 61 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : GRG Grails, développement d'applications Web Participants OBJECTIFS Développeur Web, architecte applicatifs. Le Framework Grails a été conçu pour faciliter la mise en oeuvre d'applications Web au moyen du langage Groovy, de Spring et Hibernate, deux frameworks parmi les plus utilisés du marché. Cette formation vous détaillera son utilisation et les bonnes pratiques à mettre en oeuvre pour assurer la robustesse et l'extensibilité de vos applications. Pré-requis Bonne connaissance du langage Groovy et des concepts des technologies Java Web (Servlet, JSP et tags). 1) Introduction 2) Grails : premier pas 3) Modèle métier 4) Application des concepts Grails 5) Compléments 1) Introduction - La plateforme JavaEE. - Les technologies Web : Servlet, JSP et taglib. - Design Pattern MVC. - Le framework Rails. - Fondements du framework Grails. - Grails : fonctionnalités et positionnement. - Les bases du langage Groovy. Travaux pratiques Mise en place de l'environnement (JDK, Groovy, Grails, Eclipse...). 2) Grails : premier pas - Structure d'un projet. - Modèle métier, les contrôleurs et les vues. - Eléments de configuration. - Les utilitaires Grails en ligne de commande. - Intégration avec l'IDE Eclipse. Travaux pratiques Développer une application simple Grails. 3) Modèle métier - Mécanisme de mapping Objet-Relation avec GORM (Entités, associations, héritage,...). - Validation des données. - Implémentation des opérations CRUD. - Requêtes dynamiques. Travaux pratiques Implémenter une couche d'accès aux données avec GORM. 4) Application des concepts Grails - Scaffholding statique versus Scaffholding dynamique : génération automatique des artefacts (Contrôleurs, Vues,...). - Validation des données de saisie. - Conversion des données. - Gestion des actions (action par défaut,...). - Rendu dynamique :Groovy Scriptlets et GSP. Boîte à outils Grails de tags. Définition des tags personnalisés. Layout et template. Pagination. - Internationalisation. Travaux pratiques Mettre en oeuvre une application utilisant les concepts Grails : Controller, Actions, Views, tags Grails, validation... 5) Compléments - Les concepts d'AJAX. - Gestion des événements. - Intégration avec Ajax : les tags. - Mise en oeuvre des services et tâches. - Injection des dépendances. - Intégration des frameworks : Hibernate et Spring. Travaux pratiques Améliorer l'application développée en intégrant AJAX et Spring. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 62 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : PRL Participants Destiné aux informaticiens concernés par des procédures d'exploitation en environnements Unix, Linux ou Windows. Pré-requis Connaissances de base de la programmation et d'un système d'exploitation (Windows ou Linux/Unix). Langage Perl scripts système Unix/Linux/Windows OBJECTIFS Ce stage vous apprendra à programmer ou maintenir des procédures d'exploitation écrites en Perl. Il permettra de maîtriser le langage lui-même mais aussi de découvrir la "philosophie Perl" avec notamment le recours à un grand nombre de modules permettant d'élargir quasiment à l'infini ses possibilités. 1) Présentation 2) L'essentiel du langage 3) Expressions régulières 4) Fonctions, procédures, modules 5) Gestion des fichiers et des répertoires 6) Interactions avec le système d'exploitation 7) Aspects avancés, bases de données, implémentation objet 8) Scripts Perl dans un contexte Web, module CGI 1) Présentation - Caractéristiques du langage Perl. - Versions, ressources et documentation. 2) L'essentiel du langage - Structure d'un programme Perl. - Scalaires. Premiers opérateurs. - Entrées/sorties de base. Listes et tableaux. - Instructions (tests, boucles, branchements, etc.). - Tableaux associatifs (hachages). Références. 3) Expressions régulières - Panorama des différents motifs. - Utilisation des expressions. - Options de la ligne de commande pour l'interpréteur. - Perl utilisé comme filtre supplémentaire. 4) Fonctions, procédures, modules - Définition des fonctions. Portée des variables, mécanisme d'appel, récupération des résultats. - Utilisation des références. - Notion de "package" et de module. - Modules de la distribution standard. - Modules du CPAN, recensement, documentation, sites de ressources. - Installation de modules. - Utilisation d'un module "classique" et d'un module "orienté objet". - Fabrication d'un module. 5) Gestion des fichiers et des répertoires - Ouverture de fichier et Entrées/sorties. - Informations sur les fichiers. - Gestion des répertoires. - Quelques opérations sur les fichiers. 6) Interactions avec le système d'exploitation - Accès aux informations du système d'exploitation. - Gestion des processus, lancement de commandes du système. - Interactions avec le système Windows (modules Win32 et Win32API). 7) Aspects avancés, bases de données, implémentation objet - Tris personnalisés. - Traitements complémentaires sur les chaînes de caractères. - Structures de données élaborées à l'aide des références anonymes. - Accès aux bases de données à l'aide du module DBI. 8) Scripts Perl dans un contexte Web, module CGI - Protocole HTTP, schéma fonctionnel CGI. - Le module CGI. - Variables d'environnement, méthodes GET et POST. - Traitement des formulaires, exploitation des résultats. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 63 / 65 \ÊÜÜܰpdfediting.com Stage pratique Réf : KWC Cycle certifiant Développeur Web côté client OBJECTIFS Participants Concepteurs et informaticiens désireux de maîtriser les techniques permettant de développer des sites Web interactifs en HTML, XHTML, CSS, JavaScript, et Ajax. Pré-requis Informaticiens connaissant les principes de l'Internet et ayant des bases en développement. La pratique d'un langage de programmation sera un plus. Ce cycle très complet vous apprendra à créer des sites Web interactifs, en mettant en œuvre HTML, XHTML, CSS, JavaScript et Ajax. Vous verrez les fonctionnalités proposées par l'atelier Dreamweaver CS3 pour créer vos pages ainsi que le langage JavaScript pour augmenter l'interactivité de vos sites Web. 1) Les technologies du Web 2) La création de pages et de sites Web 3) Le HTML dynamique et le JavaScript 4) La programmation Ajax 1) Les technologies du Web - Les protocoles Internet : HTTP, FTP, NNTP, SMTP, POP3. - Le fonctionnement du Web. Postes clients et serveurs. - Les sites Web : Intranet, Internet, Extranet, B2B, B2C. - Plateforme d'hébergement, navigateurs et langages. 2) La création de pages et de sites Web Le studio Dreamweaver - Présentation de la gamme Macromédia. Dreamweaver. - Prise en main de Dreamweaver. - Création d'un site Web : choix techniques, compatibilité. - Conception graphique HTML : images, liens, ancres… - Description des langages HTML et XHTML. - Publication du site et maintenance du code. La composition de pages à l'aide des ateliers - Création d'un modèle de page. - Import externe de pages. Les feuilles de styles CSS. - Création de formulaires. Eléments. Méthodes GET/POST. Design et accessibilité - Construction de la charte graphique. - Règles “d'utilisabilité”. - Création d'un modèle de page avec Fireworks. - La priorité 2 du WAC/W3C. L'interactivité - Intégration d'animations graphiques, de composants graphiques. Les Plug-ins. L'inspecteur de tags. - Le rôle du JavaScript. - Création dynamique de code JavaScript. L'accès aux bases de données - Paramétrage d'une connexion ODBC. Consultation d'une base de données avec Dreamweaver. - Les objets serveurs. - Interrogation SQL sur une table. - Génération de tableaux dynamiques. Utilisation des tables pour des formulaires. L'authentification utilisateur - Gestion des formulaires de login. Contrôle conditionnel d'accès aux pages. Travaux pratiques Création d'un espace de projet de site Web. Développement de pages XHTML, de CSS, de tableaux… Création de formulaire. Test de compatibilité XHTML et d'accessibilité. Création d'un modèle à partir de Fireworks. Reproduire une charte graphique fournie. Intégration de composants multimédias. Connexion à une base de données. 3) Le HTML dynamique et le JavaScript Le contexte et les langages de scripts - Les types de navigateurs et la portabilité. - Les langages de scripts. - Impact de JavaScript sur l'accessibilité. - ECMAScript et émergence d'ActionScript. . - Importance de XHTML sur l'utilisation de JavaScript. - Méthode de développement JavaScript en équipe. - Positionnement et illustration des technologies DHTML. Le langage JavaScript - Concepts de la programmation Objet. - Syntaxe : les types, les variables, les bibliothèques, les opérateurs, les tableaux, les matrices de stockage, les itérations, les fonctions. La gestion des erreurs. - Accès aux ressources du navigateur : plug-ins… La gestion de formulaires HTML - Manipulation de contenu de formulaires. - Fonctions de validation de formulaire. - Evénements liés aux éléments de formulaire. L'interaction avec les feuilles de style en cascade `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 64 / 65 \ÊÜÜܰpdfediting.com - Outils pour manipuler les feuilles de style. - CSS multiples, héritages multiples, règles de priorité. - Les blocs de texte, les calques et les couleurs… - Accès et modification des styles. Les parseurs et DOM - Rappel sur les parseurs XML. - Point sur le XML, les DTD et les XML-schéma. - Document Object Model. Manipulation du DOM. Les événements et données - Organisation des événements. - Comment programmer des écouteurs d'événements. - Les traitements événementiels JavaScript. - Les redirections http. Gestion des cookies. Travaux pratiques Mise en œuvre des différentes fonctionnalités JavaScript. Conception de fonctions personnalisées contrôlant les activités de l'utilisateur. Manipulation de feuilles de style via JavaScript. Manipulation du DOM. Gesttion d'événements sur les éléments du formulaire. 4) La programmation Ajax Ajax - Présentation d'Asynchronous JavaScript And XML. - Objectifs. Principes de fonctionnement. - Force du mix technologique Ajax/REST/Web 2.0. - Présentation Ajax (GMail, GMaps, Google Suggest…). Rappel XML - La structure XML. XML bien formé et validé. - Les moyens de validation XML : DTD et XSD. JavaScript Object Notation (JSON) - Objets, Arrays, syntaxe et parseur JSON. - JSON, avantages et inconvénients. Les traitements XML en JavaScript - Présentation XSLT et le langage XPath. - Le format RSS. XMLHttpRequest - La classe XMLHttpRequest. Créer un objet. - Dialoguer en mode synchrone/asynchrone avec le serveur. Les frameworks Ajax - Pourquoi utiliser les frameworks. - Les frameworks côté serveur et hybrides. - Frameworks PHP, Java, .NET, ColdFusion. - Les frameworks Dojo Toolkit, Rico, Rialto, Atlas... Ajax et la cartographie - Création de cartographie à partir de l'API de Google. Création de Markers. Zoom. Géocoder. Travaux pratiques Création d'une structure XML bien formée et validée. Mise en œuvre. Traitement XSLT. Utilisation de flux RSS. Création d'un formulaire de login. Remplissage dynamique d'un menu déroulant. Traitement de données RSS à partir de flux Ajax. Création en JavaScript d'une application de cartographie. `Ìi`ÊÜÌ ÊÌ iÊ`iÊÛiÀÃÊv vÝÊ*ÀÊ*Ê`ÌÀÊ Animateur: Abdallah Touili, Ing.Développeur-Formateur-Consultant www.menarainfo.com /ÊÀiÛiÊÌ ÃÊÌVi]ÊÛÃÌ page 65 / 65 \ÊÜÜܰpdfediting.com