Formations 2016 sommaire digital MAD REGO BIG architecture Marketing digital : stratégies, enjeux, outils TIWEB Les critères ergonomiques : une méthodologie simple et efficace ARGI Développez votre business grâce au Big Data ALI JEA agilité METAGIL Méthodes 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 PIL SENSI-AGILE AUX PSM PSPO Introduction aux architectures et technologies du Web Architecture Agile des Systèmes d’Information Architecture logicielle Architecture d’entreprise Java EE URBA Approche agile de l’architecture et de l’urbanisation des systèmes d’information SUMO Modélisation fonctionnelle d’une architecture orientée service (SOA) analyse et conception Management agile AREQ Facilitation Scrum et jeux agiles Sensibilisation à la mise à l’échelle de l’agilité ADP Pratique d’analyse pour une meilleure compréhension des besoins logiciel Concevoir avec les Design Patterns Intégrer l’expérience utilisateur agile dans vos projets (Agile UX) Préparation à la Certification Scrum Master java et c++ Préparation à la Certification Scrum Product Owner TDR Acceptance Test Driven Development ou la gestion des exigences dirigée par les tests TDD Test Driven Development ou le développement piloté par les tests USIL Usine logicielle Java DPA Agile Product Development DEVO NOUVEAUTÉS JOD Java et la conception objet IJOP Programmation intensive avec Java / Java EE XJAVA Extrême Java ECOD L’essentiel de C++ et la conception objet PREFC DevOps, pour délivrer en continu Programmation efficace et avancée en C++ 1 LE GROUPE VALTECH & VALTECH TRAINING FORMATION SUR MESURE COACHING INFORMATIONS PRATIQUES BULLETIN D’INSCRIPTION NOUVEAUTÉS java ee et frameworks SPRI PERIB EVI mobile Développement avec le Framework Spring MOBI Gestion de la persistance avec JPA et Hibernate IOC Introduction aux objets connectés Développer une application avec Java EE 6 IPO Développement d’une application sur iPhone et iPad GAD web HWEB MIKA TWIN Développement client avec JavaScript et Ajax JAJA Développement JavaScript avancé CSS3 Approche et mise en pratique du CSS3, pour la conception d’interfaces web STAX ANGULAR NODE D3JS WEHA Développer avec Google Android Développer une application Web pour iPhone, iPad et Android Développer une application universelle Windows 10 Développement de pages Web avec HTML et CSS JASI HIT Introduction à la mobilité Développer avec HTML5 et CSS3 Développer une application Web Full JavaScript big data TINOS Introduction aux bases de données NoSQL HADOOPA Analyse de données avec l’environnement Hadoop Hortonworks HADOOPADM Gestion des opérations avec la plateforme Développer une single page application avec AngularJS de données Hortonworks Développement Web avec Node.js NEO Développement d’applications avec Neo4j D3JS Hacking des applications Web .net C#OD C# et la conception objet INXS Programmation intensive avec le Framework .Net ICOP Programmation extrême en C# ASM Développement d’applications Web avec ASP.NET MVC 5 WPF Développer une application WPF en utilisant MVVM UNET UNITY 3D Usine logicielle .Net Développement d’application avec Unity 3D 2 LE GROUPE VALTECH & VALTECH TRAINING FORMATION SUR MESURE COACHING INFORMATIONS PRATIQUES BULLETIN D’INSCRIPTION Calendrier des formations 2016 RÉFÉRENCE INTITULÉ DU COURS NOUVEAUTÉS DURÉE (JOURS) PRIX (€ HT) JAN FÉV MAR AVR MAI JUIN PARIS TOULOUSE CLERMONT-FERRAND JUIL AOÛT SEPT OCT NOV DÉC ////////////////////// digital //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// MAD Marketing digital : stratégies, enjeux, outils 2 1 500 REGO Les critères ergonomiques : une méthodologie simple et efficace 2 1 500 BIG Développez votre business grâce au Big Data 1 800 02 02 25 26 29 01 24 09 ////////////////////// agilité ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 05 02 14 METAGIL Méthodes agiles de développement logiciel 1 800 SPP Scrum pour gérer vos projets agiles 3 1 700 SPO Devenir Scrum Product Owner 2 1 545 25 19 LSD Mettre en oeuvre le Lean Software Development 3 1 700 13 26 BAN Améliorer son cycle de développement avec le système Kanban 1 800 MAGI Management agile 2 1 545 PIL Facilitation Scrum et jeux agiles 2 1 545 2 1 545 2 1 545 2 1 490 SENSI-AGILE AUX PSM Sensibilisation à la mise à l’échelle de l’agilité Intégrer l’expérience utilisateur agile dans vos projets (Agile UX) Préparation à la Certification Scrum Master 25 21 08 03 15 21 22 29 10 12 14 12 08 07 02 29 14 27 29 31 2 1 490 2 1 545 TDD Test Driven Development ou le développement piloté par les tests 3 1 700 15, 02 USIL Usine logicielle Java 3 1 700 14 DPA Agile Product Development 2 1 545 DEVO DevOps, pour délivrer en continu 2 1 545 16 15 30 29 12 16 12 05, 12 13 01 07 06 01 20 30 04 15 19 13 04 10 15 14 07 18 17 Préparation à la Certification Scrum Product Owner Acceptance Test Driven Development ou la gestion des exigences dirigée par les tests 05 16, 23 14 12 TDR PSPO 25 28 03 20 17 27 15 01 06 ////////////////////// architecture //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// TIWEB Introduction aux architectures et technologies du Web 1 ARGI Introduction à l’Architecture Agile des Systèmes d’Information 1 800 ALI Architecture logicielle 5 2 600 JEA Architecture d’entreprise Java EE 4 1 950 URBA Approche agile de l’architecture et de l’urbanisation des systèmes d’information 2 1 545 SUMO Modélisation fonctionnelle d’une architecture orientée service (SOA) 3 1 700 ////////////////////// analyse 14 18 18 15 27 07 09 14 06 19, 12 21 14 04 05 12 23 20 11 14 et conception ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// AREQ Pratique d’analyse pour une meilleure compréhension des besoins logiciel 3 1 876 ADP Concevoir avec les Design Patterns 5 2 488 ////////////////////// java 01 800 et c++ 03 18, 11 01 07 02 04 01 23 28, 07 04 28 26, 12 07 05, 12 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// JOD Java et la conception objet 5 2 225 18 15 IJOP Programmation intensive avec Java / Java EE 5 2 225 25 08 XJAVA Extrême Java 4 2 184 11 ECOD L’essentiel de C++ et la conception objet 5 2 225 PREFC Programmation efficace et avancée en C++ 5 2 488 07 09 04 01 13, 20 09 14 07 18 12, 19 18, 06 26 23 29 09 22 20 04 21 10 03 19 26 12 12 22 10 21 05 NOUVEAUTÉS RÉFÉRENCE INTITULÉ DU COURS ////////////////////// java DURÉE (JOURS) PRIX (€ HT) JAN FÉV MAR AVR MAI JUIN PARIS TOULOUSE CLERMONT-FERRAND JUIL AOÛT SEPT OCT NOV DÉC ee et frameworks ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// SPRI Développement avec le Framework Spring 3 1 500 PERIB Gestion de la persistance avec JPA et Hibernate 3 1 500 EVI Développer une application avec Java EE 6 4 2 124 22 07 13 14 27 12 ////////////////////// web //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// HWEB Développement de pages Web avec HTML et CSS 2 1 160 04 30 28 JASI Développement client avec JavaScript et Ajax 3 1 500 13 21 15 29 19 07 JAJA Développement JavaScript avancé 2 1 160 21 02 30 13 03 CSS3 Approche et mise en pratique du CSS3, pour la conception d’interfaces web 3 1 500 01 HIT Développer avec HTML5 et CSS3 3 1 500 09 STAX Développer une application Web Full JavaScript 4 1 700 ANGULAR Développer une single page application avec AngularJS 4 1 700 NODE Développement Web avec Node.js 3 1 500 D3JS D3JS 3 1 545 30 WEHA Hacking des applications Web 1 800 21 01 09 05 29, 15 28 26 01 21 01 14 05 03 07 11 13 17 07 22 23 06 26 17 09 02 22 21 26 14 27 25 19 28 11 15 21 25 ////////////////////// .net ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 11 C#OD C# et la conception objet 5 2 225 ICOP Programmation intensive avec le Framework .Net 5 2 225 INXS Programmation extrême en C# 3 1 638 ASM Développement d’applications Web avec ASP.NET MVC 5 5 2 225 WPF Développer une application WPF en utilisant MVVM 4 2 184 22 UNET Usine logicielle .Net 3 1 638 08 4 2 184 UNITY 3D Développement d’application avec Unity 3D 15 13 07 21, 29 14 10 20 22 19 29 12 04, 11 04 06 17 28 04 21 26 14 05 12 28, 29 18 12 03 02 18 24 ////////////////////// mobile /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// MOBI Introduction à la mobilité 1 IOC Introduction aux objets connectés 1 800 IPO Développement d’une application sur iPhone et iPad 5 2 225 GAD Développer avec Google Android 4 1 950 MIKA Développer une application Web pour iPhone, iPad et Android 4 1 950 26 5 2 225 25, 11 TWIN Développer une application universelle Windows 10 ////////////////////// big TINOS HADOOPA HADOOPADM DATASCIENCE NEO 18 17 05 04 03, 10 23, 30 15 14 20, 06 19 10 19 11 27 10 05 17 800 11 01 04 15 06 17 11 28 29 27 09 12, 09 12 19 data ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 1 800 02 Analyse de données avec l’environnement Hadoop Hortonworks 4 2 520 08 07, 14 11 Gestion des opérations avec la plateforme de données Hortonworks 4 2 520 18 22 01 25 Hadoop Data Science 3 2 160 11 08 09 2 1 500 Introduction aux bases de données NoSQL Développement d’applications avec Neo4j 08 17 28 17 17 06, 13 11 22 07 10 19 19, 26 10 07 12, 05 10 23 27 25 05 18 13 11 21, 27 28 29 28, 24 23 21 12 Méthodes agiles de gestion de projet Dispositif analytics/big data Service design thinking Développement mobile Développement et optimisation de plateformes digitales Développement d’application Marketing digital Développement web Déploiement projet en mode agile Conseil stratégique en transformation digitale Le groupe Valtech Implantations France Royaume-Uni Allemagne Suède Danemark Etats-Unis Chiffre d’affaire 2015 Inde Australie Singapoure Suisse Canada 154,3 M Effectifs 1 800 pers Valtech training Le spécialiste de la formation aux techniques innovantes de développement logiciel et pionnier du marketing digital Animations à Paris, Toulouse ou sur site Un catalogue spécialisé adaptable à votre besoin Une démarche pédagogique adaptée à l’apprentissage Des niveaux pour tout profil : séminaires, états de l’art,architecture, cours de 1er niveau, formations avancées Personnes formées Une équipe dédiée à votre service 97 % 5 000 Recommandations 3 LE GROUPE VALTECH & VALTECH TRAINING FORMATION SUR MESURE COACHING INFORMATIONS PRATIQUES BULLETIN D’INSCRIPTION Solutions de financement QUI EST À L’INITIATIVE DE LA FORMATION ? OBJECTIF L'entreprise Le salarié La profession libérale Le demandeur d’emploi Faire évoluer les compétences des salariés Augmenter son employabilité Etre acteur de son évolution professionnelle Développer ses compétences Favoriser le maintien dans l’emploi des salariés en CDI relevant de catégories prioritaires L’ACTION Plan de formation de l’entreprise Droit individuel à la formation (DIF) (3) Subrogation (1) Financement par les aides publiques Le financement est assuré par l’entreprise et la subrogation (1) est possible. Le financement est assuré par l’entreprise. Valtech Training propose des tarifs spéciaux pour les indépendants et les professions libérales. Valtech Training propose des tarifs spéciaux pour les demandeurs d’emploi. Toutes nos formations Toutes nos formations peuvent peuvent être suivies dans faire l’objet d’une prise en le cadre du DIF. charge par un OPCA. C’est d’ailleurs à cet effet que sont indiquées les durées de Période de chaque cours en heures. (2) La formation peut également être financée par l’OPCA PL ou le FIF PL par exemple. Professionnalisation 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 financement est assuré par l’entreprise et la subrogation(1) est possible. (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. Dans chacun de ces cas, contactez-nous : 01 76 21 15 00 Valtech Training propose des cursus adaptés aux périodes de professionnalisation. [email protected] www.valtech-training.fr 4 LE GROUPE VALTECH & VALTECH TRAINING FORMATION SUR MESURE COACHING INFORMATIONS PRATIQUES BULLETIN D’INSCRIPTION Comment commander ? 1 2 3 4 5 Sélection de votre formation Réservation Commande Convocations Facturation 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. Les capacités de nos salles varient de 8 à 14 places. La convocation à la formation est transmise deux semaines avant le début de la session. La facture est envoyée dans les jours qui suivent la formation. Par mot-clé : Si votre demande porte plus précisément sur une technique ou une technologie, nous vous suggérons de vous rendre au glossaire qui permet de retrouver un cours à partir d’un mot-clé. 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. Avant toute commande, nous vous recommandons donc de valider auprès de notre équipe la disponibilité des places sur la session. Contact direct : Bien sûr, vous pouvez nous poser directement votre question par téléphone ou par e-mail (voir coordonnées). En cas de l’accord de prise en charge émis par l’organisme paritaire doit nous parvenir avant le début de la formation. 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… 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. Elle est accompagnée de la feuille de présence signée par le participant et d’une attestation de stage. Astuces 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. Afin de valider vos pré-requis, rendez-vous sur notre site pour passer des tests en ligne. Vous pouvez aussi prendre contact avec notre équipe commerciale qui vous mettra en relation avec un consultant - formateur. 5 LE GROUPE VALTECH & VALTECH TRAINING FORMATION SUR MESURE COACHING INFORMATIONS PRATIQUES BULLETIN D’INSCRIPTION Votre formation sur mesure Analyse des besoins Validation du niveau des participants Élaboration de cursus Modules standards La richesse de l’offre présente dans ce catalogue suffit à répondre à la plupart des demandes mais 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. Adaptation technique et métier de l’offre existante Développement de modules ou de cours spécifiques Actions correctives sur les supports, la démarche, les objectifs Validation des connaissances acquises Animation pilote Généralisation des formations à toutes les équipes Accompagnement des équipes sur le projet Évaluation de l’atteinte des objectifs Bien évidemment, ces projets de transfert de compétences nécessitent une validation pédagogique et technique préalable ainsi qu’une forte implication réciproque. Validation du niveau de chaque participant Constitution des groupes de niveaux Conseil Endradement Développement conjoint Animation Validation des connaissances acquises 6 LE GROUPE VALTECH & VALTECH TRAINING FORMATION SUR MESURE COACHING INFORMATIONS PRATIQUES BULLETIN D’INSCRIPTION Coaching 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é. Valtech Training peut vous accompagner vous aussi À 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…). Transformation agile de l’entreprise Encadrement de développements Java, C#, C++ ou mobiles pour iOS, Android, Windows Phone Assistance au démarrage avec Hibernate, Spring... Aide à la sécurisation d’application Web Conseil digital performance... Erick Bergmann Responsable du programme « Agile Offer Creation » Schneider Electric Contactez-nous Nous avons identifié que la qualité de la formation et du coaching était un facteur déterminant pour assurer une transformation réussie. 01 76 21 15 00 [email protected] www.valtech-training.fr 7 LE GROUPE VALTECH & VALTECH TRAINING FORMATION SUR MESURE COACHING INFORMATIONS PRATIQUES BULLETIN D’INSCRIPTION digital MAD REGO BIG 8 Marketing digital : stratégies, enjeux, outils Les critères ergonomiques : une méthodologie simple et efficace Développez votre business grâce au Big Data # MAD Marketing digital : stratégies, enjeux, outils Durée 2 jours (14 heures) Contenu Audience 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. Vous allez apprendre à : Travaux pratiques : --Optimiser vos canaux d’acquisition 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. --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 9 Responsable marketing ou communication, décideurs du digital Pré-requis Aucun Méthode pédagogique Présentations, discussions et démonstrations Prix interentreprises 1 500 € HT Dates sur Paris FEV 02 JUIN 02 SEPT 26 DEC 15 LE MARCHÉ DU DIGITAL ET SES MUTATIONS - Les grandes évolutions du digital - Des études de cas de la transformation digitale - Les dernières tendances 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 - La nouvelle grille de lecture marketing - Gérer et optimiser ses campagnes de liens sponsorisés PUBLICITÉ ON-LINE - Des études de cas de campagnes d’Adwords - 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 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 # REGO Les critères ergonomiques : une méthodologie simple et efficace 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 ?». Vous allez apprendre à : --Pratiquer et maîtriser les critères ergonomiques --Décider des actions à mener en priorisant les critères --Analyser une interface graphique selon ces critères --Intégrer l’expérience utilisateur dans votre cycle de conception --Effectuer un bilan de votre interface au niveau utilisabilité 10 Durée 2 jours (14 heures) Contenu Audience Développeurs, concepteurs, chefs de projets, architectes, chefs de produits, directeurs marketing Pré-requis Aucun Méthode pédagogique 60% de travaux pratiques Prix interentreprises 1 500 € HT Dates sur Paris JUIN 29 DEC 01 SEPT 26 DEC 15 DÉFINITIONS DE L’ERGONOMIE CRITÈRES E RGONOMIQUES -- Des idées reçues -- Définition de l’utilisabilité -- Qu’est-ce qu’un utilisateur ? -- Les méthodologies en -- Pourquoi des critères ? -- Comment les utiliser ? -- Quand les utiliser dans le cycle de développement ? ergonomie 8 CRITÈRES PRINCIPAUX 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 -- Guidage -- Charge de travail -- Contrôle explicite -- Adaptabilité -- Gestion des erreurs -- Homogénéité -- Signifiance des codes -- Compatibilité -- Sous-critères # BIG Développez votre business grâce au Big Data Durée 1 jour (7 heures) Contenu Audience 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. Vous allez apprendre à : Travaux pratiques : --Définir le Big Data et ses caractéristiques 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. --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 Responsables marketing, responsables CRM, responsables relation client, responsables multicanal, responsables techniques, responsable analytics Pré-requis Connaissance des principes du Web DÉMARCHE D’UN PROJET BIG DATA -- Chiffres clés du marché -- Définition et caractéristiques -- Opportunités du Big Data -- Etapes clés du projet VISION DU MARCHÉ ET CHAMPS D’APPLICATIONS -- Commencer petit et -- Big Bang du Big Data -- Acteurs technologiques -- Open Data -- Tour d’horizon des exemples à l’international Méthode pédagogique Présentation de cas pratiques, discussions Prix interentreprises 800 € HT MARS 25 JUIN 24 DEC 09 Big Data -- Focus sur les méthodes d’innovation voir grand -- Impliquer différentes ressources IMPACTS DU BIG DATA DANS L’ORGANISATION -- Placer la vision User Centric au coeur de l’entreprise ENJEUX ET GISEMENTS DE VALEUR POUR LE MARKETING -- S’appuyer sur de nouvelles -- Représenter sa Data -- Dissoudre les silos Factory -- Appliquer un nouveau mode de pensée Dates sur Paris 11 QU’EST-CE QUE LE BIG DATA ? -- Respecter les données personnelles -- Se doter d’outils d’aide à la décision compétences en interne -- Faire émerger de nouveaux modèles économiques agilité METAGIL 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 PIL SENSI-AGILE AUX PSM PSPO Management agile Facilitation Scrum et jeux agiles Sensibilisation à la mise à l’échelle de l’agilité Intégrer l’expérience utilisateur agile dans vos projets (Agile UX) Préparation à la Certification Scrum Master Préparation à la Certification Scrum Product Owner TDR Acceptance Test Driven Development ou la gestion des exigences dirigée par les tests TDD Test Driven Development ou le développement piloté par les tests USIL Usine logicielle Java DPA Agile Product Development DEVO 12 Méthodes agiles de développement logiciel DevOps, pour délivrer en continu # METAGIL Méthodes agiles de développement logiciel Durée 1 jour (7 heures) Contenu Audience 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 ?». Toute personne impliquée dans les projets informatiques et le développement logiciel --Comprendre les mutations qui s’opèrent sur l’équipe projet et la relation avec le client --Découvrir les valeurs et les principes de la philosophie agile --Découvrir les clefs de la contractualisation agile --Comprendre les concepts liés à l’agilité : adaptation, communication, livraisons incrémentales, tests, gestion des changements, qualité --Présenter des arguments pertinents face aux objections des détracteurs potentiels --Reconnaître les spécificités de chacune des méthodes présentées --Appréhender les impacts organisationnels 13 --Distinguer l’effet médiatique des vrais bénéfices de ces méthodes -- Contexte de l’industrie du -- Risques et freins : objections et logiciel -- Les raisons de l’agilité -- Histoire des méthodes agiles -- L’Agile Alliance Pré-requis Avoir participé à un projet informatique Méthode pédagogique 0 % de travaux 2 pratiques Prix interentreprises Dates sur Paris --Appréhender concrètement les enjeux et les contraintes des projets informatiques d’aujourd’hui LA MISE EN OEUVRE D’UNE MÉTHODE AGILE et le Manifeste Agile 800 € HT Vous allez apprendre à : L’ÉMERGENCE DES MÉTHODES LÉGÈRES FEV 05 MAI 02 OCT 14 VALEURS ET PRINCIPES DES MÉTHODES AGILES 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 -- Les quatre valeurs fondamentales -- Les douze principes généraux -- L’Agile Management : le rôle du chef de projet L’AGILITÉ ET LES SYSTÈMES QUALITÉS -- CMMI, PMI, ITIL -- La planification agile CONTRACTUALISATION DES PROJETS AGILES PANORAMA DES PRINCIPALES MÉTHODES AGILES : CYCLE DE VIE, RÔLES ET MEILLEURES PRATIQUES -- La nouvelle façon de penser les -- Rational Unified Process (RUP) -- Scrum -- eXtreme Programming (XP) -- Lean Software Development -- Positionnement des différentes méthodes -- La miscibilité des méthodes contrats -- Contrats types # SPP Scrum pour gérer vos projets agiles Contenu Durée 3 jours (21 heures) Audience 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. Tous les membres d’une équipe projet Pré-requis Avoir participé à un projet informatique Méthode pédagogique 0% de travaux 4 pratiques Prix interentreprises 1700 € HT Dates sur Paris Vous allez apprendre à : Travaux pratiques : --Comprendre les principes et valeurs de l’agilité 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. --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 14 --Elargir ces pratiques à l’écosystème du projet JAN 25 MARS 21 MAI 25 SEPT 12 NOV 07 Dates sur Toulouse JUIN 22 AOUT 29 OCT 05 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 ESTIMER ET PLANIFIER -- Planifier les Releases et les itérations -- Utiliser les Story Points : le Planning Poker -- Organiser et planifier le travail technique 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 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) GÉRER LES BESOINS -- Agile et développement -- Piloter par la valeur : Lean Design -- Rédiger les besoins : User Story -- Les modèles d’agilité à grande et Epics -- Prioriser, organiser et entretenir le Product Backlog de composants é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 # SPO Devenir Scrum Product Owner Durée 2 jours (14 heures) Contenu Audience 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 oeu vre. 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. Vous allez apprendre à : Travaux pratiques --Comprendre le rôle de Product Owner 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. --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 Maîtrises d’ouvrage, responsables fonctionnels, directeurs de produit Pré-requis Aucun 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 Méthode pédagogique 40% de travaux pratiques Prix interentreprises 1545 € HT Dates sur Paris AVR 25 SEPT 19 DEC 12 -- Cycle de vie de Scrum -- Les principaux artefacts -- Les rôles -- 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 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 15 ESTIMER ET PLANIFIER LES FONCTIONNALITÉS 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 # LSD Mettre en oeuvre le Lean Software Development Durée 3 jours (21 heures) Contenu Audience 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. Vous allez apprendre à : --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 Chefs de projets ou d’équipe, analystes, testeurs, développeurs, responsables d’amélioration des processus, responsables qualité Pré-requis Connaissance des pratiques de développement logiciel Méthode pédagogique 30% de travaux pratiques Prix interentreprises 1700 € HT LES INITIATIVES LEAN LES OUTILS -- Lean Manufacturing (Toyota) -- Lean Thinking -- Lean Entreprise -- Lean Software Development -- Choisir le projet, la cible, les 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 Dates sur Paris AVR 13 SEPT 26 16 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 # BAN Améliorer son cycle de développement avec Kanban Durée 1 jour (7 heures) Contenu Audience 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. Chefs de projets, équipes agiles, développeurs, responsables d’équipes IT Pré-requis 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é. Vous allez apprendre à : Travaux pratiques --Comprendre et expérimenter un système à flux tirés 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. --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 --Rédiger des cas de tests agiles --Participer aux réunions de fin d’itération 17 Aucun ORIGINE DE KANBAN OPTIMISATION DU SYSTÈME -- Kanban dans la vie quotidienne -- Kanban dans le Lean -- Définition des classes de services -- Définition des cadences -- Réunion quotidienne -- Projet multi-équipe -- Amélioration continue et Muda Manufacturing CONCEPTS KANBAN -- Visualisation du flux de travail -- Travail à faire (Work In Progress ou WIP) -- Files d’attentes -- Système tiré par les flux Méthode pédagogique 30% de travaux pratiques Prix interentreprises 800 € HT Dates sur Paris AVR 08 SEPT 16 DEC 05 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 Dates sur Toulouse JUIN 10 SEPT 23 DEC 12 -- Calculer les limites du travail à faire (WIP) KANBAN ET GESTION DU CHANGEMENT -- Identification des changements -- Impact des changements -- Diagramme Cumulative Flow KANBAN ET SCRUM -- Combiner Scrum et Kanban -- ScrumBan # MAGI Management agile Durée 2 jours (14 heures) Contenu Audience 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. Vous allez apprendre à : --Connaître les valeurs, principes et bonnes pratiques de l’agilité --Découvrir des outils efficaces pour le manager agile --Vous positionner en tant que manager par rapport aux équipes agiles --Explorer de nouvelles pratiques de leadership Managers, chefs de projets, directeurs de projets, coachs agiles, consultants Pré-requis Aucun 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, Méthode pédagogique 50% de travaux pratiques Prix interentreprises gestion des conflits -- Pratiques dédiées du manager agile -- Principes d’auto-organisation -- Servant leadership Dates sur Paris CRÉER UNE RELATION DE CONFIANCE ET MOTIVER LES PERSONNES MARS 03 AVR 14 MAI 12 SEPT 08 DEC 01 OCT 13 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é SOUTENIR LES ÉQUIPES AGILES AUTO-ORGANISÉES 1 545 € HT Dates sur Toulouse 18 AGILITÉ -- Valeurs, principes, pratiques -- Confiance, respect et authenticité -- Théories de la motivation et agilité -- Délégation -- Styles de management de pratiques # PIL Facilitation Scrum et jeux agiles Durée 2 jours (14 heures) Contenu Audience 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. Scrum Masters, managers, chefs de projets, consultants Pré-requis Aucun Méthode pédagogique 75% de travaux pratiques Prix interentreprises 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 ?». --Maîtriser les techniques de base du rôle de facilitateur --Faciliter les cérémoniaux Scrum et les rétrospectives de projet 19 Dates sur Paris AVR 07 SEPT 29 Dates sur Toulouse Vous allez apprendre à : --Définir les contours de la facilitation 1 545 € HT --Faciliter des workshops et des sessions de créativité --Faciliter des jeux agiles et innovants MAI 02 NOV 07 QU’EST-CE QUE LA FACILITATION ? FACILITER DES WORKSHOPS ET GROUPES DE TRAVAIL -- Le rôle de facilitateur -- 4 axes de l’activité -- La dynamique divergence - TECHNIQUES DE FACILITATION -- La préparation : 7P, entretiens -- Questionnement -- Paraphrase -- Ecoute active -- Encouragement -- Marqueurs et autres techniques convergence 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 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 -- 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 # SENSI - AGILE Sensibilisation à la mise à l’échelle de l’agilité Durée 2 jours (14 heures) Contenu Audience Vous avez expérimenté ou vous utilisez avec succès les méthodes agiles Scrum, XP et Kanban dans vos projets. Vos équipes auto-organisées livrent des produits de qualité qui apportent, chacun, de la valeur à leur utilisateurs. Mais qu’en est-il lorsque vous devez coordonner plusieurs équipes interdépendantes pour livrer une solution intégrée, cohérente et consistante ? Comment peut-on appliquer à ces programmes les valeurs et principes agiles ? Peut-on aller jusqu’à généraliser l’agilité à la gestion du portefeuille des projets de l’entreprise ? Vous rêvez de voir l’ensemble de l’organisation collaborer à la livraison de valeur à vos clients, depuis les équipes métiers jusqu’aux exploitants, en passant par les architectes. Cette formation vous familiarisera avec divers cadres méthodologiques et organisationnels permettant de « mettre l’agilité à l’échelle ». Vous allez apprendre à : Travaux pratiques : --Pourquoi passer à l’échelle ? La formation se déroulera sous la forme d’ateliers, de travaux pratiques et d’une présentation générale. --Pourquoi Scrum tel que pratiqué dans les équipes ne suffit plus ? --En quoi consiste le passage à l’échelle ? --Les différentes approches possibles, en particulier SAFe, LeSS ou DaD --Comment engager une mise à l’échelle ? Responsable de programmes multi-projets Acteurs d’une transformation Agile : Leaders, managers, consultants et agents du changement Pré-requis Connaissances de base de Agile, Scrum, Lean Méthode pédagogique 50% de travaux pratiques Prix interentreprises 1 545 € HT Dates sur Paris FEV 15 AVR 14 JUIN 27 SEPT 29 DEC 01 Dates sur Toulouse MARS 21 OCT 06 20 JOUR 1 JOUR 2 -- Quelle est votre vision -- Le modèle LeSS -- Autres approches (Spotify, DaD) -- Exemples de chemins de l’agilité ? -- Rappels des principes Lean / agile -- L’agilité à grande échelle (Le framework scrum @ scale) -- Quels sont vos défis dans la mise à l’échelle ? -- Le modèle SAFe -- Organisation d’un ART -- Gestion de portefeuille -- Architecture agile -- Priorisation, Release Planning de transition -- Quelle approche de mise à l’échelle adopter dans votre contexte ? # AUX Intégrer l’expérience utilisateur agile dans vos projets (Agile UX) Durée 2 jours (14 heures) Contenu Audience 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 ?». Vous allez apprendre à : 21 --Appliquer une démarche de conception centrée utilisateur sur l’ensemble du projet agile --Construire la vision du produit en s’appuyant sur une approche « Personas » --Diff user l’expérience utilisateur au sein de l’équipe projet et dans l’organisation --Connaître les principaux standards et recommandations de conception ergonomiques --Intégrer les activités expérience utilisateur, design d’interaction et graphisme dans le cycle de vie agile --Utiliser les outils de prototypage légers --Collaborer efficacement avec les autres acteurs du projet Maîtrises d’ouvrage, chefs de projets, concepteurs et développeurs IHM Pré-requis Aucun Méthode pédagogique 50% de travaux pratiques Prix interentreprises 1 545 € HT POURQUOI L’AGILITÉ ? PERSONAS -- Fondements et valeurs des -- Scrum et le cycle de vie agile -- Définition et bénéfices -- Une construction en 3 temps -- Les fiches Personas QUE RECOUVRE L’EXPÉRIENCE UTILISATEUR ? CONCEPTION CENTRÉE UTILISATEURS EN MODE AGILE -- Définitions et modèles existants -- Activités, acteurs et livrables -- Normes et critères ergonomiques méthodes agiles -- Architecture de l’information : 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 Dates sur Paris AVR 12 OCT 18 de conception VISION DU PRODUIT -- Construire une vision partagée -- Vision Box -- Ateliers vision -- Vision synthétique cinématique, arborescence, Storyboard -- Design d’interface : techniques et outils de prototypage (papier, Axure, Balsamiq...) -- Stratégies de test, techniques d’évaluation # PSM Préparation à la certification Scrum Master Contenu Durée 2 jours (14 heures) Audience Cette formation est bâtie sur une alternance de théorie, d’atelier pratique et d’échange en groupe afin de permettre aux participants d’acquérir progressivement les connaissances relatives au cursus et les voire fonctionner. Futurs Managers Agiles (futurs Scrum Master) Sous cet angle seront traités : Pré-requis - Un rappel sur la philosophie générale du mouvement Agile, - Le positionnement de Scrum au sein du mouvement Agile, - Le framework de Scrum en détail (Rôles, Rituels, Artefacts, Règles,…) au travers d’une « lecture commenté » du Scrum Guide, - Une plongée en profondeur dans le rôle et les responsabilités du Scrum Master, - Le processus de certification et sa préparation, - Un jeu pour apprendre (Serious Game), sera déployé en fin de cursus afin d’ancrer les concepts par la pratique. - Le cours est géré comme un projet agile en tant que tel. Le formateur se sert du management visuel (radiateur d’information : TaskBoard, Blocking Board,…) pour visualiser en continu l’avancement des travaux (Stories, A faire Encours, terminée) --« Identifier la capacité du stagiaire à devenir Manager Agile » --« Manager une nouvelle relation client » --« Approfondir les concepts de Scrum » --« Obtenir la certification rofessional Scrum Master - PSM1 » -- Découverte de ce que dit le Scrum Guide sur les métiers du Scrum-Master et sur ses relations avec les autres rôles et fonctions de l’organisation LE FRAMEWORK SCRUM VU DU SCRUM MASTER Préparation pour l’action -- Mise en place du projet, de l’équipe et du Product Backlog -- Définition du Done et du Ready -- Capture et structuration des exigences, valorisation métier -- Estimation collective Une expérience du management de Projet serait un plus de l’effort -- Affinage du Product Backlog -- Définition stratégie de Release Méthode pédagogique Prix interentreprises 1 490 € HT -- Mise en place du Sprint -- Estimation collective de l’effort et équilibrage du backlog de sprint -- Découpage des exigences en Taches, détermination du Sprint Goal SPRINT -- Mis en oeuvre des radiateurs Dates sur Paris MARS 17 JUIN 16 SEPt 15 DEC 15 STAND UP MEETING -- Rendre compte de l’avancement et déterminer la stratégie pour finir -- Mise à jour des artefacts (ScrumBoard, BurnDown...) -- Mesurer la cohérence la cohérence de groupe (niveau d’entraide, niko-niko...) SPRINT REVIEW -- Logistique et Objectifs de la réunion (Qui, Quoi, Quand ?) -- Présentation des travaux (Sprint Goal, démo, Q/R...) et des indicateurs (BurnUp et vélocité tendancielle...) -- Que faire quand la sprint review est difficile (rien à monter...) SPRINT RETROSPECTIVE -- Logistique et Objectifs de la SPRINT PLANNING MEETING 60% de travaux pratiques Vous allez apprendre à : --« Gérer les relations humaines et les problématiques courantes de la vie d’un Scrum Master » Avoir suivi le module généralité des approches agiles ou posséder une culture Agile et savoir travailler en équipe. VISION « THÉORIQUE » DU RÔLE ET DES DEVOIRS DU SCRUM MASTER d’information (Scrum-Board...) -- Suivi de l’activité et de la qualité réunion (Qui, Quand, Quoi ?) -- Mettre en place un climat propice à l’intropection positive et exhaustive -- Décisions d’amélioration et prise en compte pour la suite du projet RETOUR SUR LA VISION DU RÔLES ET DES DEVOIRS DU MANAGER AGILE -- Actualisation « fiche de poste » -- Les points de vigilance (respect des priorités, du Done...) -- Préparation de la fin de sprint en vue de la review et de la rétrospective COMMENT SE PRÉPARER POUR RÉUSSIR LA CERTIFICATION PSM NIV1 -- Le processus administratif lié à la Scrum.org Dates sur Clermont-Ferrand JAN 14 22 -- Conseils de préparation et « philosophie » du test -- Examen blanc avec correction commentée en groupe # PSPO Professionnal Scrum Product Owner La formation a pour but de plonger en profondeur dans le rôle et les responsabilités du Product Owner. Son processus de certification et sa préparation. Le cours est géré comme un projet agile en tant que tel. Le formateur se sert du management visuel (radiateur d’information : TaskBoard, Blocking Board,…) pour visualiser en continu l’avancement des travaux (Stories, A faire Encours, terminée) Dans cette formation sera traité un rappel sur la philosophie générale du mouvement Agile, le positionnement de Scrum au sein du mouvement Agile. Un rappel sur framework de Scrum (Rôles, Rituels, Artefacts, Règles,…) au travers d’une « lecture commenté » du Scrum Guide, les techniques et outils à mettre en œuvre pour la gestion des exigences, leur priorisation et l’accompagnement à leur réalisation. Vous allez apprendre à : Travaux pratiques : --Identifier le rôle et les fonctions du Product Owner Cette formation est bâtie sur une alternance de théorie, d’atelier pratique et d’échange en groupe afin de permettre aux participants d’acquérir progressivement les connaissances relatives au cursus et les voire fonctionner. Un jeu pour apprendre (Serious Game), sera déployé en fin de cursus afin d’ancrer les concepts par la pratique. --Mesurer l’impact de l’implication et de l’investissement du Product Owner sur le projet --Comprendre comment piloter un projet agile via l’expression et la hiérarchisation des exigences --Manager une nouvelle relation fournisseur --Obtenir la certification Professional Product Owner – PSPO Niv1 Durée 2 jours (14 heures) Audience Cursus obligatoire pour : Responsable Produit, Fonctionnels, MOA souhaitant évoluer vers un rôle de Product Owner Cursus conseillé pour : Futurs Managers Agiles (futurs Scrum Master), responsable qualité/ méthodes Pré-requis Avoir suivi le module généralité des approches agiles ou posséder une culture Agile et savoir travailler en équipe Une expérience de la spécification fonctionnelle serait un plus Méthode pédagogique 60% de travaux pratiques Prix interentreprises 1 490 € HT Dates sur Paris MARS 31 JUIN 30 SEPt 29 DEC 19 23 Contenu VISION « THÉORIQUE » DU RÔLE ET DES DEVOIRS DU PRODUCT OWNER COMMENT SE PRÉPARER POUR RÉUSSIR LA CERTIFICATION PSM NIV1 -- Analyse « Fiche de poste » -- Relation avec le Scrum Master, -- Le processus administratif les développeurs, les parties prenantes au projet,… -- Cumul de fonctions (possibilité et limites des modèles d’organisation) LE FRAMEWORK SCRUM VU DU PRODUCT OWNER (IMPLICATION, LIMITES D’INTERVENTION, TRUCS ET ASTUCES,…) -- Préparation pour l’action -- Backlog Refinement (Grooming) -- Sprint Planning Meeting -- Sprint -- Dailly Scrum (StandUp Meeting) -- Sprint Review -- Sprint Retrospective AU-DELÀ DU MANAGEMENT AGILE -- Garantir le respect des valeurs et des principes Agiles (au sein et aux frontières de l’équipe) -- Supporter l’excellence par l’application de pratiques Agile (BDD, ATDD, Participation active du métier, Pilotage des travaux par la Valeur et le ROI,..) RETOUR SUR LA VISION DU RÔLE ET DES DEVOIRS DU PRODUCT OWNER -- Actualisation « fiche de poste » -- Positionnement raisonné vis-à-vis des autres rôles -- Les points de vigilance lié à la Scrum.org -- Conseils de préparation et « philosophie » du test -- Examen blanc avec correction commentée en groupe SERIOUS GAME (EXEMPLE POUVANT ÊTRE ADAPTÉ SELON LES BESOINS DU GROUPE) -- Organisation des stagiaires en plusieurs groupes par fonction (Product Owner, Scrum Master et Equipe) pour la réalisation en quelques itérations d’un projet de lancement d’une société de service vu sous l’angle particulier de la création de son site Web. -- Sur la base d’un « cahier des charges » présenté par l’animateur, les participants devront mener à bien les phases préparatoires du projet (Préparation de l’action et des deux premiers sprints) : - Expression des besoins sous forme de Users Stories, -Evaluation, Priorisation, définition des stratégies de Sprint et de Release, réalisation des 1er travaux -- La préparation et le déroulement du projet doit viser une application la plus complète possible des concepts Scrum présentés préalablement (Rôles, Rituels, Artefact,…), dans le respect des valeurs et des principes Agiles. -- A la fin du projet une rétrospective organisée pour faire réfléchir les stagiaires sur les points maitrisés ou oubliés et ceux qui pourraient être optimisés # TDR Acceptance Test Driven Development ou la gestion des exigences dirigée par les tests 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é. 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 ?». Vous allez apprendre à : --Spécifier par l’exemple --Apprendre des techniques de formalisation des tests --Découvrir les principes du pilotage par les tests 24 Durée 2 jours (14 heures) Contenu Audience Chefs de projets ou d’équipe, responsables métier, analystes fonctionnels, testeurs, développeurs Pré-requis Connaissance des concepts objets La connaissance d’un langage objet (Java) est un plus RECUEIL DU BESOIN ET GESTION DES TESTS LIENS ENTRE TESTS ET AGILITÉ -- Les techniques de recueil -- Les cycles de développement -- Les méthodes agiles et du besoin -- Le cycle de tests -- Pourquoi aller plus loin ? de son processus par les tests -- Lean et ATTD -- Les grandes étapes -- Les principales techniques -- Les pièges à éviter -- Le Behaviour Driven CHANGEMENTS D’ORGANISATION À PRÉVOIR Development (BDD) OUTILS ET MISE EN OEUVRE du marché -- FitNesse et Robot Framework -- Création des classes de test Prix interentreprises LIENS ENTRE TESTS FONCTIONNELS ET TESTS UNITAIRES -- Qu’est-ce que le Test Driven Development (TDD) ? Dates sur Paris MAI 12 OCT 13 -- Impact sur la conception -- Parallèle avec l’Acceptance Test Driven Development (ATDD) -- Impact sur l’analyse et la gestion de projet --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 -- Quelques critères pour choisir la technique ATDD adaptée -- Quelles modifications par rapport 50% de travaux pratiques 1 545 € HT -- Comment piloter l’ensemble COMMENT FAIRE DE L’ATDD ? -- Tour d’horizon des solutions Méthode pédagogique l’importance des tests à l’existant ? -- Quels rapprochements au sein des équipes ? # TDD Test Driven Development ou le développement piloté par les tests Durée 3 jours (21 heures) Contenu Audience 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 allez apprendre à : Travaux pratiques : --Découvrir les principes fondamentaux et les bonnes pratiques du TDD Vous verrez le TDD à l’oeuvre au travers d’exemples concrets et d’outils disponibles sur la plates-forme Java. 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. --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 25 Développeurs, responsables tests, chefs de projets, responsables qualité Pré-requis LE TEST DANS LE PROCESSUS DE DÉVELOPPEMENT TECHNIQUES POUR ORGANISER LES TESTS DE CODE COMPLEXE -- Processus, qualité, tests -- Types de tests -- Architectures de test -- TDD et eXtreme Programming -- Organisation des classes de test -- Organisation du code de test Pratique de la conception objet Pratique du développement avec Java FRAMEWORKS DE TESTS AUTOMATISÉS Méthode pédagogique -- Le cycle de développement 60% de travaux pratiques -- Les Frameworks de test -- Bonnes pratiques associées aux Frameworks de test PRINCIPES FONDAMENTAUX DU TDD du TDD -- Stratégies de Test First -- Stratégies pour faire passer les tests Prix interentreprises 1 700 € HT Dates sur Paris FEV 15 JUIN 20 OCT 10 ÉCRIRE DU CODE TESTABLE TEST DE CODE HÉRITÉ (LEGACY) -- Qu’est-ce que du code legacy ? -- Cycle d’évolution du code legacy 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 -- Composition plutôt qu’héritage -- Éviter le code statique -- Inverser les dépendances COUVERTURE DES TESTS MOCKS ET DOUBLURES -- Outils de couverture -- Qu’est-ce qu’une doublure -- Types de doublures -- Bibliothèques de Mocks LE REFACTORING EN TDD -- Les axiomes sur la couverture des tests -- Quelques «mauvaises odeurs» -- Techniques de refactoring en TDD # USIL Usine logicielle Java Durée 3 jours (21 heures) Contenu Audience 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 estelle 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 allez apprendre à : Travaux pratiques : --Mettre en place Maven comme outil de construction 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. --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 26 Développeurs Java, chefs de projets, responsables méthodes, responsables des développements Pré-requis Avoir une première expérience en développement de projet informatique (Java) Méthode pédagogique 60% de travaux pratiques Prix interentreprises 1 700 € HT Dates sur Paris FEV 14 JUIN 15 OCT 03 SAVOIR INTÉGRER MAVEN -- Définition de l’intégration continue -- Pré-requis techniques et -- Déclarer sa construction en méthodologiques -- Pratiques connexes utilisant les conventions -- Mutualiser la logique de construction INTÉGRER TOUS LES JOURS NOTIONS AVANCÉES MAVEN -- Bonnes pratiques -- Alertes informatiques et visuelles -- Réagir aux feedbacks -- Pratiques connexes -- Modulariser sa construction avec OUTILS D’INTÉGRATION CONTINUE -- Personnaliser la construction -- Catégories d’outils -- Jenkins, CruiseControl, APPRÉHENDER LES TESTS 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 -- Pré-requis d’une construction automatisable -- Dépendance binaire / dépendance de source -- Maven et ANT, différences et complémentarité -- Ivy, alternative à Maven Maven -- Appréhender la gestion des dépendances -- Plug-ins Maven et enrichissement du cycle de construction -- 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 -- Mave n Repository avec Artifactory -- Gérer les habilitations # DPA Agile Product Development Durée 2 jours (14 heures) Contenu Audience La création de produits et services innovants est une science, permettant de gérer l’incertitude inhérente à la nouveauté, de trouver la meilleure solution: valeur, modèle économique. Cette formation montre une méthode et des outils vous permettant d’itérer en partant de votre idée jusqu’à l’obtention du Product Backlog Initial. Cette méthode a été conçue et est utilisée systématiquement sur le terrain par les consultants Valtech dans le cadre de missions de transformation Agile. Durant cette formation, vous découvrirez d’une part les outils permettant de définir votre vision produit et votre business model, et d’autre part de concevoir votre produit selon une approche centrée utilisateur. Cette conception vous permettra de valider vos hypothèses de création de valeur et votre modèle économique. Vous allez également pratiquer des techniques de facilitation qui vous aideront dans la conduite d’ateliers de conception. Vous allez apprendre à : Travaux pratiques : --Trouver la cause racine du problème/besoin, puis définir la solution Vous serez mis dans la situation d’une équipe qui doit bâtir un produit innovant avec l’ambition de changer le modèle économique proposé. Vous allez construire la vision, proposer un business model, décliner les fonctionnalités proposées sous la forme de User Stories. Certaines User Stories vous seront proposées à l’avance et durant les exercices, vous les améliorerez et même en définirez d’autres. Enfin, vous évaluerez la valeur de ces User Stories de façon quantitative en utilisant un modèle analytique, tout en mettant en œuvre des techniques de facilitation. --Visualiser l’Impact de votre projet --Capturer votre busuness model --Définir de bonnes Users Stories --Trouver le / les chemins qui permettent d’atteindre votre objectif le plus rapidement possible en priorisant correctement votre produit --Activer rapidement la boucle « construire » -> « mesurer » -> « apprendre » en fonction du feedback terrain 27 --Organiser et animer un atelier de lancement de votre produit à l’aide de techniques de facilitation Product Managers, Product Owners, Chefs de Projet, Analystes Fonctionnels, Architectes Fonctionnels Pré-requis Être familier avec les pratiques agiles Méthode pédagogique 50% de travaux pratiques Prix interentreprises 1 545 € HT Dates sur Paris JUIN 20 NOV 17 Dates sur Toulouse MAI 30 DEC 01 VALEUR PRODUIT --C’est quoi la valeur ? --Aperçu de l’agilité CONSTRUIRE LA VISION --Trouver la cause racine : Root Cause Analysis --Visualiser l’impact : COMMENT ORGANISER VOTRE ATELIER DE DÉMARRAGE --Préparation et facilitation DÉFINIR LE PRODUIT --Persona et Scenarios Utilisateur --User Stories --Story Mapping Impact Mapping --Capturer le Business Model : Business Model Canvas PRIORISER ET PLANIFIER --Minimum Viable Product # DEVO DevOps pour délivrer en continu 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 - stabilité contre innovation - afin de réduire les délais entre l’expression du besoin utilisateur et la livraison de l’applicatif correspondant. À l’issue de cette formation, vous détiendrez les clés pour la mise en place d’une démarche DevOps au sein de votre entreprise. Vous allez apprendre à : Travaux pratiques : --Identifier les problèmes liés à la communication inter-équipes Une étude de cas sera utilisée tout au long de la formation pour illustrer les différents aspects de la mise en place d’une démarche DevOps : 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 œuvre d’outils de monitoring. --Éliminer les objectifs d’équipe opposés --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 œuvre un monitoring du comportement de l’application Durée 2 jours (14 heures) Audience Développeurs, administrateurs systèmes, chefs de projets Contenu LA PROBLÉMATIQUE DEVOPS -- Présentation des métiers -- Les divergences entre les deux équipes -- Le déploiement une étape source de conflits Pré-requis Connaissance des commandes de base Linux Méthode pédagogique 50% de travaux pratiques Prix interentreprises 1 545 € HT Dates sur Paris MARS 14 JUIN 27 SEPT 15 Dates sur Toulouse AVR 04 OCT 06 INDUSTRIALISER LES DÉPLOIEMENTS -- Standardisation des livrables -- Mise en oeuvre d’une usine logicielle et de l’intégration continue AUTOMATISER LA MISE EN PLACE DES SOCLES TECHNIQUES -- La définition d’un processus commun et répétable -- Présentation des alternatives (Dockerfile, Puppet, Chef, Ansible, Salt) -- Mise en oeuvre via Docker -- Mise en oeuvre via Ansible au niveau infrastructure AUTOMATISER L’INSTALLATION DE L’APPLICATION -- Standardisation du provisioning -- Présentation des options LES NOUVEAUX PARADIGMES -- Mise en oeuvre via Ansible au (Capistrano, Fabric, Ansible, Salt) -- Les apports des infrastructures Cloud, PasS et IaaS -- Les apports de la virtualisation hardware -- Les nouveaux outils VIRTUALISER LES ENVIRONNEMENTS -- Présentation des différents types de virtualisation niveau applicatif -- Présentation de Liquibase pour la gestion des évolutions de base de données SURVEILLER LE COMPORTEMENT APPLICATIF -- Mise en oeuvre de logs efficaces -- Définition du plan de monitoring -- Mise en oeuvre de Graphite -- Mise en oeuvre de Vagrant pour faciliter la gestion des environnements de test -- Mise en oeuvre de Docker pour faciliter la gestion des socles TRAVAILLER ENSEMBLE -- Les types d’organisations possibles -- Prise en compte des user stories de production -- Organisation de cérémonies communes -- Coopération sur les choix techniques 28 architecture TIWEB ARGI ALI JEA 29 Introduction aux architectures et technologies du Web Architecture Agile des Systèmes d’Information Architecture logicielle Architecture d’entreprise Java EE URBA Approche agile de l’architecture et de l’urbanisation des systèmes d’information SUMO Modélisation fonctionnelle d’une architecture orientée service (SOA) # TIWEB Introduction aux architectures et technologies du Web Durée 1 jour (7 heures) Contenu Audience 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. 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 ?». Développeurs, concepteurs, chefs de projets ou d’équipe souhaitant avoir un aperçu global des nouvelles technologies de développement d’applications Web Pré-requis Aucun Méthode pédagogique Présentations, discussions et démonstrations ARCHITECTURES -- Notions d’architecture -- Les différents points de vue architecturaux -- Architectures métier, fonctionnelle, logique, applicative, système, etc. -- Architecture canonique d’un --Comprendre les différents points de vue architecturaux --Comprendre l’évolution des clients Web dits riches --Reconnaître les principales architectures logicielles --Découvrir XML et identifier sa place dans une application Web --Appréhender le fonctionnement global d’Internet et du Web --Appréhender les notions de Web Services et d’architecture SOA --Repérer les technologies et Frameworks utilisables pour le développement d’applications Web --Appréhender les solutions REST Prix interentreprises 800 € HT Dates sur Paris AVR 01 OCT 14 présentation -- CGI, Servlet, JSP, ASP, PHP, Grails -- Frameworks de développement Web LE NIVEAU APPLICATIF 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 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 -- l’apport d’HTML5 30 -- Architecture de la couche de logiciel (les tiers ou niveaux) -- Le Web, une application Vous allez apprendre à : LES EXTENSIONS DU SERVEUR WEB -- 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 REST ET JSON -- Les usages de JSON -- Architectures RESTFul # ARGI Introduction à l’architecture Agile des Systèmes d’Information Les enjeux stratégiques auxquels les Systèmes d’Information doivent aujourd’hui répondre (mobilité étendue, time-to-market, connaissance accrue du client/ consommateur et de ses usages, personnalisation poussée, accroissement des services en ligne et du cross-canal) font qu’il devient nécessaire de penser autrement la façon de concevoir le SI. En effet, son architecture doit être en capacité d’intégrer aussi rapidement que possible de nouveaux composants qui évoluent et changent sans cesse afin que celle-ci devienne également agile aux changements. À l’issue de cette formation vous disposerez d’un aperçu des pratiques d’architecture qui permettent d’insuffler de l’agilité dans votre Système d’Information. Vous allez apprendre à : Travaux pratiques : --Connaitre les capacités d’un système d’information « agile » Discussion, exemples --Identifier les méta-exigences d’une architecture agile --Identifier les principaux freins à l’agilité des architectures --Connaitre les solutions technologiques du moment --Transformer votre système d’information de façon agile 31 Durée 1 jour (7 heures) Contenu Audience Architecte d’Entreprise, Architecte Logiciel, DSI, Responsable des Études -- Capacité à évoluer en continue, Pré-requis -- Capacité à s’adapter aux Connaissance de base de l’architecture des systèmes d’information et du web Prix interentreprises 800 € HT Dates sur Paris MARS 18 JUIN 27 OCT 14 LES ENJEUX ET LES BESOINS DES SI D’AUJOURD’HUI aux rythmes d’itérations de développement courtes -- Capacité à manipuler des données multiples, hétérogènes et volumineuses variations de charge -- Capacité à résister au morcellement -- Capacité à être accédé par de multiples devices (Omnicanalité) tout en partageant les mêmes données et/ou le même processus -- Capacité à être compris par l’ensemble des acteurs métier et techniques, dans une même vision APPROCHE AGILE POUR LA TRANSFORMATION DU SYSTÈME D’INFORMATION -- Backlog SI -- Jalon à valeur métier -- Orientations cibles -- Trajectoire -- Chantier de réalisation -- Tâches et itération LES MÉTA-EXIGENCES D’UNE ARCHITECTURE AGILE POUR RÉPONDRE AUX BESOINS -- Composants fortement cohérents et faiblement couplés -- Centré sur le métier -- Orienté-services -- Événementiel -- Médiateur -- Construit pour le Cloud -- Langage commun pour les données d’échange -- Protocoles de communication standards et ouverts -- Stockage sans contrainte -- Solutions technologiques # ALI Architecture logicielle Contenu Durée 5 jours (35 heures) Audience 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. Pré-requis 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. Pratique avancée de la conception logicielle Une connaissance de la plate-forme Java EE ou de la plate-forme .Net est souhaitable Vous allez apprendre à : Travaux pratiques : Méthode pédagogique --Définir la notion d’architecture et les points de vue architecturaux 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. --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 32 Architectes logiciels, développeurs expérimentés 30% de travaux pratiques Prix interentreprises 2 520 € HT Dates sur Paris 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é -- 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 STYLES ARCHITECTURAUX -- Définition(s) de la SOA -- ESB -- Architectures RESTFul architectural ? -- Guide de style -- Quelques styles architecturaux -- Qu’est-ce que le Cloud ? -- Google App Engine, -- Qu’est-ce qu’un style MIDDLEWARE REQUÊTE / RÉPONSE -- Corba -- Web Services -- Windows Communication Foundation JAN 26 MARS 30 JUIN 29 SEPT 28 NOV 23 -- Messaging Style -- Publish-Subscribe Style -- Middleware asynchrones Dates sur Toulouse -- Java EE et les EJB FEV 16 MAI 18 SEPT 07 NOV 30 LES ARCHITECTURES MULTI-NIVEAUX STYLES ET MIDDLEWARE ASYNCHRONES ARCHITECTURES BASÉES SUR LES COMPOSANTS -- Exemples : Corba Component Model, Serviced Components ARCHITECTURES À BASE DE PLUG-INS -- Microkernel Style -- OSGi -- Eclipse RCP LE CLOUD COMPUTING 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 # JEA Architecture d’entreprise Java EE Contenu Durée 4 jours (28 heures) Audience 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 plateforme 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-ton conteneurs légers ?». Vous allez apprendre à : Pré-requis La connaissance des concepts orientés objet est un plus ou avoir suivi le cours OOAD --Appréhender la vaste gamme des interfaces de programmation Java --Évaluer l’impact des EJB3 (Enterprise JavaBeans) --Juger des possibilités Web avec Java --Comprendre les services techniques offerts par les serveurs d’applications 10% de travaux pratiques --Découvrir l’évolution du langage Java Prix interentreprises --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 --Identifier les outils les plus utilisés pour le développement Java --Évaluer les diverses techniques de persistance des objets métier --Comprendre le rôle de Java dans les technologies de type Cloud Computing --Intégrer Java aux systèmes existants (SOA) 33 Responsables techniques, architectes, chefs d’équipe et développeurs désirant acquérir une connaissance globale de la plate-forme Java EE Méthode pédagogique 1 950 € HT Dates sur Paris JUIN 14 DEC 12 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 # URBA Approche agile de l’architecture et de l’urbanisation des systèmes d’information 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. Durée 2 jours (14 heures) Audience Directeurs informatique, directeurs technique, architectes, chefs de projets Pré-requis Connaissance des principes de modélisation avec UML Méthode pédagogique Vous allez apprendre à : Travaux pratiques : --Cadrer le périmètre d’une transformation de SI 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. --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 34 Contenu QUE SIGNIFIE « URBANISER UN SI » ? DÉFINIR LES ORIENTATIONS D’ARCHITECTURE CIBLE -- Limite de la métaphore -- Rôle de l’architecte -- Niveaux de description -- Socle de services métier -- Plateforme digitale -- Unification des données métier -- Médiation inter-applicative -- Services d’infrastructure d’architecture -- Démarche cyclique -- La donnée, moteur de la transformation SI -- Portefeuille d’exigences SI -- Élaborer la vision -- Initialiser le portefeuille -- Constitution de chantiers d’exigence (le Product Backlog SI) Prix interentreprises -- Niveau de structuration de d’urbanisme FEV 04 MAI 23 OCT 20 métier -- Arbitrage du portefeuille -- Modélisation des entités métier -- Règles fondamentales Dates sur Paris -- Définition de jalon à valeur CADRER LE PÉRIMÈTRE MÉTIER ET FONCTIONNEL 50% de travaux pratiques 1 545 € HT JALONNER LA TRAJECTOIRE 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é d’exigences 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 # SUMO Modélisation fonctionnelle d’une architecture orientée service (SOA) 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. Contenu Durée 3 jours (21 heures) Audience Maîtrises d’ouvrage, architectes fonctionnels, analystes fonctionnels Travaux pratiques : --Modéliser des architectures de services avec UML 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. --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 -- 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 Pré-requis Connaître les bases de la modélisation orientée objet et d’UML Méthode pédagogique Vous allez apprendre à : INTRODUCTION À L’ARCHITECTURE FONCTIONNELLE 50% de travaux pratiques Prix interentreprises 1 700 € HT 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 ? -- Nécessité du contrat et responsabilités -- Contenu 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 -- 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 Dates sur Paris AVR 11 NOV 14 CONTRAT DE SERVICE 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 : CONSTITUTION DÉMARCHE SOA : SPÉCIFICADES SERVICES MÉTIER TION DES TÂCHES HUMAINES UNITAIRES DANS UN WORKFLOW -- Identification des services -- Modéliser les cas d’utilisation unitaires -- Distinguer les traitements des -- Sources de données / traitements écrans existants -- Spécifier les opérations de base -- Cas particulier : service asynchrone, service événement -- Spécifier les objets d’échange LIENS ENTRE LES CONCEPTS ET LES OUTILS MÉTIER -- Support des concepts -- Briques applicatives : BPMS, MDM, BAM, ESB, ETL, EAI 35 analyse et conception AREQ ADP 36 Pratique d’analyse pour une meilleure compréhension des besoins logiciel Concevoir avec les Design Patterns # ADP Concevoir avec les Design Patterns Durée 5 jours (35 heures) Contenu Audience 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. Développeurs objet, concepteurs, architectes INTRODUCTION À LA CONCEPTION OBJET ET AUX DESIGN PATTERNS -- Processus de développement Pré-requis Connaissances en conception objet Expérience concrète d’un langage de programmation Java 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 37 Vous allez apprendre à : Travaux pratiques : --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 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. 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. Méthode pédagogique 60% de travaux pratiques Prix interentreprises 2 488 € HT Dates sur Paris JAN 18 MARS 07 MAI 23 JUIL 04 SEPT 26 DEC 05 Dates sur Toulouse JAN 11 AVR 04 SEPT 12 DEC 12 -- 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 # AREQ Pratiques d’Analyse pour une meilleure compréhension des besoins logiciels Dans le cadre de la réalisation d’un logiciel, les besoins des différentes partiesprenantes sont souvent différents, les intérêts parfois divergent et les priorités sont toujours élevées. Le recueil et l’analyse efficaces des besoins sont donc fondamentaux car l’origine des défauts de qualité logicielle est à majorité imputable à la mauvaise compréhension des besoins des utilisateurs finaux. Hors, on constate que ses pratiques de base de l’ingénierie sont souvent mal maîtrisées au sein des projets, même si ces derniers sont réalisés selon des méthodes de conduite agiles. À l’issue de ce cours vous pourrez, indépendamment de la méthode de conduite de projet : --traduire les besoins métier en exigences et règles métier ; --formaliser entités et processus satisfaisant ces exigences ; --décrire des scénarios d’utilisation qui permettent d’identifier les fonctionnalités nécessaires. Vous allez apprendre à : Travaux pratiques : --Recueillir efficacement les besoins Cette formation sera soutenue par deux types de travaux pratiques : --Modéliser les entités métier --Définir les processus métiers en relation avec les besoins et les entités métier --Construire un référentiel d’exigences / règles de gestion --Formaliser les scénarios d’usages --Définir une architecture fonctionnelle 38 --Une étude de cas, pour laquelle vous aurez à formaliser et analyser les exigences liées aux besoins, les entités métier, les règles, décrire les scénarios d’usages et identifier les bases de l’architecture fonctionnelle du logiciel. --Des exercices ciblés avec l’objectif de confirmer / affirmer les pratiques enseignées durant le cours. Durée 3 jours (21 heures) Contenu Audience Analystes, Chefs de projets, Maîtres d’ouvrage (MOA), Assistant maîtrise d’ouvrage (AMOA), concepteurs devant participer aux recueils et à l’analyse des besoins, responsables qualités et méthodes, architectes fonctionnels L’EXPRESSION DES BESOINS DANS UN PROJET -- Identifier les acteurs métier et -- Définir la vision -- Clarifier le besoin -- Formaliser les entités métiers -- Représenter un modèle d’entités métier DESCRIPTION DES PROCESSUS MÉTIERS Aucun -- Définir l’outillage Méthode pédagogique LA GESTION D’EXIGENCE et enchainements -- Définir le mot « exigence » et différencier du besoin -- Définir le cycle de vie des exigences 1 876 € HT Dates sur Paris FEV 03 SEPT 28 MAI 02 DEC 07 Dates sur Toulouse MARS 01 SEPT 07 JUIN 01 NOV 28 LES SCÉNARIOS D’USAGES -- Cibler la finalité des scénarios DÉFINITION DU MODÈLE D’ENTITÉ MÉTIER -- Identifier des acteurs, les activités Prix interentreprises associées aux entités métier collecter les besoins Pré-requis 0% de travaux 4 pratiques LES RÈGLES MÉTIER -- Identifier les règles métier d’usage -- Identifier des scénarios d’usage -- Décrire des scénarios d’usages L’ARCHITECTURE FONCTIONNELLE -- Structurer et construire une architecture fonctionnelle Java et C++ JOD Java et la conception objet IJOP Programmation intensive avec Java / Java EE XJAVA Extrême Java ECOD L’essentiel de C++ et la conception objet PREFC 39 Programmation efficace et avancée en C++ # JOD Java et la conception objet Durée 5 jours (35 heures) Contenu Audience 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. Vous allez apprendre à : Travaux pratiques : --Lire et écrire des classes et méthodes Java 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. --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 Développeurs souhaitant passer à Java Pré-requis Maîtrise d’un langage de programmation Méthode pédagogique 5% de travaux 7 pratiques Prix interentreprises 2 225 € HT Dates sur Paris JAN 18 MAR 07 MAI 09 JUIN 13 SEPT 12 NOV 21 CONCEPTS OBJETS CONCEPTION OBJET -- Classe et instance -- Méthode et message -- Polymorphisme -- Encapsulation -- Contenance (Containment) -- Hiérarchies de types et de -- Responsabilités -- Diagrammes de communication -- Patterns -- Diagrammes de classes -- Visibilité 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 -- Méthodes main et points d’entrée DÉVELOPPEMENT ITÉRATIF -- Complexité et décomposition -- Processus itératifs et incrémentaux -- Cycles de développement Dates sur Toulouse FEV 15 JUIN 20 SEPT 19 DEC 12 -- Super-classes et sous-classes -- Redéfinition de méthodes -- Liaisons statique et dynamique -- Méthodes 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 ANALYSE OBJET -- Notation UML -- Modèles du domaine -- Diagrammes de séquence système -- Opérations système 40 POLYMORPHISME ET HÉRITAGE SUJETS SPÉCIFIQUES -- Membres statiques -- Membres et classes Final et Abstract # IJOP Programmation intensive avec Java/Java EE Contenu Durée 5 jours (35 heures) Audience 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. Vous allez apprendre à : Travaux pratiques : --Utiliser la syntaxe Java et les classes de base 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. --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 41 Développeurs objet, chefs de projets souhaitant utiliser Java Pré-requis Expérience pratique d’un langage objet (C++, C#...) Connaissances HTML 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 Méthode pédagogique 0% de travaux 5 pratiques Prix interentreprises 2 225 € HT Dates sur Paris JAN 25 MAI 09 JUIL 18 SEPT 26 DEC 12 Dates sur Toulouse FEV 09 JUIN 01 OCT 05 -- 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 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 QUELQUES CLASSES UTILITAIRES -- Exécution des JSP -- La classe Object -- Séparation Modèle / Vue / -- Les classes Wrapper Contrôleur -- L’Autoboxing -- Les chaînes de caractères -- Generics et collections (JDK 1.5 et 1.6) -- Objets implicites -- Pages d’erreurs JSP 2.0 ET JSTL -- Langage d’expression des JSP -- Java Standard Tag Libraries -- Internationalisation avec JSTL # XJAVA Contenu Extrême Java Durée 4 jours (28 heures) 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. Vous allez apprendre à : Travaux pratiques : --Programmer multi-tâche en Java 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. --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 Audience Développeurs Java expérimentés PROGRAMMATION MULTI-TÂCHES -- Normalisation : JSR 223 et API -- Concepts liés au multi-tâche -- Programmer avec des Threads -- Problèmes spécifiques au multi- -- BeanShell, JavaScript, Python, tâche Pré-requis Solide expérience pratique du langage de programmation Java -- Problèmes de conception associés -- Concepts avancés -- Programmer sur un processeur multi-coeur -- Impact sur les performances ENTRÉES / SORTIES Méthode pédagogique 0% de travaux 6 pratiques -- Flux d’objets et sérialisation avancée -- Nouvelles entrées / sorties (NIO) -- Encodage des flux de caractères ScriptEngine 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) Prix interentreprises GESTION DE LA MÉMOIRE 2 184 € HT -- Exemples d’utilisation -- Modèle de mémoire Java -- Garbage collection, spécifications -- Mises en garde Dates sur Paris -- Options de la JVM -- Objets références -- Pools d’objets et algorithmes JAN 11 MAI 23 AOUT 29 OCT 03 Dates sur Toulouse AVR 04 NOV 22 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 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 -- Interprétation et typage dynamique -- Coût des opérations Java -- Valeur ajoutée des langages -- Diagnostics et profiling 42 de script # ECOD L’essentiel de C++ et la conception objet 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 pédagogique itérative avec un apprentissage «just-in-time» 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. 43 Vous allez apprendre à : Travaux pratiques : --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 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++. Contenu Durée 5 jours (35 heures) Audience Développeurs souhaitant créer des applications avec C++, Développeurs C désirant passer au C++ Pré-requis DU C AU C++ CLASSES UTILITAIRES DE LA STL -- Syntaxe -- Variables, constantes -- Pointeurs et références -- Tableaux -- Fonctions, paramètres par défaut -- La classe string -- Les conteneurs et itérateurs -- Classes de base et classes GESTION DE LA MÉMOIRE -- Pile, stockage libre et mémoire statique -- Opérateurs new et delete ORGANISATION DU CODE Maîtrise d’un langage de programmation de haut niveau -- En-tête et fichiers source -- Organisation des fichiers -- #include -- Les namespaces Méthode pédagogique CONCEPTS OBJET 5% de travaux 7 pratiques -- Classe et instance -- Membres de données et de fonctions (méthodes) -- Déclaration et définition Prix interentreprises 2 225 € HT Dates sur Paris FEV 01 MAI 09 AOUT 22 OCT 10 MARS 14 SEPT 19 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 > 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 Dates sur Toulouse CLASSIFICATION, HÉRITAGE ET POLYMORPHISME -- Ordre de construction -- Contrôle des accès SÛRETÉ AVEC CONST -- Mot-clé const et membres de données -- Méthodes const et paramètres 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 # PREFC Programmation efficace et avancée en C++ Contenu Durée 5 jours (35 heures) LES ESPACES DE NOMS 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. Vous allez apprendre à : Travaux pratiques : --É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 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. Audience Développeurs C++ souhaitant approfondir leurs connaissances dans ce langage Pré-requis -- 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 3 à 6 mois d’expérience de la programmation avec C++ PROGRAMMATION DYNAMIQUE AVEC RTTI Méthode pédagogique -- Utilisation de typeid() et type_info -- static_cast(), reinterpret_cast(), 0% de travaux 6 pratiques Prix interentreprises 2 488 € HT Dates sur Paris MARS 07 JUIN 20 SEPT 26 DEC 05 Dates sur Toulouse AVR 18 JUIL 04 NOV 21 const_cast() et dynamic_cast() LES TEMPLATES -- Le pré-processeur et les macros -- Syntaxe -- Fonction template -- Classe template -- Utilisation des templates 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 LA BIBLIOTHÈQUE STL -- Héritage privé, protégé et -- Les conteneurs -- Les itérateurs -- Les algorithmes -- Les collections de la librairie -- Héritage multiple -- IM et classes de base répliquées -- Ambiguïté potentielle et 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 contrôle d’accès 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 44 -- Écriture d’allocateurs de mémoire java EE et frameworks SPRI PERIB EVI 45 Développement avec le Framework Spring Gestion de la persistance avec JPA et Hibernate Développer une application avec Java EE 6 # SPRI Développement avec le Framework Spring Durée 3 jours ( 21 heures ) Contenu Audience 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é. Vous allez apprendre à : Travaux pratiques : --Connaître les principes sur lesquels repose Spring 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. --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) 46 Développeurs Java, chefs de projets, architectes techniques Pré-requis 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 Méthode pédagogique 0% de travaux 6 pratiques Prix interentreprises 1 500 € HT Dates JUIN 22 DEC 07 INTRODUCTION À SPRING CONCEPTION -- Origines de Spring -- Inversion of Control (IoC) -- Programmation orientée aspect -- Approche Java EE vs. approche (AOP) Spring -- Conception simplifiée -- Gestion d’exception -- Vue complète de Spring PERSISTANCE AVEC 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 -- Data Access Objects -- Templates JDBC -- Intégration d’Hibernateg 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é # PERIB Gestion de la persistance avec JPA et Hibernate Durée 3 jours ( 21 heures ) Contenu Audience 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. Développeurs Java, chefs de projets Pré-requis Bonne expérience pratique du langage Java ou avoir suivi le cours JOD ou IJOP Méthode pédagogique 0% de travaux 6 pratiques Prix interentreprises Vous allez apprendre à : Travaux pratiques : --Rendre persistants vos objets avec JPA 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-toOne, 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...). --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 47 1 500 € HT Dates AVR 13 NOV 14 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 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 -- 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 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 # EVI Développer une application avec Java EE 6 Durée 4 jours (28 heures) Contenu Audience 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 ? Vous allez apprendre à : 48 Pré-requis Connaissance du développement avec Java ou avoir suivi le cours IJOP. Méthode pédagogique --Gestion des transactions avec les EJB 3 --JSF comme technologie sur la couche de présentation --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 5% de travaux 7 pratiques -- Facelet : pourquoi utiliser des Prix interentreprises -- JSF Managed Bean -- Cycle de vie d’une requête templates ? -- JSF : un standard, et des librairies qui le respectent 2 124 € HT Dates --Développer en utilisant la plateforme Java EE 6 --JPA comme Framework de persistance Développeurs Java, architectes JUIN 27 DEC 12 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 web HWEB JASI Développement client avec JavaScript et Ajax JAJA Développement JavaScript avancé CSS3 Approche et mise en pratique du CSS3, pour la conception d’interfaces web HIT STAX ANGULAR NODE D3JS WEHA 49 Développement de pages Web avec HTML et CSS Développer avec HTML5 et CSS3 Développer une application Web Full JavaScript Développer une single page application avec AngularJS Développement Web avec Node.js Développer les standards du W3C avec D3.js Hacking des applications Web # HWEB Développement de pages Web avec HTML et CSS Durée 2 jours (14 heures) Contenu Audience 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. Développeurs, graphistes, chefs de projets Pré-requis Aucun Travaux pratiques : --Créer une page HTML 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. Dans les formulaires vous utiliserez des champs HTML4 et HTML5, ainsi que la mise en place de la validation HTML5. Vous pourrez ainsi, appréhender les différences de ces solutions. --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 50 LES FEUILLES DE STYLE CSS2 -- Les propriétés : couleur, police, Wide Web -- Le rôle du navigateur -- W3C : Le Web et la standardisation marge, etc. -- Les classes -- Dynamiser un site avec CSS -- Gérer les positionnements absolus, relatifs ou fixes LES CONCEPTS DE BASE Méthode pédagogique 0% de travaux 5 pratiques Prix interentreprises Vous allez apprendre à : INTRODUCTION -- L’Internet, l’intranet et le World 1160 € HT Dates sur Paris MARS 30 JUIN 28 SEPT 29 DEC 01 Dates sur Toulouse FEV 04 SEPT 15 -- La structure d’un document HTML4 -- La structure d’un document HTML5 -- Les listes -- Les liens externes -- Les ancrages LES IMAGES -- 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 BALISES HTML5 : CHANGEMENTS ET NOUVEAUTÉS -- Nouvelles balises -- Balises dépréciées -- Objectif : faciliter le design -- Le support des navigateurs FONCTIONNALITÉS DE CSS3 -- Les préfixes CSS3 -- Ombrage de texte -- Transformations et transitions LES FORMULAIRES HTML4 -- Boutons -- Listes déroulantes -- Champs de saisie LES FORMULAIRES HTML5 -- Les nouveaux types de input -- Des patterns pour de la validation de surfarce -- la validation automatique CONCLUSION VERS UN WEB DYNAMIQUE AVEC HTML5 -- Le multimédia : vidéo et son -- Les canvas -- Persistance, bases de données locales -- Travail hors ligne -- Les APIs de Javascript # JASI Développement client avec JavaScript et Ajax Durée 3 jours (21 heures) Contenu Audience 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. Développeurs Web, chefs de projets techniques Pré-requis 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. Vous allez apprendre à : Travaux pratiques : --Comprendre l’intérêt du langage JavaScript Le fil rouge déroulé lors des travaux pratiques est un jeu de dés multijoueur 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. --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 51 Connaître les bases du Web ou avoir suivi le cours HWEB Connaître un langage de programmation Méthode pédagogique 60% de travaux pratiques Prix interentreprises PETITE HISTOIRE DE JAVASCRIPT -- LiveScript, JavaScript, Jscript... -- JavaScript et difficultés de maintenance -- JavaScript au coeur d’Ajax -- Les bibliothèques 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 Dates sur Paris -- Document Object Model -- Manipulation et validation Dates sur Toulouse MARS 21 NOV 07 -- Appels asynchrones et objet XMLHttpRequest -- Requêtes concurrentes -- Gestion des types de retour -- Sécurité et Cross Domain BIBLIOTHÈQUES JAVASCRIPT LANGAGE JAVASCRIPT 1 500 € HT JAN 13 JUIN 15 AOUT 29 OCT 19 AJAX EN ACTION des formulaires -- Principaux objets : Window, History, document -- Gestion des événements -- Manipuler HTML et CSS depuis 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 # JAJA Développement JavaScript avancé Durée 2 jours (14 heures) Contenu Audience 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. Développeurs JavaScript, développeurs Web et chefs de projets techniques Pré-requis Connaître les bases de JavaScript ou avoir suivi le cours JASI Méthode pédagogique Vous allez apprendre à : Travaux pratiques : --Programmer objet en 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. --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 80% de travaux pratiques Prix interentreprises 1 160 € HT Dates sur Paris JAN 21 JUIN 02 AOUT 30 NOV 03 Dates sur Toulouse AVR 21 OCT 13 52 PROGRAMMATION OBJET EN JAVASCRIPT STRUCTURER SON CODE -- JavaScript Object Notation -- Règles d’or -- Namespace Pattern -- Module Pattern -- Asynchronous Module (JSON) -- Constructeurs -- Prototype et chaînage -- Héritage et redéfinition -- Encapsulation PROGRAMMATION FONCTIONNELLE -- Méthodes et contexte d’appel -- Fonctions internes -- Fonctions anonymes et immédiates -- Closures -- Call et Apply -- This et That -- Surcharge Definition (AMD) -- AMD avec RequireJS # CSS3 Approche et mise en pratique du CSS3 pour la conception d’interfaces web De nos jours, les interactions Homme/Machine sont incontournables. Ces interactions passent par des interfaces séduisantes, performantes, pouvant être utilisées sur différents types de supports visuels. Les feuilles de styles en cascade sont le moyen le plus sûr d’implémenter des fonctionnalités avancées, principes ergonomiques et visuels validés en amont, aussi bien pour votre ordinateur que sur votre montre en utilisant les principes du Responsive Design. Cette formation vous apprendra comment réaliser des projets visuellement attrayant en utilisant des techniques et fonctionnalités des navigateurs modernes, en collaboration avec des développeurs front-end. De plus dans l’optique de ne pas réécrire les règles CSS3, pour chaque nouveau projet, vous serez formés aux principes de «réutilisabilité» des règles CSS avec l’OOCSS, afin de pouvoir maintenir et faire évoluer vos applications. Vous allez apprendre à : 3 jours (21 heures) --Optimiser votre CSS et découvrir quelques secrets qui changent tout --Utiliser CSS pour un site responsive --Utiliser les SVG --Apprendre à utiliser les propriétés graphiques et d’animation du CSS3 pour des effets visuels --Utiliser des outils modernes de gestion de projet et de code source pour optimiser votre workflow de développement Webdesginer, Design UX/UI, chefs de projets, développeurs Pré-requis Connaissance de HTML ou avoir suivi le cours JASI Méthode pédagogique 70% de travaux pratiques 1 500 € HT Dates sur Paris MARS 01 JUIN 28 SEPT 26 DEC 05 Dates sur Toulouse MAI 09 NOV 14 53 Contenu Audience Prix interentreprises --Comprendre l’importance de CSS dans le Web moderne --Organiser votre code CSS, le rendre modulaire et maintenable pour des projets Durée LES ORIGINES DU CSS (OU COMMENT SÉPARER LE VISUEL DU FONCTIONNEL) -- Histoire des CSS -- Différence entre CSS et CS3 PRÉSENTATION DES NOUVEAUTÉS (CSS3, UN GRAND PAS EN AVANT) -- Les sélecteurs -- Le mobile et les CSS3 -- Les emails et les CSS3 -- Les média-queries -- Les grilles CSS -- Le CSS pour les images, -- Le CSS pour les videos BEST-PRATICES ET MÉTHODOLOGIES -- Les bonnes pratiques -- Les polices de caractères -- Les sprites CSS -- Commentaires et compressions de fichier -- Les Frameworks CSS -- Les hacks -- SMACSS -- Le OOCSS -- Préprocesseurs CSS FONCTIONNALITÉS DU CSS3 -- Transformation -- Transition -- Animation -- 2D & 3D -- Parallax -- FlexBox # HIT Développer avec HTML5 et CSS3 Durée 3 jours (21 heures) Contenu Audience 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 crossplateforme. 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 allez apprendre à : Travaux pratiques : --Comprendre les limites de HTML4 face aux enjeux du Web d’aujourd’hui 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. --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 54 Développeurs, graphistes, chefs de projets Pré-requis Aucun Méthode pédagogique 0% de travaux 5 pratiques Prix interentreprises 1 500 € HT LES ORIGINES DE HTML ET CSS FONCTIONNALITÉS DE HTML5 -- W3C : Le Web et la -- 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 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 MARS 09 JUIN 01 SEPT 21 DEC 07 Dates sur Toulouse AVR 05 OCT 03 -- Travail hors ligne -- Géolocalisation -- Web Workers et WebSockets FONCTIONNALITÉS DE CSS3 -- Les préfixes CSS3 -- Ombrage de texte BALISES HTML5 : CHANGEMENTS -- Transformations et transitions ET NOUVEAUTÉS -- 2D et 3D avec CSS3 -- Nouvelles balises HTML5 / CSS3 : CONCLUSION -- Balises dépréciées -- Etat des lieux et roadmap -- Objectif : faciliter le design -- Produire avec HTML5 -- Le support des navigateurs -- Suivre les évolutions alternatives Dates sur Paris locales # STAX Développer une application Web Full JavaScript 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. Durée 4 jours (28 heures) Audience Architectes techniques, développeurs, chefs de projets Pré-requis Connaissance de HTML Connaissance de JavaScript ou avoir suivi le cours JASI Méthode pédagogique Vous allez apprendre à : Travaux pratiques : --Comprendre les architectures sans état 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. --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 55 Contenu 0% de travaux 8 pratiques Prix interentreprises 1 700 € HT Dates sur Paris MAI 17 OCT 11 Dates sur Toulouse JUIN 07 DEC 13 RIA ET JAVASCRIPT COUCHE DE SERVICE -- Un RIA tout JavaScript -- Déclin de Flex -- HTML5 à la mode -- JavaScript côté serveur -- Architectures Stateless -- Ajax et JSON -- Services RESTFul -- Node.js -- Express STOCKAGE 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é -- Bases NoSQL -- Stockage documents en JSON -- MongoDB # ANGULAR Développer une Single Page Application avec AngularJS Durée 4 jours (28 heures) Contenu Audience Le Web 2.0 et les RIA ont amenés de nouveaux paradigmes de programmation, en particulier le concept de Single Page Application. Google, avec sa solution AngularJS, permet de faciliter le développement d’une S.P.A et d’apporter aux entreprises une base technologique solide dans la mise en place d’outils pérennes. A l’issue de cette formation vous pourrez créer une application avec AngularJS, en comprenant les tenants et aboutissants de l’architecture SPA. Vous allez apprendre à : Travaux pratiques : --Vous allez apprendre : Vous apprendrez à développer une SPA complète en appliquant les différents concepts d’AngularJS, au fur et à mesure de l’avancement du cours. Au travers de la réalisation d’une application, vous apprendrez à : structurer une application AngularJS, créer ses propres composants réutilisables en utilisant les directives, ses propres filtres et communiquer avec une API RESTful. --Comprendre le modèle AngularJS --Développer une application AngularJS de façon autonome --S’interfacer avec un backend RESTFul --Tester son application AngularJS --Connaître les bonnes pratiques de développement et de mise en production Chef de projet technique, développeur web, architecte technique Pré-requis Connaissance en javascript, HTML/CSS, connaissance basique en architecture logicielle Méthode pédagogique 70% de travaux pratiques Prix interentreprises 1 700 € HT SINGLE PAGE APPLICATION LES FILTRES -- Ecosystème SPA -- Architecture globale -- Javascript/RIA -- Etat de l’art -- Comprendre le modèle Angular.js -- Présentation des composants -- Filtres disponibles -- Créer son propre filtre généraux (HTML Compiler, les expressions, les modules, les templates, les formulaires) -- Bootstrap/Injection/Configuration ANGULAR.JS -- Les composants Angular LE ROUTAGE -- Utilisation de $route et $location -- Historique et accès aux paramètres de l’URL -- Modes Hashbang et HTML5 LES CONTROLLERS -- Comprendre le $scope -- Comprendre le 2 way data-binding -- Comprendre l’héritage de scope LES DIRECTIVES Dates sur Paris MARS 22 MAI 23 SEPT 26 NOV 21 Dates sur Toulouse 56 JUIN 06 OCT 17 -- Appréhender la puissance des directives -- Directive simple -- Directive avancée LES PROVIDERS -- Comprendre le rôle des providers -- Value -- Constant -- Service -- Factory (Promises/deferred) AUTRES OUTILS -- Karma & Jasmine -- Angular scénario -- Protractor (E2E) -- $http -- $ressource -- Restangular module -- Le déploiement (google analytics, seo) -- L’authentification -- La sécurité ($sanitize, ngCsp, $sce) -- L’internationalisation (i18n et l10n, angular-translate) -- Environnement JS : Task runner (Grunt/Gulp), package management (Bower), Scaffolding (Yo/Slush) -- Usine logicielle (Intégration continue, couverture de code, analyse de code statique) -- Mobile (ngTouch, angular-gestures, cordova, ionic) -- Desktop (node-webkit) -- Tests unitaires -- Tests end to end -- Communiquer avec une API Restful -- Gérer les problématiques web -- Sensibilisation à l’industrialisation -- Perspectives -- Angular 2.0 # NODE Développement Web avec Node.js Durée 3 jours (21 heures) Contenu Audience 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. Vous allez apprendre à : Travaux pratiques : --Créer une application Web avec 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. --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 57 Architectes techniques, développeurs, chefs de projets Pré-requis Connaissance de JavaScript ou avoir suivi le cours JASI Méthode pédagogique 5% de travaux 7 pratiques Prix interentreprises 1 500 € HT Dates sur Paris MAI 02 SEPT 21 DEC 14 Dates sur Toulouse MARS 09 JUIN 22 OCT 26 PRÉSENTATION DE NODE.JS STOCKAGE -- JavaScript côté serveur -- Asynchronisme -- Événementiel -- E/S non bloquantes -- Accès réseau -- Accès aux fichiers -- Bases SQL -- MariaDB / MySQL -- Bases NoSQL -- MongoDB 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 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 # D3JS Développer les standards du W3C avec D3.js Durée 3 jours (21 heures) Contenu Audience D3.js est une boite à outil pour la visualisation de données. Via les standards du web (HTML, CSS, SVG et JS), la librairie D3.js propose une palette de visualisations très large permettant de s’adapter à différentes problématiques de représentation de données. Cette formation donne les bases suffisantes aux stagiaires pour s’approprier l’outil D3.js. Par une succession de petit exercice, les stagiaires vont construire pas à pas des visualisations partant de l’importation des données à une représentation interactive de celles-ci. Vous allez apprendre à : --Utiliser la boÎte à outil D3.js Architectes techniques, développeurs Web, chefs de projets, intégrateurs Web Pré-requis Niveau basique de JavaScript Connaissance des technologies Web --Construire une visualisation --Importer des données --Rendre une visualisation interactive --Utiliser différentes représentations de données Méthode pédagogique 0% de travaux 6 pratiques RAPPEL HTML - LANGAGE DE STRUCTURATION -- Inline & Block -- Construction d’un document best practice RAPPEL CSS - LANGAGE DE PRÉSENTATION -- Les sélecteurs -- Les propriétés -- C pour cascade - héritage et résolution RAPPEL SVG - LANGAGE DE DESSIN VECTORIEL -- Le vectoriel c’est quoi? -- Principales formes -- Les chemins -- SVG et CSS RAPPEL JAVASCRIPT Prix interentreprises 1 545 € HT Dates sur Paris MARS 30 JUIN 28 SEPT 27 DEC 19 Dates sur Toulouse JUIL 11 OCT 25 58 -- Syntaxe -- Déclaration de variable / fonction -- Structure de contrôle -- La porter des variables -- Contexte d’exécution - this -- Tout object -- Typage dynamique & Duck Typing JAVASCRIPT ET LE WEB -- Naviguer dans le DOM -- Modifier les styles -- Les événements -- AJAX D3.JS - DATA DRIVEN DOCUMENT -- Pourquoi visualiser ? -- Donner du sens aux données -- Une même donnée vue sous différent angle. -- Manipulation du DOM et style -- Binding de donnée -- Construire un graphique en SVG -- Ecouter les événements -- Modifier dynamiquement la représentation -- La fonction scale - mise à l’échèle -- Utiliser les layouts prédéfinis # WEHA Hacking des applications Web Durée 1 jour (7 heures) Contenu Audience 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 ?». Vous allez apprendre à : --Comprendre d’où viennent les attaques et leurs dangers --Établir un niveau de connaissance commun pour les développeurs Web --Découvrir des outils d’analyse Développeurs Web, Java EE, .Net ou PHP, chefs de projets, responsables d’applications, directeurs informatique Pré-requis Maîtriser les bases du développement Web Méthode pédagogique --Savoir quels points doivent être particulièrement surveillés dans un développement Web --Éviter simplement les attaques les plus courantes Présentations, discussions et démonstrations Prix interentreprises 800 € HT Dates sur Paris AVR 15 NOV 25 59 RAPPELS SUR LA SÉCURITÉ RÉSEAU ANALYSE D’ATTAQUES COURANTES -- Réseau, Web et sécurité -- Principes d’authentification -- Utilisation de SSL -- Firewall et proxy -- SQL Injection -- XSS ou Cross Site Scripting -- Utilisation des références 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 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 .net ICOP Programmation intensive avec le Framework .Net INXS Programmation extrême en C# ASM Développement d’applications Web avec ASP.NET MVC 5 WPF Développer une application WPF en utilisant MVVM UNET UNITY 3D 60 Usine logicielle .Net Développement d’application avec Unity 3D # C#OD C# et la conception objet Durée 5 jours (35 heures) Contenu Audience 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. 61 Vous allez apprendre à : Travaux pratiques : --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# 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. Développeurs logiciels néophytes en conception et programmation orientées objet Pré-requis Maîtrise d’un langage de programmation de haut niveau Méthode pédagogique 0% de travaux 7 pratiques Prix interentreprises 2 225 € HT Dates sur Paris LES CONCEPTS OBJETS LA CONCEPTION OBJET -- Encapsulation et agrégation -- Responsabilités et collaborations -- Classe et instances -- Méthodes et messages -- Hiérarchies de types -- Héritage -- Interfaces et polymorphisme -- 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 DÉFINIR DES CLASSES C# HÉRITAGE ET POLYMORPHISME -- Méthodes Main() et ToString() -- Les classes de base de .Net : -- Définir des classes dérivées -- Surcharger des méthodes -- Invoquer un constructeur 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 à la bonne classe 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 JUIN 13 DEC 12 -- Les processus de développement -- La gestion dynamique de Dates sur Toulouse -- Complexité et décomposition AVR 11 OCT 10 itératifs et incrémentaux -- Orientation objet et processus itératif 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 -- Interfaces et polymorphisme 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 # ICOP Programmation intensive avec le Framework .Net Contenu Durée 5 jours (35 heures) Audience 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. Vous allez apprendre à : Travaux pratiques : --Maîtriser les mots clefs de la POO en C# 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 WPF et utiliserez les delegates, les fonctions lambdas et les nouveautés du C# 6. Entity Framework sera également utilisé afin de se connecter à une base de données SQL Server. Le multi-threadisme et l’asynchronisme viendront clôturer cette partie pratique. --Améliorer vos aptitudes à la conception des applications --Connaître les évolutions de C# (du 1 au 6) --Utiliser la réflexion --Accéder aux données avec Entity Framework --Mieux comprendre Linq --Créer une IHM avec WPF --Mieux gérer la mémoire --Utiliser le typage dynamique --Gérer le multi-tâche en .Net et l’asynchronisme 62 Développeurs, chefs de projets techniques Pré-requis Maîtrise d’un langage de programmation objet (C++, Java, C#, VB.NET, etc.) Connaissance des bases de la conception avec UML Méthode pédagogique 0% de travaux 7 pratiques Prix interentreprises 2 225 € HT Dates sur Paris MARS 07 JUIN 20 SEPT 19 Dates sur Toulouse AOUT 22 OCT 03 LE LANGAGE ET LE FRAMEWORK -- Rappels sur le langage C# -- Vue générale du Framework .Net : Windows Forms, Webforms, ADO, XML, réseau... 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 LES APPLICATIONS GRAPHIQUES (WINDOWS FORMS) -- Introduction à WPF -- Langage XAML -- Data Binding EVOLUTIONS DU C# -- Collections et Generics -- Inférence de type -- Nullable types, Delegates anonymes, fonctions lambda -- Yield et itération ACCÈS AUX DONNÉES -- Entity Framework 6 Base First -- Fichier edmx -- Notion de DbContext -- Query operators LINQ TO OBJECTS -- Fluent et query syntax -- Restriction et projection (type anonyme) -- Exécution différée -- Compréhension du fonctionnement interne NOUVEAUTÉS DU C# 4 AU 6 -- Paramètres nommés et optionnels -- Typage dynamique -- String interpolation -- Using static -- Auto propriété avec le Get sans le Set -- Expression bodied method -- Expression Body Property -- Index Initializer -- Opérateur conditionnel de nullité -- Opérateur nameof MULTI-THREADING ET ASYNCHRONISME -- Rappels sur la notion de Thread FONCTIONNEMENT ET OPTIMISA- -- Gestion intégrée des Threads TION DU GARBAGE COLLECTOR dans le Framework .Net -- Synchronisation avec Lock -- Stratégie de récupération automatique de la mémoire -- Multi-Thread et Delegate en .Net asynchrone -- Le Boxing : utilisation de Class -- Les Tasks et Struct -- Les mots clefs async, await -- Mesure de l’activité du Garbage Collector -- Design Patterns pour la gestion mémoire et l’optimisation # INXS Programmation extrême en C# Durée 3 jours (21 heures) Contenu Audience 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. Développeurs C# et chefs de projets techniques Travaux pratiques : --Maîtriser la syntaxe avancée du C# 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 sousjacents. A vous de venir repousser ces limites lors de cette formation ! --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 63 MULTITHREADING -- Définition -- Création manuelle de Thread -- ThreadStart et Yield Return Pré-requis Connaissance pratique du langage C# ou avoir suivi le cours ICOP Méthode pédagogique 0% de travaux 7 pratiques -- Méthode d’extension -- Query Operators -- Fluent et Query Syntax -- Exécution différée -- Exécution immédiate CYCLE DE VIE D’UN OBJET -- Garbage Collection concurrente d’arrière-plan 1 638 € HT -- Objet Finalizable ou/et Dates sur Paris COMPOSITION D’UN PROCESS MARS 21 JUIL 04 NOV 28 Disposable -- Process -- Domaine d’application -- Object Context RÉFLEXION Dates sur Toulouse MARS 29 JUIL 11 DEC 14 ParameterizedThreadStart -- AutoResetEvent et LINQ -- Garbage Collection Prix interentreprises Vous allez apprendre à : SUBTILITÉS SYNTAXIQUES -- Delegate générique -- Mots-clefs : Var, Dynamic, -- Attribute -- Instanciation dynamique -- Early Binding -- Late Binding -- Injection de dépendance 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 # ASM Développement d’applications Web avec ASP.NET MVC 5 Durée 5 jours (35 heures) Contenu Audience 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. Vous allez apprendre à : Travaux pratiques : --Appréhender l’organisation d’un site ASP.NET MVC 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 2). Votre site sera également sécurisé vec Asp.Net Identity 2.0. Cette application sera égalament l’occasion de découvrir de b.a-ba de KnockoutJs et SignalR. --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 2 --Découvrir SignalR Développeurs et chefs de projets de sites Web Pré-requis Maîtrise des concepts objets et du langage C# Maîtrise des concepts du web Méthode pédagogique 0% de travaux 6 pratiques Prix interentreprises 2 225 € HT Dates sur Paris MARS 14 JUIN 06 AOUT 29 DEC 05 Dates sur Toulouse AVR 04 SEPT 12 NOV 21 ORGANISER UN PROJET MVC -- Sélecteurs -- Compréhension du This modèle, de la vue et du Controller -- Découverte des principales méthodes GÉRER LE CONTROLLER -- Ajax -- Implémentation -- Gestion des routes SÉCURITÉ MAÎTRISER LA VUE -- Authentification (Asp.Net Identity 2) -- Prévention des principaux -- Les différents moteurs de vue -- La syntaxe de Razor -- Les vues partielles -- Utilisation d’une Layout Page risques d’attaques -- Cross Site Scripting (XSS) -- Cross Site Request Forgery (CSRF) (Master Page) -- Prise en main du BootStrap de Twitter 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 6 Code First WEB API 2 -- Implémentation d’un Controler Web API -- Gestion des routes -- Implémentation des appels Ajax -- Découverte de Knockout.js ASYNCHRONIE SERVEUR -- Tasks -- async / await (C# 5.0) HTML HELPERS OWIN ET KATANA -- Implémentation d’un Helper -- Définition -- Etat actuel d’implémentation par méthode d’extension -- Implémentation d’un Helper par la syntaxe Razor VALIDATIONS DES SAISIES -- Validations standards/ personnalisées -- Affichage et internationalisation des erreurs JAVASCRIPT -- Programmation objet -- Déclaration et portée des 64 JQUERY -- Composition (répertoires/fichiers) -- Définition et description du variables (var, this) -- Closure ARCHITECTURE -- Repository et BusinessLocator -- Injection des dépendance (Unity) -- Tests SIGNALR -- Implémentation d’un Hub -- Rafraichissement client # WPF Développer des applications graphiques avec WPF Durée 4 jours (28 heures) Contenu Audience 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 un moment que les Universal Apps 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 reste 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. Vous allez apprendre à : Travaux pratiques : --Développer une application tirant parti du Framework WPF 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. Les deux derniers jours seront consacrés à l’étude du pattern architectural MVVM. --Exploiter les possibilités du langage XAML --Tirer parti efficacement des apports de .Net 4.5 --Maîtriser l’utilisation et la création de composants graphiques --Utiliser Microsoft Expression Blend --Mettre en œuvre les différents data bindings --Architecturer votre application avec le pattern MVVM --Réaliser des tests unitaires --Travailler avec MVVM Light Toolkit 65 Développeurs, chefs de projets INTRODUCTION À LA PRÉSENTATION AVEC WPF -- La notion de commande -- Utilisation de code et de XAML -- Les nouveaux types Pré-requis Connaissance de C# et du Framework .Net ou avoir suivi le cours ICOP Connaissance de XML Méthode pédagogique 0% de travaux 7 pratiques Prix interentreprises 2 184 € HT Dates sur Paris d’applications -- Le langage XAML -- Les classes de base du Framework -- Présentation des outils : -- Définition et intérêt de ce pattern architectural -- Notion de ViewModel, Poco et wrapper de Poco VS2015 et Blend -- Les commandes -- RelayCommand CRÉER UNE APPLICATION -- Command binding -- Comprendre et utiliser les Layouts -- EventTrigger -- Les contrôles WPF et leur utilisation -- EventToCommand -- Utiliser des ressources -- Déployer une application WPF ALLER PLUS LOIN AVEC MVVM LIGHT TOOLKIT 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 FEV 22 MAI 17 SEPT 26 VALIDATIONS ET CONVERSIONS Dates sur Toulouse -- Règles de validation standards -- Règles de validation JUIL 04 DEC 12 LES BASES DE MVVM -- Utilisation d’Entity Framework 6 pour l’accès aux données personnalisées -- Définition de l’injection de dépendance -- Définition de l’inversion de contrôle -- Communication entre la VM et la vue -- Messenger -- DialogService -- Blendabilité et design data -- Mocks -- Tests unitaires -- Tests d’intégrations PERSONNALISATION -- Styles -- Utilisation d’IDataErrorInfo -- Modèles de contrôles -- Gestion de l’affichage des erreurs -- Création de contrôles -- Convertisseurs -- Les Behaviors -- Animations LE MOTEUR DU FRAMEWORK -- Les Dependency Properties -- La gestion des messages : Routed Events # UNET Usine logicielle .Net Durée 3 jours (21 heures) Contenu Audience 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 estelle 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 allez apprendre à : Travaux pratiques : --Mettre en place un outil de construction 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. --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 66 Développeurs .Net, chefs de projets, responsables méthodes, responsables développements Pré-requis Avoir une première expérience en développement de projet informatique (.Net) Méthode pédagogique 0% de travaux 6 pratiques Prix interentreprises 1 638 € HT Dates sur Paris FEV 08 JUIN 28 NOV 08 Dates sur Toulouse JUIN 29 SAVOIR INTÉGRER APPRÉHENDER LES TESTS -- Définition de l’intégration -- Test et feedback -- Test Driven Developement -- Tests unitaires, tests fonctionnels continue -- Pré-requis 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 tests d’intégration, ALLER PLUS LOIN AVEC L’INTÉGRATION CONTINUE -- Build incassable -- Feature Branching vs Feature Toggle Pattern -- Packaging et gestion de configuration GESTION DE VERSIONS -- Objectifs et rôle -- Tronc, branches et étiquettes -- Comparaison des différentes solutions : TFS VC, Git, SVN, ... MÉTRIQUES -- Types de métriques -- Méthodologie d’usage des métriques -- Intégration à Visual Studio -- Mise en place de métrique OUTILS D’INTÉGRATION CONTINUE DÉPLOIEMENT CONTINU -- Catégories d’outils -- TFS, Jenkins, TeamCity -- Intérêts et avantages -- Continuous Delivery vs OUTILS DE CONSTRUCTION -- Stratégie d’échec et de -- Objectifs et rôle -- Pré-requis d’une construction -- Infrastructure as code automatisable et bénéfices Continuous Deployement récupération # UNITY Développement d’applications avec Unity 3D Durée 4 jours (28 heures) Contenu Audience Encore réservé à une élite il y a peu, le monde de la 3D s’est démocratisé au cours des derniers mois. Gratuité, apprentissage simplifié et bonne productivité sont désormais des qualificatifs applicables à plusieurs moteurs de jeu. Avec une courbe d’adoption fulgurante, Unity 3D semble prendre une place prépondérante sur ce marché. Il ne se limite d’ailleurs pas au monde du divertissement mais s’implante également dans les entreprises. C’est d’ailleurs sur ce dernier aspect que nous nous concentrerons le plus dans cette formation. A l’issue de cette formation, vous aurez des bases suffisamment solides pour être à l’aise avec les principaux concepts de la 3D pour mettre en place un petit jeu ou bien une application de simulation. Vous allez apprendre à : Travaux pratiques : --Maîtriser le vocabulaire et les concepts de la 3D Le cas pratique visera tout d’abord à mettre en place un jeu de voitures se déplaçant dans le désert afin de mettre en pratique les concepts fondamentaux de la 3D. Ensuite, vous travaillerez sur une application plus ambitieuse de suivi de trafic aérien. Vous terminerez votre apprentissage par une étude des animations des humanoïdes et des objets. --Manipuler les différents composants d’un objet 3D --Ecrire des scripts en C# pour personnaliser le comportement de vos objets 3D --Intégrer des interfaces graphiques (boutons etc…) dans une scène 3D --Appliquer des animations avec le nouveau système nommé Mecanim --Manipuler les spécificités de la caméra 67 Développeurs et chefs de projets dotnet DÉCOUVERTE DU VOCABULAIRE DE LA 3D -- Moteur 3D, moteur physique, moteur de jeu Pré-requis Maîtrise des concepts objets et du langage C# Méthode pédagogique 0% de travaux 6 pratiques Prix interentreprises 2 184 € HT Dates sur Paris AVR 18 JUIL 18 OCT 24 LES COROUTINES -- Définition -- Etude approfondie du yield return -- Vertex, texture, shader, material -- Camera, Frustum LA COMMUNICATION NOTIONS ÉLÉMENTAIRES LES RENDERERS -- Scène et Terrain -- Définition et composition d’un GameObject -- Les différents types de « components » d’un GameObject -- Appel de services REST -- Trail Renderer -- Line Renderer RAYCAST -- Découverte de l’Asset Store -- RaycastHit -- LayerMask SCRIPTING PERFORMANCE ET PROFILING -- Les scripts de comportement -- Cycle d’appel des méthodes -- Visual Studio Tool for Unity -- La fenêtre de statistiques -- Version debug/version release -- Charge CPU/GPU LE MOTEUR PHYSIQUE LES ANIMATIONS LEGACY -- Component Rigidbody -- Les matériaux physiques -- Les colliders -- Animation Legacy -- Animation Component UNITY UI -- NGUI -- Le Canvas -- Gestion de l’ancre du Render Transform -- Les Render Modes --Analyser les performances de votre application NAVIGATION ET PATHFINDING --Déployer votre application sur différents plateformes -- Définition de NavMesh -- Bake d’un NavMesh LES ANIMATIONS MECANIM -- Animation de type Generic et de type Humanoïd -- Animator Component -- Avatar et Animator Controller -- Génération d’un model 3D d’humanoïd à partir de MakeHuman -- Application d’une animation de type Motion Capture -- Blend tree et animation layers mobile MOBI IOC Introduction aux objets connectés IPO Développement d’une application sur iPhone et iPad GAD MIKA TWIN 68 Introduction à la mobilité Développer avec Google Android Développer une application Web pour iPhone, iPad et Android Développer une application universelle Windows 10 # MOBI Introduction à la mobilité Durée 1 jour (7 heures) Contenu Audience 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 ?». Développeurs Web, développeurs mobile, chefs de projets, architectes Pré-requis Aucun Méthode pédagogique Présentation, mises en situation, retours d’expériences, démonstrations d’outils Prix interentreprises 800 € HT Vous allez apprendre à : 69 --Appréhender les problématiques de la mobilité --Connaître les contraintes d’ergonomie des applications Web mobiles --Comprendre l’apport d’HTML5 pour les développements mobiles --Différencier applications natives, Web et hybrides --Faire un choix pertinent de solution de développement pour mobile --Connaître les OS mobiles majeurs Dates sur Paris MAR 18 JUIN 17 NOV 28 PROBLÉMATIQUE DE LA MOBILITÉ DÉVELOPPEMENTS WEB -- Contexte et enjeux -- Connectivité -- Contraintes matérielles -- Ergonomie -- Test -- Déploiement -- Sites Web mobiles 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 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 # IOC Introduction aux objets connectés Durée 1 jour (7 heures) Contenu Audience Caméras de surveillance intelligentes, drones, lunettes, mesure de l’activité physique, domotique… Les objets connectés ont aujourd’hui dépassé le stade du mythe et prennent de plus en plus d’importance dans notre vie de tous les jours et dans tous les secteurs d’activité. Mais que savons-nous vraiment de leur fonctionnement, leurs concepts ? Grâce à ce cours vous apprendrez à mieux comprendre les objets connectés qui vous entourent, savoir de quoi ils sont composés et comment les utiliser. Vous serez également amenés à vous questionner sur les nouveaux défis et les nouvelles problématiques inhérentes à ces technologies. Vous allez apprendre à : Travaux pratiques : --Connaître les concepts de base d’électronique embarquée La découverte des notions de base d’électronique et de programmation embarquées ainsi qu’une mise en pratique par l’analyse d’un cas concret et la réalisation de votre propre objet connecté vous apporteront les connaissances nécessaires pour vous constituer un regard critique et objectif : «En ai-je besoin ?» «Que cela fait-il exactement ?» «Comment je peux m’en servir ?» «Qu’est-ce que cela m’apporte ?». --Connaître les concepts de base de programmation embarquée --Appréhender les usages des objets connectés --Faire fonctionner un objet connecté simple --Constituer un regard critique sur ces technologies 70 Architectes, développeurs, intégrateur, webdesigner QUE SONT LES “OBJETS CONNECTÉS”? -- Représentation (“C’est quoi pour vous ?” - dialogue/échanges) -- Domaines d’application - parts Pré-requis Avoir des bases de programmation et/ou d’électronique est un plus Prix interentreprises 800 € HT Dates sur Paris FEV 05 JUIN 03 SEPT 23 DEC 12 Dates sur Toulouse MAR 04 JUIN 10 SEPT 30 DEC 09 de marché existantes -- Exploiter les données avec une architecture Big Data -- Technologies / Matériels -- Pourquoi s’y intéresser ? ENTRÉE EN MATIÈRE -- Découverte d’un “objet connecté” du quotidien : ampoule connectée/brosse à dents -- Anatomie, composants -- Notions d’électronique -- Notions de programmation -- Concepts avancés À VOUS DE JOUER ! -- Prise en main de matériel -- Découverte d’un environnement de développement -- Première réalisation d’un objet connecté -- “Quartier libre” (personnalisation du code avec quelques composants basiques (capteur température, luminosité, affichage LCD…)) ETRE LES ACTEURS DE DEMAIN -- Aperçu des possibilités (matériel, essort des marchés…) -- Dans la vraie vie (bulle IoT, stade d’adoption du grand public, législation) -- Défis à venir (sécurité, baisse des coûts, energy harvesting…) # IPO Développement d’une application sur iPhone et iPad Durée 5 jours (35 heures) Contenu Audience 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 7 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. Vous allez apprendre à : --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 71 Travaux pratiques : 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. Développeurs et chefs de projets technique Pré-requis Connaissance pratique d’un langage de programmation (C, C++, Java, C#...) 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 Méthode pédagogique 0% de travaux 7 pratiques 2 225 € HT Dates sur Paris JAN 11 MAR 14 JUIN 20 JUIL 06 SEPT 19 DEC 12 Dates sur Toulouse FEV 15 JUIN 06 OCT 10 -- 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 courantes du SDK -- Les propriétés -- Les API Cocoa GESTION MÉMOIRE Prix interentreprises INTERFACE BUILDER -- LLe 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 COMPOSANTS 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 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) # GAD Développer avec Google Android Durée 4 jours (28 heures) Contenu Audience 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é. Vous allez apprendre à : Travaux pratiques : --Comprendre les atouts de la plate-forme Android 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 : 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é. --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 Architectes techniques, développeurs Pré-requis Bonne maîtrise de Java 5, 6 et 7 Connaissance d’un IDE Java Notions de client lourd (Swing, SWT, AWT, QT, GTK) Notions de XML et Web Services Méthode pédagogique 0% de travaux 6 pratiques Prix interentreprises 1 950 € HT 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 LE SDK ANDROID -- Le contenu -- Utilisation sans plug-in -- IDE, Android Studio -- 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 Dates sur Paris FEV 01 JUIN 06 AOUT 29 OCT 11 Dates sur Toulouse AVR 04 SEPT 19 72 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 -- Intégrer WebKit -- Intégrer un service REST -- Intégrer des applications ARCHITECTURE LOGIQUE -- Broadcast receiver -- Implémenter un service -- Communication asynchrone -- Fournisseur de Widget -- Utilisation des fragments -- Bonnes pratiques # MIKA Développer une application web pour iPhone, iPadet Android Durée 4 jours (28 heures) Contenu Audience 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 plate-forme 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é. Vous allez apprendre à : --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 73 Travaux pratiques : 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. Développeurs Web, développeurs mobile, chefs de projets, architectes Pré-requis Connaissances de base en HTML et CSS ou avoir suivi le cours HWEB Compétences JavaScript ou avoir suivi le cours JASI PROBLÉMATIQUE DU WEB MOBILE FONCTIONNALITÉS AVANCÉES ET HTML5 -- Contexte et enjeux -- Les navigateurs -- Détection de terminaux -- Les langages du Web mobile -- Site Web, application Web ou -- Géolocalisation -- Stockage local -- Mode déconnecté -- Gestion de cache -- Effets avec CSS3 -- CSS Media Query -- Intégration de contenus application native DES CONTRAINTES À INTÉGRER -- Ergonomie -- Connectivité -- Navigation EMBALLAGE NATIF AVEC PHONEGAP FRAMEWORKS MOBILES -- Principe de mise en oeuvre -- Principales API -- Pont JavaScript -- Customisation -- Limites une WebView -- Types de Frameworks pour Méthode pédagogique 0% de travaux 7 pratiques Prix interentreprises 1 950 € HT Dates sur Paris MAR 15 JUIN 27 SEPT 27 NOV 21 Dates sur Toulouse JAN 26 MAI 17 OCT 10 -- Application native intégrant 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 # TWIN Développer une application universelle Windows 10 Contenu Durée 5 jours (35 heures) INTRODUCTION Audience Avec Windows 10, Microsoft compte poser le premier jalon d’une nouvelle génération d’OS. A l’écoute des utilisateurs et des développeurs, la firme de Redmond a su tenir compte des remarques faites au sujet de Windows 8.1 et revoir sa copie. Le temps où on développait une application pour chaque support (PC, Mobile, Console) est maintenant révolu. Place aux applications universelles qui s’adaptent aux familles d’appareils grâce à différents mécanismes. Vous allez apprendre à : Travaux pratiques : --Prendre en main l’environnement VS2015 Par la réalisation d’une application de gestion d’annonces immobilières, vous aurez l’occasion de vous familiariser avec les principaux points d’achoppement techniques et architecturaux. L’architecture ne sera pas négligée et sera même au cœur de nos préoccupations pour assurer testabilité, performance et maintenabilité. A l’issue de cette formation, vous serez autonome sur tous les aspects de la réalisation d’une application universelle. --Développer une application r espectueuse des règles ergonomiques de Windows 10 --Maêtriser les grands concepts de MVVM --Maêriser le cycle de vie d’une application --Gérer l’asynchronisme et les performances de votre application --Gérer la persistance des données --Accéder à des services distants --Utiliser des capteurs de l’appareil Développeurs, chefs de projets Pré-requis Connaissance de C# et du Framework .Net ou avoir suivi le cours ICOP Avoir eu une première expérience avec une technologie utilisant XAML est un plus Méthode pédagogique 0% de travaux 7 pratiques Prix interentreprises 2 225 € HT Dates sur Paris JAN 25 AVR 11 SEPT 05 DEC 19 Dates sur Toulouse JAN 11 MAI 09 OCT 17 74 -- Historique des clients riches Windows -- La révolution des applications universelles -- Découverte des principes de l’UWP (Universal Windows Platform) -- Présentation des outils : VS2015 et Blend XAML -- Eléments et sous-éléments -- Propriétés de dépendance -- Propriétés attachées BINDING -- Définition -- Binding entre contrôles graphiques -- Binding entre contrôle graphique et objet métier -- Importance d’INotifyPropertyChanged -- Binding compilé ARCHITECTURE MVVM -- Définition et intérêt -- Mise en place avec MVVM Light Toolkit -- Tests unitaires -- Tests d’intégrations -- Navigation -- Communication entre VM et V CONTRÔLES -- Contrôles standards -- SplitView -- ListBox et ListView -- GridView -- Binding des ItemsControl -- DataTemplate -- ObservableCollection -- Barres de menu RESPONSIVE ET ADAPTATIVE DESIGN -- VisualStateManager -- Notion de pixel effectif COMMUNICATION -- Communication avec un Web Service REST -- Asynchronie avec Async / Await MULTITHREADISME ET ASYNCHRONISME -- Rappels sur les threads -- Task Parallel Library -- Asynchronisme avec le Framework 4.5 DONNÉES ET FICHIERS -- Settings locaux ou dans le Cloud -- 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 partage -- Communication avec une autre application TUILES -- Tuiles principales et secondaires -- Mise à jour par notification SPÉCIFICITÉS DU MOBILE -- Adaptative code -- Présentation de continuum GESTION DES RESSOURCES -- Internationalisation de l’application -- Gestion des styles -- Gestion des animations MESURE DE LA PERFORMANCE -- Présentation des outils INTERACTION AVEC LES CAPTEURS -- Utilisation du GPS -- Geocoding et reverse geocoding -- Affichage de punaises sur une carte -- Intégration de Cortana (assistant vocal) DÉPLOIEMENT -- Les différents modes -- Le Windows Store big data TINOS HADOOPA HADOOPADM NEO 75 Introduction aux bases de données NoSQL Analyse de données avec l’environnement Hadoop Hortonworks Gestion des opérations avec la plateforme de données Hortonworks Développement d’applications avec Neo4j # TINOS Introduction aux bases de données NoSQL Durée 1 jour (7 heures) Contenu Audience 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 estil 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 ?». Chefs de projets, architectes, développeurs Pré-requis Connaissance des architectures intégrant des bases de données Méthode pédagogique Présentations, discussions, études de cas Prix interentreprises 800 € HT Dates sur Paris --Connaître les concepts sous-jacents à l’approche NoSQL --Identifier les cas d’utilisation des SGBD NoSQL AVR 08 JUIL 17 OCT 07 DEC 19 --Comprendre les raisons de l’émergence des SGBD NoSQL --Appréhender la relation entre MapReduce et NoSQL Dates sur Toulouse --Connaître les principales solutions disponibles sur le marché --Evaluer les limites des solutions NoSQL Vous allez apprendre à : 76 FEV 02 NOV 10 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 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 CAS D’UTILISATION ET NOUVEAUX ENJEUX DES ENTREPRISES -- Return On Invest -- Les acteurs et leurs rôles -- Un processus agile pour -- Simplicité et rapidité -- Stockage et volumétrie -- Analytics et BI -- Tests le Big Data / NoSQL # HADOOPA Analyse de données avec l’environnement Hadoop Hortonworks Durée 4 jours (28 heures) Contenu Audience Ces 4 jours de formation vont vous apprendre à développer des applications et à analyser un grand nombre de données stockées dans Apache Hadoop 2.0 utilisant Pig et Hive. Vous apprendrez tout sur Hadoop 2.0, YARN et Hadoop Distributed File System (HDFS). Vous aurez une vue d’ensemble de MapReduce et nous nous attarderons sur l’utilisation de Pig et Hive pour exécuter l’analyse de données de masse. Nous couvrirons également d’autres sujets tels que l’injection de données avec Sqoop et Flume et la définition du workflow en utilisant Oozie. Vous allez apprendre à : -- Expliquer ce qu’est Hadoop 2.x et ses cas d’utilisation -- Les différents outils et les Framework dans l’environnement Hadoop 2.x -- Expliquer l’architecture d’Hadoop Distributed File System (HDFS) -- Expliquer comment HDFS Federation et HDFS High Availability (HA) fonctionnent dans Hadoop 2.x -- Utiliser le client Hadoop pour manipuler les données dans HDFS -- Utiliser Flume pour intégrer des données sur HDFS -- Utiliser Sqoop pour transférer des données entre HDFS et un RDBMS -- Expliquer l’architecture de MapReduce -- Expliquer l’architecture de YARN -- Faire tourner une tache de MapReduce sur YARN -- Ecrire un script Pig pour explorer et transformer les données dans le HDFS -- Définir ses propres fonctions UDF et les utiliser dans un script Pig -- Réaliser des analyses de données plus avancées avec Pig en utilisant la librairie DataFu (e.g., les quantiles, le -- PageRank, l’analyse de flux de données) -- Comprendre comment les tables Hive sont définies et intégrées dans HDFS. 77 -- Ecrire des requêtes Hive pour réaliser des analyses des données (e.g., rank, dense_ rank, ngrams, …) -- Utiliser les caractéristiques avancées de Hive comme le fenêtrage, les vues, les fichiers ORC, la vectorisation -- Optimiser la jonction de deux ensembles de données avec Hive -- Utiliser HCatalog avec Pig et Hive -- Ecrire un réducteur personnalisé dans Python permettant de diminuer le nombre de tâches MapReduce générés à partir d’une requête Hive. -- Comprendre et utiliser TEZ -- Définir un workflow en utilisant Oozie. -- Planifier un workflow récurant en utilisant Oozie CoordinatorJour 2 -- Introduction à Pig -- Programmation Pig avancée -- à partir d’une requête Hive. -- Comprendre et utiliser TEZ -- Définir un workflow en utilisant Oozie. -- Planifier un workflow récurant en utilisant Oozie Coordinator Travaux pratiques : --Présentations, discussions, études de cas Analystes de données et BI, Développeurs BI et SAS et tous les autres analystes qui souhaitent en savoir davantage sur l’analyse du Big Data dans un cluster Hadoop. Pré-requis Connaissances des principes de la programmation et avoir de l’expérience dans le développement logiciel. SQL est un plus. Connaissance d’Hadoop n’est pas nécessaire Prix interentreprises 2 520 € HT Dates sur Paris FEV 08 MARS 07 AVR 11 MAI 17 JUIN 06 JUIL 11 AOUT 22 SEPT 19 OCT 10 NOV 07 DEC 12 Dates sur Toulouse MARS 14 JUIN 13 SEPT 26 DEC 05 JOUR 1 JOUR 3 -- Comprendre Hadoop 2.0 -- Le Hadoop Distributed File -- Programmation Hive -- Utilisation de HCatalog -- Programmation de Hive avancée System (HDFS) -- Introduction aux données dans HDFS -- MapReduce Framework et YARN/span> JOUR 4 -- Programmation Hive avancée (Suite) JOUR 2 -- Analyse de données et -- Introduction à Pig -- Programmation Pig avancée -- Définition workflow avec Oozie statistiques # HADOOPADM Gestion des opérations avec la plateforme de données Hortonworks Ces 4 jours de formations Hadoop 2.0 sont destinés aux administrateurs déployant et gérant les clusters Apache Hadoop 2.0. A travers des cours et des exercices concrets vous apprendrez à installer, configurer et maintenir votre environnement Hadoop 2.0. A la fin de ce cours, vous aurez une compréhension solide de comment Hadoop fonctionne avec le Big Data et, à travers nos exercices concrets, vous saurez déployer tout le cycle de vie pour des clusters multi-nœuds. A la fin de la formation, tous les participants auront accès au programme Hortonworks Apache Hadoop Administrator Certification. --Comment définir la taille d’un cluster et comment le déployer --Comment déployer un cluster pour la première fois --Comment configurer Hadoop et les Framework associés --Comment gérer en permanence la maintenance des nœuds dans le cluster 4 jours (28 heures) Audience Administrateurs IT, opérateurs responsables de l’installation, de la configuration et du maintien d’un déploiement Apache Hadoop 2.0 dans un environnement Linux. Pré-requis JOUR 1 : FONDEMENT, PLANIFICATION ET INSTALLATION -- Introduction à la plateforme de données Hortonworks & Hadoop 2.0 -- Stockage Hadoop : Architecture HDFS -- Prérequis pour l’installation -- Gestion HDP : Ambari -- Ambari et la ligne de commande -- Hadoop Operating System --Comment équilibrer et optimiser la performance d’un cluster --Comment déplacer et gérer les données dans le cluster Méthode pédagogique -- Service de configuration -- Configuration HDFS -- Configuration de Hadoop Prix interentreprises -- Configuration HBase -- Configuration ZooKeeper -- Configuration Schedulers -- Intégrité des données -- Extract-Load-Transform (ELT) --Comment intégrer des statuts et des états de santé dans l’outil de monitoring existant --Comment ajouter et enlever des nœuds de données ous fournit une base V solide pour la gestion de tous vos clusters Hadoop. --Comment mettre en place une haute solution de disponibilité 2 520 € HT --Les meilleures pratiques pour déployer un cluster Hadoop Dates sur Paris (YARN) & MapReduce JAN 18 MARS 01 MAI 23 Operating System (YARN) & MapReduce Data Movement clusters JUIL 25 SEPT 05 NOV 21 FEV 22 AVR 25 JUIN 27 OCT 10 JOUR 3 : MANAGEMENT DES DONNÉES / HORTONWORKS DATA PLATFORM (HDP) 2.0 OPERATIONS -- HDFS service Web -- Apache Hive Data Warehouse -- Transfert de données aves Sqoop -- Mouvement de données log avec Flume -- HDFS NFS Gateway -- Workflow management : Oozie -- Management du cycle de vie des données avec Falcon JOUR 2 : CONFIGURATION ET GESTION DE DONNÉES -- Copie de données entre les Dates sur Toulouse 78 Contenu Savoir naviguer et modifier des fichiers dans un environnement Linux. La connaissance d’Hadoop n’est pas exigée. Vous allez apprendre à : --Dans ce cours vous apprendrez les meilleurs pratiques pour l’administration d’Apache Hadoop 2.1 comme expérimenté par les développeurs et les architectes Apache Hadoop. Durée -- Monitoring HDP 2.0 Services -- Mise en service ou hors service des nœuds et services JOUR 4 : HORTONWORKS DATA PLATFORM (HDP) 2.0 -- Rack Awareness and Topology -- NameNode Federation Architecture -- NameNode High-Availability (HA) Architecture -- Backup & Recovery -- Security # NEO Développement d’applications avec Neo4j Durée 2 jours (14 heures) Contenu Audience 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. Vous allez apprendre à : Travaux pratiques : --Comprendre le fonctionnement des bases de données graphes 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. --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 79 Développeurs, architectes Pré-requis INTRODUCTION AUX BASES DE DONNÉES GRAPHES -- Rappel sur la théorie des graphes Connaissances en programmation Java ou avoir suivi le cours JOD ou IJOP -- Définition d’une base de type Méthode pédagogique PRÉSENTATION NEO4J 0% de travaux 5 pratiques Prix interentreprises 1 500 € HT graphe -- Motivations et enjeux -- Base graphe vs. SGBD traditionnel -- Présentation des principaux algorithmes -- Concepts -- Architecture d’un serveur Neo4j -- Modes de fonctionnement : embarqué, serveur ou cluster -- Plugin spatial CAS D’UTILISATION Dates sur Paris MARS 17 JUIN 23 SEPT 29 NOV 28 Dates sur Toulouse AVR 28 NOV 24 -- 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) Informations pratiques Paris +33 (0)1 76 21 15 00 [email protected] Toulouse +33 (0)6 61 36 63 23 [email protected] Horaires des formations Plan d’accès Hébergement Références sociales Les horaires de fin sont communiqués à titre indicatif et sont susceptibles d’ajustement en fonction de l’avancement du programme. Les plans d’accès sont systématiquement transmis avec les convocations aux formations (par e-mail). 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 et Toulouse. SIRET siège social (Paris) : B 443 533 070 Le 1er jour : Vous pouvez calculer votre itinéraire sur Internet : 9h15 - 17h30 Les jours suivants : www.valtech-training.fr rubrique « Contact ». 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 Ces informations sont à votre disposition sur www.valtech-training.fr rubrique « Contact ». 9h00 - 17h00 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. 80 LE GROUPE VALTECH & VALTECH TRAINING FORMATION SUR MESURE COACHING INFORMATIONS PRATIQUES BULLETIN D’INSCRIPTION Glossaire / a-g Agile (méthode) ASP.NET Client riche 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. 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) 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). Ajax ATDD 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é. 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. Analyse Big Data 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. 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. Android C# Nom du système d’exploitation pour terminaux mobiles créé par Google et offert par ce dernier à tous les constructeurs souhaitant l’utiliser. 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. 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 81 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. LE GROUPE VALTECH & VALTECH TRAINING 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. FORMATION SUR MESURE 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. Eclipse Atelier de développement logiciel Open Source. Eclipse est extensible par l’adjonction de PlugIns. 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 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 COACHING des éléments interactifs réalisés à l’aide de langages de scripts tels que JavaScript. INFORMATIONS PRATIQUES 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. 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. BULLETIN D’INSCRIPTION Glossaire / h-r 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. iOS Lean Software Development Objet Nom donné par Apple à son système d’exploitation (OS = Operating System) mobile qui est déployé sur les iPhone et iPad. 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. Ensemble de concepts permettant de structurer le code de façon plus lisible et plus maintenable qu’avec un langage traditionnel. 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 La nouvelle version du fameux langage HTML apportant bien des évolutions qui seront monnaie courante dans un futur proche. 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é. HTTP Java HTML5 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 82 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é. LE GROUPE VALTECH & VALTECH TRAINING 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. FORMATION SUR MESURE 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 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. COACHING Open Source (ou logiciel libre) INFORMATIONS PRATIQUES 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. 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. BULLETIN D’INSCRIPTION Glossaire / r-x Réseau social Servlet Urbanisation 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+ … 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. 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. 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 Méthode 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. 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 interapplicatifs. 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. 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. 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. 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 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. 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. Usine Logicielle .Net existant depuis la version 3.0 pour le développement des interfaces graphiques des applications Web ou des clients traditionnels. 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. 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 83 LE GROUPE VALTECH & VALTECH TRAINING FORMATION SUR MESURE COACHING INFORMATIONS PRATIQUES BULLETIN D’INSCRIPTION Bulletin d’inscription MERCI DE FAIRE PARVENIR CE DOCUMENT DIRECTEMENT À VOTRE INTERLOCUTEUR COMMERCIAL Valtech Training Paris Valtech Training Toulouse 103, rue de Grenelle - 75007 Paris [email protected] 1, rue Dalayrac - 31000 Toulouse [email protected] Si ce bulletin d’inscription est lié à une offre spéciale, cochez la case correspondante Offre ‘Equipe’(1) Offre ‘Flash’(2) Autre promotion Formations Date Intitulés ou références des formations Lieu (*) Prénom / Nom Prix en € HT Total en € HT (*) indiquer la ville où se déroule la session : Paris ou Toulouse Règlement Par un Organisme Paritaire Collecteur Agréé (Fafiec, Opcalia, Agefos PME...) Par l'entreprise commanditaire Société : Service : Adresse : CP : OPCA : Localité : Adresse : TVA Intracommunautaire : OU CP : Localité : Signataire Nom : Fonction : Tél. : Fax : E-mail : Ce bulletin d'inscription fait office de bon de commande ou Interlocuteur (facultatif) : sera confirmé par un bon de commande Adresse de convocation (si différente de l’adresse de facturation) Société : Nom du destinataire : Fonction du destinataire : Service : Adresse : CP : Tél. : Fax : E-mail : Date : Localité : 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. 84 LE GROUPE VALTECH & VALTECH TRAINING FORMATION SUR MESURE COACHING INFORMATIONS PRATIQUES BULLETIN D’INSCRIPTION 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 intra-entreprise 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. 85 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 pédagogiques 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 dommages-inté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 : [email protected] - 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. Références 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
© Copyright 2024 Paperzz