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

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

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

Transcription

1 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 sont PHP, C, C++, et de leurs dernières évolutions, mais également de langages tels que l'objective-c, le Perl, le Python ou encore le SQL. Vous verrez comment développer de nouvelles applications, les intégrer au système d'information de votre entreprise et assurer leur maintenance. Vous apprendrez à mettre en œuvre les Frameworks les plus utilisés et les méthodes les plus efficaces de test, d'industrialisation et d'optimisation. Stages pratiques PHP 5, développer un site Web dynamique... Best ( p3 ) PHP 5, perfectionnement... Best ( p5 ) PHP 5, développement Web avec Symfony... ( p7 ) Programmation en C... Best ( p9 ) Linux/Unix, développement système... ( p12 ) Linux, drivers et programmation noyau... Best ( p13 ) Linux industriel, temps réel et embarqué... Best ( p15 ) iphone/ipad, développer des applications en Objective-C... Best ( p17 ) iphone/ipad, développement avancé en Objective-C... ( p19 ) Introduction à la programmation avec Visual Basic... Best ( p21 ) Introduction à la programmation avec Java... Best ( p23 ) Introduction à la programmation avec C#... ( p25 ) Initiation à la programmation avec Python... Nouveau ( p27 ) PHP 5, maîtriser la programmation orientée objet... ( p29 ) PHP 5, pour les développeurs objet... Best ( p31 ) PHP 5, perfectionnement pour les développeurs objet... ( p33 ) PHP 5, industrialisation des développements... ( p35 ) Architecture REST, développer des Web Services en PHP... ( p36 ) PHP 5, sécuriser vos applications... ( p38 ) PHP Zend Certified Engineer, préparation à la certification... ( p39 ) PHP 5, développement Web avec Symfony 2... Best ( p41 ) Zend Framework 2, maîtrise du développement Web... ( p43 ) Zend Framework, maîtrise du développement Web... ( p45 ) Programmation en C, perfectionnement... ( p46 ) C11, mise à niveau pour développeur C... ( p48 ) Programmation objet en C++... Best ( p50 ) Programmation C++, perfectionnement... Best ( p52 ) C++11, mise à niveau pour développeur C++... ( p54 ) C++, mise à niveau pour les développeurs C# et Java... ( p56 ) C++, développement d'applications graphiques en QT... Best ( p57 ) ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 1

2 C/C++, programmer vos applications en Multicore... ( p59 ) C++, programmer avec CUDA, OpenMP et les PPL Visual Studio... ( p61 ) Développer en Visual Basic... Best ( p63 ) Visual Basic, perfectionnement... ( p65 ) Langage Perl... Best ( p66 ) Langage Perl, programmation avancée... ( p68 ) Python, programmation objet... Best ( p69 ) Django, développement Web avec Python... ( p71 ) Windev, développement d'applications Desktop... ( p73 ) Webdev, développement Web... ( p74 ) PowerBuilder, les fondamentaux... ( p76 ) Les bases du langage Objective C... ( p78 ) Les bases du langage SWIFT 2... Nouveau ( p79 ) iphone/ipad, développer des applications en Swift 2... Nouveau ( p81 ) SQL Server, Programmation SQL... Best ( p83 ) SQL Server, programmation SQL avancée... ( p85 ) SQL Server 2014 à 2008, développement... ( p86 ) Transact-SQL, optimisation pour SQL Server 2014 à ( p88 ) SQL Server 2014/2012, mise en œuvre... ( p89 ) SQL Server 2008, mise en œuvre... Best ( p91 ) Oracle SQL... Best ( p94 ) Oracle SQL, perfectionnement... ( p95 ) Oracle SQL pour le décisionnel... ( p97 ) Développer en PL/SQL... Best ( p98 ) Développer en PL/SQL, perfectionnement... ( p100 ) Oracle, optimisation d'applications... Best ( p102 ) Oracle DS Forms, applications graphiques... ( p103 ) SQL pour MySQL et PostgreSQL... Best ( p104 ) MySQL, prise en main... Best ( p106 ) PostgreSQL, prise en main... ( p108 ) PostgreSQL, optimiser vos developpements... ( p109 ) Mettre en œuvre le contrôle de versions avec le système GIT... ( p111 ) RUBY On Rails 4, développement Web... ( p113 ) Programmation Cobol... ( p115 ) Corba, architecture, mise en œuvre... ( p116 ) ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 2

3 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 8 sep. 2015, 6 oct nov. 2015, 8 déc Aix 6 oct. 2015, 1 déc Bordeaux 13 oct. 2015, 8 déc Bruxelles 22 sep. 2015, 24 nov Geneve 22 sep. 2015, 24 nov Grenoble 6 oct. 2015, 1 déc Lille 6 oct. 2015, 1 déc Luxembourg 22 sep. 2015, 24 nov Lyon 6 oct. 2015, 1 déc Montpellier 6 oct. 2015, 1 déc Nantes 13 oct. 2015, 8 déc Rennes 13 oct. 2015, 8 déc Sophia-antipolis 6 oct. 2015, 1 déc Strasbourg 6 oct. 2015, 1 déc Toulouse 13 oct. 2015, 8 déc PHP 5, développer un site Web dynamique Best 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. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 3

4 - Utilisation. 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 4

5 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 14 sep. 2015, 12 oct nov. 2015, 14 déc Aix 23 nov Bordeaux 21 sep. 2015, 16 nov Bruxelles 28 sep. 2015, 2 nov Geneve 28 sep. 2015, 2 nov Grenoble 23 nov Lille 23 nov Luxembourg 28 sep. 2015, 2 nov Lyon 23 nov Montpellier 23 nov Nantes 21 sep. 2015, 16 nov Rennes 21 sep. 2015, 16 nov Sophia-antipolis 23 nov Strasbourg 23 nov Toulouse 21 sep. 2015, 16 nov PHP 5, perfectionnement Best 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. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 5

6 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. 6) 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 6

7 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 7

8 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 8

9 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 14 sep. 2015, 12 oct nov. 2015, 7 déc Aix 23 nov Bordeaux 28 sep. 2015, 14 déc Bruxelles 21 sep. 2015, 23 nov Geneve 21 sep. 2015, 23 nov Grenoble 23 nov Lille 23 nov Luxembourg 21 sep. 2015, 23 nov Lyon 23 nov Montpellier 23 nov Nantes 28 sep. 2015, 14 déc Rennes 28 sep. 2015, 14 déc Sophia-antipolis 23 nov Strasbourg 23 nov Toulouse 28 sep. 2015, 14 déc Programmation en C Best 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. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 9

10 - Structure de choix multiple : switch. 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,...). ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 10

11 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 11

12 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 29 sep. 2015, 8 déc Linux/Unix, développement système 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 12

13 Stage pratique de 4 jour(s) Réf : LDI Développeurs Linux/Unix. Bonnes connaissances de Linux/Unix et de la programmation C. Prix 2015 : 2330 HT Dates des sessions Paris 29 sep. 2015, 6 oct déc Linux, drivers et programmation noyau Best 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. 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 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. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 13

14 - Les ticks et les jiffies dans Linux. - L'horloge temps réel, RTC (real Time Clock), implémentation des timers. - 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 14

15 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 3 nov. 2015, 14 déc Aix 13 oct. 2015, 1 déc Bordeaux 6 oct. 2015, 8 déc Bruxelles 29 sep. 2015, 24 nov Geneve 29 sep. 2015, 24 nov Grenoble 13 oct. 2015, 1 déc Lille 28 sep. 2015, 1 déc Luxembourg 29 sep. 2015, 24 nov Lyon 13 oct. 2015, 1 déc Montpellier 13 oct. 2015, 1 déc Nantes 6 oct. 2015, 8 déc Rennes 6 oct. 2015, 8 déc Sophia-antipolis 13 oct. 2015, 1 déc Strasbourg 13 oct. 2015, 1 déc Toulouse 6 oct. 2015, 8 déc Linux industriel, temps réel et embarqué Best 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,...). ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 15

16 - Protection contre les interruptions. - Gestion des communications. - 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 16

17 Stage pratique de 5 jour(s) Réf : ONE Architecte ou développeur ayant des compétences techniques en langages objet désirant développer ou gérer un projet de développement sur plate-forme iphone. Bonnes connaissances d'un langage orienté objet (type Java, C++, Objective-C). Prix 2015 : 2500 HT Dates des sessions Paris 7 sep. 2015, 23 nov Aix 14 sep. 2015, 30 nov Bordeaux 21 sep. 2015, 30 nov Bruxelles 12 oct. 2015, 14 déc Geneve 12 oct. 2015, 14 déc Grenoble 30 nov Lille 30 nov Luxembourg 12 oct. 2015, 14 déc Lyon 30 nov Montpellier 30 nov Nantes 21 sep. 2015, 30 nov Rennes 21 sep. 2015, 30 nov Sophia-antipolis 7 sep. 2015, 30 nov Strasbourg 30 nov Toulouse 21 sep. 2015, 30 nov iphone/ipad, développer des applications en Objective-C Best OBJECTIFS A l'issue de cette formation, vous serez en mesure de développer des applications complexes pour iphone. Vous aurez appris à vous servir de l'environnement de développement intégré sur MacOs-X, XCode, du générateur d'interface, de iphone Simulator et du debugger intégré. 1) Introduction 2) Introduction à Objective-C 2.0 3) Enregistrement au programme Apple 4) L'environnement de développement 1) Introduction - Types de terminaux. - Le programme développeur Apple. 2) Introduction à Objective-C Origine du langage Objective-C. - Syntaxe de base. Notion de classe. - Les Controllers. - Identification des objets, constantes : le type id, la valeur nil. - Héritage. - Références dans l'arborescence. - Description d'une méthode Objective-C. - Initialisation de l'instance d'un objet. - Les protocoles et le principe de la délégation (les delegates). - Les sélecteurs. - Le framework Foundation (chaînes de caractères, listes, dictionnaires). - Le comptage de références. 5) Conception et ergonomie 6) Développement 7) Lire et enregistrer des données 8) Introduction aux fonctions avancées Exercice Ecriture de programme en Objective-C. Un exemple avec le Slider. Gestion de la mémoire. 3) Enregistrement au programme Apple - Enregistrement (informations personnelles, bancaires, de développement). Provisioning. - Enregistrement d'un certificat. - Ajouter un périphérique, identifiant UDID. - Ajouter un AppID Identifiant d'application. 4) L'environnement de développement - Description de l'interface (XCode, Simulateur, Instruments,...). - Installation du SDK Apple (téléchargement, installation, localisation). - Méthodologie de développement. - Création d'un projet sous XCode. Interface XCode. - Les fichiers initialement générés. - Cycle d'exécution de l'application. - Définition des propriétés de l'application et le fichier Info.plist. - L'interface Builder et ses composants. - Construction de l'application. - Modèle-Vue-Contrôleur (MVC). - Les actions (déclarations, liaisons à l'interface). - Compilation et lien. Utilisation du simulateur. - Limitations du simulateur. - Mécanismes d'aide, de complétion et de debug. - Utilisation du debugger et de la console, les options de Debug #natives#, les problèmes généraux de compilation. Exercice Création d'une application et débogage. 5) Conception et ergonomie - Méthodologie. - Identifier les fonctions-clés de votre applicatif. - Choisir le design pattern. - Ebaucher le storyboard et une charte graphique. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 17

18 - Développement de l'interface et de l'application. - Tests et optimisation. - Publication sur l'appstore (éléments nécessaires, signature,...). - Liste des icônes nécessaires à la publication. Exercice Améliorer la conception et l'ergonomie d'une application. 6) Développement - Instancier un contrôleur de vues. - Dimensions de l'application. - Dimensions des éléments graphiques. - Les éléments de saisie simple. - Les controls simples : Segmented controls. Switches. Progress Views. WebViews. - Le Slider. - Les contrôleurs de navigation, d'images, de vues et de vues personnalisées. - Ajouter des icônes. - Les Frames. - Rotation et animation des vues. - Contenu de la barre de navigation. - Listes d'éléments. - Action sur les listes. - Utilisation du multimédia (son, vidéo). - Lancement de l'application, icône de lancement. Splash Screen. Ecran de lancement. Exercice Manipuler des éléments de base, des vues, des éléments de navigation, le TableView, des listes. Ajouter un contenu multimédia. 7) Lire et enregistrer des données - Les méthodes de stockage. Ecrire dans les ressources de votre application. - Sauvegarder et restaurer une chaîne de caractères dans un fichier. - Les préférences utilisateur. La classe NSUserDefaults. - Les fichiers de propriétés. Les plist. - Le format de données JSON. Manipulation XML. - Code principal dans le RootViewController. Exercice Manipulation de fichiers XML, JSON et préférences utilisateur. 8) Introduction aux fonctions avancées - Appels synchrones et asynchrones. - La manipulation de l'écran (détection de la position et des mouvements du doigt). - Déplacements simples, utilisation de l'accéléromètre. Zoom simple. - Internationaliser ses applications. - Web Services. - Utilisation du Wifi (détection de l'accès au réseau,...) et du GPS (informations de géolocalisation,...). - Créer une animation, enchaîner les images. - Introduction au graphique OpenGL et au multithreading. - Exécuter deux tâches simultanément. Exercice Manipuler quelques fonctions avancées. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 18

19 Stage pratique de 5 jour(s) Réf : PAD Développeurs iphone/ipad. Bonnes connaissances en développement iphone/ipad ou équivalentes au stage "iphone/ipad, développement d'applications" (réf. ONE). Expérience requise en développement et en programmation Objective-C. Prix 2015 : 2500 HT Dates des sessions Paris 21 sep. 2015, 16 nov iphone/ipad, développement avancé en Objective-C OBJECTIFS Vous apprendrez à perfectionner vos techniques de programmation d'applications pour iphone/ipad. Vous verrez notamment la gestion avancée de la mémoire, des contrôleurs de vue, des threads, de la persistance, des notifications, mais aussi la programmation OpenGL et l'optimisation de sites Web pour iphone et ipad. 1) Gestion avancée de la mémoire 2) Gestion avancée des contrôleurs de vue 3) OpenGL Core Graphic 4) Eléments complémentaires de programmation 1) Gestion avancée de la mémoire 5) Persistance des données 6) Accès aux informations personnelles 7) Notifications 8) Optimiser un site web pour iphone/ipad - Les concepts avancés de gestion de la mémoire. - Utilisation de Shark et d'instruments. - Analyse des programmes (détection des fuites mémoire) avant envoi à l'appstore. Fuites mémoire et analyse de programmes avant envoi à l'appstore. 2) Gestion avancée des contrôleurs de vue - Combinaisons de contrôleurs et de vues. - Split View Controllers. Popovers. In-App Mail. - Les lecteurs de flux RSS (syndication de contenu Web). Manipulation des Split Controllers et des Popovers. Ecriture d'un lecteur de flux RSS. Intégration des fonctions de mail dans une application. 3) OpenGL Core Graphic - Transformations, Clipping Paths. - Concepts OpenGL. Coloriage et textures. - Animations et fonctions OpenGL. Animations OpenGL. 4) Eléments complémentaires de programmation - Principes des threads. Gestion avancée des threads. - Transitions d'animations. Animations et threads. 5) Persistance des données - Rappels XML. Rappels JSON. - SQLLite : accès à une base de données. - Les structures CoreData. Restituer des données collectées sur Internet et les stocker dans une base SQLLite ou des structures CoreData. 6) Accès aux informations personnelles - Le carnet d'adresses. - Les autres types d'informations personnelles. - Certification et e-commerce. - La technologie In-App Purchase (inclure un mini Store au sein de ses applications pour acheter des produits numériques). 7) Notifications - La gestion des push. - Le circuit de notification. - Apple Push Notification Service. - Les certificats. - Envoi de messages " push ". ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 19

20 Générer des actions push. 8) Optimiser un site web pour iphone/ipad - Reconnaître le dispositif appelant. - Routage vers des pages adaptées. Faire un site web simple pour navigateur simple, iphone et ipad. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 20

21 Stage pratique de 3 jour(s) Réf : INP Toute personne devant apprendre à programmer. Aucune connaissance particulière. Introduction à la programmation avec Visual Basic Best OBJECTIFS Ce stage vous permettra de comprendre les fondements de la programmation et de l'algorithmique. Vous acquerrez des bases en programmation qui vous permettront d'aborder n'importe quel langage dans les meilleures conditions. Tous les aspects essentiels seront vus : les modèles de programmation, les éléments de lexique et de syntaxe, les outils, l'organisation du code, l'accès aux bases de données et les tests. Prix 2015 : 1795 HT Dates des sessions Paris 5 oct. 2015, 7 déc ) Les fondements de la programmation 2) Genèse d'un premier programme 3) Règles de programmation 4) Les variables 5) Opérateurs et expressions 6) Les structures de contrôle 7) Les procédures et les fonctions 8) Introduction à la programmation objet 9) L'accès aux bases de données 10) Maintenance, débogage et test des programmes Ce stage contient plus de 60 % de travaux pratiques effectués selon les besoins en Visual Basic (cours réf INP), en Java (cours réf INJ ) ou en C# (cours réf OGR). 1) Les fondements de la programmation - Qu'est-ce qu'un programme? Qu'est-ce qu'un langage? Les différents paradigmes. Quel langage pour quelle application? - Les compilateurs. Les exécutables. - Les responsabilités d'un programmeur. - Qu'est-ce qu'un algorithme? - Les besoins auxquels répond un algorithme. - Le concept de pseudo-langage. Présentation de différents langages (Java, C#, Visual Basic, C, C++). Ecriture d'un premier algorithme en pseudo-langage. 2) Genèse d'un premier programme - Ecriture d'un programme simple : syntaxe et instructions. - Compilation et exécution du programme. - Qu'est-ce qu'une librairie? Son rôle, son usage. Découverte de l'environnement de développement et d'exécution. Ecriture, compilation et exécution d'un premier programme. 3) Règles de programmation - Convention de nommage. - Convention syntaxique. - Utilisation des commentaires. Pourquoi commenter les développements? - Améliorer la lisibilité des programmes : indentation du code, découpage du code... 4) Les variables - Qu'est-ce qu'une variable? - Pourquoi typer une variable? - Les types primitifs : entiers, chaînes de caractères, nombres réels, autres. - Déclaration, définition et initialisation d'une variable. - Les constantes. - Saisie, affichage, affectation, conversion de type. - Organiser ses données sous forme de tableaux. - Les types évolués : enregistrement, matrice, arbre. Ecriture de plusieurs programmes simples manipulant les variables. 5) Opérateurs et expressions - Les différents opérateurs (multiplicatif, additif, comparaison, égalité, logique, affectation). - Combinaison d'opérateurs. - Expression booléenne. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 21

22 Manipulation des opérateurs et des expressions booléennes. 6) Les structures de contrôle - Les sélections alternatives (si, si-alors-sinon, sélection cas). - Les blocs d'insctructions (notion de début... fin). - Les boucles itératives (tant que-répéter, répéter-jusqu'à, pour-de-à). - Imbrication des instructions. - Les commentaires. Utilisation des structures de contrôle pour implémenter un algorithme. 7) Les procédures et les fonctions - Définitions : procédure, fonction. - Pourquoi sont-elles incontournables en programmation (réutilisabilité, lisibilité...)? - Le passage de paramètres. - Le code retour d'une fonction. - Sensibilisation aux limites du passage de la valeur d'une variable. - Notion de passage par adresse. - Appel de fonctions. Debugging de programmes exemples. 8) Introduction à la programmation objet - Les concepts associés à la programmation objet : classe, attribut, méthode, argument. - La modélisation objet à partir des exigences fonctionnelles. - Introduction aux bonnes pratiques d'organisation de conception et d'organisation d'un programme. Illustration des concepts objets. 9) L'accès aux bases de données - Organisation et stockage des données. - Les traitements de base (connexion, requêtes, récupération des données). - Application cliente et serveur de données. - Affichage et manipulation des données dans l'application cliente. Création d'un formulaire de recherche d'informations dans une base de données. 10) Maintenance, débogage et test des programmes - Savoir lire et interpréter les différents messages d'erreurs. - Utiliser un débogueur : exécuter un programme pas à pas, points d'arrêts, inspecter les variables pendant l'exécution. - Prévoir les tests unitaires. Utilisation d'un débogueur pour contrôler l'exécution des programmes. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 22

23 Stage pratique de 3 jour(s) Réf : INJ Toute personne devant apprendre à programmer. Aucune connaissance particulière. Introduction à la programmation avec Java Best OBJECTIFS Ce stage vous permettra de comprendre les fondements de la programmation et de l'algorithmique. Vous acquerrez des bases en programmation qui vous permettront d'aborder n'importe quel langage dans les meilleures conditions. Tous les aspects essentiels seront vus : les modèles de programmation, les éléments de lexique et de syntaxe, les outils, l'organisation du code, l'accès aux bases de données et les tests. Prix 2015 : 1795 HT Dates des sessions Paris 26 oct. 2015, 14 déc ) Les fondements de la programmation 2) Genèse d'un premier programme 3) Règles de programmation 4) Les variables 5) Opérateurs et expressions 6) Les structures de contrôle 7) Les procédures et les fonctions 8) Introduction à la programmation objet 9) L'accès aux bases de données 10) Maintenance, débogage et test des programmes Ce stage contient plus de 60 % de travaux pratiques effectués selon les besoins en Visual Basic (cours réf INP), en Java (cours réf INJ) ou en C# (cours réf OGR). 1) Les fondements de la programmation - Qu'est-ce qu'un programme? Qu'est-ce qu'un langage? Les différents paradigmes. Quel langage pour quelle application? - Les compilateurs. Les exécutables. - Les responsabilités d'un programmeur. - Qu'est-ce qu'un algorithme? - Les besoins auxquels répond un algorithme. - Le concept de pseudo-langage. Présentation de différents langages (Java, C#, Visual Basic, C, C++). Ecriture d'un premier algorithme en pseudo-langage. 2) Genèse d'un premier programme - Ecriture d'un programme simple : syntaxe et instructions. - Compilation et exécution du programme. - Qu'est-ce qu'une librairie? Son rôle, son usage. Découverte de l'environnement de développement et d'exécution. Ecriture, compilation et exécution d'un premier programme. 3) Règles de programmation - Convention de nommage. - Convention syntaxique. - Utilisation des commentaires. Pourquoi commenter les développements? - Améliorer la lisibilité des programmes : indentation du code, découpage du code... 4) Les variables - Qu'est-ce qu'une variable? - Pourquoi typer une variable? - Les types primitifs : entiers, chaînes de caractères, nombres réels, autres. - Déclaration, définition et initialisation d'une variable. - Les constantes. - Saisie, affichage, affectation, conversion de type. - Organiser ses données sous forme de tableaux. - Les types évolués : enregistrement, matrice, arbre. Ecriture de plusieurs programmes simples manipulant les variables. 5) Opérateurs et expressions - Les différents opérateurs (multiplicatif, additif, comparaison, égalité, logique, affectation). - Combinaison d'opérateurs. - Expression booléenne. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 23

24 Manipulation des opérateurs et des expressions booléennes. 6) Les structures de contrôle - Les sélections alternatives (si, si-alors-sinon, sélection cas). - Les blocs d'instructions (notion de Début... Fin). - Les boucles itératives (tant que-répéter, répéter-jusqu'à, pour-de- à). - Imbrication des instructions. - Les commentaires. Utilisation des structures de contrôle pour implémenter un algorithme. 7) Les procédures et les fonctions - Définitions : procédure, fonction. - Pourquoi sont-elles incontournables en programmation (réutilisabilité, lisibilité...)? - Le passage de paramètres. - Le code retour d'une fonction. - Sensibilisation aux limites du passage de la valeur d'une variable. - Notion de passage par adresse. - Appel de fonctions. 8) Introduction à la programmation objet - Les concepts associés à la programmation objet : classe, attribut, méthode, argument. - La modélisation objet à partir des exigences fonctionnelles. - Introduction aux bonnes pratiques d'organisation de conception et d'organisation d'un programme. Illustration des concepts objets. 9) L'accès aux bases de données - Organisation et stockage des données. - Les traitements de base (connexion, requêtes, récupération des données). - Application cliente et serveur de données. - Affichage et manipulation des données dans l'application cliente. Création d'un formulaire de recherche d'informations dans une base de données. 10) Maintenance, débogage et test des programmes - Savoir lire et interpréter les différents messages d'erreurs. - Utiliser un débogueur : exécuter un programme pas à pas, points d'arrêts, inspecter les variables pendant l'exécution. - Prévoir les tests unitaires. Utilisation d'un débogueur pour contrôler l'exécution des programmes. 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 : OGR Toute personne devant apprendre à programmer. Aucune connaissance particulière. Prix 2015 : 1795 HT Dates des sessions Paris 7 sep. 2015, 2 nov Aix 28 sep. 2015, 16 nov Bordeaux 21 sep. 2015, 23 nov Bruxelles 16 nov Geneve 16 nov Grenoble 28 sep. 2015, 16 nov Lille 28 sep. 2015, 16 nov Luxembourg 16 nov Lyon 28 sep. 2015, 16 nov Montpellier 28 sep. 2015, 16 nov Nantes 21 sep. 2015, 23 nov Rennes 21 sep. 2015, 23 nov Sophia-antipolis 28 sep. 2015, 16 nov Strasbourg 28 sep. 2015, 16 nov Toulouse 21 sep. 2015, 23 nov Introduction à la programmation avec C# OBJECTIFS Ce stage vous permettra de comprendre les fondements de la programmation et de l'algorithmique. Vous acquérez des bases en programmation qui vous permettront d'aborder n'importe quel langage dans les meilleures conditions. Tous les aspects essentiels seront vus : les modèles de programmation, les éléments de lexique et de syntaxe, les outils, l'organisation du code, l'accès aux bases de données et les tests. 1) Un programme 2) Nécessité d'un algorithme 3) Genèse d'un premier programme 4) Règles de programmation 5) Les variables 6) Opérateurs et expressions 7) Les structures de contrôle 8) Les procédures et les fonctions 9) Introduction à la programmation objet 10) L'accès aux bases de données Ce stage contient plus de 60 % de travaux pratiques effectués selon vos besoins en Visual Basic (cours INP), en Java (cours INJ) ou en C# (cours OGR). 1) Un programme - Qu'est-ce qu'un programme? - Qu'est-ce qu'un langage? Les différents paradigmes. - Quel langage pour quelle application? - Les compilateurs. Les exécutables. - Les responsabilités d'un programmeur. Présentation de différents langages (Java, C#, Visual Basic, C, C++). 2) Nécessité d'un algorithme - Qu'est-ce qu'un algorithme? - Les besoins auxquels répond un algorithme. - Le concept de pseudo-langage. Ecriture d'un premier algorithme en pseudo-langage. 3) Genèse d'un premier programme - Ecriture d'un programme simple : syntaxe et instructions. - Compilation et exécution du programme. - Qu'est-ce qu'une librairie? Son rôle, son usage. Découverte de l'environnement de développement et d'exécution. Ecriture, compilation et exécution d'un premier programme. 4) Règles de programmation - Convention de nommage. - Convention syntaxique. - Utilisation des commentaires. Pourquoi commenter les développements? - Améliorer la lisibilité des programmes : indentation du code, découpage du code... 5) Les variables - Qu'est-ce qu'une variable? - Pourquoi typer une variable? - Les types primitifs : entiers, chaînes de caractères, nombres réels, autres. - Déclaration, définition et initialisation d'une variable. - Les constantes. - Saisie, affichage, affectation, conversion de type. - Organiser ses données sous forme de tableaux. - Les types évolués : enregistrement, matrice, arbre. Ecriture de plusieurs programmes simples manipulant les variables. 6) Opérateurs et expressions - Les différents opérateurs (multiplicatif, additif, comparaison, égalité, logique, affectation). ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 25

26 - Combinaison d'opérateurs. - Expression booléenne. Manipulation des opérateurs et des expressions booléennes. 7) Les structures de contrôle - Les sélections alternatives (si, si-alors-sinon, sélection cas). - Les blocs d'instructions (notion de Début... Fin). - Les boucles itératives (tant que-répéter, répéter-jusqu'à, pour-de- à). - Imbrication des instructions. - Les commentaires. Utilisation des structures de contrôle pour implémenter un algorithme. 8) Les procédures et les fonctions - Définitions : procédure, fonction. - Pourquoi sont-elles incontournables en programmation (réutilisabilité, lisibilité...)? - Le passage de paramètres. - Le code retour d'une fonction. - Sensibilisation aux limites du passage de la valeur d'une variable. - Notion de passage par adresse. - Appel de fonctions. 9) Introduction à la programmation objet - Les concepts associés à la programmation objet : classe, attribut, méthode, argument. - La modélisation objet à partir des exigences fonctionnelles : introduction aux bonnes pratiques d'organisation de conception et d'organisation d'un programme. Illustration des concepts objets. 10) L'accès aux bases de données - Organisation et stockage des données. - Les traitements de base (connexion, requêtes, récupération des données). - Application cliente et serveur de données. - Affichage et manipulation des données dans l'application cliente. Création d'un formulaire de recherche d'informations dans une base de données. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 26

27 Stage pratique de 2 jour(s) Réf : THO Toute personne devant apprendre à programmer. Aucune connaissance particulière. Prix 2015 : 1410 HT Dates des sessions Initiation à la programmation avec Python Nouveau Ce cours vous initiera aux bases de la programmation et de l'algorithmique. Vous mettrez en œuvre les différentes étapes clefs de la construction d'un programme informatique au travers du langage Python. Vous découvrirez les éléments de lexique et de syntaxe, les outils, l'organisation du code et les tests. OBJECTIFS PEDAGOGIQUES Structurer des programmes selon un algorithme Maîtriser les éléments de lexique et de syntaxe d'un langage pour écrire un programme Compiler et exécuter un programme Déboguer et tester un programme Paris 3 déc ) Un programme 2) Genèse d'un premier programme 3) Règles de programmation 4) Les variables 5) Opérateurs et expressions 6) Les structures de contrôle 7) Les procédures et les fonctions 8) Maintenance, débogage et test des programmes 1) Un programme - Qu'est-ce qu'un programme? - Qu'est-ce qu'un langage? Les différents paradigmes. - Qu'est-ce qu'un algorithme? Le pseudo-langage. - Les compilateurs. Les exécutables. Exercice Présentation de différents langages. Ecriture d'un premier algorithme en pseudo-langage. 2) Genèse d'un premier programme - Ecriture d'un programme : syntaxe et instructions. - Compilation et exécution du programme. - Qu'est-ce qu'une librairie? Son rôle, son usage. Exercice Ecriture, compilation et exécution d'un premier programme Python. 3) Règles de programmation - Convention de nommage. Convention syntaxique. - Utilisation des commentaires. Pourquoi commenter les développements? - Améliorer la lisibilité des programmes : indentation du code, découpage du code... 4) Les variables - Qu'est-ce qu'une variable? - Les types primitifs : entiers, chaînes de caractères, nombres réels, autres. - Déclaration, définition et initialisation d'une variable. Les constantes. - Saisie, affichage, affectation, conversion de type. - Organiser ses données sous forme de tableaux. Manipulation des variables. 5) Opérateurs et expressions - Les différents opérateurs (addition, égalité...). - Combinaison d'opérateurs. - Expression booléenne. Exercice Manipulation des opérateurs et des expressions booléennes. 6) Les structures de contrôle - Les sélections alternatives (si, si-alors-sinon...). - Les blocs d'instructions (notion de Début... Fin). - Les boucles itératives (tant-que-répéter, répéter-jusqu'à, pour-de-à). - Imbrication des instructions. Exercice Utilisation des structures de contrôle. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 27

28 7) Les procédures et les fonctions - Définitions : procédure, fonction. Intérêt. - Le passage de paramètres. - Le code retour d'une fonction. Appel de fonctions. 8) Maintenance, débogage et test des programmes - Savoir interpréter les différents messages d'erreur. - Utiliser un débogueur : exécution d'un programme pas à pas, points d'arrêt, inspecter les variables. - Tests unitaires. Utilisation d'un débogueur pour contrôler l'exécution des programmes. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 28

29 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 26 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 ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 29

30 - Introspection et classe Reflection. - 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 30

31 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 14 sep. 2015, 16 nov déc PHP 5, pour les développeurs objet créer une application Web en POO Best 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 5) Gestion des sessions utilisateurs 6) Utilisation d'une base de données MySQL 7) Une application Web professionnelle - 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) - 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. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 31

32 - Formulaires complexes. Liaison aux données. - Fonctions avancées de sélection : recherches et tris. - Le graphisme en PHP : de la librairie GD. - Intégration au site. 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 32

33 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 3 sep. 2015, 9 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 33

34 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 34

35 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 28 sep. 2015, 14 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 35

36 Stage pratique de 2 jour(s) Réf : STE Développeurs PHP, chefs de projets. Bonnes connaissances du langage PHP en contexte Web (procédural et objet). Connaissances de base en XML et JavaScript souhaitables. Prix 2015 : 1380 HT Dates des sessions Paris 24 sep. 2015, 23 nov 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. 1) Rappels sur la programmation orientée objet 2) XML, JSON, DOM, SAX et XPath 3) Approche REST 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. 4) Implémenter un Web service REST 5) Implémenter un Client REST 6) Frameworks PHP 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 36

37 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 37

38 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écuriser vos 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 38

39 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 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 Dates des sessions Paris 28 sep. 2015, 23 nov ) Introduction 2) Bases de PHP 3) Tableaux 4) PHP et POO Méthodes pédagogiques Illustration de la théorie par des exemples pratiques. Démonstration 5) Manipulations avancées 6) Conception et théorie 7) Bases de données 8) Sécurité 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. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 39

40 - Lecture/écriture, opérations de fichiers, wrappers, flux. - 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 40

41 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 28 sep. 2015, 7 déc Aix 23 nov Bordeaux 21 sep. 2015, 16 nov Grenoble 23 nov Lille 23 nov Lyon 23 nov Montpellier 23 nov Nantes 21 sep. 2015, 16 nov Rennes 21 sep. 2015, 16 nov Sophia-antipolis 23 nov Strasbourg 23 nov Toulouse 21 sep. 2015, 16 nov PHP 5, développement Web avec Symfony 2 Best 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. - Injection de Dépendance et conteneurs de service. Mise en place du contrôleur de l'application. Manipulation des informations de requête et de session. Mise en œuvre 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. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 41

42 - Sécurité renforcée avec les tokens (SCRF). - Validation des formulaires. 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 œuvre et tests. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 42

43 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 1 déc 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. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 43

44 - Internationalisation avec Zend\ I18n. - Zend\EventManager. 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 : 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 16 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. 5) Utilisation avancée des composants 6) Interopérabilité et services Web 7) Tests sous Zend Framework 8) Bonnes 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 - 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 45

46 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). Prix 2015 : 1875 HT 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 Dates des sessions Paris 21 sep. 2015, 16 nov ) Les pointeurs et les tableaux 2) Les bibliothèques de fonctions 3) La récursivité 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 1) Les pointeurs et les tableaux - 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 46

47 - 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 47

48 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 30 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 48

49 - 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 49

50 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 14 sep. 2015, 12 oct nov. 2015, 7 déc Aix 23 nov Bordeaux 5 oct. 2015, 14 déc Bruxelles 28 sep. 2015, 14 déc Geneve 28 sep. 2015, 14 déc Grenoble 23 nov Lille 23 nov Luxembourg 28 sep. 2015, 14 déc Lyon 23 nov Montpellier 23 nov Nantes 5 oct. 2015, 14 déc Rennes 5 oct. 2015, 14 déc Sophia-antipolis 23 nov Strasbourg 23 nov Toulouse 5 oct. 2015, 14 déc Programmation objet en C++ Best 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 50

51 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 51

52 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 17 nov Aix 29 sep. 2015, 8 déc Bordeaux 22 sep. 2015, 1 déc Bruxelles 24 nov Geneve 24 nov Grenoble 29 sep. 2015, 8 déc Lille 29 sep. 2015, 8 déc Luxembourg 24 nov Lyon 29 sep. 2015, 8 déc Montpellier 29 sep. 2015, 8 déc Nantes 22 sep. 2015, 1 déc Rennes 22 sep. 2015, 1 déc Sophia-antipolis 29 sep. 2015, 8 déc Strasbourg 29 sep. 2015, 8 déc Toulouse 22 sep. 2015, 1 déc Programmation C++, perfectionnement Best OBJECTIFS En constante évolution, le langage C++ offre des mécanismes tels que la généricité ou la méta programmation qui permettent une conception robuste et très riche. Les récentes normes C++11 et C ++14 intègrent une part importante des bibliothèques du projet BOOST et améliorent notablement la Standard Template Library (STL). Cette formation vous permettra d'approfondir la conception en C++ par l'apprentissage des dernières évolutions du langage et l'utilisation effective de la STL. 1) Rappels 2) Les nouveautés langage de C++11 3) Gestion des opérateurs 4) Conversion et RTTI 5) La généricité 6) La STL (Standard Template Library) 7) Les nouveautés C++11 de la librairie standard 8) BOOST 9) 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. - Les espaces de nommage (namespace). 2) Les nouveautés langage de C nullptr et autres littéraux. - Les directives =delete, =default. - Délégation de constructeurs. - Les énumérations «type safe». - Le mot-clé auto et boucle sur un intervalle. - Référence rvalue et impacte sur la forme normale des classes C++. - Les lambda-expressions. Réécriture d'un code C++ existant en C++11, comparaison des deux implémentations. 3) 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. 4) 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 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. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 52

53 5) 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. 6) La STL (Standard Template Library) - 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. - 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. 7) Les nouveautés C++11 de la librairie standard - Evolution historique : Boost --> TR1 --> C Les nouveaux conteneurs : array, forward_list, unordered_set, unordered_map. - La classe tuple. - Les pointeurs intelligents (smart pointer) : shared_ptr, weak_ptr, unique_ptr. - Les nouveaux foncteurs et binders. - Introduction à la gestion des threads. - Les expressions régulières. Mise en œuvre de la robustesse avec les smart pointers. Utilisation d'expressions régulières. 8) BOOST - La Pointer Container Library (destruction des données pointées d'un conteneur). - Les structures de données boost::any et boost::variant. - Programmation événementielle (connexions et signaux). - Gestion des processus, mécanismes de communication interprocessus et mémoire partagée. Amélioration de l'implémentation de l'étude de cas par l'utilisation la Pointer Container Library. 9) 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. - Principes 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 53

54 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. 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 Prix 2015 : 1875 HT Dates des sessions Paris 28 sep. 2015, 26 oct nov ) 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. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 54

55 6) La programmation fonctionnelle avec les lambda-expressions - 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 55

56 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 3 sep. 2015, 9 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 56

57 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 26 oct C++, développement d'applications graphiques en QT Best 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 5) La gestion des événements 6) Le système de plug-in de QT 7) Aller plus loin avec QT - 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 - 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. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 57

58 7) Aller plus loin avec QT - 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 58

59 Stage pratique de 3 jour(s) Réf : MUC Développeurs, architectes logiciels, chefs de projet. Bonnes connaissances de C ou de C++. Connaissances de base des concepts liés aux applications Multicore. Prix 2015 : 1795 HT Dates des sessions Paris 12 oct. 2015, 30 nov C/C++, 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. 1) Introduction 2) Modélisation des applications 3) Threads 4) Processus 5) La programmation parallèle 6) Synthèse et conclusion 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 ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 59

60 - Conclusion des techniques étudiées. - 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 60

61 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 24 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 61

62 - 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 62

63 Stage pratique de 5 jour(s) Réf : VB6 Concepteurs et développeurs d'applications en Visual Basic. Les participants souhaitant aborder le VBA pour le développement d'applications liées au Pack Office doivent se diriger vers un autre stage. Connaissances de base en programmation. Expérience souhaitable en développement logiciel. Prix 2015 : 2500 HT Dates des sessions Paris 21 sep. 2015, 19 oct nov. 2015, 14 déc Aix 19 oct. 2015, 7 déc Bordeaux 12 oct. 2015, 7 déc Grenoble 19 oct. 2015, 7 déc Lille 19 oct. 2015, 7 déc Lyon 19 oct. 2015, 7 déc Montpellier 19 oct. 2015, 7 déc Nantes 12 oct. 2015, 7 déc Rennes 12 oct. 2015, 7 déc Sophia-antipolis 19 oct. 2015, 7 déc Strasbourg 19 oct. 2015, 7 déc Toulouse 12 oct. 2015, 7 déc Développer en Visual Basic Best OBJECTIFS Ce stage vous permettra de maîtriser pleinement les fonctionnalités et les capacités de Visual Basic. Tous les aspects essentiels du langage seront abordés, y compris la programmation objet, l'interaction avec les bases de données et les Active X Data Objects. A l'issue de ce cours, vous serez à même de réaliser des applications professionnelles. 1) Positionnement de Visual Basic (vb, vba, vbscript) 2) Améliorer la conception des applications avec la programmation objet 3) La plateforme de développement Visual Basic 4) Visual Basic, le langage 5) Fenêtres, menus et boîtes de dialogue 1) Positionnement de Visual Basic (vb, vba, vbscript) - La construction d'interfaces utilisateur. - L'accès aux bases de données. - Utilisation et création de composants. - Le développement Internet/Intranet. 6) Les composants graphiques (contrôles) 7) La gestion des erreurs 8) L'accès aux données 9) Touche finale 2) Améliorer la conception des applications avec la programmation objet - Classes et objets. - Les objets graphiques : formes, contrôles. - Propriétés, méthodes, événements. - La programmation événementielle. 3) La plateforme de développement Visual Basic - Les principes récurrents. - Fenêtres, barre de menus, barre d'outils. - Aide en ligne et compléments. - L'éditeur de code. - Etapes de création d'une application. - Les différents types de fichiers. Prise en main de l'interface, enregistrement et compilation. 4) Visual Basic, le langage - Les variables. - Types de données et conversions. - Portée et durée de vie des variables. - Tableaux et types de données utilisateurs. - Les constantes. - Les variables objets. - Les conventions de dénomination. - Procédures événementielles et générales. - Subroutines et fonctions. - Portée des procédures : les modules standard. - Le passage d'arguments. - Les fonctions de Visual Basic. - Les opérateurs. Les structures de contrôle. Création de procédures, passage d'arguments. Création d'une fonction de vérification des dates. 5) Fenêtres, menus et boîtes de dialogue - Principe des MDI (Multiple Document Interface), formes et contrôles. Formes modales. Formes prédéfinies. - Chargement et affichage. - Principaux événements, méthodes et propriétés. - Menus, popup menus. - Les fonctions msgbox et inputbox. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 63

64 Création de formes et d'un menu de présentation. Gestion des événements de chargement et déchargement des formes. 6) Les composants graphiques (contrôles) - Contrôles standard, contrôles Active X. - Saisie et affichage : label, text box, masked edit. - Les boutons : command, check box, option. - Les listes : list box, combo box. - Présentation : Tool Bar, Status Bar, Image List, Scroll Bar, Progress Bar. - Les boîtes de dialogue standard : common dialog. - La minuterie : timer. - Le Drag and Drop. Objet source et objet cible. Evénements souris. Propriétés de la source. Evénements sur la cible. Gestion d'un formulaire de saisie, contrôles de validité. Manipulation des listes. Lancement de procédures. Déplacement d'un contrôle sur une forme. Déplacement d'un élément d'une liste dans une autre liste. 7) La gestion des erreurs - Traitement des erreurs logiques : le débogage. - Les points d'arrêt. Les expressions espionnes. - Les fenêtres de débogage. - Mode pas à pas et procédures. - Traitement des erreurs d'exécution. - L'interception et les gestionnaires d'erreurs. - L'objet Err. Interception d'une erreur d'exécution. Prise en main du debugger. 8) L'accès aux données - Manipulation des fichiers. Accès séquentiel, direct, binaire. Ouverture, fermeture. Instructions de lecture/ écriture. - Architecture et objets des bases relationnelles. - Le langage SQL. Le Data Environment. - L'architecture client serveur. - Les fournisseurs d'accès : ODBC et OLE-DB. - Les objets d'accès aux données : ADO (Active X data access). - Les outils d'accès aux données. Data Environment. Data Control. Data Report. Data Form Designer. - Les contrôles dépendant des données. Data Grid, Hierarchical Flex Grid. Data List, Data Combo. Création et manipulation d'un fichier en accès séquentiel (enregistrements de taille variable). Utilisation des contrôles d'accès aux données. 9) Touche finale - Les fichiers de ressources. - Enregistrement des paramètres d'une application. - Générer un exécutable et le distribuer. - Optimisation du programme. Création et utilisation d'un fichier de ressources. Utilisation de la base de registre pour conserver des paramètres dynamiques. Déploiement d'une application. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 64

65 Stage pratique de 4 jour(s) Réf : VBE Développeurs Visual Basic 6. Bonnes connaissances en Visual Basic 6 et en bases de données. Ou connaissances équivalentes à celles apportées par le stage "Développer en Visual Basic" (réf. VB6). Expérience souhaitable en développement VB6. Visual Basic, perfectionnement OBJECTIFS Ce stage de perfectionnement insiste sur les accès aux bases de données (ADO), la création de composants COM et la création d'applications Web dynamiques. 1) L'accès aux bases de données 2) La création des composants Com 3) Exemple : les contrôles Active X 1) L'accès aux bases de données 4) Client-serveur et multitiers : Com+ 5) Visual Basic et le développement Internet 6) Se préparer à Visual Basic.NET - Les fournisseurs d'accès : ODBC et OLE-DB. - Les objets d'accès aux données : ADO. - Data Environnement, Data Control. Data Grid... - Les objets ADO - Modèle objet. Connexion à une source de données. Commandes. Récupération de données : le Recordset. - Mise à jour, recherche, tri. - Intégrité des données : transactions, verrous. - Exécution des procédures stockées. Utilisation des outils d'accès aux données. Création d'un formulaire de saisie. Récupération de données via une procédure stockée. Gestion d'une transaction d'écriture. 2) La création des composants Com - Réutilisabilité, simplification, optimisation. - Les interfaces standard, choix du type de composant. - Création d'une application cliente. - Variables objet, instanciation et manipulation d'objets. Les modules de classe. - Définitions des propriétés, méthodes, événements. - Le déclenchement des erreurs. - COM et ADO : les composants liés aux données. - Les collections. La création d'interfaces. - Compilation et enregistrement des composants. Création et test de composants : un COM Dll de services bancaires, un de connexion à une base de données avec ADO. 3) Exemple : les contrôles Active X - Création. Propriétés, méthodes, événements. - Création d'un contrôle dépendant des données. - Création d'un contrôle fournisseur de données. Création d'un contrôle Active X de saisie des dates. Création d'un contrôle Active X fournisseur de données avec ADO. 4) Client-serveur et multitiers : Com+ - Approche. Encapsulation des objets ADO. COM+ et MTS. Transaction multi-objets : le " double commit ". - Optimisation des ressources. COM+ et la sécurité. Gestion d'une transaction en " double commit ". 5) Visual Basic et le développement Internet - Développements côté serveur et côté client. - Le contrôle WebBrowser. Documents Active X. Visual Basic et Vbscript. DHTML. COM et ASP, COM et ADO. Création d'un navigateur sur une forme Visual Basic. Création d'un projet Document Active X s'exécutant dans IE. 6) Se préparer à Visual Basic.NET - La plateforme.net, architecture. Le VB.NET. - Visual Studio.NET, ADO.NET. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 65

66 Stage pratique de 3 jour(s) Réf : PRL Destiné aux informaticiens concernés par des procédures d'exploitation en environnements Unix, Linux ou Windows. Connaissances de base de la programmation et d'un système d'exploitation (Windows ou Linux/Unix). Prix 2015 : 1795 HT Dates des sessions Paris 28 sep. 2015, 26 oct nov. 2015, 14 déc Aix 14 sep. 2015, 7 déc Bordeaux 28 sep. 2015, 30 nov Bruxelles 23 nov Geneve 23 nov Grenoble 7 déc Lille 7 déc Luxembourg 23 nov Lyon 14 sep. 2015, 7 déc Montpellier 7 déc Nantes 28 sep. 2015, 30 nov Rennes 28 sep. 2015, 30 nov Sophia-antipolis 7 déc Strasbourg 14 sep. 2015, 7 déc Toulouse 28 sep. 2015, 30 nov Langage Perl scripts système Unix/Linux/Windows Best OBJECTIFS Ce stage vous apprendra à programmer ou maintenir des procédures d'exploitation écrites en Perl. Il permettra de maîtriser le langage lui-même mais aussi de découvrir la "philosophie Perl" avec notamment le recours à un grand nombre de modules permettant d'élargir quasiment à l'infini ses possibilités. 1) Présentation 2) L'essentiel du langage 3) Expressions régulières 4) Fonctions, procédures, modules 1) Présentation - Historique du langage. - Perl, pour quel usage? - Caractéristiques du langage Perl. - Les différentes distributions et versions. - La documentation officielle. - Installation et première exécution d'un programme Perl. - Fichiers sources, extension et interprétation. - Les outils pour utiliser Perl. Installation de l'interpréteur Perl. 2) L'essentiel du langage - Structure d'un programme Perl, en-tête de script. - Conventions de codage et règles de nommage. - Ajout de commentaires. - Les chaînes de caractères, interprétation de codes. - Les variables, nommage et typage. Portée des variables. - Les scalaires. - Les opérateurs : calcul, incrément, affectation, comparaison... - Les tableaux, initialisation, affichage du contenu. - Les tableaux associatifs (hash table), les fonctions keys et values. - Les références mémoires. - Les variables systèmes. - La notion de blocs. - Les structures de contrôle conditionnelles : if, if... else, if... elsif... else. - Les structures de contrôle itératives : while, for, until, foreach. - Les flux entrées/sorties standard (stdin, stdout, stderr). Manipulation du langage à travers l'écriture de différents programmes. 3) Expressions régulières 5) Gestion des fichiers et des répertoires 6) Interactions avec le système d'exploitation 7) Aspects avancés, bases de données, implémentation objet 8) Scripts Perl dans un contexte Web, module CGI - Les cas d'utilisation des expressions. - Panorama des différents motifs : les méta-caractères, les quantificateurs, les caractères spéciaux. - Le Pattern Matching. - Le Pattern Substitute. - Options de la ligne de commande pour l'interpréteur. - Programme tiers : sed, awk... - Perl utilisé comme filtre supplémentaire. Mise en oeuvre d'expressions régulières. 4) Fonctions, procédures, modules - Définition des fonctions. Différence entre fonctions et procédures. - La déclaration d'une fonction, le mécanisme d'appel, le passage d'arguments et la récupération des résultats. - Visibilité des variables, l'opérateur my. - Utilisation des références. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 66

67 - Les fonctions intégrées dans Perl : chomp, chop, length... - Notion de "package" et de module. - Modules de la distribution standard. - Modules du CPAN, recensement, documentation, sites de ressources. - Installation de modules. - Utilisation d'un module "classique" et d'un module "Orienté Objet". Les fonctions require et use. - Fabrication d'un module. - Documenter les modules créés. Ecriture de fonctions. Intégration d'un module dans un développement. Création d'un module. 5) Gestion des fichiers et des répertoires - Notion de filehandle. - Gestion des fichiers : ouverture, lecture, écriture, fermeture... - Informations sur les fichiers (propriétaire, taille, droits...), la fonction stat. - L'opérateur diamant. - Gestion des répertoires : changement, parcours, création, suppression... - Gestion des erreurs sur manipulation des fichiers et des répertoires. Lecture/écriture dans un fichier. Manipulation des répertoires. 6) Interactions avec le système d'exploitation - Accès aux informations du système d'exploitation. - Les commandes agissant sur le système : mkdir, rmdir, chown, chroot, chmod,... - Gestion des processus. - Création de processus fils : system, exec. - Les quotes inverses. - Interactions avec le système Windows (modules Win32 et Win32API). Création de processus fils. 7) Aspects avancés, bases de données, implémentation objet - Tris personnalisés. - Traitements complémentaires sur les chaînes de caractères. - Structures de données élaborées à l'aide des références anonymes. - Accès aux bases de données à l'aide du module DBI. - Etablissement et configuration d'une connexion, requêtage et récupération des résultats. - Création de la structure d'une classe et instanciation : paquetage, sous-programme et référence. - Constructeur et destructeur d'objets. - Invocation des méthodes d'une classe. - Le ramasse-miettes. Exploitation des données d'une base de données relationnelle. 8) Scripts Perl dans un contexte Web, module CGI - Protocole HTTP, serveur Web, schéma fonctionnel CGI. - Le module CGI. - Variables d'environnement, méthodes GET et POST. - Génération des éléments HTML du formulaire avec Perl. - Traitement des formulaires, exploitation des résultats. Ecriture d'un script CGI en Perl. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 67

68 Stage pratique de 2 jour(s) Réf : LAP Informaticiens concernés par des procédures d'exploitation en environnements Unix, Linux ou Windows. Bonnes connaissances du langage Perl. Ou connaissances équivalentes à celles apportées par le stage PRL " Langage Perl ". Prix 2015 : 1380 HT Dates des sessions Paris 9 nov Langage Perl, programmation avancée OBJECTIFS Ce stage vous apprendra à maintenir efficacement vos programmes ainsi qu'à en améliorer la performance. Vous maîtriserez les principales primitives du noyau, la création d'interfaces graphiques et de masques de saisie. Vous découvrirez enfin l'approche plus moderne de la programmation Objet. 1) Programmation système 2) Perl et l'objet 3) Interface graphique : de Perl/Tk à GTK 1) Programmation système - Rappel des principes des processus : fork et exec. - Rappel des principes de la gestion des signaux. - Envoyer un signal à des processus : la fonction kill - Gérer les signaux : le pragma sigtrap, installer un gestionnaire de signal. - Programmation des sockets et services de IO::Socket à Net::Server. - Présentation de la programmation des threads. Ecriture de programmes Perl pour manipuler les fonctions systèmes. 2) Perl et l'objet 4) Écrire du nouveau code en utilisant GTK 5) Evolutions - Quelques définitions : programmation orientée objet, classe, instance, constructeur, destructeur, héritage... - Mise en oeuvre de l'objet : le paquetage pour la classe, le hachage pour les attributs, les fonctions pour les méthodes. - La création d'instance : la bénédiction (bless) de la référence de l'objet. - Programmer un constructeur. - Agir quand l'objet est détruit, la méthode DESTROY. - L'héritage : le et la classe UNIVERSAL. - La surcharge de méthode, l'utilisation de SUPER. - Abstraction : l'avenir de l'objet dans Perl, de Class::Std et Class::Accessor à Moose. Programmation de classes. Mise en oeuvre des concepts objets (héritage, surcharge...). 3) Interface graphique : de Perl/Tk à GTK - Comprendre et maintenir du code écrit en Perl/Tk. - Présentation et installation de Perl/Tk. - Gestionnaire de géométrie : Pack, Grid, Place. - Les Widgets par famille. - Les boutons : Button, Checkbutton, Radiobutton. - Libellé et zone de saisie : Label, Entry. - Ascenseur, liste, menu et saisie de texte : Scrollbar, Listbox, Menubutton, Optionmenu, Text. - Les conteneurs : Canvas, Frame, Toplevel. Création d'une application avec interface graphique en Perl/Tk et gestion événementielle. 4) Écrire du nouveau code en utilisant GTK - Lien entre Pert et GTK : installer GTK et ses bibliothèques. - Widget : hiérarchie, création, accélérateurs clavier, conteneurs de bases,... - Widget : signaux et événements. - Les types de boutons : Toggle (interrupteurs), radio,... Manipulation de différents composants : boutons, boite de boutons, Widget cadre,... 5) Evolutions - Fonctionnalités apportées par Perl 5.10, 5.12, Perl 6 : un nouveau langage. - Nouveautés : les sigils, typage statique et dynamique, paramètres formels des fonctions. - Un véritable langage objet. - Les jonctions et l'évaluation paresseuse. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 68

69 Stage pratique de 5 jour(s) Réf : PYT Ce cours s'adresse aux ingénieurs qui souhaitent acquérir une formation à l'approche Objet et aux spécificités du langage Python. Connaissances de base en programmation. Prix 2015 : 2500 HT Dates des sessions Paris 19 oct. 2015, 16 nov déc Aix 23 nov Bordeaux 30 nov Bruxelles 21 sep. 2015, 23 nov Geneve 21 sep. 2015, 23 nov Grenoble 23 nov Lille 23 nov Luxembourg 21 sep. 2015, 23 nov Lyon 23 nov Montpellier 23 nov Nantes 14 sep. 2015, 30 nov Rennes 30 nov Sophia-antipolis 7&28 sep. 2015, 23 nov Strasbourg 23 nov Toulouse 30 nov Python, programmation objet Best OBJECTIFS Ce stage intensif a pour objectifs d'initier les participants aux méthodes et aux réflexes de la Programmation Orientée Objet et de leur apporter la maîtrise opérationnelle du langage Python. 1) Syntaxe du langage Python 2) Approche Orientée Objet 3) Programmation Objet en Python 4) Utilisation StdLib 1) Syntaxe du langage Python 5) Outils QA 6) Création IHM TkInter 7) Interfaçage Python/C 8) Conclusion - Les identifiants et les références. Les conventions de codage et les règles de nommage. - Les blocs, les commentaires. - Les types de données disponibles. - Les variables, l'affichage formaté, la portée locale et globale. - La manipulation des types numériques, la manipulation de chaînes de caractères. - La manipulation des tableaux dynamiques (liste), des tableaux statiques (tuple) et des dictionnaires. - L'utilisation des fichiers. - La structure conditionnelle if/elif/else. - Les opérateurs logiques et les opérateurs de comparaison. - Les boucles d'itérations while et for. Interruption d'itérations break/continue. - La fonction range. - L'écriture et la documentation de fonctions. - Les Lambda expression. - Les générateurs. - La structuration du code en modules. Installation et prise en main de l'interpréteur Python. 2) Approche Orientée Objet - Les principes du paradigme Objet. - La définition d'un objet (état, comportement, identité). - La notion de classe, d'attributs et de méthodes. - L'encapsulation des données. - La communication entre les objets. - L'héritage, transmission des caractéristiques d'une classe. - La notion de polymorphisme. - Association entre classes. - Les interfaces. - Présentation d'uml. - Les diagrammes de classes, de séquences, d'activités... - Notion de modèle de conception (Design Pattern). Modélisation en UML d'un cas d'étude simple. 3) Programmation Objet en Python - Les particularités du modèle objet de Python. - L'écriture de classes et leur instanciation. - Les constructeurs et les destructeurs. - La protection d'accès des attributs et des méthodes. - La nécessité du paramètre Self. - L'héritage simple, l'héritage multiple, le polymorphisme. - Les notions de visibilités. - Les méthodes spéciales. - L'introspection. - L'implémentation des interfaces. - Les bonnes pratiques et les modèles de conception courants. - L'utilisation du mécanisme d'exception pour la gestion des erreurs. Pratique des différents concepts objet au travers de l'implantation de l'étude de cas. 4) Utilisation StdLib ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 69

70 - Les arguments passés sur la ligne de commande. - L'utilisation du moteur d'expressions régulières Python avec le module "re", les caractères spéciaux, les cardinalités. - La manipulation du système de fichiers. - Présentation de quelques modules importants de la bibliothèque standard : module "sys", "os", "os.path". - Empaquetage et installation d'une bibliothèque Python. - Les accès aux bases de données relationnelles, le fonctionnement de la DB API. Mise en oeuvre de modules Python : expressions régulières, accès à une base de données, 5) Outils QA - Les outils d'analyse statique de code (pylint, pychecker). - L'analyse des comptes rendus d'analyse (types de messages, avertissements, erreurs). - Extraction automatique de documentation. - Le débogueur de Python (exécution pas à pas et analyse post-mortem). - Le développement piloté par les tests. - Les modules de tests unitaires Python (Unittest...). - L'automatisation des tests, l'agrégation de tests. - Les tests de couverture de code, profiling. Utilisation des outils pylint et pychecker pour la vérification d'un code Python. Mise en oeuvre de tests unitaires. 6) Création IHM TkInter - Les principes de programmation des interfaces graphiques. - Présentation de la bibliothèque TkInter. - Les principaux conteneurs. - Présentation des widgets disponibles (Button, Radiobutton, Entry, Label, Listbox, Canvas, Menu, Scrollbar, Text...). - Le gestionnaire de fenêtres. - Le placement des composants, les différents layouts. - La gestion des événements, l'objet event. - Les applications multifenêtres. Conception d'une interface graphique avec la bibliothèque Tkinter. 7) Interfaçage Python/C - Présentation du module Ctypes. - Le chargement d'une librairie C. - Appel d'une fonction. - La réécriture d'une fonction Python en C avec l'api Python/C. - La création de modules C pour Python avec Pyrex. - L'interpréteur Python dans C. - L'utilisation du profileur de code. Appel de fonctions écrites en C depuis Python. Création de modules C pour Python avec Pyrex. 8) Conclusion - Analyse critique de Python. - L'évolution du langage. - Eléments de Webographie et de bibliographie. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 70

71 Stage pratique de 4 jour(s) Réf : DJA La formation est destinée aux développeurs souhaitant acquérir une connaissance approfondie des bases du framework Django. Connaissances des bases du langage Python et technologies Web (HTML, JavaScript...) Prix 2015 : 2330 HT Dates des sessions Paris 29 sep. 2015, 24 nov Django, développement Web avec Python OBJECTIFS Django est un framework Web MVC (Modèle-Vue-Contrôleur) basé sur le langage Python. Ce stage vous apprendra à mettre en oeuvre ce framework et à utiliser avec efficacité ses différents modules dans le cadre du développement d'applications Web. 1) Introduction 2) L'accès aux données avec Django 3) Gestion des vues 1) Introduction - Rappel des principes de la POO. - Le Design Pattern MVC. - Présentation du framework Django. - Origine et historique. Objectifs et avantages. - Les composants de framework Django. 4) Les templates 5) Gestion des formulaires 6) Fonctions avancées Exercice Préparation de l'environnement. Installation de Python, Django, Serveur Apache, MySQL et Eclipse. Création d'un nouveau projet. 2) L'accès aux données avec Django - Le modèle ORM Django. - Les modèles Django : Model, Field, Table, Column, Primary Key... - Mapping des associations : OneToMany, ManyToOne, ManyToMany, OneToOne. - Stratégies de mapping de l'héritage : Meta Class, OneToOneField, ManyToManyField... - Accès aux données avec les QuerySets. Exercice Développer une couche d'accès aux données. Interfacer Django avec MySQL. 3) Gestion des vues - Vues simples ou fonctions vues. - Les classes HttpResponse, HttpRequest et QueryDict. - Configuration des URL : UrlConf. - Vues génériques. - Exemples de vues génériques : Redirects, Create, Update, Delete... Exercice Développer des vues dynamiques HTML avec Django. 4) Les templates - Le rôle des templates. - Création et chargement des templates. - Gestion des contextes. - Utilisation des tags et filtres personnalisés. - Réutilisation des templates : héritage entre templates. Exercice Développer un template pour faciliter la génération de la présentation. 5) Gestion des formulaires - Les avantages des formulaires Django. - Création des formulaires. - Les différents types de champs. - Validation des données d'un formulaire. - Gestion et personnalisation des messages d'erreurs. - Génération des formulaires à partir des modèles. Exercice Développer les formulaires associés aux opérations CRUD de l'atelier précédent. 6) Fonctions avancées - L'internationalisation. - L'authentification et la gestion des sessions. - Optimisation et caches. - Intégration d'ajax. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 71

72 - L'interface d'administration. - Les tests unitaires. Exercice Intégrer Ajax à travers le framework JQuery. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 72

73 Stage pratique de 5 jour(s) Réf : DEV Développeurs. Nouveaux utilisateurs de Windev. Windev, développement d'applications Desktop OBJECTIFS Cette formation vous apportera la maîtrise de l'environnement Windev. Vous verrez en détail ses différents éditeurs et comment l'utiliser efficacement pour programmer vos applications, les connecter à des bases de données, concevoir leurs IHM au standard Windows, les tester, les packager et les déployer. Connaissances de base en programmation et d'un environnement graphique. Expérience souhaitable en développement logiciel. Prix 2015 : 2500 HT 1) Présentation de l'environnement Windev 2) La base de données 3) L'interface homme/machine 4) Les états 5) Les dossiers 6) La programmation 7) L'installation Dates des sessions Paris 5 oct. 2015, 7 déc ) Présentation de l'environnement Windev - L'environnement Windows. L'éditeur de fenêtres. - L'éditeur de sources : rechercher, remplacer, couper, copier, coller, imprimer. Personnalisation de l'éditeur. - L'outil de description des fichiers. L'éditeur d'états. - La compilation, la mise en bibliothèque. - L'exécutable : programme, bibliothèque, DLL. - Les utilitaires : WDMAP, WDBACKUP, WDRESTOR, WDOUTIL..., le RAD. 2) La base de données - Le format HyperFileSQL. - L'outil de description des fichiers. - Génération de l'analyse, modifications automatiques, liaisons entre les fichiers. 3) L'interface homme/machine - Les projets, les menus, les fenêtres. - L'ergonomie, le menu système, la barre de titre, l'éditeur de styles (feuille de style), les groupes de champs. - Etude des différents types d'objets. Les tables. - L'intégration automatique des rubriques d'un fichier dans un écran, la création d'une fenêtre VISION+. 4) Les états - La description de l'éditeur. - Les différents modes création : état lié à un fichier, étiquettes, état libre, tris, filtres, ruptures. - Les différents types de blocs (début de document, haut de page, corps, bas de page, etc.). - Les différents types d'objets (champ, libellé...). 5) Les dossiers - Les fichiers de données et leur structure. - Le dictionnaire des rubriques. - Les sources des fenêtres : dessin de la fenêtre, détail des objets, source associée à l'objet. 6) La programmation - Le projet, les procédures, les fonctions. - Le W-Langage : fonctionnement de l'éditeur de sources, opérateurs et fonctions. - Tables mémoire et tables fichier. Timer et multitâche. - Gestion des liaisons série. - Le grapheur. - OLE Automation vers Excel. Le dialogue DDE vers Excel. - Aspect monoposte, multi-instance ou réseau. - Gestion des triggers. 7) L'installation - La création d'un programme exécutable. - La mise en bibliothèque des objets. - L'installation sur un autre poste. - Les DLL. - Maintenance de l'application réalisée. - L'outil d'installation. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 73

74 Stage pratique de 3 jour(s) Réf : WEB Cette formation pratique s'adresse aux futurs développeurs WebDev souhaitant réaliser des sites dynamiques Internet ou Intranet. Connaissances de base du HTML et de la programmation. Webdev, développement Web OBJECTIFS Ce stage vous montrera comment réaliser un site web dynamique à l'aide de WebDev. Vous verrez comment utiliser les fonctions courantes de l'environnement logiciel, créer vos IHMs, utiliser des bases de données et déployer vos applications sur un serveur Web. 1) Concepts de base 2) Accès aux données 3) Le code 4) Gestion de l'ihm 5) Pages pour l'impression 6) Créer le dossier du site 7) Déploiement de l'application Prise en main de l'environnement, la bonne méthode de création d'un nouveau projet WebDev. 1) Concepts de base - Qu'est-ce qu'un site Web dynamique. - L'environnement de développement. - L'éditeur graphique. - L'éditeur de code. - Etapes de création d'un nouveau projet. 2) Accès aux données - Créer une base de données HYPERFILE. - Se connecter à une base de données SQL Server, MySQL ou Oracle. - Création de l'application à l'aide du RAD. - Ajouter, supprimer, modifier des données automatiquement. Réalisation d'une base de données catalogue.de produits 3) Le code - Le WDLANGAGE (Variables, procédure, fonctions, boucles...) - Code coté client. - Code côté serveur. - Accéder aux données par le code. Création de pages personnalisés. 4) Gestion de l'ihm - Apparence des pages. - Création et utilisation de modèles. - Les différents objets des pages. - Réalisation de menus. Réalisation d'un IHM via le RAD, et ajout de pages spécifiques. 5) Pages pour l'impression - L'éditeur d'état. - Les différents états (Lié aux données, libres...). - Composition d'un état WEBDEV (entêtes, corps, pieds...). - Les objets à disposition (différents types de champs). - Les options d'impression. - Génération d'impression HTML et PDF. Génération d'état pour l'impression, au format HTML et PDF. 6) Créer le dossier du site - Importance de ce dossier. - Génération du dossier (pages, états, code sources). Bien organiser ses dossiers de projet, créer la documentation de l'application. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 74

75 7) Déploiement de l'application - Génération de l'application. - Génération de la procédure d'installation. - Déploiement. Créer le programme d'installation et installation d'un programme ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 75

76 Stage pratique de 5 jour(s) Réf : PBF Pour les développeurs désirant acquérir les techniques et les réflexes pour développer des applications client/serveur avec PowerBuilder. Connaissances de base en programmation et en langage SQL. Expérience requise en développement logiciel. PowerBuilder, les fondamentaux OBJECTIFS Cette formation vous permettra de prendre en main l'environnement PowerBuilder et de l'utiliser efficacement pour développer et déployer des applications client/serveur. Vous manipulerez et personnaliserez son interface de développement, et apprendrez les bonnes pratiques pour créer des applications performantes. 1) Introduction à PowerBuilder 2) Création de fenêtres 3) Ecriture de scripts 4) Utilisation du PowerScript 1) Introduction à PowerBuilder - Principe et architecture. - La personnalisation de l'interface. - Les éléments fondamentaux de la programmation. - Les bases pour créer une application. - La Painter Application. - Les bibliothèques. Les événements. Prise en main de l'interface de PowerBuilder. 2) Création de fenêtres - Comment créer une fenêtre? - Décryptage de la notion de contrôles. - Passage en revue des types de contrôles possibles. - Mise en place de contrôles au sein d'une application. - Le Painter pour les fenêtres. - Le principe d'héritage. Mise en pratique. Création de fenêtres et de contrôles. Mise en place du principe d'héritage. 3) Ecriture de scripts - Définition des scripts. Comment les utiliser? - Comment travailler avec les attributs. - Les différents types de fonction. - La portée et la visibilité des variables. - La gestion des erreurs. Création de scripts simples. 4) Utilisation du PowerScript - Présentation de PowerScript. - Le Painter PowerScript. - Les fonctions et les commandes. - Le nommage de contrôles, d'objets et de variables. - Les requêtes SQL intégrées. La syntaxe. Exemples d'utilisation de PowerScript. 5) Création et utilisation de menus - Qu'est-ce que le Painter Menu? - Savoir construire une hiérarchie de menus. - Comment associer un script à un menu? 5) Création et utilisation de menus 6) Utilisation des objets DataWindow et des objets utilisateurs 7) La gestion de projets Création de menus simples. Mise en place d'une hiérarchie de menus. Exemples d'association d'un menu à une fenêtre. 6) Utilisation des objets DataWindow et des objets utilisateurs - Présentation du concept de DataWindow. Les types de DataWindow. Le Painter DataWindow. - Les filtres et les tris. Comment communiquer avec une base de données? Les fonctions et les événements. - Les différents types d'objets utilisateurs. Le Painter User Object. Comment créer un objet utilisateur? ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 76

77 Mise en place d'un DataWindow. Exemples d'utilisation de DataWindow. Exemples de création et d'utilisation d'un objet utilisateur. 7) La gestion de projets - Comment distribuer une application? - Le Painter projet. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 77

78 Stage pratique de 4 jour(s) Réf : OBC Développeurs désirant programmer dans un environnement Apple sous MacOSX et voulant se diriger vers les filières de développement iphone/ipad. Bonnes connaissances en développement logiciel. Prix 2015 : 2330 HT Dates des sessions Paris 8 déc Les bases du langage Objective C pour le développement Mac OS X et ios OBJECTIFS A l'issue, vous serez à même de programmer en Objective-C dans l'environnement Cocoa MacOSX et aurez toutes les bases nécessaires pour vous orienter vers les plateformes mobiles iphone/ipad. Au travers de nombreux exercices, vous apprendrez à manipuler SDK et les outils proposés par Apple. 1) Eléments de base 2) Eléments avancés 1) Eléments de base - Programmation en Objective-C. - Classes, objets et méthodes. - Types de données et expressions. - Booléens, complexes et imaginaires. - Structures de contrôle : if, while, do, break. 3) Eléments additionnels 4) Le Foundation Framework sous MacOSX (environnement Cocoa) Exercice Exercices sur les classes, objets et méthodes, les différents types de données, les structures de contrôle. 2) Eléments avancés - Les classes en détail. - Mécanismes d'héritage. - Polymorphisme, éléments dynamiques. - Variables et types de données. - Catégories et protocoles. Mécanismes d'héritage. Manipulation des catégories et des protocoles. 3) Eléments additionnels - Le préprocesseur. - Eléments empruntés au langage C. Mécanismes de compilation et de préprocesseur. 4) Le Foundation Framework sous MacOSX (environnement Cocoa) - Introduction. - Présentation du SDK et de l'environnement Cocoa Apple. - Utilisation de XCode pour programmer en environnement MacOSX. - Nombres, chaînes et énumérations. - Travailler avec les fichiers. - Gestion de la mémoire. - Copier les objets. - Archivage. Programmes en environnement SDK. Manipulation des éléments du framework Foundation. Manipulation de la mémoire. Mécanismes d'archivage. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 78

79 Stage pratique de 2 jour(s) Réf : FIW Développeurs, chefs de projet. Connaissance des bases algorithmiques. Pratique d'un langage de programmation structurée. Il n'est pas nécessaire d'être développeur Apple. Prix 2015 : 1410 HT Dates des sessions Paris 3 déc Les bases du langage SWIFT 2 pour le développement Mac OS X et ios Nouveau Nouveau langage de programmation créé par Apple, Swift se présente comme une alternative à Objective- C, moderne et plus performante. Vous apprendrez dans cette formation à développer des applications Cocoa et Cocoa Touch en environnement MacOS. Vous découvrirez les concepts de base de Swift et ses aspects novateurs. OBJECTIFS PEDAGOGIQUES Découvrir les concepts de base du langage Swift Créer un projet Swift Appréhender Swift Standard Library Comprendre comment intégrer Cocoa et du code Objective-C à une application Swift 1) Introduction à Swift 2) L'environnement de développement 3) Les concepts de base de Swift 4) Swift Standard Library 5) Les aspects novateurs et avancés 6) L'intégration avec Cocoa et Objective-C Exercices pratiques sous MacOS X et XCode 7. 1) Introduction à Swift - Pourquoi un nouveau langage de programmation dans l'univers Apple? - Les différents cas d'usage de Swift (Mac OS X, ios). - Les apports et nouveautés de Swift. - Le rapport de Swift avec les outils Apple classiques : Objective-C, XCode. - Ouverture à l'open Source et aux autres systèmes. Echanges Echanges avec les participants relatifs à leur expérience éventuelle de l'environnement de développement Apple et à leur perception de Swift. 2) L'environnement de développement - Découverte de l'environnement XCode, nouveautés de XCode 7, outil de migration depuis Swift 1. - Installation et configuration de l'environnement de développement, ciblage d'une version d'os spécifique. - Création d'un projet Swift et opérations de base (édition, exécution...). - Découverte de l'outil d'évaluation et de mise au point REPL (Read-Eval-Print-Loop). Mise en place de l'environnement de développement et découverte d'un premier projet. 3) Les concepts de base de Swift - La philosophie générale du langage : syntaxe, gestion mémoire, inférence de type, orientation objet ou fonctionnelle... - Les mécanismes classiques : typage, variables et constantes, instructions, fonctions... - Les concepts Objet : notion de classes, méthode. - La manipulation des chaînes de caractères. Réalisation de plusieurs applications mettant en œuvre les concepts exposés. 4) Swift Standard Library - Les types : String, Array, Dictionnary et numériques. - Les protocoles : Equatable, Comparable, Printable. - Les fonctions libres et algorithmes. Mise en œuvre des concepts. 5) Les aspects novateurs et avancés - Les mécanismes de typage de Swift, la généricité, le support des protocoles. - La notion de terrain de jeu (Interactive Playground). - Les clôtures (closures). - La gestion mémoire : constructeur, destructeur, gestion de références, lazy instanciation... - La gestion des erreurs. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 79

80 Découverte du Playground. Mise en pratique des closures et de la généricité. 6) L'intégration avec Cocoa et Objective-C - L'exploitation des frameworks Cocoa et Cocoa Touch depuis une application Swift. - L'utilisation conjointe de Swift et Objective-C. - Les trois modes de fonctionnement : Interoperability, Mix and Match, Migration. Utilisation des frameworks Cocoa et Cocoa Touch. Intégration de code Swift et Objective-C. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 80

81 Stage pratique de 4 jour(s) Réf : PAW Développeurs, chefs de projet. Bonnes connaissances d'un langage de programmation (Objective-C, Java, C++, C#). Connaissance du langage Swift souhaité. Prix 2015 : 2390 HT Dates des sessions Paris 17 nov iphone/ipad, développer des applications en Swift 2 Nouveau Vous découvrirez dans cette formation les spécificités du développement d'applications ios en Swift, nouveau langage phare d'apple. Vous apprendrez notamment à concevoir des interfaces via XCode, à gérer la navigation et les "gestures". Vous comprendrez également l'intérêt d'une intégration de code Swift/ Objective-C. OBJECTIFS PEDAGOGIQUES Développer simplement des applications ios performantes en Swift Exploiter les fonctionnalités d'un iphone et d'un ipad (GPS, caméra, accéléromètre...) Intégrer du code Swift et du code Objective-C Maîtriser le simulateur ios 1) Rappels Swift et ios 2) Les spécificités du développement ios 3) Composants et interface graphique 4) Réseau et persistance 5) Fonctions avancées 6) Intégration Swift / Objective-C Développements réalisés en environnement MacOS X avec les outils intégrés à XCode (simulateur...). 1) Rappels Swift et ios - Les objectifs et différents cas d'usage de Swift, tant pour Mac OS X que pour ios. - Création d'un projet Swift avec XCode. - Bases du langage : syntaxe, gestion mémoire, inférence de type, orientation objet ou fonctionnelle... - Librairie standard et accès au framework ios. - Les éléments novateurs de Swift : REPL, Playground... 2) Les spécificités du développement ios - Le framework Cocoa Touch et ses principes fondateurs. - Les règles Apple relatives au développement iphone/ipad et l'app Store. - Les principes de base des applications ios : interface utilisateur, réseau, persistance... - Ergonomie et éléments conceptuels indispensables. - Cycle de vie d'une application : storyboard, charte graphique, réalisation, tests, publication. - Prototyper et tester une application avec le simulateur ios. Définir les éléments indispensables d'une application ios. 3) Composants et interface graphique - Les différents types de vues et la présentation. - Positionnement et dimensionnement des vues et contrôles. - La navigation et les gestures. - L'utilisation d'interface Builder. - Rotation et animation des vues. Création d'applications graphiques ios. 4) Réseau et persistance - Différentes façons de stocker et de lire des données. - Fichiers de propriétés. - Préférences, fichiers et SQLLite. - Sockets et REST/JSON. Usage de XML. Gestion de données et accès serveur. 5) Fonctions avancées - Appels synchrones et asynchrones. - Manipulation de l'écran et gestion des capteurs (GPS, caméra, accéléromètre...). - Internationaliser une application. - Fonctions graphiques avancées (animation OpenGL). - Le multithreading. Mise en œuvre d'aspects avancés. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 81

82 6) Intégration Swift / Objective-C - Les mécanismes de base Objective-C (variables, typage, instructions, classes de base). - La création d'un projet et d'éléments de code avec XCode. - Les trois modes de fonctionnement en intégration : Interoperability, Mix and Match, Migration. Intégration de code Swift / Objective-C dans le cadre du développement d'une application ios. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 82

83 Stage pratique de 3 jour(s) Réf : PSQ Concepteur de requêtes SQL, futur développeur en SGBD, administrateur ou chargé de maintenance. Connaissances de base en programmation. Prix 2015 : 1795 HT Dates des sessions Paris 14 sep. 2015, 12 oct nov. 2015, 14 déc Aix 28 sep. 2015, 14 déc Bordeaux 21 sep. 2015, 7 déc Bruxelles 30 nov Geneve 30 nov Grenoble 28 sep. 2015, 14 déc Lille 28 sep. 2015, 14 déc Luxembourg 30 nov Lyon 30 sep. 2015, 14 déc Montpellier 28 sep. 2015, 14 déc Nantes 21 sep. 2015, 7 déc Rennes 21 sep. 2015, 7 déc Sophia-antipolis 28 sep. 2015, 14 déc Strasbourg 28 sep. 2015, 14 déc Toulouse 21 sep. 2015, 7 déc SQL Server, Programmation SQL Best Cette formation vous permettra d'appréhender les fondements du langage SQL. Vous y découvrirez les principes des bases de données relationnelles (algèbre relationnelle, théorie des ensembles), et explorerez la syntaxe du langage SQL pour interroger, analyser les données et manipuler les bases. OBJECTIFS PEDAGOGIQUES Comprendre le modèle relationnel et identifier les objets d'une base Interroger et classer les données d'une table à l'aide d'opérateurs simples Restituer les données de plusieurs tables grâce aux jointures et aux sous-requêtes Regrouper les données et réaliser des calculs à des fins d'analyse Manipuler les données dans les tables de la base 1) Algèbre relationnelle et norme SQL 2) Théorie des bases de données 3) Interrogation des données mono tabulaire 4) Interrogation multi tabulaire 5) Analyse de données 6) Mise à jour des données 7) Introduction au SQL procédural Les exemples et les travaux pratiques sont réalisés sur MS SQL Server, l'un des SGBDR les plus proches de la norme SQL. 1) Algèbre relationnelle et norme SQL - Les principes du modèle relationnel. - Historique des SGBDR et du langage SQL. - Entités, associations et MCD. - Types de données et expression des valeurs Mise en situation Prise en main du logiciel SQL Server Management Studio. Découverte de la base étudiée. 2) Théorie des bases de données - Eléments du SGBD. - Tables, clefs et formes normales. - Entités, associations et MCD. - Contraintes de colonnes et de tables. Identifier les objets d'une base de données. Déterminer le type de forme normale d'une relation et la transformer, créer un MCD. 3) Interrogation des données mono tabulaire - Structure d'une requête SELECT. - Filtre WHERE, prédicats et logique ternaire (NULL). - Opérateurs et expressions SQL. - Fonctions prédéfinies. Extraction à l'aide de la clause WHERE. Utilisation d'opérateurs IN, LIKE, CASE... des opérateurs numériques, dates, des fonctions de chaîne. Tri des données. 4) Interrogation multi tabulaire - Combiner des résultats avec les opérations ensemblistes (UNION, INTERSECT, EXCEPT). - Présentation de la jointure. - Imbrication des requêtes. - Utilisation des CTE et découverte des requêtes récursives. - Les sous-requêtes corrélées et l'opérateur EXISTS. Utilisation des opérations ensemblistes, création de requêtes avec jointures. 5) Analyse de données - Fonctions d'agrégation (AVG, SUM, COUNT...). - Création de sous-ensembles (clause GROUP BY). - Filtrage des agrégats avec la clause HAVING. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 83

84 - Découverte des fonctions d'analyse de données (LEAD, LAG...) et rangements (RANK, ROW_NUMBER, NTILE...). Analyse de données par écritures de requêtes utilisant des calculs avec regroupements. 6) Mise à jour des données - Les ordres INSERT, UPDATE, DELETE, TRUNCATE. - Mises à jour simples. - Mises à jour à l'aide de sous-requêtes. - Mise à jour des données à travers les vues. Opérations d'insertion et mises à jour de tables de la base de données. 7) Introduction au SQL procédural - Les dialectes SQL des principaux éditeurs. - Notions basiques sur les déclencheurs. - Introduction aux procédures stockées. - Les UDF ou fonctions "utilisateur". Création d'une procédure stockée. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 84

85 Stage pratique de 2 jour(s) Réf : PAV Développeurs, administrateurs, utilisateurs avancés ayant à mettre en oeuvre des requêtes complexes avec SQL Server. Bonnes connaissances des bases du langage SQL ou connaissances équivalentes à celles apportées par le stage " SQL Server, programmation SQL " (réf PSQ). Prix 2015 : 1380 HT Dates des sessions Paris 8 oct. 2015, 10 déc SQL Server, programmation SQL avancée OBJECTIFS Grâce à ce cours, vous découvrirez les expressions et opérateurs SQL avancés, et verrez comment les utiliser avec efficacité pour résoudre des problématiques d'extraction de données complexes. Vous saurez traiter des besoins de regroupement, d'analyse, d'échantillonnage et de restitution de données hiérarchisées. 1) Rappel sur les requêtes multitables 2) Opérateurs particuliers Méthodes pédagogiques 3) Les expressions de tables 4) L'écriture des données Les stagiaires pourront récupérer les nombreux exemples et TP ainsi que la base servant de fil rouge. Des références web et bibliographiques sont proposées pour en savoir plus sur chacun des sujets. Ce stage fait alterner la présentation des concepts et de la syntaxe, et de multiples exercices d'application. 1) Rappel sur les requêtes multitables - Opérateurs ensemblistes UNION, INTERSECT et EXCEPT. - Rappel sur les jointures internes et externes. - Maîtriser les sous-requêtes dans les différentes parties des instructions SQL. - Corrélations des requêtes imbriquées. - Opérations d'intra-jointure avec APPLY (CROSS, OUTER) pour les fonctions et les fragments XML. Résolutions de cas de requêtes mettant en action plusieurs tables. 2) Opérateurs particuliers - Utilité du produit cartésien (CROSS JOIN). - La division relationnelle. - Groupage décisionnel avec CUBE, ROLLUP et GROUPING SET. - Fonctions analytiques et de fenêtrage : ordonnancement et agrégat avec les clauses OVER et WINDOW. - Tableaux croisés avec PIVOT et UNPIVOT. - Echantillon de données avec TABLESAMPLE. Résolution de cas de division relationnelle. Utilisation des fonctions de groupages décisionnels. Mise en oeuvre des fonctions analytiques. 3) Les expressions de tables - L'expression de table commune, Common Table Expression (CTE), ou vue non persistante. - L'utilisation du mot-clé WITH pour spécifier une CTE. - Les différentes techniques de requêtage dans les arborescences (adjacence, chemin, intervallaire, récursion). - Résolution de problèmes de graphes avec les requêtes récursives. - Utilisation de tables de nombres et de dates (tally tables) pour résoudre des requêtes complexes. Exprimer des requêtes sous la forme de la CTE récursive. 4) L'écriture des données - Mise à jour et suppression des données avec sous-requêtes. - Utilisation de la syntaxe étendue de mise à jour et suppression avec jointures. - Opérations d'insertion, de mise à jour ou de suppression à partir de résultats d'une jointure, l'opérateur MERGE. - Récupération des données ajoutées, modifiées ou supprimées, avec la clause OUTPUT. Ecriture de commandes de mises à jour complexes avec l'instruction MERGE et les sous-requêtes. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 85

86 Stage pratique de 4 jour(s) Réf : SED Développeurs, chefs de projets. SQL Server 2014 à 2008, développement OBJECTIFS Ce stage vous procurera toutes les connaissances nécessaires pour développer des applications sous SQL Server. Il vous apprendra notamment à manipuler les objets d'une base de données, à optimiser les temps de restitution des données, et à réaliser les opérations de maintenance courantes du développeur. Connaissances de base en programmation. Notions sur les bases de données et le langage SQL. Prix 2015 : 2330 HT 1) La construction des bases de données 2) Requêtes d'extraction de données 3) Mise à jour des données 4) Coder en Transact SQL 5) Optimisation de l'exécution des requêtes 6) Maintenance courante pour le développeur Dates des sessions Paris 29 sep. 2015, 1 déc ) La construction des bases de données - Le stockage physique avec les fichiers et les groupes de fichiers. - Les schémas SQL ou le stockage logique. - Bon usage des différents types de données. - Créer des tables. Mise en place des contraintes. - Obtenir un rétro-script DDL. Créer les tables d'une base de données et définir les contraintes associées. 2) Requêtes d'extraction de données - Les opérateurs ensemblistes. - Les jointures internes et externes. Typologies. - Les sous-requêtes. - Utiliser les " Common Table Expression " (CTA) et les requêtes récursives. - Fonctions fenêtrées et clause OVER (ordonnancement, agrégat et fenêtrage RANGE/ROWS). - Les opérateurs particuliers (APPLY, PIVOT...). - La création des vues. Manipuler des requêtes d'extraction avec différents types de jointures. Présenter les données avec les fonctions d'agrégat. Créer des vues. 3) Mise à jour des données - Les mises à jour simples (INSERT, UPDATE et DELETE). - L'ordre SQL MERGE. - Mise à jour avec des sous-requêtes. - BULK INSERT et BCP pour le chargement de fichier et l'export de données. Réaliser des opérations de mise à jour de la base. Importer et exporter des données. 4) Coder en Transact SQL - Eléments du langage Transact SQL. Notion de Batch. - Créer des fonctions scalaires et des fonctions tables. - Présentation des transactions. - Programmation des déclencheurs. - Développer des procédures stockées. Créer des fonctions et des vues paramétrables. Créer des procédures stockées gérant des transactions. Automatiser des traitements à l'aide de déclencheurs. 5) Optimisation de l'exécution des requêtes - Visualisation des plans de requêtes. - Métrique (IO TIME) et comparaison d'exécution. - Présentation des index. Que faut-il indexer? Comparer les temps d'exécution pour des scénarios d'indexation. Utiliser des plans de requêtes. 6) Maintenance courante pour le développeur - Sauvegarde des données. Scénarios de restauration. - Maintenir les index et les statistiques. - Vérifier l'intégrité physique d'une base et la réparer. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 86

87 Effectuer des sauvegardes et des restaurations. Elaborer un plan de maintenance des index. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 87

88 Stage pratique de 2 jour(s) Réf : TAS Chefs de projet, concepteurs et développeurs Transact- SQL. Bonnes connaissances des bases du langage SQL ou connaissances équivalentes à celles apportées par le stage " SQL Server, programmation SQL " (réf PSQ). Prix 2015 : 1380 HT Dates des sessions Paris 29 oct. 2015, 10 déc Transact-SQL, optimisation pour SQL Server 2014 à 2008 OBJECTIFS Cette formation présente les règles de bonne écriture et d'optimisation du Transact-SQL, pour améliorer les performances des requêtes et éviter les écueils fréquemment rencontrés lors de la programmation en T-SQL. 1) Le modèle relationnel et le langage SQL 2) Réussir l'indexation 3) Ecrire des requêtes performantes 4) Remplacer tables temporaires et curseurs 5) Bonnes pratiques pour les modules de code Formation interactive, alternant étroitement théorie et pratique. L'apprentissage se fait par l'expérimentation. 1) Le modèle relationnel et le langage SQL - Les spécificités des bases de données relationnelles et du langage SQL. - La normalisation du modèle de données. - Les notions d'écriture ensembliste et déclarative. Les spécificités du dialecte Transact-SQL. - Le fonctionnement de l'optimiseur SQL. Expérimentation de requêtes sur des modèles plus ou moins normalisés. 2) Réussir l'indexation - Les bases de l'indexation. La structure en B-Tree et les différents types d'index. - Comment choisir ses index en fonction des requêtes? - La notion de couverture de requête par un index. - Le concept de SARG (Search Argument) pour favoriser l'utilisation de l'index. - Utilisation du profiler et du Database Tuning Advisor. Indexation de tables pour améliorer les performances de requêtes. 3) Ecrire des requêtes performantes - Les règles de bonne écriture des requêtes SQL. - Lire et utiliser les statistiques d'exécution et le plan d'exécution. Optimiser ses jointures et ses regroupements. - Optimiser le code de mise à jour des données. - Erreurs les plus communes : SQL dynamique, fonctions utilisateurs, comparaisons insensibles à la casse. Réécriture de requêtes peu performantes. 4) Remplacer tables temporaires et curseurs - Maîtriser les sous-requêtes et les opérateurs relationnels. - Utiliser l'instruction MERGE pour les mises à jour de données complexes. - Créer des tables de nombres et de dates pour résoudre les problèmes de façon relationnelle. - Utiliser les fonctions de fenêtrage et les fonctions statistiques. - Utiliser le CROSS JOIN pour résoudre les problèmes complexes. - Ecrire du code récursif en utilisant des expressions de table. Résolution de problématiques complexes par des requêtes ensemblistes. 5) Bonnes pratiques pour les modules de code - Règles pour l'écriture de procédures stockées. - Maîtriser la compilation et recompilation. - Minimiser l'impact des déclencheurs. Comprendre les transactions et les problèmes de verrouillage. - Utiliser les niveaux d'isolation de la transaction. Ecriture d'une procédure stockée optimisée. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 88

89 Stage pratique de 5 jour(s) Réf : QSM Cette formation est destinée à des ingénieurs systèmes et des développeurs qui doivent utiliser ou mettre en oeuvre SQL Server Bonnes connaissances du langage SQL ou connaissances équivalentes à celles apportées par le stage " SQL Server, programmation SQL " (réf. PSQ). Prix 2015 : 2840 HT Dates des sessions Paris 12 oct. 2015, 23 nov Aix 21 sep. 2015, 16 nov Bordeaux 28 sep. 2015, 16 nov Grenoble 21 sep. 2015, 16 nov Lille 21 sep. 2015, 16 nov Lyon 21 sep. 2015, 16 nov Montpellier 21 sep. 2015, 16 nov Nantes 28 sep. 2015, 16 nov Rennes 28 sep. 2015, 16 nov Sophia-antipolis 21 sep. 2015, 16 nov Strasbourg 21 sep. 2015, 16 nov Toulouse 28 sep. 2015, 16 nov SQL Server 2014/2012, mise en œuvre OBJECTIFS Ce stage vous apportera toutes les connaissances nécessaires à la pleine utilisation de SQL Server Vous apprendrez à écrire des ordres SQL et utiliser les extensions du langage, à modifier les structures et mettre en place les contraintes d'intégrité, à charger les données et exploiter au mieux les transactions. 1) Présentation de SQL Server ) Bases de données et schémas SQL 3) Tables, vues et contraintes 4) Chargement de données et exports 1) Présentation de SQL Server Architecture de SQL Server Outils de développement et d'administration. Prise en main du gestionnaire de configuration et de Management Studio. 2) Bases de données et schémas SQL - Les identifiants : nommage des objets SQL Server. - Création de la base de données. Schémas SQL. - Cycle de vie des objets d'une base. 3) Tables, vues et contraintes - Langage DDL : création d'objets, contraintes. - Types de données natifs et types utilisateurs. - Création des tables et des vues. - Les contraintes de domaine et de colonne. - Clé primaire et clés alternatives. Gestion de l'intégrité référentielle. 5) Indexation et plans de requêtes 6) SQL avancé avec Transact SQL, code procédural 7) Transactions et gestion des exceptions 8) Introduction aux techniques avancées Création de types utilisateurs. Création de tables et de vues. Ajout de contraintes. Mise en place de clés primaires et de contraintes d'unicité. 4) Chargement de données et exports - La commande BULK INSERT. - Import/export en ligne de commande avec BCP. - Fonctions OPEN pour interroger les données externes. - Présentation d'integration Services. Chargement des données à l'aide de BULK INSERT et BCP. Utilisation d'openrowset. 5) Indexation et plans de requêtes - Structure des index : arbre équilibré, index clustered... - Création d'index : approche de création... - Analyse des performances. - Utilisation du Database Tuning Advisor. Mise en place d'index sur la base de données et constat sur les performances. 6) SQL avancé avec Transact SQL, code procédural - Groupages OLAP et clauses OUTPUT, SELECT INTO... - Ordre SQL MERGE. Chiffrement des données. - Fonctions, procédures stockées, curseurs, déclencheurs. Création de requêtes avancées de Transact-SQL. Réalisation d'une fonction table multi-instructions. Procédure stockée pour l'insertion combinée. 7) Transactions et gestion des exceptions - Les transactions. Niveaux d'isolation. Gestion des exceptions. Transactions imbriquées. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 89

90 Intégration de la gestion des exceptions et des transactions dans les déclencheurs et les procédures stockées. 8) Introduction aux techniques avancées - Présentation du Système d'information Géographique-SIG. Utilisation de XML au sein de SQL Server Utilisation du SIG. Interrogation XML. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 90

91 Stage pratique de 5 jour(s) Réf : SEM Cette formation est destinée à des ingénieurs système et des développeurs qui doivent utiliser ou mettre en œuvre SQL Server Bonnes connaissances du langage SQL ou connaissances équivalentes à celles apportées par le stage " Programmation SQL " (réf. PSQ). Prix 2015 : 2840 HT Dates des sessions Paris 5 oct. 2015, 30 nov Aix 21 sep. 2015, 7 déc Bordeaux 28 sep. 2015, 30 nov Bruxelles 30 nov Geneve 30 nov Grenoble 21 sep. 2015, 7 déc Lille 21 sep. 2015, 7 déc Luxembourg 30 nov Lyon 21 sep. 2015, 7 déc Montpellier 21 sep. 2015, 7 déc Nantes 28 sep. 2015, 30 nov Rennes 28 sep. 2015, 30 nov Sophia-antipolis 21 sep. 2015, 7 déc Strasbourg 21 sep. 2015, 7 déc Toulouse 28 sep. 2015, 30 nov SQL Server 2008, mise en œuvre Best Cette formation vous apportera toutes les connaissances nécessaires à la pleine utilisation de SQL Server Elle vous permettra de comprendre le rôle des divers composants de SQL Server 2008, d'utiliser les outils de requête, et d'écrire des ordres SQL de manipulation des données incluant les extensions au langage SQL propres à SQL Server. Elle vous montrera comment modifier la structure des tables, mettre en place les contraintes d'intégrité et comment exploiter au mieux le concept de transaction. OBJECTIFS PEDAGOGIQUES Créer une base de données avec SQL Server 2008, définir ses paramètres généraux Créer les tables de la base et les utilisateurs, importer et exporter des données Mettre en place des clés sur les tables et autres vérifications sur les données Manipuler les données de la base avec les fonctions du Transact-SQL Optimiser les performances en mettant en place des index sur la base de données Programmer des déclencheurs et procédures stockées 1) Présentation de SQL Server ) Bases de données et schémas SQL 3) Tables et vues 4) Les contraintes 5) Chargement de données et exports 1) Présentation de SQL Server Présentation de SQL Server Versions. - Architecture de SQL Server Outils de développement et d'administration. - Les bases systèmes. 6) SQL avancé avec Transact SQL 7) Indexation et plans de requêtes 8) Codage procédural 9) Transactions et gestion des exceptions 10) Introduction aux techniques avancées Prise en main des outils graphiques de SQL Server : gestionnaire de configuration et Management Studio. 2) Bases de données et schémas SQL - Les identifiants : nommage des objets SQL Server. - Stockage physique : fichiers de données et journal de transactions. - Création de la base de données : gestion des espaces de stockage paramètres de création. - Schémas SQL : concept et utilisation. - Cycle de vie des objets d'une base. - Brèves notions sur la gestion des privilèges. - Vues et procédures de métadonnées. Création physique d'une base de données. Mise en place de différents schémas SQL. Modification des paramètres de la base de données. 3) Tables et vues Langage DDL : création d'objets, contraintes - Types de données SQL Server et types utilisateurs. - Création des tables : définition des colonnes. - Gestion des auto-incréments. - Création et utilisation des vues. - Conditions de mise à jour à travers les vues. Création de types utilisateurs. Création de tables et de vues. Manipulation des auto-incréments. Mise à jour à travers les vues. 4) Les contraintes - Les contraintes de domaine (CHECK). - Contraintes de colonne NOT NULL et DEFAULT. - Clé primaire et clés alternatives. - Gestion de l'intégrité référentielle. - Utilisation de déclencheurs (triggers) pour la réalisation des assertions. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 91

92 Ajout de contraintes de domaines aux types utilisateurs et aux colonnes. Mise en place de clés primaires et de contraintes d'unicité. Mise en place de clés étrangères. Réalisation de contraintes complexes CHECK à l'aide de fonctions et de déclencheurs. 5) Chargement de données et exports - Chargement de fichier avec la commande BULK INSERT. - Import/export en ligne de commande avec bcp. - Fonctions OPEN pour interroger les données externes. - Gestion des flux interserveurs. - Integration Services. Chargement des données à l'aide de BULK INSERT et bcp. Utilisation d'openrowset pour faire des requêtes externes. 6) SQL avancé avec Transact SQL - Manipulation de données booléennes. - Groupages OLAP (CUBE, ROLLUP, GROUPING SETS...). - Fonction de fenêtrage et clause OVER. - Tableaux croisés avec PIVOT et UNPIVOT. - Clauses TOP et SAMPLE. - Clauses OUTPUT, SELECT INTO, TRUNCATE TABLE. - Ordre SQL MERGE. - Gestion d'objets larges à l'aide du type filestream. - Cryptage des données. Exercices de requêtes mettant en œuvre les fonctions avancées de Transact-SQL. 7) Indexation et plans de requêtes - Présentation : rôle des index, utilisation. - Structure des index : arbre équilibré, index ordonné et non ordonné, statistiques de distribution. - Création d'index : approche de création, choix des index. - Utilisation du Database Tuning Advisor. - Indexation de vues : indications et contraintes. - Index pour recherche en texte intégral. - Analyse des performances. Mise en place d'index sur la base de données et constat sur les performances. 8) Codage procédural - Syntaxe procédurale du Transact SQL (variables, affectation, types de données et structures). - Création de fonctions scalaires (UDF). - Fonctions tables (requêtes paramétrées). - Principe des procédures stockées. - Création et utilisation de tables temporaires et de variables table. - Manipulation de curseurs. - Déclencheurs : types de triggers. - Débogage du code Transact-SQL. Réalisation de fonctions scalaires et de déclencheurs pour gérer la qualité des données. Réalisation d'une fonction table multi-instruction. Programmation d'une procédure stockée pour l'insertion combinée. 9) Transactions et gestion des exceptions - Principe des transactions : mode implicite et explicite. - Définition des frontières des transactions. - Anomalies transactionnelles, gestion des niveaux d'isolation et mise en place des verrous. - Gestion des exceptions. - Problématique des transactions imbriquées. - Transactions distribuées et commit à deux phases. Intégration de la gestion des exceptions et des transactions dans les déclencheurs et les procédures stockées. 10) Introduction aux techniques avancées - Présentation du SIG de SQL Server (système d'information géographique). - Utilisation de XML au sein de SQL (requêtes avec XQuery/XPath et clause FOR XML). - Introduction à l'indexation textuelle (Full Text Search). - Intégration de.net dans SQL Server. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 92

93 Utilisation du SIG, interrogation XML et recherches "plain text". ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 93

94 Stage pratique de 3 jour(s) Réf : OSL Toute personne ayant un profil d'informaticien désirant se servir de SQL en environnement Oracle. Connaissances de base en informatique. Prix 2015 : 1795 HT Dates des sessions Paris 14 sep. 2015, 12 oct nov. 2015, 7 déc Aix 28 sep. 2015, 14 déc Bordeaux 21 sep. 2015, 30 nov Bruxelles 7 sep. 2015, 23 nov Geneve 23 nov Grenoble 28 sep. 2015, 14 déc Lille 28 sep. 2015, 14 déc Luxembourg 23 nov Lyon 5 oct. 2015, 14 déc Montpellier 28 sep. 2015, 14 déc Nantes 21 sep. 2015, 30 nov Rennes 21 sep. 2015, 30 nov Sophia-antipolis 7 sep. 2015, 14 déc Strasbourg 28 sep. 2015, 14 déc Toulouse 21 sep. 2015, 30 nov Oracle SQL Best OBJECTIFS Une formation pratique aux aspects essentiels, logique et syntaxe, du langage SQL. Ce cours vous apportera une méthode sûre d'écriture de requêtes SQL complexes. 1) Introduction 2) Outils 3) Introduction SQL 1) Introduction - Le modèle relationnel. - Notions de base : relation (table), attributs (colonnes), contraintes d'intégrité. - Contraintes d'intégrité. 2) Outils - SQL*Plus. - SQL Developer. 3) Introduction SQL - Types de données Oracle. - Création des tables. - Introduction aux instructions de mise à jour. - Utilisation des séquences. - Introduction à l'interrogation (SELECT). 4) Interrogation des données 4) Interrogation des données 5) Objets d'une base de données Oracle 6) Instructions SQL complexes - Tri et suppression des doublons. Utilisation des alias et des préfixes. - Traitement de la valeur NULL. Utilisation des fonctions SQL. - Utilisation des pseudo-colonnes : ROWID et ROWNUM. Utilisation des agrégats : COUNT, SUM, AVG... - Opérations ensemblistes : union, intersection, différence. - Requêtes imbriquées : opérateurs IN, EXISTS. - Utilisation des jointures. - Jointures externes. - Groupement : GROUP BY et HAVING. 5) Objets d'une base de données Oracle - Création et suppression des tables. - Gestion des contraintes d'intégrité : clé primaire, unicité, non-nullité, CHECK, contraintes référentielles. - Utilisation des vues. - Utilisation des synonymes. - Dictionnaire de données. 6) Instructions SQL complexes - Paramétrage des scripts SQL*Plus. - Division et interrogations complexes. - Instructions de mise à jour avec des requêtes imbriquées. - Les requêtes hiérarchiques. - Utilisation des expressions régulières. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 94

95 Stage pratique de 2 jour(s) Réf : OSP Toute personne impliquée indirectement dans l'exécution de requêtes SQL avancées (développeur, DBA, maître d'ouvrage). Bonnes connaissances des bases du SQL ou connaissances équivalentes à celles apportées par le stage "Oracle SQL" (réf. OSL). Expérience requise. Prix 2015 : 1380 HT Dates des sessions Paris 24 sep. 2015, 19 nov Aix 10 sep. 2015, 5 nov Bordeaux 12 nov Grenoble 5 nov Lille 5 nov Lyon 10 sep. 2015, 5 nov Montpellier 5 nov Nantes 17 sep. 2015, 12 nov Rennes 12 nov Sophia-antipolis 5 nov Strasbourg 5 nov Toulouse 17 sep. 2015, 12 nov Oracle SQL, perfectionnement OBJECTIFS Cette formation très pratique se propose de développer les aspects avancés du langage SQL comme les opérateurs ensemblistes, la gestion des LOB, des Bfiles et du XML, les fonctions d'agrégation et de statistiques. 1) Les fonctions complémentaires 2) Les opérateurs ensemblistes 3) La gestion des LOB et des Bfiles 4) Agrégation, jointures et sub-select 1) Les fonctions complémentaires - Fonctions de transformation. - Fonctions analytiques : Rank, Dense_Rank. - Fonction hiérarchique. Autres fonctions : Rowid, etc. 5) La gestion des intégrités 6) La gestion du XML 7) Le partitionnement des données 8) La gestion des tables distantes Mise en forme de données disparates (dates, numériques), liste d'une hiérarchie à plusieurs niveaux. 2) Les opérateurs ensemblistes - Union et Union ALL. - Différence Minus. - Exists, Some, Any, All. Recherche des différences entre plusieurs tables. 3) La gestion des LOB et des Bfiles - Utilisations possibles. Définition des tables. - Insertion et mises à jour des LOB. - Gestion d'un Bfile. Ajout d'une photo dans une table, ajout d'un CV dans une table. 4) Agrégation, jointures et sub-select - Les fonctions d'agrégation et statistiques : Group By Rollup. Group by Cube. Group by Sets. - Rappel des jointures " classiques ". Auto-jointure. FULL, RIGHT, LEFT. - Sub-select corrélés/non corrélés avec des Insert, Update, Delete. Statistiques et regroupements sur plusieurs critères. Création d'une table à partir d'autres tables. 5) La gestion des intégrités - Rappel des définitions : unicité, référentielle, cohérence. - Mise en oeuvre : Primary Key, Foreign Key, Increment, Check. - Principes d'utilisation. Bonnes pratiques et limites. Création de tables en intégrité référentielle. Ajout/suppression des contraintes d'intégrité et des contrôles par Check. 6) La gestion du XML - Stockage de XML. Utilisation de fonctions avancées XML. Gestion d'un document XML. 7) Le partitionnement des données - Les différents types de partitionnements possibles. - Mise en oeuvre du partitionnement des données. Création de tables partitionnées, rechargement des données. 8) La gestion des tables distantes ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 95

96 - Rappel des principes : schémas, ODBC, DRDA. - Accès à une table distante. Jointures avec des tables distantes. Lecture des tables d'autres BD. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 96

97 Stage pratique de 3 jour(s) Réf : ROD Ce stage s'adresse aux développeurs d'applications décisionnelles sous Oracle désireux d'utiliser tout le potentiel SQL d'oracle. Bonnes connaissances du langage SQL. Prix 2015 : 1795 HT Dates des sessions Paris 14 sep. 2015, 2 nov Oracle SQL pour le décisionnel OBJECTIFS Un cours intensif pour acquérir toutes les compétences nécessaires à l'utilisation des fonctionnalités décisionnelles du SQL d'oracle. 1) Introduction 2) Groupements des données 3) Agrégation et analyse des données 1) Introduction 4) La clause MODEL 5) Mise à jour des données 6) Objets - Informatique décisionnelle. Etat de la norme SQL. Norme SQL3 et décisionnel. - Rappels des concepts liés à un datawarehouse. Notions de CUBE. Concept OLAP. Analyse multidimensionnelle. - Modélisation en étoile et constellation. Notions de dimension. Notion de table de fait. Etude de cas Présentation : le modèle, les problématiques. 2) Groupements des données - Fonctions horizontales. Fonctions verticales. Fonctions d'agrégat. - Le groupe. Rappels : fonctionnement du GROUP BY, fonctionnement du HAVING. - Fonctions GROUPING. Syntaxe. Exemples. Gestion des valeurs NULL. - Le groupe à deux niveaux. Manipulation de la syntaxe et des fonctionnalités de groupements. 3) Agrégation et analyse des données - Extensions ROLLUP et CUBE. Expression de GROUPING SET. - Fonctions de groupes. Fonctions analytiques. La clause de partitionnement. - La clause d'ordre. La clause de fenêtrage. Fonctions de classement. - Ordonner les tris. Fonctions de classement. Fonctions de fenêtres. Manipulation de la syntaxe et des fonctionnalités d'agrégation. 4) La clause MODEL - La mise en oeuvre. La fonction CV. - La fonction ITERATION_NUMBER. La fonction PRESENTNNV. - La fonction PRESENTV. La fonction PREVIOUS. Manipulation de la syntaxe de la clause MODEL. 5) Mise à jour des données - Insertion multitables. Insertion sans condition. - INSERT_ALL, INSERT_FIRST. Mises à jour conditionnées. Alimentation du modèle en étoile. 6) Objets - Les ETL (Extraction, Transformation, Chargement). - Interrogation de tables externes. Vues du dictionnaire de données. - Vues Matérialisées (VM). Intérêt. Syntaxe de création. Options. - Vues Matérialisées et optimisation. Réécriture de requêtes. Dimensions et hiérarchies. Utilisation des tables externes pour le déplacement des données. Création des vues matérialisées pour optimiser les requêtes. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 97

98 Stage pratique de 3 jour(s) Réf : ORD Concepteurs, développeurs et toutes les personnes impliquées dans des développements utilisant la base de données Oracle. Bonnes connaissances de SQL. Prix 2015 : 1795 HT Dates des sessions Paris 14 sep. 2015, 12 oct nov. 2015, 7 déc Aix 21 sep. 2015, 30 nov Bordeaux 23 nov Bruxelles 2 nov Geneve 2 nov Grenoble 21 sep. 2015, 30 nov Lille 21 sep. 2015, 30 nov Luxembourg 2 nov Lyon 5 oct. 2015, 30 nov Montpellier 21 sep. 2015, 30 nov Nantes 23 nov Rennes 23 nov Sophia-antipolis 21 sep. 2015, 30 nov Strasbourg 21 sep. 2015, 30 nov Toulouse 14 sep. 2015, 23 nov Développer en PL/SQL Best OBJECTIFS Le cours PL/SQL a comme objectif la maîtrise du langage PL/SQL et l'utilisation des traitements stockés et des triggers dans les applications. Les concepts abordés sont systématiquement mis en pratique. 1) Introduction et rappels 2) Eléments du langage 3) Accès à la base 4) Traitements stockés 1) Introduction et rappels - Traitement transactionnel dans Oracle. - Objets et dictionnaire d'une base Oracle. - SQL et PL/SQL. Vue globale de PL/SQL. - Outils utilisés. Documentation Oracle. 2) Eléments du langage 5) Gestion des erreurs 6) Triggers 7) Compléments - Environnements hôtes. Introduction syntaxique. Déclarations de variables et de constantes PL/SQL. - Types de données et conversion. Fonctions prédéfinies. - Instructions de contrôle : IF- ELSE, la boucle LOOP, la boucle FOR. - Types composites : records, tables indexées. - Types objets. Définition des sous-programmes. - Paramétrage des sous-programmes. Exercice Déclaration de variables. Manipulation de la date. Attributs de typage. Utilisation des collections et de leurs méthodes. 3) Accès à la base - La base et la notion de curseur. - Accès via curseur implicite : update, delete, insert, select. Utiliser les clauses RETURNING et BULK COLLECT. - Collections et FORALL. - Boucles FOR à curseur. Curseurs en mise à jour. - Curseurs explicites. Variables curseur. Exercice Utilisation de curseur explicite et de BULK COLLECT. 4) Traitements stockés - Gestion de sous-programmes stockés, de bibliothèques stockées et de paquetages. - Gestion des traitements stockés : droits d'accès, vues du dictionnaire et dépendance. - Utilisation des packages. Exercice Création de procédures, de fonctions stockées et de paquetages. 5) Gestion des erreurs - Traitement d'une exception. - Utilisation de RAISE_APPLICATION_ERROR. - Déclenchement d'une exception via RAISE. - Propagation et gestion transactionnelle. Exercice Utilisation de Raise et de RAISE_APPLICATION_ERROR. 6) Triggers - Définition et types de triggers Evénement/Action. Triggers Ordre. - Lignes (utilisation de : NEW et : OLD), E/C/A (Evénement/Condition/Action). - " INSTEAD OF " sur les vues, sur les événements système. - Utilisation des transactions autonomes. Exercice Création de triggers ordre et triggers ligne. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 98

99 7) Compléments - SQL dynamique. Utilisation de dbms_application_info et de WRAP pour cacher le code source. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 99

100 Stage pratique de 3 jour(s) Réf : DSP Développeurs Oracle. Bonnes connaissances de la programmation PL/SQL ou connaissances équivalentes à celles apportées par le stage " Développer en PL/SQL " (réf. ORD). Prix 2015 : 1795 HT Dates des sessions Paris 28 sep. 2015, 30 nov Développer en PL/SQL, perfectionnement OBJECTIFS Ce stage vous apprendra à écrire des programmes PL/SQL et à tirer le meilleur parti des fonctions avancées : packages, curseurs, méthodes d'interface avancées et ensembles. Il aborde le développement, le code SQL dynamique et les notions conceptuelles nécessaires à un codage efficace. 1) Rappels sur le PL/SQL 2) Les ensembles 3) Les procédures et les fonctions stockées 4) Les performances et la mise en mémoire cache 1) Rappels sur le PL/SQL - Décrire les types de données prédéfinis. - Créer des sous-types basés sur des types existants. - Répertorier les règles de conception d'un curseur. 2) Les ensembles 5) Les packages 6) Les déclencheurs 7) Le SQL dynamique - Présentation des ensembles. - Tableaux associatifs et tables imbriquées. - Programmes PL/SQL qui utilisent des ensembles. - Le stockage des ensembles dans les tables. - Les ordres SQL dans PL/SQL. - L'utilisation de la clause RETURNING, BULK COLLECT. Utiliser les traitements de masse pour améliorer les performances. 3) Les procédures et les fonctions stockées - Créer une conception modulaire. - Créer, appeler et supprimer des procédures stockées. - Implémenter les paramètres de procédure. - Implémenter le hint de compilation NOCOPY. - Créer, appeler et supprimer des fonctions stockées. - Identifier les restrictions liées aux appels de fonctions. Visualiser les informations des procédures à l'aide des vues du dictionnaire de données et de SQL Developer. 4) Les performances et la mise en mémoire cache - Décrire la mise en mémoire en cache des résultats. - Utiliser le cache des résultats d'interrogation SQL. - Cache des résultats de fonction PL/SQL. Vérifier les principaux aspects du cache des résultats de fonction PL/SQL. 5) Les packages - Identifier les composants d'un package. - Utiliser le package STANDARD et les fonctions de package. - Contrôler les effets de bord des sous-programmes PL/SQL. Créer la spécification et le corps d'un package. Afficher le code source PL/SQL à l'aide du dictionnaire de données. Appeler des tables PL/SQL d'enregistrements dans des packages. 6) Les déclencheurs - Comment implémenter les déclencheurs? - Présentation des déclencheurs combinés. - Déclencheur combiné pour les tables et les vues. - Créer des déclencheurs sur les instructions LDD. Créer des déclencheurs LMD, INSTEAD OF. Implémenter un déclencheur combiné pour résoudre l'erreur de table en mutation. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 100

101 7) Le SQL dynamique - Flux d'exécution du code SQL. - Présentation du code SQL dynamique. - Déclarer des variables de curseur. Exécuter dynamiquement un bloc PL/SQL. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 101

102 Stage pratique de 4 jour(s) Réf : OPT Ce cours s'adresse aux développeurs et administrateurs d'applications. Bonnes connaissances des langages SQL et PL/SQL. Prix 2015 : 2330 HT Dates des sessions Paris 15 sep. 2015, 13 oct nov. 2015, 14 déc Aix 22 sep. 2015, 24 nov Bordeaux 29 sep. 2015, 3 nov Grenoble 22 sep. 2015, 24 nov Lille 22 sep. 2015, 24 nov Lyon 22 sep. 2015, 24 nov Montpellier 22 sep. 2015, 24 nov Nantes 29 sep. 2015, 3 nov Rennes 29 sep. 2015, 3 nov Sophia-antipolis 22 sep. 2015, 24 nov Strasbourg 22 sep. 2015, 24 nov Toulouse 29 sep. 2015, 3 nov Oracle, optimisation d'applications Best OBJECTIFS Grâce à ce cours pratique, vous serez en mesure de réduire d'une manière décisive les temps de réponse de vos applications. Vous comprendrez le fonctionnement de l'optimiseur intégré et des outils d'analyse et de gestion d'oracle. Vous serez en mesure d'écrire des requêtes SQL performantes. 1) Introduction 2) Traitement des requêtes SQL 3) Diagnostic et mesure de performance 4) Optimisation du schéma relationnel 1) Introduction - Démarche, étapes et acteurs de l'optimisation. - Problèmes de performances. - Particularités des types d'applications. Problématiques. 2) Traitement des requêtes SQL 5) L'optimiseur 6) Optimisation des requêtes 7) Exécution en parallèle des requêtes - Mécanismes internes. Partage des curseurs. Variables de lien dans SQL*Plus et Enterprise Manager. - Partage des curseurs. Fonctionnalité Adaptive Cursor Sharing. Cache de résultat. Utilisation des bind variables pour partager des curseurs. 3) Diagnostic et mesure de performance - Outils d'optimisation. Traces de diagnostic. Services avec les applications client. - Trace pour votre session. Fichiers de trace SQL. Les fichiers de trace SQL. Utilisation de Tkprof. 4) Optimisation du schéma relationnel - Structures principales et chemins d'accès. Balayage complet de table. - Accélérer les requêtes. Index B*Tree et Bitmap. Tables index. Index composites et index invisibles. - Règles de gestion des index. Tables globales temporaires. - Partitionnement des données. Vues matérialisées. Colonnes virtuelles. Optimisation de requêtes. 5) L'optimiseur - Recherches de données. Optimisation statistique ou syntaxique. Statistiques destinées à l'optimiseur. - Collecte dynamique des statistiques. Conversions de types de données. Evaluation des expressions. - Opérateurs de comparaison. Sous-interrogations. Méthodes de jointure et d'accès aux données. - Optimisation manuelle des requêtes par hints. Comparaison des optimiseurs statistique et syntaxique. 6) Optimisation des requêtes - La conception et l'applicatif. Prédicats composés. Arborescences. Fonctions de groupes. - Boucles inutiles. Vues et requêtes imbriquées. Updates synchronisés. Les tableaux dans PL/SQL. - Curseurs implicites/explicites et récupération des lignes par lot. FORALL. Optimisation de traitements batch. 7) Exécution en parallèle des requêtes - Un serveur à plusieurs CPU. Requêtes en parallèle. Réglage automatique des instructions SQL. - Réglage d'une application. Fonction de conseil STA. Statistiques obsolètes sur les objets. - Profilage des instructions SQL. Flux de réglage d'un plan et création de profil SQL. - Database Control et fonction de conseil STA. Recommandations d'implémentation. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 102

103 Stage pratique de 5 jour(s) Réf : ORF Ce cours s'adresse aux chefs de projet, concepteurs et développeurs. Bonnes connaissances de la programmation SQL et PL/ SQL. Expérience requise. Oracle DS Forms, applications graphiques OBJECTIFS Ce stage traite de la création d'applications graphiques avec le module Forms de Developer Suite, le L4G d'oracle. Après avoir pris en main l'interface de développement, vous créerez une application qui vous permettra de manipuler concrètement tous les objets pouvant être mis en oeuvre dans vos formulaires. 1) Introduction 2) L'interface et les fenêtres de développement 3) L'interface de développement, les assistants 4) Le module Forms. Les objets 5) Le module Menu 6) Les routines usuelles 7) Des exemples de mise en oeuvre de développement 1) Introduction - Les composants de Forms. - Les principales fonctionnalités. 2) L'interface et les fenêtres de développement - Object Navigator (navigateur d'objets). - Layout Editor (éditeur de présentation). - Property Palette (palette de propriétés). - PL/SQL Editor (éditeur PL/SQL). - Object Libraries (bibliothèques d'objets). - Menu Editor (éditeur de menus). 3) L'interface de développement, les assistants - Data Block Wizard (assistant de création de blocs). - Layout Wizard (assistant de présentation). - Chart Wizard (assistant de création de graphiques). - LOV Wizard (assistant de création de List Of Values). 4) Le module Forms. Les objets - Triggers (déclencheurs). Alerts (alertes). - Attached Libraries (bibliothèques attachées). Data Blocks (blocs de données). - Canvases (canevas). Editors (editeurs). List Of Values : LOV (listes de valeurs). - Object Groups (groupes d'objets). Parameters (paramètres). - Popup Menus (menus contextuels). Program Units (unités de programme). - Property Classes (classes de propriétés). Record Groups (groupes d'enregistrements). - Reports (états). Visual Attributes (attributs visuels). - Windows (fenêtres). 5) Le module Menu - Création de menus. - Différents types d'items de menu. - Rattachement de menus aux formulaires. 6) Les routines usuelles - Application. Messages. - Enregistrements. Requêtes. - Timer. Web. 7) Des exemples de mise en oeuvre de développement - Applications 'multi-forms'. - Création manuelle de relation maître/détail. - Design et ergonomie. Manipulation de LOV et d'éditeurs. - Manipulation de listes déroulantes. Manipulation de groupes de bouton radio. - Manipulation de cases à cocher. Manipulation de boutons poussoirs. - Manipulation d'images. Gestion des erreurs. - Utilisation de variables globales. Utilisation de variables système. - Affichage de messages via une alerte. Standardisation d'événements. Migration. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 103

104 Stage pratique de 2 jour(s) Réf : MYP Pour toute personne désirant se servir de SQL dans les environnements MySQL ou PostgreSQL. Aucune connaissance particulière. Prix 2015 : 1380 HT Dates des sessions Paris 24 sep. 2015, 30 nov Aix 1 oct. 2015, 17 déc Bordeaux 15 oct. 2015, 10 déc Bruxelles 22 oct. 2015, 17 déc Geneve 22 oct. 2015, 17 déc Grenoble 1 oct. 2015, 17 déc Lille 1 oct. 2015, 17 déc Luxembourg 22 oct. 2015, 17 déc Lyon 1 oct. 2015, 17 déc Montpellier 1 oct. 2015, 17 déc Nantes 15 oct. 2015, 10 déc Rennes 15 oct. 2015, 10 déc Sophia-antipolis 1 oct. 2015, 17 déc Strasbourg 1 oct. 2015, 17 déc Toulouse 15 oct. 2015, 10 déc SQL pour MySQL et PostgreSQL Best OBJECTIFS Cette formation très pratique focalise sur les aspects essentiels du langage d'interrogation SQL, tant du point de vue logique que syntaxique. Elle vous apportera également une méthode sûre pour écrire des requêtes, simples et complexes, en environnement MySQL et PostgreSQL. 1) Introduction 2) Modèle relationnel 3) Les outils client 4) Les objets 5) Requêtes simples 6) Tris et agrégats 7) Jointures 8) Requêtes complexes L'apprentissage du SQL se fait en environnement MySQL ou PostgreSQL, au choix du participant. 1) Introduction - Serveur MySQL/PostgreSQL. - Versions et évolution. - Ressources et documentation. 2) Modèle relationnel - Les principes du modèle relationnel. - L'algèbre relationnelle : opérations relationnelles sur les ensembles de données. - Introduction à SQL. 3) Les outils client - L'outil client MySQL. - Présentation de l'outil "PSQL" de PostgreSQL. 4) Les objets - Types de données dans MySQL/PostgreSQL. - Création de tables. - Utilisation de colonnes auto-incrémentées. - Utilisation des vues. Utilisation des outils "mysql" et "psql". Création de tables et mise à jour de données. Utilisation des vues. 5) Requêtes simples - L'interrogation (SELECT). - La mise à jour. - Opérateurs et critères. - Les transactions. Ecriture de requêtes SQL simples. 6) Tris et agrégats - Tri et doublons : clause ORDER BY, clause LIMIT, clause OFFSET, suppression des doublons. - Utilisation de NULL : opérateur IS NULL. - Utilisation des fonctions. - Utilisation des agrégats. Manipulation des fonctions de tris et d'agrégats. 7) Jointures - Produit cartésien. - Jointure interne. - Jointure externe. 8) Requêtes complexes - Les requêtes imbriquées : opérateur IN, opérateur EXISTS, requêtes imbriquées plus générales. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 104

105 - Opérateurs ensemblistes (union, intersection, différence). - Groupement de données (clause GROUP BY, HAVING). Ecriture de requêtes SQL simples. Utilisation de fonctions et d'agrégats, jointures et requêtes imbriquées, utilisation de GROUP BY et HAVING. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 105

106 Stage pratique de 3 jour(s) Réf : MSQ Ce stage s'adresse à tous les informaticiens ayant à développer pour MySQL. Connaissances de base d'un système d'exploitation (Windows, Linux/Unix). Prix 2015 : 1795 HT Dates des sessions Paris 14 sep. 2015, 26 oct nov. 2015, 14 déc Aix 26 oct. 2015, 7 déc Bordeaux 19 oct. 2015, 14 déc Bruxelles 26 oct. 2015, 7 déc Geneve 26 oct. 2015, 7 déc Grenoble 26 oct. 2015, 7 déc Lille 26 oct. 2015, 7 déc Luxembourg 26 oct. 2015, 7 déc Lyon 26 oct. 2015, 7 déc Montpellier 26 oct. 2015, 7 déc Nantes 19 oct. 2015, 14 déc Rennes 19 oct. 2015, 14 déc Sophia-antipolis 26 oct. 2015, 7 déc Strasbourg 26 oct. 2015, 7 déc Toulouse 19 oct. 2015, 14 déc MySQL, prise en main Best OBJECTIFS Ce cours vous permettra d'acquérir toutes les compétences nécessaires à l'utilisation efficace et fiable de la base de données MySQL : la pratique du langage SQL, les objets de la base de données... Ce stage propose également une introduction à l'administration. 1) Introduction et prise en main 2) Modèle relationnel, conception et création d'une base 3) Pratique du SQL avec MySQL 4) Tables transactionnelles InnoDB 5) SQL procédural 6) Connexions, droits d'accès, sécurité 7) Introduction à l'administration Tout au long du stage, de nombreux travaux pratiques permettent de valider les connaissances théoriques. 1) Introduction et prise en main - Versions, panorama des fonctionnalités et des outils. - Ressources et documentation. - Procédure d'installation. - Paramétrages de post-installation et premiers tests. - L'outil client ligne de commandes mysql. - L'outil graphique MySQL Query Browser. 2) Modèle relationnel, conception et création d'une base - Eléments de conception d'un schéma de base de données. - Contraintes d'intégrité. - Types de données MySQL (numériques, chaînes, dates, types spécifiques...). - Fonctions intégrées de MySQL. - Types de tables (MyISAM, MEMORY, MERGE, InnoDB...). - Création de bases et de tables. - La base INFORMATION_SCHEMA. - Jeux de caractères, internationalisation. Conception et création d'une base en tables MylSAM. 3) Pratique du SQL avec MySQL - Sélections simples, comparaisons, tris. - Sélections multitables, différents types de jointures. - Requêtes imbriquées, préparées. - Modifications et gestion des vues. Sélections simples. Sélections multiples, jointures internes et externes, requêtes imbriquées. Modifications et suppressions de données. 4) Tables transactionnelles InnoDB - Notion de transaction, niveaux d'isolation. - Structure physique des tables. - Programmation des transactions (START TRANSACTION, COMMIT, ROLLBACK). Mise en oeuvre de transactions. 5) SQL procédural - Procédures stockées et fonctions. - Définition des procédures. Déclencheurs (Triggers). - Gestion des erreurs. Ecriture de procédures stockées. Récupération de résultats à l'aide de curseurs. Création et utilisation de triggers. 6) Connexions, droits d'accès, sécurité ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 106

107 - Niveaux de privilèges et vérification des droits. - Gestion des utilisateurs et de leurs privilèges. - Sécurisation des procédures stockées et des vues. Gestion des privilèges et des mots de passe. 7) Introduction à l'administration - Exportation de données. - Sauvegardes, la commande mysqldump. - Survol de l'installation de MySQL. Exportation de données. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 107

108 Stage pratique de 3 jour(s) Réf : POS Développeurs, exploitants et toute autre personne désireuse d'utiliser au mieux PostgreSQL ou de migrer vers PostgreSQL. Connaissances de base d'un système d'exploitation (Windows, Linux/Unix). Prix 2015 : 1795 HT Dates des sessions Paris 5 oct. 2015, 16 nov déc Aix 26 oct. 2015, 14 déc Bordeaux 28 sep. 2015, 23 nov Bruxelles 28 sep. 2015, 23 nov Geneve 28 sep. 2015, 23 nov Grenoble 26 oct. 2015, 14 déc Lille 26 oct. 2015, 14 déc Luxembourg 28 sep. 2015, 23 nov Lyon 26 oct. 2015, 14 déc Montpellier 26 oct. 2015, 14 déc Nantes 28 sep. 2015, 23 nov Rennes 28 sep. 2015, 23 nov Sophia-antipolis 26 oct. 2015, 14 déc Strasbourg 26 oct. 2015, 14 déc Toulouse 28 sep. 2015, 23 nov PostgreSQL, prise en main OBJECTIFS Le SGBD PostgreSQL dispose de la majorité des fonctionnalités que l'on peut trouver dans des produits commerciaux comme Oracle ou DB2. Cette formation vous apprendra à l'utiliser de manière efficace, notamment à créer et à exploiter une base de données, ou encore à programmer avec le langage PL/pgSQL. 1) Introduction 2) SQL avec PostgreSQL 3) Le langage PL/pgSQL 4) Maintenance des données 1) Introduction - Présentation de PostgreSQL, versions. - Le modèle relationnel, le schéma. - Tables, contraintes. Interfaces utilisateur. 2) SQL avec PostgreSQL 5) Gestion des utilisateurs et des groupes 6) Configuration de PostgreSQL 7) Compléments - La norme SQL. Positionnement de PostgreSQL. Mise en place du schéma d'une base. - Type de données PostgreSQL. Tables. Séquences. Vues. Contraintes d'intégrité sur les tables. - Ajout, modification et suppression des données. - Interrogation du schéma d'une base. Sélection, restriction, tri, jointure. - Extractions complexes. Utilisation d'opérateurs. Spécificités SQL de PostgreSQL. - Fonctionnalités avancées PostgreSQL. Transactions. Vues. Tableaux. Héritage de tables. Création d'un schéma. Script SQL DDL. Création de vues. Scénarios de transactions. 3) Le langage PL/pgSQL - Les instructions, types du langage. Blocs de code. - Structures de contrôle. Erreurs et exceptions. - Les curseurs. Déclaration, déplacement et fermeture. - Les procédures et les fonctions. - Ajout de sous-programmes à une base de données. - Les déclencheurs, triggers. Structure. Fonctions stockées. 4) Maintenance des données - Importation/exportation de données. - Avec COPY TO et COPY FROM. Avec Psql. - Sauvegarde et restauration des données. - Outils pg_dump. Optimisation de requêtes. - Les index. L'optimiseur. EXPLAIN et VACUUM. Importation/exportation de données. Création d'index et analyse de plan d'exécution de requêtes. 5) Gestion des utilisateurs et des groupes - Création. Authentification. - Octroi de privilèges. Création d'utilisateurs, allocation de droits. Tests d'authentification. 6) Configuration de PostgreSQL - Installation et démarrage d'une base. - Le Postmaster. Le fichier Postgresql.conf. - Tables système. Installation d'une base et configuration. 7) Compléments - Les interfaces de programmation. - Connexion de PostgreSQL avec PHP, JDBC, ODBC. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 108

109 Stage pratique de 3 jour(s) Réf : DAV Ce stage s'adresse à des développeurs désirant avoir des connaissances approfondies sur les possibilités offertes par PostgreSQL. Bonnes connaissances du langage SQL et de PostgreSQL. Expérience requise. Prix 2015 : 1875 HT Dates des sessions Paris 26 oct. 2015, 14 déc PostgreSQL, optimiser vos developpements Cette formation est destinée à ceux qui désirent aller plus loin dans l'utilisation de PostgreSQL. Ce système de gestion de bases de données est l'un des plus avancés sur l'implémentation de la norme SQL. Il permet d'en appliquer les dernières spécifications comme, par exemple, les directives WINDOW et PARTITION BY. OBJECTIFS PEDAGOGIQUES Enumérer les nouveautés de la norme SQL Identifier les possibilités de développement offertes par PostgreSQL Développer des applications optimisées pour PostgreSQL 1) Rappels 2) Création de base de données, de schémas et de types de données 3) Création de tables et de vues 4) Mise en oeuvre de requêtes complexes 5) Gestion des transactions 6) Gestion des utilisateurs, des rôles et des droits 7) Mise en oeuvre de procédures stockées 8) Interfaces de programmation client Au cours de cette formation vous effectuerez des requêtes à partir de tables contenant plusieurs types de champs : géométriques, tableaux, textes... 1) Rappels - Configuration du serveur et des accès. - Le client ligne de commande et graphique. Exercice Configuration du serveur et test des clients psql et pgadmin3. 2) Création de base de données, de schémas et de types de données - Choix du template et du charset. Le search_path. - Types prédéfinis (monétaires,...) et types tableaux. - Domaines et types utilisateurs. - Définition de nouveaux types de base en langage C. Exercice Création d'une base de données avec schémas et search_path. 3) Création de tables et de vues - Contraintes de clés étrangères. - Tables héritées (EXTENDS). Tables partitionnées. - Indexation. Vues matérialisées. Création de tables avec clés étrangères. Création de vues matérialisées. 4) Mise en oeuvre de requêtes complexes - Agrégats. Jointures. Sous-requêtes. - Clauses WINDOW et PARTITION BY. - Recherche en mode FULL TEXT. - Analyse des requêtes avec EXPLAIN. Exercice Exploration des tables. Recherche plein texte. Analyse de requêtes. 5) Gestion des transactions - Points de rebroussement. Niveaux d'isolation. - Verrous explicites de lignes et de tables. - Verrous informatifs pour les applications. Exercice Test des divers modes d'isolation et de verrous ligne/table. 6) Gestion des utilisateurs, des rôles et des droits - Utilisateurs et rôles. - Héritage de rôles, organisation en groupes. - Rôle PUBLIC. Droits. Exercice ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 109

110 Déclaration d'utilisateurs et activation de l'authentification. 7) Mise en oeuvre de procédures stockées - Procédures écrites en PL/pgSQL en Perl et en C. - Curseurs. Définition d'opérateurs. - Mise en place de déclencheurs (triggers). Exercice Définition d'un type de base avec opérateur et fonctions de conversion associés. Définition d'une fonction d'agrégation. 8) Interfaces de programmation client - Programmation en C, en Perl et en PHP. - Récupération d'éléments graphiques dans la base de données. - Traitement des transactions SQL par les exceptions. Exercice Création d'un programme C assurant l'écriture/lecture d'une BD. Réalisation d'une interface Web en PHP à partir des tables PostgreSQL. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 110

111 Stage pratique de 2 jour(s) Réf : GIT Développeurs, architectes, chefs de projet. Aucun. Mettre en œuvre le contrôle de versions avec le système GIT OBJECTIFS Vous apprendrez dans ce stage à installer, configurer et utiliser GIT au quotidien pour gérer votre code source. Vous mettrez en place différents dépôts, apprendrez à gérer les branches de vos projets et résoudrez les conflits survenant lors d'opérations de fusion. Vous manipulerez également les outils annexes à GIT. Prix 2015 : 1530 HT Dates des sessions Paris 10 sep. 2015, 8 oct nov. 2015, 10 déc ) Présentation de GIT 2) Installation et configuration 3) Utilisation de GIT, les fondamentaux 4) Gestion locale des fichiers 1) Présentation de GIT 5) Gestion des branches 6) Partage du travail et collaboration 7) Mise en oeuvre des Outils GIT - Concepts de base du contrôle de version. - La gestion centralisée ou distribuée. - Les différentes solutions de gestion de versions : (GIT, CVS, SVN, Mercurial, Bazaar,..., ). - Apports la décentralisation. Principe de fonctionnement. 2) Installation et configuration - Installation sous différents systèmes : UNIX/Windows. - Le système d'émulation sous Windows msysgit. - Configuration du fichier.gitconfig. La console. - Déclaration d'un outil d'analyse de différentiel de versions. Installation et configuration de GIT sous Windows. 3) Utilisation de GIT, les fondamentaux - Le modèle objet GIT : blob, tree, commit et tag. - Le répertoire GIT et le répertoire de travail. - L'index ou staging area. - Création et initialisation un dépôt. - Les concepts de branche, tag et de dépôt. - Outil de visualisation Gitk. Création et initialisation d'un dépôt. Utilisation de l'outil de visualisation Gitk. 4) Gestion locale des fichiers - Consultation de l'état de l'arbre de travail. - Ajout, ignorance, modification, suppression et recherche de fichiers. - Annulation et visualisation des modifications. - Parcours de l'historique des révisions. - Les logs (statistique, formatage,...). Manipulation des principales commandes GIT de gestion de modifications de fichiers. 5) Gestion des branches - La branche «master». - Création de branches et de sous-branches. - Changement de branche. - Fusion d'une branche et gestion des conflits. - Comparaison de deux branches. Les principales commandes GIT de gestion des branches (création, fusion, comparaison). 6) Partage du travail et collaboration - Mise en place d'un dépôt distant public ou privé. - Publier ses modifications (opération de push). - Récupération des modifications de l'équipe. - Les branches de suivi. Gestion des échecs. Mise en place d'un dépôt distant et simulation d'un travail collaboratif. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 111

112 7) Mise en oeuvre des Outils GIT - Git-gui et TortoiseGIT, la navigation graphique dans GIT. - GITWeb, la navigation graphique au sein des dépôts. - GITHub, le service d'hébergement de dépôts. - Gerrit, le système de revue de code. Manipulation de quelques outils. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 112

113 Stage pratique de 3 jour(s) Réf : RUR Programmeurs, développeurs Web et Webmasters désirant concevoir des sites Internet professionnels orientés Web Services. Connaissances de base d'html, de JavaScript, d'un langage de développement côté serveur et en administration d'un serveur Web. Prix 2015 : 1875 HT Dates des sessions Paris 21 sep. 2015, 16 nov RUBY On Rails 4, développement Web Ce stage vous apprendra à maîtriser le framework Ruby On Rails 4 pour développer vos applications Web. Vous verrez comment tirer parti de la simplicité et de la rapidité d'utilisation de Rails 4 pour créer des applications riches et évolutives en utilisant le modèle MVC et les connecter à des Services Web. OBJECTIFS PEDAGOGIQUES Maîtriser le développement d'applications Web évoluées à l'aide du framework Ruby On Rails 4 Maîtriser l'architecture RESTful, le design pattern MVC Dynamiser une application Web y en intégrant les librairies JQuery et CoffeeScript Appliquer le développement dirigé par les tests à un développement Ruby On Rails 4 1) Introduction 2) Préparer son environnement de travail 3) Programmer en Ruby 4) Découverte de Rails 1) Introduction - Rappel Internet, HTML et CSS, XML, JSON, YAML. - Design Pattern MVC. - Les hébergeurs Rails. 2) Préparer son environnement de travail 5) Notions avancées de Rails 6) Tests et versioning 7) Migration vers Rails 4 - Environnement de travail (interpréteur Ruby). - Préparer le dossier de travail. - Les outils en ligne de commande. - Installer les outils de développement. Installation de l'environnement. 3) Programmer en Ruby - Rappel objet (modules, classes, instances, UML...). - Conventions de nommage de Rails. - Syntaxe Ruby (module, classe, portée, méthodes...). - Aides Ruby (RI, Rubycore, inspect). Réaliser un premier programme. 4) Découverte de Rails - Architecture Rails (ActiveRecord, ActiveModel, ORM, ActionVue, ActionController, routage des requêtes...). - Préparer une maquette HTML/CSS dans le respect des normes (XHTML/WCAG 2). - Créer un contrôleur de pages statiques. - Etablir des modèles de pages (application/contrôleur). - Mise en place de scripts de vues ERB, RHTML, HAML, Liquid, SASS, SCSS, RJS, CoffeeScript, RXML. - Utiliser des assistants de pagination. Gestion des gems dans l'application. - Placer des ressources partagées. - Paramétrage de la BDD (database.yml), création et "migration" d'une base de données. Réaliser une application avec Rails. 5) Notions avancées de Rails - Le CRUD, RESTFul Web Services, ActiveRecord et le routage orienté ressources, routage avancé des requêtes. - Les migrations d'activerecord. Les transactions. - Les formulaires Rails (form_for...). Les filtres. - Internationaliser "i18n". Intégrer l'unicode côté client et côté serveur. - Gérer les sessions, les Cookies et le cache. - Protéger et sécuriser ses pages côté client et serveur. - Débogue, la console irb, les points d'arrêt. - Dynamiser son site avec Ajax, JQuery et CoffeeScript. Ecriture de formulaires. Intégration de JQuery et CoffeeScript dans les développements. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 113

114 6) Tests et versioning - Le TDD (Test Driven Development). - Rails Tests et RSpec. - Gérer les versions avec GIT. Application du TDD. Gestion des sources avec GIT. 7) Migration vers Rails 4 - Les fonctionnalités de Rails converties en gems. - Utilitaire de migration. Migrer une application Rails 3. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 114

115 Stage pratique de 3 jour(s) Réf : BOL Cette formation s'adresse aux informaticiens qui souhaitent acquérir une formation opérationnelle pour développer ou maintenir des applications en Cobol. Connaissances de base en programmation. Expérience souhaitable d'un langage de développement. Prix 2015 : 1795 HT Dates des sessions Paris 5 oct. 2015, 14 déc Programmation Cobol OBJECTIFS Cette formation a pour objectif de communiquer aux stagiaires une réelle compétence dans la programmation Cobol. L'ensemble des concepts fondamentaux est développé. A l'issue de ce stage, les participants savent lire, écrire et mettre au point des applications Cobol. 1) Premiers pas en Cobol 2) Les données 3) Instructions et expressions 4) Les tableaux 5) Les fonctions 6) Programmes et sous-programmes 7) Les fichiers 8) Les impressions De nombreux travaux pratiques illustrent systématiquement les concepts présentés. Ils représentent 60 % du cours. 1) Premiers pas en Cobol - Le langage Cobol : ses origines et ses évolutions. Ses principes généraux. - Les nouvelles versions de Cobol, Cobol et l'approche objet. - Les différentes parties d'un programme (division). - Les différentes zones (numéros d'ordre, indicateur, A, B). - Les principaux symboles du langage (mots et littéraux). - Les compilateurs : leur utilité. - Les outils de debug. 2) Les données - Les différents formats, les chaînes de caractères (ou Pictures), les niveaux. - Les constantes figuratives. La redéfinition d'une donnée. - Manipulation des données. Inspect, les paramètres utilisés dans les commandes. String et Unstring. 3) Instructions et expressions - La description des traitements. La procédure division. Structure de base d'une instruction. - Accept, Display, Move, les différentes zones (alphabétiques, alphanumériques, numériques). - Les paramètres utilisés dans les commandes. - Instructions arithmétiques : Compute, expressions arithmétiques, règles d'évaluation, Add, Subtract, Multiply, Divide. - Expressions conditionnelles et de branchement : Evaluate et Continue. Goto, Perform, Exit Alter. Les mots réservés. - Pour une bonne utilisation de ces instructions. 4) Les tableaux - Présentation, Set, Search. - Une utilisation différente des tableaux. - Implémentation. 5) Les fonctions - Différents modes d'appel : exemple de fonction. - Fonctions financières, statistiques, de date, mathématiques. - Autres fonctions intéressantes. 6) Programmes et sous-programmes - Les conditions d'utilisation des sous-programmes. - Call, Exit Program, Cancel, Stop, End Program. 7) Les fichiers - La description des fichiers. La data division, organisation et structure, la Linkage Section. - Les commandes de gestion des fichiers : Open, Close, Read, Start, Write, Rewrite, Delete. 8) Les impressions - Présentation. Les différents types d'édition. Les différents formats de la commande d'édition : Write. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 115

116 Stage pratique de 4 jour(s) Réf : COR Concepteurs et développeurs amenés à mettre en œuvre des applications distribuées basées sur Corba. Bonnes connaissances des techniques de conception objet. Très bonnes connaissances d'un langage objet (Java et/ou C++). Corba, architecture, mise en œuvre OBJECTIFS Ce stage vous présentera la norme Corba 2.0 et les technologies associées. Il vous apportera tous les éléments pour développer avec rigueur et efficacité des applications distribuées avec Corba dans un environnement comprenant des langages et des systèmes d'exploitation différents. 1) Introduction 2) Caractéristiques des AD, position de Corba 3) L'architecture Corba 4) Le design Corba 5) L'implémentation de Corba 6) Les clients et serveurs Corba 7) La gestion des exceptions Corba 8) Autres éléments 1) Introduction - Pourquoi des AD? Fonctionnement en multi-tiers. - Exemples de projets. Historique des AD et de Corba. - Les apports de Corba 3, CCM. 2) Caractéristiques des AD, position de Corba - Vue d'ensemble. Approche client/serveur. - Les services standard d'une AD : annuaire, gestion de la sécurité, transactions, bases de données. - Fonctionnement des serveurs d'applications. - Cycle de fonctionnement d'une AD. Gestion des instances d'objets, des threads et des clients. - Montée en charge : Load Balancing. Round Robin... - Comparatif de Corba/autres AD. WS, EJB, DCOM,.Net... 3) L'architecture Corba - Corba : un bus logiciel, une publication d'instances. un OA côté serveur, un protocole intéropérable GIP. - L'IR. Le référentiel des implémentations. - Le protocole GIOP. Les services Corba. - Service de noms (annuaire) et autres services. - Gestion des événements. - Architecture complète Corba. 4) Le design Corba - Retour d'expériences. Approche modèle MVC. - Utilisation de patterns de conception. 5) L'implémentation de Corba - Processus de développement Corba. - Gestion de l'idl, génération des codes. - Création des " Stub " et " Skeleton ". - Approche DII/DSI, invocation dynamique. - Le langage IDL : possibilités et points-clés. 6) Les clients et serveurs Corba - Process de développement. - API standard. Code Java et C++ - Héritage d'interface IDL, approche TIE. Création d'un serveur Java. 7) La gestion des exceptions Corba - Exceptions systèmes Corba, utilisateurs Corba. - Fonctionnement sur le bus. Gestion d'exceptions Corba en Java. 8) Autres éléments - Le service de nom. Fonctionnement. Contraintes/Possibilités. API de programmation. Exemples de codes. - Le service de gestion des événements. - Fonctionnement. Gestion par " callback ". Proxy, administration. API de programmation. Exemples de codes. - CCM. Un modèle composants pour Corba. CIDL. Composants et interconnexions. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 116

117 - CCM. Packaging. Déploiement. Administration. ORSYS, La Grande Arche, Paroi Nord, Paris La Défense cedex. Tél : +33 (0) Fax : +33(0) page 117

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

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

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

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

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

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

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

Développement logiciel, Applications mobiles

Développement logiciel, Applications mobiles Développement logiciel, Applications mobiles Les smartphones, tablettes et autres appareils mobiles font partie de notre environnement quotidien et ouvrent sans cesse de nouvelles perspectives. Au-delà

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

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

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

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

//////////////////////////////////////////////////////////////////// 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Iphone vs. Android. Mardi 17 Novembre 2009 Paris, la Défense. Xavier PARADON, Directeur Technique Valtech Training xavier.paradon@valtech-training.

Iphone vs. Android. Mardi 17 Novembre 2009 Paris, la Défense. Xavier PARADON, Directeur Technique Valtech Training xavier.paradon@valtech-training. Mardi 17 Novembre 2009 Paris, la Défense Iphone vs. Android Xavier PARADON, Directeur Technique Valtech Training [email protected] Anthony DAHANNE, Consultant Valtech Technology Consulting

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

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

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

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

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

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

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

//////////////////////////////////////////////////////////////////// Administration systèmes et réseaux

//////////////////////////////////////////////////////////////////// Administration systèmes et réseaux ////////////////////// Administration systèmes et réseaux / INTRODUCTION Réseaux Un réseau informatique est un ensemble d'équipements reliés entre eux pour échanger des informations. Par analogie avec

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

Point sur les solutions de développement d apps pour les périphériques mobiles

Point sur les solutions de développement d apps pour les périphériques mobiles Point sur les solutions de développement d apps pour les périphériques mobiles Par Hugues MEUNIER 1. INTRODUCTION a. Une notion importante : le responsive web design Nous sommes en train de vivre une nouvelle

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

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

Offres de stages 2011/2012

Offres de stages 2011/2012 Offres de stages 2011/2012 RBS LE MEILLEUR DE L INTEGRATION ET DE L EDITION L informatique est devenue un outil stratégique de développement et de différenciation pour les organisations du 21ème siècle

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

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

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

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

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

Ubuntu Linux Création, configuration et gestion d'un réseau local d'entreprise (3ième édition)

Ubuntu Linux Création, configuration et gestion d'un réseau local d'entreprise (3ième édition) Introduction 1. Introduction 13 2. Le choix de l'ouvrage : Open Source et Linux Ubuntu 13 2.1 Structure du livre 13 2.2 Pré-requis ou niveau de connaissances préalables 13 3. L'objectif : la constitution

Plus en détail

Environnements de développement (intégrés)

Environnements de développement (intégrés) Environnements de développement (intégrés) Introduction aux EDI, la plateforme Eclipse Patrick Labatut [email protected] http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure

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

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

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

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

Internet Information Services (versions 7 et 7.5) Installation, configuration et maintenance du serveur Web de Microsoft

Internet Information Services (versions 7 et 7.5) Installation, configuration et maintenance du serveur Web de Microsoft Introduction à IIS 1. Objectifs de ce livre 13 2. Implémentation d un serveur web 14 2.1 Les bases du web 14 2.2 Les protocoles web 16 2.3 Le fonctionnement d un serveur web 21 2.4 Les applications web

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

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

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

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

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

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

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

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

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

Configuration Et Résolution Des Problèmes Des Services De Domaine Active Directory Windows Server 2008. Référence Cours : 6238B

Configuration Et Résolution Des Problèmes Des Services De Domaine Active Directory Windows Server 2008. Référence Cours : 6238B Configuration Et Résolution Des Problèmes Des Services De Domaine Active Directory Windows Server 2008 Durée: 5 jours Référence Cours : 6238B À propos de ce cours Ce cours animé par un instructeur et réparti

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

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

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

Notre Catalogue des Formations IT / 2015

Notre Catalogue des Formations IT / 2015 Notre Catalogue des Formations IT / 2015 Id Intitulé Durée Gestion de projets et méthodes I1101 I1102 I1103 I1104 I1105 I1106 I1107 I1108 I1109 I1110 I1111 I1112 I1113 I1114 I1115 I1116 I1117 I1118 I1119

Plus en détail

Webinar. Découvrez Rubedo, la première solution CMS open-source tirant profit des atouts de Zend Framework et du NoSQL. avec la participation de

Webinar. Découvrez Rubedo, la première solution CMS open-source tirant profit des atouts de Zend Framework et du NoSQL. avec la participation de En partenariat avec Webinar Découvrez Rubedo, la première solution CMS open-source tirant profit des atouts de Zend Framework et du NoSQL avec la participation de 19 mars 2013 Qui sommes-nous? INTRODUCTION

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

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

FileMaker Server 14. Guide de démarrage

FileMaker Server 14. Guide de démarrage FileMaker Server 14 Guide de démarrage 2007-2015 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et FileMaker Go sont des marques

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

Catalogue des formations

Catalogue des formations Catalogue des formations NANCY et TRAINING (siège) 22 rue de Médreville 54000 Nancy Téléphone : 03 83 67 63 05 METZ 4 rue Marconi 57070 Metz Téléphone : 03 87 20 35 02 REIMS 09 rue Pingat 51000 Reims Téléphone

Plus en détail

SAP BusinessObjects Web Intelligence (WebI) BI 4

SAP BusinessObjects Web Intelligence (WebI) BI 4 Présentation de la Business Intelligence 1. Outils de Business Intelligence 15 2. Historique des logiciels décisionnels 16 3. La suite de logiciels SAP BusinessObjects Business Intelligence Platform 18

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

Android 4 Les fondamentaux du développement d'applications Java

Android 4 Les fondamentaux du développement d'applications Java La plateforme Android 1. Présentation 13 2. Historique 14 3. Google Play 15 3.1 Création d'un compte développeur 16 3.2 Publication d'une application 16 3.3 Suivi et mise à jour d'une application 18 Environnement

Plus en détail

KIELA CONSULTING. Microsoft Office Open Office Windows - Internet. Formation sur mesure

KIELA CONSULTING. Microsoft Office Open Office Windows - Internet. Formation sur mesure KIELA CONSULTING Microsoft Office Open Office Windows - Internet Formation sur mesure Bureautique L outil informatique et la bureautique sont devenus quasiment incontournables quelque soit votre métier

Plus en détail

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server Sébastien Boutard Thomas David Le plan de la présentation Petit retour sur les environnements de développement ArcGIS Server

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

SharePoint Foundation 2013 Construire un intranet collaboratif en PME (édition enrichie de vidéos)

SharePoint Foundation 2013 Construire un intranet collaboratif en PME (édition enrichie de vidéos) Présentation des technologies SharePoint 1. Introduction 19 2. Enjeux 20 3. Les pièges à éviter 22 4. Présentation technologique 22 4.1 Historique 23 4.2 Briques fonctionnelles et comparatif des éditions

Plus en détail

Armand PY-PATINEC 2010

Armand PY-PATINEC 2010 Armand PY-PATINEC 2010 EPREUVE PRATIQUE : TABLEAU SYNOPTIQUE Activités Inventaire de bières et de leur lieu de fabrication Gestion des clients pour un programme de facturation Emploi du ruban de l interface

Plus en détail

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre [email protected] Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

Plus en détail

Yann Struillou. Domaines de compétence. Développeur Web & Logiciels. 37 ans, en couple, 2 enfants. 19 hameau de Kerguillec 29120 Tréméoc

Yann Struillou. Domaines de compétence. Développeur Web & Logiciels. 37 ans, en couple, 2 enfants. 19 hameau de Kerguillec 29120 Tréméoc Yann Struillou Développeur Web & Logiciels 19 hameau de Kerguillec 29120 Tréméoc 37 ans, en couple, 2 enfants 02 98 87 07 56 [email protected] http://www.yann-struillou.com Domaines de compétence

Plus en détail

Installation et prise en main

Installation et prise en main TP1 Installation et prise en main Android est le système d'exploitation pour smartphones, tablettes et autres appareils développé par Google. Pour permettre aux utilisateurs d'installer des applications

Plus en détail

Visual Paradigm Contraintes inter-associations

Visual Paradigm Contraintes inter-associations Visual Paradigm Contraintes inter-associations Travail de Bachelor d'informaticien de gestion Partie C Présentation de Visual Paradigm 1 Présentation de Visual Paradigm For UML L objet du travail de Bachelor

Plus en détail

La haute disponibilité de la CHAINE DE

La haute disponibilité de la CHAINE DE Pare-feu, proxy, antivirus, authentification LDAP & Radius, contrôle d'accès des portails applicatifs La haute disponibilité de la CHAINE DE SECURITE APPLICATIVE 1.1 La chaîne de sécurité applicative est

Plus en détail

Préparer la synchronisation d'annuaires

Préparer la synchronisation d'annuaires 1 sur 6 16/02/2015 14:24 En utilisant ce site, vous autorisez les cookies à des fins d'analyse, de pertinence et de publicité En savoir plus France (Français) Se connecter Rechercher sur TechNet avec Bing

Plus en détail

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x WysiUpStudio CMS professionnel pour la création et la maintenance évolutive de sites et applications Internet V. 6.x UNE SOLUTION DE GESTION DE CONTENUS D UNE SOUPLESSE INÉGALÉE POUR CRÉER, MAINTENIR ET

Plus en détail

Catalogue des Formations Techniques

Catalogue des Formations Techniques Catalogue des Formations Techniques Items Média Concept 4, allées Pierre-Gilles de Gennes - 33700 Mérignac Téléphone : 05.57.35.73.73 Télécopie : 05.57.35.73.70 Courriel : [email protected] 2 Préambule

Plus en détail

Catalogue & Programme des formations 2015

Catalogue & Programme des formations 2015 Janvier 2015 Catalogue & Programme des formations 2015 ~ 1 ~ TABLE DES MATIERES TABLE DES MATIERES... 2 PROG 1: DECOUVERTE DES RESEAUX... 3 PROG 2: TECHNOLOGIE DES RESEAUX... 4 PROG 3: GESTION DE PROJETS...

Plus en détail

SQL Server 2012 - Administration d'une base de données transactionnelle avec SQL Server Management Studio (édition enrichie de vidéos)

SQL Server 2012 - Administration d'une base de données transactionnelle avec SQL Server Management Studio (édition enrichie de vidéos) Présentation 1. Introduction 13 2. Présentation de SQL Server 14 2.1 Qu'est-ce qu'un SGBDR? 14 2.2 Mode de fonctionnement Client/Serveur 16 2.3 Les plates-formes possibles 17 2.4 Les composants de SQL

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

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