Développement logiciel, PHP, C, C++

Dimension: px
Commencer à balayer dès la page:

Download "Développement logiciel, PHP, C, C++"

Transcription

1 Développement logiciel, PHP, C, C++ Le langage PHP s'est imposé comme un acteur majeur pour la réalisation de sites Web dynamiques. Depuis la sortie de la version 5 qui intègre la puissance de l'objet, il est devenu une alternative très sérieuse aux technologies Java/JEE ou.net. Orsys propose une filière très complète de formations à ce langage incluant les Frameworks les plus utilisés et permettant de mettre en pratique les méthodes les plus efficaces de test, d'industrialisation et d'optimisation. Par ailleurs, de nombreuses applications développées en C et C++ continuent à évoluer. Conçus sur la base d'expériences concrètes, les cours Orsys vous permettront de comprendre le contexte d'utilisation de ces langages et d'en acquérir une parfaite maîtrise. Stages Pratiques PHP 5, développer un site Web dynamique... ( p2 ) PHP 5, maîtriser la programmation orientée objet... ( p4 ) PHP 5, pour les développeurs objet... ( p6 ) PHP 5, perfectionnement... ( p8 ) PHP 5, perfectionnement pour les développeurs objet... ( p10 ) PHP 5, industrialisation des développements... ( p12 ) PHP 5, développement Web avec Symfony... ( p13 ) Architecture REST, développer des Web Services en PHP... ( p15 ) Programmation en C... ( p17 ) Développeur système sous Linux/Unix... ( p19 ) Linux, drivers et programmation noyau... ( p20 ) Linux industriel, temps réel et embarqué... ( p22 ) PHP 5, sécurité des applications... ( p24 ) PHP Zend Certified Engineer, préparation à la certification... ( p25 ) PHP 5, développement Web avec Symfony 2... ( p27 ) Zend Framework 2, maîtrise du développement Web... ( p29 ) Zend Framework, maîtrise du développement Web... ( p31 ) Programmation en C, perfectionnement... ( p32 ) C11, mise à niveau pour développeur C... ( p34 ) Programmation objet en C++... ( p36 ) Programmation C++, perfectionnement... ( p38 ) C++11, mise à niveau pour développeur C++... ( p40 ) C++, mise à niveau pour les développeurs C# et Java... ( p42 ) C++, développement d'applications graphiques en QT... ( p43 ) Programmer vos applications en Multicore... ( p45 ) C++, programmer avec CUDA, OpenMP et les PPL Visual Studio... ( p47 ) ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 1

2 Stage pratique de 4 jour(s) Réf : PHH Développeurs, webmasters ayant déjà une bonne connaissance d'un langage de programmation client (javascript ou vbscript). Connaissances de base du langage HTML et d'au moins un langage de programmation. Prix 2015 : 2330 HT Dates des sessions Paris 7 avr. 2015, 4 mai juin 2015, 7 juil aoû. 2015, 8 sep oct. 2015, 3 nov déc Aix 2 juin 2015, 6 oct déc Bordeaux 16 juin 2015, 13 oct déc Bruxelles 23 juin 2015, 22 sep nov Geneve 23 juin 2015, 22 sep nov Grenoble 2 juin 2015, 6 oct déc Lille 7 avr. 2015, 2 juin oct. 2015, 1 déc Luxembourg 23 juin 2015, 22 sep nov Lyon 2 juin 2015, 6 oct déc Montpellier 2 juin 2015, 6 oct déc Nantes 16 juin 2015, 13 oct déc Rennes 16 juin 2015, 13 oct déc Sophia-antipolis 2 juin 2015, 6 oct déc Strasbourg 2 juin 2015, 6 oct déc Toulouse 16 juin 2015, 13 oct déc PHP 5, développer un site Web dynamique OBJECTIFS Ce cours vous permettra de maîtriser d'une manière opérationnelle le langage PHP dans le contexte de développement de sites Internet dynamiques. Il vous permettra aussi d'aborder les aspects connexes à ce type de développement : bases de données, langage SQL, manipulation de fichiers graphiques... 1) Introduction 2) Automatisation d'une page Web 3) Les formulaires simples 4) Les variables complexes : tableaux 5) Gestion des sessions utilisateurs 6) Utilisation d'une base de données MySQL 7) Les formulaires complexes 8) Le graphisme en PHP Des machines sous Windows ou Linux équipées du serveur Web Apache avec le module PHP et un serveur MySQL seront mis à la disposition des participants. Les participants vont créer un site complet de vente en ligne. 1) Introduction - L'architecture du Web : HTTP, CGI, interactivité : script client ou script serveur. - Qu'est-ce que PHP? - Historique de PHP. - Les différences entre PHP 4 et PHP 5. - Notions d'architecture multicouche. Introduction aux principes MVC. - Présentation de l'exemple utilisé durant la formation : le site de vente en ligne. Revue des balises principales HTML et des commandes de style. Introduction à la feuille de style de l'application exemple. 2) Automatisation d'une page Web - Les principes du client-serveur. - Premiers éléments du langage. - Intégration de PHP dans une page HTML. - Variables et fonctions. - Librairies. - Fonctions de base, variables serveur et variable PHP. - Variables serveur et variable PHP. - Contrôles de flux et boucles. Réalisation de fonctions personnalisées. Réalisation d'une librairie de fonctions. 3) Les formulaires simples - Passage et transmission de variables. - Lecture/écriture de fichier. - Vérification de Login/mot de passe. - Redirection. 4) Les variables complexes : tableaux - Constructeur Array. - Fonctions associées aux tableaux. - Fonctions d'extraction. - Fonctions de navigation dans un tableau. Réalisation d'une fonction de création de liste déroulante. 5) Gestion des sessions utilisateurs - Variables persistantes : Cookies et Session. - Avantages et inconvénients des Cookies et Sessions. - Limitations et précautions. - Les variables de session. - Fonctions liées aux variables de session. - Les Cookies. - Sérialisation des variables complexes. - Utilisation. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 2

3 Réalisation d'un panier d'achat simple, version Cookie et Session. Gestion des quantités commandées. 6) Utilisation d'une base de données MySQL - Présentation de MySQL. - Concepts fondamentaux : bases, tables, champs, enregistrements. - Bases MySQL. - Tables MySQL. - Champs MySQL. - Enregistrements MySQL. - Fonctions PHP MySQL. - Introduction au langage SQL (sélection, modification, suppression). - Traitement des résultats des requêtes. Création d'une base MySQL. Remplissage de la base à partir d'une base texte. Création de fiches produit à la volée par extraction des données de la base. 7) Les formulaires complexes - Moteur de recherche : formulaire en relation avec une base de données. - Fonctions avancées de sélection : recherches et tris. Réalisation d'un moteur de recherche : la sélection sur auteur, titre et héros donne une liste de liens sur les fiches produit correspondantes. Implémentation multicouche. 8) Le graphisme en PHP - Présentation de la librairie GD. - Création d'image, réutilisation. - Gestion des polices et de l'écriture en mode image. - Superposition de texte pour protection de droits. - Intégration au site. - Réalisation de graphiques statistiques. Intégration des différents modules réalisés. Affichage des images avec mention de Copyright. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 3

4 Stage pratique de 3 jour(s) Réf : POG Développeurs désirant améliorer la pérennité et la maintenabilité de leurs développements. Bonne connaissance du PHP procédural ou connaissances équivalentes à celles apportées par le cours " PHP 5, développer un site Web dynamique " (réf. PHH). Prix 2015 : 1795 HT Dates des sessions Paris 8 juin 2015, 31 aoû oct. 2015, 7 déc PHP 5, maîtriser la programmation orientée objet de la conception à l'implémentation des classes OBJECTIFS Vous découvrirez les fondements de la programmation orientée objet en PHP et apprendrez à concevoir une application "objet" en vous basant sur la notation UML. Vous réaliserez un site Web en mettant en oeuvre des concepts avancés tels que les objets métiers, les couches d'abstraction ou les design patterns. 1) Approche objet dans un contexte Web 2) Concepts de base de l'implémentation Objet 3) POO : concepts avancés et apports de PHP5 4) Persistance des objets 5) Refactoring MVC 6) Rétro-ingénierie Apprendre à interpréter des diagrammes de classes UML et à concevoir, développer ou réécrire des applications PHP en respectant le paradigme objet. 1) Approche objet dans un contexte Web - Expression initiale des besoins et exigences. - Cas d'utilisation et processus unifié simplifié. - UML : diagrammes de séquences et de classes. - Présentation des IHM. Réflexion collective Sur la base d'un cahier des charges, définir les objets de l'application à réaliser. 2) Concepts de base de l'implémentation Objet - Eclipse : un IDE adapté à la POO en PHP. - Définir une classe et la générer à partir d'uml. - Espaces de nommage PHP (5.3). - Instancier une classe. - Propriétés, statiques et constantes : This, Self et ORP. - Visibilité et protection. Accesseurs, mutateurs et surcharge selon PHP. - Constructeur et destructeur. - Maîtriser l'instanciation : Factory et Singleton. Depuis un logiciel UML, concevoir et générer les classes participantes. 3) POO : concepts avancés et apports de PHP5 - Typage Objet et interfaces. - Les interfaces de la librairie standard (SPL). - Egalités et tris d'objets, Design Pattern Strategy. - Référence, clonage, héritage, agrégation et association. - Polymorphisme, collections et Design Pattern Iterator. - Classes abstraites et finales. Les traits. Implémentation de classes mettant en oeuvre les concepts avancés. 4) Persistance des objets - Export et auto-sérialisation. - Enregistrement en base de données et en session. - JSON pour les requêtes client asynchrones. - Transmission http. Classes pour la persistance des données. Accès asynchrone depuis une interface Ajax-XHR. 5) Refactoring MVC - Chargement des classes : automatique ou paramétré. - Classes ADO, modèle, vue. Gestion des fichiers. - Les exceptions : gestion d'erreur orientée objet. Mise en oeuvre du design pattern Chaîne de Responsabilité. Refactoring du projet en MVC. 6) Rétro-ingénierie - Introspection et classe Reflection. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 4

5 - Framework de librairies PEAR. - Outils de documentation. - XMI et diagrammes de classes. Générer les fichiers XMI pour l'ensemble des classes du projet et visualiser les diagrammes UML. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 5

6 Stage pratique de 5 jour(s) Réf : OBP Informaticiens et webmasters qui souhaitent une formation opérationnelle en développement objet PHP. Bonnes connaissances des bases du HTML. La connaissance d'un langage objet permettra de mieux profiter de la formation mais n'est pas indispensable. Prix 2015 : 2500 HT Dates des sessions Paris 18 mai 2015, 22 juin aoû. 2015, 14 sep oct. 2015, 16 nov déc PHP 5, pour les développeurs objet créer une application Web en POO OBJECTIFS Ce cours vous permettra de maîtriser d'une manière opérationnelle le langage PHP dans le contexte d'un développement objet. Vous apprendrez à créer un site Web dynamique et aborderez la mise en œuvre des aspects connexes à ce type de développement. L'ensemble du cours est orienté objet. 1) Introduction 2) Bases du langage PHP 3) Programmation Orientée Objet (POO) 4) Premières applications Web en PHP 1) Introduction - Qu'est-ce que PHP? Interactivité avec les internautes. - Les différences entre PHP 4 et PHP 5. - Présentation de l'exemple utilisé durant la formation. 2) Bases du langage PHP - Automatisation d'une page Web. - Le client-serveur. Premiers éléments du langage. - Intégration de PHP dans une page HTML. - Variables et fonctions. Librairies. - Fonctions de base, variables serveur et variable PHP. - Contrôles de flux et boucles. Réalisation de fonctions personnalisées. 3) Programmation Orientée Objet (POO) 5) Gestion des sessions utilisateurs 6) Utilisation d'une base de données MySQL 7) Une application Web professionnelle - Rappel UML. Modélisation des classes. Outils. - Classes, propriétés, méthodes. Visibilité et protection. - Constructeur, destructeur. Appel implicite vs explicite. - Héritage et agrégation. Propagation. Polymorphisme. - Sérialisation et stockage. Organisation des fichiers. Réalisation d'une classe PageWeb. 4) Premières applications Web en PHP - Les formulaires simples. Passage de variables. Vérification de Login/mot de passe. Redirection. - Les variables complexes : tableaux des fonctions. Réalisation d'un objet de stockage. Réalisation d'un objet formulaire (texte, select et upload). 5) Gestion des sessions utilisateurs - Variables persistantes : Cookies et Session. - Avantages, limitations et précautions. - Variables de session et fonctions liées. Les Cookies. - Sérialisation des variables complexes. Utilisation. Réalisation d'un objet panier d'achat stockable en Cookie ou Session. Gestion des quantités commandées. 6) Utilisation d'une base de données MySQL - Concepts : bases, tables, champs, enregistrements. - Fonctions PHP Mysqli. Introduction au langage SQL. - Requêtes et traitement des résultats. Création d'une base MySQL et de fiches produits à la volée. 7) Une application Web professionnelle - Notions d'architecture multicouche. Principes MVC. - Formulaires complexes. Liaison aux données. - Fonctions avancées de sélection : recherches et tris. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 6

7 - Le graphisme en PHP : de la librairie GD. - Intégration au site. Réalisation d'un moteur de recherche. Amélioration de la classe SQL. Implémentation multicouche. Intégration des différents modules réalisés. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 7

8 Stage pratique de 3 jour(s) Réf : PHA Cette formation s'adresse aux développeurs PHP ayant déjà une bonne pratique du langage en mode procédural, désirant améliorer la pérennité et la maintenance de leurs développements. Bonnes connaissances de la syntaxe PHP5 et de son utilisation dans un contexte Web ou connaissances équivalentes à celles apportées par le stage "PHP 5, développer un site Web dynamique" (réf. PHH). Prix 2015 : 1795 HT Dates des sessions Paris 26 mai 2015, 29 juin juil. 2015, 24 aoû sep. 2015, 12 oct nov. 2015, 14 déc Aix 1 juin 2015, 14 sep Bordeaux 8 juin 2015, 21 sep nov Bruxelles 29 juin 2015, 28 sep nov Geneve 29 juin 2015, 28 sep nov Grenoble 1 juin 2015, 14 sep Lille 1 juin 2015, 14 sep Luxembourg 29 juin 2015, 28 sep nov Lyon 1 juin 2015, 14 sep Montpellier 1 juin 2015, 14 sep Nantes 8 juin 2015, 21 sep nov Rennes 8 juin 2015, 21 sep nov Sophia-antipolis 1 juin 2015, 14 sep Strasbourg 1 juin 2015, 14 sep Toulouse PHP 5, perfectionnement OBJECTIFS Vous étudierez dans ce cours les aspects avancés du langage PHP liés à l'authentification et aux manipulations des bases de données. L'ouverture vers les nouvelles perspectives (Web 2.0) est abordée au travers d'une introduction à Ajax et par l'utilisation de clients riches communiquant en flux XML avec le serveur. Vous utiliserez enfin quelques briques logicielles comme PEAR ou PHPLib pour optimiser vos développements. 1) Introduction 2) Programmation Orientée Objet (POO) 3) Gestion des erreurs 4) Authentification LDAP 5) Bases de données : manipulations avancées 6) XML/DOM/XSLT 7) Web Services et SOAP 8) PDF pour AcrobatReader 9) Vous verrez comment mettre en pratique les concepts objets et les API utiles au développement d'applications d'entreprise (accès aux bases de données, aux annuaires LDAP, échange de données XML, appels de Web Services, etc.) en utilisant PHP5. 1) Introduction - Optimisation des développements par utilisation de briques logicielles. - Développement et réutilisabilité : stratégies et enjeux. 2) Programmation Orientée Objet (POO) - Classes, propriétés, méthodes. - Visibilité et protection. - Constructeur, destructeur. Appel implicite vs explicite. - Héritage et agrégation. Règles de propagation. Polymorphisme. - Introduction aux concepts avancés de POO. Classe abstraite. Interface. Design Pattern. - PEAR : utilisation de composants utilitaires. - PHPLib : structure, conventions et paramètres. Principales librairies. Réalisation d'une classe formulaire. Mise en œuvre de plusieurs librairies Open Source pour la réalisation d'un mini-site. 3) Gestion des erreurs - Gestion des exceptions avec PHP5. - Création d'un gestionnaire d'erreurs. - Bufferisation et fichiers Log. Réalisation d'une classe d'exception personnalisée. Implémentation d'un affichage bufférisé et d'un fichier Log dans la classe. 4) Authentification LDAP - Introduction. - OpenLDAP. - Configuration et démarrage (fichiers conf et ldif). - Lecture. Connexion anonyme. Interrogation et récupération de données. - Ecriture. Connexion administrateur. Formatage des données et insertion. Implémentation d'une classe d'authentification. 5) Bases de données : manipulations avancées - Bases multitables et jointure : avantages et limites de la théorie. - Intégrité transactionnelle : assurer la cohérence des données dans un environnement Internet. - Procédures stockées : réutilisation de l'existant lors de migrations technologiques. - Champs multidimensionnels. - Sécurité : formatage des entrées et requêtes paramétrées. - PDO (PHP Data Object/API abstraite d'accès aux bases de données). - ODBC : outil passe-partout win32. Oracle : Commit/Rolback et pointeurs abstraits pour procédures stockées. MySQL : conversion multitable et adaptation des requêtes DML. Postgres : utilisation de champs multidimensionnels et XML. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 8

9 8 juin 2015, 21 sep nov ) XML/DOM/XSLT - XML. Format et validation. - DOM et XPath. Création, analyse. - Transformateurs XSL. Utilisation de XSLT. - Clients riches : SWF et Ajax. Principe et enjeux. Création d'états multipaginés en Ajax. 7) Web Services et SOAP - Introduction. - Annuaires de services et accessibilité. - WSDL et SOAP. - Créer un Web Service et son fichier de description. - Utiliser un Web Service. Utilisation d'un Web Service. 8) PDF pour AcrobatReader - Opérations de base. Texte et mise en page. - Opérations avancées. Images et tracés vectoriels. Implémentation d'une classe PDF pour la génération automatisée d'une facture. 9) - MIME : pièces jointes et format HTML. - Les formats Mixed, Multipart, Alternative/Related. - Les encodages particuliers. - Paramétrage d'un serveur de test. Réalisation d'une fonction classe xmail pour l'envoi de mails au format mime. Utilisation de la classe créée pour l'envoi d'une facture PDF en pièce jointe. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 9

10 Stage pratique de 2 jour(s) Réf : OBA Cette formation s'adresse aux développeurs PHP ayant déjà une bonne pratique du langage en mode objet, désirant aller plus loin dans leurs développements. Bonnes connaissances de la programmation orienté objet sous PHP. Expérience souhaitable en développement PHP5. Prix 2015 : 1380 HT Dates des sessions Paris 5 mai 2015, 3 sep nov PHP 5, perfectionnement pour les développeurs objet OBJECTIFS Ce cours vous apprendra à tirer parti des extensions PHP et des briques logicielles existante. Vous verrez les aspects avancés liés aux bases de données (extension LDAP, API Oracle, PostgreSQL, MySQL), au XML (DOM et SAX), à AJAX, aux web services et aux extensions Mail et PDF. 1) Rappel : Programmation Orientée Objet (POO) 2) PEAR et PHPLib 3) Authentification LDAP 4) Bases de données : manipulations avancées 1) Rappel : Programmation Orientée Objet (POO) - Classes, propriétés, méthodes. Visibilité et Protection. - Héritage. Règles de propagation. Polymorphisme. 2) PEAR et PHPLib - Structure, conventions et paramètres. - Principales librairies. 5) XML/DOM/XSLT 6) Web service et SOAP 7) PDF pour Acrobat Reader 8) PEAR : utilisation des librairies Html, Formulaires, CSS et DB. PHPLib : utilisation des librairies Template, Authentification. 3) Authentification LDAP - Introduction. OpenLdap. Configuration et démarrage. - Lecture. Connexion anonyme, interrogation et récupération de données. - Ecriture. Connexion administrateur. Formatage des données et insertion. Implémentation d'une classe d'authentification. 4) Bases de données : manipulations avancées - Bases multitables et jointure : avantages et limites. - Intégrité transactionnelle : assurer la cohérence des données. Procédures stockées : réutilisation lors de migrations technologiques. Champs multidimensionnels. XML. Sécurité : formatage des entrées et requêtes paramétrées. ODBC. Oracle : Commit / Rollback et pointeurs abstraits pour procédures stockées. MySQL : conversion multitables et adaptation des requêtes DML. 5) XML/DOM/XSLT - XML (format et validation), DOM (création, analyse), XSL/XSLT (transformation). - Clients riches : Ajax. Principe et enjeux. Création d'un flux XML pour une page Ajax et d'un flux RSS. 6) Web service et SOAP - Annuaires de services et accessibilité. WSDL et SOAP. - Créer un Web service et son fichier de description. Utilisation d'un Web service. 7) PDF pour Acrobat Reader - Opérations de base. Texte et mise en page. - Opérations avancées. Images et tracés vectoriels. Implémentation d'une classe PDF. 8) - MIME : pièces jointes et formats HTML - Les formats Mixed, Multipart, Alternative/Related. - Les encodages particuliers. Paramétrage d'un serveur de test. Etude d'une librairie. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 10

11 Gérer l'envoi de mails au format Mime et PDF en pièce jointe. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 11

12 Stage pratique de 3 jour(s) Réf : HPO Cette formation s'adresse aux développeurs PHP ayant déjà une bonne pratique du langage en mode objet, désirant améliorer la pérennité et la maintenabilité de leurs développements. Bonnes connaissances de la programmation orientée objet sous PHP. Prix 2015 : 1795 HT Dates des sessions Paris 29 juin 2015, 28 sep déc PHP 5, industrialisation des développements les bonnes pratiques OBJECTIFS Ce cours de perfectionnement est axé sur trois thèmes : l'optimisation du code au niveau algorithmique, l'adaptation de l'architecture logicielle aux nécessités du travail en équipes pluridisciplinaires ou multisites, et la rationalisation des développements orientés maintenabilité et réutilisabilité. 1) Introduction 2) Optimisation de code 3) Productivité 4) Rationalisation des développements Des machines équipées des serveurs Apache2 avec PHP5, MySql, Oracle, LDAP, FTP et mail seront mises à la disposition des participants. 1) Introduction - Problèmes classiques rencontrés en développement. - Culture d'entreprise : impacts à long et moyen termes. - Inflation non contrôlée du code et théorie de l'avalanche. Réutilisabilité : stratégies et enjeux. 2) Optimisation de code - Outils : de mesure (Pear), de simulation de charge client/serveur, d'optimisation. - Compression à la volée. Principe de la compression/décompression des pages. Précautions et limites. - Optimisation des algorithmes. Optimisation des boucles, des requêtes SQL. Fichiers texte et bases de données. - Gestion des flux de sortie. - Cache serveur. Réalisation d'un cache. Les classes existantes. Optimisation graduelle d'une page type, avec mesures comparées des performances obtenues. 3) Productivité - La POO : bienfaits et limites. Etude de cas, pertinence de l'approche POO vs procédurale. La solution mixte. - IDE et documentation. Les principaux IDE du marché. Outils de documentation et conventions. Configuration. - Serveurs à balancement de charge. Approche matérielle. Impact sur le développement. Analyse de performances et consommation mémoire. Utilisation d'un IDE et d'un générateur de documentation. Etude d'une classe "session" pour la conservation des données en environnement multiserveurs. 4) Rationalisation des développements - Architecture multicouche. Programmation " spaghetti " et maintenabilité. - Approche pluridisciplinaire et sous-traitance. - MVC : diviser pour mieux régner. MVC sans l'objet. - Concepts avancés de la POO : classes abstraites, interfaces. Méthodes automatiques, surcharge, sauvegarde, clonage. - Frameworks (cadres). Philosophie. Etude d'un framework " maison ". Principaux frameworks du marché. - Design patterns (motifs de conception). Principe de base et avantages. - Structure des patterns Usine. Singleton. Chaîne de commande. Observateur. Stratégie. - Encapsulation des concepts variables. Passage d'une page " spaghetti " à un modèle MVC. Réalisation d'un moteur de recherche avec un framework. Implémentation d'une classe de connexion pour la conservation des ressources. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 12

13 Stage pratique de 3 jour(s) Réf : SYM Développeurs et chefs de projets PHP5. Bonnes connaissances de PHP. Connaissance de base de la programmation orientée objet. PHP 5, développement Web avec Symfony OBJECTIFS Symfony est un framework Open Source PHP qui propose une architecture, des composants et des outils pour réaliser plus efficacement des applications Web complexes. Ce stage vous présentera les aspects techniques de Symfony et vous montrera comment le mettre en oeuvre pour créer des applications. 1) Du PHP # à plat # à la structure MVC 2) Le Templating avec Symfony 3) L'environnement de travail Symfony 4) Le routing et le protocole HTTP 5) L'abstraction Objet-Relationnel 6) L'installation du framework 7) L'admin generator 8) Les tests 9) Le cache 10) L'internationalisation et la localisation 1) Du PHP # à plat # à la structure MVC - Comprendre la séparation en couches. - Mettre la logique métier dans des classes. - Utiliser la syntaxe PHP alternative pour les templates. - Découper un projet en niveaux application, module, action. - L'arborescence des fichiers d'un projet Symfony. - Lier des pages entre elles. - Comprendre la théorie du design pattern MVC. 2) Le Templating avec Symfony - Utiliser un helper et un helper group. - Construire un formulaire avec des helpers. - Concevoir des templates modulaires. - Utiliser le view.yml pour modifier la vue. 3) L'environnement de travail Symfony - Utiliser plusieurs environnements de développement. - Comprendre le déroulement d'une requête avec la web debug toolbar. - analyser les requêtes avec les fichiers de log. - Apprendre la syntaxe YAML. - Comprendre le cache de la configuration et symfony cc. - Explorer les fichiers de configuration. - Utiliser la ligne de commande Symfony. - Déboguer une application Symfony. 4) Le routing et le protocole HTTP - Comprendre ce qu'est une URL. Le get et le post. - Utiliser Apache et le rewriting d'url. - Utiliser un helper pour formater les requêtes sortantes. - Comprendre le front controller. - Comprendre le routing bidirectionnel. - Distinguer un redirect et un forward. - Ajouter une extension à une page. - Utiliser le routing pour gérer une arborescence de navigation. 5) L'abstraction Objet-Relationnel - Manipuler des objets métier. - Se protéger des injections SQL. - Abstraire le SQL pour pouvoir changer de base de données. - Ecrire un schéma relationnel pour Doctrine. - Connecter une application à une base de données. - Générer un modèle objet. - Utiliser les classes générées par Doctrine. - Utiliser l'objet Doctrine_Query pour requêter la base de données. - Traduire une requête SQL en requête objet. 6) L'installation du framework - Installer Symfony depuis une sandbox, PEAR, SVN. - Initialiser un projet, un module, un suivi de version. - Configurer un serveur web. - Mettre à jour Symfony. - Installer Symfony sur un serveur de production. Synchroniser deux installations. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 13

14 7) L'admin generator - Générer ou initier un module. - Initier une administration. - Explorer le code généré. - Utiliser le generator.yml pour modifier le code généré. - Modifier la vue liste et la vue edit. - Personnaliser des templates. Utiliser des thèmes. - Comprendre les templates de templates. 8) Les tests - Valider un élément de code avec un test unitaire. - Utiliser lime et la ligne de commande symfony test:unit, test:functional et test:all. - Valider une fonctionnalité avec un test fonctionnel. - Utiliser l'objet sftestbrowser pour simuler une navigation entre des pages. - Vérifier un élément de page avec le Dom CSS Selector. - Automatiser les tests. 9) Le cache - Mettre en cache le résultat de requête, une page avec ou sans layout, un composant de la vue. - Explorer l'arborescence des fichiers cachés. 10) L'internationalisation et la localisation - Identifier les textes de l'interface à traduire ( ()). - Traduire une interface avec un dictionnaire XLIFF. - Formater automatiquement une date, un nombre, un montant. Stocker des informations différentes selon la localisation. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 14

15 Stage pratique de 2 jour(s) Réf : STE Développeurs PHP, chefs de projets. Architecture REST, développer des Web Services en PHP OBJECTIFS Ce stage vous apprendra à implémenter une architecture de type REST pour l'exposition de ressources en ligne ou leur consommation, à utiliser les méthodes du protocole http ainsi qu'à manipuler en PHP des représentations XML de ressources Web. Bonnes connaissances du langage PHP en contexte Web (procédural et objet). Connaissances de base en XML et JavaScript souhaitables. 1) Rappels sur la programmation orientée objet 2) XML, JSON, DOM, SAX et XPath 3) Approche REST 4) Implémenter un Web service REST 5) Implémenter un Client REST 6) Frameworks PHP Prix 2015 : 1380 HT Dates des sessions Paris 11 juin 2015, 21 sep Développement d'une application web de type CRUD en mode REST. 1) Rappels sur la programmation orientée objet - Classe, instance, propriétés et méthodes, visibilité. - Héritage, interface, classes abstraites. - Méthodes automatiques et surcharge. Réalisation de la classe ADO (Abstract Data Object) qui alimentera les Web Services. 2) XML, JSON, DOM, SAX et XPath - Document XML bien formé, règles de base. - Document XML valide : DTD ou XSL. - Le DOM PHP (analyse et création). - Les XPath avec PHP et la validation avec PHP. - Approche SAX : transformateurs XSLT. - Les fonctions PHP de manipulation du format JSON. Création d'une fonction récursive d'analyse DOM. Création d'une fonction d'encodage/décodage. Création d'une méthode de la classe ADO, renvoyant les données au format XML et JSON. 3) Approche REST - Principes de base et rappels HTTP. - Les autres formats d'échanges : JSON, PHP sérialisé, MessagePack. - Composants d'une architecture REST. - Guides de conception d'une architecture REST. - URL logiques vs. physiques. - Définition des codes erreurs. - Documenter un Web service REST. - ROA vs. SOA / REST vs. SOAP. Concevoir un Web Service. 4) Implémenter un Web service REST - Ecriture de Web services : lecture, insertion, mise à jour et suppression de données. - Sécurité des transactions. - Problématique du cachage. - Mashup. - Tester un service REST : navigateur et outils de tests. Création d'un Web service en mode CRUD, et sécurisation des opérations critiques. Paramétrage des types de retour. Création d'un flux RSS. 5) Implémenter un Client REST - Invoquer un Web service en mode GET depuis PHP. - Utilisation des sockets et de curl pour la création d'un contexte d'appel avec d'autres méthodes (PUT/ DELETE/POST). - Gestion des erreurs. - Spécificités de l'approche AJAX en mode XML et JSON. - Spécificités de l'approche AJAX. - Insertion de Mashup en mode DOM HTML. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 15

16 Implémentation d'une page Web consommant les Web services de plusieurs sources et présentation des résultats agrégés. 6) Frameworks PHP - Qu'est-ce qu'un framework? - Les frameworks de création d'api REST en PHP. - Mise en place d'un Web Service avec un framework. Démonstration Implémentation d'un service REST via un framework. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 16

17 Stage pratique de 5 jour(s) Réf : LGC Les ingénieurs et les informaticiens qui souhaitent acquérir une formation complète et opérationnelle sur le langage C. Connaissances de base en programmation. Prix 2015 : 2500 HT Dates des sessions Paris 13 avr. 2015, 18 mai juin 2015, 6 juil aoû. 2015, 14 sep oct. 2015, 2 nov déc Aix 29 juin 2015, 14 sep Bordeaux 22 juin 2015, 28 sep déc Bruxelles 15 juin 2015, 21 sep Geneve 15 juin 2015, 21 sep Grenoble 29 juin 2015, 14 sep Lille 29 juin 2015, 14 sep Luxembourg 15 juin 2015, 21 sep Lyon 29 juin 2015, 14 sep Montpellier 29 juin 2015, 14 sep Nantes 22 juin 2015, 28 sep déc Rennes 22 juin 2015, 28 sep déc Sophia-antipolis 29 juin 2015, 14 sep Strasbourg 29 juin 2015, 14 sep Toulouse 22 juin 2015, 28 sep déc Programmation en C Ce stage intensif vous permettra d'acquérir une connaissance réellement opérationnelle du langage. Il vous expliquera le fonctionnement des différents mécanismes et vous montrera leur mise en œuvre grâce à de nombreux exercices pratiques. A l'issue de ce stage, vous serez en mesure d'écrire des programmes C robustes et portables. OBJECTIFS PEDAGOGIQUES Maîtriser la chaîne de production d'un programme écrit en langage C Mettre en oeuvre les opérateurs, les expressions et les structures de contrôle du langage C Manipuler des structures de données, des tableaux, des pointeurs et des chaînes de caractères Organiser le code d'un programme à l'aide de fonctions. Exploiter les principales bibliothèques standard du langage C 1) Premiers pas en C 2) Opérateurs et expressions 3) Structures de contrôle 4) Tableaux, pointeurs et chaînes de caractères 5) Les structures 6) Les fonctions 7) Compilation séparée, classe d'allocation 8) Le préprocesseur 9) Les bibliothèques standard Des machines sous système Unix ou Windows (PC) seront mises à la disposition des participants de manière à mettre en pratique les notions présentées. 1) Premiers pas en C - Présentation du langage C, ses atouts. - Le C++ par rapport au C. Normes C++11 et C11. - Les fichiers sources (.c,.h). - Structure générale d'un programme. - La syntaxe de base du langage. - Les types de données et les constantes de base. - Variables globales et locales. - Stockage et passage de paramètres. - Entrées/sorties formatées. - Les commentaires. - Utilisation élémentaire de la chaîne de production. - Les environnements d'édition, de compilation et d'exécution. - Exécution d'un premier programme. 2) Opérateurs et expressions - Opérateurs arithmétiques. - Mécanismes d'évaluation des expressions. - Post et pré-incrémentation de décrémentation. - Précédence et associativité des opérateurs. - Opérateurs d'affectation. - Mécanismes de fonctionnement des expressions logiques. - Expressions logiques dans les instructions while, if... - Opérateurs de comparaison : <, >, ==,!=... - Opérateurs logiques : ET, OU, négation. - Les types numériques composés. Règle de conversion dans les expressions mixtes. Conversions implicites/ explicites. - Initialisation des variables. - Arithmétique sur les adresses. - Formats d'entrée/sortie associés aux types numériques. - Opérateurs bit à bit : ET, OU, OU exclusif, complément à 1, négation. Opérateurs de décalage : >>, <<. - Expression conditionnelle avec l'opérateur ternaire. Mise en oeuvre des opérateurs et expressions. 3) Structures de contrôle - Notion de blocs. - Les structures de boucles : while, for. - Instructions de contrôle de boucles : break, continue. - Structures de choix : if, else, else if. - Structure de choix multiple : switch. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 17

18 Mise en oeuvre des structures de contrôle. 4) Tableaux, pointeurs et chaînes de caractères - Définition, initialisation et accès aux éléments d'un tableau. - Définition d'un pointeur. Récupérer l'adresse mémoire d'un objet. Accéder au contenu d'un pointeur. - Equivalences pointeurs/tableaux. - Calculs sur les pointeurs. - Chaînes de caractères. - Exemples de manipulation de chaînes de caractères. - Les chaînes de caractères Unicode de C11. Manipulation de tableaux, de pointeurs et des chaînes de caractères. 5) Les structures - Intérêts des structures. - Déclarer, initialiser et accéder aux champs d'une structure. - Utiliser des structures imbriquées. - Créer de nouveaux types en utilisant Typedef. - Les champs de bits. - Les unions. - Les énumérations. - Les structures et énumérations anonymes de C11. - Définir des pointeurs sur structures. Implémentation de nouvelles structures de données. 6) Les fonctions - Définition d'une fonction. - Appel d'une fonction. - Passage de paramètres : par valeur ou par référence. - Code retour d'une fonction. Les types de retour. - La fonction " main ". Découper son code à l'aide de fonctions. Gérer les appels de fonctions. 7) Compilation séparée, classe d'allocation - Mécanisme de fonctionnement de la chaîne de production. - Utilisation de bibliothèque de sources. - Notion de Makefile. - Configuration mémoire d'un programme C (pile, tas...). - Classes d'allocation des variables (auto, register, static, extern). - Différents cas de figure de la compilation séparée. - Notion d'objet externe. - Cas des données globales et statiques. - Cas des données locales. - Règle de visibilité. - Compléments sur les fonctions et les initialisations. 8) Le préprocesseur - Utilisation des macros prédéfinies (constantes symboliques). Définir ses propres macros avec #define. - Définir des macros comme des fonctions. Utilisation des marqueurs # et ##. - Annuler la définition de constante avec #undef. - La compilation conditionnelle : #if, #ifdef, #ifndef, #elif, #endif. - Inclure des ressources avec #include. Utilisation des directives du préprocesseur. Mise en place de la compilation conditionnelle. 9) Les bibliothèques standard - Les fonctions de calcul mathématique (sqrt, sin...). - Les fonctions d'entrées/sorties (fprintf, fscanf...). - Les fonctions d'accès aux fichiers (fread, fwrite...). - Les fonctions de manipulation de chaînes de caractères (strlen, strcat...). - Les fonctions de gestion de la mémoire (malloc, free...). - Mise en place de structures chaînées (listes chaînées, arbres n-aire...). - Les fonctions «sécurisées» de la librairie standard C11 (strcat_s, strlen_s,...). Utilisation des principales fonctions des bibliothèques standard. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 18

19 Stage pratique de 4 jour(s) Réf : LIS Développeurs Linux/Unix. Bonne connaissance d'un système Linux/ Unix et de la programmation en C. Prix 2015 : 2330 HT Dates des sessions Paris 16 juin 2015, 29 sep déc Développeur système sous Linux/Unix OBJECTIFS Cette formation vous permettra de maîtriser toutes les facettes de la programmation applicative : gestion des processus et threads, gestion fine du système de fichiers et de la mémoire et bien entendu l'ensemble des outils de communication interprocessus. 1) Outils et méthodes de développement 2) Les processus 3) Les threads Posix 4) Communications entre processus 5) Gestion de la mémoire 6) Signaux 7) Communiquer sur le réseau 8) Entrées-sorties classiques et avancées Les exercices et études de cas progressifs sont réalisés sur un réseau de serveurs Linux. Tous les TP existent sous forme de squelettes à complèter. 1) Outils et méthodes de développement - Environnement Linux : influences, logiciels libres, licence GPL, distributions. - Outils de développement : éditeurs et environnements intégrés, compilateurs et constructeurs, profileurs et débogueurs. Prise en main des outils de développement (gcc, make...). 2) Les processus - Concept de processus, identifications. - Création, terminaison d'un processus et exécution. - Problèmes de sécurité. 3) Les threads Posix - Principe des threads Posix.1c. - Exécution et terminaison des threads. - Synchronisation des threads : utilisation des mutex et des variables conditions. 4) Communications entre processus - Files de messages : principe. Files de message System V et Posix. - Mémoire partagée : principe. Segments de mémoire System V et Posix. - Synchronisation des accès : sémaphores Posix et nommés. - Tubes de communication : création d'un tube, redirection des entrées-sorties, tubes nommés. 5) Gestion de la mémoire - Principes de la mémoire virtuelle : espace d'adressage et mémoire physique. Segmentation et pagination. Fautes de page. - Allocation de la mémoire : fonctions classiques, exploration de l'espace d'adressage, réussite et échec d'allocation. - Utilisation de la mémoire : projection, configuration, détection des fuites et débordements mémoire. 6) Signaux - Gestion des signaux : émission et réception de signaux, blocages et attentes. - Signaux temps réel : principes. Emission et réception. 7) Communiquer sur le réseau - Appels système fondamentaux : résolution de noms, de services, création de sockets. - Communication TCP/IP et UDP/IP : serveurs multiprocessus et multithreads, clients TCP. - Transmission unicast, multicast et broadcast. 8) Entrées-sorties classiques et avancées - Descripteurs et flux : concepts, utilisation, paramétrage. - Entrées-sorties avancées : entrées-sorties non bloquantes et multiplexées, asynchronisme. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 19

20 Stage pratique de 4 jour(s) Réf : LDI Développeurs Linux/Unix. Linux, drivers et programmation noyau OBJECTIFS Maîtriser le développement de pilotes de périphériques. Comprendre en détail les mécanismes internes du noyau. Savoir développer et intégrer de nouveaux éléments dans le noyau Linux. Bonnes connaissances de Linux/Unix et de la programmation C. Prix 2015 : 2330 HT Dates des sessions 1) Présentation du noyau 2) Les outils utilisables 3) Gestion des threads, scheduling 4) Gestion de la mémoire, du temps et de proc 5) Périphérique en mode caractère 6) Linux Driver Framework - sysfs 7) Périphérique en mode bloc et systèmes de fichier 8) Interfaces et protocoles réseau 9) Drivers pour périphériques USB Paris 2 juin 2015, 29 sep déc Les nombreux exercices et études de cas progressifs seront réalisés sur un réseau de serveurs Linux. Tous les programmes réalisés en TP existent sous forme de squelettes que les participants complètent euxmêmes. 1) Présentation du noyau - Vue d'ensemble du système et rôle du noyau. - Les sites de référence. - Spécificités des noyaux 2.6 et 3.x. - Cycles de développement du noyau, les patchs. - Mode de fonctionnement (superviseur et utilisateur). Appels système. - Organisation des sources (Include/linux, Arch, Kernel, Documentation...). - Principe de compilation du noyau et des modules. - Les dépendances et symboles. - Les exportations de symboles. - Le chargement du noyau (support, argument...). Compilation et installation d'un noyau 3.x. 2) Les outils utilisables - Outils de développement (Gcc, Kbuild, Kconfig et Makefile...). - Outils de débogage (GDB, KGDB, ftrace...). - Environnement de débogage (Linux Trace Toolkit...). - Outil de gestion de version (Git...). - Tracer les appels système (ptrace...). Installer l'ensemble des outils et des sources pour générer un module pour le noyau. Configurer le système pour effectuer le chargement automatique de module au boot. Ecriture et test de modules simples. 3) Gestion des threads, scheduling - Les différents types de périphériques. - Contextes de fonctionnement du noyau. Protection des variables globales. - Représentation des threads (état, structure task_stru, thread_info...). - Les threads, contexte d'exécution. - Le scheduler de Linux et la préemption. - Création d'un thread noyau (kthread_create, wakeup_process...). Créer un module qui crée un thread noyau lors de l'insertion et le décharge lors du rmmod. Ecriture d'un module d'horodatage d'événements à haute précision. Ecriture d'un module d'information sur les structures internes des processus. 4) Gestion de la mémoire, du temps et de proc - L'organisation mémoire pour les architectures UMA et NUMA. - L'espace d'adressage utilisateur et noyau. - La gestion de pages à la demande (demand paging). - Allocations mémoire, buddy allocator, kmalloc, slabs et pools mémoire. - La gestion des accès à la mémoire (les caches et la MMU). - Les problèmes liés à la sur-réservation de la mémoire. - Gestion de la mémoire sur x86 et ARM, utilisation des Hugepages. - Optimisation des appels systèmes (IAPX32, VDSO). - Synchronisations et attentes dans le noyau, waitqueues, mutex et les completions. - Les ticks et les jiffies dans Linux. - L'horloge temps réel, RTC (real Time Clock), implémentation des timers. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 20

21 - Interface timers haute résolution, estampilles. - Les outils spécifiques au noyau, listes chaînées, kfifo et container_of. - L'interface noyau avec /proc par le procfs. Utilisation des timers et des estampilles. Implémentation d'un accès au procfs. Mise en œuvre de l'allocation mémoire dans le noyau et optimisation à l'aide des slabs. 5) Périphérique en mode caractère - Ecriture de pilotes de périphériques caractère. - Le VFS (Virtual File System). - Les méthodes associées aux périphériques caractères. - Gestion des interruptions DMA et accès au matériel. - Enregistrement des pilotes de périphériques de type caractère et optimisations. Ecriture progressive d'un pilote périphérique en mode caractère. Implémentation des synchronisations d'entrée-sortie entre threads et avec la routine d'interruption. Implémentation de l'allocation mémoire. 6) Linux Driver Framework - sysfs - Présentation du framework, kobject, kset et kref. - Les objets drivers, device driver, bus et class. - Utilisation et génération des attributs présentés dans le sysfs. - Interface avec le hotplug, méthodes match, probe et release. - Gestion du firmware. - Gestion de l'énergie, méthodes de gestion de l'énergie. Implémentation d'un bus, d'un driver et d'un device driver. Adaptation du pilote de périphériques caractère. Exemple d'utilisation de l'interface. 7) Périphérique en mode bloc et systèmes de fichier - Principe des périphériques en mode bloc. Enregistrement du driver. - Callback de lecture et écriture. Support du formatage et opérations avancées. - Ordonnanceur des entrées-sorties par bloc du noyau. - Conception des systèmes de fichiers. - Enregistrement d'un nouveau système de fichiers. Exemple de pilote complet de périphérique virtuel. Exemple d'un système de fichiers personnalisé. 8) Interfaces et protocoles réseau - Gestion des interfaces réseau sous Linux. - Utilisation des skbuff. - Les hooks netfilter. - Intégration d'un protocole. Exemple de driver réseau pour périphérique virtuel. Implémentation de protocole réseau. 9) Drivers pour périphériques USB - Principe des périphériques USB. Interface avec le module USB-core. - Interaction du périphérique avec le noyau Linux. - Construction d'un URB (USB Request Block). - Les gadgets USB. Enregistrement d'un driver USB. Ecriture d'un driver en mode isochrone. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 21

22 Stage pratique de 4 jour(s) Réf : LXT Développeurs Linux/Unix. Bonnes connaissances d'un système Linux/Unix et de la programmation en C. Prix 2015 : 2330 HT Dates des sessions Paris 19 mai 2015, 16 juin aoû. 2015, 26 oct déc Aix 2 juin 2015, 13 oct déc Bordeaux 30 juin 2015, 6 oct déc Bruxelles 30 juin 2015, 29 sep nov Geneve 30 juin 2015, 29 sep nov Grenoble 2 juin 2015, 13 oct déc Lille 2 juin 2015, 13 oct déc Luxembourg 30 juin 2015, 29 sep nov Lyon 2 juin 2015, 13 oct déc Montpellier 2 juin 2015, 13 oct déc Nantes 30 juin 2015, 6 oct déc Rennes 30 juin 2015, 6 oct déc Sophia-antipolis 2 juin 2015, 13 oct déc Strasbourg 2 juin 2015, 13 oct déc Toulouse 30 juin 2015, 6 oct déc Linux industriel, temps réel et embarqué OBJECTIFS Découvrir les outils de développement industriel disponibles librement sous Linux. Maîtriser les mécanismes d'ordonnancement, connaître leurs possibilités. Accéder au développement temps réel strict avec l'extension LinuxRT ou Xenomai. Déployer Linux sur des systèmes embarqués en équilibrant les performances et l'occupation mémoire. 1) Architecture 2) Développement industriel sous Linux 3) Ordonnancement temps partagé et réel souple 4) Temps réel strict - Extension Xenomai 5) Environnements restreints, systèmes embarqués 6) Personnalisation du boot du système Les nombreux exercices et études de cas progressifs sont réalisés sur un réseau de serveurs Linux. Tous les programmes réalisés en TP existent sous forme de squelettes que les participants complètent eux-mêmes. 1) Architecture - Système informatique ordinaire et système embarqué. - Contraintes d'un système embarqué. - Architecture générale d'un système embarqué. - Démarrage du système, étape de boot. - Architecture du noyau Linux. Emplacement des sources. - Démarrage du système, phases de boot (code dépendant, commun). Détection d'erreur à la compilation, à l'édition des liens, utilisation d'eclipse/cdt, utilisation d'une chaîne de compilation croisée. Débogage. Détection des fuites mémoire et des débordements de buffers. Test de couverture sur l'exécution d'une application. 2) Développement industriel sous Linux - Environnement Linux. - Mode de fonctionnement : utilisateur, superviseur. - Licences et implications pour le développement industriel. - Outils de développement libres (compilateur, debugger, outils d'analyse, de trace et de tests). - Les différents IDE (Integrated Development Environment) : Eclipse,... - Méthodes de compilation avancées. - La chaîne de compilation croisée. - La gestion de mémoire. - La détection des fuites mémoire. - Le débordement de buffers. 3) Ordonnancement temps partagé et réel souple - Précision des mesures horaires et des attentes. - Ordonnancement temps partagé. Les règles de la préemptibilité. - Le fonctionnement général de l'ordonnanceur, priorités et partage du CPU. - Quand le noyau devient-il préemptible? - Gestion du temps et précision des timers. - Temps réel souple Posix.1b : principes. - Configuration de l'ordonnancement des processus et des threads. - Problèmes algorithmiques liés au temps réel. - L'ordonnanceur Linux : noyaux 3.x Création et gestion de processus. Priorités et partage du CPU. Examen du fonctionnement de l'ordonnanceur. Basculement de processus en temps réel. Vérification de la précision des timers et des sommeils. 4) Temps réel strict - Extension Xenomai - Principe du temps réel strict. - Vue d'ensemble de l'extension Xenomai. - Concepts de temps réel strict : principe des micro-noyaux Adeos, Xenomai, LinuxRT. - Installation et API de Xenomai. - Utilisation de l'extension LinuxRT. - Ordonnancement temps réel strict en mode utilisateur. - Interruptions (activation, désactivation,...). - Protection contre les interruptions. - Gestion des communications. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 22

23 - Présentation de l'api de Xenomai, installation de Xenomai. - La gestion des tâches temps réel strict. Installation de Xenomai. Création de tâches temps réel strict. Gestion des communications. Ecriture d'un gestionnaire d'interruption, de processus ordonnancé en temps réel strict. Installation et utilisation de Xenomai. 5) Environnements restreints, systèmes embarqués - Problématique des systèmes embarqués. - Système LinuxRT, Xenomai : API, développement. - Linux embarqué : choix d'une version du noyau. - Bibliothèques système (Newlib, DietLibc). - Applications et utilitaires à embarquer. - Interface utilisateur. - Interfaces graphiques optimisées (directfb, etc). - Présentation et configuration d'un chargeur de démarrage. - Générer un noyau réduit. Généralité sur le système de fichiers. - Installation de la chaîne de compilation. Installation, compilation d'une application personnalisée LinuxRT, Xenomai et d'un noyau de taille réduite. Création d'un système de fichiers. Incorporation d'applications minimales. Ecriture d'application utilisant une interface par Leds ou afficheur LCD. Installation d'un serveur HTTP embarqué. 6) Personnalisation du boot du système - Les différentes phases de boot (mise sous tension, Bios, chargeur (Grub, UBoot...) du noyau. - Le rôle du processus Init. Le niveau d'exécution. - Le contenu du processus Init. - Le remplacement du processus Init par une version personnalisée. - Initialisation depuis l'espace utilisateur. Création et personnalisation d'un disque initrd. Remplacement du processus Init par une version personnalisée et remplacement par un script shell. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 23

24 Stage pratique de 3 jour(s) Réf : PSE Cette formation s'adresse aux développeurs PHP ayant déjà une bonne pratique du langage, désirant développer des applications plus sécurisées. Bonnes connaissances des langages PHP et SQL. Connaissances de base de JavaScript. PHP 5, sécurité des applications OBJECTIFS De par sa nature même, le service dynamique de pages Web ouvre de nombreuses portes sur le monde extérieur. Pour le développeur, il est primordial de prendre conscience des types d'attaques auxquelles son code sera potentiellement exposé et de savoir y faire face, double objectif de ce stage. 1) Introduction 2) Les pages Web 3) Formulaires : la grande porte 4) Cookies et sessions 5) Sécuriser PHP : les bons réglages 6) Bases de données 7) Sécuriser l'emploi des extensions 8) Considérations générales Des machines sous Windows XP Pro équipées des serveurs Apache2 avec PHP5, MySql, Oracle, LDAP, FTP et mail seront mises à la disposition des participants. 1) Introduction - Présentation des risques. - Destruction de données. - Détournement de site. - Publication de données confidentielles. - Abus de ressources. - Vol d'identité. - Plan Sécurité : Conception, Développement et Maintenance. 2) Les pages Web - XSS principe et méthodes de protection. Moteur de recherche. - CSRF : principe et contre-mesures. Virus en base de données. 3) Formulaires : la grande porte - Les failles. Validation et limitations de l'approche JavaScript. Chaînage, attaques HTTP et Ajax. Contremesures. - Validation des entrées. Tests et principe des listes. Expressions régulières, standards et filtres. - Upload. Failles et contre-mesures. 4) Cookies et sessions - Cookies. Principes et risques. Manipulation JavaScript. Tableaux de cookies. - Sessions. Mode Cookie vs. Header. Principe du vol de session. 5) Sécuriser PHP : les bons réglages - PHP.ini. Directives sensibles, sessions et erreurs. - Protéger les scripts. Protection physique. Exécution de scripts distants ou à la volée. 6) Bases de données - Failles potentielles. Administration. Stockage. - Injections SQL. Principe et contre-mesure. Procédures stockées et requêtes paramétrées. Limites. - Fichiers d'accès. Organisation et valeurs par défaut. Accès anonymes et protocoles. 7) Sécuriser l'emploi des extensions - . Spam via un formulaire de contact : injections et contre-mesures. - Accès réseau par PHP. Appels séquentiels et récursifs. Attaque furtive. 8) Considérations générales - BFA. Principe. Identification et contre-mesures. - Phishing. Principe et formation des utilisateurs. - DoS. Quotas et gestion des charges. - Mots de passe. Renforcement et stockage.. - Chiffrement et signature. Cryptage / décryptage : implémentation PHP et MySQL. - Ruses. Pot de Miel, Obfuscation et Turing inversé. - Frameworks et briques logicielles. Gestion de la sécurité dans les développements composites. - Audit de sécurité. Méthodologie de base, Cross-test et rapport d'audit. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 24

25 Stage pratique de 3 jour(s) Réf : PPH Développeurs. Bonne connaissance opérationnelle de PHP 5.5 en contexte web, procédural et objet. Prix 2015 : 1875 HT Dates des sessions Paris 18 mai 2015, 28 sep PHP Zend Certified Engineer, préparation à la certification Ce stage vous délivrera l'ensemble des informations nécessaires au passage de l'examen de certification PHP. Il s'agit d'un test de préparation basé sur des révisions du PHP et non d'un cours PHP. Les principaux concepts du langage seront illustrés par la mise en œuvre d'exemples pour une meilleure assimilation. OBJECTIFS PEDAGOGIQUES Obtenir les informations relatives au passage de l'examen Zend Certified Engineer Réviser en profondeur les 12 sujets de la certification Acquérir les réflexes cognitifs en relation avec la procédure certifiante Mettre en œuvre les concepts abordés par des exemples pratiques 1) Introduction 2) Bases de PHP 3) Tableaux 4) PHP et POO Méthodes pédagogiques 5) Manipulations avancées 6) Conception et théorie 7) Bases de données 8) Sécurité Illustration de la théorie par des exemples pratiques. Démonstration Fourniture de codes commentés correspondant à la théorie étudiée. Mise en œuvre des codes fournis. Certification Préparation à la certification Zend. 1) Introduction - Certification PHP : pourquoi la certification? - Bases de l'examen. Questions et stratégies. - Sujets de la certification. 2) Bases de PHP - PHP embarqué. - Variables & Constantes, portée. Variables système. - Types de données et transtypage. - Chaînes de caractères. - Opérateurs : arithmétiques, booléens, binaires... - Contrôles de flux : conditions & boucles. Itérateurs. - Fonctions : déclaration, paramètres & références. 3) Tableaux - Création, remplissage, fractionnement. - Ajout et suppression d'éléments. Bouclage. - Vérification des valeurs. Comparaisons. - Tri, tri personnalisé. Fusion 4) PHP et POO - Classes, propriétés, méthodes, instance. Constantes. - Propriétés et méthodes statiques. - Héritage. Propagation. - Interfaces et classes abstraites. SPL. - Chargement automatique. Réflexion. 5) Manipulations avancées - Extraction de chaînes. - Comparer et compter des chaînes. - Fonctions phonétiques. - Chaînes de caractères et tableaux. - Sorties formatées. Expressions régulières. - Différences PHP 4/5. 6) Conception et théorie - Motifs de conception : active record, fabrique, itérateur, MVC, Proxy, Singleton. - Fichiers, flux, réseaux : ressources et fichiers de sortie. - Lecture/écriture, opérations de fichiers, wrappers, flux. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 25

26 - Fonctionnalités Web : HTTP POST & GET, accéder aux données, uploads de fichiers, cookies. - XML et Services Web : XML, SOAP, WSDL; créer et utiliser un Web Service, débogage. 7) Bases de données - Théorie des SGBD. Typage, dimension et contraintes de champs. Index et clés étrangères. - SQL : DDL,DML et DQL. - Tris : ordre et sens. - Groupement. - Jointures (gauche et droite). 8) Sécurité - La défense en profondeur et les bonnes pratiques. - XSS : comprendre le Cross Site Scripting. - CSRF : principes et décompte des attaques. - Injections de fichiers distants (RFI). Exécution distante. - Sessions : vol et corruption de sessions. - Configuration de sécurité. - Uploads : erreurs, tailles et vérifications de type mime. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 26

27 Stage pratique de 3 jour(s) Réf : PYM Développeurs PHP et chefs de projets. Bonnes connaissances de PHP. Connaissances de base de la Programmation Orientée Objet. Prix 2015 : 1795 HT Dates des sessions Paris 29 juin 2015, 28 sep déc Aix 15 juin 2015, 31 aoû Bordeaux 22 juin 2015, 21 sep nov Grenoble 15 juin 2015, 31 aoû Lille 15 juin 2015, 31 aoû Lyon 15 juin 2015, 31 aoû Montpellier 15 juin 2015, 31 aoû Nantes 22 juin 2015, 21 sep nov Rennes 22 juin 2015, 21 sep nov Sophia-antipolis 15 juin 2015, 31 aoû Strasbourg 15 juin 2015, 31 aoû Toulouse 22 juin 2015, 21 sep nov PHP 5, développement Web avec Symfony 2 OBJECTIFS Vous apprendrez dans ce cours à développer des applications Web PHP avec le framework Symfony 2. Vous verrez entre autres comment installer le framework, créer des formulaires et des templates, organiser vos applications via une architecture MVC, manipuler des données persistantes et sécuriser les accès. 1) Présentation du framework Symfony 2 2) Démarrer avec le framework Symfony 2 3) La " couche contrôleur " et la gestion des URL 4) La " couche vue " et le moteur de template Twig 1) Présentation du framework Symfony 2 - Rappels de programmation orientée objet. - Présentation globale de Symfony 2. - Concepts principaux, architecture MVC. - Installation de Symfony 2. - Architecture du projet : application, bundles... - Traitement d'une requête HTTP avec Symfony 2. Démonstration Exemples avec Symfony 2. 2) Démarrer avec le framework Symfony 2 - Configuration de l'application et surcharge. - Outils de ligne de commande. - Outils de débogage du code : Web Debug Toolbar... - Autoloading des classes. 5) La couche Modèle 6) Les formulaires et leur validation 7) Aller plus loin avec le framework Symfony 2 Prise en main de l'environnement. Description de l'application Web qui servira de fil rouge. 3) La " couche contrôleur " et la gestion des URL - Définition d'un " contrôleur " et de ses " actions ". - Mappage des contrôleurs au système de routage. - Accéder aux informations de la requête http. - Redirection vers une autre page, affichage d'une page d'erreur Mécanisme du routage et gestion des URL. Mise en place du contrôleur de l'application. Manipulation des informations de requête et de session. Mise en oeuvre de la redirection. 4) La " couche vue " et le moteur de template Twig - Utilisation des templates. Moteur de template Twig. - Héritage de templates. Inclusions dans les templates. - Templates modulaires. Helpers. Création et utilisation de templates. Mise en place de la couche Vue de l'application. 5) La couche Modèle - Définition du modèle et de la base de données. - Présentation de Doctrine 2 (DBAL et ORM). - Gestion des objets persistants. - Requêtage objet, accesseurs, relation et association. - Remaniement de code et objets métiers. Mise en place de la couche Modèle de l'application. 6) Les formulaires et leur validation - Création d'un formulaire simple. - Affichage d'un formulaire dans des templates. - Sécurité renforcée avec les tokens (SCRF). - Validation des formulaires. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 27

28 Création de formulaires. Ajout de pages à l'application fil rouge. Mise en place de la validation. 7) Aller plus loin avec le framework Symfony 2 - Sécurité, contrôle d'accès et authentification. - Tests automatisés avec PHPUnit. - Solution d' . - Services Web (SOAP et Rest). - Ajouter de nouvelles macros, fonctions à Twig. Mise en oeuvre et tests. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 28

29 Stage pratique de 4 jour(s) Réf : FAR Développeurs et architectes. Connaissances de base des concepts objet. Bonnes connaissances de PHP5 et du HTML. Prix 2015 : 2330 HT Dates des sessions Paris 4 mai 2015, 8 sep nov Zend Framework 2, maîtrise du développement Web OBJECTIFS Ce cours vous apportera les meilleures pratiques de développement Web avec le Zend Framework version 2. Après l'avoir installé, vous en découvrirez l'architecture et les concepts. Vous concevrez des modules, des formulaires, aborderez l'injection de dépendances et utiliserez les principaux composants du framework. 1) Introduction 2) Programmation orientée objet 3) Installation de Zend Framework 2 4) Utilisation du framework 1) Introduction - Définition d'un framework et de son intérêt. - Présentation générale du Zend Framework 2. - Changements par rapport à Zend Framework 1. 2) Programmation orientée objet 5) Accès aux bases de données 6) Les formulaires 7) Bonnes pratiques avec Zend Framework 2 8) Autres composants - Rappels : classes, objets, visibilité, encapsulation, accesseurs, constructeur, méthodes magiques... - Conception objet : références, associations, héritage, classes abstraites, interfaces. - Design patterns : Factory, Model View Controller, Data Mapper, Table Gateway, Front Controller, Two Step View... - Normes PSR (0/1/2) et autochargement de classes. Conception d'un modèle Objet. 3) Installation de Zend Framework 2 - Utilisation d'un composant dans un projet existant. - Création d'un projet, installation via ZFTool, utilisation de Composer, configuration d'un IDE. - Architecture MVC. Squelette d'application. Création d'un projet. 4) Utilisation du framework - Type de code pour le Modèle, le Contrôleur, la Vue? - Utilisation du Layout, ViewModel, aides de vues disponibles et personnalisées. - Gestion des erreurs, plug-ins de Contrôleurs. Développement d'un CMS sous ZF2. 5) Accès aux bases de données - Les bases de données simplifiées avec Zend\Db. - L'ORM Doctrine et le module Doctrine Module. Manipulation de données via l'orm Doctrine. 6) Les formulaires - Zend\Form : gestion des formulaires. - Filtrage et validation : Zend\Filter, Zend\Validate, Zend\InputFilter. - Conversions objets/tableaux avec les Hydrateurs. 7) Bonnes pratiques avec Zend Framework 2 - Injection de dépendances : Zend\Di et Zend\ServiceManager. - Ecriture de tests unitaires avec PHPUnit. - Création de modules, utilisation de modules Zend Framework 2 populaires : ZfcUser, ZendDeveloperTools, BjyProfiler... - Débogage et profilage avec XDebug. 8) Autres composants - Les Web Services avec Zend\Soap, Zend\XmlRpc, Zend\Mvc\Controller\AbstractRestfulController. - Authentification et gestion des droits. - Mails, Logs, Session, Config. - Internationalisation avec Zend\ I18n. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 29

30 - Zend\EventManager. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 30

31 Stage pratique de 3 jour(s) Réf : ZEN Développeurs et architectes. Connaissances de base des concepts objet. Bonnes connaissances de PHP5 et du HTML. Prix 2015 : 1795 HT Dates des sessions Paris 29 juin 2015, 7 sep nov Zend Framework, maîtrise du développement Web OBJECTIFS Ce cours vous apportera les meilleures pratiques de développement Web avec le Zend Framework. Après un rappel des prérequis techniques et théoriques à l'utilisation du framework, vous en découvrirez les concepts et apprendrez à l'installer, le configurer ainsi qu'à concevoir des applications Web. 1) Prise en main du Zend Framework 2) Rappels sur la programmation orientée objet 3) Architecture MVC et composants de base 4) Base de données et passerelles Eclipse PDT et Wampserver seront utilisés pour les travaux pratiques. 1) Prise en main du Zend Framework - Définition d'un framework et de son intérêt. - Présentation générale du Zend Framework. - Téléchargement, installation et configuration de base. - Installation via la méthode SVN. - Premiers pas avec Zend Framework. 2) Rappels sur la programmation orientée objet 5) Utilisation avancée des composants 6) Interopérabilité et services Web 7) Tests sous Zend Framework 8) Bonnes pratiques - Concepts de la POO. Classes et objets. Implémentation en PHP : visibilité, constructeur, destructeur, héritage... - Modélisation : relations entre les classes, diagrammes UML. - Concepts objet PHP avancés. 3) Architecture MVC et composants de base - Organisation MVC du Framework Zend. - Gestion du flux d'exécution MVC. - Utilisation de Zend Controller. - Maîtrise des composants de base (Zend_Loader, Zend_Config, Zend_Log, Zend_Debug, etc.). - Configuration dans le fichier d'amorçage. 4) Base de données et passerelles - Utilisation de Zend_Db et de ses classes dérivées. - Utilisation du CRUD de Zend_Db_Table. - Gestion des relations entre les tables dans le modèle. - Utilisation, création de filtre et de validateur. - Utilisation de l'objet Zend_Form dans le contexte MVC. 5) Utilisation avancée des composants - Gestion des sessions avec Zend_Session, de l'authentification avec Zend_Auth et des autorisations avec Zend_Acl. - L'internationalisation et la localisation. - Ajout d'une fonctionnalité à un composant existant. - Intégration d'un composant externe. 6) Interopérabilité et services Web - La communication interapplications. - Utilisation des services Google, Amazon, Yahoo. - Lecture d'un flux RSS quelconque. - Utilisation et création d'un service Web REST et SOAP. 7) Tests sous Zend Framework - Installation de PHPUnit via Pear. - Tests unitaires avec Zend Framework et PHPUnit. 8) Bonnes pratiques - Débogage d'une application Zend Framework. - Choix des outils adaptés. Astuces d'eclipse PDT. - Profiling. Testabilité. Gestion des montées de version. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 31

32 Stage pratique de 3 jour(s) Réf : CFT Concepteurs, développeurs. Bonnes connaissances du langage C ou connaissances équivalentes à celles apportées par le stage "Programmation en C" (réf. LGC). Programmation en C, perfectionnement Cette formation vous permettra d'approfondir vos connaissances en langage C. Vous manipulerez les aspects avancés des pointeurs et intégrerez des algorithmes récursifs dans vos développements. Vous découvrirez les évolutions apportées par la programmation orientée objet ainsi que les ajouts majeurs de la norme C11. OBJECTIFS PEDAGOGIQUES Manipuler les pointeurs, les pointeurs de fonctions et les bibliothèques intégrées au langage Maîtriser les structures de données récursives et leurs algorithmes intrinsèques Utiliser les outils de développement associés au langage C Maîtriser les évolutions orientées objets et les ajouts majeurs de la norme C11 Prix 2015 : 1875 HT Dates des sessions Paris 22 juin 2015, 21 sep nov ) Les pointeurs et les tableaux 2) Les bibliothèques de fonctions 3) La récursivité 1) Les pointeurs et les tableaux 4) Les outils de développement pour le langage C 5) Du langage C à la programmation orientée objet 6) Les aspects avancés de la norme C11 - Rappels sur les pointeurs et les tableaux, différences et points communs entre les deux. - Les trois arguments de la fonction main(), les variables d'environnement. - Tableaux à plusieurs indices. - Pointeur de fonctions, tableau de pointeurs de fonctions. - Allocation dynamique repérée par les pointeurs. Développement de programmes utilisant les pointeurs de façon intensive. 2) Les bibliothèques de fonctions - Bibliothèques standard du langage : ctype.h, math.h, stdlib.h, time.h... et les autres. - Bibliothèques mathématiques avancées : Linpack, Lapack. - La gestion de l'allocation dynamique : fonctions calloc(), realloc(). - Fonctions à nombre d'arguments variables existantes et créées par le programmeur. Utilisation de plusieurs bibliothèques de fonctions. 3) La récursivité - Définition de la récursivité. - Fonctions récursives. - Structure de données récursives : listes, arbres. - Algorithmes intrinsèques sur les structures de données récursives (insertion, retrait...). Création d'une bibliothèque pour la manipulation des données récursives. 4) Les outils de développement pour le langage C - Recherche d'erreur dans les programmes : le debugger. - Outils de gestion de dépendances : make et touch. - Analyse dynamique de programmes : le profiler. - Outils de tests : CUnit. Utilisation des outils de développement pour le langage C. 5) Du langage C à la programmation orientée objet - Définitions des notions orientées objet : objet, encapsulation, classe, héritage, polymorphisme. - Domaines orientés objet traités avec le langage C. - Du langage C au langage C++. - Du langage C au langage Java. Conception orientée objet utilisant le langage C. 6) Les aspects avancés de la norme C11 - Le multi-threading. - Les structures et unions anonymes. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 32

33 - Les fonctions génériques. - La gestion du codage Unicode. - Réécriture de certaines fonctions, vérification des tailles des données. Utilisation des notions ajoutées par la norme C11. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 33

34 Stage pratique de 3 jour(s) Réf : VEM Développeurs C souhaitant connaître les nouveautés définies par le standard C11. Bonnes connaissances du langage C. Une expérience pratique de la programmation avec ce langage est fortement recommandée. Prix 2015 : 1875 HT Dates des sessions Paris 29 juin 2015, 7 sep nov C11, mise à niveau pour développeur C Cette formation vous permettra d'assimiler les nouveautés introduites par le standard C11 ISO/IEC 9899:2011. Vous découvrirez la gestion du multithreading, la sélection générique de fonctions ainsi que de nombreuses autres fonctions de la bibliothèque standard offrant des interfaces de fonctionnement sûres. OBJECTIFS PEDAGOGIQUES Appréhender les nouveautés de C11 Développer des applications exploitant les threads standards C11 Améliorer la fiabilité d'une application à l'aide des nouvelles fonctions standards C11 1) L'avènement de C11 2) Rappels sur les avancées de C99 3) Le multi-threading 4) Utiliser les threads de C11 5) Les objets atomiques 6) La sureté de fonctionnement 7) Améliorations diverses Des exercices pratiques de programmation permettront d'appréhender les différents concepts abordés. 1) L'avènement de C11 - Les différentes normes C ANSI, C99, C11. - Nouveautés de C11 et objectifs de cette norme ISO. - Compatibilité avec les anciennes versions. - Outils de développement (compilateurs, IDE...). Mise en place d'une chaîne de compilation C11. 2) Rappels sur les avancées de C99 - Les tableaux de taille variable. - Les fonctions inline. - Les nouveaux types de données long, _Complex, _Bool. - Les pointeurs "restreints" (restrict). - Mélanger instructions et déclarations de variables. - Le problème de la non-conformité des compilateurs. - Les reprises/abandons de C99. Compiler en C99 et en C11 et savoir dans quelle version on se trouve. 3) Le multi-threading - Le concept de thread. Processus léger vs lourd. - Cycle de vie des threads (exécution...). - Partage de données entre threads. - Synchronisation, rendez-vous, sémaphores. - Les propositions des autres langages : Java, C#, C++. 4) Utiliser les threads de C11 - Appréhender les concepts présents dans la norme et les différences/similitudes avec Pthreads. - Créer un thread, le rendre exécutable. - Définir des pauses, attendre la fin d'exécution. - Utiliser les mutex. - Implémenter un producteur-consommateur. Utiliser les threads C11. 5) Les objets atomiques - Comprendre les problématiques de partage de données entre threads et le concept d'objet atomique. - Définir une donnée atomique. - Utiliser les opérations atomiques. - La gestion des données non-atomiques. Réaliser un partage de données entre threads. 6) La sureté de fonctionnement ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 34

35 - La suppression de gets() par gets_s(). - La fonction fopen_s(). - Autres fonctions : strcat_s(), strcpy_s()... Manipulation de fonctions. 7) Améliorations diverses - L'alignement des structures (<stdalign.h>). - La gestion des chaines Unicode (char16_t...). - Le support des structures et unions anonymes. - La sélection générique de fonctions au sein des macros (_Generic). - Manipulation des nombres complexes. - Le nouveau mode de fopen(). - Les assertions statiques. Mise en oeuvre des améliorations. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 35

36 Stage pratique de 5 jour(s) Réf : C++ Ce cours s'adresse aux ingénieurs qui souhaitent acquérir une formation à l'approche objet et aux spécificités du langage C+ +. A l'issue de ce cours, ils sauront utiliser ce langage comme un véritable outil de programmation objet. Bonnes connaissances du langage C. Prix 2015 : 2500 HT Dates des sessions Paris 18 mai 2015, 1 juin juil. 2015, 17 aoû sep. 2015, 12 oct nov. 2015, 7 déc Aix 29 juin 2015, 31 aoû Bordeaux 18 mai 2015, 27 juil oct. 2015, 14 déc Bruxelles 15 juin 2015, 28 sep déc Geneve 15 juin 2015, 28 sep déc Grenoble 29 juin 2015, 31 aoû Lille 29 juin 2015, 31 aoû Luxembourg 15 juin 2015, 28 sep déc Lyon 29 juin 2015, 31 aoû Montpellier 29 juin 2015, 31 aoû Nantes 18 mai 2015, 27 juil oct. 2015, 14 déc Rennes 18 mai 2015, 27 juil oct. 2015, 14 déc Sophia-antipolis 29 juin 2015, 31 aoû Strasbourg 20 avr. 2015, 29 juin aoû. 2015, Toulouse 18 mai 2015, 27 juil oct. 2015, 14 déc Programmation objet en C++ OBJECTIFS Ce stage intensif a deux objectifs : initier les participants aux méthodes et réflexes de la programmation par objets ; leur apporter une maîtrise opérationnelle complète du langage C++. Il est le fruit d'une longue expérience en matière de développement en C++ et est construit selon une pédagogie rigoureuse reposant sur des travaux pratiques nombreux et progressifs. 1) La syntaxe du C++ (différences entre C et C++) 2) Approche orientée objet 3) La programmation objet avec C++ 4) Les exceptions 5) La surcharge des opérateurs 6) Les modèles 7) Les I/O et aperçu sur la STL 8) Conclusion Des stations de travail disposant des langages Visual C++ (sous Windows) et gcc (sous Unix) seront à la disposition des participants pendant toute la durée du cours. Les exercices pratiques ont été conçus pour illustrer tous les éléments du langage et pour systématiquement mettre en oeuvre les concepts de la conception orientée objet : tous les exercices comportent une phase d'analyse/conception suivie d'une phase de programmation. 1) La syntaxe du C++ (différences entre C et C++) - Données : définition, initialisation, types de données. - Expressions : notion de référence, mécanismes de cast. - Opérateurs ( : :, new, delete). - Fonctions (passage de paramètres et valeur de retour par référence, valeurs par défaut, inlining, surcharge). - Utilisation du code C dans un programme C++. - Les références (arguments et valeurs de retour). - Les types constants. - Les espaces de nommage. Prise en main de l'environnement de développement et programmation d'un programme simple. 2) Approche orientée objet - Les principes généraux des techniques objet. - C++ et la programmation objet. - Une introduction aux méthodologies orientées " objets ". - Une introduction aux modèles et à la notation UML (modèle statique, dynamique, modèle de coopération, scénario). L'application des concepts à une étude de cas qui sera l'un des fils directeurs des exercices suivants. 3) La programmation objet avec C++ Les classes et les objets - Les aspects syntaxiques : les champs, les méthodes, les constructeurs. - Le contrôle d'accès. - L'auto-référence. - Les champs et méthodes statiques. - Les fonctions. - Les méthodes et les classes friend. - La création dynamique des tableaux d'objets. - Les aspects méthodologiques : la conception des classes. - Les constructeurs de copie. Dérivation et héritage - Principe de la dérivation. - Les aspects syntaxiques : la définition des classes dérivées, les constructeurs. - Le contrôle d'accès. - La mise en oeuvre du polymorphisme : les fonctions virtuelles. - La réutilisation de code : les classes abstraites. - La dérivation multiple. - Les aspects sémantiques et méthodologiques : la factorisation du code. La programmation de l'étude de cas. La conception et la construction d'une hiérarchie de classes et d'interfaces. La mise en place du polymorphisme dans l'étude de cas. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 36

37 4) Les exceptions - Les aspects syntaxiques : les blocs de try, la génération des exceptions. - Les aspects méthodologiques : la construction d'une hiérarchie d'exception, l'utilisation des exceptions. L'introduction des exceptions dans l'étude de cas. 5) La surcharge des opérateurs - Principe de la surcharge. - Surcharge des opérateurs binaires. - Surcharge particulière : l'opérateur indice, fonction, conversion. - Surcharge des opérateurs de gestion mémoire. - Surcharge des opérateurs '<<' et '>>'. La surcharge de quelques opérateurs simples. 6) Les modèles - Modèle de classe. Principes et mécanismes généraux. Surcharge des modèles et redéfinition de méthodes. - Modèle de fonction. Principes et mécanismes généraux. Surcharge des modèles. - Modèles et surcharge des opérateurs. - Les modèles et les mécanismes de dérivation. TP sur les modèles. 7) Les I/O et aperçu sur la STL - Les I/O. - Le principe des streams et la hiérarchie des classes d'entrée/sortie. - Description de quelques classes d'entrées/sorties. - Aperçu sur la STL. - Objectifs et principes. - Descriptions de quelques modèles et classes. - Les conteneurs, les itérateurs. 8) Conclusion - Cycle de vie du logiciel : test, intégration, méthode de mise en production. - Interaction avec les autres environnements. - Analyse critique du C++. - Evolution du C++. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 37

38 Stage pratique de 4 jour(s) Réf : POP Concepteurs et développeurs d'applications en C++, chefs de projets, architectes logiciels. Bonnes connaissances en développement C++, ou connaissances équivalentes à celles apportées par le stage " Programmation Objet en C ++ " (réf. C++). Expérience requise. Prix 2015 : 2330 HT Dates des sessions Paris 27 avr. 2015, 23 juin sep. 2015, 17 nov Aix 2 juin 2015, 29 sep déc Bordeaux 30 juin 2015, 22 sep déc Bruxelles 16 juin 2015, 15 sep nov Geneve 16 juin 2015, 15 sep nov Grenoble 2 juin 2015, 29 sep déc Lille 2 juin 2015, 29 sep déc Luxembourg 16 juin 2015, 15 sep nov Lyon 2 juin 2015, 29 sep déc Montpellier 2 juin 2015, 29 sep déc Nantes 30 juin 2015, 22 sep déc Rennes 30 juin 2015, 22 sep déc Sophia-antipolis 2 juin 2015, 29 sep déc Strasbourg 2 juin 2015, 29 sep déc Toulouse 30 juin 2015, 22 sep déc Programmation C++, perfectionnement OBJECTIFS En constante évolution, le langage C++ offre des mécanismes tels que la généricité ou la métaprogrammation qui permettent une conception robuste et très riche. Les récentes normes Technical Report TR1 et TR2 déjà intégrées dans C++ reprennent l'essentiel des bibliothèques du projet BOOST qui améliorent notablement la Standard Template Library (STL). Cette formation vous permettra d'approfondir la conception en C++ par l'apprentissage de très nombreux mécanismes et l'utilisation effective de la STL. 1) Rappels 2) Gestion des opérateurs 3) Conversion et RTTI 4) La généricité 5) La STL (Standard Template Library) 6) BOOST 7) Utilisation avancée de l'héritage Le cours se déroulera sur des stations de travail sous Windows/Visual C++. De nombreux exercices permettront de mettre en oeuvre les thèmes abordés plus spécifiquement sous l'angle de la conception. 1) Rappels - Classes d'allocation mémoire. - Construction, initialisation, embarquement d'objets. - Les fuites mémoire. - Constance, le mot-clé mutable, Lazy Computation. - Amitié (friendship) C++ et contrôle d'accès. - Destruction virtuelle. - Stratégie de gestion des exceptions. - Organisation logique de l'application : les espaces de nommage (namespace). 2) Gestion des opérateurs - Opérateurs binaires et unaires. - L'opérateur d'indirection, cas d'usage. - L'opérateur de référencement. - Les opérateurs d'incrémentation/décrémentation préfixés et post-fixés. - Les autres opérateurs : comparaison, affectation... - La surcharge de l'opérateur [], des opérateurs d'insertion (<<) et d'extraction (>>). - Les foncteurs et la surcharge de l'opérateur (), avantage par rapport aux fonctions. Création de foncteurs et de proxies (libération mémoire, comptage de références) avec les opérateurs étudiés. 3) Conversion et RTTI - Opérateurs de conversion. Constructions implicites, le mot-clé explicit. - Les opérateurs de casting const_cast, static_cast, reinterpret_cast. - Conversion dynamique et RTTI (Runtime Type Information). - L'opérateur typeid, les exceptions liées. - La classe type_info. - Contrôle du " downcasting " à l'aide de l'opérateur dynamic_cast. Mise en oeuvre des idiomes " is-a " et " is-kind-of " avec dynamic_cast. 4) La généricité - Introduction aux patrons de classe. Généricité et préprocesseur. - Fonction générique. Classe générique. Composition générique. Généralisation générique. - Spécialisation partielle et totale. - Introduction à la méta-programmation. - La généricité, principe fédérateur des librairies STL et BOOST. Démarrage de l'étude de cas qui sera complétée avec la STL et BOOST. Mise en oeuvre de la composition et de la généralisation génériques. Création de plug-ins génériques. 5) La STL (Standard Template Library) - Introduction. - Composants de la STL : types complémentaires, conteneurs, algorithmes, itérateurs, objets fonctions, les adaptateurs. - Les chaînes de caractères STL, la classe template basic_string et ses spécialisations. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 38

39 - Les conteneurs séquentiels et associatifs : définition, rôle et critères de choix. - Les allocateurs et la gestion de la mémoire des conteneurs. - Les méthodes d'insertion, de suppression, d'itération et d'accès aux principaux conteneurs : Vector, List, Set, Stack... - Le concept d'itérateur. Parcours d'un conteneur. - Les différents groupes d'algorithmes STL : non mutants, mutants, de tri et de fusion, numériques. - Manipulation de conteneurs (manipulation, recherche de valeurs...). - Paramétrer les algorithmes génériques par des objets " fonction ". - Les " adapteurs " et la modification du comportement d'un composant. - La STL et les traitements sur les flux (fichiers, mémoire...). - Principe du RAII : les pointeurs automatiques et la classe auto_ptr. - Les exceptions standard de la STL. Implémentation des relations avec les collections de la STL. Utilisation d'algorithmes standard quelconques. 6) BOOST - Présentation de Boost et de l'extension TR1 (Technical Report 1). - Les nouveaux conteneurs. - Les pointeurs intelligents (smart pointers) : shared_ptr, weak_ptr, unique_ptr. - La Pointer Container Library (destruction des données pointées d'un conteneur). - Foncteurs, binders et lambda-expressions. - Programmation événementielle (connexions et signaux). Introduction à la gestion des threads. - Gestion des processus, mécanismes de communication interprocessus et mémoire partagée. - Les structures de données (Tuple, Any, Variant). Mise en oeuvre de la robustesse avec les smart pointers de BOOST. 7) Utilisation avancée de l'héritage - Héritage versus embarquement. Héritage privé. Héritage protégé. - Exportation de membres cachés avec la Clause Using. - Héritage multiple et gestion des collisions de membres. - Héritage en diamant. Héritage virtuel et dynamic_cast. - Les principes de base de conception : substitution de Liskov, principe d'ouverture/fermeture, inversion des dépendances. - Règles d'implémentation des interfaces en C++. Combinaison de l'héritage multiple, privé et de l'exportation pour concevoir des classes robustes et hautement évolutives. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 39

40 Stage pratique de 3 jour(s) Réf : VEC Développeurs C++ souhaitant connaître les nouveautés définies par le standard C Bonnes connaissances du langage C++. Une expérience pratique de la programmation avec ce langage est recommandée. Prix 2015 : 1875 HT Dates des sessions Paris 22 juin 2015, 28 sep C++11, mise à niveau pour développeur C++ Cette formation vous permettra d'assimiler les nouveautés introduites par le standard C Vous découvrirez les expressions lambda, exploiterez les possibilités de la programmation fonctionnelle, maîtriserez la gestion de la mémoire et exploiterez les autres nouveautés de la bibliothèque standard C++. OBJECTIFS PEDAGOGIQUES Appréhender les nouveautés et les améliorations du langage C++11 Utiliser les lambda-expressions Exploiterez les possibilités de la programmation fonctionnelle Maîtriser les allocations-destructions d'objets Développer une application multi-threadée 1) L'avènement de C++11 2) Les améliorations du langage 3) Les modifications au niveau des classes 4) L'utilisation des threads 5) Autres nouveautés de la bibliothèque standard 6) La programmation fonctionnelle avec les lambda-expressions 7) La gestion mémoire et les conteneurs Des exercices pratiques de programmation permettront d'appréhender les différents concepts abordés. 1) L'avènement de C Les différentes normes C++98, C++03 et C++0x, C Les nouveautés de C++11 et les objectifs de cette norme. Le devenir de BOOST, STL. - La question de la compatibilité des codes anciens. - La disponibilité des outils de développement (compilateurs, débogueurs, IDE...). Vérification de l'outillage à l'aide d'un code C++11 fourni. 2) Les améliorations du langage - Les énumérations fortement typées. - Les tableaux à taille fixe. - Le mot-clé auto pour simplifier le typage. - La boucle basée sur un intervalle. - Autres améliorations : templates à arguments variables, pointeur nul, littéraux... Mise en œuvre des améliorations. 3) Les modifications au niveau des classes - La délégation de constructeurs, les contraintes liées à l'héritage. - La nouvelle sémantique du déplacement et le constructeur par déplacement (move constructor). - Adaptation de la forme normale des classes aux nouveautés (move constructor). - Les directives =delete, =default. - Les initialiseurs de conteneurs et de données membres. Création de classes C ) L'utilisation des threads - Déclaration et exécution d'un thread. Attente de fin d'exécution avec join(). - La gestion des données locales à un thread, l'usage de volatile. - Récupérer un résultat avec future<> et async(). - Obtenir des informations sur les capacités d'exécution de la plateforme avec hardware_concurrency(). Multithreader un code séquentiel et mesurer le gain en termes de temps d'exécution. 5) Autres nouveautés de la bibliothèque standard - La gestion du temps avec le namespace chrono. - Le nouveau conteneur tuple. Mise en œuvre des nouveautés. 6) La programmation fonctionnelle avec les lambda-expressions ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 40

41 - Déclaration, typage, implémentation et utilisation. - L'intérêt d'auto avec les lambda-expressions. - La gestion des fermetures (closures), avec capture par valeur ou par référence des variables liées au contexte. Exercices de programmation fonctionnelle. 7) La gestion mémoire et les conteneurs - Les smart pointers : shared_ptr, weak_ptr, unique_ptr, auto_ptr. Usage conjoint avec la STL. Mise en œuvre de la gestion mémoire C++11. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 41

42 Stage pratique de 2 jour(s) Réf : TDE Ce cours s'adresse aux développeurs Java et C# souhaitant acquérir des connaissances spécifiques au développement C++. Maîtrise de C# ou de Java ainsi que des concepts de programmation orientée objet. Prix 2015 : 1380 HT Dates des sessions Paris 18 juin 2015, 3 sep nov C++, mise à niveau pour les développeurs C# et Java OBJECTIFS Windows 8 a relancé l'intérêt du langage C++ auprès de développeurs pratiquant le C# et Java. Sur la base de vos connaissances objets, ce cours vous assurera une transition douce vers le C Vous apprendrez comment C++ et sa librairie standard permettent d'écrire du code efficace et robuste pour vos applications. 1) Rappel des concepts de base du développement C++ 2) Présentation des concepts C++ avancés 3) Librairie standard : la BCL de C++ 4) Syntaxe C++ avancée 5) C++ et l'interopérabilité 1) Rappel des concepts de base du développement C++ - Les différents fichiers sources (.h,.cpp...). - Linkage et compilation de code écrit en C++. - Ecriture de classes et structures : la syntaxe de base. - Réutilisation de composants déjà compilés :.lib,.dll,.h etc. Création d'une solution multi-projets en C++, avec linkage statique et dynamique. 2) Présentation des concepts C++ avancés - Instanciation "statique" versus instanciation "dynamique" d'objets. - Les différents types de constructeurs (par défaut, par copie...). - Gestion de la mémoire sans garbage collector (manuellement ou en utilisant les smart pointers de la librairie standard). - Héritage multiple : cas pratiques et pièges à éviter. - Les Templates. - Orientation objet et comparaison avec C#. Atelier de manipulation des smart pointers de la librairie standard. 3) Librairie standard : la BCL de C++ - Représentations mémoires possibles d'une chaîne de caractère et manipulation avec std::string et std::wstring. - Introduction à la stl (standard template library). - Containers et itérateurs, les collections C++. Atelier de manipulation de chaînes de caractères et de collections en C++. 4) Syntaxe C++ avancée - Inférence de types et mot-clef automatique. - Orientation fonctionnelle du langage : Lambdas, Functors... et utilisation avec la stl. - Asynchronisme et parallélisation avec C Utilisation d'objets COM Microsoft, avec et sans smart pointers. Exercice d'introduction à la parallel platform library, et manipulation d'expressions Lambda. Cas pratique de consommation d'objets COM, illustration avec Direct 2D. 5) C++ et l'interopérabilité - Publication d'objets COM Windows réutilisables. - Interopérabilité avec.net sur le Desktop : C++ CLI. - Interopérabilité avec.net et JavaScript dans les applications Metro : C++ / CX. Création d'une application métro hybride C# / Xaml + C++ / Direct 2D. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 42

43 Stage pratique de 5 jour(s) Réf : CQT Ce cours est destiné aux développeurs et chefs de projets amenés à mettre en place des applications graphiques utilisant le framework QT. Bonnes connaissances du langage C++. Connaissances de base en XML. Expérience requise en développement C ++. Prix 2015 : 2500 HT Dates des sessions Paris 1 juin 2015, 31 aoû oct C++, développement d'applications graphiques en QT OBJECTIFS QT est un framework orienté objet qui offre des composants d'interface graphique (widgets), d'accès aux données, de connexions réseaux, etc. Cette formation vous apprendra à identifier les éléments importants d'un projet QT et les différents composants graphiques proposés, et à les utiliser avec le XML. 1) Présentation du langage QT 2) Les différents types de projets 3) Les éléments importants d'un projet 4) Les différents composants graphiques 1) Présentation du langage QT - Historique du langage. - Les différentes possibilités d'utilisation. - Les autres librairies graphiques existantes. 2) Les différents types de projets - Présentation des différents types de projets avec QT. - Présentation de QT Creator. - La structure de base d'une application à base d'ihm. Exercice Création d'une première application QT. 3) Les éléments importants d'un projet 5) La gestion des événements 6) Le système de plug-in de QT 7) Aller plus loin avec QT - Fichiers pro, de conception graphique (ui). - Les fichiers de gestion d'internationalisation (ts et qm). - Les types de bases du langage (qint, qfloat...). - La compilation avec qmake. - La classe QObject. - Présentation du modèle MVC. - Le modèle MVC dans QT. Exercice Etude d'un fichier projet pour la mise en place de l'application. 4) Les différents composants graphiques - Les composants de base de l'ihm (QMainWindow, QFrame, QLabel...). - La gestion du positionnement des composants. - Les boîtes de dialogue (QDialog). - Les menus (QMenu). - Modèles prédéfinis et personnalisés. - Les outils de conception visuelle de QT (QT Designer...). Exercice Mise en place de la structure de l'application. 5) La gestion des événements - Notions de signal et de slot. - Déclaration de signaux et de slots. - Installer des filtres d'événement. - Accéder à l'application pendant un traitement lourd (timer et haspendingevents). Exercice Ajout de la gestion des événements à l'application. 6) Le système de plug-in de QT - Comprendre ce que sont les plug-ins avec QT. - Les différentes classes de plug-in (QStylePlugin...). - Les éléments nécessaires à la mise en place d'un plug-in pour QT. - Mise au point d'application gérant des plug-ins. Exercice Mise au point d'un plug-in simple. 7) Aller plus loin avec QT ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 43

44 - Utilisation de XML avec QT. Rappel sur XML, les parsers DOM et SAX. Parsing de documents XML en utilisant QT. - L'internationalisation. Rappel sur Unicode. L'objet QTranslator. L'application QT Linguist. - Applications multiplateformes. QT Mobility. Exercice Utilisation d'un fichier XML pour stocker les données de l'application. Internationalisation de l'application. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 44

45 Stage pratique de 3 jour(s) Réf : MUC Développeurs, architectes logiciels, chefs de projet. Programmer vos applications en Multicore OBJECTIFS Vous découvrirez les architectures Multicore et leur programmation, les techniques de mise en œuvre d'une approche multithread ou multiprocessus et les langages dédiés à la programmation parallèle. Vous étudierez également les contraintes en matière de synchronisation d'accès aux données et les précautions à prendre. Bonnes connaissances de C ou de C++. Connaissances de base des concepts liés aux applications Multicore. 1) Introduction 2) Modélisation des applications 3) Threads 4) Processus 5) La programmation parallèle 6) Synthèse et conclusion Prix 2015 : 1795 HT Dates des sessions Paris 1 juin 2015, 12 oct déc Les exercices et les exemples s'appuieront sur C/C++ et UML sera utilisé pour la modélisation. 1) Introduction - Enjeux de la programmation Multicore. - Tableau des technologies utilisables : processus, thread et parallélisme. - Description du fonctionnement d'un processeur. - Architecture en "Hyperthreading". - Architectures des processeurs INTEL et AMD. - Architectures NVidia et API. - Architecture en mémoire partagée vs mémoire distribuée. 2) Modélisation des applications - Importance des aspects modélisation. - Patterns de mise en parallèle des traitements. - Utilisation des mécanismes asynchrones. - Développer une nouvelle application : précautions et modélisation. Eviter les "singletons". - Modifier une application existante en Multicore. - Choix d'architecture : un compromis synchronisation et performance. Choix multiprocessus/multithreads. 3) Threads - Apport des threads dans une application industrielle. - Ordonnancement des threads. - Gestion des stacks et "call stack" dans les threads. - Débogueurs multithreads. - Gestion des objets de synchronisation : sections critiques, Mutex et Sémaphores. - Développer "Thread safe". - APIs de threads TBB, Clik++, C++11, boost threads, pthreads. Threads et synchronisation en C/C++. 4) Processus - Espaces d'adressage des processus, organisation. - Critères de choix d'une approche multiprocessus. - Techniques de communication interprocessus (IPC). - Outils de debugging multiprocessus. - Avantage et inconvénients des techniques multiprocessus. Gestion de traitements asynchrones avec l'api C/C++. 5) La programmation parallèle - Apport et objectifs de la programmation parallèle. - La librairie «OpenMP» C++ (programmation mémoire partagée). - La librairie «OpenMPI» (programmation mémoire distribuée). - Utiliser les GPU des cartes graphiques pour le calcul. - Kits de NVidia (CUDA) et ATI. - La librairie «OpenAcc» pour la programmation GPU. - La librairie «OpenCL» pour la programmation parallèle CPU et GPU. Paralléliser des algorithmes avec «OpenMP» en C++. Utilisation de l'api OpenCL. 6) Synthèse et conclusion - Conclusion des techniques étudiées. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 45

46 - Avenir du C++ avec le multicore. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 46

47 Stage pratique de 4 jour(s) Réf : CUD Concepteur et développeur d'applications en C++, chef de projets, architecte logiciel. Bonne connaissance du langage C++, expérience requise. Connaissances de base des threads de l'api Windows. Prix 2015 : 2330 HT Dates des sessions Paris 9 juin 2015, 8 sep nov C++, programmer avec CUDA, OpenMP et les PPL Visual Studio OBJECTIFS Cette formation vous propose de découvrir, d'évaluer et de manipuler différentes librairies pour la programmation parallèle en C++. Vous acquerrez toutes les connaissances nécessaires à la mise en œuvre de traitements parallèles. Vous maîtriserez également les Design Patterns spécifiques à ce type de développement. 1) Introduction 2) Les threads dans le C++ 11 et la librairie Boost 3) Les Patterns du parallélisme 4) Le GPU Computing avec CUDA et le C++ AMP 5) Le standard OpenMP et la Parallel Patterns Library Développement d'une application de test. Evaluation des différentes solutions proposées et patterns de développement pour le traitement parallèle. 1) Introduction - Présentation des librairies étudiées. - Rappel de la gestion des threads sous Windows. - Les nouveautés de Visual Studio 2010 et L'instrumentation du code. - Les problèmes liés à l'utilisation des threads. Elaboration d'une application de test des différentes solutions étudiées. Instrumentation du code de l'application de test afin de constater les variations dans les exécutions. 2) Les threads dans le C++ 11 et la librairie Boost - Rappel sur les expressions Lambda et les smart pointers. - La gestion des Threads. La synchronisation. - Comparaison entre l'implémentation du C++ 11, la librairie Boost.Thread et l'api de Windows. - Le Parallel Aggregation Pattern. Mise en œuvre des threads dans l'application de test. 3) Les Patterns du parallélisme - Adapter les Patterns orientés objet. - Le Parallel Loop Pattern. - Le Parallel Task Pattern. - Le Parallel Aggregation Pattern. - Le Futures Pattern. - Le Pipelines Pattern. Réflexions sur la mise en œuvre des différents Patterns avec les librairies de parallélisme sur l'application de test. 4) Le GPU Computing avec CUDA et le C++ AMP - Présentation des librairies DirectCompute, OpenCL et NPP dans l'architecture de CUDA. - Installation du driver spécifique de NVIDIA. - Installation du SDK de CUDA. - Installation de NSight. - Présentation de CUDA C/C++. - Présentation du C++ AMP. Mise en œuvre des fonctions d'une librairie de CUDA, évaluation et profilage des exécutions de l'application de test. Comparaison avec la syntaxe du C++ AMP et évaluation. 5) Le standard OpenMP et la Parallel Patterns Library - Les constructions d'openmp et l'utilisation des pragmas, comparaison avec les threads du C OpenMP. - La Parallel Patterns Library. - Le Concurrency Runtime et les nouvelles fonctionnalités de C++. - Comparaison avec OpenMP. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 47

48 - Les fonctions de travail. Mise en œuvre des différents Patterns avec OpenMP et la PPL sur l'application de test. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 48

Développement logiciel, PHP, C, C++, autres langages

Développement logiciel, PHP, C, C++, autres langages Développement logiciel, PHP, C, C++, autres langages Conçus sur la base d'expériences concrètes, les cours Orsys en programmation vous permettront d'acquérir une parfaite maîtrise des langages phares que

Plus en détail

PHP 5.4 Développez un site web dynamique et interactif

PHP 5.4 Développez un site web dynamique et interactif Editions ENI PHP 5.4 Développez un site web dynamique et interactif Collection Ressources Informatiques Table des matières Table des matières 1 Chapitre 1 Introduction 1. Objectif de l'ouvrage.............................................

Plus en détail

Devenez un véritable développeur web en 3 mois!

Devenez un véritable développeur web en 3 mois! Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web

Plus en détail

CQP Développeur Nouvelles Technologies (DNT)

CQP Développeur Nouvelles Technologies (DNT) ORGANISME REFERENCE STAGE : 26572 20 rue de l Arcade 75 008 PARIS CONTACT Couverture géographique : M. Frédéric DIOLEZ Bordeaux, Rouen, Lyon, Toulouse, Marseille Tél. : 09 88 66 17 40 Nantes, Lille, Strasbourg,

Plus en détail

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES WEB & DÉVELOPPEMENT LES BASES DU WEB HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES LE LANGAGE HTML STRUCTURE D UNE PAGE En-tête et corps Syntaxe INSÉRER DES CONTENUS Texte : formatage (titre,

Plus en détail

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée

Plus en détail

BES WEBDEVELOPER ACTIVITÉ RÔLE

BES WEBDEVELOPER ACTIVITÉ RÔLE BES WEBDEVELOPER ACTIVITÉ Le web developer participe aux activités concernant la conception, la réalisation, la mise à jour, la maintenance et l évolution d applications internet/intranet statiques et

Plus en détail

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4 Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez.

Plus en détail

Formation en Logiciels Libres. Fiche d inscription

Formation en Logiciels Libres. Fiche d inscription République Tunisienne Ministère de l'industrie et la Technologie - Secrétariat d'état de la Technologie Unité des Logiciels Libres Formation en Logiciels Libres Fiche d inscription (Une fiche par candidat)

Plus en détail

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS Avant de commencer 1. Introduction 15 2. HTML5 oui, mais pas que... 15 2.1 HTML5 16 2.2 JavaScript 17 2.3 CSS 18 3. Les outils 18 Préparation des outils et création du projet 1. Introduction 21 2. Team

Plus en détail

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier

Plus en détail

les techniques d'extraction, les formulaires et intégration dans un site WEB

les techniques d'extraction, les formulaires et intégration dans un site WEB les techniques d'extraction, les formulaires et intégration dans un site WEB Edyta Bellouni MSHS-T, UMS838 Plan L extraction des données pour un site en ligne Architecture et techniques Les différents

Plus en détail

//////////////////////////////////////////////////////////////////// Administration bases de données

//////////////////////////////////////////////////////////////////// Administration bases de données ////////////////////// Administration bases de données / INTRODUCTION Système d informations Un système d'information (SI) est un ensemble organisé de ressources (matériels, logiciels, personnel, données

Plus en détail

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures 3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures Objectif global : A l issue de la formation, les stagiaires doivent être opérationnels dans la création d un site internet

Plus en détail

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement Cursus Outils & Développement Vous êtes Consultant, Chef de Projets, Directeur des Systèmes d Information, Directeur Administratif et Financier, Optez pour les «formations Produits» Nous vous proposons

Plus en détail

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant Master CCI Compétences Complémentaires en Informatique Livret de l étudiant 2014 2015 Master CCI Le Master CCI (Compétences Complémentaires en Informatique) permet à des étudiants de niveau M1 ou M2 dans

Plus en détail

COMPÉTENCES TECHNIQUES

COMPÉTENCES TECHNIQUES André RIHANI, 43 ans DEUG A (MPM), 1993 Anglais courant 06.15.30.08.31 [email protected] DÉVELOPPEUR PHP ORANGE: Développeur LAMP (Linux, Apache, MySql, Php) durant 7 ans, tests unitaires et fonctionnels,

Plus en détail

Formation Webmaster : Création de site Web Initiation + Approfondissement

Formation Webmaster : Création de site Web Initiation + Approfondissement Contactez notre équipe commerciale au 09.72.37.73.73 Aix en Provence - Bordeaux - Bruxelles - Geneve - Lille - Luxembourg - Lyon - Montpellier - Nantes - Nice - Paris - Rennes - Strasbourg - Toulouse Formation

Plus en détail

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09 AISL - Architecture et Intégration des Systèmes Logiciels - 2011-2012 webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09 Administrer un serveur et

Plus en détail

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e : CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i

Plus en détail

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA I. Introduction Suite à une demande des étudiants, il m'est apparu intéressant de montrer, à travers un exemple concret, comment

Plus en détail

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais BTS S.I.O. 2012-2013 PHP OBJET Module SLAM4 Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais Table des matières 1 But... 3 2 Les bases :... 3 3 Utilisation d'une classe : Instanciation...3

Plus en détail

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN 1. DÉVELOPPEMENT D'APPLICATION (CONCEPTEUR ANALYSTE) 1.1 ARCHITECTURE MATÉRIELLE DU SYSTÈME INFORMATIQUE 1.1.1 Architecture d'un ordinateur Processeur,

Plus en détail

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada MySQL (Administrateur) (Dernière édition) Programme de formation Microsoft Partner France, Belgique, Suisse, Roumanie - Canada WWW.SASGROUPE.COM Formez vos salariés pour optimiser la productivité de votre

Plus en détail

Programmation Web. Madalina Croitoru IUT Montpellier

Programmation Web. Madalina Croitoru IUT Montpellier Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance

Plus en détail

Burckel Thomas. Formation. Compétences

Burckel Thomas. Formation. Compétences Burckel Thomas Adresse : 92 avenue de la République 94300 VINCENNES Tel : 06.83.21.48.25 Email : [email protected] Date et lieu de naissance : 3 septembre 1986 à Strasbourg Formation 2006 2009 Polytech

Plus en détail

Architectures web/bases de données

Architectures web/bases de données Architectures web/bases de données I - Page web simple : HTML statique Le code HTML est le langage de base pour concevoir des pages destinées à être publiées sur le réseau Internet ou intranet. Ce n'est

Plus en détail

Formation : WEbMaster

Formation : WEbMaster Formation : WEbMaster Objectif et Description : Centre Eclipse vous propose une formation complète WebMaster, vous permettant de : Utiliser dès maintenant les nouveautés du web2, ainsi alléger les besoins

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau) CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.

Plus en détail

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition) Présentation du langage XML 1. De SGML à XML 17 2. Les bases de XML 18 2.1 Rappel sur HTML 18 2.2 Votre premier document XML 19 2.3 Les avantages de XML 21 3. La syntaxe XML 21 3.1 La première ligne du

Plus en détail

ASP.NET MVC 4 Développement d'applications Web en C# - Concepts et bonnes pratiques

ASP.NET MVC 4 Développement d'applications Web en C# - Concepts et bonnes pratiques Introduction 1. Introduction 11 2. La plateforme de développement web de Microsoft 11 3. Définition du modèle de programmation MVC 14 4. L'historique d'asp.net MVC 17 4.1 ASP.NET MVC 1 (2008) 17 4.2 ASP.NET

Plus en détail

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09 INFORMATIQUE & WEB Code du diplôme : CP09 Passionné par l informatique et le web, vous souhaitez obtenir une certification dans un domaine porteur et enrichir votre CV? PARCOURS CERTIFICAT PROFESSIONNEL

Plus en détail

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i Modernisation IBM i Nouveautés 2014-2015 IBM Power Systems - IBM i 19 et 20 mai 2015 IBM Client Center, Bois-Colombes S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i Mardi

Plus en détail

Compte Rendu d intégration d application

Compte Rendu d intégration d application ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...

Plus en détail

RTDS G3. Emmanuel Gaudin [email protected]

RTDS G3. Emmanuel Gaudin emmanuel.gaudin@pragmadev.com RTDS G3 Emmanuel Gaudin [email protected] PragmaDev Dédiée au développement d un AGL pour le développement des applications temps réel et embarquées. Réseau de partenaires: Formations, Service,

Plus en détail

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés) Introduction à la POO 1. Histoire de la POO 9 2. Historique du 12 La conception orientée objet 1. Approche procédurale et décomposition fonctionnelle 13 2. La transition vers l'approche objet 14 3. Les

Plus en détail

UE 8 Systèmes d information de gestion Le programme

UE 8 Systèmes d information de gestion Le programme UE 8 Systèmes d information de gestion Le programme Légende : Modifications de l arrêté du 8 mars 2010 Suppressions de l arrêté du 8 mars 2010 Partie inchangée par rapport au programme antérieur Indications

Plus en détail

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France Développement d applications Internet et réseaux avec LabVIEW Alexandre STANURSKI National Instruments France Quelles sont les possibilités? Publication de données Génération de rapports et de documents

Plus en détail

REQUEA. v 1.0.0 PD 20 mars 2008. Mouvements d arrivée / départ de personnels Description produit

REQUEA. v 1.0.0 PD 20 mars 2008. Mouvements d arrivée / départ de personnels Description produit v 1.0.0 PD 20 mars 2008 Mouvements d arrivée / départ de personnels Description produit Fonctionnalités L application Gestion des mouvements d arrivée / départ de Requea permet la gestion collaborative

Plus en détail

Programme et contenus 2010-2011. Licence d'informatique de Lille, parcours MIAGE, en alternance ou en formation continue 01-04-2011 (13:40)

Programme et contenus 2010-2011. Licence d'informatique de Lille, parcours MIAGE, en alternance ou en formation continue 01-04-2011 (13:40) Programme et contenus 2010-2011 L3 MIAGE FA/FC Licence d'informatique de Lille, parcours MIAGE, en alternance ou en formation continue 01-04-2011 (13:40) PROGRAMME ET CONTENUS 2010-2011 Séminaire de rentrée

Plus en détail

JAVA 8. JAVA 8 - Les fondamentaux du langage. Les fondamentaux du langage Java. Avec exercices pratiques et corrigés JAVA 8 29,90.

JAVA 8. JAVA 8 - Les fondamentaux du langage. Les fondamentaux du langage Java. Avec exercices pratiques et corrigés JAVA 8 29,90. Analyste et développeur pendant plus de 10 ans, Thierry GROUSSARD s est ensuite orienté vers la formation et plus particulièrement dans le domaine du développement. Sa connaissance approfondie des besoins

Plus en détail

BACHELOR DEVELOPPEUR WEB

BACHELOR DEVELOPPEUR WEB BACHELOR DEVELOPPEUR WEB Programme Détaillé Objectifs Le Bachelor en Développement Web permet aux étudiants d acquérir des compétences très opérationnelles tout en se préparant à une poursuite d études

Plus en détail

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada AJAX (Administrateur) (Dernière édition) Programme de formation Microsoft Partner France, Belgique, Suisse, Roumanie - Canada WWW.SASGROUPE.COM Formez vos salariés pour optimiser la productivité de votre

Plus en détail

Cursus Sage ERP X3 Outils & Développement. CURSUS Sage ERP X3 Outils & Développement ADVANCED. Outils avancés. 2 jours X3A-ADM. Développement 1 &2

Cursus Sage ERP X3 Outils & Développement. CURSUS Sage ERP X3 Outils & Développement ADVANCED. Outils avancés. 2 jours X3A-ADM. Développement 1 &2 Cursus Outils & Développement Vous êtes Consultant, Chef de Projets, Directeur des Systèmes d Information, Directeur Administratif et Financier, Optez pour les «formations Produits» Nous vous proposons

Plus en détail

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s Mickaël Mickaël BLANCHARD BLANCHARD Préface de Sébastien L e p e r s Magento Préface de Sébastien L e p e r s Magento Réussir son site e-commerce Réussir son site e-commerce Groupe Eyrolles, 2010, ISBN

Plus en détail

Catalogue des Formations

Catalogue des Formations Catalogue des Formations When skills meet your need Pilotage et management SI Base de donnée et Aide à la décision Développement www.intellectus.ma www.fb.com/intellectusconsulting [email protected]

Plus en détail

Hébergement de site web Damien Nouvel

Hébergement de site web Damien Nouvel Hébergement de site web Plan L'hébergeur Le serveur web Apache Sites dynamiques 2 / 27 Plan L'hébergeur Le serveur web Apache Sites dynamiques 3 / 27 L'hébergeur L'hébergeur sous-traite l'architecture

Plus en détail

Dans nos locaux au 98 Route de Sauve 30900 NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

Dans nos locaux au 98 Route de Sauve 30900 NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur FORMATION FORFAIT WEB DEVELOPPEUR Qualification ISQ OPQF Formacode 46 125 Certification de titre professionnel Web Designer + modules optionnels : Développement PHP/MySQL avancé, Web App, CMS e-boutique

Plus en détail

WEA Un Gérant d'objets Persistants pour des environnements distribués

WEA Un Gérant d'objets Persistants pour des environnements distribués Thèse de Doctorat de l'université P & M Curie WEA Un Gérant d'objets Persistants pour des environnements distribués Didier Donsez Université Pierre et Marie Curie Paris VI Laboratoire de Méthodologie et

Plus en détail

Qu'est-ce que le BPM?

Qu'est-ce que le BPM? Qu'est-ce que le BPM? Le BPM (Business Process Management) n'est pas seulement une technologie mais, dans les grandes lignes, une discipline de gestion d'entreprise qui s'occupe des procédures contribuant

Plus en détail

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING Durée : 3J / 21H Formateur : Consultant expert en PAO et Web-marketing. Groupe de : 4 max Formation au web marketing Objectifs : Mettre en oeuvre des

Plus en détail

Les nouvelles architectures des SI : Etat de l Art

Les nouvelles architectures des SI : Etat de l Art Les nouvelles architectures des SI : Etat de l Art Objectif Mesurer concrètement les apports des nouvelles applications SI. Être capable d'évaluer l'accroissement de la complexité des applications. Prendre

Plus en détail

PostgreSQL. Formations. SQL avancé... 10. Calendrier... 18

PostgreSQL. Formations. SQL avancé... 10. Calendrier... 18 Formations PostgreSQL Catalogue 2015 PostgreSQL Administration... 4 PostgreSQL Avancé... 5 PostgreSQL Hot Standby... 6 PostgreSQL Performance... 7 PostgreSQL Sauvegardes... 8 SQL : Conception & Mise en

Plus en détail

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 Tsoft et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 OEM Console Java OEM Console HTTP OEM Database Control Oracle Net Manager 6 Module 6 : Oracle Enterprise Manager Objectifs Contenu A la fin de ce module,

Plus en détail

Catalogue Formation «Vanilla»

Catalogue Formation «Vanilla» Catalogue Formation «Vanilla» Date : octobre 2009 Table des matières Liste des Formations...2 Contenu des formations...3 Vanilla FastTrack...3 Vanilla Architecture...5 Enterprise Services...6 BIPortail...7

Plus en détail

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS Contenu détaillé de la spécialité : SIMO : SYSTEMES D'INFORMATION, METHODES ET OUTILS (ASSISTANT CHEF DE PROJET INFORMATIQUE) Contenu détaillé

Plus en détail

Module BD et sites WEB

Module BD et sites WEB Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet [email protected] 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD

Plus en détail

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

ANALYSTE PROGRAMMEUR DIPLÔME D ÉTABLISSEMENT

ANALYSTE PROGRAMMEUR DIPLÔME D ÉTABLISSEMENT école sciences industrielles & technologies de l information ANALYSTE PROGRAMMEUR DIPLÔME D ÉTABLISSEMENT Crédit : 120 ECTS Code DIE20 Niveau d entrée : Bac Niveau de sortie : Bac + 2 EN VAE Diplômes accessibles

Plus en détail

A5.2.4 Étude d une technologie, d'un composant, d'un outil

A5.2.4 Étude d une technologie, d'un composant, d'un outil Assistance et dépannage des visiteurs : Etude des prérequis de glpi : A5.2.4 Étude d une technologie, d'un composant, d'un outil Sujet : Prérequis Tout ce qu'il faut savoir pour une installation confortable

Plus en détail

Expert technique J2EE

Expert technique J2EE EHRET Guillaume 25, rue de la Richelandiere 42100 SAINT ETIENNE 32 ans - Célibataire Expert technique J2EE Domaines de compétences Environnement et langages Expertise en programmation Java et en architecture

Plus en détail

Programme ASI Développeur

Programme ASI Développeur Programme ASI Développeur Titre de niveau II inscrit au RNCP Objectifs : Savoir utiliser un langage dynamique dans la création et la gestion d un site web. Apprendre à développer des programmes en objet.

Plus en détail

CAHIER DES CHARGES D IMPLANTATION

CAHIER DES CHARGES D IMPLANTATION CAHIER DES CHARGES D IMPLANTATION Tableau de diffusion du document Document : Cahier des Charges d Implantation EVRP Version 6 Etabli par DCSI Vérifié par Validé par Destinataires Pour information Création

Plus en détail

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed 6, bd maréchal Juin F-14050 Caen cedex 4 Spécialité Informatique 2 e année Rapport de projet Gestion du parc informatique matériel et logiciel de l Ensicaen SAKHI Taoufik SIFAOUI Mohammed Suivi ENSICAEN

Plus en détail

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie Chapitre I : Les bases du C++ Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie du logiciel, et ce depuis

Plus en détail

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information. PACBASE «Interrogez le passé, il répondra présent.». Le Module e-business Les entreprises doivent aujourd hui relever un triple défi. D une part, elles ne peuvent faire table rase de la richesse contenue

Plus en détail

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées PRODIGE V3 Manuel utilisateurs Consultation des métadonnées Pour plus d'information sur le dispositif : à remplir par chaque site éventuellement 2 PRODIGE V3 : Consultation des métadonnées SOMMAIRE 1.

Plus en détail

Les grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully

Les grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully Les grandes facettes du développement Web Qui sommes nous? Nicolas Thouvenin Stéphane Gully Projets Web depuis 2000 LAMP, NodeJS HTML, CSS, jquery

Plus en détail

EP60.92 Projet d application pluridisciplinaire La chasse aux trésors 2011-2012

EP60.92 Projet d application pluridisciplinaire La chasse aux trésors 2011-2012 EP60.92 Projet d application pluridisciplinaire La chasse aux trésors 2011-2012 I. Objectifs Mettre en œuvre les compétences acquises ou en cours d acquisition en: o Modélisation UML, Réseau, Base de données,

Plus en détail

PG208, Projet n 3 : Serveur HTTP évolué

PG208, Projet n 3 : Serveur HTTP évolué PG208, Projet n 3 : Serveur HTTP évolué Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L objectif

Plus en détail

Espace numérique de travail collaboratif

Espace numérique de travail collaboratif Espace numérique de travail collaboratif 1/10 Présentation Agora Project est un espace de travail collaboratif complet et intuitif. Cette application est accessible partout et à tout moment, via un simple

Plus en détail

CALENDRIERS DES FORMATIONS 2015- LILLE

CALENDRIERS DES FORMATIONS 2015- LILLE CALENDRIERS DES FORMATIONS 2015- LILLE Pour les dates sur PARIS, TOULOUSE, NANTES, LYON, STRASBOURG et AIX télécharger les calendriers sur www.3itforms.fr 3it FORMATION 56/58 Boulevard de la République

Plus en détail

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre Partie I : Introduction Plan de la première partie Quelques définitions Caractéristiques communes des applications temps-réel Exemples d

Plus en détail

WebSSO, synchronisation et contrôle des accès via LDAP

WebSSO, synchronisation et contrôle des accès via LDAP 31 mars, 1er et 2 avril 2009 WebSSO, synchronisation et contrôle des accès via LDAP Clément Oudot Thomas Chemineau Sommaire général Synchronisation d'identités WebSSO et contrôle des accès Démonstration

Plus en détail

PostgreSQL. Formations. Calendrier... 14

PostgreSQL. Formations. Calendrier... 14 Formations PostgreSQL Catalogue 2013 PostgreSQL Administration... 4 PostgreSQL Avancé... 5 PostgreSQL Hot Standby... 6 PostgreSQL Performance... 7 Développer avec PostgreSQL... 8 Migrer d'oracle à PostgreSQL...

Plus en détail

Introduction à. Oracle Application Express

Introduction à. Oracle Application Express Introduction à Oracle Application Express Sommaire Qu est-ce que Oracle Application Express (APEX)? Vue d ensemble des fonctionnalités et des différents composants d Oracle APEX Démonstration de création

Plus en détail

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence É C O L E D I N G É N I E U R D E S T E C H N O L O G I E S D E L I N F O R M A T I O N E T D E L A C O M M U N I C A T I O N Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION Mentions

Plus en détail

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................

Plus en détail

Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM)

Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM) LA BOITE A OUTILS DE L ACHETEUR DE BPM Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM) La boîte à outils de l acheteur de solution BPM -

Plus en détail

Joomla! Création et administration d'un site web - Version numérique

Joomla! Création et administration d'un site web - Version numérique Avant-propos 1. Objectifs du livre 15 1.1 Orientation 15 1.2 À qui s adresse ce livre? 16 2. Contenu de l ouvrage 17 3. Conclusion 18 Introduction 1. Un peu d histoire pour commencer... 19 1.1 Du web statique

Plus en détail

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD) ----------------------------------------------------------------------------------------------------

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD) ---------------------------------------------------------------------------------------------------- ORGANISME REFERENCE STAGE : 26587 20 rue de l Arcade 75 008 PARIS CONTACT Couverture : M. Frédéric DIOLEZ Paris, Lyon, Bordeaux, Rouen, Toulouse, Marseille, Tél. : 09 88 66 17 40 Strasbourg, Nantes, Lille,

Plus en détail

ECLIPSE ET PDT (Php development tools)

ECLIPSE ET PDT (Php development tools) ECLIPSE ET PDT (Php development tools) Eclipse Eclipse est un IDE (Integrated Development Environment)).C estun projet de la Fondation Eclipse visant à développer tout un environnement de développement

Plus en détail

E-mail : [email protected] - Web : http://www.nqicorp.com

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com - 5, rue Soutrane - 06560 Valbonne Sophia-Antipolis E-mail : [email protected] - Web : http://www.nqicorp.com NQI Orchestra 3.3 - Guide d'installation Windows.................................................................

Plus en détail

FORMATION TALEND. Page 1 sur 9

FORMATION TALEND. Page 1 sur 9 FORMATION TALEND Ce livret contient et détaille les formulaires que vous devez nous retourner avec votre bon de commande. Vous y trouverez aussi toutes les informations susceptibles de vous aider à organiser

Plus en détail

Groupe Eyrolles, 2004 ISBN : 2-212-11504-0

Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Table des matières Avant-propos................................................ 1 Quel est l objectif de cet ouvrage?............................. 4 La structure

Plus en détail

Annexe : La Programmation Informatique

Annexe : La Programmation Informatique GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de

Plus en détail

7 villa de la citadelle Né le 13 mai 1983 94110 Arcueil Nationalité : Française. Développeur Web JEE COMPÉTENCES

7 villa de la citadelle Né le 13 mai 1983 94110 Arcueil Nationalité : Française. Développeur Web JEE COMPÉTENCES Philippe Crépin 7 villa de la citadelle Né le 13 mai 1983 94110 Arcueil Nationalité : Française : 06.17.46.12.09 : [email protected] Disponibilité : En poste chez Soft Computing Développeur Web JEE

Plus en détail

Sage CRM. 7.2 Guide de Portail Client

Sage CRM. 7.2 Guide de Portail Client Sage CRM 7.2 Guide de Portail Client Copyright 2013 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,

Plus en détail

Application web de gestion de comptes en banques

Application web de gestion de comptes en banques Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion

Plus en détail

Dispositif sur budget fédéral

Dispositif sur budget fédéral w w w. c n f e t p. c o m R é f o r m e B T S S I O Services Informatiques aux Organisations Dispositif sur budget fédéral 31 rue des Naudières 44400 REZE Tél. 02 40 32 88 00 Fax 02 40 84 12 95 [email protected]

Plus en détail

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL . THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL Mr MEZRED MOHAMED Ingénieur météorologue INTRODUCTION Il existe de nombreuses manières de construire une base de données. En effet,

Plus en détail

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui Formation PARTIE 1 : ARCHITECTURE APPLICATIVE DUREE : 5 h Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui automatisent les fonctions Définir une architecture

Plus en détail

Environnements de Développement

Environnements de Développement Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement BEN ABDELJELIL HASSINE Mouna [email protected] Développement des systèmes d Information Syllabus

Plus en détail

GenDbg : un débogueur générique. Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion

GenDbg : un débogueur générique. Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion GenDbg : un débogueur générique Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion 2008 Qui sommes nous? Centre d électronique de l Armement (CELAR) Maîtrise et protection

Plus en détail

SIO-65291 Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault

SIO-65291 Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault SIO-65291 Page 1 de 5 1- Objectifs généraux Applications Web dynamiques Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault acquérir les principes et concepts fondamentaux dans le domaine d'applications

Plus en détail