s agiles Pratiques agiles Développement Web Développement mobile Marketing digital Sommaire Index Architecture Java & C++ Java EE & Frameworks Big Data & NoSQL Microsoft.Net Analyse & conception
Sommaire Index Sommaire MAD SEAN PURE REGO BIG METAGIL SPP SPO LSD BAN MAGI PIL TDR TDD USIL COQ DEVO AUX TIWEB TITOU ALI JEA PUMA URBA SUMO INDE REQOOA OOAD ADP JOD IJOP AJOD CLEO XJAVA ECOD PREFC Marketing digital Marketing digital : stratégies, enjeux, outils Optimiser le référencement d un site Web et analyser son trafic Les réseaux sociaux et l e-réputation Les critères ergonomiques : une méthodologie simple et efficace Développez votre business grâce au Big Data s agiles s agiles de développement logiciel Scrum pour gérer vos projets agiles Devenir Scrum Product Owner Mettre en oeuvre le Lean Software Development Améliorer son cycle de développement avec le système Kanban Management agile Facilitation Scrum et jeux agiles Pratiques agiles Acceptance Test Driven Development ou la gestion des exigences dirigée par les tests Test Driven Development ou le développement piloté par les tests Usine logicielle Java Qualité du code dans les projets Java DevOps, pour délivrer en continu Intégrer l expérience utilisateur agile dans vos projets (Agile UX) Architecture Introduction aux architectures et technologies du Web Introduction technique aux clients Web riches Architecture logicielle Architectures d entreprise Java EE Programmation multi-paradigme Approche agile de l architecture et de l urbanisation des systèmes d information Modélisation fonctionnelle d une architecture orientée service (SOA) L indexation de A à Z : développez votre solution de recherche Analyse & conception Modéliser les besoins et analyser avec UML Analyse et conception avec UML Concevoir avec les Design Patterns Développement Java et C++ Java et la conception objet Programmation intensive avec Java / Java EE Atelier Java avancé Programmer avec les nouveautés Java Extrême Java L essentiel de C++ et la conception objet Programmation efficace et avancée en C++ Java EE et Frameworks JSF Développement d applications Web avec JSF SPRI Développement avec le Framework Spring PERIB Gestion de la persistance avec JPA et Hibernate GWT Développer une application Web avec Ajax et GWT EVI Développer une application avec Java EE 6 WSERJ Développer des Web Services en Java Développement Web HWEB Développement de pages Web avec HTML et CSS JASI Développement client avec JavaScript et Ajax JAJA Développement JavaScript avancé RESI Programmer avec jquery HIT Développer avec HTML5 et CSS3 STAX Développer une application Web Full JavaScript NODE Développement Web avec Node.js WEHA Hacking des applications Web Microsoft.Net C#OD C# et la conception objet ICOP Programmation intensive avec le Framework.Net INXS Programmation extrême en C# LINQ Gestion des données avec Linq ASP.NET Développement d applications Web avec ASP.NET ASM Développement d applications Web avec ASP.NET MVC 4 WPF Développer des applications graphiques avec WPF WCF Communication inter-applicative avec WCF WINE Développer une application Windows Store UNET Usine logicielle.net Développement mobile MOBI Introduction à la mobilité IPO Développement d une application sur iphone et ipad APO Utiliser les API avancées sur iphone et ipad GAD Développer avec Google Android WIP Développer une application pour Windows Phone 8 MIKA Développer une application Web pour iphone, ipad et Android Big Data TINOS Introduction aux bases de données NoSQL ASQ Développement d applications Big Data avec Hadoop MING Développer avec MongoDB NEO Développement d applications avec Neo4j NOUVEAUTÉ ÉTAT DE L'ART Le groupe Valtech Valtech Training en quelques mots Formation sur mesure Coaching Informations pratiques Bulletin d inscription
Sommaire / Index Solutions de financement Comment commander Suivante Sommaire Index.Net et.net Framework A Agile (méthode) Ajax Analyse et conception Analyse objet 76 Android Architecture Java EE Architecture logicielle Architecture orientée service ASP.NET ASP.NET MVC B Backbone Big Data (introduction) 72 Big Data (technique) BPM C C# C++ (développement 1er niveau) C++ (développement avancé) Cas d utilisation CDI ou Contexts and Dependency Injection CSS CSS3 D Design Patterns Devops Diagramme UML Dot Net et Dot Net Framework E EJB 3 Ergonomie Expérience utilisateur (agile UX) Expérience utilisateur (ergonomie) F Facelet Facilitation Fit et FitNesse G GWT ou Google Web Toolkit H Hacking Hadoop Hbase Hibernate HTML HTML5 I IIS Indexation Intégration continue (.Net) Intégration continue (Java) ipad / iphone (développement 1er niveau) ipad / iphone (développement avancé) J Java Java EE ou J2EE JavaScript (développement 1er niveau) JavaScript (développement avancé) Jersey JQuery JqueryMobile JSF JSP JUnit K Kanban L Lean Linq M Mango Marketing digital Maven Metro Microsoft.Net Mock Object MongoDB Modélisation métier N Neo4J Node.js NoSQL O O/R (Objet / Relationnel) mapping P Persistance PHP Product Owner Prototype Puppet Q Qualité R Refactoring Réseaux sociaux REST S Scrum Scrum Product Owner Sécurité Servlet SOA SOAP Solr Spring T Tests fonctionnels Tests unitaires U UML Urbanisation Use Case Usine logicielle (.Net) Usine logicielle (Java) UX ou User experience W WCF Web Analytics Web Services (.Net) Web Services (Java) WebForms WIN RT Windows Phone 8 WPF Le groupe Valtech Le groupe Valtech Valtech Training en quelques mots Formation sur mesure Coaching Informations pratiques Bulletin d inscription
Sommaire / Index Solutions de financement Comment commander Les technologies et l'agilité au service du digital > Conseil en stratégie de communication > Conception de sites Web > Création graphique > ment Web > Réseaux sociaux et e-réputation > Développement et optimisation de plates-formes digitales > Transfert de compétences 133,7 M (+16%) Forrester classe Valtech parmi le top 12 mondial des agences e-commerce Valtech est distinguée «Adobe Web Experience Management European Partner of the year» 1 565 personnes Naissance... et déjà une orientation «100% nouvelles technologies» 1 ère implantation à l étranger Valtech s impose comme un acteur majeur sur Java Introduction en bourse Appropriation et diffusion des méthodes itératives et incrémentales de gestion de projet Intégration de la 1 ère Web Agency Généralisation de SCRUM et des méthodes agiles au sein du groupe Le seuil des 350 collaborateurs dédiés à l activité e-business est dépassé Lancement de l offre marketing digital Intégration de l agence interactive allemande H2O Media Valtech rejoint la fédération du e-commerce et de la vente à distance. Le magazine Contagious décerne à Valtech le «Most Contagious Retail Prize» pour le projet Audi City. 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 > 20 ans d'histoire... Le groupe Valtech Valtech Training en quelques mots Formation sur mesure Coaching Informations pratiques Bulletin d inscription
Sommaire / Index Solutions de financement Comment commander Suivante Le spécialiste de la formation aux techniques innovantes de développement logiciel et pionnier du marketing digital > s agiles de gestion de projet > Développement d application > Développement Web > Développement mobile > Marketing digital 54 jours de R&D par formatteur par an 7 000 personnes formées 96,53% des participants «prêts à recommander la formation qu ils ont suivis» Animations à Paris, Toulouse ou sur site > Ils nous font confiance : Adobe, Aeroport De Paris, AG2R La Mondiale, Airbus, Airial, Alcatel Lucent, Alsy, Alten, Apside, Astrium, Atos Origin, Ausy, Axa, Berger Levrault, BNP Paribas, Bureau Veritas, Capgemini, Capital Games, Cassidian, CEA, Cegedim, Cisco Video Technologies, CNES, Commission Europeenne, Comverse, Concept Multimedia, Cour De Justice Europeenne, CP Georges Renault, Credit Agricole, Criteo, CS Systemes D information, Dassault Data Services, Dekra Automotive, Diagnostica Stago, DSNA, EADS, Eden Games, EDF, Efluid, ENAC, Etat De Geneve, Europcar, European Aviation Safety Agency, European Chemicals Agency, Extia, France Telecom, France Televisions, Freescale, Fusion For Energy, Gemalto, General Electric, Generali, Generix, GFI Bus, GFI Informatique, GIE Sesam Vitale, GIE Si2m, Groupama, Groupe Open, Hager Controls, HES-SO Valais, Hoffmann La Roche, Hologram Industries, HR Access Solutions, ICDC, IFP, Ineo Systrans, Infomil, Infotel, Intuilab, Itesoft, Kheops Studio, Kompass, La Poste, LCL, Mairie De Paris, Mappy, MBDA, Mediametrie, Meteo France, Michelin, MIPIH, Myriad, Nagra, Natixis, Neo-Soft, Netsize, OAMI, Objet Direct, OCE Print Logic Technologies, Orange, Pacifica, Parlement Europeen, Philog, Pole Emploi, PSA Peugeot Citroën, Rolex, Sanofi- Aventis, Schneider Electric, Segilog, Sigma, SII, Societe Generale, Sogeti, Steria, Stime, Stmicroelectronics, Symphony EYC, Taliance, Technicolor, Thales, Total, Trusted Logic, T-Systems, Turaz, Vente Privee.com Une équipe dédiée à votre service Des niveaux pour tout profil : séminaires, états de l art, architecture, cours de 1 er niveau, formations avancées Un catalogue spécialisé adaptable à votre besoin Une démarche adaptée à l apprentissage des adultes Le groupe Valtech Valtech Training en quelques mots Formation sur mesure Coaching Informations pratiques Bulletin d inscription
Sommaire / Index Solutions de financement Comment commander Suivante Solutions de financement 01 76 21 15 00 (1) Chaque entreprise a l obligation légale de verser une contribution financière au titre de la formation professionnelle. Cette contribution est collectée pour la majeure partie, par les OPCA (Organismes Paritaires Collecteurs Agréés). Ces derniers règlent ensuite le montant de la formation directement à l organisme de formation pour le compte de l entreprise adhérente. C est ce qu on appelle la subrogation de paiement. Votre formation chez Valtech Training, organisme de formation référencé sous le n 119 214 294 92, peut donc être financée, entièrement ou partiellement, par un OPCA. (2) Les périodes de professionnalisation ont pour objet de favoriser, par des actions de formation alternant enseignements théoriques et pratiques, le maintien dans l emploi des salariés en contrat à durée indéterminée, notamment ceux qui comptent 20 ans d activité professionnelle ou qui sont âgés d au moins 45 ans et disposent d une ancienneté minimum d un an de présence dans la dernière entreprise qui les emploie. (3) Le droit individuel à la formation permet à tout salarié de se constituer un crédit d heures de formation de 20 heures par an, cumulable sur six ans dans la limite de 120 heures. Le financement est assuré par l entreprise et la subrogation (1) est possible. l'objectif l'action Toutes nos formations peuvent faire l objet d une prise en charge par un OPCA. Faire évoluer les compétences des salariés Plan de formation de l entreprise L'entreprise Favoriser le maintien dans l emploi des salariés en CDI relevant de catégories prioritaires l'objectif l'action Période de Professionnalisation (2) Le financement est assuré par l entreprise et la subrogation (1) est possible. Valtech Training propose des cursus adaptés aux périodes de professionnalisation. l'objectif l'action Qui est à l initiative de la formation? Le salarié La profession libérale Etre acteur de son évolution professionnelle Développer ses compétences l'objectif l'action Droit individuel à la formation (DIF) (3) Subrogation (1) Le financement est assuré par l entreprise. Toutes nos formations peuvent être suivies dans le cadre du DIF. C est d ailleurs à cet effet que sont indiquées les durées de chaque cours en heures. Valtech Training propose des tarifs spéciaux pour les indépendants et les professions libérales. La formation peut également être financée par l'opca PL ou le FIF PL par exemple. Le demandeur d'emploi Augmenter son employabilité l'objectif l'action Financement par les aides publiques Valtech Training propose des tarifs spéciaux pour les demandeurs d emploi. La formation peut être prise en charge par Pôle Emploi, La Chambre de Commerce de d Industrie, le Conseil Général et le Conseil Régional. Le groupe Valtech Valtech Training en quelques mots Formation sur mesure Coaching Informations pratiques Bulletin d inscription
Sommaire / Index Solutions de financement Comment commander Suivante Comment commander Sélection de votre formation Réservation Commande > Par famille : Les intitulés des formations, qui peuvent d un simple coup d œil vous aider à réaliser une première sélection, sont regroupés par famille dans le sommaire. > Par mot-clé : Si votre demande porte plus précisément sur une technique ou une technologie, nous vous suggérons de vous rendre à l index qui permet de retrouver un cours à partir d un mot-clé. > Contact direct : Bien sûr, vous pouvez nous poser directement votre question par téléphone ou par e-mail (voir coordonnées). Les capacités de nos salles varient de 8 à 14 places. Avant toute commande, nous vous recommandons donc de valider auprès de notre équipe la disponibilité des places sur la session. Si une formation n apparaît pas en interentreprises dans la ville qui vous intéresse, contactez-nous. Nous envisagerons alors la programmation d une nouvelle session à la date de votre choix. Pour passer commande, vous pouvez, au choix, utiliser le bulletin d inscription (disponible également sur notre site Web), un bon de commande propre à votre entreprise ou contresigner notre convention de formation. En cas de subrogation auprès d un OPCA l accord de prise en charge émis par l organisme paritaire doit nous parvenir avant le début de la formation. En revanche, si le délai est trop court pour constituer un dossier avant le début de la session, il vous sera également possible de procéder à une demande de remboursement auprès d un OPCA à l issue de la formation. Notre équipe est à votre disposition pour vous aider à préparer les démarches auprès de votre OPCA et vous fournir les renseignements et documents pour constituer les dossier. Convocations Facturation > Astuce : Afin de valider vos pré-requis, rendez-vous sur notre site Web pour passer des tests en ligne. Vous pouvez aussi prendre contact avec notre équipe commerciale qui vous mettra en relation avec un consultant - formateur. La convocation à la formation est transmise deux semaines avant le début de la session. Par défaut, elle est envoyée au responsable de l inscription et, sur demande, au futur participant. Elle reprend notamment les informations concernant le lieu, les horaires, le plan d accès La facture est envoyée dans les jours qui suivent la formation. Elle est accompagnée de la feuille de présence signée par le participant et d une attestation de stage. Le groupe Valtech Valtech Training en quelques mots Formation sur mesure Coaching Informations pratiques Bulletin d inscription
Sommaire / Index Solutions de financement Comment commander Suivante La richesse de l offre présente dans ce catalogue suffit à répondre directement à la plupart des demandes. Nous sommes également réceptifs aux besoins spécifiques. Aussi nous mettons à votre disposition l ensemble de nos compétences pour répondre à une demande particulière et mettre en oeuvre notre service d ingénierie de formation. Bien évidemment, ces projets de transfert de compétences nécessitent une validation et technique préalable ainsi qu une forte implication réciproque. Le groupe Valtech Valtech Training en quelques mots Formation sur mesure Coaching Informations pratiques Bulletin d inscription
Sommaire / Index Solutions de financement Comment commander Suivante «La mise en place du développement Agile est une transformation profonde et riche de défis pour nos centres R&D partout dans le monde. Notre ambition à l égard de nos équipes logicielles est d adopter les valeurs Agiles et de mettre en œuvre les bonnes pratiques afin de décrocher de nouveaux contrats, de mieux connaître nos clients et de s adapter rapidement aux évolutions du marché. Nous avons identifié que la qualité de la formation et du coaching était un facteur déterminant pour assurer une transformation réussie. À l issue d un processus de sélection minutieux, Valtech est apparu comme un choix évident pour nous, par sa capacité à comprendre et à aborder nos défis (taille et vitesse de déploiement international, diversité culturelle et technologique )». Erick Bergmann Responsable du programme «Agile Offer Creation» Schneider Electric Vous aussi, Valtech Training peut vous accompagner > Transformation agile de l entreprise > Encadrement de développements Java, C#, C++ ou mobiles pour ios, Android, Windows Phone > Assistance au démarrage avec GWT, Hibernate, Spring > Aide à la sécurisation d application Web > Conseil digital performance > Etc. Contactez-nous : 01 76 21 15 00 Le groupe Valtech Valtech Training en quelques mots Formation sur mesure Coaching Informations pratiques Bulletin d inscription
MAD SEAN PURE REGO BIG Marketing digital : stratégies, enjeux, outils Optimiser le référencement d un site Web et analyser son trafic Les réseaux sociaux et l e-réputation Les critères ergonomiques : une méthodologie simple et efficace Développez votre business grâce au Big Data
2 jours 14 heures Marketing digital : stratégies, enjeux, outils Marketing digital MAD Responsable marketing ou communication, décideurs du digital Aucun Présentations, discussions et démonstrations 1 720 HT La transformation digitale dans les entreprises est le nouveau défi pour éviter un scénario à la Kodak. Ainsi, les marques doivent intégrer progressivement l'écosystème digital dans leur processus métier pour répondre aux changements constants des modes de consommation. Mais si les Smartphones et les réseaux sociaux sont devenus les compagnons de vie et d'action de toute une génération, cela ne signifie pas pour autant la mort des solutions de publicité en ligne plus traditionnelles. Maîtriser les différents leviers de recrutement et de fidélisation de vos cibles par le biais du marketing digital et de la mise en oeuvre d'une plateforme digitale revêt donc une importance capitale. Au cours de cette formation, vous ferez un tour d'horizon des vecteurs de transformation digitale d'aujourd'hui et de demain. Les réflexions menées autour de ces sujets vous aideront à définir votre feuille de route stratégique et opérationnelle sur le digital selon vos objectifs et vos budgets. Dans un souci d'efficacité, vous mettez en perspective les best practices du marché par rapport à vos dispositifs actuels pour juger de la pertinence de vos objectifs et réfléchir aux pistes d'amélioration. - Optimiser vos canaux d'acquisition - Maîtriser les canaux de la relation client de demain - Connaître les dernières tendances du marketing digital - Comprendre l'impact des réseaux sociaux dans un plan média - Estimer l'efficacité des leviers du marketing digital - Juger de la complémentarité des outils actuels Le marché du digital et ses mutations - Les grandes évolutions du digital - Des études de cas de la transformation digitale - Les dernières tendances - La nouvelle grille de lecture marketing Publicité on-line - Les fondamentaux du display - Les nouvelles formes de display avec l avènement du mobile et des médias sociaux - Règles du médiaplanning - Outils d Adserver et mesure de la performance - Des études de cas de campagnes - L avènement de l Adexchange Programmes d affiliation - Définir un programme d affiliation - Recruter et fidéliser des affiliés - Mettre en oeuvre des campagnes d affiliation - Les mécaniques économiques Un pilier : le SEM - Des liens sponsorisés (SEM) aux bonnes pratiques pour le référencement (SEO) - Optimisation du référencement - Evolution du référencement naturel - Gérer et optimiser ses campagnes de liens sponsorisés - Des études de cas de campagnes d Adwords Web Analytics - Les fondamentaux de l Analytics - De l Analytics au Social Media Analytics - Opportunités pour les marques - Exemple de dashboard personnalisé Créer une organisation centrée sur les données - Les nouvelles règles de gestion de la donnée à l ère du marketing digital - Les nouvelles opportunités du marketing - Les règles pour suivre le parcours accidenté du consommateur - Big Data : le renouveau créatif du marketing 2014 2014 JAN 21 FEV 06 MARS AVRIL 10 MAI JUIN JUILL 10 AOUT SEPT OCT 20
2 jours 14 heures Optimiser le référencement d un site Web et analyser son trafic Marketing digital SEAN Chefs de projets, responsables marketing, responsables communication on-line, responsables e-business, référenceurs Aucun 50% de travaux pratiques 1 720 HT Les moteurs de recherche constituent la première source d'information des internautes. Parmi eux, Google truste 90% des requêtes. Dès lors, investir dans le référencement naturel, également appelé SEO (Search Engine Optimization) pour apparaître dans les premiers résultats, est une priorité forte pour les entreprises. Ce véritable défi nécessite cependant une connaissance de plus en plus pointue en matière de stratégie de référencement. De la même manière, les liens sponsorisés sont un complément promotionnel utile au SEO pour toucher un trafic ciblé. Il convient d'en maîtriser les techniques pour gagner les positions les plus rentables et, in fine, diminuer son coût d'acquisition. La première journée de cette formation sera consacrée à la définition et à la mise en place des bonnes pratiques dans les domaines du référencement naturel et du référencement payant. La seconde traitera de la problématique du Web analytique c'est-à-dire de l'ensemble des données relatives au comportement client ; données issues des différents supports de la marque et donc des différents Devices (ordinateurs, Smartphones, tablettes...). Il s'agira de définir les bons indicateurs (KPI), de savoir interpréter les informations collectées et surtout de mettre en place des actions d'optimisation afin d'atteindre plus efficacement le retour sur investissement des activités digitales, quel que soit le canal d'acquisition. Emaillée de nombreux cas pratiques, cette formation vous permettra d'apporter les réponses aux questions que vous vous posez :"Quels éléments contrôler dans la durée pour optimiser ma marque dans les moteurs de recherches?", "Comment adapter une stratégie SEO selon l'évolution des moteurs de recherche?", "Quels indicateurs sont les plus pertinents selon mon activité?", "Comment maximiser le potentiel de Google Analytics? ", "Comment mesurer le R.O.I. de mes actions digitales?". Le SEO ou référencement naturel - Maîtriser les fondamentaux pour faciliter l indexation - Attirer et convertir les internautes par le contenu - Créer et optimiser les Backlinks pour favoriser la popularité du site Le SEA ou référencement payant - Focus sur le fonctionnement de Google Adwords - Réussir et améliorer les résultats d une campagne de liens sponsorisés - Utiliser tout le potentiel des outils Le SMO ou référencement dans les réseaux sociaux - Mettre en place Opengraph et comprendre son impact - Entretenir sa visibilité dans les réseaux sociaux - Mesurer et interpréter les actions dans les réseaux sociaux Web Analytique ou la mesure du comportement des visiteurs - Les différents outils du marché, les tendances et les notions - Indicateurs clés de performance ou KPI (visites, pages vues, taux de rebond) - R.O.I. des campagnes marketing - Tirer profit des données de Web analytique Configurer Google Analytics - Plan de marquage - Installer Google Analytics et comprendre les fonctionnalités clés - Scénarios d implémentation avancés Méthodologie d analyse - Rapport personnalisé et opérationnel - Leviers d optimisation des sources de trafic et du taux de conversion - Analyse des indicateurs de performance : chemins de conversion direct et indirect, sources de trafic multicanaux, filtres avancés - Concevoir un site pour être visible dans Google - Créer et évaluer des campagnes de liens sponsorisés - Maîtriser le Web Analytics - Définir des indicateurs clés (KPI) - Optimiser les performances d'un site et d'une campagne marketing 2014 2014 JAN 05 FEV 13 MARS AVRIL MAI JUIN JUILL AOUT SEPT OCT 23
2 jours 14 heures Les réseaux sociaux et l e-réputation Marketing digital PURE Responsables marketing, chargés de communication interne et externe Aucun Présentations, discussions et démonstrations 1 720 HT L'importance des médias sociaux n'est plus à démontrer. Au-delà des expériences personnelles que nous avons tous plus ou moins en tant qu'individus, vient la question du Social Media Marketing, ou comment tirer parti au mieux de ces gisements d'audiences pour servir les objectifs d'une marque et d'un annonceur. Une fois l'étude des espaces de communication participatifs effectuée, vous serez prêts pour traiter les questions suivantes : Que dit-on de ma marque? Et surtout, comment le dit-on? Nous vous donnerons la possibilité de comprendre les différents mécanismes de l'e-réputation, de savoir appréhender les risques associés à des opinions négatives émises sur votre marque et de définir une stratégie de prise de parole sur les espaces sociaux. Cette formation s'adresse à toute personne dans l'entreprise désirant comprendre les enjeux et les opportunités liés aux réseaux sociaux dans le cadre professionnel, en tant que support à une stratégie marketing. - Acquérir la compréhension des bases du Social Media Marketing et de l'e-réputation - Découvrir un ensemble de conseils et de bonnes pratiques directement applicables - Vous familiariser avec les principaux réseaux sociaux et leurs points d'accroche pour une stratégie online Revue de tendances - Définition du Social Media Marketing - Bonnes et mauvaises pratiques Réussir avec le Social Media Marketing - Principes de base - Cas d usage Revue de détail des principaux réseaux sociaux - Twitter - Facebook - LinkedIn et Viadeo - Challengers et réseaux émergeants Quel réseau pour quelle audience? - Authoring et publication - Recherche et écoute - Analyse et suivi - Outils de Social Media Management Organiser sa stratégie de surveillance - Quelle méthodologie? - Quels outils? - Réaliser une topographie du réseau - Exemple de plate-forme de gestion des communautés d influence Mesurer sa présence - Analyse de la notoriété d une marque - Indicateurs clés Analyse de réputation - Importance de la sémantique - Présentation du laboratoire d opinion - Étude de cas : audit d opinion d une marque et de son image auprès des agents influents Construire une stratégie d e-influence - Engager et influencer vos leaders d opinion - Actions sur les communautés sensibles Gestion de crise - Possibilités de renverser un Bad Buzz 2014 2014 JAN FEV MARS 13 AVRIL MAI JUIN JUILL AOUT SEPT OCT 27
2 jours 14 heures Les critères ergonomiques : une méthodologie simple et efficace Marketing digital REGO Développeurs, concepteurs, chefs de projets, architectes, chefs de produits, directeurs marketing Aucun 60% de travaux pratiques 1 720 HT Le monde du Web et des logiciels est devenu un espace de nouvelles attentes en termes de produit. Ainsi, entre deux sites Web concurrents, celui qui aura intégré l'ergonomie dans sa démarche de conception sera évalué plus positivement sur les aspects de facilité d'utilisation et de simplicité. Cette donne place les concepteurs dans une situation complexe. En effet, il est indispensable, d'une part, d'intégrer les contraintes techniques et, d'autre part, de prendre en compte cet utilisateur qui souhaite tout avoir et tout comprendre sans faire d'efforts. Ce cours vous propose d'apprendre une méthodologie d'analyse ergonomique de vos applications qui va vous permettre d'appliquer un premier niveau d'expérience utilisateur ou utilisabilité tout au long du cycle de conception. A l'issue de cette formation, vous serez capables d'appliquer les critères ergonomiques qui vont vous permettre de rendre vos applications à la fois User Friendly mais aussi efficaces et simples d'utilisation. La formation permet de répondre aux questions suivantes : "Quels sont les critères ergonomiques?", "Comment les appliquer dans mon contexte?", "Quel niveau d'utilisabilité dois-je intégrer afin de rendre mon interface User Friendly?", "Quels critères appliquer en fonction de mon interface?", "Quels critères appliquer en priorité lorsque mes délais sont courts?". Définitions de l ergonomie - Des idées reçues - Définition de l utilisabilité - Qu est-ce qu un utilisateur? - Les méthodologies en ergonomie Démarche de conception centrée utilisateur - Norme ISO 13407 - Spécification des exigences liées à l utilisateur et à l organisation - Production de solutions de conception - Test des solutions au regard des objectifs Critères ergonomiques - Pourquoi des critères? - Comment les utiliser? - Quand les utiliser dans le cycle de développement? 8 critères principaux - Guidage - Charge de travail - Contrôle explicite - Adaptabilité - Gestion des erreurs - Homogénéité - Signifiance des codes - Compatibilité - Sous-critères - Pratiquer et maîtriser les critères ergonomiques - Analyser une interface graphique selon ces critères - Effectuer un bilan de votre interface au niveau utilisabilité - Décider des actions à mener en priorisant les critères - Intégrer l'expérience utilisateur dans votre cycle de conception 2014 2014 JAN 05 16 FEV MARS AVRIL MAI 26 JUIN JUILL AOUT SEPT 18 OCT
1 jour 7 heures Développez votre business grâce au Big Data Marketing digital BIG Responsables marketing, responsables CRM, responsables relation client, responsables multicanal, responsables techniques, responsable analytics Connaissance des principes du Web Présentation de cas pratiques, discussions 860 HT Depuis toujours, le responsable marketing utilise et analyse un nombre croissant de données (études de marché, panels, statistiques sur le comportement de l'internaute etc.) pour réaliser des arbitrages opérationnels, s'adapter au besoin du client dans la perspective de vendre mieux et plus. Le Big Data permet de franchir une nouvelle étape : concilier des données volumineuses et hétérogènes, intégrer en temps réel des données produites par le consommateur et surtout détecter les opportunités commerciales invisibles à l'oeil nu. À l'issue de cette formation, vous serez en mesure de définir concrètement ce qu'est le Big Data et d'appréhender ses bénéfices dans une optique 100 % marketing : un meilleur ciblage des offres, un marketing plus efficace et réactif, des services conformes aux préférences et aux profils des clients. Vous saurez aussi comment mettre en oeuvre un projet Big Data au sein des départements métiers et enfin d'identifier les impacts au niveau de l'organisation. Des études de cas seront présentées tout au long de la formation pour illustrer les différents aspects de la mise en place d'une démarche Big Data et les bénéfices attendus pour le marketing dans différents secteurs d'activités. - Définir le Big Data et ses caractéristiques - Comprendre l'impact du Big Data dans le marketing digital - Construire un projet Big Data étape par étape - Convaincre l'interne et le top management des bénéfices du Big Data Qu est-ce que le Big Data? - Chiffres clés du marché - Définition et caractéristiques - Opportunités du Big Data Vision du marché et champs d applications - Big Bang du Big Data - Acteurs technologiques - Open Data - Tour d horizon des exemples à l international Enjeux et gisements de valeur pour le marketing - Représenter sa Data Factory - Appliquer un nouveau mode de pensée - Respecter les données personnelles - Se doter d outils d aide à la décision Démarche d un projet Big Data - Etapes clés du projet Big Data - Focus sur les méthodes d innovation - Commencer petit et voir grand - Impliquer différentes ressources Impacts du Big Data dans l organisation - Placer la vision User Centric au coeur de l entreprise - S appuyer sur de nouvelles compétences - Dissoudre les silos en interne - Faire émerger de nouveaux modèles économiques 2014 2014 JAN FEV MARS 06 AVRIL MAI JUIN 05 JUILL AOUT SEPT 04 OCT 04
METAGIL s agiles de développement logiciel SPP Scrum pour gérer vos projets agiles SPO Devenir Scrum Product Owner LSD Mettre en oeuvre le Lean Software Development BAN Améliorer son cycle de développement avec le système Kanban MAGI Management agile PIL Facilitation Scrum et jeux agiles
1 jour 7 heures s agiles de développement logiciel s Agiles METAGIL Toute personne impliquée dans les projets informatiques et le développement logiciel Avoir participé à un projet informatique 20% de travaux pratiques 708 HT Scrum, XP ou Lean... ces pratiques récentes, dites agiles, bousculent les habitudes de travail et font couler beaucoup d'encre. Tantôt perçues comme des techniques relevant du bricolage, tantôt considérées comme l'état de l'art des pratiques de développement logiciel, elles font dorénavant partie du paysage des projets informatiques. Venez découvrir les fondements de la "philosophie agile", résolument humaniste, centrée sur la qualité, la livraison rapide de fonctionnalités à forte valeur ajoutée et la prise en compte du changement. Une présentation des principales méthodes et de leur positionnement vous familiarisera avec ce qui fait leurs spécificités, leurs différences et leurs interdépendances. Cette journée de formation lucide sur les avantages de l'agilité, apporte des réponses aux questions suivantes : "Quelles pratiques déployer en fonction des caractéristiques des projets?", "Comment anticiper les freins et les risques auxquels une démarche vers l'agilité est confrontée?", "Comment mesurer les bénéfices pour les équipes de développement?", "Comment s'organisent les équipes et la relation client?". Appréhender concrètement les enjeux et les contraintes des projets informatiques d'aujourd'hui Découvrir les valeurs et les principes de la philosophie agile Comprendre les concepts liés à l'agilité : adaptation, communication, livraisons incrémentales, tests, gestion des changements, qualité Reconnaître les spécificités de chacune des méthodes présentées Appréhender les impacts organisationnels Comprendre les mutations qui s'opèrent sur l'équipe projet et la relation avec le client Découvrir les clefs de la contractualisation agile Présenter des arguments pertinents face aux objections des détracteurs potentiels Distinguer l'effet médiatique des vrais bénéfices de ces méthodes L émergence des méthodes légères - Contexte de l industrie du logiciel - Les raisons de l agilité - Histoire des méthodes agiles - L Agile Alliance et le Manifeste Agile Valeurs et principes des méthodes agiles - Les quatre valeurs fondamentales - Les douze principes généraux - L Agile Management : le rôle du chef de projet - La planification agile Panorama des principales méthodes agiles : cycle de vie, rôles et meilleures pratiques - Rational Unified Process (RUP) - Scrum - extreme Programming (XP) - Lean Software Development - Positionnement des différentes méthodes - La miscibilité des méthodes La mise en oeuvre d une méthode agile - Risques et freins : objections et arguments - Etapes de la mise en oeuvre - Agilité et entreprise - Ecarts entre méthodes et mises en pratique - Effet de mode ou bénéfice réel? - Utilisation de l agilité dans les entreprises L agilité et les systèmes qualités - CMMI, PMI, ITIL Contractualisation des projets agiles - La nouvelle façon de penser les contrats - Contrats types 2014 06 JAN FEV 04 MARS AVRIL MAI 06 JUIN JUILL AOUT SEPT OCT 07
3 jours 21 heures Scrum pour gérer vos projets agiles s Agiles SPP Tous les membres d une équipe projet Avoir participé à un projet informatique 40% de travaux pratiques 1 560 HT Le besoin de livrer plus rapidement des applications de qualité qui satisfassent des utilisateurs dont les besoins changent rapidement a conduit à une évolution radicale des processus de développement. En se recentrant sur l'humain (collaboration, feedback) et le produit (adéquation au besoin, qualité) l'agilité a prouvé son efficience opérationnelle. Scrum est indéniablement la méthode le plus répandue aujourd'hui. Associée aux pratiques d'ingénierie d'extreme Programming (XP), il constitue un cadre organisationnel pragmatique et efficace, porteur des valeurs Lean. Ce cours vous permettra d'appréhender les méthodes Scrum et XP, depuis les valeurs et principes agiles qui sous-tendent ces méthodes, jusqu'aux pratiques concrètes de pilotage du projet et d'ingénierie. Au travers de mises en situation, vous assimilerez les rôles, pratiques et outils qui constituent l'environnement d'un projet agile. Parce qu'un processus de développement n'est pas une recette magique, vous serez amené à explorer des variations possibles pour comprendre comment adapter les techniques tout en restant fidèle aux principes et à la rigueur de Scrum et d'xp. Tout au long du cours, des exercices pratiques permettront d'expérimenter les principes agiles, dans un esprit à la fois ludique et sérieux. Ces mises en situation illustreront non seulement l'organisation du travail dans une équipe agile, mais aussi certains points d'ingénierie comme la construction de la vision ou la spécification des besoins. Comprendre les principes et valeurs de l'agilité Connaître les rôles et leurs responsabilités associées Construire la vision du produit et sa stratégie de développement Spécifier les besoins et en gérer efficacement les changements Mettre en oeuvre les pratiques, garantes de l'efficience du dispositif et de la qualité du produit livré Piloter le projet et donner de la visibilité avec des indicateurs et des KPI Elargir ces pratiques à l'écosystème du projet Pourquoi adopter une démarche agile - Raisons d être et bénéfices attendus de l agilité - Origines et histoire de l agilité - Le Manifeste Agile - Valeurs et principes des méthodes agiles Présentation générale de l agilité en action - Vue globale de la méthode Scrum - Rôles - Cérémonies - Principaux artefacts - Notions d extreme Programming - Liens avec le Lean - Notions de Kanban Les rôles - Product Owner - Scrum Master - Team - Droits, devoirs et responsabilités - Communication et leadership Cadrer le produit et démarrer le projet - Etablir la vision - Poser la Roadmap : notion de MVP - Mettre en place l environnement Gérer les besoins - Piloter par la valeur : Lean Design - Rédiger les besoins : User Story et Epics - Prioriser, organiser et entretenir le Product Backlog Estimer et planifier - Planifier les Releases et les itérations - Utiliser les Story Points : le Planning Poker - Organiser et planifier le travail technique Dérouler une itération - Préparer le travail de l itération - Piloter par les tests - Intégrer en continu - Suivre l avancement : Daily Meeting, Kanban et Burdown Chart - Clore l itération : démonstration et rétrospective Piloter le projet - Gérer les risques - Suivre le budget du projet - Ajuster la demande à la capacité - Livrer en continu : notions de Kanban - Déployer au plus vite : l initiative devops L entreprise agile - Gérer en mode agile un programme et un portefeuille de projets - Coordonner des équipes distantes (offshore) - Agile et développement de composants - Les modèles d agilité à grande échelle (SoS, Craig Larman, Dean Leffingwell) - Contractualiser un projet agile - Scrum et les normes qualité - Etendre l agilité aux domaines de l entreprise autres que l IT 2014 TOULOUSE 25 JAN 27 13 FEV 24 MARS 24 AVRIL 28 14 MAI 26 JUIN 23 23 JUILL 21 AOUT 25 SEPT 22 15 OCT 20 17 15
2 jours 14 heures Devenir Scrum Product Owner s Agiles SPO Maîtrises d ouvrage, responsables fonctionnels, directeurs de produit Aucun 40% de travaux pratiques 1 500 HT Les méthodes agiles deviennent courantes sur les projets informatiques. Pour garantir leur efficacité, la totalité des équipes doit comprendre et adhérer aux pratiques mises en oeuvre. Au sein des équipes, Scrum propose un rôle supplémentaire : le Product Owner ou Directeur de Produit. C'est lui qui connaît les besoins des utilisateurs mais c'est également lui qui possède le budget. Bref, c'est le champion fonctionnel qui a la vision, la conviction et les ressources financières pour réaliser un nouveau produit. Ce cours, destiné à ceux qui auront le rôle de responsable fonctionnel (MOA) dans un projet Scrum, permettra de clarifier le travail et les responsabilités de ces derniers. Il y sera question, entre autres, de la gestion des fonctionnalités, de l'implication dans le projet, de la gestion des plannings ou encore des liens avec les utilisateurs. Des exercices ponctuent chaque chapitre afin d'en illustrer les principes et de se familiariser avec les outils et les artefacts de Scrum. Les futurs Product Owners seront ainsi opérationnels tant sur la technique que sur l'organisation de leur travail et sauront adapter leur comportement à leurs équipes. Comprendre le rôle de Product Owner Recueillir et rédiger les besoins Gérer l'évolution des besoins Organiser le travail du Product Owner pour optimiser la valeur Estimer les fonctionnalités Planifier le projet avec l'équipe et le suivre Rédiger des cas de tests agiles Participer aux réunions de fin d'itération Pourquoi l agilité? - Comprendre les faiblesses des processus de développement classiques - Le Manifeste Agile - Valeurs et principes des méthodes agiles Présentation générale de Scrum - Scrum en tant que processus empirique - Cycle de vie de Scrum - Les principaux artefacts - Les rôles Le Product Owner dans un projet agile - Vision et budget - La Roadmap - Communiquer avec l équipe - La qualité - Organiser le travail du Product Owner La gestion des besoins - Le Product Backlog - Recueillir les besoins des utilisateurs - Rédiger et organiser les besoins - Les histoires et les épiques - Rédiger des cas de tests - Prioriser les fonctionnalités - Gérer les évolutions et les anomalies Estimer et planifier les fonctionnalités - La méthode des points relatifs - Ré-estimer les fonctionnalités - Planifier le projet L implication dans une itération - La réunion de planning - Aider l équipe de réalisation - Limites de l intervention d un Product Owner - Comprendre les Burndown Charts - La démonstration et les rétrospectives Suivre le projet - Indicateurs et Key Performance Indicators (KPI) - Suivre la qualité Sujets avancés - Le Product Owner : intégré ou séparé de l équipe? - Tests, acceptance et recette - Une équipe de Product Owners? - Le Product Owner avec des équipes multiples 2014 JAN 16 FEV MARS AVRIL 22 MAI JUIN JUILL 24 AOUT SEPT OCT 16 18
3 jours 21 heures Mettre en oeuvre le Lean Software Development s Agiles LSD Chefs de projets ou d équipe, analystes, testeurs, développeurs, responsables d amélioration des processus, responsables qualité Connaissance des pratiques de développement logiciel 30% de travaux pratiques 2 085 HT Toyota est devenu aujourd'hui le premier constructeur automobile, reconnu à la fois pour la qualité et l'innovation de ses produits. Tout le monde s'accorde à reconnaître que ce succès est dû à son système de production Lean. Cette approche vise à améliorer la qualité et les délais, et à réduire les coûts en tirant le meilleur parti des ressources tant humaines que matérielles en évitant toute forme de gaspillage. Forte de cette réussite, la démarche Lean a, depuis, dépassé les frontières du monde de la fabrication industrielle pour gagner la logistique, la construction et la fourniture de services. Le Lean Software Development est la déclinaison de cette démarche au développement logiciel. Il s'appuie sur les pratiques agiles pour renforcer l'implication des individus, éliminer les activités sans valeur et assurer au plus tôt la qualité du produit en s'inscrivant dans une dynamique d'amélioration continue des processus. L'objectif de ce cours est d'appréhender les principes et diverses stratégies du Lean Software Development et d'en apprendre les pratiques et les outils. Réaliser une Value Stream Mapping sur un processus courant Mettre en oeuvre les principes Lean Software Development pour définir un processus cible Identifier et éliminer les gaspillages Identifier les activités à valeur ajoutée et à non-valeur ajoutée Quantifier les améliorations par la mise en place de mesures Faire intervenir les personnes aux différents stades du processus Les initiatives Lean - Lean Manufacturing (Toyota) - Lean Thinking - Lean Entreprise - Lean Software Development Le positionnement - Se concentrer sur les personnes et le processus - Penser produits et projets Les 7 principes de Lean Software Development et les bonnes pratiques - Éliminer les gaspillages - Favoriser la connaissance - Construire la qualité intrinsèque - Reporter la décision - Livrer rapidement - Respecter les personnes - Optimiser le système dans son ensemble Le centre d intérêt du client - Les 7 gaspillages du développement logiciel - Comprendre la valeur pour le client - La fluidité du processus Les outils - Choisir le projet, la cible, les participants - Créer et utiliser une Value Stream Mapping (VSM), VSM courante et future VSM - Quantifier vos activités et définir vos objectifs de performance de processus - Mettre en place le Visual Management Les mesures - Quantifier les objectifs - Définir et mettre en place les mesures qui alignent les efforts de développement logiciel avec les résultats Business Lean et les autres approches ou méthodes agiles - Lean et Six Sigma - Lean et Scrum 2014 18 JAN FEV MARS AVRIL 22 MAI JUIN JUILL AOUT SEPT 22 OCT
1 jour 7 heures Améliorer son cycle de développement avec le système Kanban s Agiles BAN Chefs de projets, équipes agiles, développeurs, responsables d équipes IT Aucun 30% de travaux pratiques 708 HT Introduit par Toyota pour la gestion de la production juste-à-temps, Kanban s'applique aussi au développement logiciel. Il s'agit de la méthode agile la moins prescriptive. Aucune organisation particulière du cycle de développement n'est imposée. L'idée est de partir du processus existant et, au travers de la visualisation du flux de travail et de la limitation du travail en cours, de faire émerger l'amélioration continue du processus. On constate alors rapidement une diminution du temps de traitement des demandes. Au cours de cette formation vous découvrirez les principes d'un système de production tiré par les flux. Vous saurez analyser la chaîne de valeur de votre processus et apprendrez à concevoir un tableau Kanban. Vous disposerez des concepts nécessaires pour révéler les saturations du processus et ouvrir la voie à l'amélioration continue. Les indicateurs vous apporteront le feedback nécessaire pour piloter au plus juste le processus et gagner en efficacité. Au travers de différents jeux et simulations vous expérimenterez les principes fondamentaux de Kanban. Vous apprécierez les conséquences de différents ajustements du système sur la durée du cycle d'une demande. Comprendre et expérimenter un système à flux tirés Visualiser un cycle de développement sur un tableau Kanban Optimiser et réduire le temps de traitement des demandes Développer une culture d'amélioration continue Distinguer et faire cohabiter Scrum et Kanban Origine de Kanban - Kanban dans la vie quotidienne - Kanban dans le Lean Manufacturing Concepts Kanban - Visualisation du flux de travail - Travail à faire (Work In Progress ou WIP) - Files d attentes - Système tiré par les flux Définition de la chaîne de valeur courante - Identification des rôles et responsabilités - Identification des types de demandes - Identification des métriques - Temps d un cycle Conception d un système Kanban - Définition des états du flux de travail - Définition des règles opérationnelles - Calculer les limites du travail à faire (WIP) Optimisation du système - Définition des classes de services - Définition des cadences - Réunion quotidienne - Projet multi-équipe - Amélioration continue et Muda Kanban et gestion du changement - Identification des changements - Impact des changements - Diagramme Cumulative Flow Kanban et Scrum - Combiner Scrum et Kanban - ScrumBan 2014 TOULOUSE 19 JAN FEV 06 MARS 03 AVRIL 03 MAI JUIN 02 JUILL 03 AOUT SEPT 08 OCT 09 01
2 jours 14 heures Management agile s Agiles MAGI Managers, chefs de projets, directeurs de projets, coachs agiles, consultants Aucun 50% de travaux pratiques 1 700 HT L'ère du management 3.0 (un management agile et Lean) est annoncée. Entre opportunités et nécessité, le métier de manager est en pleine évolution. Le mode de management «Command and Control» issu du Taylorisme et de l'organisation scientifique du travail (OST), avec sa vision appauvrie de l'homme au travail, a montré ses limites ; en parallèle, d'autres facteurs favorisent l'apparition de nouvelles pratiques managériales. Ainsi l'environnement externe de l'entreprise pousse celle-ci à se différencier en termes de connaissances, de partage d'informations, de gestion des compétences ou encore d'évolutions de collaborateurs. En interne, la montée en puissance d'une agilité de terrain avec des résultats concrets mais aussi l'évolution même des personnes, de leurs attentes et de leurs motivations, côté managers et collaborateurs, amènent les organisations à revoir leur modèle de gestion. Un monde fait de changements rapides et de concurrence accrue pousse donc l'organisation à répondre à ces nouvelles exigences, garantir le succès de tous et finalement trouver sa place. C'est à la compréhension de ces nouvelles dimensions ainsi qu'à la mise en application de nouvelles techniques que vous invite cette formation. Connaître les valeurs, principes et bonnes pratiques de l'agilité Vous positionner en tant que manager par rapport aux équipes agiles Découvrir des outils efficaces pour le manager agile Explorer de nouvelles pratiques de leadership Agilité - Valeurs, principes, pratiques agiles - L esprit agile et les nouveaux savoir-être Impact de l agilité sur les activités managériales - Gestion du portefeuille de projet, coordination avec les autres managers - Recrutement, rémunération, gestion des conflits - Pratiques dédiées du manager agile Soutenir les équipes agiles auto-organisées - Principes d auto-organisation - Servant leadership Créer une relation de confiance et motiver les personnes - Confiance, respect et authenticité - Théories de la motivation et agilité - Délégation - Styles de management Créer un environnement organisationnel propice au succès - Vision d entreprise et changement - Hansei et Kaizen : l entreprise apprenante Initier, soutenir et animer les communautés de pratiques agiles - Communauté de pratiques et agilité - Intérêts et organisation des communautés de pratiques - Animer une communauté de pratiques 2014 TOULOUSE JAN 09 FEV MARS 06 AVRIL 07 MAI 05 JUIN JUILL AOUT SEPT 11 OCT 06 04
2 jours 14 heures Facilitation Scrum et jeux agiles s Agiles PIL Scrum Masters, managers, chefs de projets, consultants Aucun 75% de travaux pratiques 1 700 HT Agilité, ateliers de travail (workshops), meetings et sessions de créativité font aujourd'hui partie de notre quotidien. Mais on oublie souvent que le succès de ces différents rendez-vous et les clés d'une collaboration efficace dépendent avant tout de la qualité des activités de préparation et de facilitation. Faciliter, cela consiste à aider un groupe, une ou des personnes, à apprendre, explorer, trouver des solutions, atteindre un consensus. Souvent négligée, la facilitation est pourtant une vraie discipline, désormais au coeur de nos activités en entreprise. La facilitation repose sur des techniques de base et se décline à merveille dans différents contextes. C'est à la compréhension de ces principes, à l'exploration et la mise en application de ces techniques dans des contextes variés que vous invite cette formation. Ce cours apportera des réponses aux questions suivantes : "Qu'est-ce que la facilitation?", "Quel est ce nouveau rôle de facilitateur?", "Comment faciliter des cérémoniaux Scrum et des rétrospectives?", "Comment animer un workshop créatif efficacement?", "Comment choisir les jeux et les techniques de facilitation les plus appropriés?", "Comment animer des jeux innovants?". Définir les contours de la facilitation Maîtriser les techniques de base du rôle de facilitateur Faciliter les cérémoniaux Scrum et les rétrospectives de projet Faciliter des workshops et des sessions de créativité Faciliter des jeux agiles et innovants Qu est-ce que la facilitation? - Le rôle de facilitateur - 4 axes de l activité Techniques de facilitation - Questionnement - Paraphrase - Ecoute active - Encouragement - Marqueurs et autres techniques Faciliter des cérémonies Scrum - Le cycle de vie agile - Animer un Sprint Planning - Animer un Daily Scrum - Animer une revue de Sprint - Animer une rétrospective Faciliter une formation - Des formations engageantes et utiles - Brain Friendly Training - Pratiques concrètes Faciliter des workshops et groupes de travail - La dynamique divergence - convergence - La préparation : 7P, entretiens préliminaires et sponsoring - Techniques d ouverture - Techniques de créativité : CPS, 6 chapeaux, 6 pistes, Brainstorming, Brainwritting 635 - Techniques de clôture : plan d action, ROTI - La spécificité Open Space Technology Faciliter des jeux agiles et innovants - Contextes d usage : conception de produit, changement, innovation - Vue d ensemble des jeux - Jeux pour comprendre l agilité - Product Vision Box - Speed Boat & Remember the Future - Buy a Feature - Prune the Product Tree - Les jeux typés expérience utilisateur 2014 TOULOUSE JAN 23 FEV 03 MARS AVRIL 24 MAI JUIN JUILL AOUT SEPT 25 OCT 03 18
TDR TDD USIL COQ DEVO AUX Acceptance Test Driven Development ou la gestion des exigences dirigée par les tests Test Driven Development ou le développement piloté par les tests Usine logicielle Java Qualité du code dans les projets Java DevOps, pour délivrer en continu Intégrer l'expérience utilisateur agile dans vos projets (Agile UX)
2 jours 14 heures Acceptance Test Driven Development ou la gestion des exigences dirigée par les tests Pratiques Agiles TDR Chefs de projets ou d équipe, responsables métier, analystes fonctionnels, testeurs, développeurs Le recueil des besoins et les tests de vérification sont des activités dont la complémentarité a été mise en avant dans de nombreux modèles de développement logiciel. Pour autant ces activités n'en demeurent pas moins problématiques et coûteuses pour de nombreux projets car elles sont symptomatiques de la présence de silos organisationnels et sont alors très souvent un frein à l'agilité. Recueil du besoin et gestion des tests - Les techniques de recueil du besoin - Le cycle de tests - Pourquoi aller plus loin? Liens entre tests et agilité - Les cycles de développement - Les méthodes agiles et l importance des tests - Comment piloter l ensemble de son processus par les tests - Lean et ATTD Connaissance des concepts objets La connaissance d un langage objet (Java) est un plus 50% de travaux pratiques 1 390 HT L'objectif de ce cours est de montrer qu'on peut aller très loin dans l'intégration de ces deux activités en supprimant la frontière entre l'analyse et les tests. Vous apprendrez à éviter la déperdition d'informations dans le processus de recueil de besoins en appliquant les principes du développement dirigé par les tests aux activités de spécifications et d'analyse. Au travers de techniques innovantes, vous apprendrez à écrire des dossiers de spécifications efficaces et interprétables automatiquement par des outils de validation. Vous apprendrez également à mettre en place dans votre organisation les éléments essentiels pour tirer le meilleur bénéfice d'une telle approche. Ce cours est destiné à ceux qui se posent les questions suivantes : "Peut-on tester fonctionnellement un logiciel sans en attendre le déploiement et sans passer par l'interface graphique?", "Comment écrire les spécifications pour faciliter le développement et les tests?", "Peut-on réellement substituer un dossier de spécifications par des cas de test de recette?", "Quels sont les risques et les limites de cette pratique?". Comment faire de l ATDD? - Les grandes étapes - Les principales techniques - Les pièges à éviter - Le Behaviour Driven Development (BDD) Outils et mise en oeuvre - Tour d horizon des solutions du marché - FitNesse et Robot Framework - Création des classes de test Liens entre tests fonctionnels et tests unitaires - Qu est-ce que le Test Driven Development (TDD)? - Impact sur la conception - Parallèle avec l Acceptance Test Driven Development (ATDD) - Impact sur l analyse et la gestion de projet Changements d organisation à prévoir - Quelques critères pour choisir la technique ATDD adaptée - Quelles modifications par rapport à l existant? - Quels rapprochements au sein des équipes? Spécifier par l'exemple Apprendre des techniques de formalisation des tests Découvrir les principes du pilotage par les tests Mettre en pratique des outils accompagnant cette démarche Évaluer l'impact sur le fonctionnement d'un projet Comprendre comment cette activité s'insère dans une démarche agile 2014 28 JAN FEV 13 MARS AVRIL MAI JUIN 19 JUILL AOUT SEPT OCT 20
Sommaire / Index Solutions de financement Comment commander 3 jours 21 heures Test Driven Development ou le développement piloté par les tests Pratiques Agiles TDD Développeurs, responsables tests, chefs de projets, responsables qualité Pratique de la conception objet Pratique du développement avec Java ou C# 60% de travaux pratiques 1 950 HT Les objectifs de qualité ambitieux fixés en début de projet résistent rarement aux contraintes du quotidien. Comment maintenir la qualité d'un code qui tend naturellement à diminuer, si les tentatives d'amélioration se traduisent par des régressions incontrôlées? Le développement piloté par les tests (TDD) propose une solution radicale pour reprendre la maîtrise du code et de la conception : les tests systématiques sont écrits avant le code à tester! Le retour sur investissement peut être important (qualité du code, non régression, évolutivité, maintenabilité). Encore faut-il éviter les écueils d'une mise en oeuvre inadaptée de la démarche. Après ce cours, vous saurez utiliser des tests automatisés comme moyen de spécification, de conception et bien sûr de test. Vous saurez développer des tests pour du code existant hérité. Vous connaîtrez les techniques et outils, tels les doublures et Mocks, pour développer efficacement en TDD. Vous verrez le TDD à l'oeuvre au travers d'exemples concrets et d'outils disponibles sur les plates-formes Java et.net. Une étude de cas réaliste vous permettra d'acquérir les réflexes du TDD, d'aborder les divers problèmes rencontrés par les développeurs en TDD et de mettre en oeuvre les bonnes pratiques, des plus simples aux plus élaborées. Ce cours pourra aussi être proposé dans d'autres langages comme C++. Le test dans le processus de développement - Processus, qualité, tests - Types de tests - Architectures de test - TDD et extreme Programming Frameworks de tests automatisés - Les Frameworks de test - Bonnes pratiques associées aux Frameworks de test Principes fondamentaux du TDD - Le cycle de développement du TDD - Stratégies de Test First - Stratégies pour faire passer les tests Écrire du code testable - Composition plutôt qu héritage - Éviter le code statique - Inverser les dépendances TDD dans des contextes particuliers - Tests en présence d interfaces utilisateur - Tests en présence de bases de données Styles de TDD - Tests basés sur l état ou le comportement - Utilisation de doublures - Outside-In vs. Inside-Out Couverture des tests - Les axiomes sur la couverture des tests - Outils de couverture Le refactoring en TDD - Quelques «mauvaises odeurs» - Techniques de refactoring en TDD Découvrir les principes fondamentaux et les bonnes pratiques du TDD Utiliser des Frameworks de test dans une approche TDD Utiliser des techniques avancées d'écriture de tests Mettre en oeuvre le TDD en présence de code hérité (legacy) Appliquer le TDD dans des contextes particuliers (bases de données, IHM) Pratiquer le refactoring d'un code développé en TDD Mocks et doublures - Qu est-ce qu une doublure - Types de doublures - Bibliothèques de Mocks Techniques pour organiser les tests de code complexe - Organisation des classes de test - Organisation du code de test Test de code hérité (legacy) - Qu est-ce que du code legacy? - Cycle d évolution du code legacy 2014 16 JAN FEV 24 MARS AVRIL 28 MAI JUIN 23 JUILL AOUT SEPT 08 OCT 12
3 jours 21 heures Usine logicielle Java Pratiques Agiles USIL Développeurs Java, chefs de projets, responsables méthodes, responsables des développements Avoir une première expérience en développement de projet informatique (Java) 60% de travaux pratiques 1 650 HT Les projets informatiques qui adoptent un cycle de développement en cascade se retrouvent inévitablement avec une phase d'intégration critique qui révèlera tardivement toutes les failles des phases amont. Pour autant, l'intégration est-elle inévitablement le cauchemar de la fin de projet? Ce n'est pas une fatalité si on met en oeuvre l'intégration continue, une des 12 pratiques décrites dans la méthode extreme Programming. Ce cours présente donc toutes les bonnes pratiques de l'intégration continue et de ses phases connexes comme la construction ou les tests d'intégration. Il sera majoritairement consacré à la mise en oeuvre de ces bonnes pratiques, que ce soit avec Maven comme outil de construction, Jenkins pour l'intégration continue, ou encore JUnit et HttpUnit pour les tests d'intégration. Vous commencerez par construire avec Ant un projet fourni, puis vous passerez à l'outil de Build Maven qui sera le point central pour la plupart des itérations proposées. Les expérimentations porteront sur les fonctionnalités et facettes de Maven, ses plug-ins les plus courants, et les composantes essentielles d'une usine logicielle : gestion de versions avec Subversion, intégration continue avec Jenkins, qualimétrie avec PMD et JDepend, déploiement d'application Web avec Cargo ainsi que l'utilisation du proxy Artifactory. Mettre en place Maven comme outil de construction Connaître et savoir communiquer les bénéfices de l'intégration continue Connaître les méthodes et bonnes pratiques liées à l'intégration continue Apprécier et mettre en oeuvre des tests de validation de votre construction Comprendre l'interaction entre les différents outils de l'environnement de développement Appréhender la qualité de votre projet au travers de différents types de métriques Savoir intégrer - Définition de l intégration continue - techniques et méthodologiques - Pratiques connexes Intégrer tous les jours - Bonnes pratiques - Alertes informatiques et visuelles - Réagir aux feedbacks - Pratiques connexes Outils d intégration continue - Catégories d outils - Jenkins, CruiseControl, Continuum Gestion de configuration - Objectifs et rôle - Tronc, branches et étiquettes - Lock Modify Unlock ou Merge Modify Outils de construction - Objectifs et rôle - d une construction automatisable - Dépendance binaire / dépendance de source - Maven et ANT, différences et complémentarité - Ivy, alternative à Maven Maven - Déclarer sa construction en utilisant les conventions - Mutualiser la logique de construction Notions avancées Maven - Modulariser sa construction avec Maven - Appréhender la gestion des dépendances - Plug-ins Maven et enrichissement du cycle de construction - Personnaliser la construction Appréhender les tests - Test et feedback - Test Driven Developement - Tests unitaires, tests d intégration, tests fonctionnels Métriques - Types de métriques - Méthodologie d usage des métriques Gestion des livrables - Maven Repository avec Artifactory - Gérer les habilitations 2014 17 JAN FEV MARS 17 AVRIL MAI JUIN 16 JUILL AOUT SEPT OCT 08
2 jours 14 heures Qualité du code dans les projets Java Pratiques Agiles COQ Chefs de projets, responsables qualité, développeurs Connaissance de la programmation Java 40% de travaux pratiques 1 240 HT A l'heure où l'externalisation des développements fait beaucoup d'adeptes, il est crucial de pouvoir juger objectivement de la qualité du code livré et du bon respect des normes de développement internes garantes de la pérennité du logiciel. Encore faut-il connaître les meilleures pratiques et disposer d'outils pour les industrialiser. Ce cours vous permettra de faire le point sur les bonnes pratiques de développement Java, de découvrir les métriques les plus utilisés ainsi que les outils Open Source nécessaires à la validation de la qualité du code. Il y sera bien sûr question de la place à accorder aux activités de test ou de l'importance du Refactoring. Dans ce cours il vous sera demandé de reconcevoir des projets existant afin d'améliorer leurs critères qualités (performance, lisibilité, maintenabilité, évolutivité), sous la forme de travaux pratiques. Dans un premier temps, vous porterez un regard critique basé sur vos acquis et votre expérience pour proposer des pistes d'améliorations ; puis vous intégrerez progressivement des outils d'analyse qualimétrique (PMD, JDepend, Checkstyle, Sonar,...) afin d'objectiver sur vos observations. Enfin, vous définirez pour chaque cas d'étude une stratégie d'optimisation et la mettrez en oeuvre en évaluant les gains obtenus. Introduction à la qualité logicielle - Problèmes de la non-qualité - Qualité, normes et certification - Qualité et pratiques agiles - Responsabilités au sein des équipes - Qualité appliquée au développement logiciel Java et la qualité - Evolutions du langage - Compilateur Javac - IDE Eclipse - Principes de conception - Rôle des Design Patterns - Points d attention et réflexions Les outils et la qualité - Principaux critères de qualité - Frameworks d automatisation (JUnit, TestNG, Fit, Selenium, Grinder, TPTP) - PMD - Checkstyle - FindBugs - Cobertura - JDepend - Autres outils Qualité et usine logicielle - Composantes de l usine logicielle - Mise en oeuvre de l intégration continue - Intégration de rapports - Métriques Sonar : gestion globale de la qualité - Présentation - Architecture - Fonctionnalités - Métriques - Bonnes pratiques Estimer les surcoûts engendrés par la non-qualité Faire le point sur le langage Java, les bons principes de conception et l'optimisation du code Connaître les outils Open Source de qualimétrie du marché Choisir les métriques et indicateurs de qualité et de performances Comparer les différents types d'outils Comprendre les tests et leur couverture Savoir quelles pratiques sont mises en avant par les méthodes agiles 2014 14 JAN FEV MARS 27 AVRIL MAI JUIN JUILL AOUT SEPT OCT 23
2 jours 14 heures DevOps, pour délivrer en continu Pratiques Agiles DEVO Développeurs, administrateurs systèmes, chefs de projets Connaissance des commandes de base Linux 50% de travaux pratiques 1 300 HT Depuis plusieurs années, les pratiques agiles font partie intégrante des équipes de développement informatique. Toutefois, les interactions avec les équipes en charge de l'exploitation de la production restent assez souvent problématiques. La démarche DevOps propose des solutions pour faciliter les échanges et le travail de concert de ces deux équipes aux objectifs a priori opposés - innovation contre stabilité - afin de réduire les délais entre l'expression du besoin utilisateur et la livraison de l'applicatif correspondant. A l'issue de cette formation, vous détiendrez les clés pour effectuer la mise en place d'une démarche DevOps au sein de votre entreprise : implication des équipes de développement dans les opérations de production, standardisation des packages de livraison, industrialisation des opérations d'infrastructure et des déploiements, mise en commun des outils des différentes équipes, mise en oeuvre d'outils de monitoring. Une étude de cas vous permettra de faire évoluer une société fictive dans laquelle l'organisation a du mal à livrer rapidement les nouvelles versions de son application Web. Vous partirez avec deux équipes distinctes : les Devs et les Ops. Les Devs devront livrer aux Ops qui devront maintenir en conditions opérationnelles l'application dans un serveur Tomcat et déployer les livrables manuellement. Et bien sûr, la cadence des livraisons va augmenter. Les Devs devront alors prendre en compte les remarques des Ops sur les logs. Ils devront travailler pour faciliter le déploiement par Capistrano, la mise en production et l'exploitabilité. Les Ops devront garantir la mise à disposition de plateformes Iso-Prod de façon automatisée grâce à Puppet. Identifier les problèmes liés à la communication inter-équipes Eliminer l'opposition entre les objectifs d'équipe Faire participer progressivement les développeurs aux opérations de production Mettre en place une standardisation des livrables de manière partagée Industrialiser les déploiements applicatifs Industrialiser les opérations de gestion de l'infrastructure Partager une boite à outils commune Mettre en oeuvre un monitoring de l'application et visualiser le feedback Qu est-ce que DevOps? Identification des problèmes de communication - Des objectifs opposés - Un décalage croissant des architectures - Une faible implication dans le produit Faciliter les échanges - Avec une implication des développeurs dans le déploiement - Avec une implication des opérationnels dans le développement - Organiser des cérémonies communes Standardiser la technique - Définir les standards ensemble - Standardiser les livrables - Standardiser les logs - Utiliser un système commun de gestion de sources Industrialiser les déploiements - Solutions Open Source - Présentation de Capistrano - Prévoir le passage à l échelle - Impliquer l ensemble des équipes - Unifier les outils Industrialiser la gestion de l infrastructure - Présentation de Puppet - Mise en oeuvre en (pré-) production - Migrer la gestion des environnements de développement sous Puppet Surveillance du comportement applicatif - Présentation de Graphite - Mise en oeuvre en production - Impliquer les développeurs : des métriques métier - Anticiper les changements avant la production 2014 TOULOUSE JAN FEV MARS 17 24 AVRIL MAI JUIN 23 JUILL AOUT SEPT 15 OCT 06 08
2 jours 14 heures Intégrer l expérience utilisateur agile dans vos projets (Agile UX) Pratiques Agiles AUX Maîtrises d ouvrage, chefs de projets, concepteurs et développeurs IHM Aucun 50% de travaux pratiques 1 644 HT Depuis quelques années, l'agilité modifie notre façon de concevoir des produits, d'envisager et de mener un projet informatique pour toujours plus de bénéfices. Livrer au plus vite ce qui a le plus de valeur est un enjeu crucial pour les entreprises comme l'est aussi celui de garantir la meilleure expérience utilisateur possible. Pourtant même si les opportunités sont réelles et les leviers forts (livraisons fréquentes, validation en continu, travail collaboratif, coopération et implication forte des clients et utilisateurs tout au long du projet), l'intégration de l'expérience utilisateur dans les projets agiles n'est que rarement prise en compte. C'est à la compréhension et à la mise en application de ces principes que vous invite cette formation. Ce cours apportera des réponses aux questions suivantes : "Quand et comment intégrer l'expérience utilisateur sur un projet agile?", "Comment construire et partager une vision du produit?", "En quoi consistent les Personas et que puis-je en attendre?", "Quelles sont les grandes étapes d'une démarche de conception centrée utilisateur dans un contexte agile?", "Quelles sont les principales techniques d'évaluation et critères ergonomiques de conception?". Pourquoi l agilité? - Fondements et valeurs des méthodes agiles - Scrum et le cycle de vie agile Que recouvre l expérience utilisateur? - Définitions et modèles existants - Activités, acteurs et livrables Expérience utilisateur, projets et agilité - Points de convergence - 6 règles pour intégrer expérience utilisateur et agilité - Côté équipe vs. côté Product Owner Vision du produit - Construire une vision partagée - Vision Box - Ateliers vision - Vision synthétique Personas - Définition et bénéfices - Une construction en 3 temps - Les fiches Personas Conception centrée utilisateurs en mode agile - Normes et critères ergonomiques de conception - Architecture de l information : cinématique, arborescence, Storyboard - Design d interface : techniques et outils de prototypage (papier, Axure, Balsamiq...) - Stratégies de test, techniques d évaluation Appliquer une démarche de conception centrée utilisateur sur l'ensemble du projet agile Diffuser l'expérience utilisateur au sein de l'équipe projet et dans l'organisation Intégrer les activités expérience utilisateur, design d'interaction et graphisme dans le cycle de vie agile Construire la vision du produit en s'appuyant sur une approche «Personas» Connaître les principaux standards et recommandations de conception ergonomiques Utiliser les outils de prototypage légers Collaborer efficacement avec les autres acteurs du projet 2014 JAN 30 FEV MARS AVRIL MAI 05 JUIN JUILL 31 AOUT SEPT OCT 30
TIWEB TITOU ALI JEA PUMA URBA SUMO INDE Introduction aux architectures et technologies du Web Introduction technique aux clients Web riches Architecture logicielle Architectures d entreprise Java EE Programmation multi-paradigme Approche agile de l architecture et de l urbanisation des systèmes d information Modélisation fonctionnelle d une architecture orientée service (SOA) L indexation de A à Z : développez votre solution de recherche
1 jour 7 heures Introduction aux architectures et technologies du Web Architecture TIWEB Développeurs, concepteurs, chefs de projets ou d équipe souhaitant avoir un aperçu global des nouvelles technologies de développement d applications Web L'architecture des applications modernes d'entreprise est le résultat d'un processus de sélection naturelle rapide où les critères de compétitivité s'appellent modularité, maintenabilité, portabilité, efficacité, évolutivité... Sous la pression de ces critères et du continuel renouvellement des technologies, l'architecture des applications a progressivement évolué du système Mainframe à l'application Web en passant par le client / serveur et les systèmes distribués. Architectures - Notions d architecture - Les différents points de vue architecturaux - Architectures métier, fonctionnelle, logique, applicative, système, etc. - Architecture canonique d un logiciel (les tiers ou niveaux) Les extensions du serveur Web - Architecture de la couche de présentation - CGI, Servlet, JSP, ASP, PHP, Grails - Frameworks de développement Web Aucun Présentations, discussions et démonstrations 620 HT Après une analyse comparative des différentes architectures logicielles, ce cours présente les bases d'internet puis des technologies de développement d'applications Web. Il vous permettra de positionner les différents composants des Frameworks Java Enterprise Edition et Microsoft.Net sur chaque couche d'une application Web canonique. Il explique enfin l'importance d'xml et des Web Services. Cette formation est destinée à ceux qui se posent les questions suivantes : "Comment fonctionne une application Web?", "Comment créer des pages Web au contenu dynamique?", "Qu'est-ce qu'un client Web enrichi?", "Quelle est la différence entre un serveur Web et un serveur d'applications?". Comprendre les différents points de vue architecturaux Reconnaître les principales architectures logicielles Appréhender le fonctionnement global d'internet et du Web Repérer les technologies et Frameworks utilisables pour le développement d'applications Web Comprendre l'évolution des clients Web dits riches Découvrir XML et identifier sa place dans une application Web Appréhender les notions de Web Services et d'architecture SOA L évolution des architectures applicatives - Mainframe, client / serveur - Systèmes 3-tiers et distribués - Systèmes n-tiers et Web - Avantages et inconvénients de chaque type d architecture Le Web - Le réseau Internet et ses protocoles - Le Web, une application d Internet - Focus sur le protocole HTTP - HTML et CSS Les extensions du client Web - Les limites du HTML et du JavaScript - Les plug-ins du navigateur - Notion de client riche et de Web 2.0 - Ajax - HTML5 Le niveau applicatif - Notion de composant métier - Le rôle du serveur d applications - La couche d accès aux données XML et Web Services - Les usages d XML - XML et les Web Services - Architecture SOA 2014 16 JAN FEV MARS AVRIL 10 MAI JUIN JUILL AOUT SEPT OCT 16
1 jour 7 heures Introduction technique aux clients Web riches Architecture TITOU Développeurs, architectes et chefs d équipe Avoir une bonne connaissance du Web ou avoir suivi le cours TIWEB Présentations, discussions et démonstrations 620 HT Depuis bientôt quinze ans le Web est un écosystème en constante mutation, à tel point que les applications Web d'aujourd'hui n'ont plus grand chose à voir avec celles d'hier. Certains y voient une évolution technologique, le client Web riche. D'autres y voient une évolution de la place donnée à l'utilisateur qui devient de plus en plus acteur ou créateur. Les derniers y voient une évolution dans la création et la mise à disposition d'applications hébergées. Et tous y cherchent de nouveaux débouchés... A l'issue de cette formation vous aurez un regard critique sur les technologies qui font l'actualité du Web et donc sur les nouvelles tendances du développement Web. Vous pourrez ainsi participer aux décisions stratégiques concernant votre présence sur le Web. Ce cours apporte des réponses aux questions suivantes : "Faut-il abandonner Silverlight ou Flex?", "Qu'apporte HTML5?", "Peut-on développer un client Web en JavaScript?", "Qu'est-ce qu'un client Web riche?", "Le Cloud Computing est-il intéressant pour moi?", "Faut-il choisir entre REST et SOAP?". Avoir une vision d'ensemble du client riche et de ses technologies Comprendre les besoins de communication et de syndication Connaître les différentes solutions pour diffuser du contenu Analyser l'évolution des technologies Web serveurs Découvrir le Cloud Computing Evaluer l'impact de l'arrivée de HTML5 et CSS3 Technologie Web 2.0 - Pilotage côté client ou côté serveur - Web et mobilité - Enrichissement de l IHM - Déconnexion et stockage local - Mash-Ups et gadgets - Push de données Le client riche Web - RIA ou Rich Internet Application - La révolution Ajax - Les bibliothèques JavaScript, Dojo, EXT-JS, JQuery - Les bibliothèques de composants serveur JSF, ASP.NET - L alternative GWT - Flex, AIR et les solutions basées sur Flash - Silverlight Accès aux données - Besoins de communication avec le serveur - Syndication et micro-formats - SOAP Web Services - RESTful Services - BlazeDS, RIA Services Le Cloud Computing - Les types de Cloud - Amazon EC2, Google App Engine, Microsoft Azure HTML5 et CSS3 - Changements et nouveautés - HTML5 Web Sockets, Web Workers, Web Storage - CSS3 animations, transformations, effets visuels - HTML5 et les Smartphones Développement ou gestion de contenu - Wiki et socles de développement - Content Management System (CMS) 2014 06 JAN FEV MARS 13 AVRIL MAI JUIN JUILL AOUT SEPT OCT 13
5 jours 35 heures Architecture logicielle Architecture ALI Architectes logiciels, développeurs expérimentés Pratique avancée de la conception logicielle Une connaissance de la plate-forme Java EE ou de la plate-forme.net est souhaitable 30% de travaux pratiques 2 520 HT Face au foisonnement des technologies et à leur rapide évolution, l'architecte logiciel doit effectuer des choix d'une portée stratégique pour les entreprises. Ces choix sont en grande partie dictés par l'expérience. Mais les approches architecturales adaptées à une technologie ne sont pas forcément de mise pour la technologie concurrente ou la génération suivante. Pour faire face à ces défis, l'architecte a besoin d'outils méthodologiques adaptés, ainsi que d'une vision globale des enjeux architecturaux. Cette formation vous permettra de découvrir une méthodologie de développement de l'architecture résolument tournée vers les besoins des intervenants d'un projet. Un panorama des architectures récentes vous permettra de découvrir les enjeux sous-jacents et de vous faire une opinion sur les choix qui s'offrent à vous. Après avoir étudié les principaux concepts manipulés par l'architecte, vous découvrirez un ensemble de pratiques permettant de spécifier, concevoir et évaluer les architectures. Une étude de cas suivie sera appliquée aux architectures étudiées, et les outils méthodologiques vous permettront d'en évaluer les possibilités, avantages et inconvénients. Définir la notion d'architecture et les points de vue architecturaux Connaître les principaux styles architecturaux Concevoir une architecture à partir des attributs de qualité Concevoir une architecture en se basant sur les styles architecturaux Evaluer une architecture Documenter une architecture Evaluer les enjeux des services techniques (persistance, transactions) dans les architectures Evaluer les caractéristiques des solutions architecturales d'aujourd'hui et de demain Comprendre les enjeux des débats actuels sur les choix architecturaux Introduction à l architecture logicielle - Qu est-ce que l architecture? - Les déterminants d une architecture - L architecture dans les projets - Le rôle de l architecte Les points de vue architecturaux - Notion de vue architecturale - Point de vue architectural - Exemples de points de vue : points de vue contexte et fonctionnel - Documentation de l architecture logicielle Les attributs de qualité - Les attributs de qualité - Scénarios d attributs de qualité - Ateliers d attributs de qualité - Architecture et agilité Styles architecturaux - Qu est-ce qu un style architectural? - Guide de style - Quelques styles architecturaux Middleware requête / réponse - Corba - Web Services - Windows Communication Foundation Styles et middleware asynchrones - Messaging Style - Publish-Subscribe Style - Middleware asynchrones Architectures basées sur les composants - Exemples : Corba Component Model, Serviced Components - Java EE et les EJB Architectures à base de plug-ins - Microkernel Style - OSGi - Eclipse RCP Les architectures multi-niveaux - Systèmes à N niveaux - Clustering et répartition de charge - Scalabilité horizontale et verticale Rich Internet Applications - Ajax et JavaScript - Solutions basées sur des plugins - HTML5 - Les solutions mobiles La persistance - Mapping objet / relationnel - JPA et Hibernate - Persistance sur.net - Transactions et verrous - Gestion des caches - Bases de données NoSQL SOA et REST - Définition(s) de la SOA - ESB - Architectures RESTFul Le Cloud Computing - Qu est-ce que le Cloud - Google App Engine, Amazon EC2 et Windows Azure Conception et évaluation d une architecture - Conception et analyse d une architecture - Modèles d analyse d une architecture - Démarche d évaluation d une architecture Tactiques architecturales - Qu est-ce qu une tactique architecturale? - Les tactiques de performance - Les tactiques de modificabilité Quelques styles pour l organisation des modules - Principes d organisation en packages - Domain Driven Design - Style(s) MVC 2014 TOULOUSE 02 JAN 27 FEV 24 17 MARS 31 AVRIL MAI 12 19 JUIN 30 JUILL 28 AOUT 25 SEPT 29 01 OCT 27 24 24 15
4 jours 28 heures Architectures d entreprise Java EE Architecture JEA Responsables techniques, architectes, chefs d équipe et développeurs désirant acquérir une connaissance globale de la plateforme Java EE La connaissance des concepts orientés objet est un plus ou avoir suivi le cours OOAD 10% de travaux pratiques 2 120 HT Si la plate-forme Java est aujourd'hui omniprésente, elle a subi depuis quelques années l'influence forte de Frameworks Open Source afin de combler certaines de ses lacunes. Enrichie par endroit, corrigée en d'autres, elle offre aujourd'hui une suite cohérente de technologies pouvant être utilisées telles quelles sur vos projets. Ce cours propose un tour d'horizon des technologies disponibles avec la plate-forme Java EE. Il évalue différentes architectures techniques permettant le développement d'applications robustes. Les avantages et inconvénients des architectures modernes y sont mis en relief avec leur cohorte d'outils et de pratiques de développement les plus récentes. Cette formation répond aux questions suivantes : "Que signifient tous ces sigles autour de Java?", "Comment bien concevoir une application Web avec Java?", "Comment accéder aux données dans une architecture Java?", "Qu'appelle-t-on conteneurs légers?". Appréhender la vaste gamme des interfaces de programmation Java Juger des possibilités Web avec Java Savoir quand distribuer les services métier grâce à RMI, Corba et aux Web Services Identifier les besoins et les solutions de sécurité d'une architecture Java Évaluer les diverses techniques de persistance des objets métier Intégrer Java aux systèmes existants (SOA) Évaluer l'impact des EJB3 (Enterprise JavaBeans) Comprendre les services techniques offerts par les serveurs d'applications Découvrir l'évolution du langage Java Identifier les outils les plus utilisés pour le développement Java Comprendre le rôle de Java dans les technologies de type Cloud Computing Introduction à Java et à l architecture applicative - Java et l informatique d entreprise - Notions d architecture logicielle - Évolution des architectures techniques - Architectures multi-niveaux La plate-forme Java - Le langage Java et la JVM - Les principales API - La portabilité - Nouveautés et évolutions du JDK - Sun, Oracle et les autres - Android La couche de présentation - HTTP, HTML et JavaScript - Servlets et JSP - Portails Web - Struts - JavaServer Faces - Seam - Java et les clients riches (RIA) - GWT - Les API de présentation (AWT, Swing) - L alternative SWT - Java WebStart - Eclipse RCP Persistance - JDBC - Norme JDO2 - Hibernate et JPA - Architecture de persistance Middleware - Pourquoi distribuer une application? - Les contraintes techniques - Corba, RMI - Les Web Services - SOAP - REST Infrastructure d exécution - Le client riche - Serveur Web - Serveur d application - Les services techniques Java EE - Conteneur de Servlet comme conteneur d application - Spring et les conteneurs légers EJB 3 - EJB, les composants métiers Java EE - Services offerts par les EJB 3 - EJB Patterns - Évolution vers EJB 3 Sécurité - Modèle de sécurité de Java - Sécuriser les composants EJB - Sécuriser les applications Web Intégration - Intégration du système d information - Urbanisme et intégration - Architecture des connecteurs Java EE - SOA et Web Services - Communication Java - C / C++ via JNI ou JNA Outillage - Eclipse et les autres - ANT, Maven, Jenkins - Tests unitaires JUnit et autres types de test - Intégration continue - Qualité du code Java et le Cloud Computing - Qu est-ce que le Cloud? - Cloud public et privés - Amazon EC2 et S3 - Google App Engine 2014 16 JAN FEV MARS 10 AVRIL MAI JUIN 10 JUILL AOUT SEPT 08 OCT 15
4 jours 28 heures Programmation multi-paradigme Architecture PUMA Développeurs objet expérimentés Pratique de la conception objet 60% de travaux pratiques 2 120 HT L'approche orientée objet s'est imposée sans partage comme le «bon» paradigme de programmation. Mais d'autres paradigmes existent. Dans le monde de l'embarqué, le C et son approche structurée restent indétrônables. La programmation fonctionnelle, longtemps cantonnée aux laboratoires universitaires, se répand avec l'émergence de nouveaux langages, tels Scala, Clojure et F#. Face au défi du parallélisme apparaissent d'autres paradigmes, comme les acteurs ou le style Map-Reduce. Les développeurs ont tendance à associer paradigme et langage. Or s'il est vrai que les langages supportent certains paradigmes mieux que d'autres, les langages objets traditionnels, comme C# et Java, fournissent déjà des outils pour mettre en oeuvre ces divers paradigmes. Après ce cours, vous aurez découvert de nouveaux langages et plates-formes, tels Scala, JavaScript et Hadoop, ainsi que les paradigmes qu'ils supportent. Vous verrez votre langage de programmation habituel d'un autre oeil. Vous saurez en exploiter les nombreuses possibilités et en percevoir les limites. A partir des exemples présentés dans le cours dans les divers langages, une étude de cas vous permettra d'expérimenter concrètement les approches exposées dans votre langage de prédilection (Java ou C#). Introduction - Multi-paradigme, multi-langage - Classification des langages de programmation Programmation Orientée Objet (POO) - Types de données abstraits - Orienté objet ou orienté classe? - Domain Driven Design - Classification des langages orientés objets Programmation fonctionnelle - Transparence référentielle, modularité, composabilité - Fonctions en tant que «citoyens de première classe» - Fonctions d ordre supérieur - Evaluation paresseuse - Récursion terminale - Langages fonctionnels Meta-programmation - Qu est-ce que la metaprogrammation? - Les différentes formes de metaprogrammation Map-Reduce - Aux origines du Map-Reduce - Hadoop - Les algorithmes du Map-Reduce - Big Data Approche multi-langage - Rythme d apprentissage - Domain Specific Language (DSL) - Langages de script - Langages à base de règles - Utiliser le langage adapté Explorer les différents langages et paradigmes de la programmation orientée objet Découvrir la puissance de la programmation fonctionnelle Comprendre les enjeux de la méta-programmation Exploiter la puissance des multi-coeurs avec des solutions à base d'acteurs Bénéficier de la puissance de calcul de nombreux serveurs avec Hadoop et le style Map-Reduce Mettre en oeuvre des approches multi-langages Acteurs - Multi-thread et multi-cores - Principes et avantages - Programmation évènementielle 2014 16 JAN FEV MARS 31 AVRIL MAI JUIN JUILL AOUT SEPT 29 OCT
2 jours 14 heures Approche agile de l architecture et de l urbanisation des systèmes d information Architecture URBA Directeurs informatique, directeurs technique, architectes, chefs de projets Connaissance des principes de modélisation avec UML 50% de travaux pratiques 1 434 HT L'urbanisme des systèmes d'information et l'architecture d'entreprise sont souvent perçus comme des disciplines trop théoriques et insuffisamment orientées vers les problématiques des directeurs informatiques et des équipes projets. Pourtant, leur fond reste fondamental car elles adressent une préoccupation essentielle des entreprises : transformer le SI pour l'adapter à des besoins toujours plus ouverts sur le Web et à réduire continuellement le time-to-market. Il est ainsi fondamental de se concentrer sur deux aspects : la modélisation de l'architecture SI en se concentrant sur des concepts simples et une transformation de celle-ci basées sur des pratiques agiles. À l'issue de cette formation, vous détiendrez les clés vous permettant de concilier les pratiques d'architecture et les pratiques agiles pour tirer profit du meilleur de ces deux mondes souvent mis en opposition bien que totalement complémentaires. Une étude de cas, basée sur la transformation du SI d'une entreprise de location de véhicules, sera déclinée tout au long de la formation afin d'illustrer l'ensemble des pratiques présentées. Ainsi, en partant d'un contexte de fusion-acquisition d'entreprise et d'une orientation forte de celle-ci sur les technologies digitales, vous serez amené à travailler à l'élaboration d'un modèle métier, à dériver celui-ci en une vision fonctionnelle du SI afin d'analyser les écarts avec l'existant et d'identifier les risques, à définir une orientation de l'architecture applicative et technique cible à partir des nouveaux besoins métier et des risques identifiés et enfin à tracer les grandes lignes d'une trajectoire avec des jalons basés sur la valeur métier. Que signifie «urbaniser un SI»? - Limite de la métaphore - Rôle de l architecte - Niveaux de description d architecture - Démarche cyclique - La donnée, moteur de la transformation SI - Portefeuille d exigences SI Cadrer le périmètre métier et fonctionnel - Élaborer la vision - Initialiser le portefeuille d exigence (le Product Backlog SI) - Modélisation des entités métier - Règles fondamentales d urbanisme - Niveau de structuration de l architecture fonctionnelle - Projection métier / fonctionnel Analyser l architecture existante - Modélisation d architecture applicative - Modélisation d architecture technique - Projection fonctionnel / applicatif - Indicateurs qualité Jalonner la trajectoire - Définition de jalon à valeur métier - Arbitrage du portefeuille d exigences - Constitution de chantiers d architecture - Types de chantiers Conduire un jalon de trajectoire - Définition des tâches d un chantier - Plan d itération de jalon (le Sprint Backlog) - Points de validation - Rétrospective Cadrer le périmètre d'une transformation de SI Modéliser les différents niveaux d'architecture d'un système d'information Identifier les orientations d'architecture applicative et technique cible Définir une trajectoire d'évolution du SI axée sur des jalons à valeur ajoutée métier Mettre en place les éléments nécessaires à l'atteinte d'un jalon Appliquer une démarche agile de transformation SI Définir les orientations d architecture cible - Socle de services métier - Plateforme digitale - Unification des données métier - Médiation inter-applicative - Services d infrastructure 2014 JAN FEV 27 MARS AVRIL MAI 22 JUIN JUILL AOUT 18 SEPT OCT 30
3 jours 21 heures Modélisation fonctionnelle d une architecture orientée service (SOA) Architecture SUMO Maîtrises d ouvrage, architectes fonctionnels, analystes fonctionnels Connaître les bases de la modélisation orientée objet et d UML 50% de travaux pratiques 1 950 HT L'architecture orientée service (SOA) est avant tout une façon de concevoir un système d'information (SI) d'entreprise, indépendamment des technologies mises en place pour la réaliser. Toutefois, on constate encore trop souvent la confusion entre les deux et le manque flagrant de démarche pour modéliser une architecture de services du point de vue fonctionnel avant de l'aborder du point de vue technique. Cette incompréhension est à la base de la confusion habituelle entre Web Service et service, et de la difficulté de faire émerger des services réellement mutualisables au sein du SI. Cette formation se focalise donc sur l'architecture SOA du point de vue des profils fonctionnels afin de leur donner un maximum de chances de réussir un projet d'intégration. Une étude de cas sera déclinée tout au long de la formation avec l'outil Enterprise Architect. Tour à tour, seront modélisés : les entités métier et les services métier unitaires associés, les objets d'échange, un service métier composé, un service métier asynchrone puis un processus métier instrumenté en orchestration de services et enfin les tâches humaines invoquées par le processus métier. Modéliser des architectures de services avec UML Identifier clairement les différents niveaux de granularité de services Modéliser des services métier Définir des contrats de service Décrire des processus métier et les décliner en orchestration de services Modéliser les objets d'échanges associés Introduction à l architecture fonctionnelle - Les 4 niveaux d architecture d un système d information - L architecture fonctionnelle, pour quel usage? - Découpage type d une architecture fonctionnelle - Transition entre les différents niveaux d architecture Introduction à l architecture orientée service - Qu est-ce que la SOA? - Qu est-ce qu un service? - Qu est-ce qu un contrat de service? - Qu est-ce que l orchestration de services? - Qu est-ce que la médiation de services? Rappel des diagrammes UML - Packages et classes - Activités et interaction - Cas d utilisation - Etat transition Démarche SOA : constitution des services métier unitaires - Identification des services unitaires - Sources de données / traitements existants - Spécifier les opérations de base - Cas particulier : service asynchrone, service événement - Spécifier les objets d échange Contrat de service - Nécessité du contrat et responsabilités - et évolutions - Représentation et supervision Démarche SOA : constitution des services métier composés - Entités à composer - Objets d échange agrégés - Compensation des transactions Montée de version - Compatibilité ascendante des objets d échange - Compatibilité ascendante des interfaces de services Démarche SOA : processus métier - Modéliser un processus en BPMN - Cycles de vie des entités - Instrumenter un processus métier - Orchestration des services Démarche SOA : spécification des tâches humaines dans un Workflow - Modéliser les cas d utilisation - Distinguer les traitements des écrans Liens entre les concepts et les outils - Support des concepts - Briques applicatives : BPMS, MDM, BAM, ESB, ETL, EAI 2014 JAN FEV MARS AVRIL 14 MAI JUIN JUILL AOUT SEPT OCT 12
3 jours 21 heures L indexation de A à Z : développez votre solution de recherche Architecture INDE Responsables techniques, architectes, développeurs Expérience de développement Java 60% de travaux pratiques 1 950 HT Parmi les grands noms du Web, plusieurs se sont faits connaître par leur capacité de recherche dans cette jungle de ressources qu'est internet. A un moindre niveau les algorithmes de recherche d'information sont un moyen pour chaque entreprise, d'accéder rapidement à ses propres données. À l'issue de cette formation, vous serez au fait des fondamentaux de la recherche d'information. Vous comprendrez les principaux composants du module d'indexation d'un moteur de recherche. Nous vous montrerons également les structures de données utilisées, les infrastructures nécessaires et mettrons l'accent sur les techniques pour améliorer la pertinence des résultats et l'expérience de l'utilisateur. Enfin, nous vous donnerons les clés pour aller au-delà de la simple recherche par mots-clés en capitalisant sur la connaissance. Une étude de cas avec le moteur Solr sera déclinée tout au long de la formation : modélisation de l'unité d'indexation, analyse des propriétés des données sources, mise en place de l'index, mise en place du service de recherche et examen de la pertinence des résultats, test des performances de la recherche, amélioration des performances avec Solr Replication et Solr Cloud. Démarrer un projet de recherche d'information Modéliser les unités d'indexation Construire l'index et examiner sa qualité Développer des services de recherche Analyser les performances de votre moteur de recherche Déployer votre moteur de recherche Fondamentaux de la Recherche d Information (RI) - Définitions - RI Web vs RI Entreprise - Concepts de base - Structure et construction de l index - Modèle booléen de recherche d information - Recherche ordonnée - Modèle vectoriel de recherche d information Indexation du Web : un état de l art - Historique de l innovation des principaux moteurs de recherche - Organisation des documents du Web - Construction du dictionnaire des termes - Stockage de l index - Répondre à une requête de l utilisateur - Mise à l échelle du moteur de recherche Solutions Open Source de recherche d information - Présentation de la librairie Lucene - Présentation du serveur Solr - Présentation du serveur Elastic Search - Etude comparative Solr vs Elastic Search Indexation avec Solr - Mise en place d un projet Solr avec Maven - Structure du répertoire d installation de Solr - Comprendre le concept Solr Core - Les fichiers de configuration - Schéma des documents et analyse des textes - Les modes de communication avec Solr - Le Framework Data Import Handler (DIH) de Solr - Indexer les fichiers avec Solr Cell Recherche avec Solr - Les paramètres de recherche - La syntaxe des requêtes - Parseur de requête Lucene vs parseur de requête Dismax - Recherche géospatiale - Influencer la pertinence des résultats - Recherche par facettes pour une meilleure expérience de l utilisateur - Les composants Highlight et MoreLikeThis - Aller au-delà de la recherche par mots clés Mise à l échelle de Solr - Évaluer les performances de Solr - Optimiser une instance unique de Solr - Passer à plusieurs serveurs avec Solr Replication et/ou Solr Cloud 2014 JAN FEV MARS 24 AVRIL MAI JUIN 23 JUILL AOUT SEPT 22 OCT 15
REQOOA OOAD ADP Modéliser les besoins et analyser avec UML Analyse et conception avec UML Concevoir avec les Design Patterns
Sommaire / Index Solutions de financement Comment commander 4 jours 28 heures Modéliser les besoins et analyser avec UML Analyse & conception REQOOA Analystes système, chefs de projets, architectes et concepteurs devant participer à l expression des besoins et à l analyse d un système informatique Aucun 33% de travaux pratiques 1 836 HT Le langage de modélisation standard UML est maintenant utilisé à grande échelle pour analyser et concevoir toutes sortes de systèmes informatiques. Les modèles réalisés constituent un outil majeur de communication au sein d'un projet. Cela signifie que, dès les activités d'expression des besoins et de spécifications, la modélisation UML doit être réalisée conjointement par une équipe incluant informaticiens, experts métier et utilisateurs. Après ce cours vous saurez appliquer une démarche de modélisation itérative et incrémentale, basée sur UML et pilotée par les cas d'utilisation. Vous connaîtrez les techniques indispensables à la modélisation des exigences ainsi qu'à l'analyse statique et dynamique d'un système informatique. Ce cours approfondi est soutenu par une étude de cas réaliste qui vous amènera à mettre en oeuvre avec rigueur les principaux types de diagrammes UML. Partant d'un modèle métier exprimé en UML, vous mettrez en pratique une démarche méthodologique qui vous guidera dans le choix et la réalisation de diagrammes adaptés aux étapes d'un projet et aux besoins de chacun des intervenants. Maîtriser les concepts et les diagrammes UML pour l'expression des besoins et l'analyse Comprendre les fondements du Processus Unifié Utiliser la technique des cas d'utilisation pour définir et gérer les besoins Appliquer une démarche d'analyse itérative pilotée par les cas d'utilisation Utiliser les notations objets d'uml pour modéliser les concepts du domaine Réaliser des diagrammes de classes d'analyse Réaliser des diagrammes d'états pour certaines classes d'analyse Structurer le modèle d'analyse suivant les principes de l'architecture logique Appréhender la frontière entre analyse et conception UML pour la gestion des exigences - Qu est-ce que la gestion des exigences? - Qu est-ce que le Processus Unifié (UP)? - Qu est-ce que UML? - UML pour la modélisation des exigences Élaborer un modèle de cas d utilisation? - La démarche proposée - Acteurs et cas d utilisation - Les frontières du système - Le diagramme de cas d utilisation - Identifier les bons cas d utilisation Décrire les cas d utilisation? - Les différents types de description - Plan-type de description textuelle - Rédaction efficace des cas d utilisation Les diagrammes dynamiques UML - Le diagramme de séquence système - Le diagramme d activité - Quel type de diagramme choisir? Affiner le modèle de cas d utilisation? - Les relations entre cas d utilisation - La généralisation d acteurs - Les packages - L amélioration des diagrammes Informations complémentaires - Les diagrammes de contexte - UP : un processus guidé par les cas d utilisation UML pour l analyse - L approche orientée objet - Qu est-ce que l analyse? Les concepts objets statiques - Objet et lien - Classe, attribut et association - Généralisation / spécialisation - Le diagramme de classes - Les classes d analyse du RUP Les concepts objets dynamiques - Message et événement - État et transition - Condition, effet et activité - Le diagramme d états Des besoins à l analyse - Réalisation de cas d utilisation - Diagramme de classes participantes - Diagramme de séquence d analyse - Architecture logique (packages) Comment affiner le modèle statique? - Compléments sur les attributs - Contraintes - Agrégation et composition - Compléments sur la généralisation - Classe d association et qualificatif Comment affiner le modèle dynamique? - Compléments sur les diagrammes d états - Liens avec le modèle statique Informations complémentaires - Les Patterns d analyse - Outils de modélisation UML - Liens entre les disciplines 2014 TOULOUSE 12 16 JAN 06 FEV MARS 24 AVRIL 07 MAI JUIN JUILL 01 07 AOUT SEPT OCT 06 01
5 jours 35 heures Analyse et conception avec UML Analyse & conception OOAD Analystes, concepteurs et développeurs Maîtrise d un langage de programmation de haut niveau L expérience d un langage orienté objet est conseillée mais pas obligatoire 50% de travaux pratiques 2 160 HT Conscientes des limites des spécifications textuelles pour le développement de systèmes logiciels objets, les entreprises souhaitent mettre en oeuvre une démarche de modélisation basée sur UML. Les équipes projet ont parfois une connaissance d'uml et des langages objets, mais connaître UML ne suffit pas pour bien modéliser un système et connaître un langage objet ne suffit pas pour réaliser une conception de qualité. Après ce cours, vous saurez mettre pragmatiquement en oeuvre UML pour le développement d'un système logiciel, depuis l'analyse des besoins jusqu'à la conception détaillée. Vous aurez aussi appris à "penser objet" au cours de toutes ces étapes, pour concevoir des systèmes modulaires et évolutifs à l'aide de principes reconnus (Patterns). Le cours progressera selon une chronologie proche de celle d'un processus de développement itératif. A chaque étape, les apports d'uml et ses limites seront exposés par des exemples. Des études de cas vous permettront, en vous confrontant aux réelles difficultés de la modélisation, de vous faire une opinion sur ce qui peut réellement fonctionner sur vos projets. Créer des modèles d'analyse et de conception à l'aide de la notation UML 2 Suivre un processus itératif, incrémental, piloté par les cas d'utilisation Rédiger des cas d'utilisation complets et efficaces Créer des modèles du domaine Attribuer les bonnes responsabilités aux bons objets à l'aide de Patterns Créer des diagrammes illustrant les interactions entre objets Concevoir des classes faiblement couplées et fortement cohérentes Créer des diagrammes de classes de conception Traduire les modèles de conception dans votre langage orienté objet Processus de développement - Inconvénients du cycle en cascade - Un processus itératif et incrémental : UP - Une méthode agile : Scrum Cas d utilisation - Identification des acteurs et des cas d utilisation - Description textuelle des cas d utilisation - Relations entre cas d utilisation - Prioriser les cas d utilisation Concepts objets - Classe et instance - Opération, méthode et message - Interactions entre objets - Héritage - Polymorphisme et encapsulation Modèle du domaine - Concepts du domaine - Diagramme de classes - Attributs - Associations - Rôles et multiplicités - Généralisation - Packages - Compléments Comportement système - Événements et opérations système - Diagramme de séquence système - Contrats d opération Diagrammes d interaction - Séquence et communication - Notation des messages et participants - Ajouts UML 2 - Visibilité des objets Responsabilités et Patterns Grasp - Responsabilités - Expert - Créateur - Contrôleur - Faible couplage - Forte cohésion - Polymorphisme - Indirection - Fabrication pure - Protection des variations Diagrammes de classes de conception - Classes logicielles - Navigabilité - Opérations et méthodes - Compléments sur le diagramme de classes De la conception au code - Définitions de classes et d interfaces - Corps de méthodes Conception d architecture - Architecture en couches - Séparation modèle / vue Annexe 1 : autres notations UML 2 - Diagramme d états - Diagramme d activité - Classes structurées et composants - Diagramme de déploiement Annexe 2 : introduction aux Design Patterns - Que sont les Patterns? - Les Patterns GoF - Exemples 2014 TOULOUSE 02 JAN 20 FEV 24 MARS AVRIL 14 MAI JUIN 23 JUILL 21 AOUT SEPT OCT 17 24
5 jours 35 heures Concevoir avec les Design Patterns Analyse & conception ADP Développeurs objet, concepteurs, architectes Connaissances en conception objet, ou avoir suivi le cours OOAD Expérience concrète d un langage de programmation objet 60% de travaux pratiques 2 415 HT Les Design Patterns sont aujourd'hui reconnus comme un outil essentiel de conception objet et sont présents dans la plupart des Frameworks. Leur utilisation judicieuse améliore évolutivité et maintenabilité des logiciels. Mais dans les équipes où se côtoient développeurs chevronnés et inexpérimentés, la complexité inhérente aux Design Patterns fait qu'ils sont sous (ou mal) utilisés, et peuvent être source d'incompréhensions. A l'issue de cette formation vous serez capable d'utiliser pragmatiquement les Design Patterns dans votre démarche de conception. Vous saurez les employer pour documenter et communiquer vos architectures et conceptions et pour améliorer la qualité de votre code existant. Vous découvrirez les Design Patterns en les mettant en oeuvre de manière progressive dans une étude de cas et irez, pour certains, jusqu'à leur implémentation en Java, C# ou C++. Après avoir découvert vous-même certains Patterns et les avoir utilisés dans votre démarche de conception, vous serez amené à trouver des solutions d'architecture basées sur les Patterns. Une deuxième étude de cas vous permettra de mettre en pratique l'ensemble des acquis du cours. - Maîtriser les principes fondamentaux de la conception objet - Connaître les principaux Design Patterns - Mettre en oeuvre pragmatiquement les Design Patterns au sein d'une conception objet - Découvrir de nouveaux Patterns - Appréhender la notion de langage de Patterns - Découvrir comment les Patterns s'appliquent à l'architecture et aux Frameworks - Mettre en oeuvre une démarche globale basée sur les Design Patterns - Structurer les applications orientées objet en packages respectant les règles de couplage et de cohésion - Améliorer une application existante en utilisant les principes du Refactoring combinés aux Design Patterns Introduction à la conception objet et aux Design Patterns - Processus de développement agiles - Analyse et conception - La conception dans les processus agiles - Découverte d un Design Pattern Principes fondamentaux de conception - Les Patterns Grasp d affectation des responsabilités - Les principes fondamentaux de la conception objet - Les outils de la conception objet Design Patterns du GoF et autres Patterns - Les Design Patterns de comportement (Itérateur, Stratégie, Template Method, Etat, Observateur, Médiateur, Visiteur) - Les Design Patterns de création (Singleton, Fabrique Abstraite, Builder) - Les Design Patterns de structure (Composite, Pont, Adaptateur, Décorateur, Façade, Proxy, Value Object) - Les interactions entre Design Patterns - Les langages de Patterns Patterns et architecture - Couches logicielles - Modèle Vue Contrôleur (MVC) et ses variantes - Domain Driven Design - Frameworks Démarche globale basée sur les Patterns - Mise en oeuvre systématique des Patterns - Documentation et communication autour des Patterns Organiser un modèle et en contrôler la qualité - Règles d organisation en packages - Métriques de packages Le Refactoring - Définition et principes du Refactoring - Quelques «mauvaises odeurs» - Exemples de Refactoring - Refactoring vers les Design Patterns - Les outils du Refactoring 2014 JAN FEV MARS AVRIL MAI JUIN JUILL AOUT SEPT OCT 25 13 17 19 07 08 03 TOULOUSE 27 14 08 08
JOD IJOP AJOD CLEO XJAVA ECOD PREFC Java et la conception objet Programmation intensive avec Java / Java EE Atelier Java avancé Programmer avec les nouveautés Java Extrême Java L essentiel de C++ et la conception objet Programmation efficace et avancée en C++
5 jours 35 heures Java et la conception objet Développement Java et C++ JOD Développeurs souhaitant passer à Java Maîtrise d un langage de programmation 75% de travaux pratiques Support de cours sur CD 2 160 HT La principale difficulté à laquelle est confronté un futur programmeur Java ne tient ni à la syntaxe du langage, ni à ses API, mais bien plus à l'élaboration, à partir de concepts orientés objet, des fondations d'une démarche de développement qui feront toute la différence entre un néophyte et un programmeur expérimenté. Cette formation vous apportera une méthodologie simple pour débuter l'analyse, la conception et le développement d'une application Java. Vous y apprendrez les principales caractéristiques de la syntaxe Java ainsi que ses classes utilitaires incontournables. Les trois-quarts du cours sont consacrés à une étude de cas et à des travaux pratiques sur l'analyse, la conception et la programmation en Java au cours desquels vous mettrez également en oeuvre des pratiques de codage reconnues. Une démarche itérative sera l'occasion d'enrichir votre code en vous focalisant à chaque étape sur un des concepts objets fondamentaux. Vous coderez aussi en Java quelques Design Patterns parmi les plus couramment utilisés. Lire et écrire des classes et méthodes Java Utiliser les outils de développement Java Gérer correctement les fichiers des projets Java Créer des diagrammes d'interactions UML Créer des modèles du domaine avec la notation UML Concevoir des applications Java évolutives à l'aide de Design Patterns Traduire des modèles de conception en Java Utiliser les collections Java Concepts objets - Classe et instance - et message - Polymorphisme - Encapsulation - Contenance (Containment) - Hiérarchies de types et de classes - Héritage Définition de classes Java - Définition de classes et fichiers source - Champs et méthodes - Portée - Organisation des fichiers et packages - Contrôle des accès - Constructeurs - This - Classes String et bases du JDK - s main et points d entrée Développement itératif - Complexité et décomposition - Processus itératifs et incrémentaux - Cycles de développement Analyse objet - Notation UML - Modèles du domaine - Diagrammes de séquence système - Opérations système Conception objet - Responsabilités - Diagrammes de communication - Patterns - Diagrammes de classes - Visibilité Polymorphisme et héritage - Super-classes et sous-classes - Redéfinition de méthodes - Liaisons statique et dynamique - s abstraites - Appel de constructeurs de super-classes Construction d applications - Bibliothèque de classes - Interface - Gestion des exceptions Technologie Java - Ramasse-miettes - Bytecode - Machine virtuelle - Entrées / sorties - Collections - Collections génériques du JDK 1.5 Sujets spécifiques - Membres statiques - Membres et classes Final et Abstract 2014 TOULOUSE 02 JAN 06 13 FEV 03 MARS 03 10 AVRIL 07 MAI JUIN 02 16 JUILL 07 AOUT SEPT 01 15 OCT 06 03 01 08
5 jours 35 heures Programmation intensive avec Java / Java EE Développement Java et C++ IJOP Développeurs objet, chefs de projets souhaitant utiliser Java Expérience pratique d un langage objet (C++, C#...) Connaissances HTML 50% de travaux pratiques Support de cours sur CD 2 160 HT Contrairement à de nombreux langages comme Delphi ou Cobol, associés pour toujours à un type d'applications, le langage Java s'est imposé comme un langage majeur avant tout par sa capacité à bâtir tout type d'architecture applicative qu'elle soit destinée à un poste utilisateur, à un serveur métier ou à un serveur Web. Au terme de cette formation, vous aurez acquis la connaissance de la syntaxe et des concepts du langage Java et saurez construire une application Web complète, dotée d'une architecture à trois niveaux. Vous connaîtrez donc les bases du développement Java et Java EE. Au travers d'un thème fonctionnel simple, vous élaborerez, lors des travaux pratiques, l'ensemble du coeur métier de l'application. Vous exploiterez les entrées / sorties en Java pour sauvegarder les données, avant de les intégrer à une base de données relationnelle via JDBC (Java DataBase Connectivity). Vous réaliserez un client Web en utilisant des Servlets et des pages JSP (JavaServer Pages). Vous aurez ainsi, une vue itérative d'architecture concrète sur l'ensemble des couches d'une architecture Web. Utiliser la syntaxe Java et les classes de base Programmer avec les améliorations des JDK 1.5 et 1.6 Lire et écrire des classes Java et les organiser en packages Utiliser les entrées / sorties de Java pour sauvegarder les données (sérialisation) Accéder à un SGBDR avec JDBC Appréhender la plate-forme Java EE et les architectures Web Créer une application Web basée sur les JSP / Servlets Internationaliser une application Web avec JSTL Introduction à Java - Présentation du langage - Le Bytecode et la machine virtuelle Java - Le JDK et les API de la plateforme Java Syntaxe Java - Types de base - Déclaration des variables - Opérateurs - Enumérations - Les structures de contrôle - Commentaires Objets, classes et tableaux - Déclaration d une classe - Les attributs et méthodes Static et Final - Constructeurs et bloc d initialisation - Syntaxe des tableaux Classification, packages et encapsulation - Classification et héritage - Les interfaces Java - Polymorphisme - Classes et méthodes abstraites - Packages et visibilité - Classes imbriquées et classes anonymes Quelques classes utilitaires - La classe Object - Les classes Wrapper - L Autoboxing - Les chaînes de caractères - Generics et collections (JDK 1.5 et 1.6) La gestion des exceptions - Gérer les exceptions applicatives - Exceptions vérifiées et non vérifiées - Bon usage des exceptions Les entrées / sorties Java - Les canaux et les filtres - E/S par octet et par caractère - La sérialisation Les bases de JDBC - Les pilotes JDBC - Contrôler les transactions - Traiter le résultat des requêtes SQL - Utilisation de procédures stockées - Tour d horizon de l API JDBC 4.0 (JDK 1.6) Java EE et Servlets - JSE et JEE - Conteneurs de Servlets - Architecture et multi-threading - Écriture de Servlets - Gestion des formulaires - Forward et inclusion - Suivi de session - Attributs de requête Pages JSP - Syntaxe des JSP - Exécution des JSP - Séparation Modèle / Vue / Contrôleur - Objets implicites - Pages d erreurs JSP 2.0 et JSTL - Langage d expression des JSP - Java Standard Tag Libraries - Internationalisation avec JSTL 2014 TOULOUSE 18 JAN 20 FEV 10 MARS 17 AVRIL MAI 19 JUIN 02 JUILL 21 AOUT SEPT 15 OCT 06 24
5 jours 35 heures Atelier Java avancé Développement Java et C++ AJOD Développeurs Java expérimentés Expérience pratique de la programmation avec Java ou avoir suivi le cours JOD ou IJOP 70% de travaux pratiques Support de cours sur CD 2 350 HT A l'heure où les Frameworks Java comme Struts, Spring ou Hibernate sont très populaires, beaucoup pensent que les difficultés rencontrées sur nombre de projets viennent d'un manque de connaissance des techniques de conception de base d'une architecture logique. Après avoir suivi cette formation vous saurez concevoir et implémenter une application Web en Java de la programmation des pages Web jusqu'à la base de données sans l'aide d'aucun Framework et en sachant justifier l'ensemble de vos choix. L'atelier Java avancé, c'est l'occasion de développer une application Web multiniveaux de bout en bout en utilisant de bonnes pratiques de programmation et les bibliothèques Java les plus importantes. C'est aussi l'occasion d'utiliser les techniques de distribution les plus courantes qu'elles soient synchrones ou asynchrones. Les multiples changements mis en oeuvre permettent d'évaluer la pertinence respective de chaque architecture ainsi que de réfléchir concrètement aux moyens de rendre une application évolutive. Développer une interface Web avec des Servlets et des JSP Mettre en place l'architecture d'un site Web et implémenter le modèle MVC Interroger une base de données relationnelle en utilisant JDBC 3.0 Concevoir et implémenter une couche de persistance au-dessus de JDBC Concevoir et implémenter des applications distribuées grâce à RMI Appliquer certains Design Patterns à votre modèle de conception d'application Utiliser intelligemment des Web Services pour distribuer des services Implémenter un système distribué et asynchrone en utilisant JMS Persistance avec JDBC - De JDBC à JDBC 3.0 - Appel d une procédure stockée - Frameworks de persistance - Transactionnel et gestion des verrous Architecture distribuée avec RMI - Client(s) RMI - Serveur(s) RMI - Déploiement statique et dynamique Design Patterns - Singleton - Iterator - Factory - DAO - Façade Servlets - Le protocole HTTP - L API Servlet et le cycle de vie - Configuration et déploiement JavaServer Pages (JSP) - Cycle de vie d une page JSP - JSP et l intégration des JavaBeans - Comparaison des modèles MVC 1 et 2 - Gestion des sessions - Cookies Service de messagerie Java (JMS) - Point-à-Point (PTP) - Publish / Subscribe (PubSub) - Les topics, les queues - Types de message (texte, XML...) Tester et déboguer - Débogage des applications Web - Gestion des logs - Le Framework Log4J - Tests unitaires Les Web Services - SOAP et WSDL - Exposer un Web Service - Consommer un Web Service 2014 16 JAN FEV 17 MARS AVRIL MAI JUIN 16 JUILL AOUT SEPT OCT 13
2 jours 14 heures Programmer avec les nouveautés Java Développement Java et C++ CLEO Développeurs Java Connaissance du développement avec Java ou avoir suivi JOD 70% de travaux pratiques 1 400 HT Jusqu'à ses dix ans, le langage Java, en faisant le pari de la simplicité, n'avait accepté aucune nouveauté syntaxique dans ses moutures successives. Soumis à la pression des langages concurrents, Java a accepté d'évoluer à partir de la version 1.5 du JDK. Il existe donc maintenant un réel écart entre les développeurs maîtrisant les nouveautés apportées à Java depuis la version 5 et les autres. A l'issue de cette formation, les nouveautés en Java n'auront plus de secrets pour vous. Conçue sous forme de modules accompagnés d'exercices, elle vous permettra d'avoir une vue d'ensemble des changements majeurs des versions de Java depuis Java 5. Vous pourrez ainsi faire des choix éclairés sur le développement en Java. La mise en application vous permettra d'utiliser à bon escient les nouveautés syntaxiques comme les annotations, les énumérations ou les types génériques. Vous coderez aussi en intégrant le Scripting ou les collections multi-threadées. Vous réfléchirez aux gains de productivité, de performance et de simplification du code induits par ces fonctionnalités. Utiliser la généricité Découvrir les annotations et leurs utilisations Déterminer la collection nécessaire à votre contexte Manipuler les nouvelles API XML Simplifier l'écriture de votre code avec des structures adaptées Maîtriser les évolutions du langage Java Java 5 - Autoboxing / Unboxing - Imports statiques - Annotations ou métadonnées (Meta Data) - Arguments variables (Varargs) - Généricité - Boucles pour le parcours des collections - Enumérations (type Enum) Java 6 - Langages de Scripting - Sérialisation XML avec JAXB (Java Api for Xml Binding) - StAX (Streaming Api for Xml) - Asynchronisme avec java.util. concurrent - Multi-Threading avec java.util. concurrent Java 7 - Opérateur en diamant - Support des String par les Switch / Case - Mise en forme des valeurs littérales - Multi-Catch d exception - Try-with-resource - Gestion des fichiers avec java.nio 2014 JAN FEV 27 MARS AVRIL MAI 26 JUIN JUILL AOUT SEPT OCT 20
4 jours 28 heures Extrême Java Développement Java et C++ XJAVA Développeurs Java expérimentés Solide expérience pratique du langage de programmation Java 60% de travaux pratiques Support de cours sur CD 2 120 HT Maîtriser les concepts fondamentaux du langage Java ne suffit pas pour régler certains problèmes. Seule une compréhension approfondie de sa structuration et de ses concepts permet d'en faire un meilleur usage. Un développeur Java chevronné doit savoir faire usage de ces techniques. A l'issue de la formation "Extrême Java" vous aurez une vision plus claire de la gestion de la mémoire par la JVM. Vous pourrez mettre en place des outils de profiling pour visualiser les points bloquants de vos applications, vous aurez des pistes pour l'optimisation de votre code. Vous aurez une vue d'ensemble de la programmation multi-tâche, multi-coeur et de la programmation par aspects (AOP). Vous saurez manipuler le Bytecode et utiliser les solutions de Scripting supportées par la JVM. Au travers du déroulement itératif d'un projet, vous utiliserez des techniques moins connues de programmation Java comme la gestion poussée des Threads, l'introspection du code avec les annotations ou le Scripting. Vous implémenterez l'injection de comportements en utilisant l'aop, les proxies dynamiques et la manipulation de Bytecode. Programmer multi-tâche en Java Sécuriser une application Java Comprendre la gestion de la mémoire Tirer parti des possibilités de réflexion du langage Manipuler et analyser le Bytecode Utiliser le Scripting Exploiter la programmation par aspects Comprendre l'évolution du langage Java Analyser le comportement d'une application Java et en accroître les performances Programmation multi-tâches - Concepts liés au multi-tâche - Programmer avec des Threads - Problèmes spécifiques au multitâche - Problèmes de conception associés - Concepts avancés - Programmer sur un processeur multi-coeur - Impact sur les performances Entrées / sorties - Flux d objets et sérialisation avancée - Nouvelles entrées / sorties (NIO) - Encodage des flux de caractères Gestion de la mémoire - Modèle de mémoire Java - Garbage collection, spécifications et algorithmes - Options de la JVM - Objets références - Pools d objets Réflexion - Vue d ensemble - Introspection de classes - Manipuler des objets, des tableaux - Manipuler le Bytecode - Utiliser Javassist - Contraintes de sécurité - Proxies dynamiques - ClassLoaders et manipulation de classes au chargement Scripting - Interprétation et typage dynamique - Valeur ajoutée des langages de script - Normalisation : JSR 223 et API ScriptEngine - BeanShell, JavaScript, Python, Groovy Sécurité Java - Problématiques et principes de sécurité - Sécurité de niveau langage et de la JVM - API de sécurité (JAAS, JCE, JSSE) Annotations Java 5 - Principe des annotations - Annotations prédéfinies - Définir ses propres annotations - Processeurs d annotations (Metadata Driven Development) - Exemples d utilisation - Mises en garde Nouveautés Java - Apports du JDK 1.5 - JDK 1.6 et nouveautés du JDK 1.7 Programmation par aspects (AOP) - Principes de l AOP - Programmer par aspects - Les tisseurs d aspects Java - Les aspects dans le profiling Profiling et optimisation - Stratégie d optimisation - Techniques d optimisation - Optimisations par le compilateur et la JVM, JIT - Coût des opérations Java - Diagnostics et profiling 2014 TOULOUSE JAN 13 FEV MARS AVRIL 14 07 MAI JUIN JUILL 15 AOUT SEPT OCT 20 17
5 jours 35 heures L essentiel de C++ et la conception objet Développement Java et C++ ECOD Développeurs souhaitant créer des applications avec C++, Développeurs C désirant passer au C++ Maîtrise d un langage de programmation de haut niveau 75% de travaux pratiques 2 160 HT Le C++ est un langage de programmation extraordinairement puissant reposant sur la syntaxe délicate du C tout en lui apportant les concepts essentiels de l'approche objet. Une entreprise cherchant à former au C++ ses développeurs, trouvera dans cette formation une démarche itérative avec un apprentissage "just-intime" des aspects délicats de ce langage. À l'issue de ce cours, vous aurez non seulement acquis une expérience réellement pratique de la syntaxe et de l'utilisation d'outils C++, mais, et c'est encore plus important, vous saurez concevoir et développer en C++ des systèmes robustes et évolutifs. Vous saurez également comment utiliser quelques Design Patterns fondamentaux, outils essentiels pour la consolidation des acquis en matière d'analyse et de conception orientées objet et pour l'amélioration de l'architecture de vos systèmes. Les trois-quarts du cours sont consacrés à des travaux pratiques ciblés et incrémentaux facilitant l'assimilation des concepts et techniques appris. Une étude de cas sera réalisée pour appliquer les concepts orientés objet au niveau de l'analyse, de la conception et de la programmation en C++. Découvrir ou consolider les éléments syntaxiques du C Définir et gérer des fichiers pour les projets C++ Concevoir et développer des classes C++ Utiliser les outils de développement pour bâtir et déboguer rapidement une application Développer par agrégation et par extension Concevoir des applications ouvertes en utilisant le polymorphisme et les fonctions virtuelles Utiliser les classes collection des bibliothèques STL et Boost Gérer la mémoire dynamique afin d'éviter les fuites et les erreurs de mémoire Maîtriser le mécanisme de gestion des exceptions Aborder la programmation générique Du C au C++ - Syntaxe - Variables, constantes - Pointeurs et références - Tableaux - Fonctions, paramètres par défaut Gestion de la mémoire - Pile, stockage libre et mémoire statique - Opérateurs new et delete Organisation du code - En-tête et fichiers source - Organisation des fichiers - #include - Les namespaces Concepts objet - Classe et instance - Membres de données et de fonctions (méthodes) - Déclaration et définition de classes - Le paramètre implicite «this» - Encapsulation - Constructeurs et destructeurs - Polymorphisme statique (surcharge) Composition (Containment) - Déclaration de membres objets - La zone d initialisation des membres - Ordre de construction - Contrôle des accès Sûreté avec const - Mot-clé const et membres de données - s const et paramètres Classes utilitaires de la STL - La classe string - Les conteneurs et itérateurs Classification, héritage et polymorphisme - Classes de base et classes dérivées - Hiérarchies de types et de classes - Redéfinition de méthodes - Liaison statique et dynamique - Polymorphisme dynamique grâce aux fonctions virtuelles - Appel de constructeurs de classes de base Surcharge des opérateurs essentiels - Opérateur = - Constructeur de copie - Opérateur[] - Opérateurs << et >> Sujets spécifiques - Données membres statiques - Fonctions membres statiques - Fonctions inline Gestion des exceptions - Définition et mécanisme - Délimiter (try), lever (throw) et attraper (catch) une exception - La clause «throws» - catch(...) Introduction aux templates - Fonctions templates - Classes templates 2014 TOULOUSE 02 JAN FEV 10 MARS 17 AVRIL MAI 12 JUIN JUILL 28 AOUT SEPT 22 OCT 27
5 jours 35 heures Programmation efficace et avancée en C++ Développement Java et C++ PREFC Développeurs C++ souhaitant approfondir leurs connaissances dans ce langage 3 à 6 mois d expérience de la programmation avec C++ 60% de travaux pratiques 2 415 HT On considère qu'il faut entre 3 et 5 ans de pratique pour devenir un programmeur C++ expert. Si vous êtes un développeur pratiquant le C++ depuis quelques mois et que vous cherchez à accélérer ce lent processus d'apprentissage, ce cours est pour vous. À l'issue de cette formation vous pourrez prétendre être un programmeur C++ expert, capable de bien utiliser la bibliothèque standard (STL) et sachant utiliser des constructions syntaxiques pointues. Vous saurez également tirer profit de la programmation générique, de la programmation dynamique (RTTI) et utiliser l'héritage multiple à bon escient. Vous découvrirez également les dernières évolutions du langage C++ avec l'intégration d'éléments de la bibliothèque Boost. De nombreux exercices réalistes ont été conçus pour vous permettre de consolider les nouvelles techniques acquises mais aussi d'élargir leur champ d'utilisation. La syntaxe C++ étant parfois obscure et difficile à assimiler, ces exercices permettent de faire fausse route une première fois en toute sécurité afin de pouvoir, par la suite, éviter les pièges des projets réels. Élaborer des fonctions et des classes templates Mettre en pratique la gestion des exceptions Utiliser des opérateurs et des pointeurs pour implémenter l'indirection Découvrir et réutiliser les nouveaux conteneurs de la bibliothèque Boost Vous exercer à la programmation générique Étendre votre utilisation des flux d'entrée / sortie (E/S) Débattre de l'usage des requêtes de types à l'exécution (RTTI) Maîtriser les aspects avancés de l'héritage (multiple - privé) Gérer l'allocation et la libération des ressources Mettre en oeuvre des stratégies spécifiques au C++ pour améliorer les performances Les espaces de noms - Pourquoi utiliser les espaces de noms? - Déclarations et définitions combinées - Définitions discontinues - Les bonnes pratiques Les opérateurs - Opérateurs binaires et unaires - Opérateurs et réutilisation - Les foncteurs - Les opérateurs pointeur et type Programmation dynamique avec RTTI - Utilisation de typeid() et type_ info - static_cast(), reinterpret_cast(), const_cast() et dynamic_cast() Les templates - Le pré-processeur et les macros - Syntaxe - Fonction template - Classe template - Utilisation des templates La bibliothèque STL - Les conteneurs - Les itérateurs - Les algorithmes - Les collections de la librairie Boost La gestion de la mémoire avec Boost - Gérer la mémoire dynamique - Encapsuler un pointeur - Constructeurs et exceptions - Gérer la propriété de la mémoire - Initialiser et transmettre des auto_ptr Pointeurs sur fonctions membres - Comparaison avec les pointeurs sur fonction en C - Syntaxe - Utilisation de typedef Les entrées / sorties - Cout, cin et cerr - Utilisation des fichiers - Les opérateurs de streaming La programmation générique - Révision des templates - Réification de fonctions - Les algorithmes de la STL Gestion efficace des exceptions - Lever et relancer des exceptions - Capturer les exceptions - Hiérarchiser les exceptions - Bonnes pratiques Utilisation avancée de l héritage - Héritage privé, protégé et contrôle d accès - Héritage multiple - IM et classes de base répliquées - Ambiguïté potentielle et résolution par la clause using - Héritage virtuel et règles de dominance - Casting et héritage virtuel Performance - Gérer efficacement les dépendances de compilation - Du bon usage de l Inlining - Profiling, anticipation et mise en cache - Recyclage des objets et mise en Pool - Écriture d allocateurs de mémoire 2014 25 JAN FEV MARS 10 AVRIL MAI JUIN 30 JUILL AOUT SEPT 29 OCT
JSF Développement d applications Web avec JSF SPRI Développement avec le Framework Spring PERIB Gestion de la persistance avec JPA et Hibernate GWT Développer une application Web avec Ajax et GWT EVI Développer une application avec Java EE 6 WSERJ Développer des Web Services en Java
3 jours 21 heures Développement d applications Web avec JSF Java EE & Frameworks JSF Développeurs Web Java EE, chefs de projets Bonne expérience du développement Web avec Java EE ou avoir suivi le cours IJOP 60% de travaux pratiques Support de cours sur CD 1 821 HT Le Framework JavaServer Faces (JSF) permet la simplification du développement Web. Il permet en effet de rapprocher la création d'applications intranet / Internet des techniques éprouvées du développement rapide d'applications client / serveur. Il procure ainsi un sérieux gain de productivité et la possibilité de créer simplement des interfaces Web sophistiquées. A l'issue de ce cours, vous pourrez mettre en oeuvre une application Web en utilisant le Framework JSF. Vous saurez en outre justifier du choix d'une bibliothèque de composants graphiques. Enfin vous serez capables de définir la provenance des problèmes de réactivité. Au travers d'un projet développé de manière itérative, en s'appuyant d'abord sur des pages JSP puis sur Facelets, vous apprendrez à gérer la navigation entre les pages JSF, l'activation des traitements côté serveur, la gestion des événements clients et l'internationalisation de vos applications. Vous mettrez en oeuvre les composants Web standards de JSF et les composants sophistiqués comme la DataTable. Vous poursuivrez avec l'intégration de librairies supplémentaires pour bénéficier de composants graphiques prêts à l'emploi. JavaServer Faces, les bases - De JSF1 à JSF2 - Caractéristiques essentielles - Les implémentations JSF Fonctionnement de JSF - Cycle de vie d une page JSF - Règles de navigation - Managed et Backing Beans - Actions et gestion d événements - TagLibs et JSF Configuration et déploiement - Le fichier faces-config.xml - Annotations JSF2 - Intégration dans une application Web Utilisation des composants JSF - Affichage - Validation - Internationalisation - Tableaux de données - Convertisseurs Conception avancée et personnalisation du Framework - Bases de la création de composants JSF - Les Design Patterns dans JSF - Lien entre JSF et les autres couches de l application - Utiliser Facelets comme View Technology - Templating avec Facelets - Intégrer Ajax et JSF Les enjeux de JSF - Les environnements de développement JSF - Les bibliothèques de composants - JSF et les performances - JSF et la sécurité - Connaître les éléments du Framework JSF - Utiliser les composants standards JSF - Créer des templates de page avec Facelets - Gérer le contexte utilisateur (événements, formulaires) automatiquement - Internationaliser vos applications simplement - Maîtriser le mode d'exécution d'une application JSF - Savoir ce qu'apporte JSF2 2014 JAN FEV MARS 10 AVRIL MAI JUIN JUILL AOUT SEPT OCT 06
3 jours 21 heures Développement avec le Framework Spring Java EE & Frameworks SPRI Développeurs Java, chefs de projets, architectes techniques Expérience pratique du développement avec Java ou avoir suivi le cours IJOP Connaissance du développement Web avec Java ou avoir suivi la formation IJOP ou AJOD 60% de travaux pratiques 1 821 HT Leader dans le monde des conteneurs légers, Spring a pour vocation de faciliter la construction d'application Java d'entreprise en limitant les efforts habituellement liés aux problématiques techniques, afin de se concentrer sur des problèmes du métier. Dans des projets Java de plus en plus complexes mixant de multiples solutions, l'architecte et le développeur sauront tirer avantageusement parti de ce puissant Framework grâce à une bonne appréhension de ses concepts et pratiques. A l'issue de la formation, le participant sera capable d'identifier le rôle et la valeur ajoutée de Spring dans un projet Java, d'évaluer la pertinence d'un module de Spring face à un besoin et de mettre en oeuvre Spring pour gagner en efficacité. L'étude de cas utilisera d'abord Spring Core, puis sera complétée par différents modules comme Spring MVC, l'aop (Programmation par Aspect), les templates JDBC, ou la sécurité. Ainsi, vous aurez réalisé une application complète, de la couche présentation jusqu'à l'accès aux données, en utilisant Spring. L'ouverture de Spring vers les Frameworks Struts et Hibernate sera aussi illustrée au travers d'exemples concrets. - Connaître les principes sur lesquels repose Spring - Concevoir une application avec Spring - Configurer au mieux les applications utilisant Spring - Simplifier l'accès aux données avec Spring - Appréhender l'intégration de Spring dans une application Web - Comprendre comment Spring modifie les habitudes de programmation - Mettre en place la sécurité de Spring (authentification et habilitation) Introduction à Spring - Origines de Spring - Inversion of Control (IoC) - Programmation orientée aspect (AOP) - Vue complète de Spring Core Spring - Bean Factory - Contexte applicatif - Gestion des ressources - Packaging et déploiement SpEL - Configuration dynamique - Utilisation d expressions régulières - Gestion des ressources simplifiée AOP et Spring - Proxies - Pointcuts - Advice Configuration - Centralisation de l information - Initialisation tardive - Fichiers externes Conception - Approche Java EE vs. approche Spring - Conception simplifiée - Gestion d exception Persistance avec Spring - Data Access Objects - Templates JDBC - Intégration d Hibernate Gestion efficace des transactions avec Spring - La démarcation transactionnelle - Configuration - Gestion des transactions avec JDBC ou Hibernate Spring dans une application Web - Spring MVC - Spring et Struts - Spring et la sécurité 2014 04 JAN 06 FEV MARS 31 AVRIL MAI JUIN JUILL 07 AOUT SEPT OCT 01
3 jours 21 heures Gestion de la persistance avec JPA et Hibernate Java EE & Frameworks PERIB Développeurs Java, chefs de projets Bonne expérience pratique du langage Java ou avoir suivi le cours JOD ou IJOP. 60% de travaux pratiques 1 821 HT La persistance d'objets Java dans une base de données relationnelle se révèle rapidement complexe et coûteuse à écrire, d'où la popularité grandissante du Framework Open Source Hibernate. Alors que de moins en moins de développeurs sont compétents en SQL, il permet de répondre efficacement aux problèmes les plus courants du mapping objet / relationnel rendant ainsi le développement plus simple et plus rapide. N'ayant rien de magique il doit cependant être utilisé avec précaution et se trouve encore au coeur de beaucoup de débats techniques et passionnés. Au terme de ce cours vous aurez acquis, sur JPA (Java Persistence Api) et le Framework Hibernate, les compétences nécessaires pour réaliser une couche de persistance efficace mappée sur une base existante. Vous aurez un regard critique sur son efficacité et sa pérennité et pourrez argumenter sur la mise en place de plusieurs solutions d'optimisation comme un cache de second niveau. Au cours de cette formation, vous réaliserez le mapping d'un modèle métier impliquant les principales techniques de mapping : associations de toutes sortes (One-to-One, Many-to-One, Many-to-Many, unidirectionnelles et bidirectionnelles), héritage et composition. Vous construirez ensuite une couche de persistance de ce modèle métier avec mise en place d'une gestion transactionnelle afin de bien cerner l'impact d'hibernate sur la conception des couches de service et de persistance. Ce cours utilise Hibernate comme moteur de persistance JPA ; il peut néanmoins être suivi si vous utilisez une autre implémentation (TopLink, OpenJPA...). - Rendre persistants vos objets avec JPA - Utiliser le langage de requêtes JPQL - Utiliser JPA avec une base de données existante - Intégrer un ORM dans différentes architectures (Web et distribuées) - Optimiser l'accès aux données - Éviter les écueils les plus courants - Utiliser les annotations JPA pour décrire les méta-données de mapping Mise en oeuvre de la persistance - Processus de développement - Connexion à la base - Configuration d un Entity Manager - Création, ajout et suppression d objets - Le gestionnaire d entité Conception - Design Patterns pour couche de persistance - Persistance du modèle objet - Gestion de l héritage - Gestion des associations JPQL - Clauses des requêtes - Les fonctions d agrégation - Les requêtes polymorphes - Criteria Utilisation avancé - Transactions - Exceptions - Gestion du cache - Lazy Loading Mapping objet / relationnel - Écriture du fichier de mapping - Utilisation des annotations - Gestion de l identifiant - Types de données et personnalisation - Types de mapping (Top-Down, Bottom-Up, Meet in the Middle) - Stratégies de mapping d héritage - Stratégies de mapping d association Architectures techniques - JPA dans une application client / serveur - JPA dans une application Web - JPA dans une architecture distribuée Limitations et interrogations - Pourquoi choisir JPA? - Limites techniques - Limites stratégiques - Lien entre JPA et les EJB 3 2014 JAN 27 FEV MARS AVRIL 28 MAI JUIN JUILL 28 AOUT SEPT OCT 27
3 jours 21 heures Développer une application Web avec Ajax et GWT Java EE & Frameworks. GWT Développeurs, architectes et chefs de projets Web Connaissance du langage Java ou avoir suivi JOD ou IJOP Connaissance de base de la programmation JavaScript / HTML 60% de travaux pratiques 1 821 HT Nombreux sont ceux qui clament la contre-productivité du Web depuis qu'il a été détourné de sa fonction originelle, la diffusion d'information, pour acquérir une dimension applicative. En effet, devant le temps passé par les développeurs à créer des pages dynamiques complexes sous forme de fichiers JSP, ASP ou PHP, on est en droit de se demander si ces solutions sont vraiment pérennes. Le Framework GWT (Google Web Toolkit) a apporté une bouffée d'oxygène en proposant de compiler en JavaScript et HTML une application développée en Java. Ce cours vous plongera au coeur du Google Web Toolkit afin de vous permettre de réaliser simplement une application Web réactive et ergonomique. Ce temps gagné en simplicité sera mis à profit pour mieux comprendre le fonctionnement interne d'un tel Framework ainsi que ses possibilités de personnalisation. Vous comprendrez le Design Pattern MVP et son impact sur le développement de projet avec GWT. Au travers d'un thème fonctionnel simple, vous élaborerez, lors des travaux pratiques, l'ensemble de la couche présentation ainsi que les interactions client / serveur. Vous exploiterez pour cela les principaux types de Panel fournis par GWT mais aussi GWT RPC puis REST ainsi que JSNI. Vous réaliserez un refactoring de votre code pour mettre en place le pattern MVP. Vous finirez par internationaliser l'application, intégrer des styles CSS et créer des Widgets. - Comprendre comment GWT révolutionne le développement Web - Créer des Widgets avec GWT - Découvrir les bonnes pratiques de développement avec GWT - Optimiser navigation, performance et confort d'utilisation de vos applications - Maîtriser l'api cliente de GWT - Mettre en oeuvre une communication efficace avec le serveur Présentation de GWT 2 - Architectures Web classiques en révolution - Ajax et ses Frameworks Le modèle de développement de GWT 2 - du SDK - Compilation Java / JavaScript - Fonctionnement des permutations - Mode Web et mode développement Le Framework client - L API graphique cliente (les boutons, cases à cocher, Combos) - Manipulations du DOM - Le modèle événementiel - Les gestionnaires de placement (Layout Manager) - Gérer les Time-Out ou synchronisations JavaScript Native Interface : JSNI - Appeler du code Java en JavaScript - Encapsuler du code JavaScript en Java - Types Overlays Concevoir des composants personnalisés - Hériter de Widget - Hériter de Composite Communication serveur - Architecture à base de services REST et RPC - GWT RPC - Gestion de la sérialisation - GWT Request Builder - Utilisation de JSON - Intégration avec EJB 3 et Spring Design Patterns avec GWT et concepts avancés - Gestion de l historique - Bonnes pratiques de développement - Modularité et performances - Les bibliothèques d extensions à GWT - Intégration d HTML5 - Deferred Binding et générateurs - Les optimisations du compilateur Internationalisation - Dictionnaires statiques - Dictionnaires dynamiques 2014 JAN FEV MARS 03 AVRIL MAI JUIN 02 JUILL AOUT SEPT 01 OCT 24
4 jours 28 heures Développer une application avec Java EE 6 Java EE & Frameworks EVI Développeurs Java, architectes Connaissance du développement avec Java ou avoir suivi le cours IJOP. 75% de travaux pratiques 2 124 HT La plate-forme Java EE a toujours été considérée comme puissante. Le pragmatisme apporté par la version 6 de cette plate-forme rend maintenant la tâche bien plus simple au développeur. JPA, JSF, CDI, EJB 3.1, Profils, il est maintenant possible de développer en respectant les patterns modernes tels que Ajax, le Cloud, ou les interfaces riches... Suite à cette formation, vous serez en mesure de développer des applications en utilisant la programmation déclarative (annotations) et de la déployer dans un Web Profile. Il demeure néanmoins impératif d'avoir la connaissance du langage Java pour développer. Sécurité, transaction, persistance : tous ces concepts seront vus et mis en oeuvre durant la session. Cette formation sera l'occasion de faire une synthèse des architectures utilisées depuis une décennie : Java EE revient-il sur des concepts introduits 10 ans plus tôt? Comment devons-nous considérer les Frameworks tels que Spring ou Hibernate? - Développer en utilisant la plate-forme Java EE 6 - JSF comme technologie sur la couche de présentation - JPA comme Framework de persistance - Gestion des transactions avec les EJB 3 - Un code léger grâce à CDI - Déployer dans un serveur de type Web Profile Présentation Java EE 6 - Les grands principes - Plusieurs types de composants exécutables : Servlet, JSF, EJB, JPA - Environnement d exécution JSF : couche de présentation et composant graphique de haut niveau (riche) - Servlet : une technologie de présentation limitée - Facelet : pourquoi utiliser des templates? - JSF : un standard, et des librairies qui le respectent - JSF Managed Bean - Cycle de vie d une requête JPA : de la base de données à Java - Metadata - EntityManager : votre véritable DAO - Gestion des associations : Lazy Loading - JPQL pour être efficace - Réflexion sur l architecture EJB 3.1 : performance, intégrité, distribution - Session EJB : un composant transactionnel! - Injection d un gestionnaire d entité : le contexte de persistance - Le contexte de persistance : Transaction ou Extended? - Sécurité CDI : préférez la déclaration au codage! - Injection de dépendance - Les différents contextes - Environnement d exécution 2014 JAN FEV MARS 31 AVRIL MAI JUIN JUILL AOUT SEPT 08 OCT
3 jours 21 heures Développer des Web Services en Java Java EE & Frameworks WSERJ Développeurs, architectes et chefs d équipe Compétences XML et Java ou avoir suivi les cours EXML et JOD ou IJOP 70% de travaux pratiques Les Web Services standardisent l'utilisation de technologies universelles, comme XML ou HTTP, dans le but d'invoquer des services à distance, d'échanger des informations, mais aussi de réaliser l'intégration de technologies diverses au sein d'architectures hétérogènes. Ce cours vous permettra non seulement de savoir développer des Web Services ou des clients de Web Services mais aussi d'être capable de décider si vous avez besoin de mettre en place des Web Services dans votre système d'information et de quel type. Introduction aux Services Web - Définitions - Raisons de recourir aux Web Services - Architecture et outils - Vision critique de SOAP et WS-* Le protocole SOAP - Structure des messages SOAP - SOAP Bindings - SOAP Headers - RPC ou document - Literal ou Encoded - SOAP et gestion d erreur - WS-I et Basic Profile JAX-RS - Piles REST - API JAX-RS - Annotations - Déploiement Comprendre REST - Modélisation de données - Identification de ressources - Localisation de ressources - Représentation d une ressource - Accès à une ressource - Mise à jour de ressource - Destruction d une ressource - Gestion d erreurs Support de cours sur CD 1 779 HT Une partie importante de cette formation est dédiée aux travaux pratiques au cours desquels vous allez écrire et déployer des Web Services SOAP et REST en utilisant les API JAX-WS et JAX-RS. Vous aurez à gérer différents types de retour y compris des fichiers dont il faudra optimiser l'échange. Vous testerez vos services manuellement et automatiquement avec des clients de test comme SOAP UI. Vous testerez aussi l'interopérabilité de vos Web Services. - Comprendre le fonctionnement et les cas d'utilisation des Web Services - Créer et lire des messages SOAP - Décrire une interface de Web Services en WSDL - Tester un Web Service - Choisir entre SOAP et REST - Concevoir et implémenter des Web Services en Java - Concevoir une couche de services RESTFul - Evaluer la notion de service REST et les architectures orientées ressources (ROA) Les contrats WSDL - Besoin de description - Spécification - Génération et customisation - Code First ou Contract First JAX-WS - Piles SOAP - API JAX-WS - Annotations - Déploiement Architecture et conception - Notion de service - Gestion d état et distribution - Design Patterns - ment de services Points techniques - Invocation asynchrone - Optimisation des performances et volumes échangés - Sécurité 2014 25 JAN FEV 03 MARS AVRIL MAI JUIN 16 JUILL AOUT SEPT OCT 17
HWEB JASI JAJA RESI HIT STAX NODE WEHA Développement de pages Web avec HTML et CSS Développement client avec JavaScript et Ajax Développement JavaScript avancé Programmer avec jquery Développer avec HTML5 et CSS3 Développer une application Web Full JavaScript Développement Web avec Node.js Hacking des applications Web
2 jours 14 heures Développement de pages Web avec HTML et CSS Développement Web HWEB Développeurs, graphistes, chefs de projets Aucun 50% de travaux pratiques Support de cours sur CD 1 160 HT Pages personnelles, services en ligne, applications d'entreprise : tous reposent sur le langage HTML! Celui-ci est léger, simple et permet une mise en page claire des informations ; et surtout, tout poste banalisé peut lire des pages HTML, en intranet comme sur Internet. Combiné au langage CSS pour gérer la mise en forme et l'uniformité, vous garantissez ainsi l'évolutivité de votre site. A l'issue de cette formation vous serez capable de créer des pages Web que ce soit pour créer votre propre site, pour les intégrer dans un gestionnaire de contenu, ou pour passer à la programmation de scripts serveurs. Vous serez aussi à même de modifier un contenu existant et de l'homogénéiser pour le rendre plus maintenable. Les travaux pratiques de ce cours consistent à créer un petit site Web avec des images, liens, tableaux, formulaires et listes. La gestion des styles et du positionnement se fera d'abord dans les pages pour en apprécier la simplicité et les limites, puis à l'aide des propriétés CSS pour en appréhender la puissance. - Créer une page HTML - Comprendre le fonctionnement des sites Web - Réaliser un formulaire HTML - Utiliser les feuilles de style CSS - Gérer le positionnement des éléments - Faciliter l'évolution des pages Introduction - L Internet, l intranet et le World Wide Web - Le rôle du navigateur Les concepts de base - La structure d un document HTML - Les listes - Les liens externes - Les ancrages Les images et les couleurs - Modifier les couleurs et les fonds de page - Ajouter une image dans une page HTML - Gérer une image cliquable Les balises structurantes - Créer un tableau - DIV et SPAN - Structurer son contenu Les feuilles de style CSS - Les propriétés : couleur, police, marge, etc. - Les classes - Dynamiser un site avec CSS - Gérer les positionnements absolus, relatifs ou fixes Les formulaires - Boutons - Listes déroulantes - Champs de saisie 2014 2014 TOULOUSE JAN FEV 10 MARS 20 AVRIL MAI JUIN 26 JUILL AOUT SEPT 25 8 OCT 11
3 jours 21 heures Développement client avec JavaScript et Ajax Développement Web JASI Développeurs Web, chefs de projets techniques Connaître les bases du Web ou avoir suivi le cours HWEB Connaître un langage de programmation 60% de travaux pratiques 1 740 HT Certains l'avaient bien vite enterré face aux problèmes de maintenance et d'évolution qu'il a pu présenter, il est néanmoins resté un incontournable du développement Web côté client. Avec l'arrivée de HTML5 voici JavaScript plus que jamais sur le devant de la scène et au coeur du Web. Ce cours enseigne, par la pratique, le langage JavaScript et ses principales utilisations dont le contrôle du navigateur via le DOM HTML et la programmation asynchrone avec Ajax. Vous découvrirez enfin le monde des bibliothèques JavaScript avec Prototype. Le fil rouge déroulé lors des travaux pratiques est un jeu de dés multi-joueur qui permet d'illustrer tout d'abord les bases algorithmiques JavaScript, puis les interactions avec le DOM et la gestion des événements. Il permet aussi de pratiquer les Timers JavaScript et les appels Ajax pour améliorer vos IHM. Vous modifierez ensuite votre code pour comprendre comment structurer correctement du code JavaScript. Enfin vous utiliserez la bibliothèque Prototype pour reprendre une fois de plus votre code, le simplifier et le rendre multi-navigateur. - Comprendre l'intérêt du langage JavaScript - Programmer avec JavaScript - Écrire du JavaScript Cross Browser - Utiliser Ajax - Découvrir les librairies JavaScript - Gagner du temps avec Prototype - Maîtriser le DOM HTML - Utiliser JSON et l'objet en JavaScript Petite histoire de JavaScript - LiveScript, JavaScript, Jscript... - JavaScript et difficultés de maintenance - JavaScript au coeur d Ajax - Les bibliothèques JavaScript Langage JavaScript - Caractéristiques syntaxiques - Mode d exécution - Types et objets JavaScript - Pointeurs de fonction - Programmation objet et JavaScript - This et la notion de contexte - JavaScript Object Notation (JSON) Le DOM HTML - Document Object Model - Manipulation et validation des formulaires - Principaux objets : Window, History, document - Gestion des événements - Manipuler HTML et CSS depuis JavaScript Ajax en action - Appels asynchrones et objet XMLHttpRequest - Requêtes concurrentes - Gestion des types de retour - Sécurité et Cross Domain Bibliothèques JavaScript - jquery, Dojo et les autres - Utilité des bibliothèques - Style de programmation et prototypage Prototype - Gestion simplifiée des événements - Dates, collections, formulaires... - Asynchronisme et Prototype 2014 2014 TOULOUSE JAN 13 FEV MARS 31 AVRIL 28 MAI JUIN JUILL 15 AOUT SEPT OCT 27 20
2 jours 14 heures Développement JavaScript avancé Développement Web JAJA Développeurs JavaScript, développeurs Web et chefs de projets techniques Connaître les bases de JavaScript ou avoir suivi le cours JASI 80% de travaux pratiques 1 160 HT Si la grande majorité des développeurs Web ont eu à écrire quelques dizaines de ligne de JavaScript dans leur carrière, peu d entre eux sont capables d en écrire quelques centaines voire quelques milliers. Une connaissance plus approfondie du langage est en effet nécessaire pour savoir comment structurer efficacement son code. Langage typé faiblement et dynamiquement, langage objet sans classes, nombreuses sont les incompréhensions suscitées par ce langage. Pourtant, en programmation orientée objet comme en programmation fonctionnelle, nombreuses sont les possibilités d un langage simple et puissant. Langage souvent cantonné à une utilisation subalterne, il est employé aujourd hui dans de très gros projets. Démystifier, approfondir et industrialiser sont les trois axes choisis pour vous aider à maîtriser JavaScript. Construit autour du développement d un jeu de Monopoly, aussi employé dans notre apprentissage du langage Java, ce cours vise d abord à montrer qu il n y a pas de limitations inhérentes à JavaScript en termes de conception. - Programmer objet en JavaScript - Structurer votre code - Comprendre les closures - Connaître les différentes déclarations de fonctions - Utiliser les Patterns courants en JavaScript - Ecrire des tests unitaires en JavaScript - Découper votre code JavaScript en modules Programmation objet en JavaScript - JavaScript Object Notation (JSON) - Constructeurs - Prototype et chaînage - Héritage et redéfinition - Encapsulation Programmation fonctionnelle - s et contexte d appel - Fonctions internes - Fonctions anonymes et immédiates - Closures - Call et Apply - This et That - Surcharge Structurer son code - Règles d or - Namespace Pattern - Module Pattern - Asynchronous Module Definition (AMD) - AMD avec RequireJS 2014 2014 TOULOUSE 28 28 JAN 20 FEV MARS 17 AVRIL 10 MAI 26 JUIN JUILL AOUT SEPT 22 OCT 27 17
2 jours 14 heures Programmer avec jquery Développement Web RESI Développeurs, architectes Connaissances fondamentales des langages HTML et JavaScript ou avoir suivi le cours JASI 70% de travaux pratiques 1 160 HT Depuis déjà plusieurs années, les Frameworks JavaScript pullulent. Parmi ceux-ci le plus populaire reste jquery, tant pour sa simplicité de mise en pratique que pour son efficacité. Ce cours vous guidera dans les principales étapes de l'apprentissage de jquery : des fonctionnalités de base à la création d'extensions en passant par l'utilisation des composants graphiques jquery UI ou de jquery Mobile. Vous commencerez par développer en utilisant jquery pour ses fonctionnalités Cross Browser et Ajax. Vous utiliserez ensuite certains Widgets jqueryui pour tendre vers une solution RIA, avant de créer un plug-in et d'envisager une version mobile de votre application. - Intégrer jquery dans vos développements Web et RIA - Comprendre comment jquery simplifie la mise en pratique d'ajax - Etendre les fonctionnalités de jquery - Utiliser les principaux composants graphiques de jquery UI - Créer des plug-ins jquery - Développer pour les Smartphones avec jquery Mobile Ajax et jquery - Ajax et la révolution du client riche - jquery, jqueryui, jquerymobile - Intégrer jquery dans une application Web - Structure de la bibliothèque Fonctions de base - Fonctions utilitaires - Sélecteurs - Manipulation du DOM - Normalisation des événements - Appel asynchrone simplifié - Effets Plug-ins - Pour quel besoin? - Structuration du code - Bonnes pratiques de création - Référentiel de plug-ins jquery UI - Interactions - Widgets - Effets visuels - Thèmes jquery Mobile - Support des différents OS mobiles - Fonctionnalités spécifiques - Gestion du Touch 2014 2014 TOULOUSE JAN 27 FEV MARS 27 AVRIL 22 MAI JUIN 26 JUILL AOUT SEPT 25 OCT 04 03
3 jours 21 heures Développer avec HTML5 et CSS3 Développement Web HIT Architectes techniques, développeurs, chefs de projets, intégrateurs Web Connaissance de HTML, Connaissance de JavaScript ou avoir suivi le cours JASI 70% de travaux pratiques 1 740 HT Le Web a beaucoup évolué durant cette dernière décennie. L'apparition de nouveaux terminaux mobiles, le développement des réseaux sociaux, des blogs et wikis, l'interactivité et le multimédia sont devenus des composantes essentielles de la réalisation d'un site Web. Dans ce contexte, les standards du Web que sont HTML et CSS ont atteint leurs limites, laissant la place à des technologies non standardisées et donc controversées comme Flash. Le couple HTML5 / CSS3 a pour ambition de combler ces lacunes et faire face aux enjeux d'aujourd'hui, en proposant un standard moderne pour intégrer du contenu riche, faciliter le design des pages Web, et simplifier la problématique cross-plateforme. Dans cette formation, vous aborderez les langages HTML5 et CSS3 sous un angle résolument pratique. Vous apprendrez à concevoir une page simple, puis à intégrer progressivement les nouvelles fonctionnalités de HTML5 et CSS3. Vous évaluerez aussi l'intérêt et la complexité de ces technologies pour décider de leur utilisation dans vos applications. Vous jugerez par la pratique des possibilités graphiques apportées par les nouvelles balises (Video, Web Forms 2.0) ou la génération d'histogrammes avec des effets CSS3 ainsi que le support du Drag and Drop. Vous utiliserez ensuite les API JavaScript permettant de faire une application Internet riche (RIA) en HTML5 : déconnexion et sauvegarde locale, communication serveur et WebSockets, Web Workers. - Comprendre les limites de HTML4 face aux enjeux du Web d'aujourd'hui - Connaître les nouveautés de HTML5 et CSS3 - Savoir structurer efficacement une page Web avec HTML5 - Intégrer de la vidéo, du son et des animations - Connaître les API de communication en JavaScript - Utiliser les fonctionnalités avancées de géolocalisation et de persistance Les origines de HTML et CSS - W3C : Le Web et la standardisation - Les langages HTML et XHTML - La vocation du HTML et des CSS - Syntaxe des feuilles de style - Bonnes pratiques de design Web Présentation de HTML5 / CSS3 - Pourquoi une nouvelle version de (x)html et CSS? - La chaîne de production Web - Intégration Web : limitations CSS 2.1 - Limites de HTML4 : technologies alternatives Balises HTML5 : changements et nouveautés - Nouvelles balises - Balises dépréciées - Objectif : faciliter le design - Le support des navigateurs Fonctionnalités de HTML5 - La sémantique - Structurer une page - Web Forms 2.0 - Le multimédia : vidéo et son - Les canvas - Drag and Drop - Persistance, bases de données locales - Travail hors ligne - Géolocalisation - Web Workers et WebSockets Fonctionnalités de CSS3 - Les préfixes CSS3 - Ombrage de texte - Transformations et transitions - 2D et 3D avec CSS3 HTML5 / CSS3 : conclusion - Etat des lieux et roadmap - Produire avec HTML5 - Suivre les évolutions 2014 2014 TOULOUSE 09 JAN 13 13 FEV 10 MARS 10 AVRIL 07 28 MAI 05 JUIN 02 JUILL 01 AOUT 18 SEPT 15 OCT 06 03 01
4 jours 28 heures Développer une application Web Full JavaScript Développement Web STAX Architectes techniques, développeurs, chefs de projets Connaissance de HTML Connaissance de JavaScript ou avoir suivi le cours JASI 80% de travaux pratiques 2 124 HT Longtemps considéré comme un langage de seconde zone, JavaScript est au coeur de projets et de technologies particulièrement innovants comme HTML5, Node.js ou MongoDB. Certaines architectures font ainsi le pari du JavaScript de bout en bout en privilégiant un client riche, une couche de services RESTFul sans état et une base NoSQL. Vous découvrirez dans ce cours cette approche novatrice et enrichissante. Si les RIA (Rich Internet Application ou clients riches) sont à la mode depuis quelques années, peu de développeurs ont les compétences nécessaires pour écrire une couche de présentation complète en JavaScript. Ce sera l'objectif principal de cette formation qui s'appuiera sur les nombreuses librairies JavaScript disponibles. L'essentiel de la formation est consacré à la création d'un client JavaScript réalisé avec différentes bibliothèques que vous relierez à une couche de services basée sur Node.js eux-mêmes dépendant d'un stockage NoSQL. Cette approche de bout en bout vous permettra de bien comprendre la flexibilité offerte par ce type de solutions. L'utilisation de différents Frameworks clients vous éclairera sur leur complémentarité et les critères de choix prédominants. - Comprendre les architectures sans état - Connaître les différents Frameworks JavaScript - Echanger des objets JSON et les stocker dans une base NoSQL - Ecrire une couche de service avec Node.js - Utiliser des API HTML5 - Créer une couche de présentation en JavaScript RIA et JavaScript - Un RIA tout JavaScript - Déclin de Flex - HTML5 à la mode - JavaScript côté serveur - Architectures Stateless Couche de présentation - Un Web sans page - Librairies classiques : jquery, Dojo... - Librairies graphiques : Sencha, YUI... Gestion du contexte client - Modèle métier et JavaScript Object Notation (JSON) - LocalStorage HTML5 - Déconnexion - JavaScriptMVC, Backbone... - Sécurité Couche de service - Ajax et JSON - Services RESTFul - Node.js - Express Stockage - Bases NoSQL - Stockage documents en JSON - MongoDB 2014 2014 TOULOUSE 12 JAN 27 FEV MARS AVRIL 22 MAI 12 JUIN JUILL 15 AOUT SEPT OCT 20 08
3 jours 21 heures Développement Web avec Node.js Développement Web NODE Architectes techniques, développeurs, chefs de projets Connaissance de JavaScript ou avoir suivi le cours JASI 75% de travaux pratiques 1 821 HT JavaScript étant indispensable pour toute application Web moderne, il est de plus en plus naturel d'utiliser ce même langage côté serveur. Fer de lance du JavaScript côté serveur, Node.js est dorénavant une alternative crédible pour le développement d'applications Web. A travers son modèle asynchrone et événementiel, Node.js permet de traiter un nombre important de requêtes simultanées. Doté d'un écosystème très riche et d'une communauté importante, Node.js n'a plus rien à envier au monde Java. Ce cours présente les concepts mis en avant par Node.js et leurs implications au sein d'un serveur. Vous vous familiariserez avec la façon d'organiser son code en modules, acquerrez les bons réflexes de programmation asynchrone et mettrez en oeuvre une architecture sans états. Bref, à l'issue de cette formation, vous serez en mesure de déployer une application Web moderne bâtie sur Node.js. L'essentiel de la formation est consacré à la création d'un serveur Node.js, interagissant avec un client Web via une API REST et via WebSocket. Vous apprendrez à rendre persistantes vos données en base SQL et NoSQL, à tester les différentes briques de votre application, à la déployer localement et sur le Cloud. Cette approche vous permettra de cerner les possibilités offertes par Node.js et l'intérêt d'une convergence entre le client et serveur. - Créer une application Web avec Node.js - Appréhender l'écriture de code asynchrone - Modulariser le code de son application - Comprendre les architectures sans état - Développer une API REST - Échanger des objets JSON et les stocker dans une base SQL ou NoSQL - Mettre en place une communication bidirectionnelle grâce au WebSocket - Savoir tester du code JavaScript - Déployer son application en production Présentation de Node.js - JavaScript côté serveur - Asynchronisme - Événementiel - E/S non bloquantes - Accès réseau - Accès aux fichiers Modularité - Définition d un module - NPM (Node Package Manager) - Principaux modules Enjeux des applications avec Node.js - Serveur HTTP avec Express - MVC avec Locomotive - Internationalisation - Architectures Stateless - Services RESTFul - Temps réel avec WebSocket - Socket IO - Un code asynchrone plus propre Stockage - Bases SQL - MariaDB / MySQL - Bases NoSQL - MongoDB Tests - Tests unitaires avec Mocha - Tests d API REST avec Frisby - Tests fonctionnels Industrialisation - Valider le code JavaScript - Construire son application - Déploiement sur un serveur - Déployer sur le Cloud 2014 2014 TOULOUSE JAN FEV 05 MARS 31 AVRIL MAI 05 JUIN 30 JUILL AOUT SEPT 01 OCT 27 12
1 jour 7 heures Hacking des applications Web Développement Web WEHA Développeurs Web, Java EE,.Net ou PHP, chefs de projets, responsables d applications, directeurs informatique Maîtriser les bases du développement Web Présentations, discussions et démonstrations 700 HT La frénésie du développement Web qui sévit actuellement a trop souvent son laissé pour compte : la sécurité d'accès aux applications. Résultat, des utilisateurs peu vigilants aux petits malins plus ou moins bien intentionnés, nombreuses sont les possibilités de s'introduire dans une application et de provoquer un dysfonctionnement en utilisant un simple navigateur. Sans se focaliser sur des problématiques de sécurisation réseau, ce cours expose les risques et attaques dont sont bien souvent la cible les applicatifs Web, quelle que soit la plate-forme de développement, ainsi que les moyens d'éviter ces attaques et les règles que tout bon développeur Web doit connaître. Ce cours vous permettra d'apporter des réponses aux questions suivantes : "Quelles sont les attaques courantes?", "Comment savoir ce que l'on risque réellement?", "Quelle stratégie de sécurité mettre en place?". - Comprendre d'où viennent les attaques et leurs dangers - Établir un niveau de connaissance commun pour les développeurs Web - Savoir quels points doivent être particulièrement surveillés dans un développement Web - Éviter simplement les attaques les plus courantes - Découvrir des outils d'analyse Rappels sur la sécurité réseau - Réseau, Web et sécurité - Principes d authentification - Utilisation de SSL - Firewall et proxy Sécurité des clients Web - Phising et usurpation d identité - Failles des navigateurs - Authentification renforcée - Failles JavaScript et Ajax - Utilisation de HTTPS Sessions HTTP et navigateur - Re-post des données - Time-out et déconnexion - Cookies et certificats numériques - Session ID et jeton de transaction - Détournement de sessions authentifiées Analyse d attaques courantes - SQL Injection - XSS ou Cross Site Scripting - Utilisation des références directes - CSRF ou Cross Site Request Forgery Points à surveiller - Masquer les URL - Validation des données - Liste de contrôle d accès - Utilisation du JavaScript - Sécurité d accès au SGBD - Échappement des Tags HTML Recherche de vulnérabilités - Analyse statique - Analyse dynamique ou test de pénétration 2014 2014 JAN FEV MARS AVRIL 22 MAI JUIN JUILL 22 AOUT SEPT OCT 21
C#OD C# et la conception objet ICOP Programmation intensive avec le Framework.Net INXS Programmation extrême en C# LINQ Gestion des données avec Linq ASP.NET Développement d applications Web avec ASP.NET ASM Développement d applications Web avec ASP.NET MVC 4 WPF Développer des applications graphiques avec WPF WCF Communication inter-applicative avec WCF WINE Développer une application Windows Store UNET Usine logicielle.net
5 jours 35 heures C# et la conception objet Microsoft.Net C#OD Développeurs logiciels néophytes en conception et programmation orientées objet Maîtrise d un langage de programmation de haut niveau 70% de travaux pratiques 2 010 HT Le passage à Microsoft.Net implique la connaissance d'un langage de développement orienté objet. Parmi ceux proposés par la plate-forme.net, VB.NET et C# sont les plus populaires. Alors pourquoi se former à C# plutôt qu'à VB.NET? Simplement parce que les développeurs familiers de Visual Basic 6 ont tendance à reproduire le même style de programmation. En passant à C#, la migration vers la programmation objet (et peut-être vers Java ou C++ un jour) en sera facilitée. Ainsi, à l'issue de ce cours, vous serez un programmeur non seulement familier des éléments fondamentaux de la syntaxe de C# et de la plate-forme.net, mais vous saurez également comment aborder l'analyse et la conception orientées objet. Le cours se déroule avec une approche Just-in-Time en suivant un projet réaliste développé de manière itérative tout au long de la semaine. Chaque itération donne lieu à une phase d'analyse et de conception. Elle est l'occasion d'approfondir un des concepts objets, vous permettant ainsi de pratiquer le langage C#, d'utiliser quelques Design Patterns incontournables et de traduire vos conceptions objets en C#. Vous utiliserez l'outil Visual Studio.Net pour acquérir des compétences immédiatement opérationnelles. - Lire et écrire du code C# - Utiliser l'outil de développement Visual Studio.Net - Créer des modèles du domaine dans la notation UML - Affecter des responsabilités aux objets avec les Design Patterns - Concevoir des systèmes d'objets à l'aide de diagrammes d'interactions et de classes UML - Concevoir à l'aide du polymorphisme, des interfaces, de l'héritage et de l'encapsulation - Traduire des conceptions en C# et appliquer des expressions idiomatiques C# - Maîtriser quelques composants essentiels du Framework.Net - Créer et configurer des assemblages.net - Mettre en oeuvre une programmation avec tests préalables et utiliser le Framework de tests NUnit C# Les concepts objets - Encapsulation et agrégation - Responsabilités et collaborations - Classe et instances - s et messages - Hiérarchies de types - Héritage - Interfaces et polymorphisme Définir des classes C# - s Main() et ToString() - Les classes de base de.net : String, collections, etc. - This - Constructeurs - Contrôle des accès - Les propriétés - Organisation des fichiers et des espaces de noms - Attributs et méthodes - Implémenter une interface Le développement itératif - Les processus de développement itératifs et incrémentaux - Orientation objet et processus itératif - Complexité et décomposition L analyse objet - Le modèle du domaine - La notation UML pour les modèles statiques - Les diagrammes de séquences de niveau système La conception objet - Les modèles de conception - Notion de visibilité - Les diagrammes de classes - Les Design Patterns - Les diagrammes d interaction - Attribution de la bonne méthode à la bonne classe Héritage et polymorphisme - Définir des classes dérivées - Surcharger des méthodes - Invoquer un constructeur d une classe de base - Les méthodes virtuelles - Liaison statique et dynamique - Définition et implémentation d interfaces La technologie.net - La CLR, le compilateur JIT, le Class Loader - Le système commun de type (CTS) et MSIL - La gestion dynamique de la mémoire - Les Assemblies - La bibliothèque de classe du Framework.Net - Code Managed vs. code Unmanaged - L interopérabilité entre langages Classes du Framework.Net - Les flux d entrées / sorties - La gestion des exceptions - La classe Object - Les collections.net - Les collections génériques 2014 2014 TOULOUSE JAN 02 09 27 FEV MARS 17 AVRIL MAI 12 19 JUIN JUILL 28 AOUT SEPT OCT 13 27 08
5 jours 35 heures Programmation intensive avec le Framework.Net Microsoft.Net ICOP Développeurs, chefs de projets techniques Maîtrise d un langage de programmation objet (C++, Java, C#, VB.NET, etc.) Connaissance des bases de la conception avec UML 70% de travaux pratiques 2 160 HT TOULOUSE 2014 2014 25 Si tout développeur C# s'aperçoit très vite du potentiel du langage et du Framework.Net, la maîtrise de ceux-ci peut être assez longue à acquérir. Cette formation a pour but d'accélérer le processus afin de rendre pleinement opérationnels les développeurs souhaitant tirer parti de la puissance offerte par les nouvelles versions du langage et des bibliothèques. A l'issue de cette formation, vous serez en mesure de comprendre et maîtriser les différentes évolutions de C# et les subtilités parfois déroutantes de ce langage. Être autonome et efficace nécessite aussi une bonne connaissance des bibliothèques du Framework. Vous travaillerez par exemple sur les collections, l'interopérabilité, les flux, ADO.NET ou bien le multi-tâche. Vous apprendrez également comment est réalisée la gestion de la mémoire par une étude précise du fonctionnement du Garbage Collector. Lors de ces cinq jours, vous réaliserez une application en plusieurs étapes. Après avoir exercé vos compétences de conception et de développement pour la réalisation d'un jeu, vous serez amené à exercer vos nouvelles connaissances de programmation par réflexion en implémentant un programme de test unitaire (tel NUnit). Vous enrichirez votre jeu avec une interface graphique en Windows Forms et utiliserez les Delegates. ADO.NET sera également utilisé afin de se connecter à une base de données que vous créerez. Le multi-threadisme viendra clôturer cette partie pratique. - Parcourir le langage C# - Améliorer vos connaissances de certaines API du Framework.Net - Cerner les services techniques offerts par.net - Gérer le multi-tâche en.net - Intégrer des composants existants à une application.net - Connaître les évolutions de C# - Améliorer vos aptitudes à la conception des applications - Accéder aux données avec ADO.NET - Créer une IHM avec Windows Form - Utiliser le typage dynamique JAN FEV MARS 31 03 AVRIL MAI JUIN 23 Le langage et le Framework - Rappels sur le langage C# - Vue générale du Framework.Net: Windows Forms, Webforms, ADO, XML, réseau... Les applications graphiques (Windows Forms) - Introduction aux Windows Forms - Ajout de contrôles utilisateurs - Développement de composants graphiques réutilisables - Gestion d événements Définition de types - Classes et classes partielles - Enum et Struct Interfaces - Implémentation d une interface - Implémentation de plusieurs interfaces, gestion des ambiguïtés Surcharge d opérateurs - Implicite - Explicite Héritage - Subtilités liées à l héritage et au polymorphisme - Chaînage de constructeurs - Modificateurs de portée - La réflexion : la notion d Attribute et son utilisation Délégués et événements - Création de sources et cibles d événements - Utilisations et limites JUILL AOUT SEPT 22 OCT 06 Fonctionnement et optimisation du Garbage Collector - Stratégie de récupération automatique de la mémoire en.net - Le Boxing : utilisation de Class et Struct - Mesure de l activité du Garbage Collector - Design Patterns pour la gestion mémoire et l optimisation Le Framework et les technologies non managées - P/Invoke : intégration de bibliothèques de fonctions natives - Intégration de composants COM / ActiveX Evolutions du C# - Collections et Generics - Nullable types, Delegates anonymes - Yield et itération Multi-Threading - Rappels sur la notion de Thread - Gestion intégrée des Threads dans le Framework.Net - La synchronisation des ressources - Multi-Thread et Delegate asynchrone Accès aux données - Modèle objet d ADO.NET - Dataset et DataReader - Mode connecté, mode déconnecté - Accès au système de fichiers - Utilisation des Streams Nouveautés du C# 4.0 - Les paramètres nommés et optionnels - Le typage dynamique 01
3 jours 21 heures Programmation extrême en C# Microsoft.Net INXS Développeurs C# et chefs de projets techniques Connaissance pratique du langage C# ou avoir suivi le cours ICOP 70% de travaux pratiques 1 431 HT Le C# est certainement un des langages de programmation dont la popularité a le plus crû ces dernières années. Sa facilité d'accès combinée à sa puissance permettent aux développeurs d'apporter rapidement des solutions techniques aux exigences métier. Néanmoins, la concurrence effrénée existant entre C# et Java, son rival de toujours, a amené les concepteurs du langage à y intégrer toujours plus de nouveautés. Cette compétition a logiquement accru la complexité du langage. Cette formation a pour but de vous apporter la maîtrise de cette complexité tant dans la syntaxe du langage que dans des cas d'utilisation poussés : réflexion, asynchronisme, multithreading, parallélisme. Que vous soyez à la recherche de techniques de programmation sophistiquées en C#, ou que vous vous sentiez parfois perdu devant son foisonnements technique, ce cours sera l'occasion de nombreuses découvertes tout en vous apportant une vision synthétique de ses possibilités. Cette formation, essentiellement pratique, commencera par une exploration des méandres syntaxiques du C# et de Linq. Par la suite, les exercices mettront en évidence l'importance d'une compréhension précise du fonctionnement interne d'un process. Vous verrez ensuite combien le multithreading a pu évoluer au fil des versions du Framework DotNet. Par exemple, l'abstraction fournie avec les Tasks et les mots-clefs Async / Await simplifient beaucoup le code asynchrone jusqu'au moment où le développeur atteint les limites de sa compréhension des mécanismes sous-jacents. A vous de venir repousser ces limites lors de cette formation! Subtilités syntaxiques - Delegate générique - Mots-clefs : Var, Dynamic, Yield Return - d extension Linq - Query Operators - Fluent et Query Syntax - Exécution différée - Exécution immédiate Cycle de vie d un objet - Garbage Collection concurrente - Garbage Collection d arrière-plan - Objet Finalizable ou/et Disposable Composition d un Process - Process - Domaine d application - Object Context Réflexion - Attribute - Instanciation dynamique - Early Binding - Late Binding - Injection de dépendance Multithreading - Définition - Création manuelle de Thread - ThreadStart et ParameterizedThreadStart - AutoResetEvent et ManualResetEvent - Thread de premier et second plan - Gestion de la synchronisation - Lock - Monitor - Interlocked - Attribut de synchronisation - Mutex - Sémaphore - Utilisation du Pool de Threads - BeginInvoke et EndInvoke des Delegates - Importance d IAsyncResult Parallélisme avec TPL - Définition de la Task Parallel Library - Création de Task - TaskFactory - Task fille - Synchronisation des Tasks - PLinq Asynchronisme avec Framework 4.5 - Définition de Async / Await - Les différents types de retour - Maîtriser la syntaxe avancée du C# - Comprendre le fonctionnement interne d'un process - Etre à l'aise avec la réflexion et l'ioc - Maîtriser le multithreading et les Tasks - Comprendre l'asynchronie avec Async / Await 2014 2014 JAN FEV MARS 24 AVRIL MAI JUIN JUILL 28 AOUT SEPT OCT 15
Sommaire / Index Solutions de financement Comment commander 3 jours 21 heures Gestion des données avec Linq Microsoft.Net LINQ Développeurs objet expérimentés Connaissance de C# et du Framework.Net 1.1 ou 2.0 ou avoir suivi le cours ICOP 70% de travaux pratiques 1 431 HT Le traitement des données et leur persistance est un sujet à lui tout seul. Microsoft nous propose une approche révolutionnaire du problème, faisant intervenir des extensions du langage C#, ainsi la programmation devient déclarative. Le travail sur les données se fait grâce à des extensions LINQ (Language INtegrated Query) utilisables quelle que soit la provenance des données : objets et collections en mémoire, documents XML ou bien bases de données relationnelles. A l'issue de cette formation, vous saurez quand, comment et où utiliser les différentes moutures de Linq. Vous comprendrez également le fonctionnement interne de cette technologie afin de l'exploiter de manière optimale. Les travaux pratiques consisteront à explorer dans un premier temps Linq To Object afin d'en comprendre la puissance mais aussi les rouages (méthodes d'extension, expressions lambda). Ensuite, vous expérimenterez Linq To XML. Vous travaillerez bien sûr avec des solutions ORM comme Linq To SQL mais surtout avec Entity Framework, plus souple et surtout plus performant. - Connaître ADO.NET et ses limites - Comprendre la sérialisation en XML - Mettre en oeuvre le mapping objet / relationnel - Différencier les utilisations possibles de Linq - Connaître les extensions C# pour Linq - Gérer les transactions et la concurrence d'accès Introduction à Linq - Pourquoi Linq? - Linq sur des collections - Linq sur des documents XML - Linq sur des bases de données - Autres sources de données Evolutions du langage C# pour Linq - Delegate - Lambda Expressions - Type anonyme - Les méthodes d extension - Opérateurs de requête Linq et les objets (Linq to Objects) - Rappels sur les collections et les interfaces utiles - Tri et filtre sur une collection - Les opérations : projection, restriction, jointure, agrégation, etc. - Fluent Syntax - Query Syntax - Impact sur les performances PLinq - Objectifs - AsParallel - AsOrdered - Danger du ForEach - ForAll - Discussion critique sur les performances Linq et les documents XML (Linq to XML) - Les classes du modèle de programmation pour XML - Interroger un document XML - Transformer un document XML - Créer un document XML - Utilisation d XDocument, XElement... Gestion des données avec ADO.NET - Rappels sur les bases de données relationnelles - Le modèle de programmation ADO.NET - Le mode connecté et déconnecté Gestion des données avec ADO.NET (Suite) - Les différentes écritures d une chaîne de connexion - Les transactions - Utilisation de TransactionScope - Utilisation du Dataset - Rappel de l architecture 3 tiers (IHM, BLL, DAL) Linq et les données relationnelles (Linq to SQL) - Présentation et définition de cet ORM - Les entités - Le DataContext - Le fonctionnement de l exécution différée des requêtes - Visualisation des requêtes - Opérations de Crud - Validation d un champ - Validation d une entité - Gestion des transactions - Gestion de l accès concurrentiel optimiste - Contrôle LinqDataSource pour ASP.NET - Points forts et points faibles de Linq to SQL Mapping objet/relationnel avec Linq (Linq to Entities) - Présentation d Entity Framework - Les différences avec Linq to SQL - Le concepteur objet / relationnel (fichier.edmx) - Les entités - L ObjectContext - Opérations de Crud - Validation d un champ - Validation d une entité - Gestion des transactions - Gestion de l accès concurrentiel optimiste - Contrôle EntityDataSource pour ASP.NET - Les différents types de mapping (TPT et PTH) - Les types complexes - Les 3 approches d EF4 (Bottom-Up / Model First / Poco) - Les templates T4 2014 2014 JAN FEV MARS 02 17 AVRIL MAI JUILL AOUT SEPT 15 OCT JUIN
5 jours 35 heures Développement d applications Web avec ASP.NET Microsoft.Net ASP.NET Développeurs et chefs de projets de sites Web Maîtrise des concepts objets et du langage C# 60% de travaux pratiques 2 060 HT Avec ASP.NET, la plate-forme.net offre à la fois un excellent Framework de présentation Web et une très bonne intégration de ce Framework dans des environnements de développement intégrés, gage important de productivité. A l'issue de cette formation, vous serez autonome sur les différentes étapes de création d'une application ASP.NET. Vous comprendrez le fonctionnement de cette technologie et vous en maîtriserez son utilisation. Chaque étape du cas pratique consistera à faire avancer un projet de site Web. Après la création des premières pages Web et l'utilisation de feuilles de style, vous intégrerez du JavaScript avec jquery afin de réaliser des contrôles de surface. Vous mettrez ensuite en place une architecture 3-tiers pour interroger votre base de données. Vous vous familiariserez avec les contrôles existants (exemple : GridView) et vous implémenterez aussi les vôtres (exemple : User Control). L'accent sera également mis sur la sécurité et sur la communication grâce aux Web Services. Les performances et la réactivité seront traitées avec la gestion du cache serveur et l'utilisation d'ajax. - Appréhender l'organisation d'un site ASP.NET - Développer des pages et des composants ASP.NET - Affecter les responsabilités d'un site aux composants adéquats - Accéder à une base de données par ADO.NET en mode connecté ou déconnecté - Invoquer des services à distance (Web Services) - Optimiser les performances des applications ASP.NET - Maîtriser les apports des dernières versions du Framework ASP.NET - Sécuriser ses applications Web ASP.NET - Utiliser des appels asynchrones (Ajax) pour améliorer la réactivité des IHM Web Pages ASP.NET - Les principes du Web - Le modèle ASP.NET - La syntaxe ASPX - Notion de CodeBehind - Gestion du ViewState - Global.asax - Optimiser et tracer - Internationalisation Apparence d un site ASP.NET 3.5 - Nouveau modèle objet des pages - Utilisation des Pages Master - Les contrôles de navigation et les utilisations du SiteMap - Amélioration du rendu graphique : Skins et thèmes Les contrôles - Définition - Contrôles intrinsèques - Contrôles enrichis - Contrôles liés aux données - Contrôles de validation Contrôles utilisateur - Différences entre User Control, Custom Control et Composite Control - Inclure ces contrôles dans une page ASPX - Propriétés et événements d un contrôle - Créer sa bibliothèque de contrôles Architecture Web.Net - Exemples d architectures - Design Patterns.Net - Création d un niveau d accès aux données (DAL) - Création d un niveau métier (BLL) - Lier la présentation au niveau métier / contrôles et sources de données - Le contrôle GridView Utiliser ADO.NET - Modèle objet d ADO.NET - Mode connecté, mode déconnecté (DataSet) - ADO.NET et ASP.NET Utilisation des Web Services - Notions de base - Implémenter un Web Service avec.net - Utiliser un Web Service avec.net Sécuriser les applications Web - Authentification intégrée ou par formulaire - Utiliser les contrôles de sécurité - Gestion de rôles - MemberShip Provider et Profile Provider Gestion des caches - Cache de sortie - Cache partiel Intégrer Ajax et ASP.NET - Rappels sur Ajax - Composants Ajax fournis - Ajax Control Toolkit Assemblies, packaging et déploiement - Les Assemblies.Net - Packaging et déploiement JQuery - Compréhension des Selectors - Gestion des Events - Fonction anonyme - Utilisation des méthodes communes - Compréhension du This - Modification du DOM 2014 2014 JAN FEV MARS 25 03 AVRIL MAI JUIN 02 JUILL AOUT SEPT 29 OCT
4 jours 28 heures Développement d applications Web avec ASP.NET MVC 4 Microsoft.Net ASM Développeurs et chefs de projets de sites Web Maîtrise des concepts objets et du langage C# 60% de travaux pratiques 1 892 HT Avec ASP.NET MVC, la dernière mouture d'asp, Microsoft a su, une fois de plus, faire preuve de sa capacité à construire sur un existant pour répondre à de nouvelles attentes. Faisant fi de la logique Windows Form appliquée au Web, la firme de Redmond a réussi le défi de développer un Framework offrant plus de flexibilité et une meilleure testabilité. Son adoption par un nombre croissant de développeurs en atteste. A l'issue de cette formation, vous serez autonome sur les différentes étapes de création d'une application ASP.NET MVC. Vous serez en mesure de faire les bons choix d'architecture et d'implémentation afin de disposer d'une application testable, maintenable, sûre et réactive. Le cas pratique visera à la mise en place d'une application gérant vos favoris en ligne (comme Delicious.com). A partir d'un modèle s'appuyant sur Entity Framework, vous commencerez à vous familiariser avec l'architecture MVC. Après avoir géré les routes, vous mettrez en place le Design Pattern Repository afin d'assurer la testabilité de votre application. La création et l'utilisation d'html Helpers améliorera votre productivité. JQuery changera votre expérience utilisateur et facilitera l'appel de Web Services REST (Web API). Votre site sera également sécurisé et compatible HTML5 tout en s'adaptant aux contraintes du desktop ou du mobile. - Appréhender l'organisation d'un site ASP.NET MVC - Maîtriser les apports des dernières versions du Framework ASP.NET MVC - Améliorer la testabilité de vos applications Web - Doper les performances de vos applications Web - Sécuriser vos applications Web - Utiliser des appels asynchrones (Ajax) pour améliorer la réactivité des IHM Web - Se familiariser avec les Web API - Adapter le rendu des vues en fonction de l'appareil (desktop ou mobile) Découverte de ASP.NET MVC - Rappel des différentes évolutions d ASP. NET - Comparaison ASP.NET Code Behind avec ASP.NET MVC - Architectures comparées Organisation d un projet MVC - Composition (répertoires / fichiers) - Compréhension d une URL d appel - Définition et description du modèle, de la vue et du Controller Gérer le Controller - Implémentation - s d action - Différences entre ActionResult et ViewResult - Différences entre ViewData et ViewBag - Gestion des routes Maîtriser la Vue - Comparaison avec la vue d ASP.NET classique - Les différents moteurs de vue - La syntaxe de Razor - HTML Encoding - Les vues partielles - Utilisation d une Layout Page (Master Page) Comprendre le Model - Définition du rôle du Model - Les différents types de Model (avec une BLL, avec un ORM) - Implémentation architecture N-Tiers avec Entity Framework 5.0 HTML Helpers - Découverte des principaux Helpers - Evolution des Helpers - Implémentation d un Helper par méthode d extension - Implémentation d un Helper par la syntaxe Razor Validations des saisies - Validations standards - Required, StringLength... - Validations personnalisées - Implémentation d un attribut de validation personnalisée - Implémentation d IValidatableObject - Affichage et internationalisation des erreurs JavaScript - 3 façons de créer un objet js - Implémentation de méthodes dans le prototype - Déclaration et portée des variables (var, this) - Closure - Fonction auto-exécutée JQuery - Rappel des sélecteurs - Abonnement aux événements et fonctions anonymes - Compréhension du This - Découverte des principales méthodes Ajax - ActionLink - AutoComplete avec JQuery UI - Formulaire asynchrone Sécurité - Authentification (Membership) - Gestion des droits (rôles) - Prévention des principaux risques d attaques - Cross Site Scripting (XSS) - Cross Site Request Forgery (CSRF) Web API - Comparaison avec Web Service WCF REST - Implémentation d un Controler Web API - Gestion des routes - Implémentation des appels Ajax avec JQuery - Découverte de Knockout.js - Négociation du format de retour (JSON ou XML) - HttpResponseException et HttpResponseMessage - Sécurité (authentification...) - Validation des données ASP.NET MVC pour application mobile - Media Queries - Display Mode HTML5 et ASP.NET MVC - Découverte d HTML5 - Intégration d HTML5 dans un projet ASP.NET MVC Déploiement - Vocabulaire lié à IIS - Gestion d IIS 7.5 - Déploiement sous IIS 7.5 2014 2014 TOULOUSE JAN 16 FEV 03 MARS AVRIL 14 MAI JUIN 16 JUILL AOUT 25 SEPT OCT 24 17
3 jours 21 heures Développer des applications graphiques avec WPF Microsoft.Net WPF Développeurs, chefs de projets Connaissance de C# et du Framework.Net ou avoir suivi le cours ICOP Connaissance de XML 70% de travaux pratiques 1 431 HT Avec WPF, Microsoft a voulu prendre de court ses concurrents sur les clients desktops riches. Force est de constater qu'il y est parvenu puisque cette technologie ne cesse de faire des émules. On aurait pu croire que les Windows Store App allaient lui faire perdre un peu de sa popularité auprès des développeurs. Mais il n'en est rien car les besoins sont différents. WPF est toujours le meilleur choix lorsque l'on veut développer un projet desktop DotNet où l'expérience utilisateur nécessite des saisies ou/et plusieurs fenêtres ouvertes simultanément. Avec ce cours, vous allez vous concentrer sur des aspects de développement mais aussi d'architecture. Vous plongerez dans ce Framework pour en connaître les points forts que sont par exemple la liaison de données, la gestion des validations et le pattern architectural MVVM. Le logiciel Blend sera utilisé afin d'améliorer le rendu de vos interfaces graphiques. Par la réalisation d'une application de quiz, vous manipulerez le XAML et les contrôles de WPF et apprendrez à maîtriser les différents types de liaisons de données. Vous enrichirez votre application avec des validations et des convertisseurs. Les styles, les Control Templates, les Data Templates viendront également participer à l'amélioration graphique de vos fenêtres. Un exercice spécifique décomposé en plusieurs étapes sera réservé au pattern architectural MVVM. Le déploiement sera également vu de manière pratique. Introduction à la présentation avec WPF - Les nouveaux types d applications - Le langage XAML - Les classes de base du Framework - Présentation des outils : VS2010 et Blend Créer une application - Comprendre et utiliser les Layouts - Les contrôles WPF et leur utilisation - Utiliser des ressources - Déployer une application WPF La liaison de données - La liaison de données et XAML - Liaison entre des objets graphiques - Liaison entre un objet graphique et un objet métier - Liaison entre un ItemsControl et une collection Validations et conversions - Règles de validation standards - Règles de validation personnalisées - Utilisation d IDataErrorInfo - Gestion de l affichage des erreurs - Convertisseurs Le moteur du Framework - Les Dependency Properties - La gestion des messages : Routed Events - La notion de commande - Utilisation de code et de XAML MVVM - Objectifs - Descriptif - Les commandes - RelayCommand - Implémentation Personnalisation - Styles - Modèles de contrôles - Création de contrôles - Les Behaviors - Animations - Développer une application tirant parti du Framework WPF - Mettre des concepts derrière les termes WPF, XAML - Tirer parti efficacement des apports de.net 4.0 - Maîtriser l'utilisation et la création de composants graphiques - Déployer de nouveaux types d'applications - Exploiter les possibilités du langage XAML - Utiliser Microsoft Expression Blend 2014 2014 JAN 20 FEV MARS AVRIL MAI 19 JUIN JUILL AOUT SEPT 22 OCT
3 jours 21 heures Communication inter-applicative avec WCF Microsoft.Net WCF Développeurs objet expérimentés, chefs de projets Maîtrise d un langage de programmation orienté objet Connaissance du Framework.Net 1.1 ou 2.0 Connaissance de XML 70% de travaux pratiques 1 431 HT L'architecture orientée service (SOA) fait de plus en plus d'adeptes. Le Framework.Net évolue donc pour en faciliter l'implémentation. Il permet notamment de réaliser une meilleure communication inter composants grâce à Windows Communication Foundation (WCF). Les appels inter composants ont fait l'objet de beaucoup d'attentions et de nombreuses versions par le passé : DDE, OLE, COM et les ActiveX, DCOM, COM+. Si l'avènement des Services Web a grandement simplifié le panorama, WCF offre la meilleure réponse technique à un besoin de communication, sans faire de compromis sur les besoins opérationnels comme la sécurité, l'asynchronisme ou la fiabilité. Dans le cas pratique, vous apprendrez à créer votre premier Web Service WCF, puis vous changerez son mode d'hébergement. Vous verrez comment appeler un service sans passer par un proxy, comment configurer plusieurs points de terminaison, comment gérer des types de retour complexes et comment transférer des gros fichiers. Vous travaillerez sur la gestion de l'asynchronisme et vous déploierez sous IIS 7.0. Vous vous exercerez aussi à la sécurité (authentification, cryptage). Vous gérerez des sessions et des transactions. Enfin, vous implémenterez des services REST et vous découvrirez RIA Services. Un monde de services - Rappels sur l architecture orientée services (SOA) - Revue des concepts WCF - Le modèle de programmation unifié de WCF - L outillage et l environnement de développement Les Web Services - Revue des standards des Web Services (SOAP, REST, WSDL) - Description de SOAP - Importance du WSDL - Les différents Web Services SOAP - Création d un Web Service ASMX - Création d un Web Service WCF et comparaison avec ASMX - Création d un Proxy - Visualisation des messages échangés avec Fiddler L hébergement - Les différents types d hôtes - La classe ServiceHost - Endpoint ABC - Différents types de Binding - L importance du contrat de service - La construction du fichier.config - La publication des méta-données - Appel d un service sans passer par un Proxy (ChannelFactory) Déploiement sous IIS - Les différentes versions d IIS - Le vocabulaire lié à IIS - Console d administration - Gestion de la publication - Mise en place du traçage Gestion des sessions / transactions - Session / Binding - Ordre d appel des méthodes dans une session - Définition et mise en place d une transaction distribuée - MSDTC - TransactionScope Sécurité - Cryptographie avec HTTPS - Authentification - Gestion des droits basés sur les rôles d ASP.NET Les Web Services REST - Définition du concept - Comparaison avec des Web Services appelables en pur HTTP (sans SOAP) - Implémentation et déploiement - Appel à partir d un client lourd - Appel à partir d un client léger (Ajax) - Avantages et limites - Comprendre les concepts de l'architecture orientée service - Comprendre les apports de WCF - Choisir le mode de communication adéquat - Développer des Web Services avec.net 4.0 - Communiquer avec des applications existantes - Tester vos services - Implémenter des services SOAP et REST Fonctionnement d un service - Les behaviors - Gestion de l instanciation d un service - Gestion de la sérialisation (DataContractSerializer) - Gestion des gros fichiers binaires (Base 64 et MTOM) - Gestion de l asynchronie 2014 2014 JAN 12 FEV 10 MARS AVRIL MAI JUIN JUILL 07 AOUT SEPT OCT 08
4 jours 28 heures Développer une application Windows Store Microsoft.Net WINE Développeurs C#, chefs de projets techniques Bonne connaissance pratique du langage C# 70% de travaux pratiques 1 892 HT Avec Windows 8, Microsoft propose un système d'exploitation à deux visages, adapté au desktop et aux tablettes. Audacieuse avec son ergonomie Metro de Windows Phone 7, la firme de Redmond persiste et signe avec Modern UI. Expérience immersive, cette formation résolument axée sur la pratique consistera à dérouler les étapes d'un projet d'application d'annonces immobilières. Les travaux pratiques se feront en C# / XAML afin de gérer les différents affichages, la liaison de données, le cycle de vie, les ressources, les données et la communication. Bien sûr, les aspects d'asynchronie, de notifications, de gestion des tuiles, les contrats de partage, de recherche, le débogage, l'architecture MVVM et le déploiement seront également traités. - Prendre en main l'environnement VS2012 - Développer une application respectueuse des règles ergonomiques de Windows 8 - Maîtriser les grands concepts de MVVM - Maîtriser le cycle de vie d'une application - Accéder à des services distants - Gérer la persistance des données - Gérer les contrats de partage et de recherche Découverte de Windows 8 - Historique des clients riches - Apport des Windows Store App - Nouveaux outils : Visual Studio 2012, Blend XAML - Eléments et sous-éléments - Propriétés de dépendance - Propriétés attachées - Snapping et orientation Binding - Définition - Binding entre contrôles graphiques - Binding entre contrôle graphique et objet métier - Importance d INotifyPropertyChanged Navigation - Notion de Frame - Bouton Back - Utilisation de Basic Page Contrôles - Contrôles standards - ListBox et ListView - Binding des ItemsControl - DataTemplate - ObservableCollection - GridView, FlipView - AppBar Communication - Communication avec Web Services SOAP et REST - Asynchronie avec Async/Await Données et fichiers - Settings locaux ou dans le Cloud - Application Data - Gestion des fichiers et de la sérialisation - Base de données locale (SQLite) Cycle de vie - Définition des états - Gestion des événements du cycle de vie - Gestion des données volatiles Contrats - Contrat de recherche - Contrat de partage Tuiles - Tuiles principales et secondaires - Mise à jour par notification - Badges - Toasts Gestion des ressources - Internationalisation de l application - Gestion des styles - Gestion des animations Architecture - Mise en place de MVVM - Tests unitaires Déploiement - La licence développeur - Le fichier Manifest - Déploiement simple - Publication dans le Windows Store Multithreadisme et asynchronisme - Rappels sur les threads - Task Parallel Library - Asynchronisme avec le Framework 4.5 2014 2014 TOULOUSE 2 JAN FEV 17 MARS 24 AVRIL 22 MAI JUIN 10 JUILL 07 AOUT 18 SEPT OCT 01 08
3 jours 21 heures Usine logicielle.net Microsoft.Net UNET Développeurs.Net, chefs de projets, responsables méthodes, responsables développements Avoir une première expérience en développement de projet informatique (.Net) 60% de travaux pratiques 1 431 HT Les projets informatiques qui adoptent un cycle de développement en cascade se retrouvent inévitablement avec une phase d'intégration critique qui révèlera tardivement toutes les failles des phases amont. Pour autant, l'intégration est-elle inévitablement le cauchemar de la fin de projet? Ce n'est pas une fatalité si on met en oeuvre l'intégration continue, une des 12 pratiques décrites dans la méthode extreme Programming. Ce cours présente donc toutes les bonnes pratiques de l'intégration continue et de ses phases connexes comme la construction ou les tests d'intégration. Il sera majoritairement consacré à la mise en oeuvre de ces bonnes pratiques et à la découverte des approches de Continuous Delivery et Continuous Deployment. Vous vous servirez pour cela de différents outils représentant une alternative à l'utilisation de Team Foundation Server. Vous commencerez par construire avec Visual Studio un projet fourni, puis vous intégrerez le projet dans un logiciel de gestion de versions qui sera le point central pour la plupart des itérations proposées. Les expérimentations porteront sur les fonctionnalités et les composantes essentielles d'une usine logicielle : gestion de versions, intégration continue avec Visual Studio, mise en place de métriques de qualité du code produit, déploiement d'une application Web. Savoir intégrer - Définition de l intégration continue - techniques et méthodologiques - Au coeur de l amélioration continue Intégrer tous les jours - Bonnes pratiques - Alertes informatiques et visuelles - Réagir aux feedbacks Gestion de versions - Objectifs et rôle - Tronc, branches et étiquettes - Comparaison des différentes solutions : TFS VC, Git, SVN,... - Intégration à Visual Studio Outils d intégration continue - Catégories d outils - TFS, Jenkins, TeamCity Outils de construction - Objectifs et rôle - d une construction automatisable Appréhender les tests - Test et feedback - Test Driven Developement - Tests unitaires, tests d intégration, tests fonctionnels Aller plus loin avec l intégration continue - Build incassable - Feature Branching vs Feature Toggle Pattern - Packaging et gestion de configuration Métriques - Types de métriques - Méthodologie d usage des métriques - Mise en place de métrique et bénéfices Déploiement continu - Intérêts et avantages - Continuous Delivery vs Continuous Deployement - Stratégie d échec et de récupération - Infrastructure as code - Mettre en place un outil de construction - Connaître et savoir communiquer les bénéfices de l'intégration continue - Connaître les méthodes et bonnes pratiques liées à l'intégration continue - Apprécier et mettre en oeuvre des tests de validation de votre construction - Comprendre l'interaction entre les différents outils de l'environnement de développement - Appréhender la qualité de votre projet au travers de différents types de métriques 2014 2014 JAN FEV 17 MARS AVRIL MAI JUIN JUILL 15 AOUT SEPT OCT 01
MOBI Introduction à la mobilité IPO Développement d une application sur iphone et ipad APO Utiliser les API avancées sur iphone et ipad GAD Développer avec Google Android WIP Développer une application pour Windows Phone 8 MIKA Développer une application Web pour iphone, ipad et Android
1 jour 7 heures Introduction à la mobilité Développement mobile MOBI Développeurs Web, développeurs mobile, chefs de projets, architectes Aucun Présentation, mises en situation, retours d expériences, démonstrations d outils 700 HT L'intérêt porté à la mobilité n'est plus à démontrer. Vecteur d'image ou chaînon indispensable au système d'information de l'entreprise, la mise en oeuvre d'une application mobile doit tenir compte d'un grand nombre d'éléments importants : diversité des OS clients (ios, Android, Windows Mobile...), pluralité du hardware (Samsung, HTC, Apple...), connectivité au système d'information de l'entreprise, ergonomie, application native ou application Web. Cette journée d'introduction technique et stratégique vous apportera les éléments de réflexion utiles dans le cadre de ce type de développement. Nous expliciterons les technologies utilisées afin de mieux comprendre les atouts et limites des solutions actuelles et d'être capable d'avancer dans une réflexion stratégique autour de la mobilité. Ce cours vous aide à répondre aux questions suivantes : "La mobilité est-elle un concept réellement nouveau?", "Quels sont les acteurs et cibles majeurs du marché?", "Faut-il faire des développements natifs face à la multiplication des plates-formes mobiles?". - Appréhender les problématiques de la mobilité - Comprendre l'apport d'html5 pour les développements mobiles - Faire un choix pertinent de solution de développement pour mobile - Connaître les contraintes d'ergonomie des applications Web mobiles - Différencier applications natives, Web et hybrides - Connaître les OS mobiles majeurs Problématique de la mobilité - Contexte et enjeux - Connectivité - Contraintes matérielles - Ergonomie - Test - Déploiement Définition de la cible - Cross Device et Cross Platform - Des publics typés - Des solutions grand public en entreprise - Visibilité Développements natifs - Bases techniques d une application native - Ecosystème ios - Ecosystème Android - ios et Android : différences et similitudes - Windows Phone et BlackBerry : où vont-ils? - Du Smartphone à la tablette - Modèles économiques et rétribution des applications - AppStore vs. Google Play DéveloppementsWeb - Sites Web mobiles et applications Web mobiles - HTML5 et CSS3 - Vision One Web et Responsive Design - Sencha Touch, jquerymobile et autres Frameworks Développements hybrides - WebViews - Flex Mobile et Titanium - PhoneGap - Flexibilité et contraintes 2014 JAN FEV MARS 20 AVRIL MAI JUIN 26 JUILL AOUT SEPT OCT 18
5 jours 35 heures Développement d une application sur iphone et ipad Développement mobile IPO Développeurs et chefs de projets techniques Connaissance pratique d un langage de programmation (C, C++, Java, C#...) 70% de travaux pratiques Support de cours sur CD 2 060 HT Premier terminal mobile grand public en France, l'iphone bénéficie d'une convivialité d'utilisation et d'une ergonomie innovantes. Cette réussite reflète une des facettes de l'avenir du développement. Fort de ce succès, Apple a poursuivi sur sa lancée en sortant en mai 2010 l'ipad, une tablette tactile visant à bouleverser les habitudes digitales du particulier mais aussi de l'entreprise. Ce cours vous apprendra à développer des applications pour iphone, ipad ou ipod Touch, en utilisant la version 6 d'ios, en respectant les règles ergonomiques et la philosophie d'apple. Nous ferons la part belle à l'usage d'interface Builder permettant de développer les interfaces graphiques en mode Wysiwyg en minimisant le nombre de ligne de code Objective-C à mettre en oeuvre. La formation débutera par l'apprentissage du langage Objective-C au travers du développement du jeu de Monopoly. Ce premier exercice se terminera par la vérification d'une parfaite gestion de la mémoire grâce aux utilitaires Apple prévus à cet effet. Ensuite, vous développerez plusieurs applications ios en insistant sur la problématique d'ergonomie (Application Utility, application de navigation, gestion de tables et customisation des cellules). Enfin, les travaux pratiques traiteront des mécanismes de connexions avec une base de données SQLite ou à un Web Service. Le dernier jour sera consacré à la géolocalisation, à l'appareil photo et aux problématiques d'infrastructures de déploiement des applications. - Prendre en main l'environnement XCode et Interface Builder sur Mac - Développer une application en respectant les règles ergonomiques d'apple - Manipuler les composants graphiques mis à disposition - Gérer les préférences d'une application - Gérer l'écran tactile - Manipuler une base de données embarquée : SQLite iphone et ipad : architecture et contexte - Processeur - Mémoire - Connectivité - Modèle commercial Objective-C : les bases - Créer une classe - Mise en oeuvre de l héritage et des protocoles - Description des classes les plus courantes du SDK - Les propriétés - Les API Cocoa Gestion mémoire - Le comptage de références - L Auto-Release Pool - ARC : Automatic Reference Counting - Outils de gestion de la mémoire (Code Coverage, Leaks, Object Allocation, Zombie) Les composant graphiques - Window - View : Web View, Text View, Image View - Boutons : classiques, Switch, Segmented Controls - Sliders, barre de progression... - Controllers et Split View Controller pour ipad - Tab Bar Interface Builder - Présentation - Les storyboards - Les Segues Les règles d ergonomie - Interfaces graphiques pour mobiles - Adaptation de l ergonomie d une application pour l iphone - Gestion des préférences - Ergonomie et AppStore Gestion des événements - Touch - MultiTouch Les entrées / sorties - Lire et écrire dans un fichier - Manipuler le protocole HTTP - Et les Web Services? SQLite - Présentation SQL - Paramétrage d un projet pour utiliser SQLite - Stratégies de création du schéma associé à une application Overview des autres API - Géolocalisation - Accéléromètre - EventKit - Printing API (Air Print) - Photos et vidéos (AV Foundation) 2014 TOULOUSE 18 25 16 JAN 20 FEV 03 MARS 24 AVRIL MAI 19 JUIN 02 JUILL 07 AOUT SEPT 15 OCT 06 08
3 jours 21 heures Utiliser les API avancées sur iphone et ipad Développement mobile APO Développeurs et chefs de projets techniques Avoir suivi la formation IPO ou connaître le développement sur ios 80% de travaux pratiques 1 410 HT La mise en oeuvre d'applications sur iphone ou ipad nécessite souvent une forte remise en question de la part des développeurs débutants sur ces technologies. Une fois les premiers pas effectués dans ce nouveau monde, il devient alors indispensable de s'approprier les API à forte valeur ajoutée mises à disposition par Apple. Grâce à ces API, vos applications bénéficieront des fonctionnalités évoluées telles que le graphisme en deux dimensions (avec animations), les impressions, le stockage des données dans icloud, la communication via des protocoles sécurisés et la sauvegarde en local des données. Cette formation sera l'occasion de mettre en oeuvre les nouveautés présentées par Apple dans son ios 5.1 (icloud) et de manipuler les API complexes déjà existantes : Air Print, Quartz, Core Image, Core Animation, Core Data, APN (Apple Push Notification) et gestion du multi-thread. - Créer des figures géométriques, gérer les Layers, Bitmap - Manipuler des fichiers PDF - Rendre vos interfaces graphiques dynamiques avec Core Animation - Connaitre les spécificités du développement pour ipad - Développer une application portable sur iphone et sur ipad - Gérer vos applications sur votre flotte ios - Mettre en oeuvre icloud - Utiliser CoreData pour sauvegarder vos données - Créer une application qui utilise l'apple Push Notification - Déclencher des traitements asynchrones (multi-threading) Custom Cell - Le TableView - Application Master-Detail - Les différents styles de cellules à disposition - Créer et utiliser une cellule custom Quartz - Le contexte graphique - Formes géométriques : ligne, courbe, rectangle - Couleur et opacité - Texte - Manipulation de fichiers PDF Air Print - Architecture - Imprimer un PDF - Imprimer une image - Tester vos applications Air Print sans imprimante compatible! Come Image et Core Animation - Rôle de ces Frameworks - Système de coordonnées - Géométrie et transformations - Core Image : les filtres Les spécificités ipad - SplitViewController - Popover - Mise en oeuvre d une application portable iphone / ipad : Universal Application Core Data - Persistent Store - Managed Object - Data Model icloud - Principe et architecture - Quel type d information stocker dans icloud? - Notification de modification d information - Library Style Application and Document Based Application - Datamodel migration Réseau : asynchronisme et sécurité - Utilisation de HTTPS - Mise en oeuvre de requêtes asynchrones Apple Push Notification - Architecture - Locales ou distantes? - Format des notifications - Serveur de feedback 2014 JAN FEV MARS 24 AVRIL MAI JUIN JUILL 21 AOUT SEPT OCT 12
4 jours 28 heures Développer avec Google Android Développement mobile GAD Architectes techniques, développeurs Bonne maîtrise de Java 5 et 6 Connaissance de l IDE Eclipse Notions de client lourd (Swing, SWT, AWT, QT, GTK) Notions de XML et Web Services 60% de travaux pratiques 1 892 HT Le monde est devenu mobile. L'apparition de l'iphone a secoué le monde des télécoms et a accéléré la convergence entre l'informatique et la téléphonie. Le bureau virtuel n'est plus une utopie : il est maintenant possible de rester connecté en permanence avec un Smartphone tout en accédant aux applications essentielles. Depuis, Google a lancé un challenger sérieux avec Android, système d'exploitation et plate-forme de développement Open Source pour les mobiles. Soyez prêts aujourd'hui pour les applications de demain! Dans cette formation, vous aborderez la plate-forme Android sous un angle résolument pratique. Vous apprendrez à développer une application simple, puis à inclure les différents services disponibles en montant progressivement en complexité. Dans ce cours, vous réaliserez de toutes pièces plusieurs applications Android sur des thématiques permettant d'aborder les différentes facettes du SDK : géolocalisation, intégration de service Web, détection d'événements, gestion de contacts, intégration d'une Web View. Vous expérimenterez à cette occasion des principes forts du Framework, tels que les intentions, le cycle de vie d'une activité, les fichiers de ressources, l'optimisation, les fragments ; et ferez le point sur l'essentiel des API ainsi que les bonnes pratiques du marché. Présentation d Android - Segment de marché visé - Modèle économique - Les terminaux compatibles - Le modèle de développement - Les différentes versions - Distribution des applications Le SDK Android - Le contenu - Utilisation sans plug-in - Plug-in Eclipse - L émulateur Android - Terminal physique - Débogage et tests Structure d une application Android - Modèle de composants - Widgets et événements - Fragments - Fichiers de ressources - Cycle de vie - Communication entre applications API et fonctionnalités - Sous-activités et intentions - Utilisation des menus - Utilisation des préférences - Gestion de fichiers - Bases de données SQLite Intégrer des services - Intégrer WebKit - Intégrer un service REST - Intégrer des applications Fonctionnalités multimédia - Fonctionnalités audio et vidéo - Caméra et capteurs Architecture logique - Broadcast receiver - Implémenter un service - Communication asynchrone - Fournisseur de Widget - Utilisation des fragments - Bonnes pratiques - Comprendre les atouts de la plate-forme Android - Maîtriser la plate-forme de développement : le SDK d'android - Déployer une application Android - Emuler et tester des applications pour Android - Gérer le mode déconnecté - Communiquer avec des services existants - Comprendre les atouts des fragments - Utiliser les fonctionnalités multimédia et de géolocalisation 2014 TOULOUSE 17 09 JAN FEV 10 MARS AVRIL 07 14 MAI JUIN JUILL 15 AOUT SEPT 15 OCT 13
4 jours 28 heures Développer une application pour Windows Phone 8 Développement mobile WIP Développeurs C# et chefs de projets techniques Connaissance pratique du langage C# ou avoir suivi le cours C#OD ou ICOP 70% de travaux pratiques 1 892 HT Après Apple et Google, Microsoft a dévoilé son système d'exploitation pour Smartphone privilégiant la rupture avec l'existant. Sur ce marché en pleine expansion, cette nouvelle plate-forme reprend certains éléments qui ont fait le succès de ses concurrents, tout en apportant un lot important d'améliorations et de nouveautés. C'est l'émergence d'une vision singulière du Smartphone. Loin de se cantonner à fournir un système d'exploitation, Microsoft a pris en compte l'ensemble des problématiques importantes du développement mobile telles que les règles d'ergonomie, les contraintes matérielles, l'environnement de développement, la solution de déploiement ou l'accès aux fournisseurs de contenus. Avec Windows Phone 8, la firme de Redmond souhaite enfin remporter un succès commercial à la hauteur de l'intérêt technique de son produit. Cette formation, essentiellement pratique, commencera par la mise en oeuvre des concepts clefs comme la navigation et la liaison de données. Vous vous frotterez ensuite à l'ergonomie : utilisation des thèmes, de l'orientation, ajout d'une Application Bar, création d'un effet de style avec Expression Blend. Vous enchaînerez avec le stockage local de vos données, la gestion des préférences et l'appel à d'autres applications du téléphone. Vous finirez par la communication avec un serveur de données via SOAP et REST et, enfin, la gestion de l'écran tactile. - Développer une application soucieuse des règles ergonomiques de Windows Phone 8 - Utiliser le Framework Silverlight pour Windows Phone - Comprendre les principes de l'interface Modern UI - Prendre en main l'environnement VS2012 for Windows Phone et Expression Blend - Gérer l'écran tactile - Accéder aux données du téléphone - Accéder à des services distants - Connaître le cycle de vie des applications Windows Phone : écosystème - Les grands principes - Le nouvel émulateur - Déploiement et Windows Phone Store Silverlight : les bases - Le mixe XAML et C# - Structure d une application - Navigation entre pages - Composants graphiques - Gestion du positionnement - Data Binding Composants Silverlight pour Windows Phone - Pivot et panorama - Application Bar et System Tray - Boutons, Sliders, liens - Grid, StackPanel, Canvas et ScrollViewer - ListBox et DataBound Application - WebBrowser et MediaElement Architecture - MVVM - Tests unitaires - Portable Class Library Effets graphiques - Définir et utiliser des styles - Dessiner, positionner, animer - Etats et transitions Les règles d ergonomie - Modern UI, Hubs et Tiles - Tile à deux faces - Tile secondaire - ShellTileSchedule - Gestion des préférences et des thèmes - Images et icônes - Gestion de l orientation - Gestion des différentes résolutions - Clavier virtuel Cycle de vie d une application - Cycle de vie - Applications intégrées : Launchers et Choosers Performance - Asynchronie avec async/await - LongListSelector - Compositor Thread - Monitoring de la mémoire Accéder à du contenu distant - Services Web SOAP et REST - Simulation Dashboard - Services Cloud Computing type Windows Azure - Notifications - Windows Phone Store Accéder au contenu local - Isolated Storage - Settings - Base de données avec Linq to SQL - Utilisation de l Isolated Storage Explorer Utilisation des composantes de l appareil - Appareil photo - GPS - API de géolocalisation - Cartographie - Accéléromètre - Microphone - 4 Point Touch Screen - Gesture Listener 2014 09 JAN FEV MARS 10 AVRIL MAI JUIN 10 JUILL AOUT SEPT OCT 03
4 jours 28 heures Développer une application Web pour iphone, ipad et Android Développement mobile MIKA Développeurs Web, développeurs mobile, chefs de projets, architectes Connaissances de base en HTML et CSS ou avoir suivi le cours HWEB Compétences JavaScript ou avoir suivi le cours JASI 70% de travaux pratiques 1 892 HT Les écosystèmes mobiles suscitent un intérêt grandissant au sein des entreprises qui souhaitent parfaire leur stratégie multicanale en intégrant un maximum de plates-formes, ios et Android en tête. Le développement spécifique à chaque plateforme est contraignant et coûteux ; parallèlement les technologies Web, impulsées par HTML5, évoluent et proposent aujourd'hui tout un panel de solutions pour construire une application offrant une expérience utilisateur adaptée aux mobiles et aux tablettes. Aujourd'hui les navigateurs d'android et d'ios utilisent le même moteur de rendu (WebKit) ce qui facilite l'utilisation des technologies Web. Il reste néanmoins à définir une architecture en fonction du besoin (application native ou site Web), et savoir ce qu'apportent les nombreux Frameworks qui mélangent savamment IHM, HTML5 et JavaScript en jouant parfois la carte de la complémentarité. Lors de cette formation, vous commencerez par développer une application mobile de visualisation de planning avec un Framework mobile simple (IUI). Après avoir évalué l'intérêt de ce type de Framework, vous irez plus loin avec un Framework plus sophistiqué (jquerymobile). Votre application s'étoffant, vous y ajouterez un Framework MVC client (Backbone) pour gérer les différentes vues de celle-ci. Ce qui vous permettra ensuite d'apporter des améliorations propres aux solutions Web mobiles comme le fonctionnement hors connexion ou des différenciations en fonction du type d'écran. Enfin vous finirez par créer une version hybride de votre application avec PhoneGap. Problématique du Web mobile - Contexte et enjeux - Les navigateurs - Détection de terminaux - Les langages du Web mobile - Site Web, application Web ou application native Des contraintes à intégrer - Ergonomie - Connectivité - Navigation Frameworks mobiles - Types de Frameworks pour solutions mobiles - Fonctionnalités courantes - IUI - JQuery Mobile - Sencha Touch 2 - Dojo Mobile - Wink Toolkit Autres Frameworks - Les Frameworks de test et débogage - Weinre - Les Frameworks MVC - Backbone Fonctionnalités avancées et HTML5 - Géolocalisation - Stockage local - Mode déconnecté - Gestion de cache - Effets avec CSS3 - CSS Media Query - Intégration de contenus Emballage natif avec PhoneGap - Application native intégrant une WebView - Principe de mise en oeuvre - Principales API - Pont JavaScript - Customisation - Limites - Développer un client riche Web mobile - Respecter les contraintes d'ergonomie du Web mobile - Comprendre l'apport d'html5 et CSS3 - Utiliser un Framework MVC client - Jauger les solutions hybrides comme PhoneGap - Découvrir des solutions multi-os et multi-device - Utiliser différents Frameworks de développement d'applications Web mobiles 2014 20 TOULOUSE 02 JAN 06 20 FEV MARS 03 AVRIL MAI 12 19 JUIN JUILL 01 AOUT SEPT 01 OCT 13 17
TINOS ASQ MING NEO Introduction aux bases de données NoSQL Développement d applications Big Data avec Hadoop Développer avec MongoDB Développement d applications avec Neo4j
1 jour 7 heures Introduction aux bases de données NoSQL Big Data & NoSQL TINOS Chefs de projets, architectes, développeurs Connaissance des architectures intégrant des bases de données Présentations, discussions, études de cas 700 HT Les SGBD relationnels sont aujourd'hui le moyen de stockage prédominant dans les entreprises. Les technologies alternatives (SGBD objet ou XML) sont cantonnées dans des niches et leurs fonctionnalités progressivement absorbées dans les SGBDR. A l'heure où, autour du Web, les besoins de stockage et d'interrogation de documents mais aussi de données sans schémas se multiplient, où le Big Data est un terme à la mode, où les architectures massivement parallèles et le Cloud Computing deviennent des options crédibles, les solutions NoSQL représentent-elles une véritable alternative? A l'issue de cette formation vous connaîtrez les principales solutions NoSQL : leur typologie, leurs possibilités et leurs limites. Vous saurez évaluer l'opportunité de mettre en oeuvre une solution NoSQL dans vos projets. Vous connaîtrez les solutions permettant de traiter de forts volumes de données. La présentation parallèle des concepts théoriques des SGBD NoSQL, les différentes solutions disponibles et des exemples tirés de mises en oeuvre réelles vous aideront à répondre aux questions suivantes : "Le mouvement NoSQL est-il une mode éphémère?", "Les SGBD NoSQL sont-ils utiles dans mes projets?", "Quelles sont leurs limites et quels sont les risques encourus?", "De quel type de SGBD NoSQL ai-je besoin?". Le pourquoi du NoSQL - NoSQL ou NRDBMS - Théorème de Cap - Contraintes du modèle Acid - Montée en charge horizontale - Architecture massivement parallèles - Ecosystème NoSQL Typologie des bases NoSQL - Base de données clé / valeur - Base de données document - Base de données colonnes - Base de données graphes Cas d utilisation et nouveaux enjeux des entreprises - Simplicité et rapidité - Stockage et volumétrie - Analytics et BI Les grands éditeurs dans la mouvance NoSQL - Oracle NoSQL Database - Microsoft SQL Azure - SAP Hana La porte d entrée pour le Big Data - Hadoop - Le modèle MapReduce - Architecture Big Data Open Source - Storm Pilotage projet NoSQL - Return On Invest - Les acteurs et leurs rôles - Un processus agile pour le Big Data / NoSQL - Tests - Connaître les concepts sous-jacents à l'approche NoSQL - Comprendre les raisons de l'émergence des SGBD NoSQL - Connaître les principales solutions disponibles sur le marché - Identifier les cas d'utilisation des SGBD NoSQL - Appréhender la relation entre MapReduce et NoSQL - Evaluer les limites des solutions NoSQL 2014 2014 TOULOUSE JAN FEV 11 24 MARS AVRIL 15 MAI JUIN JUILL 10 AOUT SEPT OCT 24
3 jours 21 heures Développement d applications Big Data avec Hadoop Big Data & NoSQL ASQ Développeurs, architectes, DevOps Connaissances en programmation Java et d un langage de script (JavaScript) Expérience du Shell et développement sous Linux 50% de travaux pratiques 1 821 HT Avec l'accroissement constant du volume de données à analyser, les approches Big Data offrent aujourd'hui la possibilité de traiter rapidement l'information et de concevoir des applications innovantes. Documents, emails, mesures de capteurs RFID, logs de serveurs Web sont autant de sources hétérogènes qu'il faut savoir intégrer et valoriser à grande échelle. Le développement d'applications Big Data impose pour cela des connaissances approfondies en méthodes d'indexation, en compression et en patterns de programmation tels que MapReduce. Au terme de cette formation, vous saurez comment exploiter Hadoop pour collecter, stocker et traiter des données de formats hétérogènes. Vous saurez écrire et exécuter des requêtes fonctionnant à la fois sur une station de travail et sur un cluster distribué. Vous connaîtrez les bonnes pratiques de conception d'applications "orientées données" et saurez comment mettre en place des chaînes de traitement robustes, intégrée au système d'information de l'entreprise. Vous aurez à disposition plusieurs jeux de données ainsi qu une plateforme virtualisée sur le Cloud pour mettre en oeuvre les patterns de programmation exposés en cours. Le but de l exercice est de construire une application BigData de ereputation étape par étape. Différents exercices vous permettront de vous familiariser avec le système HDFS, HBase, pour effectuer le chargement et la réplication de données, puis vous apprendrez à implémenter des jobs MapReduce et exécuter des requêtes. Pour finir vous aborderez la visualisation des données. - Créer une application exploitant les différents composants de l'écosystème Hadoop - Mettre en oeuvre différents patterns de programmation distribuée - Utiliser MapReduce, via l'api offerte par Hadoop - Identifier les algorithmes favorables à une implémentation sous MapReduce et ceux nécessitant Hive ou Pig - Connecter vos applications à différentes sources de données, internes ou externes au cluster - S'initier au Machine Learning avec Mahout - Découvrir des solutions simples de visualisation des données Le Big Data - Il était une fois le Big Data - Il était une fois Hadoop - Hadoop players La démarche Big Data - Approche agile - Le Cloud Computing public ou privé pour le Big Data Les architectures Big Data avec Hadoop - Architecture Big Data avec Hadoop - Architecture Hardware - Architecture GPU La collecte des données - Analyse des flux de données - Données structurées et non-structurées - Les principes de l analyse sémantique - La granularité de cohérence des données - Transfert de données SGBD dans Hadoop - Transfert des sources de données du Cloud dans Hadoop Le stockage des données avec HBase - Base de données orientée colonne - Patterns d usages - Installation - Hive / Pig - Performance, monitoring, sécurité Le stockage des données sur HDFS - Patterns d usages - Architecture - Installation - Opérations et commandes - Gestion de la tolérance à la panne La fouille des données avec Mahout - Les principales méthodes descriptives et prédictives - Transformation des formats de données - K-Means en profondeur - Organiser une chaîne de traitement Visualisation des données - La problématique de visualisation des données - D3.js pour la visualisation des données Le pilotage Big Data - Les acteurs et leurs rôles - Tests - Open Data et réglementation - Sécurité - Administration et monitoring 2014 2014 JAN FEV MARS AVRIL MAI JUIN JUILL AOUT SEPT OCT 24 14 10 18 06 08 TOULOUSE 10 08
2 jours 14 heures Développer avec MongoDB Big Data & NoSQL MING Développeurs, architectes, DevOps Connaissances en programmation Java et d un langage de script (JavaScript) Expérience du Shell et développement sous Linux 50% de travaux pratiques 1 214 HT Avec l'accroissement continu du volume de données, de leurs sources multiples et donc hétérogènes, le NoSQL s'est inscrit comme une évidence au sein de l'ensemble des systèmes d'informations modernes. L'orienté document est l'un des types de base de données NoSQL le plus répandu. Son utilisation est multiple : log, géolocalisation, volumétrie, lecture intensive... Le fer de lance de ce type de base de données se nomme MongoDB. Au terme de cette formation, vous connaîtrez l'ensemble des concepts liés à MongoDB et à l'orienté document en NoSQL. Vous apprendrez à vous familiariser avec le Shell JavaScript, les notions Schemaless / Tableless des documents JSON MongoDB. Vous comprendrez tout l'intérêt du système de réplication et de répartition des données grâce au Replica Sets et au Sharding. Enfin vous posséderez de solides bases sur la gestion de documents volumineux et sur les requêtes géospatiales. Vous aurez à disposition plusieurs jeux de données ainsi qu'une plateforme virtualisée (EC2 d'amazon Web Services) pour mettre en oeuvre l'ensemble des travaux pratiques et votre première base de données MongoDB qui évoluera tout au long de la formation : réplication, répartition, géolocalisation, sauvegarde et restauration. Présentation MongoDB - Le NoSql et MongoDB: Théorème de Cap - Présentation des concepts : Schemaless / Tableless - L orienté document - MongoDB face à ses concurrents Modèle de données et CRUD - Shell JavaScript et stockage BSON - Création d une base de données - Création de collections - Requêter un document Développer avec l API Java et JavaScript - Introduction au Driver Java - Introduction au Driver JavaScript Réplication des données architecture Maître-Esclave - Introduction au Replica Sets - Niveau de consistance d un Replica Set Partitionnement horizontal - Introduction au Sharding - Le Sharding et MapReduce - Le Sharding et les Replica Sets Administration et exploitation - Monitoring via l API REST de MongoDB - Backup et restauration via MongoDump Gros documents et géolocalisation - Gestion des documents volumineux via GRIDFS - API de géolocalisation de MongoDB - Maîtriser les concepts de l'orienté document en NoSQL - Connaître l'écosystème MongoDB et faire un tour d'horizon de l'ensemble de ses API - Stocker et récupérer des documents - Comprendre l'intérêt et le fonctionnement des Replica Sets et du Sharding - Appréhender les requêtes géospatiales de MongoDB 2014 2014 TOULOUSE JAN FEV 20 MARS 31 AVRIL 17 MAI JUIN 19 JUILL AOUT 21 SEPT 29 OCT 13 11
2 jours 14 heures Développement d applications avec Neo4j Big Data & NoSQL NEO Développeurs, architectes Connaissances en programmation Java 50% de travaux pratiques 1 214 HT Les données sont aujourd'hui de plus en plus connectées entre elles, ce que nous démontre chaque jour l'explosion des réseaux sociaux. Pour gérer de manière optimale ces relations toujours plus nombreuses, une branche de la famille NoSQL est en plein essor : les bases de données graphes. Neo4j en est le leader. En plus d'être Open Source, Neo4j a déjà fait ses preuves dans des domaines très variés tels que les télécoms, la finance, les réseaux sociaux ou l'industrie spatiale. A l'issue de cette formation vous pourrez décider de l'opportunité d'utiliser des bases de données NoSQL de type graphe sur vos projets. Le cas échéant, vous connaîtrez les étapes pour utiliser Neo4j, de la modélisation sous forme de graphe jusqu'à la manipulation des objets et leurs relations. Autour de travaux pratiques sur la réalisation d'un système de recommandations de films, la formation vise à aborder les principales étapes de la réalisation d'un projet avec Neo4j. En partant de la modélisation, vous alimenterez ensuite vos graphes avec Batch Importer puis utiliserez diverses API dont Spring Data pour tirer bénéfice de vos données connectées. Enfin un dernier pas vous amènera jusqu'à la visualisation des données avec NeoClipse et Vivagraph. Introduction aux bases de données graphes - Rappel sur la théorie des graphes - Définition d une base de type graphe - Motivations et enjeux - Base graphe vs. SGBD traditionnel - Présentation des principaux algorithmes Présentation Neo4j - Concepts - Architecture d un serveur Neo4j - Modes de fonctionnement : embarqué, serveur ou cluster - Plugin spatial Cas d utilisation - Réseaux sociaux - Datacenters - Gestion d accès Manipulation avec Cypher - Principales commandes - Parcours de graphes - Insertion et modification de données Importation des données - Principaux outils existants - Batch Importer, Talend Premiers pas avec l API Neo4j - Principales interfaces - Classes de manipulation de graphes - API Traversal Intégration avec Spring Data - Motivations de Spring Data - Principales annotations Visualisation d un graphe - Aperçu des différents outils (Console Neo4j, Gephi, Neoclipse) - Aperçu des différentes API de visualisation (D3.js, Vivagraph.js) - Comprendre le fonctionnement des bases de données graphes - Juger de l'intérêt des bases de données graphes - Connaître les possibilités et les atouts de Neo4j - Modéliser une application sous forme de graphe - Manipuler les données d'un graphe Neo4j avec les API fournies - Visualiser les données d'un graphe 2014 2014 TOULOUSE JAN 30 FEV MARS 20 AVRIL 28 MAI 26 JUIN JUILL 24 AOUT SEPT 18 OCT 27 06
Sommaire / Index Solutions de financement Comment commander Suivante Informations pratiques Contacts Paris + 33 (0)1 76 21 15 00 info@valtech-training.fr Toulouse + 33 (0)5 62 47 52 02 midi-pyrenees@valtech-training.fr Horaires des formations Les horaires de fin sont communiqués à titre indicatif et sont susceptibles d ajustement en fonction de l avancement du programme. > Le 1 er jour : 9h15-17h30 > Les jours suivants : 9h00-17h00 Plan d'accès Les plans d'accès sont systématiquement transmis avec les convocations aux formations (par e-mail). Vous pouvez également consulter le plan de Paris la Défense (présenté p. 147) et calculer votre itinéraire sur Internet : > rubrique "Contact". Hébergement Pour vous aider dans votre recherche d'hébergement, nous avons collecté des informations sur des hôtels proches de nos centres de formation à Paris la Défense et Toulouse. Ces informations sont à votre disposition sur www.valtechtraining.fr rubrique "Contact". s sociales SIRET siège social (Paris la Défense) : 443 533 070 000 35 SIRET agence de Toulouse : 443 533 070 000 27 RCS : Nanterre B 443 533 070 TVA intracommunautaire : FR 73 443 533 070 NAF : 8559A. Formation continue d adultes. Organisme de formation : 119 214 294 92 Les informations contenues dans ce document sont susceptibles d être modifiées sans préavis. Tous les noms de produits et marques cités sont la propriété de leurs détenteurs respectifs. Le groupe Valtech Valtech Training en quelques mots Formation sur mesure Coaching Informations pratiques Bulletin d inscription
Sommaire / Index Solutions de financement Comment commander Suivante Glossaire Ce glossaire, volontairement restreint, est destiné au plus grand nombre. Il vise à rendre accessible le vocabulaire présent dans notre catalogue. Agile (méthode) Sont qualifiées d agiles certaines méthodes de gestion de projet privilégiant la communication, la responsabilisation des équipes, l évolutivité des exigences, l implication du client et la livraison régulière de code opérationnel. Ces valeurs peuvent ensuite se décliner en principes de gestion d équipes et en pratiques de développement en fonction des méthodes. Ajax Asynchronous Javascript And Xml. Correspond à l envoi d une requête HTTP en mode asynchrone (l utilisateur n est pas bloqué en attendant la réponse) permettant de rafraîchir une partie d une page Web plutôt que sa totalité. Analyse Phase amont du développement logiciel au cours de laquelle on fait apparaître les concepts importants qui structureront le code ainsi que les liens qui les unissent. Cette phase exige davantage de connaissance métier que de compétences techniques. Elle se poursuit par la phase de conception. Android Nom du système d exploitation pour terminaux mobiles créé par Google et offert par ce dernier à tous les constructeurs souhaitant l utiliser. Apache Apache est le serveur HTTP Open Source le plus utilisé au monde et une des preuves que ce modèle de développement peut fournir des logiciels de très bonne qualité. Un serveur HTTP est destiné à recevoir les demandes émanant du navigateur Web au gré du parcours d un site et à renvoyer les pages (au format HTML) visualisées par l internaute. Architecture logicielle Segmentation d un logiciel en différentes parties ou couches prenant en charge un ensemble de problématiques techniques ou fonctionnelles à traiter : couche de présentation, couche métier, couche d accès aux données. Cette réflexion s accompagne aussi d un travail sur le choix des langages, technologies et Frameworks qui seront utilisés. On parle alors d architecture technique. ASP.NET Active Server Page. Technologie de pages Web dynamiques de Microsoft. Une page ASP contient généralement du HTML et du code (VB, C#). Lorsque la page est appelée, le code est exécuté côté serveur et son résultat vient compléter le code HTML de la page. L exécution des pages se fait par le serveur Web de Microsoft : Internet Information Server (IIS) ATDD L Acceptance Test Driven Development caractérise un mode de travail outillé ou les exigences sont décrites sous forme de cas de tests vérifiables. Le développement peut alors se faire sur la base de ces tests. Big Data Ensemble de technologies permettant le stockage de très gros volumes de données et l exécution de traitements massivement parallèles sur ces mêmes données. Les bases de données NoSQL, le modèle de traitement «Map Reduce» conçu par Google ou les produits Open Source regroupés par l initiative Hadoop en font partie. C# Langage de programmation orienté objet de Microsoft, syntaxiquement proche du langage Java auquel il emprunte aussi son mode d exécution. C est le langage numéro un de la plate-forme.net. C++ Premier langage de programmation objet à connaître une utilisation industrielle, ce langage est toujours utilisé dans des secteurs variés allant du temps réel aux jeux vidéo. Il est, petit à petit, supplanté par des langages plus simples comme Java dans le domaine de l informatique de gestion mais reste très présent dans les domaines techniques. Cas d utilisation (Use Case) Format textuel permettant d expliciter une fonctionnalité attendue d une application. Le diagramme de cas d utilisation est, quant à lui, un format graphique permettant de visualiser les liens entre les fonctionnalités du système, les utilisateurs et systèmes tiers. Client riche Ce terme, assez générique, regroupe un certain nombre de technologies permettant de développer une IHM graphiquement riche et facilement déployable sur les postes clients (que ce soit ou non par le biais du navigateur). Client Web Signifie que l IHM d une application est visualisée dans un navigateur Web comme, par exemple, Internet Explorer, Chrome ou Firefox. Cloud Computing Le Cloud Computing regroupe différentes solutions comme Amazon EC2, Windows Azure ou Google App Engine qui ont en commun la délocalisation des applications et données de l entreprise vers des serveurs externes, réduisant ainsi le coût d exploitation des systèmes. Conception Etape du développement de logiciel pendant laquelle les ingénieurs imaginent (conçoivent) la solution qui répondra le mieux aux exigences du projet. Elle suit la phase d analyse et sera suivie par la phase de développement. Son but est donc la construction de plans (diagrammes de conception UML) qui serviront de guide aux équipes de développement. CSS Cascading Style Sheet. Format approuvé par le W3C (World Wide Web Consortium) définissant des styles de mise en page Web. Design Patterns En génie logiciel, les modèles de conception (Design Patterns en anglais) sont des solutions standards prédéfinies, le plus souvent indépendantes du langage de programmation, répondant à des problèmes récurrents. DevOps Terme formé par la contraction des mots développeur et opérationnel. Il s agit de pratiques et d outils communs permettant de faciliter le dialogue souvent difficile entre ces équipes. DHTML Dynamic Hyper Text Mark-up Language. Utilisation avancée du langage HTML, incluant des éléments interactifs réalisés à l aide de langages de scripts tels que JavaScript. Eclipse Atelier de développement logiciel Open Source. Eclipse est extensible par l adjonction de Plug-Ins. Eclipse est l IDE le plus utilisé par les développeurs Java. EJB Enterprise JavaBeans. Composant métier standardisé Java EE, bénéficiant de services techniques. La version 3.0 modifie grandement le modèle des EJB 2.x. Expérience utilisateur (ou User experience UX) : Ensemble de facteurs contribuant à l appropriation d un système par ses utilisateurs. L ergonomie en est un des avatars les plus importants. Framework Cadre structurant le développement d une couche applicative (IHM, métier) et aidant à prendre en compte des problèmes récurrents. Struts, Spring ou Hibernate sont des Frameworks populaires du monde Java. Gestion de configuration Un outil de gestion de configuration est un logiciel permettant à une équipe de travailler ensemble à l écriture et à la modification de fichiers. Quelques produits de renom : ClearCase, CVS, SVN et Git. Gestion de projet Ensemble des techniques permettant de gérer un projet dans les différentes phases de son cycle de vie depuis son estimation jusqu à sa livraison en passant par le management des équipes. Le groupe Valtech Valtech Training en quelques mots Formation sur mesure Coaching Informations pratiques Bulletin d inscription
Sommaire / Index Solutions de financement Comment commander Suivante Glossaire Git Git est un outil Open Source de gestion de configuration logicielle (GCL). Il permet aux développeurs de travailler en commun sur le code d une application. GWT Le Google Web Toolkit est un Framework développé par Google, permettant de créer des applications Web dynamiques utilisant la technologie Ajax. L originalité de la solution vient du fait que les développeurs écrivent uniquement du code Java qui est ensuite compilé en HTML / JavaScript. Hibernate Solution Open Source de mapping objet / relationnel (ORM) soutenue par JBoss. Il s agit d un produit sachant générer facilement le code indispensable, mais complexe, permettant de stocker et retrouver des données issues d un système objet dans une base de données relationnelle. HTML Hyper Text Mark-up Language. Langage de présentation utilisé pour créer des pages Web simples. Dans une page HTML on trouve : - du contenu (texte, images, liens, etc.) - des balises (mots clés entre «<» et «>») qui encadrent le contenu et indiquent comment il doit être mis en forme pour être présenté à l écran. HTML5 La nouvelle version du fameux langage HTML apportant bien des évolutions qui seront monnaie courante dans un futur proche. HTTP HyperText Transfer Protocol. Protocole régissant les communications entre les clients et serveurs Web. Sa fonction première est d établir la connexion avec un serveur, qui contient la page que l on veut voir afficher, et de rapatrier cette page sur le poste de l internaute. Pour établir cette connexion, le protocole se sert de l adresse HTTP que l on fournit à son navigateur. Exemple : en tapant l adresse http://www. valtech-training.fr, on établira une connexion avec le serveur Web de Valtech Training et l on recevra en retour la page demandée (la page d accueil en l occurence). IDE Environnement de Développement Intégré. Outil permettant au développeur de gérer différents aspects de la production logicielle : modélisation, développement, compilation, exécution, test... Quelques IDE renommés : Eclipse, JBuilder, Visual Studio... IHM Interface Homme Machine. L IHM est la couche graphique de l application donc celle que l utilisateur a devant les yeux quel que soit le type de terminal utilisé. ios Nom donné par Apple à son système d exploitation (OS = Operating System) mobile qui est déployé sur les iphone et ipad. Intégration continue Pratique de développement consistant à automatiser le packaging, le déploiement et le test des applications afin de détecter au plus tôt les effets néfastes d une modification d un morceau de code existant sur l ensemble de l application. Cette démarche est soutenue par différents types d outils comme Ant, Maven ou JUnit dans le monde Java. Elle est complétée par la production de rapports avec des produits comme CruiseControl, Continuum ou Hudson. Itératif et incrémental Processus de développement basé sur la réalisation cyclique (itérative) de morceaux opérationnels du logiciel (les incréments). Un incrément est livrable au client pour être testé et validé. Java Langage de programmation objet, apparu au milieu des années 90 et qui s est imposé après une dizaine d années d existence comme le plus utilisé des langages de programmation. Java EE Java Enterprise Edition. Ensemble de normes concernant les plates-formes d entreprises ou serveurs d applications, basé sur le langage Java. JavaScript Langage de script exécuté par le navigateur et permettant de modifier dynamiquement le contenu d une page Web sans la recharger depuis le serveur. JSF JavaServer Faces. Framework officiel de développement Web du monde Java. Il tente de reprendre ce qui a fait le succès des technologies d IHM comme Visual Basic ou Delphi et de les appliquer au développement Web. JSP JavaServer Page. Consiste en une page HTML incluant du code Java qui s exécute côté serveur. Lean Software Development La méthode Lean Software Development peut être classée parmi les «méthodes agiles». L origine du terme Lean Software Development se trouve dans un livre du même nom écrit par Mary et Tom Poppendieck. On y trouve décrits, sous une forme adaptée aux contraintes du développement logiciel, les «principes Lean» issus du système de production de Toyota au Japon, qui visent la performance par l amélioration continue et l élimination des gaspillages inutiles. Linq Le projet Linq est le nom de code d un ensemble d extensions du Framework.Net qui simplifient considérablement la manière d écrire des requêtes XML et SQL. Microsoft.Net Prononcer «Dotnet». Ensemble de produits et technologies destinés à la création d applications de tous types sur plate-forme Windows..Net est la stratégie Microsoft pour contrer la plate-forme Java et sa place de plus en plus importante. MOA Maîtrise d ouvrage. La MOA regroupe les personnes responsables, vis-à-vis du commanditaire, de la réalisation d un système conforme au besoin exprimé et respectant des critères de coût, délai, qualité déterminés. MOE Maîtrise d œuvre. La MOE regroupe les personnes responsables de la création du système proprement dit. Node.js Node.js est un environnement serveur permettant d écrire des applications Javascript côté serveur. Il offre donc aux développeurs Web la possibilité d écrire la totalité de leur code dans un seul langage de programmation. NoSQL NoSQL, pour NotOnlySQL, est un terme générique désignant un ensemble de base de données se démarquant des contraintes des bases de données relationnelles classiques comme Oracle ou MySQL. Parmi ces bases on compte MongoDB, Hbase ou Neo4J. Objet Ensemble de concepts permettant de structurer le code de façon plus lisible et plus maintenable qu avec un langage traditionnel. Open Source (ou logiciel libre) Se dit de logiciels, pas nécessairement gratuits, qui peuvent être modifiés et redistribués librement. C est une tendance très importante de l industrie du logiciel. Persistance Fait de rendre durable, en le sauvegardant dans une base de données, l état (la valeur) d informations stockées en mémoire. Perspective applicative Permet de décrire l ensemble des applications et les connexions entre les applications constitutives du système d information. Le groupe Valtech Valtech Training en quelques mots Formation sur mesure Coaching Informations pratiques Bulletin d inscription
Sommaire / Index Solutions de financement Comment commander Suivante Glossaire Perspective fonctionnelle Aussi nommée perspective informationnelle, ce point de vue permet de décrire les «services» attendus par le système d information, indépendamment des systèmes de traitement des données et des technologies mises en œuvre. Perspective métier Sert à décrire, dans une démarche d urbanisation, l ensemble des processus d entreprise et les flux de données que le système d information doit supporter. Perspective technique Décrit tous les matériels, logiciels de base, Middleware et technologies déployées pour implémenter le système d information. PHP Technologie Open Source, très populaire, de création de pages Web dynamiques, concurrent de ASP ou JSP. Refactoring Se dit d une modification de conception qu il faut ensuite appliquer à un ensemble de fichiers de code. Réseau social Système de mise en relation, de partage et d échanges entre individus et/ou sociétés via le Web. Les plus connus sont : Facebook, Twitter, Viadeo, LinkedIn, Google+ Responsive Design Ensemble de pratiques permettant d adapter un contenu à différentes tailles d écran. Par exemple d avoir un site Web unique pouvant être facilement visualisé sur un ordinateur, une tablette ou un smartphone. REST REST caractérise un type Web Services se basant intégralement sur les caractéristiques du protocole HTTP. Scrum agile de développement logiciel tirant son nom de la courte réunion que tienne tous les matins l ensemble des membres de l équipe. SEO Search Engine Optimization. Ensemble de techniques et d outils permettant d améliorer la visibilité d un site Web dans les moteurs de recherche comme Google. Serveur d applications Le serveur d applications est un serveur de traitement hébergeant des composants à qui il offre de nombreux services techniques (communication, sécurité, accès au stockage des données...). Pour pouvoir être hébergé dans un serveur d applications, un composant (morceau de logiciel) doit respecter des normes de programmation (ex. EJB). Exemples : IBM WebSphere, Oracle WebLogic, JBoss, Glassfish. Serveur Web Un serveur Web ou serveur HTTP est un programme installé sur une machine connectée au réseau Internet. Ce programme répond aux requêtes des clients Web qui lui demandent des pages HTML. Ces pages HTML sont organisées et stockées dans un espace qui constitue le site Web. Exemples : Microsoft IIS, Apache. Servlet Programme Java qui s exécute dynamiquement sur le serveur Web et permet l extension des fonctions de ce dernier : accès à des bases de données, transactions d e-commerce, etc. Un Servlet peut être chargé automatiquement lors du démarrage du serveur Web ou lors de la première requête du client. Une fois chargés, les Servlets restent actifs dans l attente d autres requêtes du client. Silverlight Microsoft Silverlight est un plug-in pour navigateur Web, qui permet de développer des applications Web riches (RIA) dans un moteur de rendu vectoriel. Silverlight est une solution basée sur XAML qui améliore les présentations à base de contenus riches (2D, animation, dessin vectoriel, vidéo et audio) en complément du code HTML. SOA Service Oriented Architecture. Style d architecture facilitant l orchestration des appels inter-applicatifs. L architecture orientée service est le fruit de réflexions sur l intégration des applications qui tend à devenir de plus en plus complexe avec la multiplication des plates-formes techniques. Test unitaire Le test unitaire est une pratique consistant à écrire de petits tests de vérification pour les unités de code (méthode) écrites par les développeurs. Cette pratique est encouragée notamment par l extreme Programming. Tests (développement piloté par les) Le TDD ou Test Driven Development vise à mettre en avant le test dans le cycle de vie du projet que ce soit en exprimant les besoins sous forme de test d acceptance, en concevant les applications pour les rendre facilement testables ou en généralisant l écriture de tests unitaires. UML Unified Modeling Language. UML est un langage de modélisation objet officiellement approuvé en 1997 par l OMG (Object Management Group). UML a pour but de faciliter l analyse d un besoin et la conception de programmes ainsi que la communication entre les différents métiers du développement. Urbanisation L urbanisation organise la transformation du système d information pour le simplifier, l optimiser et l aligner sur la stratégie de l entreprise. Usine Logicielle Traduction du terme Software Factory. Ensemble d outils permettant, durant la phase de développement, d automatiser la construction d une application et son test à partir du code source modifié quotidiennement par les membres de l équipe de développement. WCF Windows Communication Framework (WCF) est le sous-système de communication du Framework Microsoft.Net existant depuis la version 3.0. Son modèle de programmation est une couche d abstraction qui unifie et simplifie la mécanique d intégration des Web Services,.Net Remoting, Microsoft Transaction Server et Microsoft Message Queuing. Web App Terme généralement utilisé pour désigner une application Web, donc accessible par le biais d un simple navigateur. Son interface graphique graphique peut-être sophistiquée. On parle alors de RIA. Elle peut, de plus, avoir été conçue pour des navigateurs mobiles. On parle ici de Mobile Web App. Web Services Mécanisme de communication inter-applicatif basé sur des technologies utilisées dans le monde du Web, donc très largement répandues. Windows Phone 8 : Système d exploitation pour mobiles lancé par Microsoft pour concurrencer ios (Apple) et Android (Google). Les premiers téléphones équipés de ce système sont apparus au 4ème semestre 2012. WPF Windows Presentation Framework (WPF) est le sous-système du Framework Microsoft.Net existant depuis la version 3.0 pour le développement des interfaces graphiques des applications Web ou des clients traditionnels. XML extensible Markup Language. Standard de description de données défini par le W3C. XML permet aux concepteurs d applications de définir leurs propres balises, dans le but de personnaliser la structure des données qu ils comptent échanger. Alors que les balises HTML précisent comment les éléments qu elles encadrent seront présentés, XML permet de définir ce que sont ces éléments. XP L extreme Programming est un mode de développement logiciel centré sur la production de code. XP est célèbre pour certaines des pratiques qu il encourage comme la programmation en binôme, les tests unitaires ou l intégration continue. Le groupe Valtech Valtech Training en quelques mots Formation sur mesure Coaching Informations pratiques Bulletin d inscription
Sommaire / Index Solutions de financement Comment commander Suivante Bulletin d inscription Merci de faire parvenir ce document directement à votre interlocuteur commercial Si ce bulletin d inscription est lié à une offre spéciale, cochez la case correspondante Offre Equipe (1) Offre Flash (2) Autre promotion Valtech Training Paris 103, rue de Grenelle 75007 Paris Fax : + 33 (0)1 76 21 15 25 commerciaux@valtech-training.fr OU Valtech Training Toulouse Immeuble Tersud - Bâtiment A 5, avenue Marcel Dassault 31500 Toulouse Fax : + 33 (0)5 62 47 52 01 commerciaux@valtech-training.fr Formations Intitulés ou références des formations Date Lieu (*) Prénom / Nom Prix en HT (*) indiquer la ville où se déroule la session : Paris la Défense, Toulouse, etc. Total en HT Règlement Par l'entreprise commanditaire Société : Service : Par un Organisme Paritaire Collecteur Agréé (Fafiec, Opcalia, Agefos PME...) OPCA : Adresse : TVA Intracommunautaire : CP : Localité : OU Adresse : CP : Localité : Signataire Interlocuteur (facultatif) : Nom : Fonction : Tél. : Fax : E-mail : Ce bulletin d'inscription fait office de bon de commande ou sera confirmé par un bon de commande Adresse de convocation Société : Service : (si différente de l'adresse de facturation) Nom du destinataire : Adresse : Fonction du destinataire : CP : Localité : Tél. : Fax : E-mail : Date : Signature : Cachet de la société : Sauf accord préalable écrit de Valtech Training, toute commande de services auprès de Valtech Training est soumise aux conditions générales de vente de Valtech Training. Conditions complémentaires applicables aux Offres Spéciales : (1) Offre Equipe : Les premières formations sont facturées au prix public. La remise globale est intégralement imputée sur la ou les dernières factures. (2) Offre Flash : Toute inscription est ferme. Elle ne peut être remboursée ou reportée à une date ultérieure. Le groupe Valtech Valtech Training en quelques mots Formation sur mesure Coaching Informations pratiques Bulletin d inscription
Sommaire / Index Solutions de financement Comment commander Conditions générales de vente Valtech Training Les présentes Conditions Générales s appliquent à tous les accords de prestations de services (animation de formation, développement de support de cours, transfert de compétence, mentoring, conseil ) conclus entre le Commanditaire et Valtech Training (globalement désignés ci-après par le terme "Services"), sous réserve des Conditions Générales applicables aux offres spéciales. Sauf accord préalable écrit de Valtech Training, les conditions générales d achat du Commanditaire sont réputées nulles. Toute offre de Valtech Training est soumise aux présentes Conditions Générales. L acceptation de l offre de Valtech Training vaut acceptation des présentes, à l exclusion de tout autre document n'ayant qu une valeur indicative. Le fait que Valtech Training ne se prévale pas, à un moment donné, de l une quelconque des présentes Conditions Générales de Vente, ne peut être interprété comme valant renonciation à se prévaloir ultérieurement de l une quelconque de ces Conditions Générales de Vente. Facturation et paiement Prix : le Commanditaire s engage à payer à Valtech Training le prix stipulé au Contrat, ou résultant des tarifs qui y sont mentionnés ou référencés. Modification tarifaire : Valtech Training s octroie le droit d appliquer une modification de tarif après en avoir informé le commanditaire par écrit au moins un mois avant la date de mise en application. Les tarifs seront modifiés de bonne foi. Règlement : le délai de règlement est de 30 jours date facture pour 100 % du montant de la facture. Les règlements peuvent être effectués soit par chèque, envoyé à Valtech Training service comptabilité clients, soit par virement sur notre compte bancaire (références bancaires indiquées sur nos factures). Date de facturation : pour les animations de sessions, la facturation intervient à l issue de chaque session de formation. Pour le développement de support de cours ou tout autre service, sauf accord contraire des parties exprimé au Contrat, le Commanditaire sera facturé mensuellement au prorata du temps passé. Facturation des frais : le Commanditaire sera également facturé pour les frais courants exposés pour les besoins du développement du support de cours, la réalisation du service ou l animation de session intraentreprise sur site au delà de 50 km d une agence Valtech Training, ainsi que pour tous les frais exceptionnels qui auraient été engagés à la demande écrite du Commanditaire ou avec son accord écrit. Les types de frais courants à rembourser par le Commanditaire comprennent notamment les frais de déplacement, de nourriture et d hébergement. Modalités de paiement : la fourniture des Services au Commanditaire est subordonnée à tout moment au paiement par celui-ci du prix applicable à ces Services. En cas de désaccord sur une partie d une facture, le Commanditaire s oblige à payer sans retard (cf. paragraphe 1.3) la partie non contestée. Aucune compensation entre des sommes dues par Valtech Training au Commanditaire ne pourra être effectuée sans l accord préalable de Valtech Training. Retard de paiement : toute somme non réglée à cette échéance donnera lieu de plein droit à l application, par mois de retard et jusqu à complet paiement, d un intérêt de retard égal à 1,5 fois le taux de l intérêt légal en vigueur calculé sur une base mensuelle. En outre, en cas de non-paiement à l échéance convenue, Valtech Training se réserve le droit de suspendre immédiatement l exécution des Services et, le cas échéant, de résilier le Contrat en application de l article 2 ci-après, sans préjudice de tous dommages et intérêts. Taxes : sauf mention contraire au Contrat, tout prix indiqué s entend hors taxes, toute taxe éventuellement applicable étant payable en sus par le Commanditaire. Financement OPCA Numéro d agrément : Valtech Training est référencé en tant qu organisme de formation sous le n 119 214 294 92. Subrogation : pour le règlement d une formation, le Client peut être subrogé par un organisme paritaire. L accord de prise en charge émis par un OPCA doit parvenir à Valtech Training avant le début de la formation. En cas de rejet du dossier par l organisme paritaire, le client s engage à émettre un bon de commande de régularisation. Résiliation et annulation Sessions de formation Annulation ou report des sessions de formation par le Commanditaire : En cas d annulation ou de report d inscription par le Commanditaire, des indemnités compensatrices sont dues dans les conditions suivantes : annulation ou report intervenant au moins 10 jours ouvrés avant le début de la formation : aucune indemnité ; annulation ou report intervenant entre 6 et 10 jours ouvrés avant le début de la formation : facturation d une indemnité d annulation ou de report égale à 50% du montant de l inscription ; annulation ou report à moins de 6 jours ouvrés avant le début de la formation : facturation d une indemnité d annulation ou de report égale à 100% du montant de l inscription.toute session commencée est due en totalité. Toute session à laquelle le participant ne se sera pas présenté est due en totalité. Annulation des sessions de formation par Valtech Training : Valtech Training se réserve la possibilité d annuler une formation jusqu à 10 jours ouvrés avant la date prévue si celle-ci n aura pas totalisé un nombre de participants suffisant pour assurer le bon déroulement de la session, et ce sans indemnités. Développement de support de cours et autres services Le Commanditaire peut résilier le Contrat à tout moment pour des raisons de convenance propre, sous réserve d un préavis de trente (30) jours signifié par écrit à Valtech Training par le signataire de l accord. Dans ce cas, le Commanditaire paiera à Valtech Training les sommes correspondant aux prestations effectuées jusqu à la date effective de résiliation, ainsi que tous frais engagés à titre définitif par Valtech Training à cette date. En outre, chacune des parties devra retourner à l autre tout élément appartenant à celle-ci. Résiliation pour manquement : sans préjudice de tous dommages et intérêts, dans le cas où l une des parties commettrait un manquement à ses obligations contractuelles, l autre partie pourra résilier ce Contrat par lettre recommandée avec accusé de réception adressée à la partie défaillante, si celle-ci n a pas remédié à ce manquement dans les dix (10) jours suivant la réception par la partie défaillante d une demande écrite de l autre partie lui demandant d y remédier. Acceptation d une commande Confirmation des commandes des sessions de formation par Valtech Training : les inscriptions sont acceptées dans la limite des places disponibles. Elles ne sont définitives que lorsqu elles ont été acceptées par Valtech Training. Dans le cas où une session serait déjà complète au moment de la réception d une ou plusieurs inscriptions, Valtech Training s engage à informer le Commanditaire dans les plus brefs délais et à lui proposer une nouvelle date dans le calendrier des cours. Confirmation des commandes de développement de support de cours et autres services par Valtech Training : le contrat entre en vigueur à la date de sa signature par un représentant dûment habilité de Valtech Training et expirera à la date effective de livraison du support de cours ou de la prestation de service. Obligations du Commanditaire Coopération : le Commanditaire est parfaitement conscient de ce que les prestations de Services nécessitent une collaboration active et régulière de sa part et s y engage. Le Commanditaire fournira toutes les informations nécessaires et mobilisera toutes les ressources humaines et matérielles requises pour permettre à Valtech Training de fournir les Services dans des conditions optimales. Pour les prestations de développement de support de cours, de services comme pour la mise en place d un cursus de formation, des réunions concernant le suivi du projet auront lieu selon les conditions stipulées au Contrat. Valtech Training précise qu elle mène une mission de formation en informatique et non d organisation, et elle attire l attention du Commanditaire sur l importance de ses choix d organisation, dont il assume seul la responsabilité, et leurs effets induits sur les Services. Si au cours des prestations de Services une difficulté apparaît, la collaboration nécessaire des parties les engage à s en informer le plus vite possible et à se concerter pour mettre en place la meilleure solution possible dans les meilleurs délais. Contact(s) autorisé(s) chez le Commanditaire : le Commanditaire mettra à la disposition de Valtech Training au moins un (1) membre de son personnel désigné dans le Contrat (le(s) "Contact(s) autorisé(s)"), qui aura les compétences techniques et les pouvoirs nécessaires afin d agir au nom du Commanditaire, fournira les informations et les données nécessaires relatives aux activités du Commanditaire, informera Valtech Training des demandes du Commanditaire et donnera l accès aux locaux et aux équipements du Commanditaire pendant toute la durée d exécution des Services. Propriété intellectuelle Droits de propriété : sauf dispositions contraires, Valtech Training demeure titulaire exclusif des droits de propriété intellectuelle relatifs à tout élément fourni par Valtech Training en application du Contrat. Le Commanditaire s engage à prendre les mesures nécessaires afin de protéger tout logiciel, fichier, exercice, documentation et contenu de support de cours développés en application du Contrat, ainsi que leur documentation, contre toute utilisation, reproduction ou diffusion non autorisées. Copies et adaptations : sauf accord écrit de Valtech Training, le Commanditaire ne peut réaliser ou permettre la réalisation de copies, de modifications ou d adaptations des supports de cours et des fichiers associés fournis par Valtech Training. Restrictions d utilisation : sauf autorisation expresse de Valtech Training, le Commanditaire s engage à ne pas prêter, donner en location, concéder en sous-licence, diffuser, distribuer, céder, reproduire, représenter, modifier ou mettre à disposition en temps partagé, un quelconque support de cours et ses éléments associés fourni par Valtech Training dans le cadre du Contrat, ni aucune documentation y afférant. Exécution des Services Obligation de moyens : pour la fourniture des Services, Valtech Training sera tenue à une simple obligation de moyens et non de résultat, quel que soit le niveau de complexité de ces Services. Valtech Training garantit que les Services seront fournis dans le respect des règles de l art, compte tenu des informations que le Commanditaire aura communiquées à Valtech Training. Réclamation et limites : dans le cas où le Commanditaire estimerait que les Services n ont pas été exécutés dans le respect des règles de l art, il en avisera, dans un délai de dix (10) jours à compter de la date effective d achèvement des Services, Valtech Training par écrit, en précisant de manière complète et détaillée les défauts constatés dans la fourniture des Services. Il est toutefois précisé que Valtech Training ne saurait être tenu des défauts d exécution ayant leur cause ou leur origine dans un dysfonctionnement d un matériel non fourni par Valtech Training, par un logiciel non développé par Valtech Training, par l utilisation ou la fourniture par le Commanditaire ou un tiers d informations erronées ou de procédures incorrectes, ou par des défauts échappant au contrôle de Valtech Training. Action corrective : Valtech Training s efforcera de remédier à ces défauts dans des délais raisonnables compte tenu des circonstances. Dans le cas où le Commanditaire aurait été orienté vers une formation inadaptée à ses besoins, Valtech Training s engage à le réinscrire dans un autre cursus et à créditer le Commanditaire du montant de la formation précédente. Dans le cas où le Commanditaire justifierait qu une des formations de Valtech Training n a pas répondu aux objectifs s fixés, Valtech Training s engage à rembourser le Commanditaire ou à proposer gratuitement un nouveau suivi de cette formation avec un autre instructeur. Responsabilité Préjudices directs : en cas de dommages corporels dont la responsabilité incombe exclusivement à Valtech Training, Valtech Training sera tenue d indemniser intégralement et sans limitation les préjudices directs. Dans tous les autres cas la responsabilité de Valtech Training à raison des préjudices directs liés à la fourniture ou au défaut de fourniture des Services ou d autres éléments en application du Contrat, sera limitée au prix payé par le Commanditaire pour les Services en application du Contrat. Obligation de confidentialité : les collaborateurs ou personnes mandatées par Valtech Training appelés à exécuter le Service sont tenus à une obligation de confidentialité à l égard de tous faits, informations ou documents dont ils auront eu connaissance lors de l exécution de la prestation. Le Commanditaire ainsi que Valtech Training prendront raisonnablement toutes les mesures de sécurité afin de garantir la confidentialité des informations recueillies et utilisées dans le cadre de l accord. Cette obligation de confidentialité demeurera en vigueur pendant une période de un (1) an après la fin du Contrat pour quelque cause que ce soit. Indemnisation en cas d intervention sur site Indemnisation du Commanditaire : si des Services sur site sont fournis en application du Contrat, Valtech Training s engage à indemniser le Commanditaire des dommages-intérêts et frais qu il serait condamné à payer dans le cadre d une action intentée contre lui, à raison des préjudices directs corporels aux personnes ou des préjudices directs matériels aux biens causés par une faute de Valtech Training ou de ses employés, agents, préposés ou sous-traitants, à l occasion de la fourniture des Services dans les locaux du Commanditaire. Cette obligation d indemnisation sera réduite à due proportion des actes ou omissions du Commanditaire, de ses employés ou agents, ayant contribué à de tels préjudices. Les dommages causés aux fichiers, données ou autres informations, ainsi que leur perte, ne constituent pas des "préjudices aux biens" au sens du présent article. Indemnisation de Valtech Training : le Commanditaire s engage à respecter et faire respecter les dispositions légales en matière d hygiène et de sécurité, dans ses locaux, lorsque les employés de Valtech Training ou ses sous-traitants s y trouvent. Le Commanditaire indemnisera Valtech Training de tout préjudice direct subi par Valtech Training ou ses employés, agents, préposés ou sous-traitants, ainsi que de tous dommagesintérêts et frais payés à ce titre par Valtech Training, à raison d une faute du Commanditaire ou de ses employés, agents, préposés ou sous-traitants. Non sollicitation de personnel Sauf autorisation écrite de Valtech Training, le Commanditaire s engage, pour lui-même et pour le compte de ses Filiales, à ne pas débaucher ou tenter de débaucher un employé de Valtech Training qui aurait été affecté à l exécution du Contrat. Cette interdiction s applique pendant toute la durée du Contrat et pendant une période d une durée de une (1) année à compter de la cessation du Contrat pour quelque cause que ce soit. En cas d infraction à la présente interdiction, le Commanditaire sera tenu de payer à Valtech Training, à titre de clause pénale, une indemnité forfaitaire d un montant égal à 12 mois du dernier salaire brut mensuel de la personne sollicitée ou embauchée, majorée de tous les frais de recrutement d un remplaçant. CNIL données personnelles Conformément à l article 27 de la loi "Informatiques et Libertés" du 6 janvier 1978, les informations qui vous sont demandées sont nécessaires au traitement de votre inscription et sont destinées aux services de Valtech Training. Conformément à la loi n 78-17 du 6 janvier 1978, vous disposez du droit de vous opposer au traitement par Valtech Training des données à caractère personnel vous concernant. Vous disposez également d un droit d accès, de rectification et de suppression de vos données à caractère personnel. Vous pouvez exercer chacun de ces droits à tout moment : - soit en ligne, en adressant un e-mail à l adresse électronique suivante : marketing@valtech-training.fr - soit par téléphone au + 33 (0)1 76 21 15 00. Publicité ValtechTraining pourra citer le Commanditaire à titre de référence uniquement. Dans le cas où Valtech Training souhaiterait détailler le contenu du Service délivré, celui-ci devra obtenir l autorisation écrite du Commanditaire. Dispositions générales Droit applicable et juridiction compétente : le Contrat est régi par le droit français. En cas de litige les parties s engagent en tout premier lieu à rechercher une solution amiable. Si une telle solution ne peut aboutir, le différend sera de la compétence exclusive du tribunal de commerce de Nanterre. Force majeure : aucune des parties ne peut être tenue responsable à l égard de l autre, à raison de retards ou de manquements qui seraient dus à la force majeure ou à un cas fortuit ; de façon expresse, sont considérés comme cas de force majeure ou cas fortuits, ceux habituellement retenus par la jurisprudence des cours et tribunaux français. Renonciations : le fait pour une partie de renoncer à invoquer un droit ne peut être interprété comme valant renonciation à se prévaloir ultérieurement de ce droit. Intégralité du contrat : le Contrat constitue l intégralité de l accord passé entre le Commanditaire et Valtech Training pour l objet des présentes. Il annule et remplace tous les accords antérieurs, écrits ou verbaux, conclus entre les parties et relatifs au même objet. Modification du Contrat : sauf dispositions contraires, le Contrat ne pourra être modifié que par un document écrit signé par les représentants dûment autorisés du Commanditaire et de Valtech Training. En particulier, le Commanditaire reconnaît que les termes du Contrat ne seront pas modifiés ou complétés par des dispositions contenues ou référencées dans tout bon de commande ou autre document émanant du Commanditaire. Sauf disposition expresse contraire énoncée aux présentes, les présentes Conditions Générales de Vente prévalent sur toute stipulation contradictoire contenue ou référencée dans tout autre document constitutif du Contrat ou relatif à celui-ci. Cession : le Contrat ne peut être cédé par le Commanditaire sans l accord préalable écrit de Valtech Training. Néanmoins, Valtech Training ne pourra, sans juste motif, refuser son consentement préalable écrit à une cession du Contrat à une Filiale du Commanditaire. Toute tentative de cession du Contrat sans l accord préalable écrit de Valtech Training sera nulle et de nul effet. Sous-traitance : le Commanditaire autorise Valtech Training à sous-traiter à tout tiers de son choix, l exécution de tout ou partie des Services. Dans ce cas, Valtech Training demeurera responsable à l égard du Commanditaire de l exécution des Services en vertu du Contrat. Tierces personnes : le Commanditaire se porte garant des éventuelles tierces personnes qui seraient impliquées dans le cadre de l accord et assume la responsabilité de leurs actes. Le Commanditaire ne s adressera jamais directement aux Collaborateurs de Valtech Training. Indépendance des clauses : si l une des dispositions des présentes ou du Contrat est considérée comme nulle ou inopposable par une juridiction compétente, cela n affectera en rien la validité ou l opposabilité de ses autres dispositions. s sociales Valtech Training SIREN Valtech Training : 443 533 070 SIRET Paris : 443 533 070 000 35 SIRET Toulouse : 443 533 070 000 27 RCS : Nanterre B 443 533 070 NAF : 8559A (Formation continue d adultes) N d organisme de formation : 119 214 294 92 TVA intracommunautaire : FR 73 443 533 070 Le groupe Valtech Valtech Training en quelques mots Formation sur mesure Coaching Informations pratiques Bulletin d inscription