31.07.2014 Views

Développement logiciel, Langages C / C++ / VB... - Orsys

Développement logiciel, Langages C / C++ / VB... - Orsys

Développement logiciel, Langages C / C++ / VB... - Orsys

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Développement <strong>logiciel</strong>, <strong>Langages</strong> C / <strong>C++</strong> / <strong>VB</strong>...<br />

De nombreuses applications ont été développées en C, <strong>C++</strong>, Visual Basic, SQL ou même<br />

Cobol et continuent à évoluer. A cela vient s'ajouter l'utilisation de nombreux autres langages<br />

plus spécialisés tels que Python ou Ruby. Conçus sur la base d'expériences concrètes, les<br />

cours <strong>Orsys</strong> vous permettront de comprendre le contexte d'utilisation de ces langages et d'en<br />

acquérir une parfaite maîtrise en vue de développer de nouvelles applications, de les intégrer<br />

au système d'information et d'en assurer la maintenance.<br />

Stages Pratiques<br />

Introduction à la programmation avec Visual Basic.... ( p3 )<br />

Introduction à la programmation avec Java.... ( p5 )<br />

Introduction à la programmation avec C#.... ( p7 )<br />

Développer en Visual Basic.... ( p9 )<br />

Visual Basic, perfectionnement.... ( p11 )<br />

Programmation en C.... ( p12 )<br />

Programmation objet en <strong>C++</strong>.... ( p14 )<br />

Programmation <strong>C++</strong>, perfectionnement.... ( p16 )<br />

<strong>C++</strong>, mise à niveau pour les développeurs C# et Java.... ( p18 )<br />

<strong>C++</strong>, développement d'applications graphiques en QT.... ( p19 )<br />

Programmer vos applications en Multicore.... ( p21 )<br />

<strong>C++</strong>, programmer avec CUDA, OpenMP et les PPL Visual Studio.... ( p23 )<br />

Linux industriel, temps réel et embarqué.... ( p25 )<br />

Développeur système sous Linux/Unix.... ( p27 )<br />

Objective C, programmation.... ( p28 )<br />

Python, programmation objet.... ( p29 )<br />

Développer avec les frameworks Python.... ( p31 )<br />

Django, développement Web avec Python.... ( p32 )<br />

Langage Perl.... ( p34 )<br />

Langage Perl, programmation avancée.... ( p36 )<br />

Windev, développement d'applications.... ( p37 )<br />

Webdev, développement Web.... ( p38 )<br />

Webdev, développement Web, perfectionnement.... ( p40 )<br />

PowerBuilder, les fondamentaux.... ( p41 )<br />

PowerBuilder, perfectionnement.... ( p43 )<br />

PowerBuilder, développer des applications .NET.... ( p45 )<br />

Groovy, programmation.... ( p47 )<br />

Groovy et Grails, développement Web.... ( p49 )<br />

Ruby On Rails 3, développement Web.... ( p50 )<br />

Amazon Web Services, architecture et mise en œuvre.... ( p51 )<br />

Scala, programmation.... ( p53 )<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 1 / 86


Programmation Cobol.... ( p54 )<br />

Corba, architecture, mise en œuvre.... ( p55 )<br />

Mettre en œuvre le contrôle de versions avec le système GIT.... ( p57 )<br />

SQL Server, Programmation SQL.... ( p59 )<br />

SQL Server, programmation SQL avancée.... ( p61 )<br />

SQL Server 2012/2008, développement .... ( p62 )<br />

SQL Server 2012, mise en œuvre.... ( p63 )<br />

Transact-SQL, optimisation pour SQL Server 2012/2008.... ( p65 )<br />

SQL Server 2008, mise en œuvre.... ( p66 )<br />

SQL server 2008, mise en œuvre avancée.... ( p68 )<br />

SQL Server 2005, mise en œuvre.... ( p69 )<br />

SQL Server, optimisation.... ( p71 )<br />

Oracle SQL.... ( p73 )<br />

Oracle SQL, perfectionnement.... ( p74 )<br />

Oracle SQL pour le décisionnel.... ( p76 )<br />

Développer en PL/SQL.... ( p77 )<br />

Développer en PL/SQL, perfectionnement.... ( p78 )<br />

Oracle, optimisation d'applications.... ( p80 )<br />

SQL pour MySQL et PostgreSQL.... ( p81 )<br />

MySQL, prise en main.... ( p83 )<br />

PostgreSQL, prise en main.... ( p85 )<br />

MariaDB, prise en main.... ( p86 )<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 2 / 86


Stage pratique de 3 jour(s)<br />

Réf : INP<br />

Participants<br />

Toute personne devant<br />

apprendre à programmer.<br />

Pré-requis<br />

Aucune connaissance<br />

particulière.<br />

Prix 2014 : 1750€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

3 fév. 2014, 3 mar. 2014<br />

7 avr. 2014, 5 mai 2014<br />

2 juin 2014, 7 juil. 2014<br />

18 aoû. 2014, 1 sep. 2014<br />

6 oct. 2014, 3 nov. 2014<br />

1 déc. 2014<br />

Introduction à la programmation avec Visual Basic<br />

OBJECTIFS<br />

Ce stage vous permettra de comprendre les fondements de la programmation et de l'algorithmique. Vous<br />

acquérez des bases en programmation qui vous permettront d'aborder n'importe quel langage dans les<br />

meilleures conditions. Tous les aspects essentiels seront vus : les modèles de programmation, les éléments<br />

de lexique et de syntaxe, les outils, l'organisation du code, l'accès aux bases de données et les tests.<br />

1) Les fondements de la programmation<br />

2) Genèse d'un premier programme<br />

3) Règles de programmation<br />

4) Les variables<br />

5) Opérateurs et expressions<br />

Travaux pratiques<br />

6) Les structures de contrôle<br />

7) Les procédures et les fonctions<br />

8) Introduction à la programmation objet<br />

9) L'accès aux bases de données<br />

10) Maintenance, débogage et test des<br />

programmes<br />

Ce stage contient plus de 60 % de travaux pratiques effectués selon vos besoins en Visual Basic (Cours<br />

INP), en Java (cours INJ ) ou en C# (cours OGR).<br />

1) Les fondements de la programmation<br />

- Qu'est-ce qu'un programme ? Qu'est-ce qu'un langage ? Les différents paradigmes. Quel langage pour<br />

quelle application ?<br />

- Les compilateurs. Les exécutables.<br />

- Les responsabilités d'un programmeur.<br />

- Qu'est-ce qu'un algorithme ?<br />

- Les besoins auxquels répond un algorithme.<br />

- Le concept de pseudo-langage.<br />

Travaux pratiques<br />

Présentation de différents langages (Java, C#, Visual Basic, C, <strong>C++</strong>). Ecriture d'un premier algorithme en<br />

pseudo-langage.<br />

2) Genèse d'un premier programme<br />

- Ecriture d'un programme simple : syntaxe et instructions.<br />

- Compilation et exécution du programme.<br />

- Qu'est-ce qu'une librairie ? Son rôle, son usage.<br />

Travaux pratiques<br />

Découverte de l'environnement de développement et d'exécution. Ecriture, compilation et exécution d'un<br />

premier programme.<br />

3) Règles de programmation<br />

- Convention de nommage.<br />

- Convention syntaxique.<br />

- Utilisation des commentaires. Pourquoi commenter les développements ?<br />

- Améliorer la lisibilité des programmes : indentation du code, découpage du code...<br />

4) Les variables<br />

- Qu'est-ce qu'une variable ?<br />

- Pourquoi typer une variable ?<br />

- Les types primitifs : entiers, chaînes de caractères, nombres réels, autres.<br />

- Déclaration, définition et initialisation d'une variable.<br />

- Les constantes.<br />

- Saisie, affichage, affectation, conversion de type.<br />

- Organiser ses données sous forme de tableaux.<br />

- Les types évolués : enregistrement, matrice, arbre.<br />

Travaux pratiques<br />

Ecriture de plusieurs programmes simples manipulant les variables.<br />

5) Opérateurs et expressions<br />

- Les différents opérateurs (multiplicatif, additif, comparaison, égalité, logique, affectation).<br />

- Combinaison d'opérateurs.<br />

- Expression booléenne.<br />

Travaux pratiques<br />

Manipulation des opérateurs et des expressions booléennes.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 3 / 86


6) Les structures de contrôle<br />

- Les sélections alternatives (si, si-alors-sinon, sélection cas).<br />

- Les blocs d'insctructions (notion de début... fin).<br />

- Les boucles itératives (tant que-répéter, répéter-jusqu'à, pour-de-à).<br />

- Imbrication des instructions.<br />

- Les commentaires.<br />

Travaux pratiques<br />

Utilisation des structures de contrôle pour implémenter un algorithme.<br />

7) Les procédures et les fonctions<br />

- Définitions : procédure, fonction.<br />

- Pourquoi sont-elles incontournables en programmation (réutilisabilité, lisibilité...) ?<br />

- Le passage de paramètres.<br />

- Le code retour d'une fonction.<br />

- Sensibilisation aux limites du passage de la valeur d'une variable.<br />

- Notion de passage par adresse.<br />

- Appel de fonctions.<br />

Travaux pratiques<br />

Debugging de programmes exemples.<br />

8) Introduction à la programmation objet<br />

- Les concepts associés à la programmation objet : classe, attribut, méthode, argument.<br />

- La modélisation objet à partir des exigences fonctionnelles.<br />

- Introduction aux bonnes pratiques d'organisation de conception et d'organisation d'un programme.<br />

Travaux pratiques<br />

Illustration des concepts objets.<br />

9) L'accès aux bases de données<br />

- Organisation et stockage des données.<br />

- Les traitements de base (connexion, requêtes, récupération des données).<br />

- Application cliente et serveur de données.<br />

- Affichage et manipulation des données dans l'application cliente.<br />

Travaux pratiques<br />

Création d'un formulaire de recherche d'informations dans une base de données.<br />

10) Maintenance, débogage et test des programmes<br />

- Savoir lire et interpréter les différents messages d'erreurs.<br />

- Utiliser un débogueur : exécuter un programme pas à pas, points d'arrêts, inspecter les variables pendant<br />

l'exécution.<br />

- Prévoir les tests unitaires.<br />

Travaux pratiques<br />

Utilisation d'un débogueur pour contrôler l'exécution des programmes.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 4 / 86


Stage pratique de 3 jour(s)<br />

Réf : INJ<br />

Participants<br />

Toute personne devant<br />

apprendre à programmer.<br />

Pré-requis<br />

Aucune connaissance<br />

particulière.<br />

Prix 2014 : 1750€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

7 avr. 2014, 30 juin 2014<br />

13 oct. 2014, 15 déc. 2014<br />

Introduction à la programmation avec Java<br />

OBJECTIFS<br />

Ce stage vous permettra de comprendre les fondements de la programmation et de l'algorithmique. Vous<br />

acquérez des bases en programmation qui vous permettront d'aborder n'importe quel langage dans les<br />

meilleures conditions. Tous les aspects essentiels seront vus : les modèles de programmation, les éléments<br />

de lexique et de syntaxe, les outils, l'organisation du code, l'accès aux bases de données et les tests.<br />

1) Les fondements de la programmation<br />

2) Genèse d'un premier programme<br />

3) Règles de programmation<br />

4) Les variables<br />

5) Opérateurs et expressions<br />

Travaux pratiques<br />

6) Les structures de contrôle<br />

7) Les procédures et les fonctions<br />

8) Introduction à la programmation objet<br />

9) L'accès aux bases de données<br />

10) Maintenance, débogage et test des<br />

programmes<br />

Ce stage contient plus de 60 % de travaux pratiques effectués selon vos besoins en Visual Basic (cours INP),<br />

en Java (cours INJ) ou en C# (cours OGR).<br />

1) Les fondements de la programmation<br />

- Qu'est-ce qu'un programme ? Qu'est-ce qu'un langage ? Les différents paradigmes. Quel langage pour<br />

quelle application ?<br />

- Les compilateurs. Les exécutables.<br />

- Les responsabilités d'un programmeur.<br />

- Qu'est-ce qu'un algorithme ?<br />

- Les besoins auxquels répond un algorithme.<br />

- Le concept de pseudo-langage.<br />

Travaux pratiques<br />

Présentation de différents langages (Java, C#, Visual Basic, C, <strong>C++</strong>). Ecriture d'un premier algorithme en<br />

pseudo-langage.<br />

2) Genèse d'un premier programme<br />

- Ecriture d'un programme simple : syntaxe et instructions.<br />

- Compilation et exécution du programme.<br />

- Qu'est-ce qu'une librairie ? Son rôle, son usage.<br />

Travaux pratiques<br />

Découverte de l'environnement de développement et d'exécution. Ecriture, compilation et exécution d'un<br />

premier programme.<br />

3) Règles de programmation<br />

- Convention de nommage.<br />

- Convention syntaxique.<br />

- Utilisation des commentaires. Pourquoi commenter les développements ?<br />

- Améliorer la lisibilité des programmes : indentation du code, découpage du code...<br />

4) Les variables<br />

- Qu'est-ce qu'une variable ?<br />

- Pourquoi typer une variable ?<br />

- Les types primitifs : entiers, chaînes de caractères, nombres réels, autres.<br />

- Déclaration, définition et initialisation d'une variable.<br />

- Les constantes.<br />

- Saisie, affichage, affectation, conversion de type.<br />

- Organiser ses données sous forme de tableaux.<br />

- Les types évolués : enregistrement, matrice, arbre.<br />

Travaux pratiques<br />

Ecriture de plusieurs programmes simples manipulant les variables.<br />

5) Opérateurs et expressions<br />

- Les différents opérateurs (multiplicatif, additif, comparaison, égalité, logique, affectation).<br />

- Combinaison d'opérateurs.<br />

- Expression booléenne.<br />

Travaux pratiques<br />

Manipulation des opérateurs et des expressions booléennes.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 5 / 86


6) Les structures de contrôle<br />

- Les sélections alternatives (si, si-alors-sinon, sélection cas).<br />

- Les blocs d'instructions (notion de Début... Fin).<br />

- Les boucles itératives (tant que-répéter, répéter-jusqu'à, pour-de- à).<br />

- Imbrication des instructions.<br />

- Les commentaires.<br />

Travaux pratiques<br />

Utilisation des structures de contrôle pour implémenter un algorithme.<br />

7) Les procédures et les fonctions<br />

- Définitions : procédure, fonction.<br />

- Pourquoi sont-elles incontournables en programmation (réutilisabilité, lisibilité...) ?<br />

- Le passage de paramètres.<br />

- Le code retour d'une fonction.<br />

- Sensibilisation aux limites du passage de la valeur d'une variable.<br />

- Notion de passage par adresse.<br />

- Appel de fonctions.<br />

8) Introduction à la programmation objet<br />

- Les concepts associés à la programmation objet : classe, attribut, méthode, argument.<br />

- La modélisation objet à partir des exigences fonctionnelles.<br />

- introduction aux bonnes pratiques d'organisation de conception et d'organisation d'un programme.<br />

Travaux pratiques<br />

Illustration des concepts objets.<br />

9) L'accès aux bases de données<br />

- Organisation et stockage des données.<br />

- Les traitements de base (connexion, requêtes, récupération des données).<br />

- Application cliente et serveur de données.<br />

- Affichage et manipulation des données dans l'application cliente.<br />

Travaux pratiques<br />

Création d'un formulaire de recherche d'informations dans une base de données.<br />

10) Maintenance, débogage et test des programmes<br />

- Savoir lire et interpréter les différents messages d'erreurs.<br />

- Utiliser un débogueur : exécuter un programme pas à pas, points d'arrêts, inspecter les variables pendant<br />

l'exécution.<br />

- Prévoir les tests unitaires.<br />

Travaux pratiques<br />

Utilisation d'un débogueur pour contrôler l'exécution des programmes.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 6 / 86


Stage pratique de 3 jour(s)<br />

Réf : OGR<br />

Participants<br />

Toute personne devant<br />

apprendre à programmer.<br />

Pré-requis<br />

Aucune connaissance<br />

particulière.<br />

Prix 2014 : 1750€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

19 mai 2014, 8 sep. 2014<br />

12 nov. 2014<br />

Introduction à la programmation avec C#<br />

OBJECTIFS<br />

Ce stage vous permettra de comprendre les fondements de la programmation et de l'algorithmique. Vous<br />

acquérez des bases en programmation qui vous permettront d'aborder n'importe quel langage dans les<br />

meilleures conditions. Tous les aspects essentiels seront vus : les modèles de programmation, les éléments<br />

de lexique et de syntaxe, les outils, l'organisation du code, l'accès aux bases de données et les tests.<br />

1) Un programme<br />

2) Nécessité d'un algorithme<br />

3) Genèse d'un premier programme<br />

4) Règles de programmation<br />

5) Les variables<br />

6) Opérateurs et expressions<br />

Travaux pratiques<br />

7) Les structures de contrôle<br />

8) Les procédures et les fonctions<br />

9) Introduction à la programmation objet<br />

10) L'accès aux bases de données<br />

11) Maintenance, débogage et test des<br />

programmes<br />

Ce stage contient plus de 60 % de travaux pratiques effectués selon vos besoins en Visual Basic (cours INP),<br />

en Java (cours INJ) ou en C# (cours OGR).<br />

1) Un programme<br />

- Qu'est-ce qu'un programme ?<br />

- Qu'est-ce qu'un langage ? Les différents paradigmes.<br />

- Quel langage pour quelle application ?<br />

- Les compilateurs. Les exécutables.<br />

- Les responsabilités d'un programmeur.<br />

Travaux pratiques<br />

Présentation de différents langages (Java, C#, Visual Basic, C, <strong>C++</strong>).<br />

2) Nécessité d'un algorithme<br />

- Qu'est-ce qu'un algorithme ?<br />

- Les besoins auxquels répond un algorithme.<br />

- Le concept de pseudo-langage.<br />

Travaux pratiques<br />

Ecriture d'un premier algorithme en pseudo-langage.<br />

3) Genèse d'un premier programme<br />

- Ecriture d'un programme simple : syntaxe et instructions.<br />

- Compilation et exécution du programme.<br />

- Qu'est-ce qu'une librairie ? Son rôle, son usage.<br />

Travaux pratiques<br />

Découverte de l'environnement de développement et d'exécution. Ecriture, compilation et exécution d'un<br />

premier programme.<br />

4) Règles de programmation<br />

- Convention de nommage.<br />

- Convention syntaxique.<br />

- Utilisation des commentaires. Pourquoi commenter les développements ?<br />

- Améliorer la lisibilité des programmes : indentation du code, découpage du code...<br />

5) Les variables<br />

- Qu'est-ce qu'une variable ?<br />

- Pourquoi typer une variable ?<br />

- Les types primitifs : entiers, chaînes de caractères, nombres réels, autres.<br />

- Déclaration, définition et initialisation d'une variable.<br />

- Les constantes.<br />

- Saisie, affichage, affectation, conversion de type.<br />

- Organiser ses données sous forme de tableaux.<br />

- Les types évolués : enregistrement, matrice, arbre.<br />

Travaux pratiques<br />

Ecriture de plusieurs programmes simples manipulant les variables.<br />

6) Opérateurs et expressions<br />

- Les différents opérateurs (multiplicatif, additif, comparaison, égalité, logique, affectation).<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 7 / 86


- Combinaison d'opérateurs.<br />

- Expression booléenne.<br />

Travaux pratiques<br />

Manipulation des opérateurs et des expressions booléennes.<br />

7) Les structures de contrôle<br />

- Les sélections alternatives (si, si-alors-sinon, sélection cas).<br />

- Les blocs d'instructions (notion de Début... Fin).<br />

- Les boucles itératives (tant que-répéter, répéter-jusqu'à, pour-de- à).<br />

- Imbrication des instructions.<br />

- Les commentaires.<br />

Travaux pratiques<br />

Utilisation des structures de contrôle pour implémenter un algorithme.<br />

8) Les procédures et les fonctions<br />

- Définitions : procédure, fonction.<br />

- Pourquoi sont-elles incontournables en programmation (réutilisabilité, lisibilité...) ?<br />

- Le passage de paramètres.<br />

- Le code retour d'une fonction.<br />

- Sensibilisation aux limites du passage de la valeur d'une variable.<br />

- Notion de passage par adresse.<br />

- Appel de fonctions.<br />

9) Introduction à la programmation objet<br />

- Les concepts associés à la programmation objet : classe, attribut, méthode, argument.<br />

- La modélisation objet à partir des exigences fonctionnelles : introduction aux bonnes pratiques<br />

d'organisation de conception et d'organisation d'un programme.<br />

Travaux pratiques<br />

Illustration des concepts objets.<br />

10) L'accès aux bases de données<br />

- Organisation et stockage des données.<br />

- Les traitements de base (connexion, requêtes, récupération des données).<br />

- Application cliente et serveur de données.<br />

- Affichage et manipulation des données dans l'application cliente.<br />

Travaux pratiques<br />

Création d'un formulaire de recherche d'informations dans une base de données.<br />

11) Maintenance, débogage et test des programmes<br />

- Savoir lire et interpréter les différents messages d'erreurs.<br />

- Utiliser un débogueur : exécution d'un programme pas à pas, points d'arrêts, inspecter les variables pendant<br />

l'exécution.<br />

- Prévoir les tests unitaires.<br />

Travaux pratiques<br />

Utilisation d'un débogueur pour contrôler l'exécution des programmes.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 8 / 86


Stage pratique de 5 jour(s)<br />

Réf : <strong>VB</strong>6<br />

Participants<br />

Concepteurs et développeurs<br />

d'applications en Visual Basic.<br />

Les participants souhaitant<br />

aborder le <strong>VB</strong>A pour le<br />

développement d'applications<br />

liées au Pack Office doivent<br />

se diriger vers un autre stage.<br />

Pré-requis<br />

Connaissances de base<br />

en programmation.<br />

Expérience souhaitable en<br />

développement <strong>logiciel</strong>.<br />

Prix 2014 : 2440€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

24 fév. 2014, 24 mar. 2014<br />

14 avr. 2014, 19 mai 2014<br />

16 juin 2014, 28 juil. 2014<br />

25 aoû. 2014, 22 sep. 2014<br />

20 oct. 2014, 24 nov. 2014<br />

15 déc. 2014<br />

Aix<br />

31 mar. 2014, 23 juin 2014<br />

13 oct. 2014, 8 déc. 2014<br />

Bordeaux<br />

29 sep. 2014, 17 nov. 2014<br />

Lille<br />

29 sep. 2014, 17 nov. 2014<br />

Lyon<br />

31 mar. 2014, 23 juin 2014<br />

13 oct. 2014, 8 déc. 2014<br />

Nantes<br />

10 mar. 2014, 23 juin 2014<br />

6 oct. 2014, 1 déc. 2014<br />

Rennes<br />

10 mar. 2014, 23 juin 2014<br />

6 oct. 2014, 1 déc. 2014<br />

Sophia-antipolis<br />

31 mar. 2014, 23 juin 2014<br />

13 oct. 2014, 8 déc. 2014<br />

Strasbourg<br />

29 sep. 2014, 17 nov. 2014<br />

Toulouse<br />

29 sep. 2014, 17 nov. 2014<br />

Développer en Visual Basic<br />

OBJECTIFS<br />

Ce stage vous permettra de maîtriser pleinement les fonctionnalités et les capacités de Visual Basic. Tous<br />

les aspects essentiels du langage seront abordés, y compris la programmation objet, l'interaction avec les<br />

bases de données et les Active X Data Objects. A l'issue de ce cours, vous serez à même de réaliser des<br />

applications professionnelles.<br />

1) Positionnement de Visual Basic (vb, vba,<br />

vbscript)<br />

2) Améliorer la conception des applications avec<br />

la programmation objet<br />

3) La plateforme de développement Visual Basic<br />

4) Visual Basic, le langage<br />

5) Fenêtres, menus et boîtes de dialogue<br />

1) Positionnement de Visual Basic (vb, vba, vbscript)<br />

- La construction d'interfaces utilisateur.<br />

- L'accès aux bases de données.<br />

- Utilisation et création de composants.<br />

- Le développement Internet/Intranet.<br />

6) Les composants graphiques (contrôles)<br />

7) La gestion des erreurs<br />

8) L'accès aux données<br />

9) Touche finale<br />

2) Améliorer la conception des applications avec la programmation objet<br />

- Classes et objets.<br />

- Les objets graphiques : formes, contrôles.<br />

- Propriétés, méthodes, événements.<br />

- La programmation événementielle.<br />

3) La plateforme de développement Visual Basic<br />

- Les principes récurrents.<br />

- Fenêtres, barre de menus, barre d'outils.<br />

- Aide en ligne et compléments.<br />

- L'éditeur de code.<br />

- Etapes de création d'une application.<br />

- Les différents types de fichiers.<br />

Travaux pratiques<br />

Prise en main de l'interface, enregistrement et compilation.<br />

4) Visual Basic, le langage<br />

- Les variables.<br />

- Types de données et conversions.<br />

- Portée et durée de vie des variables.<br />

- Tableaux et types de données utilisateurs.<br />

- Les constantes.<br />

- Les variables objets.<br />

- Les conventions de dénomination.<br />

- Procédures événementielles et générales.<br />

- Subroutines et fonctions.<br />

- Portée des procédures : les modules standard.<br />

- Le passage d'arguments.<br />

- Les fonctions de Visual Basic.<br />

- Les opérateurs. Les structures de contrôle.<br />

Travaux pratiques<br />

Création de procédures, passage d'arguments. Création d'une fonction de vérification des dates.<br />

5) Fenêtres, menus et boîtes de dialogue<br />

- Principe des MDI (Multiple Document Interface), formes et contrôles. Formes modales. Formes prédéfinies.<br />

- Chargement et affichage.<br />

- Principaux événements, méthodes et propriétés.<br />

- Menus, popup menus.<br />

- Les fonctions msgbox et inputbox.<br />

Travaux pratiques<br />

Création de formes et d'un menu de présentation. Gestion des événements de chargement et déchargement<br />

des formes.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 9 / 86


6) Les composants graphiques (contrôles)<br />

- Contrôles standard, contrôles Active X.<br />

- Saisie et affichage : label, text box, masked edit.<br />

- Les boutons : command, check box, option.<br />

- Les listes : list box, combo box.<br />

- Présentation : Tool Bar, Status Bar, Image List, Scroll Bar, Progress Bar.<br />

- Les boîtes de dialogue standard : common dialog.<br />

- La minuterie : timer.<br />

- Le Drag and Drop. Objet source et objet cible. Evénements souris. Propriétés de la source. Evénements sur<br />

la cible.<br />

Travaux pratiques<br />

Gestion d'un formulaire de saisie, contrôles de validité. Manipulation des listes. Lancement de procédures.<br />

Déplacement d'un contrôle sur une forme. Déplacement d'un élément d'une liste dans une autre liste.<br />

7) La gestion des erreurs<br />

- Traitement des erreurs logiques : le débogage<br />

- Les points d'arrêt. Les expressions espionnes.<br />

- Les fenêtres de débogage.<br />

- Mode pas à pas et procédures.<br />

- Traitement des erreurs d'exécution.<br />

- L'interception et les gestionnaires d'erreurs.<br />

- L'objet Err.<br />

Travaux pratiques<br />

Interception d'une erreur d'exécution. Prise en main du debugger.<br />

8) L'accès aux données<br />

- Manipulation des fichiers. Accès séquentiel, direct, binaire. Ouverture, fermeture. Instructions de lecture/<br />

écriture.<br />

- Architecture et objets des bases relationnelles.<br />

- Le langage SQL. Le Data Environment.<br />

- L'architecture client serveur.<br />

- Les fournisseurs d'accès : ODBC et OLE-DB.<br />

- Les objets d'accès aux données : ADO (Active X data access).<br />

- Les outils d'accès aux données. Data Environment. Data Control. Data Report. Data Form Designer.<br />

- Les contrôles dépendant des données. Data Grid, Hierarchical Flex Grid. Data List, Data Combo.<br />

Travaux pratiques<br />

Création et manipulation d'un fichier en accès séquentiel (enregistrements de taille variable). Utilisation des<br />

contrôles d'accès aux données.<br />

9) Touche finale<br />

- Les fichiers de ressources.<br />

- Enregistrement des paramètres d'une application.<br />

- Générer un exécutable et le distribuer.<br />

- Optimisation du programme.<br />

Travaux pratiques<br />

Création et utilisation d'un fichier de ressources. Utilisation de la base de registre pour conserver des<br />

paramètres dynamiques. Déploiement d'une application.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 10 / 86


Stage pratique de 4 jour(s)<br />

Réf : <strong>VB</strong>E<br />

Participants<br />

Développeurs Visual Basic 6.<br />

Pré-requis<br />

Bonnes connaissances<br />

en Visual Basic 6 et en<br />

bases de données. Ou<br />

connaissances équivalentes<br />

à celles apportées par<br />

le stage "Développer en<br />

Visual Basic" (réf. <strong>VB</strong>6).<br />

Expérience souhaitable en<br />

développement <strong>VB</strong>6.<br />

Prix 2014 : 2270€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

20 mai 2014, 8 juil. 2014<br />

9 sep. 2014, 4 nov. 2014<br />

Visual Basic, perfectionnement<br />

OBJECTIFS<br />

Ce stage de perfectionnement insiste sur les accès aux bases de données (ADO), la création de composants<br />

COM et la création d'applications Web dynamiques.<br />

1) L'accès aux bases de données<br />

2) La création des composants Com<br />

3) Exemple : les contrôles Active X<br />

1) L'accès aux bases de données<br />

4) Client-serveur et multitiers : Com+<br />

5) Visual Basic et le développement Internet<br />

6) Se préparer à Visual Basic .NET<br />

- Les fournisseurs d'accès : ODBC et OLE-DB.<br />

- Les objets d'accès aux données : ADO.<br />

- Data Environnement, Data Control. Data Grid...<br />

- Les objets ADO<br />

- Modèle objet. Connexion à une source de données. Commandes. Récupération de données : le Recordset.<br />

- Mise à jour, recherche, tri.<br />

- Intégrité des données : transactions, verrous.<br />

- Exécution des procédures stockées.<br />

Travaux pratiques<br />

Utilisation des outils d'accès aux données. Création d'un formulaire de saisie. Récupération de données via<br />

une procédure stockée. Gestion d'une transaction d'écriture.<br />

2) La création des composants Com<br />

- Réutilisabilité, simplification, optimisation.<br />

- Les interfaces standard, choix du type de composant.<br />

- Création d'une application cliente.<br />

- Variables objet, instanciation et manipulation d'objets. Les modules de classe.<br />

- Définitions des propriétés, méthodes, événements.<br />

- Le déclenchement des erreurs.<br />

- COM et ADO : les composants liés aux données.<br />

- Les collections. La création d'interfaces.<br />

- Compilation et enregistrement des composants.<br />

Travaux pratiques<br />

Création et test de composants : un COM Dll de services bancaires, un de connexion à une base de données<br />

avec ADO.<br />

3) Exemple : les contrôles Active X<br />

- Création. Propriétés, méthodes, événements.<br />

- Création d'un contrôle dépendant des données.<br />

- Création d'un contrôle fournisseur de données.<br />

Travaux pratiques<br />

Création d'un contrôle Active X de saisie des dates. Création d'un contrôle Active X fournisseur de données<br />

avec ADO.<br />

4) Client-serveur et multitiers : Com+<br />

- Approche. Encapsulation des objets ADO. COM+ et MTS. Transaction multi-objets : le " double commit ".<br />

- Optimisation des ressources. COM+ et la sécurité.<br />

Travaux pratiques<br />

Gestion d'une transaction en " double commit ".<br />

5) Visual Basic et le développement Internet<br />

- Développements côté serveur et côté client.<br />

- Le contrôle WebBrowser. Documents Active X. Visual Basic et Vbscript. DHTML. COM et ASP, COM et<br />

ADO.<br />

Travaux pratiques<br />

Création d'un navigateur sur une forme Visual Basic. Création d'un projet Document Active X s'exécutant<br />

dans IE.<br />

6) Se préparer à Visual Basic .NET<br />

- La plateforme .NET, architecture. Le <strong>VB</strong> .NET.<br />

- Visual Studio.NET, ADO.NET.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 11 / 86


Stage pratique de 5 jour(s)<br />

Réf : LGC<br />

Participants<br />

Les ingénieurs et les<br />

informaticiens qui souhaitent<br />

acquérir une formation<br />

complète et opérationnelle sur<br />

le langage C.<br />

Pré-requis<br />

Connaissances de bases en<br />

programmation.<br />

Prix 2014 : 2440€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

10 fév. 2014, 10 mar. 2014<br />

7 avr. 2014, 12 mai 2014<br />

2 juin 2014, 7 juil. 2014<br />

18 aoû. 2014, 15 sep. 2014<br />

13 oct. 2014, 3 nov. 2014<br />

8 déc. 2014<br />

Aix<br />

24 fév. 2014, 7 avr. 2014<br />

30 juin 2014, 1 sep. 2014<br />

24 nov. 2014<br />

Bordeaux<br />

17 mar. 2014, 16 juin 2014<br />

8 sep. 2014, 15 déc. 2014<br />

Bruxelles<br />

17 mar. 2014, 16 juin 2014<br />

22 sep. 2014, 15 déc. 2014<br />

Geneve<br />

17 mar. 2014, 16 juin 2014<br />

22 sep. 2014, 15 déc. 2014<br />

Lille<br />

17 mar. 2014, 16 juin 2014<br />

8 sep. 2014, 15 déc. 2014<br />

Luxembourg<br />

17 mar. 2014, 16 juin 2014<br />

22 sep. 2014, 15 déc. 2014<br />

Lyon<br />

24 fév. 2014, 7 avr. 2014<br />

30 juin 2014, 1 sep. 2014<br />

24 nov. 2014<br />

Nantes<br />

17 mar. 2014, 23 juin 2014<br />

1 sep. 2014, 15 déc. 2014<br />

Rennes<br />

17 mar. 2014, 23 juin 2014<br />

1 sep. 2014, 15 déc. 2014<br />

Sophia-antipolis<br />

24 fév. 2014, 7 avr. 2014<br />

30 juin 2014, 1 sep. 2014<br />

24 nov. 2014<br />

Strasbourg<br />

17 mar. 2014, 16 juin 2014<br />

8 sep. 2014, 15 déc. 2014<br />

Toulouse<br />

17 mar. 2014, 16 juin 2014<br />

8 sep. 2014, 15 déc. 2014<br />

Programmation en C<br />

OBJECTIFS<br />

Ce stage intensif vous permettra d'acquérir une connaissance réellement opérationnelle du langage. Il vous<br />

expliquera le fonctionnement des différents mécanismes et vous montrera leur mise en œuvre grâce à de<br />

nombreux exercices pratiques. A l'issue de ce stage, vous serez en mesure d'écrire des programmes C<br />

robustes et portables.<br />

1) Premiers pas en C<br />

2) Opérateurs et expressions<br />

3) Structures de contrôles<br />

4) Tableaux, pointeurs et chaînes de caractères<br />

5) Les structures<br />

Travaux pratiques<br />

6) Les fonctions<br />

7) Compilation séparée, classe d'allocation<br />

8) Le préprocesseur<br />

9) Les bibliothèques standards<br />

Des machines sous système Unix ou Windows (PC) seront mises à la disposition des participants de manière<br />

à mettre en pratique les notions présentées.<br />

1) Premiers pas en C<br />

- Présentation du langage C, ses atouts.<br />

- Le <strong>C++</strong> par rapport au C.<br />

- Les fichiers sources (.c, .h).<br />

- Structure générale d'un programme.<br />

- La syntaxe de base du langage.<br />

- Les types de données et constantes de base.<br />

- Variables globales et locales.<br />

- Stockage et passage de paramètres.<br />

- Entrées/sorties formatées.<br />

- Les commentaires.<br />

- Utilisation élémentaire de la chaîne de production.<br />

- Les environnements d'édition, de compilation et d'exécution.<br />

- Exécution d'un premier programme.<br />

2) Opérateurs et expressions<br />

- Opérateurs arithmétiques.<br />

- Mécanismes d'évaluation des expressions.<br />

- Post et pré-incrémentation de décrémentation.<br />

- Précédence et associativité des opérateurs.<br />

- Opérateurs d'affectation.<br />

- Mécanismes de fonctionnement des expressions logiques.<br />

- Expressions logiques dans les instructions while, if...<br />

- Opérateurs de comparaison : , ==, !=...<br />

- Opérateurs logiques : ET, OU, négation.<br />

- Les types numériques composés. Règle de conversion dans les expressions mixtes. Conversions implicites/<br />

explicites.<br />

- Initialisation des variables.<br />

- Arithmétique sur les adresses.<br />

- Formats d'entrée/sortie associés aux types numériques.<br />

- Opérateurs bit à bit : ET, OU, OU exclusif, complément à 1, négation. Opérateurs de décalage : >>,


- Equivalences pointeurs/tableaux.<br />

- Calculs sur les pointeurs.<br />

- Chaînes de caractères.<br />

- Exemples de manipulation de chaînes de caractères.<br />

Travaux pratiques<br />

Manipulation de tableaux, pointeurs et des chaînes de caractères.<br />

5) Les structures<br />

- Intérêts des structures.<br />

- Déclarer, initialiser et accéder aux champs d'une structure.<br />

- Utiliser des structures imbriquées.<br />

- Créer de nouveaux types en utilisant Typedef.<br />

- Les champs de bits.<br />

- Les unions.<br />

- Les énumérations.<br />

- Définir des pointeurs sur structures.<br />

Travaux pratiques<br />

Implémentation de nouvelles structures de données .<br />

6) Les fonctions<br />

- Définition d'une fonction.<br />

- Appel d'une fonction.<br />

- Passage de paramètres : par valeur ou par référence.<br />

- Code retour d'une fonction. Les types de retour.<br />

- La fonction " main ".<br />

Travaux pratiques<br />

Découper son code à l'aide de fonctions. Gérer les appels de fonctions.<br />

7) Compilation séparée, classe d'allocation<br />

- Mécanisme de fonctionnement de la chaîne de production.<br />

- Utilisation de bibliothèque de sources.<br />

- Notion de Makefile.<br />

- Configuration mémoire d'un Programme C (pile, tas...).<br />

- Classes d'allocation des variables (auto, register, static, extern).<br />

- Différents cas de figure de la compilation séparée.<br />

- Notion d'objet externe.<br />

- Cas des données globales et statiques.<br />

- Cas des données locales.<br />

- Règle de visibilité.<br />

- Compléments sur les fonctions et les initialisations.<br />

8) Le préprocesseur<br />

- Utilisation des macros prédéfinies (constantes symboliques). Définir ses propres macros avec #define.<br />

- Définir des macros comme des fonctions. Utilisation des marqueurs # et ##.<br />

- Annuler la définition de constante avec #undef.<br />

- La compilation conditionnelle : #if, #ifdef, #ifndef, #elif, #endif.<br />

- Inclure des ressources avec #include.<br />

Travaux pratiques<br />

Utilisation des directives du préprocesseur. Mise en place de la compilation conditionnelle.<br />

9) Les bibliothèques standards<br />

- Les fonctions de calcul mathématique (sqrt, sin...).<br />

- Les fonctions d'entrées/sorties (fprintf, fscanf...).<br />

- Les fonctions d'accès aux fichiers (fread, fwrite..).<br />

- Les fonctions de manipulation de chaînes de caractères (strlen, strcat...)<br />

- Les fonctions de gestion de la mémoire (malloc, free...).<br />

- Mise en place de structures chaînées (listes chaînées, arbres n-aire...).<br />

Travaux pratiques<br />

Utilisation des principales fonctions des bibliothèques standards.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 13 / 86


Stage pratique de 5 jour(s)<br />

Réf : <strong>C++</strong><br />

Participants<br />

Ce cours s'adresse aux<br />

ingénieurs qui souhaitent<br />

acquérir une formation à<br />

l'approche objet et aux<br />

spécificités du langage C+<br />

+. A l'issue de ce cours, ils<br />

sauront utiliser ce langage<br />

comme un véritable outil de<br />

programmation objet.<br />

Pré-requis<br />

Bonnes connaissances du<br />

langage C.<br />

Prix 2014 : 2440€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

3 fév. 2014, 3 mar. 2014<br />

7 avr. 2014, 12 mai 2014<br />

2 juin 2014, 7 juil. 2014<br />

18 aoû. 2014, 15 sep. 2014<br />

13 oct. 2014, 3 nov. 2014<br />

8 déc. 2014<br />

Aix<br />

7 avr. 2014, 30 juin 2014<br />

1 sep. 2014, 24 nov. 2014<br />

Bordeaux<br />

14 avr. 2014, 16 juin 2014<br />

8 sep. 2014, 1 déc. 2014<br />

Bruxelles<br />

14 avr. 2014, 16 juin 2014<br />

22 sep. 2014, 15 déc. 2014<br />

Geneve<br />

14 avr. 2014, 16 juin 2014<br />

22 sep. 2014, 15 déc. 2014<br />

Lille<br />

14 avr. 2014, 16 juin 2014<br />

8 sep. 2014, 1 déc. 2014<br />

Luxembourg<br />

14 avr. 2014, 16 juin 2014<br />

22 sep. 2014, 15 déc. 2014<br />

Lyon<br />

7 avr. 2014, 30 juin 2014<br />

1 sep. 2014, 24 nov. 2014<br />

Nantes<br />

24 fév. 2014, 19 mai 2014<br />

28 juil. 2014, 1 sep. 2014<br />

15 déc. 2014<br />

Rennes<br />

24 fév. 2014, 19 mai 2014<br />

28 juil. 2014, 1 sep. 2014<br />

15 déc. 2014<br />

Sophia-antipolis<br />

7 avr. 2014, 30 juin 2014<br />

1 sep. 2014, 24 nov. 2014<br />

Strasbourg<br />

14 avr. 2014, 16 juin 2014<br />

8 sep. 2014, 1 déc. 2014<br />

Toulouse<br />

17 fév. 2014, 14 avr. 2014<br />

16 juin 2014, 8 sep. 2014<br />

1 déc. 2014<br />

Programmation objet en <strong>C++</strong><br />

OBJECTIFS<br />

Ce stage intensif a deux objectifs : initier les participants aux méthodes et réflexes de la programmation<br />

par objets ; leur apporter une maîtrise opérationnelle complète du langage <strong>C++</strong>. Il est le fruit d'une longue<br />

expérience en matière de développement en <strong>C++</strong> et est construit selon une pédagogie rigoureuse reposant<br />

sur des travaux pratiques nombreux et progressifs.<br />

1) La syntaxe du <strong>C++</strong> (différences entre C et <strong>C++</strong>)<br />

2) Approche orientée objet<br />

3) La programmation objet avec <strong>C++</strong><br />

4) Les exceptions<br />

Travaux pratiques<br />

5) La surcharge des opérateurs<br />

6) Les modèles<br />

7) Les I/O et aperçu sur la STL<br />

8) Conclusion<br />

Des stations de travail disposant des langages Visual <strong>C++</strong> (sous Windows) et gcc (sous Unix) seront à<br />

la disposition des participants pendant toute la durée du cours. Les exercices pratiques ont été conçus<br />

pour illustrer tous les éléments du langage et pour systématiquement mettre en oeuvre les concepts de la<br />

conception orientée objet : tous les exercices comportent une phase d'analyse/conception suivie d'une phase<br />

de programmation.<br />

1) La syntaxe du <strong>C++</strong> (différences entre C et <strong>C++</strong>)<br />

- Données : définition, initialisation, types de données.<br />

- Expressions : notion de référence, mécanismes de cast.<br />

- Opérateurs ( : :, new, delete).<br />

- Fonctions (passage de paramètres et valeur de retour par référence, valeurs par défaut, inlining, surcharge).<br />

- Utilisation du code C dans un programme <strong>C++</strong>.<br />

- Les références (arguments et valeurs de retour).<br />

- Les types constants.<br />

- Les espaces de nommage.<br />

Travaux pratiques<br />

Prise en main de l'environnement de développement et programmation d'un programme simple.<br />

2) Approche orientée objet<br />

- Les principes généraux des techniques objet.<br />

- <strong>C++</strong> et la programmation objet.<br />

- Une introduction aux méthodologies orientées " objets ".<br />

- Une introduction aux modèles et à la notation UML (modèle statique, dynamique, modèle de coopération,<br />

scénario).<br />

Travaux pratiques<br />

L'application des concepts à une étude de cas qui sera l'un des fils directeurs des exercices suivants.<br />

3) La programmation objet avec <strong>C++</strong><br />

Les classes et les objets<br />

- Les aspects syntaxiques : les champs, les méthodes, les constructeurs.<br />

- Le contrôle d'accès.<br />

- L'auto-référence.<br />

- Les champs et méthodes statiques.<br />

- Les fonctions.<br />

- Les méthodes et les classes friend.<br />

- La création dynamique des tableaux d'objets.<br />

- Les aspects méthodologiques : la conception des classes.<br />

- Les constructeurs de copie.<br />

Dérivation et héritage<br />

- Principe de la dérivation.<br />

- Les aspects syntaxiques : la définition des classes dérivées, les constructeurs.<br />

- Le contrôle d'accès.<br />

- La mise en oeuvre du polymorphisme : les fonctions virtuelles.<br />

- La réutilisation de code : les classes abstraites.<br />

- La dérivation multiple.<br />

- Les aspects sémantiques et méthodologiques : la factorisation du code.<br />

Travaux pratiques<br />

La programmation de l'étude de cas. La conception et la construction d'une hiérarchie de classes et<br />

d'interfaces. La mise en place du polymorphisme dans l'étude de cas.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 14 / 86


4) Les exceptions<br />

- Les aspects syntaxiques : les blocs de try, la génération des exceptions.<br />

- Les aspects méthodologiques : la construction d'une hiérarchie d'exception, l'utilisation des exceptions.<br />

Travaux pratiques<br />

L'introduction des exceptions dans l'étude de cas.<br />

5) La surcharge des opérateurs<br />

- Principe de la surcharge.<br />

- Surcharge des opérateurs binaires.<br />

- Surcharge particulière : l'opérateur indice, fonction, conversion.<br />

- Surcharge des opérateurs de gestion mémoire.<br />

- Surcharge des opérateurs ''.<br />

Travaux pratiques<br />

La surcharge de quelques opérateurs simples.<br />

6) Les modèles<br />

- Modèle de classe. Principes et mécanismes généraux. Surcharge des modèles et redéfinition de méthodes.<br />

- Modèle de fonction. Principes et mécanismes généraux. Surcharge des modèles.<br />

- Modèles et surcharge des opérateurs.<br />

- Les modèles et les mécanismes de dérivation.<br />

Travaux pratiques<br />

TP sur les modèles.<br />

7) Les I/O et aperçu sur la STL<br />

- Les I/O.<br />

- Le principe des streams et la hiérarchie des classes d'entrée/sortie.<br />

- Description de quelques classes d'entrées/sorties.<br />

- Aperçu sur la STL.<br />

- Objectifs et principes.<br />

- Descriptions de quelques modèles et classes.<br />

- Les conteneurs, les itérateurs.<br />

8) Conclusion<br />

- Cycle de vie du <strong>logiciel</strong> : test, intégration, méthode de mise en production.<br />

- Interaction avec les autres environnements.<br />

- Analyse critique du <strong>C++</strong>.<br />

- Evolution du <strong>C++</strong>.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 15 / 86


Stage pratique de 4 jour(s)<br />

Réf : POP<br />

Participants<br />

Concepteurs et développeurs<br />

d'applications en <strong>C++</strong>,<br />

chefs de projets, architectes<br />

<strong>logiciel</strong>s.<br />

Pré-requis<br />

Bonnes connaissances en<br />

développement <strong>C++</strong>, ou<br />

connaissances équivalentes à<br />

celles apportées par le stage<br />

" Programmation Objet en C<br />

++ " (réf. <strong>C++</strong>). Expérience<br />

requise.<br />

Prix 2014 : 2270€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

25 fév. 2014, 1 avr. 2014<br />

24 juin 2014, 9 sep. 2014<br />

21 oct. 2014, 18 nov. 2014<br />

16 déc. 2014<br />

Programmation <strong>C++</strong>, perfectionnement<br />

OBJECTIFS<br />

En constante évolution, le langage <strong>C++</strong> offre des mécanismes tels que la généricité ou la métaprogrammation<br />

qui permettent une conception robuste et très riche. Les récentes normes Technical<br />

Report TR1 et TR2 déjà intégrées dans <strong>C++</strong> reprennent l'essentiel des bibliothèques du projet BOOST qui<br />

améliorent notablement la Standard Template Library (STL). Cette formation vous permettra d'approfondir la<br />

conception en <strong>C++</strong> par l'apprentissage de très nombreux mécanismes et l'utilisation effective de la STL.<br />

1) Rappels<br />

2) Gestion des opérateurs<br />

3) Conversion et RTTI<br />

4) La généricité<br />

Travaux pratiques<br />

5) La STL (Standard Template Library)<br />

6) BOOST<br />

7) Utilisation avancée de l'héritage<br />

Le cours se déroulera sur des stations de travail sous Windows/Visual <strong>C++</strong>. De nombreux exercices<br />

permettront de mettre en oeuvre les thèmes abordés plus spécifiquement sous l'angle de la conception.<br />

1) Rappels<br />

- Classes d'allocation mémoire.<br />

- Construction, initialisation, embarquement d'objets.<br />

- Les fuites mémoires.<br />

- Constance, le mot-clé mutable, Lazy Computation.<br />

- Amitié (friendship) <strong>C++</strong> et contrôle d'accès.<br />

- Destruction virtuelle.<br />

- Stratégie de gestion des exceptions.<br />

- Organisation logiques de l'application : les espaces de nommage (namespace).<br />

2) Gestion des opérateurs<br />

- Opérateurs binaires et unaires.<br />

- L'opérateur d'indirection, cas d'usage.<br />

- L'opérateur de référencement.<br />

- Les opérateurs d'incrémentation/décrémentation pré-fixés et post-fixés.<br />

- Les autres opérateurs : comparaison, affectation...<br />

- La surcharge de l'opérateur [], des opérateurs d'insertion (


- Les conteneurs séquentiels et associatifs : définition, rôle et critères de choix.<br />

- Les allocateurs et la gestion de la mémoire des conteneurs.<br />

- Les méthodes d'insertion, de suppression, d'itération et d'accès aux principaux conteneurs : Vector, List,<br />

Set, Stack...<br />

- Le concept d'itérateur. Parcours d'un conteneur.<br />

- Les différents groupes d'algorithmes STL : non mutants, mutants, de tri et de fusion, numériques.<br />

- Manipulation de conteneurs (manipulation, recherche de valeurs...).<br />

- Paramétrer les algorithmes génériques par des objets " fonction ".<br />

- Les " adapteurs " et la modification du comportement d'un composant.<br />

- La STL et les traitements sur les flux (fichiers, mémoire...).<br />

- Principe du RAII : les pointeurs automatiques et la classe auto_ptr.<br />

- Les exceptions standard de la STL.<br />

Travaux pratiques<br />

Implémentation des relations avec les collections de la STL. Utilisation d'algorithmes standard quelconques.<br />

6) BOOST<br />

- Présentation de Boost et de l'extension TR1 (Technical Report 1).<br />

- Les nouveaux conteneurs.<br />

- Les pointeurs intelligents (smart pointers) : shared_ptr, weak_ptr, unique_ptr.<br />

- La Pointer Container Library (destruction des données pointées d'un conteneur).<br />

- Foncteurs, binders et lambda-expressions.<br />

- Programmation événementielle (connexions et signaux). Introduction à la gestion des threads.<br />

- Gestion des processus, mécanismes de communication interprocessus et mémoire partagée.<br />

- Les structures de données (Tuple, Any, Variant).<br />

Travaux pratiques<br />

Mise en oeuvre de la robustesse avec les smart pointers de BOOST.<br />

7) Utilisation avancée de l'héritage<br />

- Héritage versus embarquement. Héritage privé. Héritage protégé.<br />

- Exportation de membres cachés avec la Clause Using.<br />

- Héritage multiple et gestion des collisions de membres.<br />

- Héritage en diamant. Héritage virtuel et dynamic_cast.<br />

- Principes fondamentaux de conception : substitution de Liskov, principe d'ouverture/fermeture, inversion<br />

des dépendances<br />

- Règles d'implémentation des interfaces en <strong>C++</strong>.<br />

Travaux pratiques<br />

Combinaison de l'héritage multiple, privé et de l'exportation pour concevoir des classes robustes et<br />

hautement évolutives.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 17 / 86


Stage pratique de 2 jour(s)<br />

Réf : TDE<br />

Participants<br />

Ce cours s'adresse aux<br />

développeurs Java et C#<br />

souhaitant acquérir des<br />

connaissances spécifiques au<br />

développement <strong>C++</strong>.<br />

Pré-requis<br />

Maîtrise de C# ou de Java<br />

ainsi que des concepts de<br />

programmation orientée objet.<br />

Eligible DIF<br />

<strong>C++</strong>, mise à niveau pour les développeurs C# et Java<br />

OBJECTIFS<br />

Windows 8 a relancé l'intérêt du langage <strong>C++</strong> auprès de développeurs pratiquant le C# et Java. Sur la base<br />

de vos connaissances objets, ce cours vous assurera une transition douce vers le <strong>C++</strong> 11. Vous apprendrez<br />

comment <strong>C++</strong> et sa librairie standard permettent d'écrire du code efficace et robuste pour vos applications.<br />

1) Rappel des concepts de base du<br />

développement <strong>C++</strong><br />

2) Présentation des concepts <strong>C++</strong> avancés<br />

3) Librairie standard : la BCL de <strong>C++</strong><br />

4) Syntaxe <strong>C++</strong> avancée<br />

5) <strong>C++</strong> et l'interopérabilité<br />

1) Rappel des concepts de base du développement <strong>C++</strong><br />

- Les différents fichiers sources (.h, .cpp...).<br />

- Linkage et compilation de code écrit en <strong>C++</strong>.<br />

- Ecriture de classes et structures : la syntaxe de base.<br />

- Réutilisation de composants déjà compilés : .lib, .dll, .h etc.<br />

Travaux pratiques<br />

Création d'une solution multi-projets en <strong>C++</strong>, avec linkage statique et dynamique.<br />

2) Présentation des concepts <strong>C++</strong> avancés<br />

- Instanciation "statique" versus instanciation "dynamique" d'objets.<br />

- Les différents types de constructeurs (par défaut, par copie...).<br />

- Gestion de la mémoire sans garbage collector (manuellement ou en utilisant les smart pointers de la librairie<br />

standard).<br />

- Héritage multiple : cas pratiques et pièges à éviter.<br />

- Les Templates.<br />

- Orientation objet et comparaison avec C#.<br />

Travaux pratiques<br />

Atelier de manipulation des smart pointers de la librairie standard.<br />

3) Librairie standard : la BCL de <strong>C++</strong><br />

- Représentations mémoires possibles d'une chaîne de caractère et manipulation avec std::string et<br />

std::wstring.<br />

- Introduction à la stl (standard template library).<br />

- Containers et itérateurs, les collections <strong>C++</strong>.<br />

Travaux pratiques<br />

Atelier de manipulation de chaînes de caractères et de collections en <strong>C++</strong>.<br />

4) Syntaxe <strong>C++</strong> avancée<br />

- Inférence de types et mot-clef automatique.<br />

- Orientation fonctionnelle du langage : Lambdas, Functors... et utilisation avec la stl.<br />

- Asynchronisme et parallélisation avec <strong>C++</strong> 11.<br />

- Utilisation d'objets COM Microsoft, avec et sans smart pointers.<br />

Travaux pratiques<br />

Exercice d'introduction à la parallel platform library, et manipulation d'expressions Lambda. Cas pratique de<br />

consommation d'objets COM, illustration avec Direct 2D.<br />

5) <strong>C++</strong> et l'interopérabilité<br />

- Publication d'objets COM Windows réutilisables.<br />

- Interopérabilité avec .Net sur le Desktop : <strong>C++</strong> CLI.<br />

- Interopérabilité avec .Net et JavaScript dans les applications Metro : <strong>C++</strong> / CX.<br />

Travaux pratiques<br />

Création d'une application métro hybride C# / Xaml + <strong>C++</strong> / Direct 2D.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 18 / 86


Stage pratique de 5 jour(s)<br />

Réf : CQT<br />

Participants<br />

Ce cours est destiné aux<br />

développeurs et chefs de<br />

projets amenés à mettre<br />

en place des applications<br />

graphiques utilisant le<br />

Framework QT.<br />

Pré-requis<br />

Bonnes connaissances du<br />

langage <strong>C++</strong>. Connaissances<br />

de base en XML. Expérience<br />

requise en développement C<br />

++.<br />

Prix 2014 : 2440€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

17 mar. 2014, 12 mai 2014<br />

8 sep. 2014, 24 nov. 2014<br />

<strong>C++</strong>, développement d'applications graphiques en QT<br />

OBJECTIFS<br />

QT est un Framework orienté Objet qui offre des composants d'interface graphique (widgets), d'accès aux<br />

données, de connexions réseaux, etc. Cette formation vous apprendra à identifier les éléments importants<br />

d'un projet QT et les différents composants graphiques proposés, et à les utiliser avec le XML.<br />

1) Présentation du langage QT<br />

2) Les différents types de projets<br />

3) Les éléments importants d'un projet<br />

4) Les différents composants graphiques<br />

1) Présentation du langage QT<br />

- Historique du langage.<br />

- Les différentes possibilités d'utilisation.<br />

- Les autres librairies graphiques existantes.<br />

2) Les différents types de projets<br />

- Présentation des différents types de projet avec QT.<br />

- Présentation de QT Creator.<br />

- La structure de base d'une application à base d'IHM.<br />

Exercice<br />

Création d'une première application QT.<br />

3) Les éléments importants d'un projet<br />

5) La gestion des événements<br />

6) Le système de Plug-in de QT<br />

7) Aller plus loin avec QT<br />

- Fichiers pro, de conception graphique (ui).<br />

- Les fichiers de gestion d'internationalisation (ts et qm).<br />

- Les types de bases du langage (qint, qfloat...).<br />

- La compilation avec qmake.<br />

- La classe QObject.<br />

- Présentation du modèle MVC.<br />

- Le modèle MVC dans QT.<br />

Exercice<br />

Etude d'un fichier projet pour la mise en place de l'application.<br />

4) Les différents composants graphiques<br />

- Les composants de base de l'IHM (QMainWindow, QFrame, QLabel...).<br />

- La gestion du positionnement des composants.<br />

- Les boîtes de dialogue (QDialog).<br />

- Les menus (QMenu).<br />

- Modèles prédéfinis et personnalisés.<br />

- Les outils de conception visuelle de QT (QT Designer...).<br />

Exercice<br />

Mise en place de la structure de l'application.<br />

5) La gestion des événements<br />

- Notions de signal et slot.<br />

- Déclaration de signaux et de slots.<br />

- Installer des filtres d'événement.<br />

- Accéder à l'application pendant un traitement lourd (timer et hasPendingEvents).<br />

Exercice<br />

Ajout de la gestion des événements à l'application<br />

6) Le système de Plug-in de QT<br />

- Comprendre ce que sont les Plug-ins avec QT.<br />

- Les différentes classes de plugin (QStylePlugin...).<br />

- Les éléments nécessaires à la mise en place d'un Plug-in pour QT.<br />

- Mise au point d'application gérant des Plug-ins.<br />

Exercice<br />

Mise au point d'un plugin simple.<br />

7) Aller plus loin avec QT<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 19 / 86


- Utilisation de XML avec QT. Rappel sur XML, les parsers DOM et SAX. Parsing de documents XML en<br />

utilisant QT.<br />

- L'internationalisation. Rappel sur Unicode. L'objet QTranslator. L'application QT Linguist.<br />

- Applications multiplateformes. QT Mobility.<br />

Exercice<br />

Utilisation d'un fichier XML pour stocker les données de l'application. Internationalisation de l'application.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 20 / 86


Stage pratique de 3 jour(s)<br />

Réf : MUC<br />

Participants<br />

Développeurs, architectes<br />

<strong>logiciel</strong>s, chefs de projet.<br />

Pré-requis<br />

Programmer vos applications en Multicore<br />

OBJECTIFS<br />

Vous découvrirez les architectures Multicore et leur programmation, les techniques de mise en œuvre d'une<br />

approche multithread ou multiprocessus et les langages dédiés à la programmation parallèle. Vous étudierez<br />

également les contraintes en matière de synchronisation d'accès aux données et les précautions à prendre.<br />

Bonnes connaissances d'un<br />

des 3 langages Objet utilisés<br />

dans le cours (Java, C#,<br />

<strong>C++</strong>). Connaissances de<br />

base des concepts liés aux<br />

applications Multicore.<br />

1) Introduction<br />

2) Modélisation des applications<br />

3) Threads<br />

Travaux pratiques<br />

4) Processus<br />

5) La programmation parallèle<br />

6) Synthèse et conclusion<br />

Prix 2014 : 1750€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

31 mar. 2014, 7 avr. 2014<br />

30 juin 2014, 6 oct. 2014<br />

3 nov. 2014, 15 déc. 2014<br />

Les exercices et les exemples s'appuieront sur Java, <strong>C++</strong> et C# via les IDE Visual Studio et NetBeans.<br />

BOUML sera utilisé pour la modélisation UML.<br />

1) Introduction<br />

- Enjeux de la programmation Multicore.<br />

- Tableau des technologies utilisables : processus, thread et parallélisme.<br />

- Description du fonctionnement d'un processeur.<br />

- Architecture en "Hyperthreading".<br />

- Architectures des processeurs INTEL et AMD.<br />

- Architectures NVidia et API.<br />

2) Modélisation des applications<br />

- Importance des aspects modélisation.<br />

- Parallélisation des traitements.<br />

- Utilisation des mécanismes asynchrones.<br />

- Développer une nouvelle application : précautions et modélisation. Eviter les "singletons".<br />

- Modifier une application existante en Multicore.<br />

- Choix d'architecture : un compromis synchronisation et performance. Choix multiprocessus/multithreads.<br />

3) Threads<br />

- Threads dans les systèmes et les langages (Java, .NET...).<br />

- Apport des threads dans une application industrielle.<br />

- Ordonnancement des threads. Le "round robin".<br />

- Gestion des stacks et "call stack" dans les threads.<br />

- Débogueurs multithreads : Visual Studio, NetBeans...<br />

- Gestion des objets de synchronisation : sections critiques, Mutex et Sémaphores.<br />

- Développer "Thread safe".<br />

- API de threads avec Windows, Java et .NET. API POSIX.<br />

Travaux pratiques<br />

Threads et synchronisation en DOT Net, Java et <strong>C++</strong>.<br />

4) Processus<br />

- Espaces d'adressage des processus, organisation.<br />

- Critères de choix d'une approche multiprocessus.<br />

- Techniques de communication interprocessus (IPC).<br />

- Outils de debugging multiprocessus.<br />

- Avantage et inconvénients des techniques multiprocessus.<br />

- Les "Domain" DOT Net.<br />

Travaux pratiques<br />

Gestion de traitements asynchrones avec l'API Windows.<br />

5) La programmation parallèle<br />

- Apport et objectifs de la programmation parallèle.<br />

- "Parallel FX" la bibliothèque DOT Net.<br />

- Architecture PFX et philosophie.<br />

- Composants TPL et PLINQ.<br />

- La librairie "OpenMp" <strong>C++</strong>.<br />

- Utiliser les GPU des cartes graphiques pour le calcul.<br />

- Kits de NVidia (CUDA) et ATI.<br />

Travaux pratiques<br />

Paralléliser des algorithmes avec PFX en C# et avec "OpenMP" en <strong>C++</strong>.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 21 / 86


6) Synthèse et conclusion<br />

- Conclusion des techniques étudiées.<br />

- Avenir du <strong>C++</strong> avec le multicore.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 22 / 86


Stage pratique de 4 jour(s)<br />

Réf : CUD<br />

Participants<br />

Concepteur et développeur<br />

d'applications en <strong>C++</strong>, chef de<br />

projets, architecte <strong>logiciel</strong>.<br />

Pré-requis<br />

Bonne connaissance du<br />

langage <strong>C++</strong>, expérience<br />

requise. Connaissances de<br />

base des threads de l'API<br />

Windows.<br />

Prix 2014 : 2270€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

11 mar. 2014, 10 juin 2014<br />

9 sep. 2014, 9 déc. 2014<br />

<strong>C++</strong>, programmer avec CUDA, OpenMP et les PPL Visual<br />

Studio<br />

OBJECTIFS<br />

Cette formation vous propose de découvrir, d'évaluer et de manipuler différentes librairies pour la<br />

programmation parallèle en <strong>C++</strong>. Vous acquerrez toutes les connaissances nécessaires à la mise en<br />

oeuvre de traitements parallèles. Vous maîtriserez également les Design Patterns spécifiques à ce type de<br />

développement.<br />

1) Introduction<br />

2) Les threads dans le <strong>C++</strong> 11 et la librairie Boost<br />

3) Les Patterns du parallélisme<br />

Travaux pratiques<br />

4) Le GPU Computing avec CUDA et le <strong>C++</strong> AMP<br />

5) Le standard OpenMP et la Parallel Patterns<br />

Library<br />

6) Conclusion<br />

Développement d'une application de test. Evaluation des différentes solutions proposées et patterns de<br />

développement pour le traitement parallèle.<br />

1) Introduction<br />

- Présentation des librairies étudiées.<br />

- Rappel de la gestion des threads sous Windows.<br />

- Les nouveautés de Visual Studio 2010 et 2012.<br />

- L'instrumentation du code.<br />

- Les problèmes liés à l'utilisation des threads.<br />

Travaux pratiques<br />

Elaboration d'une application de test des différentes Solutions étudiées. Instrumentation du code de<br />

l'application de test afin de constater les variations dans les exécutions.<br />

2) Les threads dans le <strong>C++</strong> 11 et la librairie Boost<br />

- Rappel sur les expressions Lambda et les smart pointers.<br />

- La gestion des Threads. La Synchronisation.<br />

- Comparaison entre l'implémentation du <strong>C++</strong> 11, la librairie Boost.Thread et l'API de Windows.<br />

- Le Parallel Aggregation Pattern.<br />

Travaux pratiques<br />

Mise en œuvre des threads dans l'application de test.<br />

3) Les Patterns du parallélisme<br />

- Adapter les Patterns orientés Objets.<br />

- Le Parallel Loop Pattern.<br />

- Le Parallel Task Pattern.<br />

- Le Parallel Aggregation Pattern.<br />

- Le Futures Pattern.<br />

- Le Pipelines Pattern.<br />

Travaux pratiques<br />

Réflexions sur la mise en œuvre des différents Patterns avec les librairies de parallélisme sur l'application de<br />

test.<br />

4) Le GPU Computing avec CUDA et le <strong>C++</strong> AMP<br />

- Présentation des librairies DirectCompute, OpenCL et NPP dans l'architecture de CUDA.<br />

- Installation du driver spécifique de NVIDIA,<br />

- Installation du SDK de CUDA.<br />

- Installation de NSight.<br />

- Présentation de CUDA C/<strong>C++</strong>.<br />

- Présentation du <strong>C++</strong> AMP.<br />

Travaux pratiques<br />

Mise en œuvre des fonctions d'une librairie de CUDA, évaluation et profilage des exécutions de l'application<br />

de test. Comparaison avec la syntaxe du <strong>C++</strong> AMP et évaluation.<br />

5) Le standard OpenMP et la Parallel Patterns Library<br />

- Les constructions d'OpenMP et l'utilisation des pragmas, comparaison avec les threads du <strong>C++</strong> 11.<br />

- OpenMP.<br />

- La Parallel Patterns Library.<br />

- Le Concurrency Runtime et les nouvelles fonctionnalités de <strong>C++</strong>.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 23 / 86


- Comparaison avec OpenMP.<br />

- Les fonctions de travail.<br />

Travaux pratiques<br />

Mise en œuvre des différents Patterns avec OpenMP et la PPL sur l'application de test.<br />

6) Conclusion<br />

- Les bonnes pratiques, l'architecture.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 24 / 86


Stage pratique de 4 jour(s)<br />

Réf : LXT<br />

Participants<br />

Développeurs Linux/Unix.<br />

Pré-requis<br />

Bonnes connaissances d'un<br />

système Linux/Unix et de la<br />

programmation en C.<br />

Prix 2014 : 2270€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

18 fév. 2014, 18 mar. 2014<br />

22 avr. 2014, 20 mai 2014<br />

17 juin 2014, 15 juil. 2014<br />

26 aoû. 2014, 23 sep. 2014<br />

21 oct. 2014, 25 nov. 2014<br />

15 déc. 2014<br />

Aix<br />

11 mar. 2014, 3 juin 2014<br />

14 oct. 2014, 2 déc. 2014<br />

Bordeaux<br />

1 avr. 2014, 24 juin 2014<br />

30 sep. 2014, 18 nov. 2014<br />

Bruxelles<br />

1 avr. 2014, 24 juin 2014<br />

30 sep. 2014, 9 déc. 2014<br />

Geneve<br />

1 avr. 2014, 24 juin 2014<br />

30 sep. 2014, 9 déc. 2014<br />

Lille<br />

1 avr. 2014, 24 juin 2014<br />

30 sep. 2014, 18 nov. 2014<br />

Luxembourg<br />

1 avr. 2014, 24 juin 2014<br />

30 sep. 2014, 9 déc. 2014<br />

Lyon<br />

11 mar. 2014, 3 juin 2014<br />

14 oct. 2014, 2 déc. 2014<br />

Nantes<br />

25 mar. 2014, 17 juin 2014<br />

1 juil. 2014, 7 oct. 2014<br />

9 déc. 2014<br />

Rennes<br />

25 mar. 2014, 17 juin 2014<br />

1 juil. 2014, 7 oct. 2014<br />

9 déc. 2014<br />

Sophia-antipolis<br />

11 mar. 2014, 3 juin 2014<br />

14 oct. 2014, 2 déc. 2014<br />

Strasbourg<br />

1 avr. 2014, 24 juin 2014<br />

30 sep. 2014, 18 nov. 2014<br />

Toulouse<br />

1 avr. 2014, 24 juin 2014<br />

30 sep. 2014, 18 nov. 2014<br />

Linux industriel, temps réel et embarqué<br />

OBJECTIFS<br />

Découvrir les outils de développement industriel disponibles librement sous Linux. Maîtriser les mécanismes<br />

d'ordonnancement, connaître leurs possibilités. Accéder au développement temps réel strict avec l'extension<br />

LinuxRT ou Xenomai. Déployer Linux sur des systèmes embarqués en équilibrant les performances et<br />

l'occupation mémoire.<br />

1) Architecture<br />

2) Développement industriel sous Linux<br />

3) Ordonnancement temps partagé et réel souple<br />

Travaux pratiques<br />

4) Temps réel strict - Extension Xenomai<br />

5) Environnements restreints, systèmes<br />

embarqués<br />

6) Personnalisation du boot du système<br />

Les nombreux exercices et études de cas progressifs sont réalisés sur un réseau de serveurs Linux. Tous les<br />

programmes réalisés en TP existent sous forme de squelettes que les participants complètent eux-mêmes.<br />

1) Architecture<br />

- Système informatique ordinaire et Système embarqué.<br />

- Contraintes d'un système embarqué.<br />

- Architecture générale d'un système embarqué.<br />

- Démarrage du système, étape de boot.<br />

- Architecture du noyau Linux. Emplacement des sources.<br />

- Démarrage du système, phases de boot (code dépendant, commun).<br />

Travaux pratiques<br />

Détection d'erreur à la compilation, à l'édition des liens, utilisation d'Eclipse/CDT, utilisation d'une chaîne<br />

de compilation croisée. Débogage. Détection des fuites mémoire et des débordements de buffers. Test de<br />

couverture sur l'exécution d'une application.<br />

2) Développement industriel sous Linux<br />

- Environnement Linux.<br />

- Mode de fonctionnement : utilisateur, superviseur.<br />

- Licences et implications pour le développement industriel.<br />

- Outils de développement libres (compilateur, debugger, outils d'analyse, de trace et de tests).<br />

- Les différents IDE (Integrated Development Environment) : Eclipse, ...<br />

- Méthodes de compilation avancées.<br />

- La chaîne de compilation croisée.<br />

- La gestion de mémoire.<br />

- La détection des fuites mémoire.<br />

- Le débordement de buffers.<br />

3) Ordonnancement temps partagé et réel souple<br />

- Précision des mesures horaires et des attentes.<br />

- Ordonnancement temps partagé. Les règles de la préemptibilité.<br />

- Le fonctionnement général de l'ordonnanceur, priorités et partage du CPU.<br />

- Quand le noyau devient-il préemptible ?<br />

- Gestion du temps et la précision des timers.<br />

- Temps réel souple Posix.1b : principes.<br />

- Configuration de l'ordonnancement des processus et des threads.<br />

- Problèmes algorithmiques liés au temps réel.<br />

- L'ordonnanceur Linux : noyaux 3.x<br />

Travaux pratiques<br />

Création et gestion de processus. Priorités et partage du CPU. Examen du fonctionnement de<br />

l'ordonnanceur. Basculement de processus en temps réel. Vérification de la précision des timers et des<br />

sommeils.<br />

4) Temps réel strict - Extension Xenomai<br />

- Principe du temps réel strict.<br />

- Vue d'ensemble de l'extension Xenomai.<br />

- Concepts de temps réel strict : principe des micro-noyaux Adeos, Xenomai, LinuxRT.<br />

- Installation et API de Xenomai.<br />

- Utilisation de l'extension LinuxRT.<br />

- Ordonnancement temps réel strict en mode utilisateur.<br />

- Interruptions (activation, désactivation, ...).<br />

- Protection contre les interruptions.<br />

- Gestion des communications.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 25 / 86


- Présentation de l'API de Xenomai, installation de Xenomai.<br />

- La gestion des tâches temps réel strict.<br />

Travaux pratiques<br />

Installation de Xenomai. Création de tâches temps réel strict. Gestion des communications. Ecriture d'un<br />

gestionnaire d'interruption, de processus ordonnancé en temps réel strict. Installation et utilisation de<br />

Xenomai.<br />

5) Environnements restreints, systèmes embarqués<br />

- Problématique des systèmes embarqués.<br />

- Système LinuxRT, Xenomai : API, développement.<br />

- Linux embarqué : choix d'une version du noyau.<br />

- Bibliothèques système (Newlib, DietLibc).<br />

- Applications et utilitaires à embarquer.<br />

- Interface utilisateur.<br />

- Interfaces graphiques optimisées (directfb, etc).<br />

- Présentation et configuration d'un chargeur de démarrage.<br />

- Générer un noyau réduit. Généralité sur le système de fichiers<br />

- Installation de la chaîne de compilation.<br />

Travaux pratiques<br />

Installation, compilation d'une application personnalisée LinuxRT, Xenomai et d'un noyau de taille réduite.<br />

Création d'un système de fichiers. Incorporation d'applications minimales. Ecriture d'application utilisant une<br />

interface par Leds ou afficheur LCD. Installation d'un serveur HTTP embarqué.<br />

6) Personnalisation du boot du système<br />

- Les différentes phases de boot (mise sous tension, Bios, chargeur (Grub, UBoot...) du noyau.<br />

- Le rôle du processus Init. Le niveau d'exécution.<br />

- Le contenu du processus init.<br />

- Le remplacement du processus Init par une version personnalisée.<br />

- Initialisation depuis l'espace utilisateur.<br />

Travaux pratiques<br />

Création et personnalisation d'un disque initrd. Remplacement du processus Init par une version<br />

personnalisée et remplacement par un script shell.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 26 / 86


Stage pratique de 4 jour(s)<br />

Réf : LIS<br />

Participants<br />

Développeurs Linux/Unix.<br />

Pré-requis<br />

Bonne connaissance d'un<br />

système Linux/ Unix et de la<br />

programmation en C.<br />

Prix 2014 : 2270€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

11 fév. 2014, 1 avr. 2014<br />

17 juin 2014, 30 sep. 2014<br />

9 déc. 2014<br />

Bruxelles<br />

18 mar. 2014, 19 mai 2014<br />

23 sep. 2014, 18 nov. 2014<br />

Geneve<br />

18 mar. 2014, 19 mai 2014<br />

23 sep. 2014, 18 nov. 2014<br />

Luxembourg<br />

18 mar. 2014, 19 mai 2014<br />

23 sep. 2014, 18 nov. 2014<br />

Développeur système sous Linux/Unix<br />

OBJECTIFS<br />

Cette formation vous permettra de maîtriser toutes les facettes de la programmation applicative : gestion des<br />

processus et threads, gestion fine du système de fichiers et de la mémoire, et bien entendu l'ensemble des<br />

outils de communication interprocessus.<br />

1) Outils et méthodes de développement<br />

2) Les processus<br />

3) Les threads Posix<br />

4) Communications entre processus<br />

Travaux pratiques<br />

5) Gestion de la mémoire<br />

6) Signaux<br />

7) Communiquer sur le réseau<br />

8) Entrées-sorties classiques et avancées<br />

Les exercices et études de cas progressifs sont réalisés sur un réseau de serveurs Linux. Tous les TP<br />

existent sous forme de squelettes à complèter.<br />

1) Outils et méthodes de développement<br />

- Environnement Linux : influences, <strong>logiciel</strong>s libres, licence GPL, distributions.<br />

- Outils de développement : Editeurs et environnements intégrés, compilateurs et constructeurs, profileurs et<br />

débogueurs.<br />

Travaux pratiques<br />

Prise en main des outils de développement (gcc, make...).<br />

2) Les processus<br />

- Concept de processus, identifications.<br />

- Création, terminaison d'un processus et exécution.<br />

- Problèmes de sécurité.<br />

3) Les threads Posix<br />

- Principe des threads Posix.1c.<br />

- Exécution et terminaison des threads.<br />

- Synchronisation des threads : Utilisation des mutex et des variables conditions.<br />

4) Communications entre processus<br />

- Files de messages : Principe. Files de message System V et Posix.<br />

- Mémoire partagée : Principe. Segments de mémoire System V et Posix.<br />

- Synchronisation des accès : Sémaphores Posix et nommés.<br />

- Tubes de communication : Création d'un tube, redirection des entrées-sorties, tubes nommés.<br />

5) Gestion de la mémoire<br />

- Principes de la mémoire virtuelle : Espace d'adressage et mémoire physique. Segmentation et pagination.<br />

Fautes de page.<br />

- Allocation de la mémoire : Fonctions classiques, exploration de l'espace d'adressage, réussite et échec<br />

d'allocation.<br />

- Utilisation de la mémoire : projection, configuration, détection des fuites et débordements mémoire.<br />

6) Signaux<br />

- Gestion des signaux : émission et réception de signaux, blocages et attentes.<br />

- Signaux temps réel : principes. Emission et réception.<br />

7) Communiquer sur le réseau<br />

- Appels système fondamentaux : résolution de noms, de services, création de sockets.<br />

- Communication TCP/IP et UDP/IP : serveurs multiprocessus et multithreads, clients TCP.<br />

- Transmission unicast, multicast et broadcast.<br />

8) Entrées-sorties classiques et avancées<br />

- Descripteurs et flux : concepts, utilisation, paramétrage.<br />

- Entrées-sorties avancées : entrées-sorties non bloquantes et multiplexées, asynchronisme.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 27 / 86


Stage pratique de 4 jour(s)<br />

Réf : OBC<br />

Participants<br />

Développeurs désirant<br />

programmer dans un<br />

environnement Apple sous<br />

MacOSX et voulant se<br />

diriger vers les filières de<br />

développement iPhone/iPad.<br />

Pré-requis<br />

Bonnes connaissances en<br />

développement <strong>logiciel</strong>.<br />

Prix 2014 : 2270€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

11&18 mar. 2014, 10 juin<br />

2014<br />

9 sep. 2014, 9 déc. 2014<br />

Objective C, programmation<br />

OBJECTIFS<br />

A l'issue, vous serez à même de programmer en Objective-C dans l'environnement Cocoa MacOSX et aurez<br />

toutes les bases nécessaires pour vous orienter vers les plateformes mobiles iPhone/iPad. Au travers de<br />

nombreux exercices, vous apprendrez à manipuler SDK et les outils proposés par Apple.<br />

1) Eléments de base<br />

2) Eléments avancés<br />

1) Eléments de base<br />

- Programmation en Objective-C.<br />

- Classes, Objets et Méthodes.<br />

- Types de données et expressions.<br />

- Booléens, complexes et imaginaires.<br />

- Structures de contrôle : if, while, do, break.<br />

3) Eléments additionnels<br />

4) Le Foundation Framework sous MacOSX<br />

(Environnement Cocoa)<br />

Exercice<br />

Exercices sur les classes, objets et méthodes, les différents types de données, les structures de contrôle.<br />

2) Eléments avancés<br />

- Les classes en détail.<br />

- Mécanismes d'héritage.<br />

- Polymorphisme, éléments dynamiques.<br />

- Variables et types de données.<br />

- Catégories et protocoles.<br />

Travaux pratiques<br />

Mécanismes d'héritage. Manipulation des catégories et des protocoles.<br />

3) Eléments additionnels<br />

- Le préprocesseur.<br />

- Eléments empruntés au langage C.<br />

Travaux pratiques<br />

Mécanismes de compilation et de préprocesseur.<br />

4) Le Foundation Framework sous MacOSX (Environnement Cocoa)<br />

- Introduction.<br />

- Présentation du SDK et de l'environnement Cocoa Apple.<br />

- Utilisation de XCode pour programmer en environnement MacOSX.<br />

- Nombres, chaînes et énumérations.<br />

- Travailler avec les fichiers.<br />

- Gestion de la mémoire.<br />

- Copier les objets.<br />

- Archivage.<br />

Travaux pratiques<br />

Programmes en environnement SDK. Manipulation des éléments du Framework Foundation. Manipulation de<br />

la mémoire. Mécanismes d'archivage.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 28 / 86


Stage pratique de 5 jour(s)<br />

Réf : PYT<br />

Participants<br />

Ce cours s'adresse aux<br />

ingénieurs qui souhaitent<br />

acquérir une formation à<br />

l'approche Objet et aux<br />

spécificités du langage<br />

Python.<br />

Pré-requis<br />

Connaissances de base en<br />

programmation.<br />

Prix 2014 : 2440€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

3 fév. 2014, 31 mar. 2014<br />

12 mai 2014, 30 juin 2014<br />

20 oct. 2014, 15 déc. 2014<br />

Sophia-antipolis<br />

3 fév. 2014<br />

Python, programmation objet<br />

OBJECTIFS<br />

Ce stage intensif a pour objectifs d'initier les participants aux méthodes et aux réflexes de la Programmation<br />

Orientée Objet et de leur apporter la maîtrise opérationnelle du langage Python.<br />

1) Syntaxe du langage Python<br />

2) Approche Orientée Objet<br />

3) Programmation Objet en Python<br />

4) Utilisation StdLib<br />

1) Syntaxe du langage Python<br />

5) Outils QA<br />

6) Création IHM TkInter<br />

7) Interfaçage Python/C<br />

8) Conclusion<br />

- Les identifiants et les références. Les conventions de codage et les règles de nommage.<br />

- Les blocs, les commentaires.<br />

- Les types de données disponibles.<br />

- Les variables, l'affichage formaté, la portée locale et globale.<br />

- La manipulation des types numériques, la manipulation de chaînes de caractères.<br />

- La manipulation des tableaux dynamiques (liste), des tableaux statiques (tuple) et des dictionnaires.<br />

- L'utilisation des fichiers.<br />

- La structure conditionnelle if/elif/else.<br />

- Les opérateurs logiques et les opérateurs de comparaison.<br />

- Les boucles d'itérations while et for. Interruption d'itérations break/continue.<br />

- La fonction range.<br />

- L'écriture et la documentation de fonctions.<br />

- Les Lambda expression.<br />

- Les générateurs.<br />

- La structuration du code en modules.<br />

Travaux pratiques<br />

Installation et prise en main de l'interpréteur Python.<br />

2) Approche Orientée Objet<br />

- Les principes du paradigme Objet.<br />

- La définition d'un objet (état, comportement, identité).<br />

- La notion de classe, d'attributs et de méthodes.<br />

- L'encapsulation des données.<br />

- La communication entre les objets.<br />

- L'héritage, transmission des caractéristiques d'une classe.<br />

- La notion de polymorphisme.<br />

- Association entre classes.<br />

- Les interfaces.<br />

- Présentation d'UML.<br />

- Les diagrammes de classes, de séquences, d'activités...<br />

- Notion de modèle de conception (Design Pattern).<br />

Travaux pratiques<br />

Modélisation en UML d'un cas d'étude simple.<br />

3) Programmation Objet en Python<br />

- Les particularités du modèle objet de Python.<br />

- L'écriture de classes et leur instanciation.<br />

- Les constructeurs et les destructeurs.<br />

- La protection d'accès des attributs et des méthodes.<br />

- La nécessité du paramètre Self.<br />

- L'héritage simple, l'héritage multiple, le polymorphisme.<br />

- Les notions de visibilités.<br />

- Les méthodes spéciales.<br />

- L'introspection.<br />

- L'implémentation des interfaces.<br />

- Les bonnes pratiques et les modèles de conception courants.<br />

- L'utilisation du mécanisme d'exception pour la gestion des erreurs.<br />

Travaux pratiques<br />

Pratique des différents concepts objets au travers de l'implantation de l'étude de cas.<br />

4) Utilisation StdLib<br />

- Les arguments passés sur la ligne de commande.<br />

- L'utilisation du moteur d'expressions régulières Python avec le module "re", les caractères spéciaux, les<br />

cardinalités.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 29 / 86


- La manipulation du système de fichiers.<br />

- Présentation de quelques modules importants de la bibliothèque standard : module "sys", "os", "os.path".<br />

- Empaquetage et installation d'une bibliothèque Python.<br />

- Les accès aux bases de données relationnelles, le fonctionnement de la DB API.<br />

Travaux pratiques<br />

Mise en oeuvre de modules Python : expressions régulières, accès à une base de données,<br />

5) Outils QA<br />

- Les outils d'analyse statique de code (pylint, pychecker).<br />

- L'analyse des comptes rendus d'analyse (types de messages, avertissements, erreurs).<br />

- Extraction automatique de documentation.<br />

- Le débogueur de Python (exécution pas à pas et analyse post-mortem).<br />

- Le développement piloté par les tests.<br />

- Les modules de tests unitaires Python (Unittest...).<br />

- L'automatisation des tests, l'agrégation de tests.<br />

- Les tests de couverture de code, profiling.<br />

Travaux pratiques<br />

Utilisation des outils pylint et pychecker pour la vérification d'un code Python. Mise en oeuvre de tests<br />

unitaires.<br />

6) Création IHM TkInter<br />

- Les principes de programmation des interfaces graphiques.<br />

- Présentation de la bibliothèque TkInter.<br />

- Les principaux conteneurs.<br />

- Présentation des widgets disponibles (Button, Radiobutton, Entry, Label, Listbox, Canvas, Menu, Scrollbar,<br />

Text...).<br />

- Le gestionnaire de fenêtres.<br />

- Le placement des composants, les différents layouts.<br />

- La gestion des événements, l'objet event.<br />

- Les applications multifenêtres.<br />

Travaux pratiques<br />

Conception d'une interface graphique avec la bibliothèque Tkinter.<br />

7) Interfaçage Python/C<br />

- Présentation du module Ctypes.<br />

- Le chargement d'une librairie C.<br />

- Appel d'une fonction.<br />

- La réécriture d'une fonction Python en C avec l'API Python/C.<br />

- La création de modules C pour Python avec Pyrex.<br />

- L'Interpréteur Python dans C.<br />

- L'utilisation du profileur de code.<br />

Travaux pratiques<br />

Appel de fonctions écrites en C depuis Python. Création de modules C pour Python avec Pyrex.<br />

8) Conclusion<br />

- Analyse critique de Python.<br />

- L'évolution du langage.<br />

- Eléments de Webographie et de bibliographie.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 30 / 86


Stage pratique de 4 jour(s)<br />

Réf : FPY<br />

Participants<br />

Développeurs Python.<br />

Pré-requis<br />

Bonnes connaissances<br />

en programmation ou<br />

connaissances équivalentes<br />

à celles apportées<br />

par le stage " Python,<br />

programmation Objet " (réf.<br />

PYT). Expérience souhaitable<br />

en développement Python.<br />

Prix 2014 : 2270€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

4 mar. 2014, 10 juin 2014<br />

7 oct. 2014, 9 déc. 2014<br />

Développer avec les frameworks Python<br />

OBJECTIFS<br />

Cette formation vous permettra d'améliorer vos développements d'applications Web en Python au moyen<br />

des Frameworks les plus utilisés. Vous découvrirez leur rôle, apprendrez dans quel contexte les utiliser, les<br />

bonnes pratiques de développement associées et acquerrez l'autonomie nécessaire à leur mise en oeuvre.<br />

1) Introduction<br />

2) Le Framework Turbogears<br />

3) Le Framework Django<br />

Travaux pratiques<br />

4) Le Framework CubicWeb<br />

5) Conclusion<br />

Chaque Framework sera installé durant le cours. Pour chacun d'eux, une application sera réalisée pour<br />

mettre en application les différents concepts.<br />

1) Introduction<br />

- Historique et évolution des solutions Web en Python.<br />

- Présentation du standard WSGI, du middleware.<br />

- Interfaçage avec les bases de données relationnelles.<br />

- Aperçu des Frameworks leaders, et de leur rôle.<br />

Travaux pratiques<br />

Démonstrations des différents Frameworks. Création d'une mini-application avec accès à une base de<br />

données.<br />

2) Le Framework Turbogears<br />

- Un Framework MVC pour le développement Web.<br />

- Mise en place de l'environnement (dépendances, installation, architecture).<br />

- Présentation de SQLAlchemy.<br />

- Gestion des URL, moteur de template (Genshi, Mako).<br />

- Authentification avec repoze, gestion des autorisations.<br />

- Mode de déploiement.<br />

Travaux pratiques<br />

Installation du framework. Développement d'une mini-application Web MVC avec Turbogears.<br />

3) Le Framework Django<br />

- Un Framework MVC pour le développement Web.<br />

- Mise en place de l'environnement (dépendances, installation, manage.py).<br />

- Modèle de données Django, présentation de l'ORM.<br />

- Interface d'administration. Gestion des URL, moteur de template. Middlewares courants.<br />

- Authentification et autorisation. Mode de déploiement.<br />

Travaux pratiques<br />

Mise en place de Django. Ecriture d'une application à l'aide d'un Template. Mise en oeuvre des principales<br />

fonctionnalités.<br />

4) Le Framework CubicWeb<br />

- Un framework pour le développement d'applications Web sémantique.<br />

- Mise en place de l'environnement (dépendances, installation, cubicweb-ctl).<br />

- Modèle de données Yams.<br />

- Présentation du langage d'interrogation RQL.<br />

- Fédération des sources de données.<br />

- Authentification et autorisation.<br />

- Vers le Web sémantique, comparaison SPARQL et RQL.<br />

- Mode de déploiement.<br />

Travaux pratiques<br />

Installation de CubicWeb. Intégration de données sémantiques dans une application Web. Ecriture de<br />

requêtes RQL.<br />

5) Conclusion<br />

- Choisir la technologie adaptée. Du script CGI au Web sémantique.<br />

- Programmation asynchrone : Ajax, Comet, le problème C10K. Architecture REST et Python.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 31 / 86


Stage pratique de 4 jour(s)<br />

Réf : DJA<br />

Participants<br />

La formation est destinée<br />

aux développeurs souhaitant<br />

acquérir une connaissance<br />

approfondie des bases du<br />

Framework Django.<br />

Pré-requis<br />

Connaissances des bases<br />

du langage Python et<br />

technologies Web (HTML,<br />

JavaScript...)<br />

Prix 2014 : 2270€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

25 fév. 2014, 18 mar. 2014<br />

22 avr. 2014, 20 mai 2014<br />

24 juin 2014, 15 juil. 2014<br />

30 sep. 2014, 27 oct. 2014<br />

25 nov. 2014, 15 déc. 2014<br />

Django, développement Web avec Python<br />

OBJECTIFS<br />

Django est un Framework Web MVC (Modèle-Vue-Contrôleur) basé sur le langage Python. Ce stage vous<br />

apprendra à mettre en oeuvre ce Framework et à utiliser avec efficacité ses différents modules dans le cadre<br />

de développement d'applications Web.<br />

1) Introduction<br />

2) L'accès aux données avec Django<br />

3) Gestion des vues<br />

1) Introduction<br />

- Rappel des principes de la POO.<br />

- Le Design Pattern MVC.<br />

- Présentation de Framework Django.<br />

- Origine et historique. Objectifs et avantages.<br />

- Les composants de Framework Django.<br />

4) Les templates<br />

5) Gestion des formulaires<br />

6) Fonctions avancées<br />

Exercice<br />

Préparation de l'environnement. Installation de Python, Django, Serveur Apache, MySQL et Eclipse. Création<br />

d'un nouveau projet.<br />

2) L'accès aux données avec Django<br />

- Le modèle ORM Django.<br />

- Les modèles Django : Model, Field, Table, Column, Primary Key...<br />

- Mapping des associations : OneToMany, ManyToOne, ManyToMany, OneToOne.<br />

- Stratégies de mapping de l'héritage : Meta Class, OneToOneField, ManyToManyField...<br />

- Accès aux données avec les QuerySets.<br />

Exercice<br />

Développer une couche d'accès aux données. Interfacer Django avec MySQL.<br />

3) Gestion des vues<br />

- Vues simples ou fonctions vues.<br />

- Les classes HttpResponse, HttpRequest et QueryDict.<br />

- Configuration des Urls : UrlConf.<br />

- Vues génériques.<br />

- Exemples de vues génériques : Redirects, Create, Update, Delete...<br />

Exercice<br />

Développer des vues dynamiques HTML avec Django.<br />

4) Les templates<br />

- Le rôle des templates.<br />

- Création et chargement des templates.<br />

- Gestion des contextes.<br />

- Utilisation des tags et filtres personnalisés.<br />

- Réutilisation des templates : héritage entre templates.<br />

Exercice<br />

Développer un Template pour faciliter la génération de la présentation.<br />

5) Gestion des formulaires<br />

- Les avantages des formulaires Django.<br />

- Création des formulaires.<br />

- Les différents types de champs.<br />

- Validation des données d'un formulaire.<br />

- Gestion et personnalisation des messages d'erreurs.<br />

- Génération des formulaires à partir des modèles.<br />

Exercice<br />

Développer les formulaires associés aux opérations CRUD de l'atelier précédent.<br />

6) Fonctions avancées<br />

- L'internationalisation.<br />

- L'authentification et la gestion des sessions.<br />

- Optimisation et caches.<br />

- Intégration d'AJAX.<br />

- L'interface d'administration.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 32 / 86


- Les tests unitaires.<br />

Exercice<br />

Intégrer AJAX à travers le Framework JQuery.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 33 / 86


Stage pratique de 3 jour(s)<br />

Réf : PRL<br />

Participants<br />

Destiné aux informaticiens<br />

concernés par des<br />

procédures d'exploitation en<br />

environnements Unix, Linux<br />

ou Windows.<br />

Pré-requis<br />

Connaissances de base<br />

de la programmation et<br />

d'un système d'exploitation<br />

(Windows ou Linux/Unix).<br />

Prix 2014 : 1750€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

24 fév. 2014, 31 mar. 2014<br />

28 avr. 2014, 26 mai 2014<br />

30 juin 2014, 15 juil. 2014<br />

18 aoû. 2014, 29 sep. 2014<br />

27 oct. 2014, 24 nov. 2014<br />

15 déc. 2014<br />

Aix<br />

24 mar. 2014, 23 juin 2014<br />

15 sep. 2014, 8 déc. 2014<br />

Bordeaux<br />

10 mar. 2014, 30 juin 2014<br />

1 sep. 2014, 24 nov. 2014<br />

Bruxelles<br />

10 mar. 2014, 30 juin 2014<br />

1 sep. 2014, 24 nov. 2014<br />

Geneve<br />

10 mar. 2014, 30 juin 2014<br />

1 sep. 2014, 24 nov. 2014<br />

Lille<br />

10 mar. 2014, 30 juin 2014<br />

1 sep. 2014, 24 nov. 2014<br />

Luxembourg<br />

10 mar. 2014, 30 juin 2014<br />

1 sep. 2014, 24 nov. 2014<br />

Lyon<br />

24 mar. 2014, 23 juin 2014<br />

15 sep. 2014, 8 déc. 2014<br />

Nantes<br />

17 mar. 2014, 30 juin 2014<br />

29 sep. 2014, 1 déc. 2014<br />

Rennes<br />

17 mar. 2014, 30 juin 2014<br />

29 sep. 2014, 1 déc. 2014<br />

Sophia-antipolis<br />

24 mar. 2014, 23 juin 2014<br />

15 sep. 2014, 8 déc. 2014<br />

Strasbourg<br />

10 mar. 2014, 30 juin 2014<br />

1 sep. 2014, 24 nov. 2014<br />

Toulouse<br />

10 mar. 2014, 30 juin 2014<br />

1 sep. 2014, 24 nov. 2014<br />

Langage Perl<br />

scripts système Unix/Linux/Windows<br />

OBJECTIFS<br />

Ce stage vous apprendra à programmer ou maintenir des procédures d'exploitation écrites en Perl. Il<br />

permettra de maîtriser le langage lui-même mais aussi de découvrir la " philosophie Perl " avec notamment le<br />

recours à un grand nombre de modules permettant d'élargir quasiment à l'infini ses possibilités.<br />

1) Présentation<br />

2) L'essentiel du langage<br />

3) Expressions régulières<br />

4) Fonctions, procédures, modules<br />

1) Présentation<br />

- Historique du langage.<br />

- Perl pour quel usage ?<br />

- Caractéristiques du langage Perl.<br />

- Les différentes distributions et versions.<br />

- La documentation officielle.<br />

- Installation et première exécution d'un programme Perl.<br />

- Fichiers sources, extension et interprétation.<br />

- Les outils pour utiliser Perl.<br />

Travaux pratiques<br />

Installation de l'interpréteur Perl.<br />

2) L'essentiel du langage<br />

- Structure d'un programme Perl, en-tête de script.<br />

- Conventions de codage et règles de nommage.<br />

- Ajout de commentaires.<br />

- Les chaînes de caractères, interprétation de codes.<br />

- Les variables, nommage et typage. Portée des variables.<br />

- Les scalaires.<br />

- Les opérateurs : calcul, incrément, affectation, comparaison...<br />

- Les tableaux, initialisation, affichage du contenu.<br />

- Les tableaux associatifs (hash table), les fonctions keys et values.<br />

- Les références mémoires.<br />

- Les variables systèmes.<br />

- La notion de blocs.<br />

- Les structures de contrôle conditionnelles : if, if... else, if... elsif... else.<br />

- Les structures de contrôle itératives : while, for, until, foreach.<br />

- Les flux entrées/sorties standard (stdin, stdout, stderr).<br />

Travaux pratiques<br />

Manipulation du langage à travers l'écriture de différents programmes.<br />

3) Expressions régulières<br />

5) Gestion des fichiers et des répertoires<br />

6) Interactions avec le système d'exploitation<br />

7) Aspects avancés, bases de données,<br />

implémentation objet<br />

8) Scripts Perl dans un contexte Web, module<br />

CGI<br />

- Les cas d'utilisations des expressions.<br />

- Panorama des différents motifs : les méta-caractères, les quantificateurs, les caractères spéciaux.<br />

- Le Pattern Matching.<br />

- Le Pattern Substitute.<br />

- Options de la ligne de commande pour l'interpréteur.<br />

- Programme tiers : sed, awk...<br />

- Perl utilisé comme filtre supplémentaire.<br />

Travaux pratiques<br />

Mise en oeuvre d'expressions régulières.<br />

4) Fonctions, procédures, modules<br />

- Définition des fonctions. Différence entre fonctions et procédures.<br />

- La déclaration d'une fonction, le mécanisme d'appel, le passage d'arguments et la récupération des<br />

résultats.<br />

- Visibilité des variables, l'opérateur my.<br />

- Utilisation des références.<br />

- Les fonctions intégrées dans Perl : chomp, chop, length...<br />

- Notion de "package" et de module.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 34 / 86


- Modules de la distribution standard.<br />

- Modules du CPAN, recensement, documentation, sites de ressources.<br />

- Installation de modules.<br />

- Utilisation d'un module " classique " et d'un module " Orienté Objet ". Les fonctions require et use.<br />

- Fabrication d'un module.<br />

- Documenter les modules créés.<br />

Travaux pratiques<br />

Ecriture de fonctions. Intégration d'un module dans un développement. Création d'un module.<br />

5) Gestion des fichiers et des répertoires<br />

- Notion de filehandle.<br />

- Gestion des fichiers : ouverture, lecture, écriture, fermeture...<br />

- Informations sur les fichiers (propriétaire, taille, droits...), la fonction stat.<br />

- L'opérateur diamant.<br />

- Gestion des répertoires : changement, parcours, création, suppression...<br />

- Gestion des erreurs sur manipulation des fichiers et des répertoires.<br />

Travaux pratiques<br />

Lecture/ écriture dans un fichier. Manipulation des répertoires.<br />

6) Interactions avec le système d'exploitation<br />

- Accès aux informations du système d'exploitation.<br />

- Les commandes agissant sur le système : mkdir, rmdir, chown, chroot, chmod, ...<br />

- Gestion des processus.<br />

- Création de processus fils : system, exec.<br />

- Les quotes inverses.<br />

- Interactions avec le système Windows (modules Win32 et Win32API).<br />

Travaux pratiques<br />

Création de processus fils.<br />

7) Aspects avancés, bases de données, implémentation objet<br />

- Tris personnalisés.<br />

- Traitements complémentaires sur les chaînes de caractères.<br />

- Structures de données élaborées à l'aide des références anonymes.<br />

- Accès aux bases de données à l'aide du module DBI.<br />

- Etablissement et configuration d'une connexion, requêtage et récupération des résultats.<br />

- Création de la structure d'une classe et instanciation : paquetage, sous-programme et référence.<br />

- Constructeur et destructeur d'objets.<br />

- Invocation des méthodes d'une classe.<br />

- Le ramasse-miettes.<br />

Travaux pratiques<br />

Exploitation des données d'une base de données relationnelle.<br />

8) Scripts Perl dans un contexte Web, module CGI<br />

- Protocole HTTP, serveur Web, schéma fonctionnel CGI.<br />

- Le module CGI.<br />

- Variables d'environnement, méthodes GET et POST.<br />

- Génération des éléments HTML du formulaire avec Perl.<br />

- Traitement des formulaires, exploitation des résultats.<br />

Travaux pratiques<br />

Ecriture d'un script CGI en Perl.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 35 / 86


Stage pratique de 2 jour(s)<br />

Réf : LAP<br />

Participants<br />

Informaticiens concernés par<br />

des procédures d'exploitation<br />

en environnements Unix,<br />

Linux ou Windows.<br />

Pré-requis<br />

Langage Perl, programmation avancée<br />

OBJECTIFS<br />

Ce stage vous présentera les dernières technologies préconisées par la communauté Perl. Vous verrez<br />

comment maintenir efficacement vos programmes écrits " à l'ancienne ", ainsi qu'à en améliorer la<br />

performance. A l'issue du cours, vous maîtriserez les principales primitives du noyau, la création d'interfaces<br />

graphiques et de masques de saisie pour vos procédures d'exploitation. Vous découvrirez également<br />

l'approche plus moderne et plus puissante de la programmation Objet en Perl.<br />

Bonnes connaissances<br />

du langage Perl. Ou<br />

connaissances équivalentes à<br />

celles apportées par le stage<br />

PRL " Langage Perl ".<br />

1) Programmation système<br />

2) Perl et l'objet<br />

3) Interface graphique : de Perl/Tk à GTK<br />

4) Écrire du nouveau code en utilisant GTK<br />

5) Evolutions<br />

Prix 2014 : 1350€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

6 mai 2014, 4 sep. 2014<br />

13 nov. 2014<br />

1) Programmation système<br />

- Rappel des principes de base des processus : fork et exec.<br />

- Rappel des principes de la gestion des signaux.<br />

- Envoyer un signal à des processus : la fonction kill<br />

- Gérer les signaux : le pragma sigtrap, installer un gestionnaire de signal.<br />

- Programmation des sockets et services de IO::Socket à Net::Server.<br />

- Présentation de la programmation des threads.<br />

Travaux pratiques<br />

Ecriture de programmes Perl pour manipuler les fonctions systèmes.<br />

2) Perl et l'objet<br />

- Quelques définitions : programmation orientée objet, classe, instance, constructeur, destructeur, héritage ...<br />

- La mise en oeuvre de l'objet en Perl : le paquetage pour la classe, le hachage pour les attributs, les<br />

fonctions pour les méthodes.<br />

- La création d'instance : la bénédiction (bless) de la référence de l'objet.<br />

- Programmer un constructeur.<br />

- Agir quand l'objet est détruit, la méthode DESTROY.<br />

- L'héritage : le tableau @ISA et la classe UNIVERSAL.<br />

- La surcharge de méthode, l'utilisation de SUPER.<br />

- Abstraction : l'avenir de l'objet dans Perl, de Class::Std et Class::Accessor à Moose.<br />

Travaux pratiques<br />

Programmation de classes. Mise en oeuvre des concepts objets (héritage, surcharge...).<br />

3) Interface graphique : de Perl/Tk à GTK<br />

- Comprendre et maintenir du code écrit en Perl/Tk.<br />

- Présentation et installation de Perl/Tk.<br />

- Gestionnaire de géométrie : Pack, Grid, Place.<br />

- Les Widgets par famille.<br />

- Les boutons : Button, Checkbutton, Radiobutton.<br />

- Libellé et zone de saisie : Label, Entry.<br />

- Ascenseur, liste, menu et saisie de texte : Scrollbar, Listbox, Menubutton, Optionmenu, Text.<br />

- Les conteneurs : Canvas, Frame, Toplevel.<br />

- La gestion des événements.<br />

Travaux pratiques<br />

Création d'une application avec interface graphique en Perl/Tk et gestion événementielle.<br />

4) Écrire du nouveau code en utilisant GTK<br />

- Lien entre Pert et GTK : installer GTK et ses bibliothèques.<br />

- Widget : hiérarchie, création, accélérateurs clavier, conteneurs de bases, ...<br />

- Widget : signaux et événements.<br />

- Les différents types de boutons : Toggle (interrupteurs), radio, ...<br />

Travaux pratiques<br />

Manipulation de différents composants : boutons, boite de boutons, Widget cadre, ...<br />

5) Evolutions<br />

- Fonctionnalités apportées par Perl 5.10, 5.12, 5.14.<br />

- Perl 6 : un nouveau langage.<br />

- Nouveautés : les sigils, typage statique et dynamique, paramètres formels des fonctions.<br />

- Un véritable langage objet.<br />

- De nouveaux concepts : les jonctions et l'évaluation paresseuse.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 36 / 86


Stage pratique de 5 jour(s)<br />

Réf : DEV<br />

Participants<br />

Développeurs. Nouveaux<br />

utilisateurs de Windev.<br />

Pré-requis<br />

Windev, développement d'applications<br />

OBJECTIFS<br />

Cette formation vous apportera la maîtrise de l'environnement Windev. Vous verrez en détail ses différents<br />

éditeurs et comment l'utiliser efficacement pour programmer vos applications, les connecter à des bases de<br />

données, concevoir leurs IHM au standard Windows, les tester, les packager et les déployer.<br />

Connaissances de base<br />

en programmation et d'un<br />

environnement graphique.<br />

Expérience souhaitable en<br />

développement <strong>logiciel</strong>.<br />

1) Présentation de l'environnement Windev<br />

2) La base de données<br />

3) L'interface homme/machine<br />

4) Les états<br />

5) Les dossiers<br />

6) La programmation<br />

7) L'installation<br />

Prix 2014 : 2440€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

12 mai 2014, 6 oct. 2014<br />

8 déc. 2014<br />

1) Présentation de l'environnement Windev<br />

- L'environnement Windows. L'éditeur de fenêtres.<br />

- L'éditeur de sources : rechercher, remplacer, couper, copier, coller, imprimer. Personnalisation de l'éditeur.<br />

- L'outil de description des fichiers. L'éditeur d'états.<br />

- La compilation, la mise en bibliothèque.<br />

- L'exécutable : programme, bibliothèque, DLL.<br />

- Les utilitaires : WDMAP, WDBACKUP, WDRESTOR, WDOUTIL..., le RAD.<br />

2) La base de données<br />

- Le format HyperFileSQL.<br />

- L'outil de description des fichiers.<br />

- Génération de l'analyse, modifications automatiques, liaisons entre les fichiers.<br />

3) L'interface homme/machine<br />

- Les projets, les menus, les fenêtres.<br />

- L'ergonomie, le menu système, la barre de titre, l'éditeur de styles (feuille de style), les groupes de champs.<br />

- Etude des différents types d'objets. Les tables.<br />

- L'intégration automatique des rubriques d'un fichier dans un écran, la création d'une fenêtre VISION+.<br />

4) Les états<br />

- La description de l'éditeur.<br />

- Les différents modes création : état lié à un fichier, étiquettes, état libre, les tris, les filtres, les ruptures.<br />

- Les différents types de blocs (début de document, haut de page, corps, bas de page, etc.).<br />

- Les différents types d'objets (champ, libellé...).<br />

5) Les dossiers<br />

- Les fichiers de données et leur structure.<br />

- Le dictionnaire des rubriques.<br />

- Les sources des fenêtres : dessin de la fenêtre, détail des objets, source associé à l'objet.<br />

6) La programmation<br />

- Le projet, les procédures, les fonctions.<br />

- Le W-Langage : fonctionnement de l'éditeur de sources, opérateurs et fonctions.<br />

- Tables mémoire et tables fichier. Timer et multitâche.<br />

- Gestion des liaisons série.<br />

- Le grapheur.<br />

- OLE Automation vers Excel, Le dialogue DDE vers Excel.<br />

- Aspect monoposte, multi-instance ou réseau.<br />

- Gestion des triggers.<br />

7) L'installation<br />

- La création d'un programme exécutable.<br />

- La mise en bibliothèque des objets.<br />

- L'installation sur un autre poste.<br />

- Les DLL.<br />

- Maintenance de l'application réalisée.<br />

- L'outil d'installation.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 37 / 86


Stage pratique de 3 jour(s)<br />

Réf : WEB<br />

Participants<br />

Cette formation pratique<br />

s'adresse aux futurs<br />

développeurs WebDev<br />

souhaitant réaliser des sites<br />

dynamiques Internet ou<br />

Intranet.<br />

Pré-requis<br />

Connaissances de<br />

base du HTML et de la<br />

programmation.<br />

Eligible DIF<br />

Webdev, développement Web<br />

OBJECTIFS<br />

Ce stage vous montrera comment réaliser un site web dynamique à l'aide de WebDev. Vous verrez comment<br />

utiliser les fonctions courantes de l'environnement <strong>logiciel</strong>, créer vos IHMs, utiliser des bases de données et<br />

déployer vos applications sur un serveur Web.<br />

1) Concepts de base<br />

2) Accès aux données<br />

3) Le code<br />

4) Gestion de l'IHM<br />

Travaux pratiques<br />

5) Pages pour l'impression<br />

6) Créer le dossier du site<br />

7) Déploiement de l'application<br />

Prise en main de l'environnement, la bonne méthode de création d'un nouveau projet WebDev.<br />

1) Concepts de base<br />

- Qu'est-ce qu'un site Web dynamique.<br />

- L'environnement de développement.<br />

- L'éditeur graphique.<br />

- L'éditeur de code.<br />

- Etapes de création d'un nouveau projet.<br />

2) Accès aux données<br />

- Créer une base de données HYPERFILE.<br />

- Se connecter à une base de données SQL Server, MySQL ou Oracle.<br />

- Création de l'application à l'aide du RAD.<br />

- Ajouter, supprimer, modifier des données automatiquement.<br />

Travaux pratiques<br />

Réalisation d'une base de données catalogue.de produits<br />

3) Le code<br />

- Le WDLANGAGE (Variables, procédure, fonctions, boucles...)<br />

- Code coté client.<br />

- Code côté serveur.<br />

- Accéder aux données par le code.<br />

Travaux pratiques<br />

Création de pages personnalisés.<br />

4) Gestion de l'IHM<br />

- Apparence des pages.<br />

- Création et utilisation de modèles.<br />

- Les différents objets des pages.<br />

- Réalisation de menus.<br />

Travaux pratiques<br />

Réalisation d'un IHM via le RAD, et ajout de pages spécifiques.<br />

5) Pages pour l'impression<br />

- L'éditeur d'état.<br />

- Les différents états (Lié aux données, libres ...).<br />

- Composition d'un état WEBDEV (entêtes, corps, pieds...).<br />

- Les objets à disposition (différents types de champs).<br />

- Les options d'impression.<br />

- Génération d'impression HTML et PDF.<br />

Travaux pratiques<br />

Génération d'état pour l'impression, au format HTML et PDF.<br />

6) Créer le dossier du site<br />

- Importance de ce dossier.<br />

- Génération du dossier (pages, états, code sources).<br />

Travaux pratiques<br />

Bien organiser ses dossiers de projet, créer la documentation de l'application.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 38 / 86


7) Déploiement de l'application<br />

- Génération de l'application.<br />

- Génération de la procédure d'installation.<br />

- Déploiement.<br />

Travaux pratiques<br />

Créer le programme d'installation et installation d'un programme<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 39 / 86


Stage pratique de 2 jour(s)<br />

Réf : WED<br />

Participants<br />

Développeurs WebDev.<br />

Pré-requis<br />

Avoir déjà développé des<br />

sites avec WebDev. Ou<br />

connaissances équivalentes à<br />

celles apportées par le stage<br />

" WebDev, développement<br />

Web " (réf. WEB).<br />

Eligible DIF<br />

Webdev, développement Web, perfectionnement<br />

OBJECTIFS<br />

Ce stage de perfectionnement vous aidera à développer des applications complexes avec WebDev. Il<br />

insiste sur les fonctions avancées de l'environnement ainsi que sur l'interaction avec d'autres langages et<br />

technologies comme JavaScript, Ajax et PHP.<br />

1) CSS et le référencement<br />

2) Utilisation de scripts externes<br />

3) Composants avancés de WebDev<br />

1) CSS et le référencement<br />

- Utiliser des feuilles de style externe.<br />

- Notion et utilisation d'un kit graphique.<br />

- Bien référencer un site WebDev.<br />

4) Upload / Download<br />

5) Import / Export<br />

6) Etats avancés<br />

Travaux pratiques<br />

Créer et utiliser une feuille CSS externe, bonne pratique du référencement.<br />

2) Utilisation de scripts externes<br />

- Utilisation des procédures événementielle de JavaScript.<br />

- Code JAVASRIPT-WD-LANGAGE.<br />

- Passer des paramètres entre les pages.<br />

- Utiliser Ajax intégré.<br />

- Ajax (XMLHttpRequest().<br />

- Appel de pages PHP.<br />

Travaux pratiques<br />

Rendre un site plus dynamique et plus rapide avec Ajax, appel et passage de paramètres à un script externe.<br />

3) Composants avancés de WebDev<br />

- Traitement des erreurs.<br />

- Maitriser le champ HTML<br />

- Timer et Trigger.<br />

- Envoyer des mails pour le suivi de l'activité du site.<br />

- La réglette personnalisée.<br />

Travaux pratiques<br />

Actualiser automatiquement une page à intervalle régulier.<br />

4) Upload / Download<br />

- Upload d'images et de fichier PDF.<br />

- Télécharger des fichiers depuis le serveur.<br />

Travaux pratiques<br />

Upload de fichier image pour la réalisation d'un site e-commerce.<br />

5) Import / Export<br />

- Lire et écrire dans un fichier texte type CSV.<br />

- Utiliser un fichier Excel avec sa base de données.<br />

Travaux pratiques<br />

Utiliser un fichier texte en tant que compteur.<br />

6) Etats avancés<br />

- Retour sur les blocs d'états (entête, corps, pieds).<br />

- Etats imbriqués.<br />

- Tris, ruptures , filtres.<br />

- Gestion des graphiques.<br />

Travaux pratiques<br />

Réalisation d'états complexes.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 40 / 86


Stage pratique de 5 jour(s)<br />

Réf : PBF<br />

Participants<br />

Pour les développeurs<br />

désirant acquérir les<br />

techniques et les réflexes<br />

pour développer des<br />

applications client/serveur<br />

avec PowerBuilder.<br />

Pré-requis<br />

Connaissances de base en<br />

programmation et en langage<br />

SQL. Expérience requise en<br />

développement <strong>logiciel</strong>.<br />

Prix 2014 : 2440€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

10 mar. 2014, 2 juin 2014<br />

8 sep. 2014, 1 déc. 2014<br />

PowerBuilder, les fondamentaux<br />

OBJECTIFS<br />

Cette formation vous permettra de prendre en main l'environnement PowerBuilder et de l'utiliser efficacement<br />

pour développer et déployer des applications Client/Serveur. Vous manipulerez et personnaliserez son<br />

interface de développement, et apprendrez les bonnes pratiques pour créer des applications performantes.<br />

1) Introduction à PowerBuilder<br />

2) Création de fenêtres<br />

3) Ecriture de scripts<br />

4) Utilisation du PowerScript<br />

1) Introduction à PowerBuilder<br />

- Principe et architecture.<br />

- La personnalisation de l'interface.<br />

- Les éléments fondamentaux de la programmation.<br />

- Les bases pour créer une application.<br />

- La Painter Application.<br />

- Les bibliothèques. Les événements.<br />

Travaux pratiques<br />

Prise en main de l'interface de PowerBuilder.<br />

2) Création de fenêtres<br />

5) Création et utilisation de menus<br />

6) Utilisation des objets DataWindow et des<br />

objets utilisateurs<br />

7) La gestion de projets<br />

- Comment créer une fenêtre ?<br />

- Décryptage de la notion de contrôles.<br />

- Passage en revue des types de contrôles possibles.<br />

- Mise en place de contrôles au sein d'une application.<br />

- Le Painter pour les fenêtres.<br />

- Le principe d'héritage. Mise en pratique.<br />

Travaux pratiques<br />

Création de fenêtres et de contrôles. Mise en place du principe d'héritage.<br />

3) Ecriture de scripts<br />

- Définition des scripts. Comment les utiliser ?<br />

- Comment travailler avec les attributs.<br />

- Les différents types de fonction.<br />

- La portée et la visibilité des variables.<br />

- La gestion des erreurs.<br />

Travaux pratiques<br />

Création de scripts simples.<br />

4) Utilisation du PowerScript<br />

- Présentation de PowerScript.<br />

- Le Painter PowerScript.<br />

- Les fonctions et les commandes.<br />

- Le nommage de contrôles, d'objets et de variables.<br />

- Les requêtes SQL intégrées. La syntaxe.<br />

Travaux pratiques<br />

Exemples d'utilisation de PowerScript.<br />

5) Création et utilisation de menus<br />

- Qu'est-ce que le Painter Menu ?<br />

- Savoir construire une hiérarchie de menus.<br />

- Comment associer un script à un menu ?<br />

Travaux pratiques<br />

Création de menus simples. Mise en place d'une hiérarchie de menus. Exemples d'association d'un menu à<br />

une fenêtre.<br />

6) Utilisation des objets DataWindow et des objets utilisateurs<br />

- Présentation du concept de DataWindow. Les types de DataWindow. Le Painter DataWindow.<br />

- Les filtres et les tris. Comment communiquer avec une base de données ? Les fonctions et les événements.<br />

- Les différents types d'objets utilisateurs. Le Painter User Object. Comment créer un objet utilisateur ?<br />

Travaux pratiques<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 41 / 86


Mise en place d'un DataWindow. Exemples d'utilisation de DataWindow. Exemples de création et d'utilisation<br />

d'un objet utilisateur.<br />

7) La gestion de projets<br />

- Comment distribuer une application ?<br />

- Le Painter projet.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 42 / 86


Stage pratique de 4 jour(s)<br />

Réf : PBP<br />

Participants<br />

Pour les développeurs qui<br />

souhaitent approfondir<br />

leur connaissance sur<br />

PowerBuilder.<br />

Pré-requis<br />

Connaissances de base<br />

de PowerBuilder ou<br />

celles équivalant au stage<br />

ORSYS " PowerBuilder, les<br />

fondamentaux ". Expérience<br />

requise en développement<br />

<strong>logiciel</strong>.<br />

Eligible DIF<br />

PowerBuilder, perfectionnement<br />

OBJECTIFS<br />

Cette formation vous permettra d'approfondir vos connaissances et compétences sur l'utilisation de<br />

l'environnement PowerBuilder. Vous apprendrez à utiliser des techniques avancées pour développer et<br />

déployer vos applications client-serveur, mettant notamment en oeuvre PowerScript, les DataWindows ou<br />

encore les DataStores.<br />

1) Utiliser des techniques PowerScript<br />

2) Gérer les exceptions<br />

3) Utiliser efficacement les DataWindows<br />

1) Utiliser des techniques PowerScript<br />

- Manipuler les tableaux. Travailler avec le Control Array.<br />

- Les fonctions avec les String, Date, et Numeric.<br />

- Les messages entre les objets.<br />

- Utilisation avancée des techniques d'héritage.<br />

- Accès aux variables.<br />

- Appel de fonctions récursives.<br />

Travaux pratiques<br />

Mise en oeuvre de PowerScript.<br />

2) Gérer les exceptions<br />

- Le processus de manipulation des exceptions.<br />

- Lancer des exceptions. Capter et traiter des exceptions.<br />

- Définir ses propres fonctions pour lancer des exceptions.<br />

4) Créer et utiliser des DataStores<br />

5) Mettre en oeuvre des contrôles et techniques<br />

avancés d'IHM<br />

6) Gérer la communication entre les composants<br />

Travaux pratiques<br />

Gérer les exceptions levées par vos applications. Créer ses propres exceptions. Les lever dans ses propres<br />

fonctions.<br />

3) Utiliser efficacement les DataWindows<br />

- Les styles de présentation des DataWindows.<br />

- TreeView DataWindows. CrossTabs.<br />

- Communication avec les bases de données. Les objets transactions.<br />

- Mettre en oeuvre les caractéristiques avancées des DataWindows : graphes, DataWindows imbriqués,<br />

BLOB et DataWindow...<br />

- Utiliser les éléments Find, Print Review, Zoom, Importing Data, Query Mode, Store Procedure Updates...<br />

- Créer des rapports.<br />

- Manipuler les attributs des objets contenus dans un DataWindow. Les types DataWindowChild.<br />

- Les DataWindows dynamiques. Les DataWindows multitables. Les DataWindow Property Conditional<br />

Expressions.<br />

Travaux pratiques<br />

Manipulation des contrôles. Connexion à une base. Manipulations variées des DataWindows pour enrichir<br />

une application.<br />

4) Créer et utiliser des DataStores<br />

- Créer un DataStore.<br />

- Utiliser dans une application un DataStore.<br />

- Partager des données entre DataStores et DataWindows.<br />

- Utiliser une API de synchronisation DataWindow.<br />

Travaux pratiques<br />

Mise en oeuvre des DataStores au sein d'une application. Implémentation du partage de données.<br />

5) Mettre en oeuvre des contrôles et techniques avancés d'IHM<br />

- Utiliser des contrôles de type TreeView.<br />

- Utiliser des contrôles de type ListView.<br />

- Utiliser des contrôles de type Tab.<br />

- Utiliser des contrôles de type OLE.<br />

- Mettre en oeuvre le Drag & Drop dans une application.<br />

- Construire un menu contextuel.<br />

- Créer de manière dynamique une IHM.<br />

Travaux pratiques<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 43 / 86


Test des différents contrôles. Enrichissement d'une application existante avec différents composants évolués<br />

d'IHM.<br />

6) Gérer la communication entre les composants<br />

- Construction et gestion d'un objet pipeline.<br />

- Les fonctions externes.<br />

- Envoi des messages Windows et l'objet message.<br />

Travaux pratiques<br />

Mise en oeuvre des techniques de communication.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 44 / 86


Stage pratique de 5 jour(s)<br />

Réf : PBA<br />

Participants<br />

Pour les développeurs qui<br />

souhaitent développer des<br />

applications .NET avec<br />

PowerBuilder.<br />

Pré-requis<br />

Bonne connaissance de<br />

PowerBuilder. Expérience<br />

requise en développement<br />

<strong>logiciel</strong>.<br />

Eligible DIF<br />

PowerBuilder, développer des applications .NET<br />

OBJECTIFS<br />

Cette formation s'adresse à tous les développeurs PowerBuilder qui souhaitent apprendre à créer et déployer<br />

des applications .NET en C#. Ils verront comment tirer le meilleur parti de la richesse du Framework .NET<br />

de Microsoft, et comment maximiser leur productivité par leurs connaissances et habitudes de travail en<br />

environnement PowerBuilder.<br />

1) Présentation de la plateforme .NET<br />

2) PowerBuilder 12.0 et ses outils de<br />

développement<br />

3) La syntaxe de base de C#<br />

1) Présentation de la plateforme .NET<br />

- Principe et architecture de la plateforme .NET.<br />

- Architecture du Framework .NET.<br />

- Aperçu des différents types d'applications dans un environnement multicible.<br />

- Outils et environnement de développement.<br />

- Présentation du langage de CIL.<br />

4) Programmation Orientée Objet<br />

5) Création d'applications WPF<br />

6) Fonctionnalités et techniques avancées<br />

Travaux pratiques<br />

Exemple d'un programme C# simple. Exécution en mode géré. Test d'un premier programme.<br />

2) PowerBuilder 12.0 et ses outils de développement<br />

- L'IDE classique et le nouvel IDE .NET.<br />

- Les différences majeures entre les deux IDE.<br />

- La nouvelle terminologie associée au .NET.<br />

- PowerBuilder pour le .NET. L'environnement. Son organisation et ses fonctionnalités.<br />

- Le Visual Studio Isolated Shell.<br />

- Les caractéristiques spécifiques.<br />

- Utilisation des classes .NET et de leurs méthodes à l'intérieur de l'IDE PowerBuilder.<br />

Travaux pratiques<br />

Prise en main de PowerBuilder pour le développement .NET.<br />

3) La syntaxe de base de C#<br />

- Les variables et les expressions : déclaration, constantes, opérateurs, les types.<br />

- Les types de données : Common Type System, rôle de la classe de base System.Object et transtypage.<br />

- Les types valeur et types référence.<br />

- Les instructions de contrôle de flux : boucles et tests.<br />

- Manipulation des tableaux, instructions de contrôle de flux, ...<br />

Travaux pratiques<br />

Ecriture de programmes en C# mettant en oeuvre des algorithmes classiques.<br />

4) Programmation Orientée Objet<br />

- Classes et objets. Modélisation du monde réel par objet.<br />

- Notions de champ, méthode et propriété.<br />

- Héritage. Polymorphisme. Interfaces.<br />

- Définition des classes en C#. Utilisation des objets.<br />

- Définition du contenu de la classe : méthodes et propriétés.<br />

- Le mécanisme de surcharge (constructeurs, méthodes et opérateurs).<br />

- Dérivation et héritage des classes en C#. Classes génériques.<br />

- Objets et classes de base du Framework .NET.<br />

Travaux pratiques<br />

Implémentation sous PowerBuilder dans une application des concepts objets en .NET. Création du squelette<br />

de l'application fil rouge.<br />

5) Création d'applications WPF<br />

- Windows Presentation Foundation.<br />

- Architecture des applications WPF et fondamentaux du langage XAML.<br />

- Principaux contrôles conteneurs et environnement graphique.<br />

- Ressources. Styles. Transformations. Animations. Modèle de contrôle et contrôles du toolkit WPF.<br />

- Infrastructure de liaison de données.<br />

- Créer une IHM avec PowerBuilder et WPF.<br />

- Squelette d'application avec PowerBuilder.<br />

Travaux pratiques<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 45 / 86


Création de l'IHM de l'application à partir de PowerBuilder. Test de contrôles et de la dynamique d'interaction.<br />

6) Fonctionnalités et techniques avancées<br />

- Utilisation des nouvelles fonctionnalités WPF DataWindow.<br />

- Utilisation de contrôles personnalisés et des nouveaux types Graph.<br />

- Gestion et accès aux données. Les DataStore et ses usages.<br />

- Utilisation de WCF (Windows Communications Foundation) et du nouveau Proxy WCF pour appeler un<br />

service WCF.<br />

Travaux pratiques<br />

Mise en oeuvre des fonctions avancées. Appel de services WCF.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 46 / 86


Stage pratique de 3 jour(s)<br />

Réf : GRO<br />

Participants<br />

Développeur, chef de projets,<br />

architecte applicatif.<br />

Pré-requis<br />

Bonne expérience en<br />

programmation Java.<br />

Eligible DIF<br />

Groovy, programmation<br />

OBJECTIFS<br />

Groovy est un langage orienté objet qui se propose d'améliorer la productivité des développeurs en<br />

simplifiant l'écriture du code et l'usage des modules. Ce stage très pratique vous apprendra les bases de ce<br />

langage et vous montrera comment produire rapidement des applications de qualité. Vous verrez comment<br />

mettre en oeuvre des tests unitaires, l'accès aux données, la manipulation de XML et certains modules<br />

avancés proposés avec Groovy.<br />

1) Introduction<br />

2) Les bases du langage<br />

3) Les tests avec Groovy<br />

4) L'accès aux bases de données<br />

5) Manipulation des documents XML<br />

6) Programmation avancée<br />

1) Introduction<br />

- Les langages dynamiques.<br />

- Présentation du langage Groovy.<br />

- Avantages du langage Groovy.<br />

- Historique du langage Groovy.<br />

- Différence entre Java, Ruby et Groovy.<br />

Travaux pratiques<br />

Mise en place de l'environnement (JDK, Groovy, Eclipse...).<br />

2) Les bases du langage<br />

- Structure des programmes Groovy.<br />

- Compilation et exécution des programmes.<br />

- Les types de base du langage.<br />

- Déclaration des classes, Asset et AST.<br />

- Enumération et collections : Enum, Ranges, Lists, Maps.<br />

- Groovy Closure.<br />

- Les structures de contrôle : Les conditions, Groovy Truth, les itérations.<br />

- Les expressions régulières.<br />

Travaux pratiques<br />

Développer une application orientée objet.<br />

3) Les tests avec Groovy<br />

- Les tests unitaires avec Groovy.<br />

- Utilisations des Mocks.<br />

- Couverture du code.<br />

Travaux pratiques<br />

Définir des tests avec Groovy.<br />

4) L'accès aux bases de données<br />

- L'API SQL de Groovy.<br />

- Requêtes simples et requêtes paramétrées.<br />

- Manipulation des DataSets, indexation négative.<br />

- Utilisation des procédures avec Groovy.<br />

- Groovy et les solutions ORM (GORM).<br />

Travaux pratiques<br />

Implémenter une couche d'accès aux données avec Groovy.<br />

5) Manipulation des documents XML<br />

- Lecture des documents XML (XmlParser, XmlSlurper, DOMCategory).<br />

- Manipulation des documents XML (DOM, JDOM, DOM4J...).<br />

- Validation des documents XML (DTD, XMLSchema, RELAX NG...).<br />

- Les transformations avec XPath, XSL et XSLT.<br />

Travaux pratiques<br />

Manipuler les documents XML avec Groovy.<br />

6) Programmation avancée<br />

- Intégration de Groovy dans Java.<br />

- Groovy Builders (NodeBuilder, MarkupBuilder...).<br />

- Templates.<br />

- Groovlets.<br />

- Les modules GroovyWS, Grails...<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 47 / 86


Travaux pratiques<br />

Développer un Web service avec le module GroovyWS.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 48 / 86


Stage pratique de 3 jour(s)<br />

Réf : GRG<br />

Participants<br />

Développeur Web, architecte<br />

applicatifs.<br />

Pré-requis<br />

Bonne connaissance du<br />

langage Groovy et des<br />

concepts des technologies<br />

Java Web (Servlet, JSP et<br />

tags).<br />

Eligible DIF<br />

Groovy et Grails, développement Web<br />

OBJECTIFS<br />

Le Framework Grails a été conçu pour faciliter la mise en oeuvre d'applications Web au moyen du langage<br />

Groovy, de Spring et Hibernate, deux frameworks parmi les plus utilisés du marché. Cette formation<br />

vous détaillera son utilisation et les bonnes pratiques à mettre en oeuvre pour assurer la robustesse et<br />

l'extensibilité de vos applications.<br />

1) Introduction<br />

2) Grails : premier pas<br />

3) Modèle métier<br />

1) Introduction<br />

- La plateforme JavaEE.<br />

- Les technologies Web : Servlet, JSP et taglib.<br />

- Design Pattern MVC.<br />

- Le framework Rails.<br />

- Fondements du framework Grails.<br />

- Grails : fonctionnalités et positionnement.<br />

- Les bases du langage Groovy.<br />

Travaux pratiques<br />

Mise en place de l'environnement (JDK, Groovy, Grails, Eclipse...).<br />

2) Grails : premier pas<br />

- Structure d'un projet.<br />

- Modèle métier, les contrôleurs et les vues.<br />

- Eléments de configuration.<br />

- Les utilitaires Grails en ligne de commande.<br />

- Intégration avec l'IDE Eclipse.<br />

Travaux pratiques<br />

Développer une application simple Grails.<br />

3) Modèle métier<br />

4) Application des concepts Grails<br />

5) Compléments<br />

- Mécanisme de mapping Objet-Relation avec GORM (Entités, associations, héritage,...).<br />

- Validation des données.<br />

- Implémentation des opérations CRUD.<br />

- Requêtes dynamiques.<br />

Travaux pratiques<br />

Implémenter une couche d'accès aux données avec GORM.<br />

4) Application des concepts Grails<br />

- Scaffholding statique versus Scaffholding dynamique : génération automatique des artefacts (Contrôleurs,<br />

Vues,...).<br />

- Validation des données de saisie.<br />

- Conversion des données.<br />

- Gestion des actions (action par défaut,...).<br />

- Rendu dynamique :Groovy Scriptlets et GSP. Boîte à outils Grails de tags. Définition des tags<br />

personnalisés. Layout et template. Pagination.<br />

- Internationalisation.<br />

Travaux pratiques<br />

Mettre en oeuvre une application utilisant les concepts Grails : Controller, Actions, Views, tags Grails,<br />

validation...<br />

5) Compléments<br />

- Les concepts d'AJAX.<br />

- Gestion des événements.<br />

- Intégration avec Ajax : les tags.<br />

- Mise en oeuvre des services et tâches.<br />

- Injection des dépendances.<br />

- Intégration des frameworks : Hibernate et Spring.<br />

Travaux pratiques<br />

Améliorer l'application développée en intégrant AJAX et Spring.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 49 / 86


Stage pratique de 4 jour(s)<br />

Réf : RUB<br />

Participants<br />

Programmeurs, développeurs<br />

Web et Webmasters désirant<br />

concevoir des sites Internet<br />

professionnels orientés Web<br />

Services.<br />

Pré-requis<br />

Connaissances de base<br />

d'HTML, de JavaScript, d'un<br />

langage de développement<br />

côté serveur et en<br />

administration d'un serveur<br />

Web.<br />

Prix 2014 : 2270€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

13 mai 2014, 30 sep. 2014<br />

2 déc. 2014<br />

Ruby On Rails 3, développement Web<br />

OBJECTIFS<br />

Ce stage vous apprendra à maîtriser le Framework Ruby On Rails 3 pour développer vos applications<br />

Web. Vous verrez comment tirer parti de la simplicité et de la rapidité d'utilisation de Rails 3 pour créer des<br />

applications riches et évolutives en utilisant le modèle MVC, et pour les connecter à des Services Web.<br />

1) Introduction<br />

2) Préparer son environnement de travail<br />

3) Programmer en Ruby<br />

1) Introduction<br />

- Rappel Internet, HTML et CSS, XML, JSON, YAML.<br />

- Design Pattern MVC : modèles, vues et contrôleurs.<br />

- Les hébergeurs Rails.<br />

2) Préparer son environnement de travail<br />

4) Découverte de Rails<br />

5) Notions avancées de Rails<br />

6) Tests et versioning<br />

- Installer l'environnement de travail (serveur HTTP, BDD et interpréteur Ruby avec RailsInstaller).<br />

- Préparer le dossier de travail.<br />

- Les outils en ligne de commande.<br />

- Installer les outils de développement.<br />

Travaux pratiques<br />

Installation de l'environnement.<br />

3) Programmer en Ruby<br />

- Rappel objet (modules, classes, instances, UML...).<br />

- Les conventions de nommage de Rails.<br />

- La syntaxe Ruby (module, classe, portée, méthodes...).<br />

- Les aides Ruby (RI, Rubycore, inspect).<br />

Travaux pratiques<br />

Réalisation d'un premier programme en Ruby.<br />

4) Découverte de Rails<br />

- Architecture Rails (ActiveRecord, ActiveModel, ORM, ActionVue, ActionController, routage des requêtes...).<br />

- Préparer une maquette HTML/CSS dans le respect des normes (XHTML/WCAG 2).<br />

- Créer un contrôleur de pages statiques.<br />

- Établir des modèles de pages (application / contrôleur).<br />

- Mise en place de scripts de vues ERB, RHTML, HAML, Liquid, SASS, SCSS, RJS, CoffeeScript, RXML.<br />

- Utiliser des assistants de pagination.<br />

- Placer des ressources partagées.<br />

- Paramétrage de la BDD (database.yml), création et "migration" d'une base de données MySQL.<br />

Travaux pratiques<br />

Réaliser une application avec Rails. Établir des modèles de page. Accès à la base MySQL.<br />

5) Notions avancées de Rails<br />

- Le CRUD, RESTFul Web Services, ActiveRecord et le routage orienté ressources, routage avancé des<br />

requêtes.<br />

- Les migrations d'ActiveRecord. Les transactions.<br />

- Les formulaires Rails (form_for, button_to, validation des données...). Les filtres.<br />

- Internationaliser avec le "i18n". Intégrer l'UNICODE côté client et côté serveur.<br />

- Gérer les sessions, les Cookies et le cache.<br />

- Protéger et sécuriser ses pages côté client et serveur.<br />

- Déboguer avec les journaux, la console iRb, les points d'arrêt.<br />

- Dynamiser son site avec Ajax, JQuery et CoffeeScript.<br />

Travaux pratiques<br />

Ecriture de formulaires. Intégration de JQuery et CoffeeScript dans les développements.<br />

6) Tests et versioning<br />

- Le TDD (Test Driven Development). Rails Tests et RSpec. Gérer les versions avec GIT.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 50 / 86


Stage pratique de 3 jour(s)<br />

Réf : AMZ<br />

Participants<br />

Architectes, développeurs,<br />

administrateurs systèmes.<br />

Pré-requis<br />

Connaissances de base du<br />

Cloud Computing, du langage<br />

Java et d'un langage shell<br />

Unix/Linux.<br />

Prix 2014 : 1830€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

10 mar. 2014, 30 juin 2014<br />

29 sep. 2014, 8 déc. 2014<br />

Amazon Web Services, architecture et mise en œuvre<br />

OBJECTIFS<br />

Cette formation vous propose de plonger au coeur de l'offre Amazon Web Services. Vous découvrirez<br />

les possibilités de cette plateforme, ses services, ses API et interfaces. Vous verrez comment l'utiliser de<br />

manière industrielle, apprendrez à créer des services et à les utiliser au sein de vos applications.<br />

1) Introduction<br />

2) Les outils de base d'Amazon Web Services<br />

3) Les coûts d'utilisation d'Amazon Web<br />

Services<br />

4) Les outils en ligne de commande<br />

Méthodes pédagogiques<br />

5) Mise en oeuvre des composants AWS<br />

6) Industrialisation et pratiques DevOps<br />

7) Création d'images Cloud AMI<br />

Tout au long de la formation, un parallèle sera fait avec les offres et SDK des Cloud publics "Microsoft Azure"<br />

et "OVH Public Cloud" ainsi qu'avec VMWare vCloud.<br />

Exercice<br />

Des exercices vous permettront de mettre en pratique la majeure partie des concepts présentés, en utilisant<br />

les outils AWS et des outils tiers.<br />

1) Introduction<br />

- Définitions. Clouds publics, privés, privés externalisés.<br />

- Différences entre IaaS, PaaS et VDC (Virtual Data Center).<br />

- Rôle des API et SDK. Des API pour les offres PaaS ?<br />

- Notions de CloudApp et de CloudPlatform. Introduction de l'offre AWS d'Amazon.<br />

2) Les outils de base d'Amazon Web Services<br />

- Présentation du SDK et des API (SOAP, REST).<br />

- La console Amazon.<br />

- Les outils de base pour EC2, S3 et SQS.<br />

- Le modèle de sécurité AWS (SecurityGroups, ...).<br />

- IAM. Exemple de politiques de sécurité.<br />

Exercice<br />

Mise en oeuvre de AWS grâce à la console Web. Définition de profils et utilisateurs Amazon IAM.<br />

3) Les coûts d'utilisation d'Amazon Web Services<br />

- Modèle des comptes Amazon. Notion de Consolidated Account.<br />

- Modèle de coût. Quota d'utilisation gratuite.<br />

- Facteurs influents sur les coûts. Outils pour le suivi et l'analyse des coûts.<br />

Démonstration<br />

Analyse de coûts. Mise en place d'une solution de suivi des coûts.<br />

4) Les outils en ligne de commande<br />

- Les outils CLI dédiés aux composants EC2, ELB et RDS et de l'outil S3CMD.<br />

- Mise en oeuvre de ces outils sous Linux.<br />

Exercice<br />

Création de scripts permettant de mettre en place l'infrastructure virtuelle d'une application.<br />

5) Mise en oeuvre des composants AWS<br />

- Les possibilités des services EC2, S3, SQS, RDS et de leur modèle de programmation.<br />

- Comment les applications Java peuvent-elles utiliser ces ressources ?<br />

- Composants Amazon AWS avancés.<br />

- Les services Virtual Private Cloud, Beanstalk et de leur modèle de programmation.<br />

Exercice<br />

Création de ressources virtuelles avec les services EC2, S3, SQS, RDS. Déploiement d'une application Java.<br />

6) Industrialisation et pratiques DevOps<br />

- Besoin de traçabilité, de répétabilité. Infrastructure as Code (IaC).<br />

- Bonnes pratiques et outils disponibles.<br />

- Définition et utilité des architectures Cloud avec des instances basées sur les rôles.<br />

- Mécanisme Cloud-Init et notion de UserData.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 51 / 86


Exercice<br />

Création de scripts et exécution "tracée et contrôlée".<br />

7) Création d'images Cloud AMI<br />

- Les images virtuelles. Créer des AMI avec Amazon.<br />

- Intégration avec la Software Factory. Usine à création d'images en mode SaaS - CloudImageFactory.<br />

Exercice<br />

Création d'images AMI AWS.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 52 / 86


Stage pratique de 3 jour(s)<br />

Réf : SCA<br />

Participants<br />

Développeurs, architectes.<br />

Pré-requis<br />

Bonnes connaissances en<br />

Programmation Orientée<br />

Objet (Java, C#, <strong>C++</strong>).<br />

Prix 2014 : 1750€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

10 mar. 2014, 10 juin 2014<br />

28 juil. 2014, 20 oct. 2014<br />

8 déc. 2014<br />

Scala, programmation<br />

OBJECTIFS<br />

Ce cours montre les bases de la programmation en Scala. Après avoir étudié le support de Scala par la<br />

JVM vous rentrerez dans le détail des concepts liés à la programmation objet et fonctionnelle. Enfin, vous<br />

étudierez les librairies spécifiques à Scala ainsi que sa coexistence avec les librairies de l'écosystème Java.<br />

1) Présentation de Scala<br />

2) Mise en place<br />

3) Les principes de base du langage<br />

4) La programmation fonctionnelle<br />

1) Présentation de Scala<br />

- Historique du langage.<br />

- Les paradigmes objet et fonctionnel.<br />

- Les langages pour la JVM.<br />

- Quelle différence avec les langages Java, C# et <strong>C++</strong> ?<br />

- Les avantages.<br />

- Les types d'applications utilisant Scala (Twitter...).<br />

2) Mise en place<br />

5) Mise en oeuvre des notions-concepts<br />

avancées<br />

6) Utilisation des APIs et librairies<br />

7) Conclusion<br />

- Le Shell Scala.<br />

- Couplage avec les environnements de développement.<br />

- Le compilateur et l'interpréteur Scala.<br />

- Utilisation de Maven.<br />

- Le déploiement sur un serveur.<br />

Travaux pratiques<br />

Mise en place de l'environnement.<br />

3) Les principes de base du langage<br />

- La syntaxe, la notation infixe. Le typage statique, les types de base.<br />

- Les structures de contrôle. Les packages et les imports.<br />

- Les classes (Class et Object), les interfaces. Les conversions implicites, les mécanismes d'inférence.<br />

- La hiérarchie d'héritage. Les exceptions.<br />

Exercice<br />

Ecriture et test d'un programme mettant en oeuvre les bases du langage.<br />

4) La programmation fonctionnelle<br />

- Le paradigme de programmation fonctionnelle.<br />

- Des données non-mutables : variables, structures de données, objets... Les listes.<br />

- Tuples et tables associatives (set). Les fonctions (passage en argument, affectation dans des variables...).<br />

- Les méthodes d'ordre supérieur, les fonctions pures.<br />

Travaux pratiques<br />

Ecriture et test d'un programme mettant en oeuvre la programmation fonctionnelle.<br />

5) Mise en oeuvre des notions-concepts avancées<br />

- Les types génériques. Les annotations.<br />

- Les traits, les mixins.<br />

- Le Pattern Matching (structure de contrôle case, les exceptions, la gestion des événements).<br />

- La récursivité. Les extracteurs.<br />

Exercice<br />

Ecriture et test d'un programme mettant en oeuvre les notions avancées du langage.<br />

6) Utilisation des APIs et librairies<br />

- Les collections, les conversions possibles avec les collections Java.<br />

- Manipulation du XML.<br />

- Utilisation de librairies de l'écosystème java.<br />

Exercice<br />

Cohabitation d'objets Java et Scala au sein d'un même programme. Démonstration d'un déploiement d'une<br />

application Java EE contenant des EJB Scala et Java.<br />

7) Conclusion<br />

- Comparaison des performances. Scala vs Java 8 : enjeux et perspectives.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 53 / 86


Stage pratique de 3 jour(s)<br />

Réf : BOL<br />

Participants<br />

Cette formation s'adresse<br />

aux informaticiens qui<br />

souhaitent acquérir une<br />

formation opérationnelle pour<br />

développer ou maintenir des<br />

applications en Cobol.<br />

Pré-requis<br />

Connaissances de base en<br />

programmation. Expérience<br />

souhaitable d'un langage de<br />

développement.<br />

Prix 2014 : 1750€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

10 mar. 2014, 30 juin 2014<br />

28 juil. 2014, 6 oct. 2014<br />

15 déc. 2014<br />

Programmation Cobol<br />

OBJECTIFS<br />

Cette formation a pour objectif de communiquer aux stagiaires une réelle compétence dans la programmation<br />

Cobol. L'ensemble des concepts fondamentaux est développé. A l'issue de ce stage les participants savent<br />

lire, écrire, mettre au point, des applications Cobol.<br />

1) Premiers pas en Cobol<br />

2) Les données<br />

3) Instructions et expressions<br />

4) Les tableaux<br />

Travaux pratiques<br />

5) Les fonctions<br />

6) Programmes et sous-programmes<br />

7) Les fichiers<br />

8) Les impressions<br />

De nombreux travaux pratiques illustrent systématiquement les concepts présentés. Ces travaux<br />

représentent 60 % du cours.<br />

1) Premiers pas en Cobol<br />

- Le langage Cobol : ses origines et ses évolutions. Ses principes généraux.<br />

- Les nouvelles versions de Cobol, Cobol et l'approche objet.<br />

- Les différentes parties d'un programme (division).<br />

- Les différentes zones (numéros d'ordre, indicateur, A, B).<br />

- Les principaux symboles du langage (mots et littéraux).<br />

- Les compilateurs : leurs utilités.<br />

- Les outils de debug.<br />

2) Les données<br />

- Les différents Formats, les chaînes de caractères (ou Pictures), les niveaux.<br />

- Les constantes figuratives. La redéfinition d'une donnée.<br />

- Manipulation des données. Inspect, les paramètres utilisés dans les commandes. String et Unstring.<br />

3) Instructions et expressions<br />

- La description des traitements. La procédure division. Structure de base d'une instruction.<br />

- Accept, Display, Move, les différentes zones (alphabétiques, alphanumériques, numériques).<br />

- Les paramètres utilisés dans les commandes.<br />

- Instructions arithmétiques : Compute, expressions arithmétiques, règles d'évaluation, Add, Subtract,<br />

Multiply, Divide.<br />

- Expressions conditionnelles et de branchement : Evaluate et Continue. Goto, Perform, Exit Alter. Les mots<br />

réservés.<br />

- Pour une bonne utilisation de ces instructions.<br />

4) Les tableaux<br />

- Présentation, Set, Search.<br />

- Une utilisation différente des tableaux.<br />

- Implémentation.<br />

5) Les fonctions<br />

- Différents modes d'appel : exemple de fonction.<br />

- Fonctions financières, statistiques, de date, mathématiques.<br />

- Autres fonctions intéressantes.<br />

6) Programmes et sous-programmes<br />

- Les conditions d'utilisation des sous-programmes.<br />

- Call, Exit Program, Cancel, Stop, End Program.<br />

7) Les fichiers<br />

- La description des fichiers. La data division, organisation et structure, la Linkage Section.<br />

- Les commandes de gestion des fichiers : Open, Close, Read, Start, Write, Rewrite, Delete.<br />

8) Les impressions<br />

- Présentation. Les différents types d'édition. Les différents formats de la commande d'édition : Write.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 54 / 86


Stage pratique de 4 jour(s)<br />

Réf : COR<br />

Participants<br />

Concepteurs et développeurs<br />

amenés à mettre en œuvre<br />

des applications distribuées<br />

basées sur Corba.<br />

Pré-requis<br />

Bonnes connaissances des<br />

techniques de conception<br />

objet. Très bonnes<br />

connaissances d'un langage<br />

objet (Java et/ou <strong>C++</strong>).<br />

Prix 2014 : 2270€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

4 mar. 2014, 10 juin 2014<br />

1 juil. 2014, 21 oct. 2014<br />

9 déc. 2014<br />

Corba, architecture, mise en œuvre<br />

OBJECTIFS<br />

Ce stage vous présentera la norme Corba 2.0 et les technologies associées. Il vous apportera tous les<br />

éléments pour développer avec rigueur et efficacité des applications distribuées avec Corba dans un<br />

environnement comprenant des langages et des systèmes d'exploitation différents.<br />

1) Introduction<br />

2) Caractéristiques des AD, position de Corba<br />

3) L'architecture Corba<br />

4) Le design et Corba<br />

5) Implémenter Corba<br />

1) Introduction<br />

- Pourquoi des AD ? Fonctionnement en multi-tiers.<br />

- Exemples de projets. Historique des AD et de Corba.<br />

- Les apports de Corba 3, CCM.<br />

2) Caractéristiques des AD, position de Corba<br />

6) Client et serveur Corba<br />

7) La gestion des exceptions Corba<br />

8) Le service de nom<br />

9) Le service de gestion des événements<br />

10) CCM<br />

- Vue d'ensemble. Approche client/serveur.<br />

- Les services standard d'une AD : annuaire, gestion de la sécurité, transactions, bases de données.<br />

- Fonctionnement des serveurs d'applications.<br />

- Cycle de fonctionnement d'une AD. Gestion des instances d'objets, des threads et des clients.<br />

- Montée en charge : Load Balancing. Round Robin...<br />

- Comparatif de Corba/autres AD. WS, EJB, DCOM, .Net ...<br />

3) L'architecture Corba<br />

- Corba : un bus <strong>logiciel</strong>, une publication d'instances. un OA côté serveur, un protocole intéropérable GIP.<br />

- L'IR. Le référentiel des implémentations.<br />

- Le protocole GIOP. Les services Corba.<br />

- Service de noms (annuaire) et autres services.<br />

- Gestion des événements.<br />

- Architecture complète Corba.<br />

4) Le design et Corba<br />

- Retour d'expériences. Approche modèle MVC.<br />

- Utilisation de patterns de conception.<br />

5) Implémenter Corba<br />

- Processus de développement Corba.<br />

- Gestion de l'IDL, génération des codes.<br />

- Création des " Stub " et " Skeleton ".<br />

- Approche DII/DSI, invocation dynamique.<br />

- Le langage IDL : possibilités et points-clés.<br />

6) Client et serveur Corba<br />

- Process de développement.<br />

- API standard. Code Java et <strong>C++</strong><br />

- Héritage d'interface IDL, approche TIE.<br />

Travaux pratiques<br />

Création d'un serveur Java.<br />

7) La gestion des exceptions Corba<br />

- Exceptions systèmes Corba, utilisateurs Corba.<br />

- Fonctionnement sur le bus.<br />

Travaux pratiques<br />

Gestion d'exceptions Corba en Java.<br />

8) Le service de nom<br />

- Fonctionnement. Contraintes/Possibilités. API de programmation. Exemples de codes.<br />

9) Le service de gestion des événements<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 55 / 86


- Fonctionnement. Gestion par " callback ". Proxy, admi-nistration. API de programmation. Exemples de<br />

codes.<br />

10) CCM<br />

- Un modèle composants pour Corba.<br />

- CIDL. Composants et interconnexions.<br />

- Packaging. Déploiement. Administration.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 56 / 86


Stage pratique de 2 jour(s)<br />

Réf : GIT<br />

Participants<br />

Développeurs, architectes,<br />

chefs de projet.<br />

Pré-requis<br />

Aucun.<br />

Prix 2014 : 1490€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

27 mar. 2014, 26 juin 2014<br />

9 oct. 2014, 11 déc. 2014<br />

Aix<br />

3 mar. 2014<br />

Mettre en œuvre le contrôle de versions avec le système<br />

GIT<br />

OBJECTIFS<br />

Vous apprendrez dans ce stage à installer, configurer et utiliser GIT au quotidien pour gérer votre code<br />

source. Vous mettrez en place différents dépôts, apprendrez à gérer les branches de vos projets et résoudrez<br />

les conflits survenant lors d'opérations de fusion. Vous manipulerez également les outils annexes à GIT.<br />

1) Présentation de GIT<br />

2) Installation et configuration<br />

3) Utilisation de GIT, les fondamentaux<br />

4) Gestion locale des fichiers<br />

1) Présentation de GIT<br />

5) Gestion des branches<br />

6) Partage du travail et collaboration<br />

7) Mise en oeuvre des Outils GIT<br />

- Intérêt de la gestion de code.<br />

- Concepts de base du contrôle de version.<br />

- Les différentes typologies : gestion centralisée ou distribuée.<br />

- Les différentes solutions de gestion de versions : (GIT, CVS, SVN, Mercurial, Bazaar, ...).<br />

- Apports la décentralisation.<br />

- Principe de fonctionnement de GIT.<br />

2) Installation et configuration<br />

- Installation sous différents systèmes : UNIX/Windows.<br />

- Le système d'émulation sous Windows msysgit.<br />

- Configuration du fichier .gitconfig (nom, adresse mail, ...).<br />

- La console.<br />

- Déclaration d'un outil d'analyse de différentiel de versions.<br />

Travaux pratiques<br />

Installation et configuration de GIT sous Windows.<br />

3) Utilisation de GIT, les fondamentaux<br />

- Le modèle objet GIT : blob, tree, commit et tag.<br />

- Le répertoire GIT et le répertoire de travail.<br />

- L'index ou staging area.<br />

- Création et initialisation un dépôt.<br />

- Clonage d'un dépôt existant.<br />

- Les concepts de branche, tag et de dépôt.<br />

- Outil de visualisation Gitk.<br />

Travaux pratiques<br />

Création et initialisation d'un dépôt. Utilisation de l'outil de visualisation Gitk.<br />

4) Gestion locale des fichiers<br />

- Consultation de l'état de l'arbre de travail.<br />

- Ajout, ignorance, modification, suppression et recherche de fichiers.<br />

- Enregistrement des modifications (commit).<br />

- Annulation des modifications.<br />

- Visualisation des modifications.<br />

- Parcours de l'historique des révisions.<br />

- Les logs (statistique, formatage, ...).<br />

Travaux pratiques<br />

Manipulation des principales commandes GIT de gestion de modifications de fichiers.<br />

5) Gestion des branches<br />

- La branche « master ».<br />

- Création de branches et de sous-branches.<br />

- Changement de branche.<br />

- Fusion d'une branche (merge/rebase), gestion des conflits.<br />

- Comparaison de deux branches.<br />

Travaux pratiques<br />

Manipulation des principales commandes GIT de gestion des branches (création, fusion, comparaison)<br />

6) Partage du travail et collaboration<br />

- Mise en place d'un dépôt distant public ou privé.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 57 / 86


- Publier ses modifications (opération de push).<br />

- Récupération des modifications de l'équipe (opération de pull).<br />

- Les branches de suivi.<br />

- Gestion des échecs.<br />

Travaux pratiques<br />

Mise en place d'un dépôt distant et simulation d'un travail collaboratif.<br />

7) Mise en oeuvre des Outils GIT<br />

- Git-gui et TortoiseGIT, la navigation graphique dans GIT.<br />

- GITWeb, la navigation graphique au sein des dépôts.<br />

- GITHub, le service d'hébergement de dépôts.<br />

- Gerrit, le système de revue de code.<br />

Travaux pratiques<br />

Manipulation de quelques outils.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 58 / 86


Stage pratique de 3 jour(s)<br />

Réf : PSQ<br />

Participants<br />

Concepteur de requêtes<br />

SQL, en charge d'analyse/<br />

reporting, gestionnaire de<br />

bases de données, futur<br />

développeur d'applications de<br />

gestion de base de données,<br />

administrateur ou chargé de<br />

maintenance.<br />

Pré-requis<br />

Connaissances de base en<br />

programmation.<br />

Prix 2014 : 1750€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

24 fév. 2014, 31 mar. 2014<br />

28 avr. 2014, 26 mai 2014<br />

30 juin 2014, 15 juil. 2014<br />

15 sep. 2014, 13 oct. 2014<br />

12 nov. 2014, 15 déc. 2014<br />

SQL Server, Programmation SQL<br />

OBJECTIFS<br />

Cette formation vous permettra d'appréhender les fondements du langage SQL. Vous verrez la structure<br />

du langage, les principes généraux des bases de données relationnelles (algèbre relationnelle, théorie des<br />

ensembles), et vous aurez aussi une introduction pratique au développement SQL pour SGBDR.<br />

1) Algèbre relationnelle et norme SQL<br />

2) Extractions de données<br />

3) Regroupements<br />

Travaux pratiques<br />

4) Extractions avancées<br />

5) Mise à jour des données<br />

6) SQL procédural<br />

Les exemples et les travaux pratiques sont réalisés sur MS SQL Server, l'un des SGBDR les plus proches de<br />

la norme SQL.<br />

1) Algèbre relationnelle et norme SQL<br />

- Les principes et notions essentielles du modèle relationnel.<br />

- Comprendre l'algèbre relationnelle.<br />

- Les douze règles de Codd.<br />

- La norme SQL : historique de la normalisation du langage, différentes parties de SQL (DDL, DML, etc.).<br />

- SQL et les SGBDR.<br />

Démonstration<br />

Scripts de création de base de données. Les objets d'une base de données. Découverte de la base étudiée.<br />

2) Extractions de données<br />

- Introduction : la notion de table.<br />

- L'ordre SELECT et la clause TOP.<br />

- Expression des valeurs, prédicats et logique ternaire (NULL), opérateurs, expressions et fonctions SQL.<br />

- Extractions simples monotabulaires.<br />

- Utiliser des jointures internes, externes, simples et avancées.<br />

Travaux pratiques<br />

Extraction à l'aide de la clause WHERE. Utilisation d'opérateurs IN, LIKE, CASE ... des opérateurs<br />

numériques, dates, des fonctions de chaine. Utilisation des jointures. Tri des données.<br />

3) Regroupements<br />

- Fonctions d'agrégation (AVG, SUM, COUNT..)<br />

- Création de sous-ensembles (clause GROUP BY).<br />

- Filtrage des agrégats avec la clause HAVING.<br />

- Fonctions analytiques et de rangement (OVER, RANK, DENSE_RANK..).<br />

Travaux pratiques<br />

Restituer et classer des données groupées à l'aide des fonctions présentées.<br />

4) Extractions avancées<br />

- Opérations ensemblistes.<br />

- Sous-requêtes et comparateurs.<br />

- Corrélation des sous-requêtes. Quantificateurs EXISTS, UNIQUE et DISTINCT.<br />

- Expressions de tables.<br />

- Requêtes récursives à l'aide de la CTE.<br />

- Expressions diverses pour la division relationnelle.<br />

Travaux pratiques<br />

Ecriture de sous-requêtes. Création d'une sous-requête correlée. Utilisation d'expression de table commune.<br />

5) Mise à jour des données<br />

- Les ordres INSERT, UPDATE, DELETE, TRUNCATE.<br />

- Insertion multiligne, modification de colonnes, suppression de lignes à l'aide d'une sous-requête.<br />

- Combinaison d'INSERT ou d'UPDATE.<br />

- Combinaison de CREATE TABLE et d'INSERT.<br />

- Mise à jour des données à travers les vues.<br />

Travaux pratiques<br />

Opérations d'insertion et mises à jour de tables de la base de données.<br />

6) SQL procédural<br />

- Les dialectes SQL des principaux éditeurs.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 59 / 86


- Les UDF ou fonction utilisateur.<br />

- La gestion d’une transaction et le mécanisme de verrouillage.<br />

- Introduction aux procédures stockées.<br />

- Notions basiques sur les déclencheurs.<br />

Travaux pratiques<br />

Création d'une transaction simple, d'une procédure stockée.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 60 / 86


Stage pratique de 2 jour(s)<br />

Réf : PAV<br />

Participants<br />

Développeurs,<br />

administrateurs, utilisateurs<br />

avancés, ayant à mettre<br />

en oeuvre des requêtes<br />

complexes avec SQL Server.<br />

Pré-requis<br />

Bonnes connaissances des<br />

bases du langage SQL ou<br />

connaissances équivalentes à<br />

celles apportées par le stage<br />

" SQL Server, programmation<br />

SQL " (PSQ).<br />

Prix 2014 : 1350€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

20 mar. 2014, 26 juin 2014<br />

24 juil. 2014, 9 oct. 2014<br />

11 déc. 2014<br />

SQL Server, programmation SQL avancée<br />

OBJECTIFS<br />

Grâce à ce cours, vous découvrirez les expressions et opérateurs SQL avancés, et verrez comment les<br />

utiliser avec efficacité pour résoudre des problématiques d'extraction de données complexes. Vous saurez<br />

traiter des besoins de regroupement, d'analyse, d'échantillonnage et de restitution de données hiérarchisées.<br />

1) Rappel sur les requêtes multitables<br />

2) Opérateurs particuliers<br />

Méthodes pédagogiques<br />

3) Les expressions de tables<br />

4) L'écriture des données<br />

Les stagiaires pourront récupérer les nombreux exemples et TP ainsi que la base servant de fil rouge. Des<br />

références web et bibliographiques sont proposées pour en savoir plus sur chacun des sujets.<br />

Travaux pratiques<br />

Ce stage fait alterner la présentation des concepts et de la syntaxe, et de multiples exercices d'application.<br />

1) Rappel sur les requêtes multitables<br />

- Opérateurs ensemblistes UNION, INTERSECT et EXCEPT.<br />

- Rappel sur les jointures internes et externes.<br />

- Maîtriser les sous-requêtes dans les différentes parties des instructions SQL.<br />

- Corrélations des requêtes imbriquées.<br />

- Opérations d'intra-jointure avec APPLY (CROSS, OUTER) pour les fonctions et les fragments XML.<br />

Travaux pratiques<br />

Résolutions de cas de requêtes mettant en action plusieurs tables.<br />

2) Opérateurs particuliers<br />

- Utilité du produit cartésien (CROSS JOIN).<br />

- La division relationnelle.<br />

- Groupage décisionnel avec CUBE, ROLLUP et GROUPING SET.<br />

- Fonctions analytiques et de fenêtrage : ordonnancement et agrégat avec les clauses OVER et WINDOW.<br />

- Tableaux croisés avec PIVOT et UNPIVOT.<br />

- Échantillon de données avec TABLESAMPLE.<br />

Travaux pratiques<br />

Résolution de cas de division relationnelle. Utilisation des fonctions de groupages décisionnels. Mise en<br />

oeuvre des fonctions analytiques<br />

3) Les expressions de tables<br />

- L'expression de table commune, Common Table Expression (CTE), ou vue non persistante.<br />

- L'utilisation du mot-clé WITH pour spécifier une CTE.<br />

- Les différentes techniques de requêtage dans les arborescences (adjacence, chemin, intervallaire,<br />

récursion).<br />

- Résolution de problèmes de graphes avec les requêtes récursives.<br />

- Utilisation de tables de nombres et de dates (tally tables) pour résoudre des requêtes complexes.<br />

Travaux pratiques<br />

Exprimer des requêtes sous la forme de la CTE récursive.<br />

4) L'écriture des données<br />

- Mise à jour et suppression des données avec sous-requêtes.<br />

- Utilisation de la syntaxe étendue de mise à jour et suppression avec jointures.<br />

- Opérations d'insertion, de mise à jour ou de suppression à partir de résultats d'une jointure, l'opérateur<br />

MERGE.<br />

- Récupération des données ajoutées, modifiées ou supprimées, avec la clause OUTPUT.<br />

Travaux pratiques<br />

Ecriture de commandes de mises à jour complexes avec l'instruction MERGE et les sous requêtes.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 61 / 86


Stage pratique de 4 jour(s)<br />

Réf : SED<br />

Participants<br />

Développeurs, chef de<br />

projets.<br />

Pré-requis<br />

SQL Server 2012/2008, développement<br />

OBJECTIFS<br />

Ce stage vous procurera toutes les connaissances nécessaires pour développer des applications sous SQL<br />

Server. Il vous apprendra notamment à manipuler les objets d'une base de données, à optimiser les temps<br />

de restitution des données, et à réaliser les opérations de maintenance courantes du développeur.<br />

Connaissances de base en<br />

programmation. Notions sur<br />

les bases de données et le<br />

langage SQL.<br />

1) La construction des bases de données<br />

2) Requêtes d'extraction de données<br />

3) Mise à jour des données<br />

4) Coder en Transact SQL<br />

5) Optimisation de l'exécution des requêtes<br />

6) Maintenance courante pour le développeur<br />

Prix 2014 : 2270€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

4 fév. 2014, 13 mai 2014<br />

29 juil. 2014, 30 sep. 2014<br />

2 déc. 2014<br />

1) La construction des bases de données<br />

- Le stockage physique avec les fichiers et les groupes de fichiers.<br />

- Les schémas SQL ou le stockage logique.<br />

- Bon usage des différents types de données.<br />

- Créer des tables. Mise en place des contraintes.<br />

- Obtenir un rétro script DDL.<br />

Travaux pratiques<br />

Créer les tables d'une base de données et définir les contraintes associées.<br />

2) Requêtes d'extraction de données<br />

- Les opérateurs ensemblistes.<br />

- Les jointures internes et externes. Typologies.<br />

- Les sous-requêtes.<br />

- Utiliser les " Common Table Expression " (CTA) et les requêtes récursives.<br />

- Fonctions fenêtrées et clause OVER (ordonnancement, agrégat et fenêtrage RANGE/ROWS).<br />

- Les opérateurs particuliers (APPLY, PIVOT...).<br />

- La création des vues.<br />

Travaux pratiques<br />

Manipuler des requêtes d'extraction avec différents types de jointures. Présenter les données avec les<br />

fonctions d'agrégat. Créer des vues.<br />

3) Mise à jour des données<br />

- Les mises à jour simples (INSERT, UPDATE et DELETE).<br />

- L'ordre SQL MERGE.<br />

- Mise à jour avec des sous requêtes.<br />

- BULK INSERT et BCP pour le chargement de fichier et l'export de données.<br />

Travaux pratiques<br />

Réaliser des opérations de mise à jour de la base. Importer et exporter des données.<br />

4) Coder en Transact SQL<br />

- Eléments du langage Transact SQL. Notion de Batch.<br />

- Créer des fonctions scalaires et des fonctions tables.<br />

- Présentation des transactions.<br />

- Programmation des déclencheurs.<br />

- Développer des procédures stockées.<br />

Travaux pratiques<br />

Créer des fonctions et des vues paramétrables. Créer des procédures stockées gérant des transactions.<br />

Automatiser des traitements à l'aide de déclencheurs.<br />

5) Optimisation de l'exécution des requêtes<br />

- Visualisation des plans de requêtes.<br />

- Métrique (IO TIME) et comparaison d'exécution.<br />

- Présentation des index. Que faut-il indexer ?<br />

Travaux pratiques<br />

Comparer les temps d'exécution pour des scénarios d'indexation. Utiliser des plans de requêtes.<br />

6) Maintenance courante pour le développeur<br />

- Sauvegarde des données. Scénarios de restauration.<br />

- Maintenir les index et les statistiques.<br />

- Vérifier l'intégrité physique d'une base et la réparer.<br />

Travaux pratiques<br />

Effectuer des sauvegardes et des restaurations. Élaborer un plan de maintenance des index.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 62 / 86


Stage pratique de 5 jour(s)<br />

Réf : QSM<br />

Participants<br />

Cette formation est destinée<br />

à des ingénieurs systèmes et<br />

des développeurs qui doivent<br />

utiliser ou mettre en oeuvre<br />

SQL Server 2012.<br />

Pré-requis<br />

Bonnes connaissances<br />

du langage SQL ou<br />

connaissances équivalentes à<br />

celles apportées par le stage<br />

" SQL Server, programmation<br />

SQL " (réf. PSQ).<br />

Prix 2014 : 2770€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

10 fév. 2014, 14 avr. 2014<br />

30 juin 2014, 15 sep. 2014<br />

24 nov. 2014<br />

SQL Server 2012, mise en œuvre<br />

OBJECTIFS<br />

Ce stage vous apportera toutes les connaissances nécessaires à la pleine utilisation de SQL Server 2012.<br />

Vous apprendrez à écrire des ordres SQL et utiliser les extensions du langage, à modifier les structures et<br />

mettre en place les contraintes d'intégrité, à charger les données et exploiter au mieux les transactions.<br />

1) Présentation de SQL Server 2012<br />

2) Bases de données et schémas SQL<br />

3) Tables, vues et contraintes<br />

4) Chargement de données et exports<br />

1) Présentation de SQL Server 2012<br />

- Architecture de SQL Server 2012.<br />

- Outils de développement et d'administration.<br />

Travaux pratiques<br />

Prise en main du gestionnaire de configuration et de Management Studio.<br />

2) Bases de données et schémas SQL<br />

- Les identifiants : nommage des objets SQL Server.<br />

- Création de la base de données. Schémas SQL.<br />

- Cycle de vie des objets d'une base.<br />

3) Tables, vues et contraintes<br />

5) Indexation et plans de requêtes<br />

6) SQL avancé avec Transact SQL, code<br />

procédural<br />

7) Transactions et gestion des exceptions<br />

8) Introduction aux techniques avancées<br />

- Langage DDL : création d'objets, contraintes.<br />

- Types de données natifs et types utilisateurs.<br />

- Création des tables et des vues.<br />

- Les contraintes de domaine et de colonne.<br />

- Clé primaire et clés alternatives. Gestion de l'intégrité référentielle.<br />

Travaux pratiques<br />

Création de types utilisateurs. Création de tables et de vues. Ajout de contraintes. Mise en place de clés<br />

primaires et de contraintes d'unicité.<br />

4) Chargement de données et exports<br />

- La commande BULK INSERT.<br />

- Import/export en ligne de commande avec BCP.<br />

- Fonctions OPEN pour interroger les données externes.<br />

- Présentation d'Integration Services.<br />

Travaux pratiques<br />

Chargement des données à l'aide de BULK INSERT et BCP. Utilisation d'OPENROWSET.<br />

5) Indexation et plans de requêtes<br />

- Structure des index : arbre équilibré, index clustered...<br />

- Création d'index : approche de création...<br />

- Analyse des performances.<br />

- Utilisation du Database Tuning Advisor.<br />

Travaux pratiques<br />

Mise en place d'index sur la base de données et constat sur les performances.<br />

6) SQL avancé avec Transact SQL, code procédural<br />

- Groupages OLAP et clauses OUTPUT, SELECT INTO...<br />

- Ordre SQL MERGE. Chiffrement des données.<br />

- Fonctions, procédures stockées, curseurs, déclencheurs.<br />

Travaux pratiques<br />

Création de requêtes avancées de Transact-SQL. Réalisation d'une fonction table multi-instructions.<br />

Procédure stockée pour l'insertion combinée.<br />

7) Transactions et gestion des exceptions<br />

- Les transactions. Niveaux d'isolation. Gestion des exceptions. Transactions imbriquées.<br />

Travaux pratiques<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 63 / 86


Intégration de la gestion des exceptions et des transactions dans les déclencheurs et les procédures<br />

stockées.<br />

8) Introduction aux techniques avancées<br />

- Présentation du Système d'Information Géographique-SIG. Utilisation de XML au sein de SQL Server 2012.<br />

Travaux pratiques<br />

Utilisation du SIG. Interrogation XML.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 64 / 86


Stage pratique de 2 jour(s)<br />

Réf : TAS<br />

Participants<br />

Chefs de projet, concepteurs<br />

et développeurs Transact-<br />

SQL.<br />

Pré-requis<br />

Bonnes connaissances des<br />

bases du langage SQL ou<br />

connaissances équivalentes à<br />

celles apportées par le stage<br />

" SQL Server, programmation<br />

SQL " (PSQ).<br />

Prix 2014 : 1350€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

20 mar. 2014, 26 juin 2014<br />

21 aoû. 2014, 2 oct. 2014<br />

11 déc. 2014<br />

Transact-SQL, optimisation pour SQL Server 2012/2008<br />

OBJECTIFS<br />

Cette formation présente les règles de bonne écriture et d'optimisation du Transact-SQL, pour améliorer les<br />

performances des requêtes et éviter les écueils fréquemment rencontrés lors de la programmation en T-SQL.<br />

1) Le modèle relationnel et le langage SQL<br />

2) Réussir l'indexation<br />

3) Écrire des requêtes performantes<br />

Travaux pratiques<br />

4) Remplacer tables temporaires et curseurs<br />

5) Bonnes pratiques pour les modules de code<br />

Formation interactive, alternant étroitement théorie et pratique. L'apprentissage se fait par l'expérimentation.<br />

1) Le modèle relationnel et le langage SQL<br />

- Les spécificités des bases de données relationnelles et du langage SQL.<br />

- La normalisation du modèle de données.<br />

- Les notions d'écriture ensembliste et déclarative. Les spécificités du dialecte Transact-SQL.<br />

- Le fonctionnement de l'optimiseur SQL.<br />

Travaux pratiques<br />

Expérimentation de requêtes sur des modèles plus ou moins normalisés.<br />

2) Réussir l'indexation<br />

- Les bases de l'indexation. La structure en B-Tree et les différents types d'index.<br />

- Comment choisir ses index en fonction des requêtes ?<br />

- La notion de couverture de requête par un index.<br />

- Le concept de SARG (Search Argument) pour favoriser l'utilisation de l'index.<br />

- Utilisation du profiler et du Database Tuning Advisor.<br />

Travaux pratiques<br />

Indexation de tables pour améliorer les performances de requêtes.<br />

3) Écrire des requêtes performantes<br />

- Les règles de bonne écriture des requêtes SQL.<br />

- Lire et utiliser les statistiques d'exécution et le plan d'exécution. Optimiser ses jointures et ses<br />

regroupements.<br />

- Optimiser le code de mise à jour des données.<br />

- Erreurs les plus communes : SQL dynamique, fonctions utilisateurs, comparaisons insensibles à la casse.<br />

Travaux pratiques<br />

Réécriture de requêtes peu performantes.<br />

4) Remplacer tables temporaires et curseurs<br />

- Maîtriser les sous-requêtes et les opérateurs relationnels.<br />

- Utiliser l'instruction MERGE pour les mises à jour de données complexes.<br />

- Créer des tables de nombres et de dates pour résoudre les problèmes de façon relationnelle.<br />

- Utiliser les fonctions de fenêtrage et les fonctions statistiques.<br />

- Utiliser le CROSS JOIN pour résoudre les problèmes complexes.<br />

- Écrire du code récursif en utilisant des expressions de table.<br />

Travaux pratiques<br />

Résolution de problématiques complexes par des requêtes ensemblistes.<br />

5) Bonnes pratiques pour les modules de code<br />

- Règles pour l'écriture de procédures stockées.<br />

- Maîtriser la compilation et recompilation.<br />

- Minimiser l'impact des déclencheurs. Comprendre les transactions et les problèmes de verrouillage.<br />

- Utiliser les niveaux d'isolation de la transaction.<br />

Travaux pratiques<br />

Ecriture d'une procédure stockée optimisée.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 65 / 86


Stage pratique de 5 jour(s)<br />

Réf : SEM<br />

Participants<br />

Cette formation est destinée<br />

à des ingénieurs système et<br />

des développeurs doivent<br />

utiliser ou mettre en œuvre<br />

SQL Server 2008.<br />

Pré-requis<br />

Bonnes connaissances<br />

du langage SQL ou<br />

connaissances équivalentes à<br />

celles apportées par le stage<br />

" Programmation SQL " (réf.<br />

PSQ).<br />

Prix 2014 : 2770€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

31 mar. 2014, 30 juin 2014<br />

25 aoû. 2014, 6 oct. 2014<br />

1 déc. 2014<br />

Aix<br />

24 mar. 2014, 23 juin 2014<br />

22 sep. 2014, 8 déc. 2014<br />

Bordeaux<br />

3 mar. 2014, 2 juin 2014<br />

29 sep. 2014, 15 déc. 2014<br />

Bruxelles<br />

3 mar. 2014, 2 juin 2014<br />

15 sep. 2014, 1 déc. 2014<br />

Geneve<br />

3 mar. 2014, 2 juin 2014<br />

15 sep. 2014, 1 déc. 2014<br />

Lille<br />

3 mar. 2014, 2 juin 2014<br />

29 sep. 2014, 15 déc. 2014<br />

Luxembourg<br />

3 mar. 2014, 2 juin 2014<br />

15 sep. 2014, 1 déc. 2014<br />

Lyon<br />

24 mar. 2014, 23 juin 2014<br />

22 sep. 2014, 8 déc. 2014<br />

Nantes<br />

31 mar. 2014, 30 juin 2014<br />

15 sep. 2014, 1 déc. 2014<br />

Rennes<br />

31 mar. 2014, 30 juin 2014<br />

15 sep. 2014, 1 déc. 2014<br />

Sophia-antipolis<br />

24 mar. 2014, 23 juin 2014<br />

22 sep. 2014, 8 déc. 2014<br />

Strasbourg<br />

3 mar. 2014, 2 juin 2014<br />

29 sep. 2014, 15 déc. 2014<br />

Toulouse<br />

3 mar. 2014, 2 juin 2014<br />

29 sep. 2014, 15 déc. 2014<br />

SQL Server 2008, mise en œuvre<br />

OBJECTIFS<br />

Cette formation vous apportera toutes les connaissances nécessaires à la pleine utilisation de SQL Server<br />

2008. Elle vous permettra de comprendre le rôle des divers composants de SQL Server 2008, d'utiliser les<br />

outils de requête, et d'écrire des ordres SQL de manipulation des données incluant les extensions au langage<br />

SQL propres à SQL Server. Elle vous montrera comment modifier la structure des tables, mettre en place les<br />

contraintes d'intégrité et comment exploiter au mieux le concept de transaction.<br />

1) Présentation de SQL Server 2008<br />

2) Bases de données et schémas SQL<br />

3) Tables et vues<br />

4) Les contraintes<br />

5) Chargement de données et exports<br />

1) Présentation de SQL Server 2008<br />

- Présentation de SQL Server 2008. Versions.<br />

- Architecture de SQL Server 2008.<br />

- Outils de développement et d'administration.<br />

- Les bases systèmes.<br />

6) SQL avancé avec Transact SQL<br />

7) Indexation et plans de requêtes<br />

8) Codage procédural<br />

9) Transactions et gestion des exceptions<br />

10) Introduction aux techniques avancées<br />

Travaux pratiques<br />

Prise en main des outils graphiques de SQL Server : gestionnaire de configuration et Management Studio.<br />

2) Bases de données et schémas SQL<br />

- Les identifiants : nommage des objets SQL Server.<br />

- Stockage physique : fichiers de données et journal de transactions.<br />

- Création de la base de données : gestion des espaces de stockage paramètres de création.<br />

- Schémas SQL : concept et utilisation.<br />

- Cycle de vies des objets d'une base.<br />

- Brèves notions sur la gestion des privilèges.<br />

- Vues et procédures de métadonnées.<br />

Travaux pratiques<br />

Création physique d'une base de données. Mise en place de différents schémas SQL. Modification des<br />

paramètres de la base de données<br />

3) Tables et vues<br />

Langage DDL : création d'objets, contraintes<br />

- Types de données SQL Server et types utilisateurs.<br />

- Création des tables : définition des colonnes.<br />

- Gestion des auto-incréments.<br />

- Création et utilisation des vues.<br />

- Conditions de mise à jour à travers les vues.<br />

Travaux pratiques<br />

Création de types utilisateurs. Création de tables et de vues. Manipulation des auto-incréments. Mise à jour à<br />

travers les vues.<br />

4) Les contraintes<br />

- Les contraintes de domaine (CHECK).<br />

- Contraintes de colonne NOT NULL et DEFAULT.<br />

- Clef primaire et clefs alternatives.<br />

- Gestion de l'intégrité référentielle.<br />

- Utilisation de déclencheurs Ttriggers) pour la réalisation des assertions.<br />

Travaux pratiques<br />

Ajout de contraintes de domaines aux types utilisateurs et aux colonnes. Mise en place de clefs primaires et<br />

de contraintes d'unicité. Mise en place de clefs étrangères. Réalisation de contraintes complexes CHECK à<br />

l'aide de fonctions et de déclencheurs.<br />

5) Chargement de données et exports<br />

- Chargement de fichier avec la commande BULK INSERT<br />

- Import/export en ligne de commande avec bcp.<br />

- Fonctions OPEN pour interroger les données externes.<br />

- Gestion des flux interserveurs.<br />

- Integration Services.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 66 / 86


Travaux pratiques<br />

Chargement des données à l'aide de BULK INSERT et bcp. Utilisation d'OPENROWSET pour faire des<br />

requêtes externes.<br />

6) SQL avancé avec Transact SQL<br />

- Manipulation de données booléennes.<br />

- Groupages OLAP (CUBE, ROLLUP, GROUPING SETS...)<br />

- Fonction de fenêtrage et clause OVER.<br />

- Tableaux croisés avec PIVOT et UNPIVOT.<br />

- Clauses TOP et SAMPLE.<br />

- Clause OUTPUT, SELECT INTO, TRUNCATE TABLE.<br />

- Ordre SQL MERGE.<br />

- Gestion d'objets larges à l'aide du type filestream.<br />

- Cryptage des données<br />

Travaux pratiques<br />

Exercices de requêtes mettant en œuvre les fonctions avancées de Transact-SQL.<br />

7) Indexation et plans de requêtes<br />

- Présentation : rôle des index, utilisation.<br />

- Structure des index : arbre équilibré, index ordonné et non ordonné, statistiques de distribution.<br />

- Création d'index : approche de création, choix des index.<br />

- Utilisation du Database Tuning Advisor.<br />

- Indexation de vues : indications et contraintes.<br />

- Index pour recherche en texte intégral.<br />

- Analyse des performances.<br />

Travaux pratiques<br />

Mise en place d'index sur la base de données et constat sur les performances.<br />

8) Codage procédural<br />

- Syntaxe procédurale du Transact SQL (variables, affectation, types de données et structures).<br />

- Création de fonctions scalaires (UDF).<br />

- Fonction tables (requête paramétrées).<br />

- Principe des procédures stockées.<br />

- Création et utilisation de tables temporaires et de variables table.<br />

- Manipulation de curseurs.<br />

- Déclencheurs : types de triggers.<br />

- Débogage du code Transact-SQL.<br />

Travaux pratiques<br />

Réalisation de fonctions scalaires et de déclencheurs pour gérer la qualité des données. Réalisation d'une<br />

fonction table multi instruction. Programmation d'une procédure stockée pour l'insertion combinée.<br />

9) Transactions et gestion des exceptions<br />

- Principe des transactions : mode implicite et explicite.<br />

- Définition des frontières des transactions.<br />

- Anomalies transactionnelles, gestion des niveaux d'isolation et mise en place des verrous.<br />

- Gestion des exceptions.<br />

- Problématique des transactions imbriquées.<br />

- Transactions distribuées et commit à deux phases.<br />

Travaux pratiques<br />

Intégration de la gestion des exceptions et des transactions dans les déclencheurs et les procédures<br />

stockées.<br />

10) Introduction aux techniques avancées<br />

- Présentation du SIG de SQL Server (système d'information géographique).<br />

- Utilisation de XML au sein de SQL (requêtes avec XQuery/XPath et clause FOR XML).<br />

- Introduction à l'indexation textuelle (Full Text Search).<br />

- Intégration de .NET dans SQL Server.<br />

Travaux pratiques<br />

Utilisation du SIG, interrogation XML et recherches "plain text".<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 67 / 86


Stage pratique de 3 jour(s)<br />

Réf : SQD<br />

Participants<br />

Ingénieur, architecte base<br />

de données, chef de projet<br />

et développeur désireux<br />

de mettre en œuvre SQL<br />

Server 2005 ou 2008 dans<br />

des applications critiques et<br />

ayant déjà pratiqués MS SQL<br />

Server.<br />

Pré-requis<br />

Très bonnes connaissances<br />

de MS SQL Server<br />

2005/2008, ou connaissances<br />

équivalentes à celles<br />

apportées par les stages<br />

"Programmation SQL" (réf.<br />

PSQ) et "SQL Server, mise en<br />

œuvre" (réf. SQM ou SEM).<br />

Eligible DIF<br />

SQL server 2008, mise en œuvre avancée<br />

OBJECTIFS<br />

Cette formation vous apportera les connaissances nécessaires pour la mise en œuvre de bases SQL Server<br />

dans lesquelles la volumétrie des données et la montée en charge sont des enjeux majeurs. Elle vous<br />

permettra de comprendre les techniques essentielles pour gagner en performance ainsi qu'en temps de<br />

développement.<br />

1) Types de données, tables et contraintes<br />

2) Qualité des données, dénormalisation,<br />

fonctions avancées<br />

3) Contraintes complexes<br />

1) Types de données, tables et contraintes<br />

- Création des domaines SQL.<br />

- Gestion des contraintes de domaines.<br />

- Création des tables et intégration des contraintes.<br />

- Rappels sur la gestion des privilèges.<br />

4) Les vues SQL<br />

5) Introduction au mapping relationnel objet<br />

(ORM) côté serveur<br />

6) Bases de données réparties<br />

Travaux pratiques<br />

Création de domaines SQL et utilisation de ces domaines dans la création des tables.<br />

2) Qualité des données, dénormalisation, fonctions avancées<br />

- Fonctions de gestion de la qualité des données.<br />

- Intégration de ces fonctions dans des déclencheurs.<br />

- Dénormalisation de tables via les colonnes calculées, les déclencheurs et les vues indexées.<br />

- Nouvelles fonctions d'agrégat via SQL CLR.<br />

Travaux pratiques<br />

Intégration de la gestion de la qualité des données. Dénormalisation et étude des gains obtenus.<br />

3) Contraintes complexes<br />

- Mise en place de contraintes complexes (CHECK).<br />

- Intégrité référentielle : greffage de la référence, gestion de la mise à jour, problématiques de valuation<br />

partielle.<br />

- Utilisation des procédures stockées pour la simulation de contraintes circulaires ou déférables.<br />

Travaux pratiques<br />

Réalisation de contraintes de validation incluant le calcul d'un agrégat externe. Mise en place d'une contrainte<br />

circulaire.<br />

4) Les vues SQL<br />

- Intérêt des vues.<br />

- Notion de schéma externe.<br />

- Création des vues et limitation des accès aux données.<br />

- Mise à jour des données à travers les vues.<br />

- Utilisation de vues partitionnées pour la montée en charge.<br />

Travaux pratiques<br />

Création de vues. Etude de leurs mises à jour.<br />

5) Introduction au mapping relationnel objet (ORM) côté serveur<br />

- Création de vue de mapping RO pour intégration dans les objets client.<br />

- Mise en place de procédure de correspondance pour la manipulation des objets.<br />

- Utilisation des déclencheurs INSTEAD OF pour simuler la mise à jour de vues complexes.<br />

Travaux pratiques<br />

Mise en place du mapping complet sur un objet relationnel.<br />

6) Bases de données réparties<br />

- Introduction aux architectures de données distribuées avec SODA.<br />

- Les points de terminaison http et les services web SQL Server.<br />

- Utilisation de Service Broker pour des bases de données collaboratives.<br />

Travaux pratiques<br />

Démonstration de Service Broker.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 68 / 86


Stage pratique de 5 jour(s)<br />

Réf : SQN<br />

Participants<br />

Cette formation est destinée<br />

à des ingénieurs système et<br />

des développeurs qui doivent<br />

utiliser ou mettre en œuvre<br />

SQL Server 2005.<br />

Pré-requis<br />

Bonnes connaissances<br />

du langage SQL ou<br />

connaissances équivalentes à<br />

celles apportées par le stage<br />

"Programmation SQL" (réf.<br />

PSQ).<br />

Prix 2014 : 2770€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

19 mai 2014, 8 sep. 2014<br />

17 nov. 2014<br />

Bruxelles<br />

12 mai 2014, 22 sep. 2014<br />

24 nov. 2014<br />

Geneve<br />

12 mai 2014, 22 sep. 2014<br />

24 nov. 2014<br />

Luxembourg<br />

12 mai 2014, 22 sep. 2014<br />

24 nov. 2014<br />

SQL Server 2005, mise en œuvre<br />

OBJECTIFS<br />

Cette formation vous apportera toutes les connaissances nécessaires à l'utilisation de SQL Server 2005.<br />

Vous y mettrez en pratique l'écriture des requêtes SQL de sélection et mise à jour des données. Vous<br />

apprendrez à modifier la structure des tables et à définir des contraintes d'intégrité référentielle.<br />

1) Création et gestion d'une base de données<br />

2) Spécificités du dialecte Transact-SQL<br />

3) Objets de code<br />

4) Index, traces et plans d'exécution<br />

1) Création et gestion d'une base de données<br />

- Moteurs, composants, objets.<br />

- Outils de développement et d'administration.<br />

- Fichiers de données et journal de transactions.<br />

- Schémas : concept et création (tables, colonnes).<br />

- DDL : création, modification, destruction.<br />

- Vues et procédures de métadonnées.<br />

- Implémentation des contraintes.<br />

- Chargement de données : BULK INSERT, BCP...<br />

5) Langage Transact-SQL<br />

6) Intégration de XML<br />

7) Intégration de .NET<br />

Travaux pratiques<br />

Utilisation de SQL Server Management Studio. Mise en œuvre d'un modèle pour la création de la base,<br />

importation et intégration de données.<br />

2) Spécificités du dialecte Transact-SQL<br />

- Instructions PIVOT et UNPIVOT : tableaux croisés.<br />

- Clauses OUTPUT, SELECT INTO, TRUNCATE TABLE.<br />

- Clauses TOP et SAMPLE. Les objets larges.<br />

Travaux pratiques<br />

Requêtes avec Transact-SQL.<br />

3) Objets de code<br />

- Vues : création et utilisation des vues.<br />

- Procédures : création, valeur de retour.<br />

- Fonctions utilisateurs (UDF) : scalaires...<br />

- Déclencheurs : AFTER et INSTEAD OF.<br />

Travaux pratiques<br />

Création et utilisation d'objets.<br />

4) Index, traces et plans d'exécution<br />

- Structure des index : ordonné...<br />

- Création d'index : approche, choix, pertinence. Utilisation du Database Tuning Advisor.<br />

- Indexation de vues : indications et contraintes.<br />

- Index pour recherche en texte intégral.<br />

- Comprendre le plan de requête, utiliser le profiler.<br />

Travaux pratiques<br />

Création d'index, constat des performances.<br />

5) Langage Transact-SQL<br />

- Identifiants, variables, types de données et structures.<br />

- Création et utilisation de tables temporaires.<br />

- Utilisation des curseurs.<br />

- Les transactions : délimitation, niveau d'isolation.<br />

- Débogage du code Transact-SQL.<br />

- Gestion des erreurs et manipulation des exceptions.<br />

Travaux pratiques<br />

Gestion des transactions et des erreurs.<br />

6) Intégration de XML<br />

- Rappels : types de données, typage.<br />

- Requêtes par Xquery, modification par XML DML.<br />

- Extraction en XML avec l'instruction FOR XML.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 69 / 86


- Indexation des colonnes XML.<br />

Travaux pratiques<br />

Interrogation d'une base de données, utilisation des typages, extraction directe en XML.<br />

7) Intégration de .NET<br />

- Types d'objets, relation avec SQL Server.<br />

- Les ASSEMBLY. Sécurité du code managé.<br />

- Utilisation de SQL Server 2005 depuis ADO.NET 2.0.<br />

Travaux pratiques<br />

Développement de procédures stockées en .NET dans SQL Server 2005.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 70 / 86


Stage pratique de 4 jour(s)<br />

Réf : SQS<br />

Participants<br />

DBA SQL Server, chefs de<br />

projets ayant à piloter des<br />

développements impliquant<br />

de fortes volumétries<br />

(données, accès...) et<br />

développeurs face à des<br />

problématiques de temps de<br />

réponse.<br />

Pré-requis<br />

Bonnes connaissances de<br />

la modélisation de données,<br />

des concepts des SGBDR,<br />

de MS SQL Server et des<br />

langages SQL et Transact<br />

SQL. Connaissances de base<br />

sur les OS Windows.<br />

Prix 2014 : 2270€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

20 mai 2014, 2 sep. 2014<br />

25 nov. 2014<br />

Bruxelles<br />

4 mar. 2014, 3 juin 2014<br />

23 sep. 2014, 2 déc. 2014<br />

Geneve<br />

4 mar. 2014, 3 juin 2014<br />

23 sep. 2014, 2 déc. 2014<br />

Luxembourg<br />

4 mar. 2014, 3 juin 2014<br />

23 sep. 2014, 2 déc. 2014<br />

SQL Server, optimisation<br />

OBJECTIFS<br />

Cette formation constitue une introduction rationnelle et efficace à l'optimisation des bases des données<br />

relationnelles MS SQL Server en vue d'obtenir de hautes performances pour des applications complexes ou<br />

à forte volumétrie. Elle couvre différentes versions de SQL Server.<br />

1) Le modèle et les données<br />

2) Optimisation du matériel<br />

3) Paramétrage de SQL Server<br />

4) Ecriture et lecture des données<br />

1) Le modèle et les données<br />

5) Optimiser les requêtes SQL<br />

6) Coder pour la performance<br />

7) Gérer de grandes bases de données<br />

- Influence du type de données. Standard de schématisation. Composition des clefs.<br />

- Modélisation en fonction de la volumétrie.<br />

- Utilisation des contraintes et des déclencheurs.<br />

- Qualité des données. Gestion de la redondance.<br />

Travaux pratiques<br />

Comparaison de deux modèles aux données identiques.<br />

2) Optimisation du matériel<br />

- Processeurs et gestion du parallélisme.<br />

- Mémoire vive. Fenêtre de données et RAM optimale.<br />

- Comparaisons des versions 32 et 64 bits de Windows.<br />

- Paramètres des disques durs. RAID et SAN.<br />

- Infrastructure réseau : bonnes pratiques.<br />

Travaux pratiques<br />

Mesure des I/O du serveur physique à l'aide de Perfmon.<br />

3) Paramétrage de SQL Server<br />

- Remarques sur l'installation. Paramètres : OS, SQL Server, session. Audit du serveur avec Perfmon.<br />

- Gestion des ressources par Quota.<br />

Travaux pratiques<br />

Mesure des caractéristiques du serveur logique à l'aide de requêtes SQL et du moniteur de performances.<br />

4) Ecriture et lecture des données<br />

- Le moteur de stockage. Le cache des données.<br />

- Checkpoint et LazyWriter.<br />

- Organisation des tables et index. Volumétrie.<br />

- Transaction. Logs. Niveaux d'isolation.<br />

- Organisation logique des fichiers.<br />

Travaux pratiques<br />

Création d'une base multifichiers et migration des données.<br />

5) Optimiser les requêtes SQL<br />

- Rôle de l'optimiseur. Code procédural. Requêtes complexes. Influence de l'écriture des requêtes.<br />

- Plan de requête et statistiques d'exécution.<br />

- Défragmentation des index.<br />

- Monitorer l'exécution des requêtes.<br />

- Utilisation des DMV pour affiner l'optimisation.<br />

Travaux pratiques<br />

Comparaison des différentes écritures d'une même requête à l'aide de l'audit via Profiler.<br />

6) Coder pour la performance<br />

- Choisir entre Transact SQL et SQLCLR (C#, .Net).<br />

- Bonnes pratiques pour les procédures stockées.<br />

- Transactions : effets de bord et exceptions.<br />

- Déclencheurs et performances.<br />

- Monitorat. Tuning. Mesure.<br />

Travaux pratiques<br />

Réalisation d'une procédure de calcul d'auto-incrément (compteur) et d'une fonction utilisateur.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 71 / 86


7) Gérer de grandes bases de données<br />

- VLDB (Very Large DataBase).<br />

- La compression des données, des Backups.<br />

- Le partitionnement.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 72 / 86


Stage pratique de 3 jour(s)<br />

Réf : OSL<br />

Participants<br />

Toute personne ayant<br />

un profil d'informaticien<br />

désirant se servir de SQL en<br />

environnement Oracle.<br />

Pré-requis<br />

Connaissances de base en<br />

informatique.<br />

Prix 2014 : 1750€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

10 fév. 2014, 10 mar. 2014<br />

7 avr. 2014, 5 mai 2014<br />

10 juin 2014, 18 aoû. 2014<br />

15 sep. 2014, 13 oct. 2014<br />

17 nov. 2014, 8 déc. 2014<br />

Aix<br />

17 mar. 2014, 30 juin 2014<br />

6 oct. 2014, 15 déc. 2014<br />

Bordeaux<br />

24 mar. 2014, 23 juin 2014<br />

15 sep. 2014, 15 déc. 2014<br />

Bruxelles<br />

24 mar. 2014, 22 sep. 2014<br />

15 déc. 2014<br />

Geneve<br />

24 mar. 2014, 22 sep. 2014<br />

15 déc. 2014<br />

Lille<br />

24 mar. 2014, 23 juin 2014<br />

15 sep. 2014, 15 déc. 2014<br />

Luxembourg<br />

24 mar. 2014, 22 sep. 2014<br />

15 déc. 2014<br />

Lyon<br />

17 mar. 2014, 30 juin 2014<br />

6 oct. 2014, 15 déc. 2014<br />

Nantes<br />

17 mar. 2014, 30 juin 2014<br />

22 sep. 2014, 1 déc. 2014<br />

Rennes<br />

17 mar. 2014, 30 juin 2014<br />

22 sep. 2014, 1 déc. 2014<br />

Sophia-antipolis<br />

17 mar. 2014, 30 juin 2014<br />

6 oct. 2014, 15 déc. 2014<br />

Strasbourg<br />

24 mar. 2014, 23 juin 2014<br />

15 sep. 2014, 15 déc. 2014<br />

Toulouse<br />

24 mar. 2014, 23 juin 2014<br />

15 sep. 2014, 15 déc. 2014<br />

Oracle SQL<br />

OBJECTIFS<br />

Une formation pratique aux aspects essentiels, logique et syntaxe, du langage SQL. Ce cours vous apportera<br />

une méthode sûre d'écriture de requêtes SQL complexes.<br />

1) Introduction<br />

2) Outils<br />

3) Introduction SQL<br />

1) Introduction<br />

- Le modèle relationnel.<br />

- Notions de base : relation (table), attributs (colonnes), contraintes d'intégrité.<br />

- Contraintes d'intégrité.<br />

2) Outils<br />

- SQL*Plus.<br />

- SQL Developer.<br />

3) Introduction SQL<br />

- Types de données Oracle.<br />

- Création des tables.<br />

- Introduction aux instructions de mise à jour.<br />

- Utilisation des séquences.<br />

- Introduction à l'interrogation (SELECT).<br />

4) Interrogation des données<br />

4) Interrogation des données<br />

5) Objets d'une base de données Oracle<br />

6) Instructions SQL complexes<br />

- Tri et suppression des doublons. Utilisation des alias et des préfixes.<br />

- Traitement de la valeur NULL. Utilisation des fonctions SQL.<br />

- Utilisation des pseudo-colonnes : ROWID et ROWNUM. Utilisation des agrégats : COUNT, SUM, AVG...<br />

- Opérations ensemblistes : union, intersection, différence.<br />

- Requêtes imbriquées : opérateurs IN, EXISTS.<br />

- Utilisation des jointures.<br />

- Jointures externes.<br />

- Groupement : GROUP BY et HAVING.<br />

5) Objets d'une base de données Oracle<br />

- Création et suppression des tables.<br />

- Gestion des contraintes d'intégrité : clé primaire, unicité, non-nullité, CHECK, contraintes référentielles.<br />

- Utilisation des vues.<br />

- Utilisation des synonymes.<br />

- Dictionnaire de données.<br />

6) Instructions SQL complexes<br />

- Paramétrage des scripts SQL*Plus.<br />

- Division et interrogations complexes.<br />

- Instructions de mise à jour avec des requêtes imbriquées.<br />

- Les requêtes hiérarchiques.<br />

- Utilisation des expressions régulières.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 73 / 86


Stage pratique de 2 jour(s)<br />

Réf : OSP<br />

Participants<br />

Toute personne impliquée<br />

indirectement dans l'exécution<br />

de requêtes SQL avancées<br />

(développeur, DBA, maîtrise<br />

d'ouvrage).<br />

Pré-requis<br />

Bonnes connaissances<br />

des bases du SQL ou<br />

connaissances équivalentes à<br />

celles apportées par le stage<br />

"Oracle SQL" (réf. OSL).<br />

Expérience requise.<br />

Prix 2014 : 1350€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

27 mai 2014, 25 sep. 2014<br />

20 nov. 2014<br />

Oracle SQL, perfectionnement<br />

OBJECTIFS<br />

Cette formation très pratique se propose de développer les aspects avancés du langage SQL comme<br />

les opérateurs ensemblistes, la gestion des LOB, des Bfiles et du XML, les fonctions d'agrégation et de<br />

statistiques.<br />

1) Les fonctions complémentaires<br />

2) Les opérateurs ensemblistes<br />

3) La gestion des LOB et des Bfiles<br />

4) Agrégation, jointures et sub-select<br />

1) Les fonctions complémentaires<br />

- Fonctions de transformation.<br />

- Fonctions analytiques : Rank, Dense_Rank.<br />

- Fonction hiérarchique. Autres fonctions : Rowid, etc.<br />

5) La gestion des intégrités<br />

6) La gestion du XML<br />

7) Le partitionnement des données<br />

8) La gestion des tables distantes<br />

Travaux pratiques<br />

Mise en forme de données disparates (dates, numériques), liste d'une hiérarchie à plusieurs niveaux.<br />

2) Les opérateurs ensemblistes<br />

- Union et Union ALL.<br />

- Différence Minus.<br />

- Exists, Some, Any, All.<br />

Travaux pratiques<br />

Recherche des différences entre plusieurs tables.<br />

3) La gestion des LOB et des Bfiles<br />

- Utilisations possibles. Définition des tables.<br />

- Insertion et mises à jour des LOB.<br />

- Gestion d'un Bfile.<br />

Travaux pratiques<br />

Ajout d'une photo dans une table, ajout d'un CV dans une table.<br />

4) Agrégation, jointures et sub-select<br />

- Les fonctions d'agrégation et statistiques : Group By Rollup. Group by Cube. Group by Sets.<br />

- Rappel des jointures " classiques ". Auto-jointure. FULL, RIGHT, LEFT.<br />

- Sub-select corrélés/non-corrélés avec des Insert, Update, Delete.<br />

Travaux pratiques<br />

Statistiques et regroupements sur plusieurs critères. Création d'une table à partir d'autres tables.<br />

5) La gestion des intégrités<br />

- Rappel des définitions : unicité, référentielle, cohérence.<br />

- Mise en oeuvre : Primary Key, Foreign Key, Increment, Check.<br />

- Principes d'utilisation. Bonnes pratiques et limites.<br />

Travaux pratiques<br />

Création de tables en intégrité référentielle. Ajout/suppression des contraintes d'intégrité et des contrôles par<br />

Check.<br />

6) La gestion du XML<br />

- Stockage de XML. Utilisation de fonctions avancées XML.<br />

Travaux pratiques<br />

Gestion d'un document XML.<br />

7) Le partitionnement des données<br />

- Les différents types de partitionnements possibles.<br />

- Mise en oeuvre du partitionnement des données.<br />

Travaux pratiques<br />

Création de tables partitionnées, rechargement des données.<br />

8) La gestion des tables distantes<br />

- Rappel des principes : schémas, ODBC, DRDA.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 74 / 86


- Accès à une table distante. Jointures avec des tables distantes.<br />

Travaux pratiques<br />

Lecture des tables d'autres BD.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 75 / 86


Stage pratique de 3 jour(s)<br />

Réf : ROD<br />

Participants<br />

Ce stage s'adresse aux<br />

développeurs d'applications<br />

décisionnelles sous Oracle<br />

désireux d'utiliser tout le<br />

potentiel SQL d'Oracle.<br />

Pré-requis<br />

Bonnes connaissances du<br />

langage SQL.<br />

Prix 2014 : 1750€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

26 mai 2014, 15 sep. 2014<br />

12 nov. 2014<br />

Oracle SQL pour le décisionnel<br />

OBJECTIFS<br />

Un cours intensif pour acquérir toutes les compétences nécessaires à l'utilisation des fonctionnalités<br />

décisionnelles du SQL d'Oracle.<br />

1) Introduction<br />

2) Groupements des données<br />

3) Agrégation et analyse des données<br />

1) Introduction<br />

4) La clause MODEL<br />

5) Mise à jour des données<br />

6) Objets<br />

- Informatique décisionnelle. Etat de la norme SQL. Norme SQL3 et décisionnel.<br />

- Rappels des concepts liés à un Datawarehouse. Notions de CUBE. Concept OLAP. Analyse<br />

multidimensionnelle.<br />

- Modélisation en étoile et constellation. Notions de dimension. Notion de table de fait.<br />

Etude de cas<br />

Présentation : le modèle, les problématiques.<br />

2) Groupements des données<br />

- Fonctions horizontales. Fonctions verticales. Fonctions d'agrégat.<br />

- Le groupe. Rappels : fonctionnement du GROUP BY, fonctionnement du HAVING.<br />

- Fonctions GROUPING. Syntaxe. Exemples. Gestion des valeurs NULL.<br />

- Le groupe à deux niveaux.<br />

Travaux pratiques<br />

Manipulation de la syntaxe et des fonctionnalités de groupements.<br />

3) Agrégation et analyse des données<br />

- Extensions ROLLUP et CUBE. Expression de GROUPING SET.<br />

- Fonctions de groupes. Fonctions analytiques. La clause de partitionnement.<br />

- La clause d'ordre. La clause de fenêtrage. Fonctions de classement.<br />

- Ordonner les tris. Fonction de classement . Fonctions de fenêtres.<br />

Travaux pratiques<br />

Manipulation de la syntaxe et des fonctionnalités d'agrégation.<br />

4) La clause MODEL<br />

- La mise en oeuvre. La fonction CV.<br />

- La fonction ITERATION_NUMBER. La fonction PRESENTNNV.<br />

- La fonction PRESENTV. La fonction PREVIOUS.<br />

Travaux pratiques<br />

Manipulation de la syntaxe de la clause MODEL.<br />

5) Mise à jour des données<br />

- Insertion multitables. Insertion sans condition.<br />

- INSERT_ALL, INSERT_FIRST. Mises à jour conditionnées.<br />

Travaux pratiques<br />

Alimentation du modèle en étoile.<br />

6) Objets<br />

- Les ETL (Extraction, Transformation, Chargement).<br />

- Interrogation de tables externes. Vues du dictionnaire de données.<br />

- Vues Matérialisées (VM). Intérêt. Syntaxe de création. Options.<br />

- Vues Matérialisées et l'optimisation. Réécriture de requêtes. Dimensions et hiérarchies.<br />

Travaux pratiques<br />

Utilisation des tables externes pour le déplacement des données. Création des vues matérialisées pour<br />

optimiser les requêtes.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 76 / 86


Stage pratique de 3 jour(s)<br />

Réf : ORD<br />

Participants<br />

Concepteurs, développeurs<br />

et toutes les personnes<br />

impliquées dans des<br />

développements utilisant la<br />

base de données Oracle.<br />

Pré-requis<br />

Bonnes connaissances de<br />

SQL.<br />

Prix 2014 : 1750€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

3 fév. 2014, 3 mar. 2014<br />

7 avr. 2014, 5 mai 2014<br />

2 juin 2014, 28 juil. 2014<br />

25 aoû. 2014, 15 sep. 2014<br />

13 oct. 2014, 17 nov. 2014<br />

8 déc. 2014<br />

Aix<br />

3 mar. 2014, 26 mai 2014<br />

21 juil. 2014, 22 sep. 2014<br />

1 déc. 2014<br />

Bordeaux<br />

12 mai 2014, 28 juil. 2014<br />

15 sep. 2014, 12 nov. 2014<br />

Bruxelles<br />

12 mai 2014, 15 juil. 2014<br />

1 sep. 2014, 24 nov. 2014<br />

Geneve<br />

12 mai 2014, 15 juil. 2014<br />

1 sep. 2014, 24 nov. 2014<br />

Lille<br />

12 mai 2014, 28 juil. 2014<br />

15 sep. 2014, 12 nov. 2014<br />

Luxembourg<br />

12 mai 2014, 15 juil. 2014<br />

1 sep. 2014, 24 nov. 2014<br />

Lyon<br />

3 mar. 2014, 26 mai 2014<br />

21 juil. 2014, 22 sep. 2014<br />

1 déc. 2014<br />

Nantes<br />

17 fév. 2014, 19 mai 2014<br />

15 juil. 2014, 1 sep. 2014<br />

24 nov. 2014<br />

Rennes<br />

19 mai 2014, 15 juil. 2014<br />

1 sep. 2014, 24 nov. 2014<br />

Sophia-antipolis<br />

3 mar. 2014, 26 mai 2014<br />

21 juil. 2014, 22 sep. 2014<br />

1 déc. 2014<br />

Strasbourg<br />

12 mai 2014, 28 juil. 2014<br />

15 sep. 2014, 12 nov. 2014<br />

Toulouse<br />

12 mai 2014, 28 juil. 2014<br />

15 sep. 2014, 12 nov. 2014<br />

Développer en PL/SQL<br />

OBJECTIFS<br />

Le cours PL/SQL a comme objectif la maîtrise du langage PL/SQL et l'utilisation des traitements stockés et<br />

des triggers dans les applications. Les concepts abordés sont systématiquement mis en pratique.<br />

1) Introduction et rappels<br />

2) Eléments du langage<br />

3) Accès à la base<br />

4) Traitements stockés<br />

1) Introduction et rappels<br />

- Traitement transactionnel dans Oracle.<br />

- Objets et dictionnaire d'une base Oracle.<br />

- SQL et PL/SQL. Vue globale de PL/SQL.<br />

- Outils utilisés. Documentation Oracle.<br />

2) Eléments du langage<br />

5) Gestion des erreurs<br />

6) Triggers<br />

7) Compléments<br />

- Environnements hôtes. Introduction syntaxique. Déclarations de variables et de constantes PL/SQL.<br />

- Types de données et conversion. Fonctions prédéfinies.<br />

- Instructions de contrôle : IF- ELSE, la boucle LOOP, la boucle FOR.<br />

- Types composites : records, tables indexées.<br />

- Types objets. Définition des sous-programmes.<br />

- Paramétrage des sous-programmes.<br />

Exercice<br />

Déclaration de variables. Manipulation de la date. Attributs de typage. Utilisation des collections et de leurs<br />

méthodes.<br />

3) Accès à la base<br />

- La base et notion de curseur.<br />

- Accès via curseur implicite : update, delete, insert, select. Utiliser les clauses RETURNING et BULK<br />

COLLECT.<br />

- Collections et FORALL.<br />

- Boucles FOR à curseur. Curseurs en mise à jour.<br />

- Curseurs explicites. Variables curseur.<br />

Exercice<br />

Utilisation de curseur explicite et de BULK COLLECT.<br />

4) Traitements stockés<br />

- Gestion de sous-programmes stockés, de bibliothèques stockées et de paquetages.<br />

- Gestion des traitements stockés : droits d'accès, vues du dictionnaire et dépendance.<br />

- Utilisation des packages.<br />

Exercice<br />

Création de procédures, de fonctions stockées et de paquetages.<br />

5) Gestion des erreurs<br />

- Traitement d'une exception.<br />

- Utilisation de RAISE_APPLICATION_ERROR.<br />

- Déclenchement d'une exception via RAISE.<br />

- Propagation et gestion transactionnelle.<br />

Exercice<br />

Utilisation de Raise et de RAISE_APPLICATION_ERROR.<br />

6) Triggers<br />

- Définition et types de triggers Evénement/Action. Triggers Ordre.<br />

- Lignes (utilisation de : NEW et : OLD), E/C/A (Evénement/Condition/Action).<br />

- " INSTEAD OF " sur les vues, sur événements système.<br />

- Utilisation des transactions autonomes.<br />

Exercice<br />

Création de triggers ordre et triggers ligne.<br />

7) Compléments<br />

- SQL dynamique. Utilisation de dbms_application_info et de WRAP pour cacher le code source.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 77 / 86


Stage pratique de 3 jour(s)<br />

Réf : DSP<br />

Participants<br />

Développeurs Oracle.<br />

Pré-requis<br />

Bonnes connaissances de la<br />

programmation PL/SQL ou<br />

connaissances équivalentes à<br />

celles apportées par le stage "<br />

Développer en PL/SQL " (réf.<br />

ORD).<br />

Prix 2014 : 1750€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

10 fév. 2014, 26 mai 2014<br />

29 sep. 2014, 12 nov. 2014<br />

1 déc. 2014<br />

Développer en PL/SQL, perfectionnement<br />

OBJECTIFS<br />

Ce stage vous apprendra à écrire des programmes PL/SQL et à tirer le meilleur parti des fonctions<br />

avancées : packages, curseurs, méthodes d'interface avancées et ensembles. Il aborde le développement, le<br />

code SQL dynamique et les notions conceptuelles nécessaires à un codage efficace.<br />

1) Rappels sur le PL/SQL<br />

2) Les ensembles<br />

3) Les procédures et les fonctions stockées<br />

4) Les performances et la mise en mémoire<br />

cache<br />

1) Rappels sur le PL/SQL<br />

- Décrire les types de données prédéfinis.<br />

- Créer des sous-types basés sur des types existants.<br />

- Répertorier les règles de conception d'un curseur.<br />

2) Les ensembles<br />

5) Les packages<br />

6) Les déclencheurs<br />

7) Le SQL dynamique<br />

- Présentation des ensembles.<br />

- Tableaux associatifs et tables imbriquées.<br />

- Programmes PL/SQL qui utilisent des ensembles.<br />

- Le stockage des ensembles dans les tables.<br />

- Les ordres SQL dans PL/SQL.<br />

- L'utilisation de la clause RETURNING, BULK COLLECT.<br />

Travaux pratiques<br />

Utiliser les traitements de masse pour améliorer les performances.<br />

3) Les procédures et les fonctions stockées<br />

- Créer une conception modulaire.<br />

- Créer, appeler et supprimer des procédures stockées.<br />

- Implémenter les paramètres de procédure.<br />

- Implémenter le hint de compilation NOCOPY.<br />

- Créer, appeler et supprimer des fonctions stockées.<br />

- Identifier les restrictions liées aux appels de fonctions.<br />

Travaux pratiques<br />

Visualiser les informations des procédures à l'aide des vues du dictionnaire de données et de SQL<br />

Developer.<br />

4) Les performances et la mise en mémoire cache<br />

- Décrire la mise en mémoire en cache des résultats.<br />

- Utiliser le cache des résultats d'interrogation SQL.<br />

- Cache des résultats de fonction PL/SQL.<br />

Travaux pratiques<br />

Vérifier les principaux aspects du cache des résultats de fonction PL/SQL.<br />

5) Les packages<br />

- Identifier les composants d'un package.<br />

- Utiliser le package STANDARD et les fonctions de package.<br />

- Contrôler les effets de bord des sous-programmes PL/SQL.<br />

Travaux pratiques<br />

Créer la spécification et le corps d'un package. Afficher le code source PL/SQL à l'aide du dictionnaire de<br />

données. Appeler des tables PL/SQL d'enregistrements dans des packages.<br />

6) Les déclencheurs<br />

- Comment implémenter les déclencheurs ?<br />

- Présentation des déclencheurs combinés.<br />

- Déclencheur combiné pour les tables et les vues.<br />

- Créer des déclencheurs sur les instructions LDD.<br />

Travaux pratiques<br />

Créer des déclencheurs LMD, INSTEAD OF. Implémenter un déclencheur combiné pour résoudre l'erreur de<br />

table en mutation.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 78 / 86


7) Le SQL dynamique<br />

- Flux d'exécution du code SQL.<br />

- Présentation du code SQL dynamique.<br />

- Déclarer des variables de curseur.<br />

Travaux pratiques<br />

Exécuter dynamiquement un bloc PL/SQL.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 79 / 86


Stage pratique de 4 jour(s)<br />

Réf : OPT<br />

Participants<br />

Ce cours s'adresse<br />

aux développeurs et<br />

administrateurs d'applications.<br />

Pré-requis<br />

Bonnes connaissances des<br />

langages SQL et PL/SQL.<br />

Prix 2014 : 2270€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

18 mar. 2014, 15 avr. 2014<br />

20 mai 2014, 24 juin 2014<br />

8 juil. 2014, 19 aoû. 2014<br />

16 sep. 2014, 14 oct. 2014<br />

18 nov. 2014, 15 déc. 2014<br />

Aix<br />

25 mar. 2014, 13 mai 2014<br />

15 juil. 2014, 23 sep. 2014<br />

25 nov. 2014<br />

Bordeaux<br />

4 mar. 2014, 10 juin 2014<br />

9 sep. 2014, 4 nov. 2014<br />

Bruxelles<br />

4 mar. 2014, 10 juin 2014<br />

23 sep. 2014, 18 nov. 2014<br />

Geneve<br />

4 mar. 2014, 10 juin 2014<br />

23 sep. 2014, 18 nov. 2014<br />

Lille<br />

4 mar. 2014, 10 juin 2014<br />

9 sep. 2014, 4 nov. 2014<br />

Luxembourg<br />

4 mar. 2014, 10 juin 2014<br />

23 sep. 2014, 18 nov. 2014<br />

Lyon<br />

25 mar. 2014, 13 mai 2014<br />

15 juil. 2014, 23 sep. 2014<br />

25 nov. 2014<br />

Nantes<br />

1 avr. 2014, 3 juin 2014<br />

9 sep. 2014, 4 nov. 2014<br />

Rennes<br />

1 avr. 2014, 3 juin 2014<br />

9 sep. 2014, 4 nov. 2014<br />

Sophia-antipolis<br />

25 mar. 2014, 13 mai 2014<br />

15 juil. 2014, 23 sep. 2014<br />

25 nov. 2014<br />

Strasbourg<br />

4 mar. 2014, 10 juin 2014<br />

9 sep. 2014, 4 nov. 2014<br />

Toulouse<br />

4 mar. 2014, 10 juin 2014<br />

9 sep. 2014, 4 nov. 2014<br />

Oracle, optimisation d'applications<br />

OBJECTIFS<br />

Grâce à ce cours pratique, vous serez en mesure de réduire d'une manière décisive les temps de réponse<br />

de vos applications. Vous comprendrez le fonctionnement de l'optimiseur intégré et des outils d'analyse et de<br />

gestion d'Oracle. Vous serez en mesure d'écrire des requêtes SQL performantes.<br />

1) Introduction<br />

2) Traitement des requêtes SQL<br />

3) Diagnostic et mesure de performance<br />

4) Optimisation du schéma relationnel<br />

1) Introduction<br />

- Démarche, étapes et acteurs de l'optimisation.<br />

- Problèmes de performances.<br />

- Particularités des types d'applications. Problématiques.<br />

2) Traitement des requêtes SQL<br />

5) L'optimiseur<br />

6) Optimisation des requêtes<br />

7) Exécution en parallèle des requêtes<br />

- Mécanismes internes. Partage des curseurs. Variables de lien dans SQL*Plus et Enterprise Manager.<br />

- Partage des curseurs. Fonctionnalité Adaptive Cursor Sharing. Cache de résultat.<br />

Travaux pratiques<br />

Utilisation des bind variables pour partager des curseurs.<br />

3) Diagnostic et mesure de performance<br />

- Outils d'optimisation. Traces de diagnostic. Services avec les applications client.<br />

- Trace pour votre session. Fichiers de trace SQL. Les fichiers de trace SQL.<br />

Travaux pratiques<br />

Utilisation de Tkprof.<br />

4) Optimisation du schéma relationnel<br />

- Structures principales et chemins d'accès. Balayage complet de table.<br />

- Accélérer les requêtes. Index B*Tree et Bitmap. Tables indexes. Indexes composites et indexes invisibles.<br />

- Règles de gestion des index. Tables globales temporaires.<br />

- Partitionnement des données. Vues matérialisées. Colonnes virtuelles.<br />

Travaux pratiques<br />

Optimisation de requêtes.<br />

5) L'optimiseur<br />

- Recherches de données. Optimisation statistique ou syntaxique. Statistiques destinées à l'optimiseur.<br />

- Collecte dynamique des statistiques. Conversions de types de données. Evaluation des expressions.<br />

- Opérateurs de comparaison. Sous-interrogations. Méthodes de jointure et d'accès aux données.<br />

- Optimisation manuelle des requêtes par hints.<br />

Travaux pratiques<br />

Comparaison des optimiseurs statistique et syntaxique.<br />

6) Optimisation des requêtes<br />

- La conception et l'applicatif. Prédicats composés. Arborescences. Fonctions de groupes.<br />

- Boucles inutiles. Vues et requêtes imbriquées. Updates synchronisés. Les tableaux dans PL/SQL.<br />

- Curseurs implicites/explicites et la récupération des lignes par lot. FORALL.<br />

Travaux pratiques<br />

Optimisation de traitements batch.<br />

7) Exécution en parallèle des requêtes<br />

- Un serveur à plusieurs CPU. Requêtes en parallèle. Réglage automatique des instructions SQL.<br />

- Réglage d'une application. Fonction de conseil STA. Statistiques obsolètes sur les objets.<br />

- Profilage des instructions SQL. Flux de réglage d'un plan et création de profil SQL.<br />

- Database Control et fonction de conseil STA. Recommandations d'implémentation.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 80 / 86


Stage pratique de 2 jour(s)<br />

Réf : MYP<br />

Participants<br />

Pour toute personne désirant<br />

se servir de SQL dans les<br />

environnements MySQL ou<br />

PostgreSQL.<br />

Pré-requis<br />

Aucune connaissance<br />

particulière.<br />

Prix 2014 : 1350€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

20 mar. 2014, 19 juin 2014<br />

9 oct. 2014, 4 déc. 2014<br />

Aix<br />

20 mar. 2014, 27 mai 2014<br />

2 oct. 2014, 18 déc. 2014<br />

Bordeaux<br />

3 avr. 2014, 26 juin 2014<br />

16 oct. 2014, 18 déc. 2014<br />

Bruxelles<br />

3 avr. 2014, 26 juin 2014<br />

16 oct. 2014, 18 déc. 2014<br />

Geneve<br />

3 avr. 2014, 26 juin 2014<br />

16 oct. 2014, 18 déc. 2014<br />

Lille<br />

3 avr. 2014, 26 juin 2014<br />

16 oct. 2014, 18 déc. 2014<br />

Luxembourg<br />

3 avr. 2014, 26 juin 2014<br />

16 oct. 2014, 18 déc. 2014<br />

Lyon<br />

20 mar. 2014, 27 mai 2014<br />

2 oct. 2014, 18 déc. 2014<br />

Nantes<br />

6 mar. 2014, 12 juin 2014<br />

16 oct. 2014, 11 déc. 2014<br />

Rennes<br />

6 mar. 2014, 12 juin 2014<br />

16 oct. 2014, 11 déc. 2014<br />

Sophia-antipolis<br />

20 mar. 2014, 27 mai 2014<br />

2 oct. 2014, 18 déc. 2014<br />

Strasbourg<br />

3 avr. 2014, 26 juin 2014<br />

16 oct. 2014, 18 déc. 2014<br />

Toulouse<br />

3 avr. 2014, 26 juin 2014<br />

16 oct. 2014, 18 déc. 2014<br />

SQL pour MySQL et PostgreSQL<br />

OBJECTIFS<br />

Cette formation très pratique focalise sur les aspects essentiels du langage d'interrogation SQL, tant du point<br />

de vue logique que syntaxique. Elle vous apportera également une méthode sûre pour écrire des requêtes,<br />

simples et complexes, en environnement MySQL et PostgreSQL.<br />

1) Introduction<br />

2) Modèle relationnel<br />

3) Les outils client<br />

4) Les objets<br />

Travaux pratiques<br />

5) Requêtes simples<br />

6) Tris et agrégats<br />

7) Jointures<br />

8) Requêtes complexes<br />

L'apprentissage du SQL en environnement MySQL ou PostgreSQL, au choix du participant.<br />

1) Introduction<br />

- Serveur MySQL/PostgreSQL.<br />

- Versions et évolution.<br />

- Ressources et documentation.<br />

2) Modèle relationnel<br />

- Les principes du modèle relationnel.<br />

- L'algèbre relationnelle : opérations relationnelles sur les ensembles de données.<br />

- Introduction à SQL.<br />

3) Les outils client<br />

- L'outil client MySQL.<br />

- Présentation de l'outil " PSQL " de PostgreSQL.<br />

4) Les objets<br />

- Types de données dans MySQL/PostgreSQL.<br />

- Création de tables.<br />

- Utilisation de colonnes auto-incrémentées.<br />

- Utilisation des vues.<br />

Travaux pratiques<br />

Utilisation des outils " mysql " et " psql ", Création de tables et mise à jour de données. Utilisation des vues.<br />

5) Requêtes simples<br />

- L'interrogation (SELECT).<br />

- La mise à jour.<br />

- Opérateurs et critères.<br />

- Les transactions.<br />

Travaux pratiques<br />

Ecriture de requêtes SQL simples.<br />

6) Tris et agrégats<br />

- Tri et doublons: Clause ORDER BY, clause LIMIT, clause OFFSET, suppression des doublons.<br />

- Utilisation de NULL : Opérateur IS NULL.<br />

- Utilisation des fonctions.<br />

- Utilisation des agrégats.<br />

Travaux pratiques<br />

Manipulation des fonctions de tris et d'agrégats.<br />

7) Jointures<br />

- Produit cartésien.<br />

- Jointure interne.<br />

- Jointure externe.<br />

8) Requêtes complexes<br />

- Les requêtes imbriquées : Opérateur IN, opérateur EXISTS, requêtes imbriquées plus générales.<br />

- Opérateurs ensemblistes (union, intersection, différence).<br />

- Groupement de données (clause GROUP BY, HAVING).<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 81 / 86


Travaux pratiques<br />

Ecriture de requêtes SQL simples. Utilisation de fonctions, utilisation d'agrégats, jointures et requêtes<br />

imbriquées, utilisation de GROUP BY et HAVING.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 82 / 86


Stage pratique de 3 jour(s)<br />

Réf : MSQ<br />

Participants<br />

Ce stage s'adresse à tous<br />

les informaticiens ayant à<br />

développer pour MySQL.<br />

Pré-requis<br />

Connaissances de base<br />

d'un système d'exploitation<br />

(Windows, Linux/Unix).<br />

Prix 2014 : 1750€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

17 fév. 2014, 17 mar. 2014<br />

28 avr. 2014, 26 mai 2014<br />

23 juin 2014, 28 juil. 2014<br />

15 sep. 2014, 27 oct. 2014<br />

24 nov. 2014, 15 déc. 2014<br />

Aix<br />

22 avr. 2014, 30 juin 2014<br />

27 oct. 2014, 8 déc. 2014<br />

Bordeaux<br />

22 avr. 2014, 10 juin 2014<br />

13 oct. 2014, 8 déc. 2014<br />

Bruxelles<br />

22 avr. 2014, 10 juin 2014<br />

27 oct. 2014, 8 déc. 2014<br />

Geneve<br />

22 avr. 2014, 10 juin 2014<br />

27 oct. 2014, 8 déc. 2014<br />

Lille<br />

22 avr. 2014, 10 juin 2014<br />

13 oct. 2014, 8 déc. 2014<br />

Luxembourg<br />

22 avr. 2014, 10 juin 2014<br />

27 oct. 2014, 8 déc. 2014<br />

Lyon<br />

22 avr. 2014, 30 juin 2014<br />

27 oct. 2014, 8 déc. 2014<br />

Nantes<br />

24 mar. 2014, 16 juin 2014<br />

6 oct. 2014, 1 déc. 2014<br />

Rennes<br />

24 mar. 2014, 16 juin 2014<br />

6 oct. 2014, 1 déc. 2014<br />

Sophia-antipolis<br />

22 avr. 2014, 30 juin 2014<br />

27 oct. 2014, 8 déc. 2014<br />

Strasbourg<br />

22 avr. 2014, 10 juin 2014<br />

13 oct. 2014, 8 déc. 2014<br />

Toulouse<br />

22 avr. 2014, 10 juin 2014<br />

13 oct. 2014, 8 déc. 2014<br />

MySQL, prise en main<br />

OBJECTIFS<br />

Ce cours vous permettra d'acquérir toutes les compétences nécessaires à l'utilisation efficace et fiable de la<br />

base de données MySQL : la pratique du langage SQL, les objets de la base de données... Ce stage propose<br />

également une introduction à l'administration.<br />

1) Introduction et prise en main<br />

2) Modèle relationnel, conception et création<br />

d'une base<br />

3) Pratique du SQL avec MySQL<br />

4) Tables transactionnelles InnoDB<br />

Travaux pratiques<br />

5) SQL procédural<br />

6) Connexions, droits d'accès, sécurité<br />

7) Introduction à l'administration<br />

Tout au long du stage, de nombreux travaux pratiques permettent de valider les connaissances théoriques.<br />

1) Introduction et prise en main<br />

- Versions, panorama des fonctionnalités et des outils.<br />

- Ressources et documentation.<br />

- Procédure d'installation.<br />

- Paramétrages de post-installation et premiers tests.<br />

- L'outil client ligne de commandes mysql.<br />

- L'outil graphique MySQL Query Browser.<br />

2) Modèle relationnel, conception et création d'une base<br />

- Eléments de conception d'un schéma de base de données.<br />

- Contraintes d'intégrité.<br />

- Types de données MySQL (numériques, chaînes, dates, types spécifiques...).<br />

- Fonctions intégrées de MySQL.<br />

- Types de tables (MyISAM, MEMORY, MERGE, InnoDB...).<br />

- Création de bases et de tables.<br />

- La base INFORMATION_SCHEMA.<br />

- Jeux de caractères, internationalisation.<br />

Travaux pratiques<br />

Conception et création d'une base en tables MylSAM.<br />

3) Pratique du SQL avec MySQL<br />

- Sélections simples, comparaisons, tris.<br />

- Sélections multitables, différents types de jointures.<br />

- Requêtes imbriquées, préparées.<br />

- Modifications et gestion des vues.<br />

Travaux pratiques<br />

Sélections simples. Sélections multiples, jointures internes et externes, requêtes imbriquées. Modifications et<br />

suppressions de données.<br />

4) Tables transactionnelles InnoDB<br />

- Notion de transaction, niveaux d'isolation.<br />

- Structure physique des tables.<br />

- Programmation des transactions (START TRANSACTION, COMMIT, ROLLBACK).<br />

Travaux pratiques<br />

Mise en oeuvre de transactions.<br />

5) SQL procédural<br />

- Procédures stockées et fonctions.<br />

- Définition des procédures. Déclencheurs (Triggers).<br />

- Gestion des erreurs.<br />

Travaux pratiques<br />

Ecriture de procédures stockées. Récupération de résultats à l'aide de curseurs. Création et utilisation de<br />

triggers.<br />

6) Connexions, droits d'accès, sécurité<br />

- Niveaux de privilèges et vérification des droits.<br />

- Gestion des utilisateurs et de leurs privilèges.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 83 / 86


- Sécurisation des procédures stockées et des vues.<br />

Travaux pratiques<br />

Gestion des privilèges et des mots de passe.<br />

7) Introduction à l'administration<br />

- Exportation de données.<br />

- Sauvegardes, la commande mysqldump.<br />

- Survol de l'installation de MySQL.<br />

Travaux pratiques<br />

Exportation de données.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 84 / 86


Stage pratique de 3 jour(s)<br />

Réf : POS<br />

Participants<br />

Développeurs, exploitants<br />

et toute autre personne<br />

désireux d'utiliser au mieux<br />

PostgreSQL ou de migrer vers<br />

PostgreSQL.<br />

Pré-requis<br />

Connaissances de base<br />

d'un système d'exploitation<br />

(Windows, Linux/Unix).<br />

Prix 2014 : 1750€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

24 fév. 2014, 31 mar. 2014<br />

28 avr. 2014, 26 mai 2014<br />

30 juin 2014, 8 sep. 2014<br />

6 oct. 2014, 12 nov. 2014<br />

8 déc. 2014<br />

Aix<br />

28 avr. 2014, 10 juin 2014<br />

13 oct. 2014, 15 déc. 2014<br />

Bordeaux<br />

19 mai 2014, 15 juil. 2014<br />

29 sep. 2014, 24 nov. 2014<br />

Bruxelles<br />

19 mai 2014, 29 sep. 2014<br />

24 nov. 2014<br />

Geneve<br />

19 mai 2014, 29 sep. 2014<br />

24 nov. 2014<br />

Lille<br />

19 mai 2014, 15 juil. 2014<br />

29 sep. 2014, 24 nov. 2014<br />

Luxembourg<br />

19 mai 2014, 29 sep. 2014<br />

24 nov. 2014<br />

Lyon<br />

28 avr. 2014, 10 juin 2014<br />

13 oct. 2014, 15 déc. 2014<br />

Nantes<br />

24 fév. 2014, 28 avr. 2014<br />

23 juin 2014, 29 sep. 2014<br />

24 nov. 2014<br />

Rennes<br />

24 fév. 2014, 28 avr. 2014<br />

23 juin 2014, 29 sep. 2014<br />

24 nov. 2014<br />

Sophia-antipolis<br />

28 avr. 2014, 10 juin 2014<br />

13 oct. 2014, 15 déc. 2014<br />

Strasbourg<br />

19 mai 2014, 15 juil. 2014<br />

29 sep. 2014, 24 nov. 2014<br />

Toulouse<br />

19 mai 2014, 15 juil. 2014<br />

29 sep. 2014, 24 nov. 2014<br />

PostgreSQL, prise en main<br />

OBJECTIFS<br />

Le SGBD PostgreSQL dispose de la majorité des fonctionnalités que l'on peut trouver dans des produits<br />

commerciaux comme Oracle ou DB2. Cette formation vous apprendra à l'utiliser de manière efficace,<br />

notamment à créer et à exploiter une base de données, ou encore à programmer avec le langage PL/pgSQL.<br />

1) Introduction<br />

2) SQL avec PostgreSQL<br />

3) Le langage PL/pgSQL<br />

4) Maintenance des données<br />

1) Introduction<br />

- Présentation de PostgreSQL, versions.<br />

- Le modèle relationnel, le schéma.<br />

- Tables, contraintes. Interfaces utilisateurs.<br />

2) SQL avec PostgreSQL<br />

5) Gestion des utilisateurs et des groupes<br />

6) Configuration de PostgreSQL<br />

7) Compléments<br />

- La norme SQL. Positionnement de PostgreSQL. Mise en place du schéma d'une base.<br />

- Type de données PostgreSQL. Tables. Séquences. Vues. Contraintes d'intégrité sur les tables.<br />

- Ajout, modification et suppression des données.<br />

- Interrogation du schéma d'une base. Sélection, restriction, tri, jointure.<br />

- Extractions complexes. Utilisation d'opérateurs. Spécificités SQL de PostgreSQL.<br />

- Fonctionnalités avancées PostgreSQL. Transactions. Vues. Tableaux. Héritage de tables.<br />

Travaux pratiques<br />

Création d'un schéma. Script SQL DDL. Création de vues. Scénarios de transactions.<br />

3) Le langage PL/pgSQL<br />

- Les instructions, types du langage. Blocs de code.<br />

- Structures de contrôle. Erreurs et des exceptions.<br />

- Les curseurs. Déclaration, déplacement et fermeture.<br />

- Les procédures et les fonctions.<br />

- Ajout de sous-programmes à une base de données.<br />

- Les déclencheurs, triggers. Structure.<br />

Travaux pratiques<br />

Fonctions stockées.<br />

4) Maintenance des données<br />

- Importation/exportation de données.<br />

- Avec COPY TO et COPY FROM. Avec Psql.<br />

- Sauvegarde et restauration des données.<br />

- Outils pg_dump. Optimisation de requêtes.<br />

- Les INDEX. L'optimiseur. EXPLAIN et VACUUM.<br />

Travaux pratiques<br />

Importation/exportation de données. Création d'index et analyse de plan d'exécution de requêtes.<br />

5) Gestion des utilisateurs et des groupes<br />

- Création. Authentification.<br />

- Octroi de privilèges.<br />

Travaux pratiques<br />

Création d'utilisateurs, allocation de droits. Tests d'authentification.<br />

6) Configuration de PostgreSQL<br />

- Installation et démarrage d'une base.<br />

- Le Postmaster. Le fichier Postgresql.conf.<br />

- Tables système.<br />

Travaux pratiques<br />

Installation d'une base et configuration.<br />

7) Compléments<br />

- Les interfaces de programmation.<br />

- Connexion de PostgreSQL avec PHP, JDBC, ODBC.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 85 / 86


Stage pratique de 3 jour(s)<br />

Réf : RIB<br />

Participants<br />

Ce stage s'adresse à tous les<br />

informaticiens ayant à utiliser<br />

MariaDB.<br />

Pré-requis<br />

Connaissances de base<br />

d'un système d'exploitation<br />

(Windows/Linux).<br />

Prix 2014 : 1750€ HT<br />

Eligible DIF<br />

Dates des sessions<br />

Paris<br />

24 mar. 2014, 2 juin 2014<br />

15 sep. 2014, 12 nov. 2014<br />

MariaDB, prise en main<br />

OBJECTIFS<br />

Un cours intensif qui vous permettra d'acquérir toutes les compétences nécessaires à l'utilisation efficace et<br />

fiable de la base de données Maria DB : la pratique du langage SQL, les objets de la base de données, la<br />

sécurité... Ce stage propose également une introduction à l'administration.<br />

1) Présentation du serveur de données MariaDB<br />

2) Le langage SQL<br />

3) Requêtes avancées<br />

1) Présentation du serveur de données MariaDB<br />

4) Optimisation des requêtes<br />

5) Introduction à la programmation<br />

- Le serveur MariaDB, historique, les versions et les autres projets issus de MySQL.<br />

- Les bases de données sous MariaDB (création, suppression, options).<br />

- Les outils MariaDB.<br />

- Les tables (type, contraintes, indexes, colonnes virtuelles, contraintes, etc.).<br />

- Introduction au moteur de stockage MariaDB (MyISAM/Aria,XtraDB/InnoDB, etc.).<br />

Travaux pratiques<br />

Création de bases de données, création de différents types de tables, modifications.<br />

2) Le langage SQL<br />

- Le modèle relationnel.<br />

- Intégrité référentielle (show, information_schema, performance_schema).<br />

- Le langage LMD : SELECT, GROUP BY, HAVING, ORDER BY, LIMIT, UNION...<br />

- Fonctions et expressions SQL (CASE, IF, LIKE, fonctions numériques, fonctions sur les dates, gestion des<br />

valeurs NULL).<br />

- Introduction aux transactions (norme ACID et MariaDB).<br />

Travaux pratiques<br />

Implémentation d'un modèle de données, analyse des contraintes et réalisation de requêtes<br />

3) Requêtes avancées<br />

- Requêtes multitables (INNER, JOIN, CROSS JOIN, LEFT/RIGHT OUTER JOIN).<br />

- Les sous-requêtes (scalaires, listes, tables dérivées)<br />

- Les transactions (fonctionnement, cohérence des données).<br />

- Niveaux d'isolation (READ COMMITED, REPEATABLE READ, READ UNCOMMITED, SERIALIZABLE).<br />

- Verrouillage des tables (type de verrous, visualisation, les verrous mortels).<br />

- Comparaison jointures/sous-requêtes : les avancées de MariaDB.<br />

Travaux pratiques<br />

Réalisation des requêtes avec jointures, de sous-requêtes, requêtes préparées, transactions et analyses des<br />

verrouillages des tables.<br />

4) Optimisation des requêtes<br />

- Plan d'exécution (EXPLAIN, SHOW EXPLAIN, STATISTIQUES).<br />

- Exécution de requêtes et cache de requêtes.<br />

- Indexation et bonnes pratiques.<br />

- Sécurisation des procédures stockées et des vues.<br />

Travaux pratiques<br />

Analyse des plans d'exécution, indexation des requêtes.<br />

5) Introduction à la programmation<br />

- Les procédures stockées et les fonctions.<br />

- Les curseurs.<br />

- La gestion des erreurs.<br />

- Les triggers : type, utilité.<br />

ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 86 / 86

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!