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

Transcription

Développement logiciel, PHP, C, C++, autres langages
Développement logiciel, PHP, C, C++, autres langages
Conçus sur la base d'expériences concrètes, les cours Orsys en programmation vous
permettront d'acquérir une parfaite maîtrise des langages phares que sont PHP, C, C++, et
de leurs dernières évolutions, mais également de langages tels que l'Objective-C, le Perl,
le Python ou encore le SQL. Vous verrez comment développer de nouvelles applications,
les intégrer au système d'information de votre entreprise et assurer leur maintenance. Vous
apprendrez à mettre en œuvre les Frameworks les plus utilisés et les méthodes les plus
efficaces de test, d'industrialisation et d'optimisation.
Apprentissage de la programmation
Introduction à la programmation avec Visual Basic
Introduction à la programmation avec Java
Introduction à la programmation avec C#
(réf. INJ) Best
.... p.4
.... p.6
.... p.8
(réf. OGR)
Initiation à la programmation avec Python
(réf. INP) Best
(réf. THO)
.... p.10
PHP : préparation à la certification Zend
PHP Zend Certified Engineer, préparation à la certification
(réf. PPH)
.... p.12
PHP : formations mixtes tutorées
Développer des sites Web avec PHP
.... p.14
(réf. ACB) New Mixte tutoré
PHP : les fondamentaux
PHP 7 et 5, développer un site Web dynamique
(réf. PHH) Best
.... p.16
PHP 7 et 5, maîtriser la programmation orientée objet
(réf. POG)
PHP 7 et 5, pour les développeurs objet
.... p.20
(réf. OBP) Best
PHP 7, nouveautés et bonnes pratiques de migration
PHP 7 et 5, perfectionnement
(réf. PHA)
.... p.18
.... p.22
(réf. PHM) New
.... p.24
PHP 7 et 5, perfectionnement pour les développeurs objet
(réf. OBA)
PHP 7 et 5, industrialisation des développements
(réf. HPO)
.... p.28
Architecture REST, développer des Web Services en PHP
(réf. STE)
PHP 7 et 5, sécuriser vos applications
(réf. PSE)
.... p.26
.... p.29
.... p.31
PHP : frameworks
PHP, technique avancée de développement pour le Web
(réf. PYM) Best
Zend Framework 2 et 3, maîtrise du développement Web
(réf. FAR)
Zend Framework, maîtrise du développement Web
(réf. ZEN)
.... p.33
.... p.35
.... p.37
Langage C
Programmation en C
(réf. LGC) Best
.... p.39
Programmation en C, perfectionnement
(réf. CFT)
C11, mise à niveau pour développeur C
(réf. CDE)
Linux industriel, temps réel et embarqué
(réf. LXT) Best
Linux/Unix, développement système
(réf. LIS)
Linux, drivers et programmation noyau
.... p.42
.... p.44
.... p.46
.... p.48
(réf. LDI) Best
.... p.49
Langage C++
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
Programmation objet en C++
(réf. C++) Best
Programmation C++, perfectionnement
.... p.51
.... p.53
(réf. POP) Best
C++11, mise à niveau pour développeur C++
(réf. VEC)
.... p.55
C++, mise à niveau pour les développeurs C# et Java
(réf. TDE)
.... p.57
C++, développement d'applications graphiques en QT
(réf. CQT)
.... p.58
C/C++, programmer vos applications en Multicore
(réf. MUC)
.... p.60
C++, programmer avec CUDA sous Visual Studio
(réf. CDU) New
.... p.62
Visual Basic
Développer en Visual Basic
(réf. VB6) Best
Visual Basic, perfectionnement
.... p.64
.... p.66
(réf. VBE)
Perl
Langage Perl
(réf. PRL) Best
.... p.67
Langage Perl, programmation avancée
Python, programmation objet
Python, perfectionnement
(réf. PYT) Best
(réf. PYA) New
.... p.69
(réf. LAP)
.... p.70
.... p.72
Django, développement Web avec Python
(réf. DJA)
.... p.74
Windev/Webdev
Windev, développement d'applications Desktop
Webdev, développement Web
(réf. DEV)
.... p.76
.... p.77
(réf. WEB)
Objective C
iPhone/iPad, développer des applications en Objective-C
iPhone/iPad, développement avancé en Objective-C
(réf. ONE) Best
(réf. DAN) New
.... p.79
.... p.82
Swift
Les bases du langage Swift
(réf. FIW)
.... p.84
iPhone/iPad, développer des applications en Swift
(réf. PAW)
.... p.86
SQL et langages SGBDR
SQL Server, Programmation SQL
(réf. PSQ) Best
SQL Server, programmation SQL avancée
SQL Server 2014 à 2008, développement
.... p.88
(réf. PAV) Best
(réf. SED)
.... p.90
.... p.91
Transact-SQL, optimisation pour SQL Server 2014 à 2008
SQL Server 2014/2012, mise en œuvre
SQL Server 2008, mise en œuvre
Oracle SQL
(réf. OSL) Best
(réf. SEM) Best
.... p.93
.... p.94
.... p.96
.... p.99
Oracle SQL, perfectionnement
Oracle SQL pour le décisionnel
Développer en PL/SQL
(réf. QSM)
(réf. TAS)
(réf. OSP)
.... p.100
(réf. ROD)
(réf. ORD) Best
.... p.102
.... p.103
Développer en PL/SQL, perfectionnement
Oracle, optimisation d'applications
SQL pour MySQL et PostgreSQL
(réf. DSP)
(réf. OPT) Best
(réf. MYP) Best
.... p.105
.... p.107
.... p.109
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
MySQL, prise en main
(réf. MSQ) Best
PostgreSQL, prise en main
.... p.111
(réf. POS) Best
.... p.113
PostgreSQL, optimiser vos developpements
(réf. DAV)
.... p.115
Autres langages et outils
Mettre en œuvre le contrôle de versions avec le système GIT
RUBY On Rails 4, développement Web
Programmation Cobol
(réf. BOL)
(réf. RUR)
(réf. GIT)
.... p.117
.... p.119
.... p.121
Corba, architecture, mise en œuvre
(réf. COR)
.... p.122
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
Stage pratique de 3 jour(s)
Réf : INP
Participants
Toute personne devant
apprendre à programmer.
Pré-requis
Aucune connaissance
particulière.
Prix 2017 : 1880€ HT
Dates des sessions
Paris
12 déc. 2016, 27 fév. 2017
9 mai 2017
Introduction à la programmation avec Visual Basic
Best
> Développement logiciel > PHP, C, C++, autres langages
Ce stage vous permettra de comprendre les fondements de la programmation et de l'algorithmique. Vous
acquerrez des bases en programmation qui vous permettront d'aborder n'importe quel langage dans les
meilleures conditions. Tous les aspects essentiels seront vus : les modèles de programmation, les éléments
de lexique et de syntaxe, les outils, l'organisation du code, l'accès aux bases de données et les tests.
OBJECTIFS PEDAGOGIQUES
Structurer des programmes selon un algorithme
Maîtriser les éléments de lexique et de syntaxe d'un langage pour écrire un programme
Compiler et exécuter un programme
Déboguer et tester un programme
Accéder à une base de données
Comprendre les grands principes de la programmation orientée objet
1) Les fondements de la programmation
2) Genèse d'un premier programme
3) Règles de programmation
4) Les variables
5) Opérateurs et expressions
6) Les structures de contrôle
7) Les procédures et les fonctions
8) Introduction à la programmation objet
9) L'accès aux bases de données
10) Maintenance, débogage et test des
programmes
Travaux pratiques
Ce stage contient plus de 60 % de travaux pratiques effectués selon les besoins en Visual Basic (cours réf
INP), en Java (cours réf INJ ), en C# (cours réf OGR) ou en Python (cours réf THO).
1) Les fondements de la programmation
- Qu'est-ce qu'un programme ? Qu'est-ce qu'un langage ? Les différents paradigmes. Quel langage pour
quelle application ?
- Les compilateurs. Les exécutables.
- Les responsabilités d'un programmeur.
- Qu'est-ce qu'un algorithme ?
- Les besoins auxquels répond un algorithme.
- Le concept de pseudo-langage.
Travaux pratiques
Présentation de différents langages (Java, C#, Visual Basic, C, C++). Ecriture d'un premier algorithme en
pseudo-langage.
2) Genèse d'un premier programme
- Ecriture d'un programme simple : syntaxe et instructions.
- Compilation et exécution du programme.
- Qu'est-ce qu'une librairie ? Son rôle, son usage.
Travaux pratiques
Découverte de l'environnement de développement et d'exécution. Ecriture, compilation et exécution d'un
premier programme.
3) Règles de programmation
- Convention de nommage.
- Convention syntaxique.
- Utilisation des commentaires. Pourquoi commenter les développements ?
- Améliorer la lisibilité des programmes : indentation du code, découpage du code...
4) Les variables
- Qu'est-ce qu'une variable ?
- Pourquoi typer une variable ?
- Les types primitifs : entiers, chaînes de caractères, nombres réels, autres.
- Déclaration, définition et initialisation d'une variable.
- Les constantes.
- Saisie, affichage, affectation, conversion de type.
- Organiser ses données sous forme de tableaux.
- Les types évolués : enregistrement, matrice, arbre.
Travaux pratiques
Ecriture de plusieurs programmes simples manipulant les variables.
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
5) Opérateurs et expressions
- Les différents opérateurs (multiplicatif, additif, comparaison, égalité, logique, affectation).
- Combinaison d'opérateurs.
- Expression booléenne.
Travaux pratiques
Manipulation des opérateurs et des expressions booléennes.
6) Les structures de contrôle
- Les sélections alternatives (si, si-alors-sinon, sélection cas).
- Les blocs d'insctructions (notion de début... fin).
- Les boucles itératives (tant que-répéter, répéter-jusqu'à, pour-de-à).
- Imbrication des instructions.
- Les commentaires.
Travaux pratiques
Utilisation des structures de contrôle pour implémenter un algorithme.
7) Les procédures et les fonctions
- Définitions : procédure, fonction.
- Pourquoi sont-elles incontournables en programmation (réutilisabilité, lisibilité...) ?
- Le passage de paramètres.
- Le code retour d'une fonction.
- Sensibilisation aux limites du passage de la valeur d'une variable.
- Notion de passage par adresse.
- Appel de fonctions.
Travaux pratiques
Debugging de programmes exemples.
8) Introduction à la programmation objet
- Les concepts associés à la programmation objet : classe, attribut, méthode, argument.
- La modélisation objet à partir des exigences fonctionnelles.
- Introduction aux bonnes pratiques d'organisation de conception et d'organisation d'un programme.
Travaux pratiques
Illustration des concepts objets.
9) L'accès aux bases de données
- Organisation et stockage des données.
- Les traitements de base (connexion, requêtes, récupération des données).
- Application cliente et serveur de données.
- Affichage et manipulation des données dans l'application cliente.
Travaux pratiques
Création d'un formulaire de recherche d'informations dans une base de données.
10) Maintenance, débogage et test des programmes
- Savoir lire et interpréter les différents messages d'erreurs.
- Utiliser un débogueur : exécuter un programme pas à pas, points d'arrêts, inspecter les variables pendant
l'exécution.
- Prévoir les tests unitaires.
Travaux pratiques
Utilisation d'un débogueur pour contrôler l'exécution des programmes.
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
Stage pratique de 3 jour(s)
Réf : INJ
Participants
Toute personne devant
apprendre à programmer.
Pré-requis
Aucune connaissance
particulière.
Prix 2017 : 1880€ HT
Dates des sessions
Paris
24 oct. 2016, 5 déc. 2016
30 jan. 2017, 3 avr. 2017
26 juin 2017, 21 aoû. 2017
Aix
13 fév. 2017, 2 mai 2017
Bordeaux
20 fév. 2017, 9 mai 2017
Bruxelles
Introduction à la programmation avec Java
Best
> Développement logiciel > PHP, C, C++, autres langages
Ce stage vous permettra de comprendre les fondements de la programmation et de l'algorithmique. Vous
acquerrez des bases en programmation qui vous permettront d'aborder n'importe quel langage dans les
meilleures conditions. Tous les aspects essentiels seront vus : les modèles de programmation, les éléments
de lexique et de syntaxe, les outils, l'organisation du code, l'accès aux bases de données et les tests.
OBJECTIFS PEDAGOGIQUES
Structurer des programmes selon un algorithme
Maîtriser les éléments de lexique et de syntaxe d'un langage pour écrire un programme
Compiler et exécuter un programme
Déboguer et tester un programme
Accéder à une base de données
Comprendre les grands principes de la programmation orientée objet
1) Les fondements de la programmation
2) Genèse d'un premier programme
3) Règles de programmation
4) Les variables
5) Opérateurs et expressions
12 déc. 2016, 13 mar. 2017
19 juin 2017
6) Les structures de contrôle
7) Les procédures et les fonctions
8) Introduction à la programmation objet
9) L'accès aux bases de données
10) Maintenance, débogage et test des
programmes
Geneve
Travaux pratiques
12 déc. 2016, 13 mar. 2017
19 juin 2017
Ce stage contient plus de 60 % de travaux pratiques effectués selon les besoins en Visual Basic (cours réf
INP), en Java (cours réf INJ), en C# (cours réf OGR) ou en Python (cours réf THO).
Grenoble
20 fév. 2017, 9 mai 2017
Lille
13 fév. 2017, 2 mai 2017
Luxembourg
12 déc. 2016, 13 mar. 2017
19 juin 2017
Lyon
20 fév. 2017, 9 mai 2017
Montpellier
13 fév. 2017, 2 mai 2017
Nantes
13 fév. 2017, 2 mai 2017
Rennes
13 fév. 2017, 2 mai 2017
Sophia-antipolis
13 fév. 2017, 2 mai 2017
Strasbourg
13 fév. 2017, 2 mai 2017
Toulouse
20 fév. 2017, 9 mai 2017
1) Les fondements de la programmation
- Qu'est-ce qu'un programme ? Qu'est-ce qu'un langage ? Les différents paradigmes. Quel langage pour
quelle application ?
- Les compilateurs. Les exécutables.
- Les responsabilités d'un programmeur.
- Qu'est-ce qu'un algorithme ?
- Les besoins auxquels répond un algorithme.
- Le concept de pseudo-langage.
Travaux pratiques
Présentation de différents langages (Java, C#, Visual Basic, C, C++). Ecriture d'un premier algorithme en
pseudo-langage.
2) Genèse d'un premier programme
- Ecriture d'un programme simple : syntaxe et instructions.
- Compilation et exécution du programme.
- Qu'est-ce qu'une librairie ? Son rôle, son usage.
Travaux pratiques
Découverte de l'environnement de développement et d'exécution. Ecriture, compilation et exécution d'un
premier programme.
3) Règles de programmation
- Convention de nommage.
- Convention syntaxique.
- Utilisation des commentaires. Pourquoi commenter les développements ?
- Améliorer la lisibilité des programmes : indentation du code, découpage du code...
4) Les variables
- Qu'est-ce qu'une variable ?
- Pourquoi typer une variable ?
- Les types primitifs : entiers, chaînes de caractères, nombres réels, autres.
- Déclaration, définition et initialisation d'une variable.
- Les constantes.
- Saisie, affichage, affectation, conversion de type.
- Organiser ses données sous forme de tableaux.
- Les types évolués : enregistrement, matrice, arbre.
Travaux pratiques
Ecriture de plusieurs programmes simples manipulant les variables.
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
5) Opérateurs et expressions
- Les différents opérateurs (multiplicatif, additif, comparaison, égalité, logique, affectation).
- Combinaison d'opérateurs.
- Expression booléenne.
Travaux pratiques
Manipulation des opérateurs et des expressions booléennes.
6) Les structures de contrôle
- Les sélections alternatives (si, si-alors-sinon, sélection cas).
- Les blocs d'instructions (notion de Début... Fin).
- Les boucles itératives (tant que-répéter, répéter-jusqu'à, pour-de- à).
- Imbrication des instructions.
- Les commentaires.
Travaux pratiques
Utilisation des structures de contrôle pour implémenter un algorithme.
7) Les procédures et les fonctions
- Définitions : procédure, fonction.
- Pourquoi sont-elles incontournables en programmation (réutilisabilité, lisibilité...) ?
- Le passage de paramètres.
- Le code retour d'une fonction.
- Sensibilisation aux limites du passage de la valeur d'une variable.
- Notion de passage par adresse.
- Appel de fonctions.
8) Introduction à la programmation objet
- Les concepts associés à la programmation objet : classe, attribut, méthode, argument.
- La modélisation objet à partir des exigences fonctionnelles.
- Introduction aux bonnes pratiques d'organisation de conception et d'organisation d'un programme.
Travaux pratiques
Illustration des concepts objets.
9) L'accès aux bases de données
- Organisation et stockage des données.
- Les traitements de base (connexion, requêtes, récupération des données).
- Application cliente et serveur de données.
- Affichage et manipulation des données dans l'application cliente.
Travaux pratiques
Création d'un formulaire de recherche d'informations dans une base de données.
10) Maintenance, débogage et test des programmes
- Savoir lire et interpréter les différents messages d'erreurs.
- Utiliser un débogueur : exécuter un programme pas à pas, points d'arrêts, inspecter les variables pendant
l'exécution.
- Prévoir les tests unitaires.
Travaux pratiques
Utilisation d'un débogueur pour contrôler l'exécution des programmes.
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
Stage pratique de 3 jour(s)
Réf : OGR
Participants
Toute personne devant
apprendre à programmer.
Pré-requis
Aucune connaissance
particulière.
Prix 2017 : 1880€ HT
Dates des sessions
Paris
14 nov. 2016, 6 mar. 2017
6 juin 2017
Aix
28 nov. 2016
Bordeaux
12 déc. 2016
Grenoble
28 nov. 2016
Lille
28 nov. 2016
Lyon
Introduction à la programmation avec C#
> Développement logiciel > PHP, C, C++, autres langages
Ce stage vous permettra de comprendre les fondements de la programmation et de l'algorithmique. Vous
acquérez des bases en programmation qui vous permettront d'aborder n'importe quel langage dans les
meilleures conditions. Tous les aspects essentiels seront vus : les modèles de programmation, les éléments
de lexique et de syntaxe, les outils, l'organisation du code, l'accès aux bases de données et les tests.
OBJECTIFS PEDAGOGIQUES
Structurer des programmes selon un algorithme
Maîtriser les éléments de lexique et de syntaxe d'un langage pour écrire un programme
Compiler et exécuter un programme
Déboguer et tester un programme
Accéder à une base de données
Comprendre les grands principes de la programmation orientée objet
1) Un programme
2) Nécessité d'un algorithme
3) Genèse d'un premier programme
4) Règles de programmation
5) Les variables
6) Opérateurs et expressions
7) Les structures de contrôle
8) Les procédures et les fonctions
9) Introduction à la programmation objet
10) L'accès aux bases de données
Travaux pratiques
Ce stage contient plus de 60 % de travaux pratiques effectués selon vos besoins en Visual Basic (cours INP),
en Java (cours INJ), en C# (cours OGR) ou en Python (cours réf THO).
28 nov. 2016
Montpellier
12 déc. 2016
Nantes
12 déc. 2016
Rennes
12 déc. 2016
Sophia-antipolis
28 nov. 2016
1) Un programme
- Qu'est-ce qu'un programme ?
- Qu'est-ce qu'un langage ? Les différents paradigmes.
- Quel langage pour quelle application ?
- Les compilateurs. Les exécutables.
- Les responsabilités d'un programmeur.
Travaux pratiques
Présentation de différents langages (Java, C#, Visual Basic, C, C++).
Strasbourg
28 nov. 2016
Toulouse
12 déc. 2016
2) Nécessité d'un algorithme
- Qu'est-ce qu'un algorithme ?
- Les besoins auxquels répond un algorithme.
- Le concept de pseudo-langage.
Travaux pratiques
Ecriture d'un premier algorithme en pseudo-langage.
3) Genèse d'un premier programme
- Ecriture d'un programme simple : syntaxe et instructions.
- Compilation et exécution du programme.
- Qu'est-ce qu'une librairie ? Son rôle, son usage.
Travaux pratiques
Découverte de l'environnement de développement et d'exécution. Ecriture, compilation et exécution d'un
premier programme.
4) Règles de programmation
- Convention de nommage.
- Convention syntaxique.
- Utilisation des commentaires. Pourquoi commenter les développements ?
- Améliorer la lisibilité des programmes : indentation du code, découpage du code...
5) Les variables
- Qu'est-ce qu'une variable ?
- Pourquoi typer une variable ?
- Les types primitifs : entiers, chaînes de caractères, nombres réels, autres.
- Déclaration, définition et initialisation d'une variable.
- Les constantes.
- Saisie, affichage, affectation, conversion de type.
- Organiser ses données sous forme de tableaux.
- Les types évolués : enregistrement, matrice, arbre.
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
Travaux pratiques
Ecriture de plusieurs programmes simples manipulant les variables.
6) Opérateurs et expressions
- Les différents opérateurs (multiplicatif, additif, comparaison, égalité, logique, affectation).
- Combinaison d'opérateurs.
- Expression booléenne.
Travaux pratiques
Manipulation des opérateurs et des expressions booléennes.
7) Les structures de contrôle
- Les sélections alternatives (si, si-alors-sinon, sélection cas).
- Les blocs d'instructions (notion de Début... Fin).
- Les boucles itératives (tant que-répéter, répéter-jusqu'à, pour-de- à).
- Imbrication des instructions.
- Les commentaires.
Travaux pratiques
Utilisation des structures de contrôle pour implémenter un algorithme.
8) Les procédures et les fonctions
- Définitions : procédure, fonction.
- Pourquoi sont-elles incontournables en programmation (réutilisabilité, lisibilité...) ?
- Le passage de paramètres.
- Le code retour d'une fonction.
- Sensibilisation aux limites du passage de la valeur d'une variable.
- Notion de passage par adresse.
- Appel de fonctions.
9) Introduction à la programmation objet
- Les concepts associés à la programmation objet : classe, attribut, méthode, argument.
- La modélisation objet à partir des exigences fonctionnelles : introduction aux bonnes pratiques
d'organisation de conception et d'organisation d'un programme.
Travaux pratiques
Illustration des concepts objets.
10) L'accès aux bases de données
- Organisation et stockage des données.
- Les traitements de base (connexion, requêtes, récupération des données).
- Application cliente et serveur de données.
- Affichage et manipulation des données dans l'application cliente.
Travaux pratiques
Création d'un formulaire de recherche d'informations dans une base de données.
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
Stage pratique de 2 jour(s)
Réf : THO
Participants
Toute personne devant
apprendre à programmer.
Pré-requis
Aucune connaissance
particulière.
Prix 2017 : 1440€ HT
Initiation à la programmation avec Python
> Développement logiciel > PHP, C, C++, autres langages
Ce cours vous initiera aux bases de la programmation et de l'algorithmique. Vous mettrez en œuvre les
différentes étapes clefs de la construction d'un programme informatique au travers du langage Python. Vous
découvrirez les éléments de lexique et de syntaxe, les outils, l'organisation du code et les tests.
OBJECTIFS PEDAGOGIQUES
Structurer des programmes selon un algorithme
Maîtriser les éléments de lexique et de syntaxe d'un langage pour écrire un programme
Compiler et exécuter un programme
Déboguer et tester un programme
Dates des sessions
Paris
24 nov. 2016, 16 mar. 2017
22 juin 2017
1) Un programme
2) Genèse d'un premier programme
3) Règles de programmation
4) Les variables
5) Opérateurs et expressions
6) Les structures de contrôle
7) Les procédures et les fonctions
8) Maintenance, débogage et test des
programmes
Travaux pratiques
60 % de TP réalisés selon les besoins en Visual Basic (cours réf INP), en Java (cours réf INJ ), en C# (cours
réf OGR) ou en Python (cours réf THO).
1) Un programme
- Qu'est-ce qu'un programme ?
- Qu'est-ce qu'un langage ? Les différents paradigmes.
- Qu'est-ce qu'un algorithme ? Le pseudo-langage.
- Les compilateurs. Les exécutables.
Exercice
Présentation de différents langages. Ecriture d'un premier algorithme en pseudo-langage.
2) Genèse d'un premier programme
- Ecriture d'un programme : syntaxe et instructions.
- Compilation et exécution du programme.
- Qu'est-ce qu'une librairie ? Son rôle, son usage.
Exercice
Ecriture, compilation et exécution d'un premier programme Python.
3) Règles de programmation
- Convention de nommage. Convention syntaxique.
- Utilisation des commentaires. Pourquoi commenter les développements ?
- Améliorer la lisibilité des programmes : indentation du code, découpage du code...
4) Les variables
- Qu'est-ce qu'une variable ?
- Les types primitifs : entiers, chaînes de caractères, nombres réels, autres.
- Déclaration, définition et initialisation d'une variable. Les constantes.
- Saisie, affichage, affectation, conversion de type.
- Organiser ses données sous forme de tableaux.
Travaux pratiques
Manipulation des variables.
5) Opérateurs et expressions
- Les différents opérateurs (addition, égalité...).
- Combinaison d'opérateurs.
- Expression booléenne.
Exercice
Manipulation des opérateurs et des expressions booléennes.
6) Les structures de contrôle
- Les sélections alternatives (si, si-alors-sinon...).
- Les blocs d'instructions (notion de Début... Fin).
- Les boucles itératives (tant-que-répéter, répéter-jusqu'à, pour-de-à).
- Imbrication des instructions.
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
Exercice
Utilisation des structures de contrôle.
7) Les procédures et les fonctions
- Définitions : procédure, fonction. Intérêt.
- Le passage de paramètres.
- Le code retour d'une fonction. Appel de fonctions.
8) Maintenance, débogage et test des programmes
- Savoir interpréter les différents messages d'erreur.
- Utiliser un débogueur : exécution d'un programme pas à pas, points d'arrêt, inspecter les variables.
- Tests unitaires.
Travaux pratiques
Utilisation d'un débogueur pour contrôler l'exécution des programmes.
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
Stage pratique de 3 jour(s)
Réf : PPH
Participants
Développeurs.
Pré-requis
Bonne connaissance
opérationnelle de PHP 5.5 en
contexte web, procédural et
objet.
PHP Zend Certified Engineer, préparation à la certification
> Développement logiciel > PHP, C, C++, autres langages
Ce stage vous délivrera l'ensemble des informations nécessaires au passage de l'examen de certification
PHP. Il s'agit d'un test de préparation basé sur des révisions du PHP et non d'un cours PHP. Les principaux
concepts du langage seront illustrés par la mise en œuvre d'exemples pour une meilleure assimilation.
OBJECTIFS PEDAGOGIQUES
Obtenir les informations relatives au passage de l'examen Zend Certified Engineer
Réviser en profondeur les 12 sujets de la certification
Acquérir les réflexes cognitifs en relation avec la procédure certifiante
Mettre en œuvre les concepts abordés par des exemples pratiques
1) Introduction
2) Bases de PHP
3) Tableaux
4) PHP et POO
5) Manipulations avancées
6) Conception et théorie
7) Bases de données
8) Sécurité
Méthodes pédagogiques
Illustration de la théorie par des exemples pratiques.
Démonstration
Fourniture de codes commentés correspondant à la théorie étudiée. Mise en œuvre des codes fournis.
Certification
Préparation à la certification Zend.
1) Introduction
- Certification PHP : pourquoi la certification ?
- Bases de l'examen. Questions et stratégies.
- Sujets de la certification.
2) Bases de PHP
- PHP embarqué.
- Variables & Constantes, portée. Variables système.
- Types de données et transtypage.
- Chaînes de caractères.
- Opérateurs : arithmétiques, booléens, binaires...
- Contrôles de flux : conditions & boucles. Itérateurs.
- Fonctions : déclaration, paramètres & références.
3) Tableaux
- Création, remplissage, fractionnement.
- Ajout et suppression d'éléments. Bouclage.
- Vérification des valeurs. Comparaisons.
- Tri, tri personnalisé. Fusion
4) PHP et POO
- Classes, propriétés, méthodes, instance. Constantes.
- Propriétés et méthodes statiques.
- Héritage. Propagation.
- Interfaces et classes abstraites. SPL.
- Chargement automatique. Réflexion.
5) Manipulations avancées
- Extraction de chaînes.
- Comparer et compter des chaînes.
- Fonctions phonétiques.
- Chaînes de caractères et tableaux.
- Sorties formatées. Expressions régulières.
- Différences PHP 4/5.
6) Conception et théorie
- Motifs de conception : active record, fabrique, itérateur, MVC, Proxy, Singleton.
- Fichiers, flux, réseaux : ressources et fichiers de sortie.
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 12
- Lecture/écriture, opérations de fichiers, wrappers, flux.
- Fonctionnalités Web : HTTP POST & GET, accéder aux données, uploads de fichiers, cookies.
- XML et Services Web : XML, SOAP, WSDL; créer et utiliser un Web Service, débogage.
7) Bases de données
- Théorie des SGBD. Typage, dimension et contraintes de champs. Index et clés étrangères.
- SQL : DDL,DML et DQL.
- Tris : ordre et sens.
- Groupement.
- Jointures (gauche et droite).
8) Sécurité
- La défense en profondeur et les bonnes pratiques.
- XSS : comprendre le Cross Site Scripting.
- CSRF : principes et décompte des attaques.
- Injections de fichiers distants (RFI). Exécution distante.
- Sessions : vol et corruption de sessions.
- Configuration de sécurité.
- Uploads : erreurs, tailles et vérifications de type mime.
ORSYS, La Grande Arche, Paroi Nord, 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
Mixte tutoré de 2 jour(s)
Réf : PHB
Développer des sites Web avec PHP
Prix 2017 : 1800€ HT
> Développement logiciel > PHP, C, C++, autres langages
New Mixte tutoré
Dates des sessions
Paris
13 mar. 2017, 29 mai 2017
OBJECTIFS PEDAGOGIQUES
Maîtriser la syntaxe PHP en vue de développer des sites web dynamiques
Traiter des formulaires web
Gérer des sessions utilisateurs
Accéder aux données d’une base de données MySQL
Créer dynamiquement des images et des graphismes
Concevoir des applications web MVC
1) 1. DISTANCIEL / E-LEARNING sur 4 semaines
2) 2. PRESENTIEL sur 2 jours
3) 3. DISTANCIEL / E-LEARNING sur 4 semaines
4) 4. BILAN
1) 1. DISTANCIEL / E-LEARNING sur 4 semaines
Je fais un quiz pour évaluer mon niveau
Je me prépare, j’assimile les fondamentaux
- Les bases de PHP
- Préparer son ordinateur, premiers pas, les variables - leçon 70’ + quiz.
- Transmettre des données de page en page
- L’url, variable superglobale, session, cookie - leçon 50’
- Page protégée par mot de passe - exercices + quiz.
- Stocker des informations dans une base de données
- Présentation des données, phpMyAdmin, lire, écrire, les fonctions et dates en SQL - leçon 70’
- Un blog - exercices + quiz.
Boite à outils
- Fiches de synthèse sur les points clés de la formation à utiliser dans mon quotidien professionnel et des
leçons complémentaires
- Utilisation avancée de PHP. Créer des images en PHP, Les expressions régulières (partie 1/2), Organiser
son code selon l’architecture MVC. La POO.
- Annexes : envoyer son site sur le Web, coder proprement, utiliser la documentation PHP.
2) 2. PRESENTIEL sur 2 jours
Les bases de données
- L’accès aux bases de données, les fonctions, MySQL.
- Le langage SQL (sélection, modification, suppression).
- Traitement des résultats des requêtes.
- Exercice : Création de fiches produit.
Les formulaires avancés
- Moteur de recherche.
- Les différents types de composants.
- Fonctions avancées de sélection : recherches et tris.
- Exercice : Créer un moteur de recherche avec sélection par catégorie, proposer une liste de liens.
MVC
- MVC : intérêt, objectif.
- Type de code pour le Modèle, le Contrôleur, la Vue ?
- Utilisation du Layout, ViewModel.
- Gestion des erreurs, plug-ins de Contrôleurs.
- Exercice : Mise en oeuvre du MVC.
La gestion du graphisme
- Création d’image, réutilisation.
- Gestion des polices et de l’écriture en mode image.
- Superposition de texte pour protection de droits.
- Réalisation de graphiques statistiques.
- Exercice : Réaliser des histogrammes. Récupérer des données à partir d’une base. Histogramme à
l’échelle.
Programmation Orientée Objet (POO)
- Rappel UML. Modélisation des classes. Outils.
- Conception objet : références, associations, héritage, classes abstraites, interfaces.
- Sérialisation et stockage. Organisation des fichiers.
- Exercice : Réalisation d’une classe Page Web.
Plan d’actions
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
- Bilan des compétences acquises.
- Plan de progrès individuel.
3) 3. DISTANCIEL / E-LEARNING sur 4 semaines
Je complète ma formation selon mes objectifs
- Utilisation avancée de PHP
- Les expressions régulières (partie 2/2)
- Exercice : créer un espace membres - Quiz
- Annexes
- Au secours ! Mon script plante !
- Protéger un dossier avec un .htaccess.
- Mémento des expressions régulières.
CAS PRATIQUE : Dès mon retour en entreprise je mets en application les connaissances acquises
- Conception du site d’une librairie (formulaires de consultation des livres, de réservation, vérification des
stocks…).
CORRIGE TYPE / Je reçois un corrigé type avec des commentaires.
- Assimiler la solution de mon tuteur.
- Comparer sa solution avec la mienne.
4) 4. BILAN
- Je donne mon avis et j’évalue la formation.
- Je teste mes connaissances et mesure ma progression.
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
Stage pratique de 4 jour(s)
Réf : PHH
Participants
Développeurs et webmasters.
Pré-requis
Connaissances de base
du langage HTML et d'au
moins un langage de
programmation.
Prix 2017 : 2440€ HT
Dates des sessions
PHP 7 et 5, développer un site Web dynamique
Best
> Développement logiciel > PHP, C, C++, autres langages
Ce cours vous permettra de maîtriser d'une manière opérationnelle le langage PHP dans le contexte de
développement de sites Internet dynamiques. Il vous permettra aussi d'aborder les aspects connexes à ce
type de développement : bases de données, langage SQL, manipulation de fichiers graphiques...
OBJECTIFS PEDAGOGIQUES
Maîtriser la syntaxe PHP en vue de développer de sites web dynamiques
Traiter des formulaires web
Gérer des sessions utilisateurs
Accéder aux données d'une base de données MySQL
Créer dynamiquement des images et des graphismes
Paris
4 oct. 2016, 15 nov. 2016
5 déc. 2016, 31 jan. 2017
21 fév. 2017, 21 mar. 2017
18 avr. 2017, 16 mai 2017
13 juin 2017, 18 juil. 2017
22 aoû. 2017
1) Introduction
2) Automatisation d'une page Web
3) Les formulaires simples
4) Les variables complexes : tableaux
5) Gestion des sessions utilisateurs
6) Utilisation d'une base de données MySQL
7) Les formulaires complexes
8) Le graphisme en PHP
Aix
Travaux pratiques
13 déc. 2016, 7 mar. 2017
13 juin 2017
Des machines sous Windows ou Linux équipées du serveur Web Apache avec le module PHP et un serveur
MySQL seront mis à la disposition des participants. Les participants vont créer un site complet de vente en
ligne.
Bordeaux
13 déc. 2016, 7 fév. 2017
30 mai 2017
Bruxelles
29 nov. 2016, 14 mar. 2017
13 juin 2017
Geneve
29 nov. 2016, 14 mar. 2017
13 juin 2017
Grenoble
13 déc. 2016, 7 fév. 2017
30 mai 2017
Lille
13 déc. 2016, 7 mar. 2017
13 juin 2017
Luxembourg
29 nov. 2016, 14 mar. 2017
13 juin 2017
Lyon
13 déc. 2016, 7 fév. 2017
30 mai 2017
Montpellier
13 déc. 2016, 7 mar. 2017
13 juin 2017
Nantes
13 déc. 2016, 7 mar. 2017
13 juin 2017
Rennes
13 déc. 2016, 7 mar. 2017
13 juin 2017
Sophia-antipolis
13 déc. 2016, 7 mar. 2017
13 juin 2017
Strasbourg
4 oct. 2016, 13 déc. 2016
7 mar. 2017, 13 juin 2017
Toulouse
13 déc. 2016, 7 fév. 2017
30 mai 2017
1) Introduction
- L'architecture du Web : HTTP, CGI, interactivité : script client ou script serveur.
- Qu'est-ce que PHP ?
- Historique de PHP.
- Les différences entre PHP 4, PHP 5 et PHP 7.
- Notions d'architecture multicouche. Introduction aux principes MVC.
- Présentation de l'exemple utilisé durant la formation : le site de vente en ligne.
Travaux pratiques
Revue des balises principales HTML et des commandes de style. Introduction à la feuille de style de
l'application exemple.
2) Automatisation d'une page Web
- Les principes du client-serveur.
- Premiers éléments du langage.
- Intégration de PHP dans une page HTML.
- Variables et fonctions.
- Librairies.
- Fonctions de base, variables serveur et variable PHP.
- Variables serveur et variable PHP.
- Contrôles de flux et boucles.
Travaux pratiques
Réalisation de fonctions personnalisées. Réalisation d'une librairie de fonctions.
3) Les formulaires simples
- Passage et transmission de variables.
- Lecture/écriture de fichier.
- Vérification de Login/mot de passe.
- Redirection.
4) Les variables complexes : tableaux
- Constructeur Array.
- Fonctions associées aux tableaux.
- Fonctions d'extraction.
- Fonctions de navigation dans un tableau.
Travaux pratiques
Réalisation d'une fonction de création de liste déroulante.
5) Gestion des sessions utilisateurs
- Variables persistantes : Cookies et Session.
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 16
- Avantages et inconvénients des Cookies et Sessions.
- Limitations et précautions.
- Les variables de session.
- Fonctions liées aux variables de session.
- Les Cookies.
- Sérialisation des variables complexes.
- Utilisation.
Travaux pratiques
Réalisation d'un panier d'achat simple, version Cookie et Session. Gestion des quantités commandées.
6) Utilisation d'une base de données MySQL
- Présentation de MySQL.
- Concepts fondamentaux : bases, tables, champs, enregistrements.
- Bases MySQL.
- Tables MySQL.
- Champs MySQL.
- Enregistrements MySQL.
- Fonctions PHP MySQL.
- Introduction au langage SQL (sélection, modification, suppression).
- Traitement des résultats des requêtes.
Travaux pratiques
Création d'une base MySQL. Remplissage de la base à partir d'une base texte. Création de fiches produit à
la volée par extraction des données de la base.
7) Les formulaires complexes
- Moteur de recherche : formulaire en relation avec une base de données.
- Fonctions avancées de sélection : recherches et tris.
Travaux pratiques
Réalisation d'un moteur de recherche : la sélection sur auteur, titre et héros donne une liste de liens sur les
fiches produit correspondantes. Implémentation multicouche.
8) Le graphisme en PHP
- Présentation de la librairie GD2.
- Création d'image, réutilisation.
- Gestion des polices et de l'écriture en mode image.
- Superposition de texte pour protection de droits.
- Intégration au site.
- Réalisation de graphiques statistiques.
Travaux pratiques
Intégration des différents modules réalisés. Affichage des images avec mention de Copyright.
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
Stage pratique de 3 jour(s)
Réf : POG
Participants
PHP 7 et 5, maîtriser la programmation orientée objet
de la conception à l'implémentation des classes
> Développement logiciel > PHP, C, C++, autres langages
Développeurs désirant
améliorer la pérennité et
la maintenabilité de leurs
développements.
Vous découvrirez les fondements de la programmation orientée objet en PHP et apprendrez à concevoir une
application "objet" en vous basant sur la notation UML. Vous réaliserez un site Web en mettant en oeuvre
des concepts avancés tels que les objets métiers, les couches d'abstraction ou les design patterns.
Pré-requis
OBJECTIFS PEDAGOGIQUES
Bonnes connaissances
du PHP procédural ou
connaissances équivalentes à
celles apportées par le cours
" PHP 7 et 5, développer un
site Web dynamique " (réf.
PHH).
Prix 2017 : 1880€ HT
Dates des sessions
Paris
12 déc. 2016, 6 mar. 2017
6 juin 2017
Spécifier les exigences en fonction des cas d'usage
Maîtriser les concepts de base de l'implémentation Objet
Gérer la persistance des objets
Mettre en œuvre des Design Patterns
1) Approche objet dans un contexte Web
2) Concepts de base de l'implémentation Objet
3) POO : concepts avancés et apports de PHP5
4) Persistance des objets
5) Refactoring MVC
6) Rétro-ingénierie
Travaux pratiques
Apprendre à interpréter des diagrammes de classes UML et à concevoir, développer ou réécrire des
applications PHP en respectant le paradigme objet.
1) Approche objet dans un contexte Web
- Expression initiale des besoins et exigences.
- Cas d'utilisation et processus unifié simplifié.
- UML : diagrammes de séquences et de classes.
- Présentation des IHM.
Réflexion collective
Sur la base d'un cahier des charges, définir les objets de l'application à réaliser.
2) Concepts de base de l'implémentation Objet
- Eclipse : un IDE adapté à la POO en PHP.
- Définir une classe et la générer à partir d'UML.
- Espaces de nommage PHP.
- Instancier une classe.
- Propriétés, statiques et constantes : This, Self et ORP.
- Visibilité et protection. Accesseurs, mutateurs et surcharge selon PHP.
- Constructeur et destructeur.
- Maîtriser l'instanciation : Factory et Singleton.
Travaux pratiques
Depuis un logiciel UML, concevoir et générer les classes participantes.
3) POO : concepts avancés et apports de PHP5
- Typage Objet et interfaces.
- Les interfaces de la librairie standard (SPL).
- Egalités et tris d'objets, Design Pattern Strategy.
- Référence, clonage, héritage, agrégation et association.
- Polymorphisme, collections et Design Pattern Iterator.
- Classes abstraites et finales. Les traits.
Travaux pratiques
Implémentation de classes mettant en oeuvre les concepts avancés.
4) Persistance des objets
- Export et auto-sérialisation.
- Enregistrement en base de données et en session.
- JSON pour les requêtes client asynchrones.
- Transmission http.
Travaux pratiques
Classes pour la persistance des données. Accès asynchrone depuis une interface Ajax-XHR.
5) Refactoring MVC
- Chargement des classes : automatique ou paramétré.
- Classes ADO, modèle, vue. Gestion des fichiers.
- Les exceptions : gestion d'erreur orientée objet.
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
Travaux pratiques
Mise en oeuvre du design pattern Chaîne de Responsabilité. Refactoring du projet en MVC.
6) Rétro-ingénierie
- Introspection et classe Reflection.
- Framework de librairies PEAR.
- Outils de documentation.
- XMI et diagrammes de classes.
Travaux pratiques
Générer les fichiers XMI pour l'ensemble des classes du projet et visualiser les diagrammes UML.
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
Stage pratique de 5 jour(s)
Réf : OBP
Participants
Développeurs et webmasters.
Pré-requis
Bonnes connaissances
des bases du HTML. La
connaissance d'un langage
objet permettra de mieux
profiter de la formation mais
n'est pas indispensable.
Prix 2017 : 2610€ HT
Ce cours fait l'objet d'un
accompagnement vidéo
Dates des sessions
Paris
14 nov. 2016, 13 mar. 2017
15 mai 2017
PHP 7 et 5, pour les développeurs objet
créer une application Web en POO
Best
> Développement logiciel > PHP, C, C++, autres langages
Ce cours vous permettra de maîtriser d'une manière opérationnelle le langage PHP dans le contexte d'un
développement objet. Vous apprendrez à créer un site Web dynamique et aborderez la mise en œuvre des
aspects connexes à ce type de développement. L'ensemble du cours est orienté objet.
OBJECTIFS PEDAGOGIQUES
Maîtriser les bases du langage PHP
Maîtriser les concepts de base de l'implémentation Objet
Concevoir et naviguer dans des pages web
Assurer le suivi des sessions utilisateurs
Mettre en œuvre des formulaires
Gérer la persistance des données
1) Introduction
2) Bases du langage PHP
3) Programmation Orientée Objet (POO)
4) Premières applications Web en PHP
5) Gestion des sessions utilisateurs
6) Utilisation d'une base de données MySQL
7) Une application Web professionnelle
1) Introduction
- Qu'est-ce que PHP ? Interactivité avec les internautes.
- Les différences entre PHP 4, PHP 5 et PHP 7.
- Présentation de l'exemple utilisé durant la formation.
2) Bases du langage PHP
- Automatisation d'une page Web.
- Le client-serveur. Premiers éléments du langage.
- Intégration de PHP dans une page HTML.
- Variables et fonctions. Librairies.
- Fonctions de base, variables serveur et variable PHP.
- Contrôles de flux et boucles.
Travaux pratiques
Réalisation de fonctions personnalisées.
3) Programmation Orientée Objet (POO)
- Rappel UML. Modélisation des classes. Outils.
- Classes, propriétés, méthodes. Visibilité et protection.
- Constructeur, destructeur. Appel implicite vs explicite.
- Héritage et agrégation. Propagation. Polymorphisme.
- Sérialisation et stockage. Organisation des fichiers.
Travaux pratiques
Réalisation d'une classe PageWeb.
4) Premières applications Web en PHP
- Les formulaires simples. Passage de variables. Vérification de Login/mot de passe. Redirection.
- Les variables complexes : tableaux des fonctions.
Travaux pratiques
Réalisation d'un objet de stockage. Réalisation d'un objet formulaire (texte, select et upload).
5) Gestion des sessions utilisateurs
- Variables persistantes : Cookies et Session.
- Avantages, limitations et précautions.
- Variables de session et fonctions liées. Les Cookies.
- Sérialisation des variables complexes. Utilisation.
Travaux pratiques
Réalisation d'un objet panier d'achat stockable en Cookie ou Session. Gestion des quantités commandées.
6) Utilisation d'une base de données MySQL
- Concepts : bases, tables, champs, enregistrements.
- Fonctions PHP Mysqli. Introduction au langage SQL.
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
- Requêtes et traitement des résultats.
Travaux pratiques
Création d'une base MySQL et de fiches produits à la volée.
7) Une application Web professionnelle
- Notions d'architecture multicouche. Principes MVC.
- Formulaires complexes. Liaison aux données.
- Fonctions avancées de sélection : recherches et tris.
- Le graphisme en PHP : de la librairie GD.
- Intégration au site.
Travaux pratiques
Réalisation d'un moteur de recherche. Amélioration de la classe SQL. Implémentation multicouche.
Intégration des différents modules réalisés.
ORSYS, La Grande Arche, Paroi Nord, 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
Stage pratique de 2 jour(s)
Réf : PHM
Participants
Développeurs PHP.
Pré-requis
Ce cours s'adresse aux
développeurs ayant déjà une
connaissance du langage
dans le contexte Web, Orienté
Objet.
PHP 7, nouveautés et bonnes pratiques de migration
New
> Développement logiciel > PHP, C, C++, autres langages
Vous découvrirez et mettrez en pratique les nouveautés pertinentes apportées par la version PHP 7 dans le
cadre d'un développement orienté Web. Vous apprendrez également à préparer la migration d'un site Web
écrit en PHP 5 vers la version PHP 7 en identifiant les points clés à prendre en compte en amont.
OBJECTIFS PEDAGOGIQUES
Acquérir une connaissance pratique des nouveautés du langage PHP 7
Identifier les familles de problèmes potentiels en fonction de la version à migrer
Mettre en œuvre les bonnes pratiques de migration
1) Evolution de base
2) Le langage : ce qui change
3) Erreurs et Assertions
4) Fermeture et Générateur
5) POO : encore mieux !
6) Migrer de PHP 5 à PHP 7
Méthodes pédagogiques
Nombreux Travaux Pratiques
Travaux pratiques
Réalisation de scripts mettant en œuvre les nouveaux éléments syntaxiques.
1) Evolution de base
- Le cycle de release.
- Les éléments dépréciés.
- La syntaxe des variables.
- Intégration de l'Unicode au langage.
- Refonte du moteur, optimisation des performances.
Travaux pratiques
Dans un ensemble de scripts procéduraux représentant le fonctionnement d'un site Web de vente en ligne,
identifier les éléments dépréciés et mettre en œuvre une stratégie de migration.
2) Le langage : ce qui change
- Les opérateurs de fusion et de comparaison (spaceship).
- Les constantes.
- Le déballage d'objets.
- Les nouvelles fonctions : array_column.
- Les expressions régulières.
- La cryptographie.
- Les fonctions qui évoluent.
- Le typage d'entrée et de retour.
Travaux pratiques
A partir de classes ADO fournies, effectuer un refactoring des classes en tenant compte des nouvelles
syntaxes.
3) Erreurs et Assertions
- La nouvelle hiérarchie d'exceptions dans PHP 7.
- Exception Constructeur.
- Exception du Moteur.
- Exception d'Erreur.
- Les Erreurs presque fatales.
- Throwable et Userland.
- Appel de méthode sur non-objet.
- Assertions et Expectations.
Travaux pratiques
Implémentation d'une stratégie de gestion d'erreur et d'exception, basée sur les interfaces standards.
4) Fermeture et Générateur
- Closure : liaison à l'invocation.
- Générateur : valeurs de retour et délégation.
Démonstration
Démonstration de code portant sur la syntaxe des générateurs et des closures.
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
5) POO : encore mieux !
- Analyse lexicale contextuelle.
- Dépréciation des constructeurs PHP 4.
- Déclarations groupées.
- Les classes anonymes.
Travaux pratiques
Dans un ensemble de classes fournies, identification des constructeurs obsolètes et implémentation des
concepts abordés.
6) Migrer de PHP 5 à PHP 7
- Etablir la checklist des points à vérifier pour une bonne migration.
- Identification des familles de problèmes potentiels en fonction de la version à migrer.
- Contournement des problèmes.
Travaux pratiques
Mise en œuvre de la migration d'un site PHP 5 vers PHP 7.
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
Stage pratique de 3 jour(s)
Réf : PHA
Participants
Développeurs PHP ayant
déjà une bonne pratique du
langage en mode procédural.
Pré-requis
Bonnes connaissances du
PHP ou connaissances
équivalentes à celles
apportées par le stage "PHP 7
et 5, développer un site Web
dynamique" (réf. PHH).
Prix 2017 : 1880€ HT
Ce cours fait l'objet d'un
accompagnement vidéo
Dates des sessions
Paris
10 oct. 2016, 14 nov. 2016
12 déc. 2016, 23 jan. 2017
27 mar. 2017, 22 mai 2017
24 juil. 2017
PHP 7 et 5, perfectionnement
> Développement logiciel > PHP, C, C++, autres langages
Vous étudierez dans ce cours les aspects avancés du langage PHP liés à l'authentification et aux
manipulations des bases de données. L'ouverture vers les nouvelles perspectives (Web 2.0) est abordée
au travers d'une introduction à Ajax et par l'utilisation de clients riches communiquant en flux XML avec
le serveur. Vous utiliserez enfin quelques briques logicielles comme PEAR ou PHPLib pour optimiser vos
développements.
OBJECTIFS PEDAGOGIQUES
Découvrir le paradigme objet du langage PHP
Gérer les dépendances et les packages d'un projet PHP
Implémenter une authentification LDAP
Implémenter la persistance des données avec la librairie PDO
Mettre en œuvre des services web SOAP et REST
Gérer l'envoi de mails et la génération de PDF
1) Introduction
2) Programmation Orientée Objet (POO)
3) Espaces de Nommage
4) Composer / Packagist
5) Gestion des erreurs
6) Authentification LDAP
7) Bases de données : passer à PDO
8) XML/DOM/XSLT
9) Web Services
10) PDF et E-Mail
Travaux pratiques
Vous verrez comment mettre en pratique les concepts objets et les API utiles au développement
d'applications d'entreprise (accès aux bases de données, aux annuaires LDAP, échange de données XML,
appels de Web Services, etc.) en utilisant PHP.
1) Introduction
- Optimisation des développements par utilisation de briques logicielles.
- Développement et réutilisabilité : stratégies et enjeux.
2) Programmation Orientée Objet (POO)
- Classes, propriétés, méthodes. Méthodes automatiques.
- Visibilité et protection.
- Constructeur, destructeur. Appel implicite vs explicite.
- Héritage et agrégation. Règles de propagation. Polymorphisme et typage.
- Concepts avancés de POO. Classe abstraite. Interface. SPL. Design Pattern. Clonage.
Travaux pratiques
Réalisation d'une classe formulaire.
3) Espaces de Nommage
- Pertinence des Namespaces.
- Syntaxe de base.
- Implémentation et impacts sur le chargement.
Travaux pratiques
Modification des classes réalisées pour prise en compte d'un Namespace.
4) Composer / Packagist
- Principe et enjeux.
- Le gestionnaire de dépendances Composer.
- Partager ses packages avec Packagist.
- Installation / configuration de base.
- Syntaxe des contraintes.
- Chargeur universel et PSR.
Travaux pratiques
Paramétrage et utilisation de Composer pour l'intégration et le débugage du formulaire.
5) Gestion des erreurs
- Gestion des erreurs et des exceptions avec PHP.
- Création d'un gestionnaire d'erreurs.
- Bufferisation et fichiers Log.
Travaux pratiques
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
Réalisation d'une classe d'exception personnalisée. Implémentation d'un affichage bufférisé et d'un fichier
Log dans la classe.
6) Authentification LDAP
- Introduction.
- OpenLDAP.
- Configuration et démarrage (fichiers conf et ldif).
- Lecture. Connexion anonyme. Interrogation et récupération de données.
- Ecriture. Connexion administrateur. Formatage des données et insertion.
Travaux pratiques
Implémentation d'une classe d'authentification.
7) Bases de données : passer à PDO
- La librairie PDO (PHP Data Object/API abstraite d'accès aux bases de données).
- Les avantages et inconvénients de PDO (performance, portabilité, cache...).
- La gestion des transactions.
- Erreurs et gestion des exceptions.
- Sécurité : formatage des entrées et requêtes paramétrées.
Travaux pratiques
Création de classes ADO implémentant PDO en requêtes préparées et paramétrées.
8) XML/DOM/XSLT
- XML. Format et validation.
- DOM et XPath. Création, analyse.
- Transformateurs XSL. Utilisation de XSLT.
Travaux pratiques
Création d'un siteMap Google.
9) Web Services
- Présentation des web services.
- Approche REST (JSON/XML).
- Implémentation d'un client et d'un web service REST.
- Approche SOAP (WSDL).
- Créer un Web Service SOAP et son fichier de description.
- Implémentation d'un client SOAP en requêtage multiservices.
Travaux pratiques
Création de web services SOAP et requêtages croisés. Création de flux RSS (mode REST) sur base de flux
tiers (agrégation).
10) PDF et E-Mail
- Présentation des principales librairies PDF : PDFLib et FPDF.
- Opérations de base. Texte et mise en page.
- Opérations avancées. Images et tracés vectoriels.
- Mail et MIME : pièces jointes et format HTML.
- Les formats Mixed, Multipart, Alternative/Related.
- Les encodages particuliers.
- Paramétrage d'un serveur de test.
- La classe PhpMailer.
Travaux pratiques
Mise en œuvre d'une librairie FPDF pour la génération automatisée d'un rapport. Réalisation d'une classe
xMail pour l'envoi de mails au format mime. Utilisation de la classe créée pour l'envoi d'une facture PDF en
pièce jointe.
ORSYS, La Grande Arche, Paroi Nord, 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
Stage pratique de 2 jour(s)
Réf : OBA
Participants
Développeurs.
Pré-requis
Bonnes connaissances
de la programmation
orienté objet sous PHP.
Expérience souhaitable en
développement PHP.
Prix 2017 : 1440€ HT
Dates des sessions
Paris
7 nov. 2016, 20 mar. 2017
12 juin 2017
PHP 7 et 5, perfectionnement pour les développeurs objet
> Développement logiciel > PHP, C, C++, autres langages
Ce cours vous apprendra à tirer parti des extensions PHP et des briques logicielles existante. Vous verrez les
aspects avancés liés aux bases de données (extension LDAP, API Oracle, PostgreSQL, MySQL), au XML
(DOM et SAX), à AJAX, aux web services et aux extensions Mail et PDF.
OBJECTIFS PEDAGOGIQUES
Découvrir les bibliothèques PEAR et PHPLib
Implémenter une authentification LDAP
Implémenter la persistance des données avec la librairie PDO
Mettre en œuvre des services web SOAP et REST
Gérer l'envoi de mails et la génération de PDF
1) Rappel : Programmation Orientée Objet (POO)
2) PEAR et PHPLib
3) Authentification LDAP
4) Bases de données : manipulations avancées
5) XML/DOM/XSLT
6) Web service et SOAP
7) PDF pour Acrobat Reader
8) E-mail
1) Rappel : Programmation Orientée Objet (POO)
- Classes, propriétés, méthodes. Visibilité et Protection.
- Héritage. Règles de propagation. Polymorphisme.
2) PEAR et PHPLib
- Structure, conventions et paramètres.
- Principales librairies.
Travaux pratiques
PEAR : utilisation des librairies Html, Formulaires, CSS et DB. PHPLib : utilisation des librairies Template,
Authentification.
3) Authentification LDAP
- Introduction. OpenLdap. Configuration et démarrage.
- Lecture. Connexion anonyme, interrogation et récupération de données.
- Ecriture. Connexion administrateur. Formatage des données et insertion.
Travaux pratiques
Implémentation d'une classe d'authentification.
4) Bases de données : manipulations avancées
- Bases multitables et jointure : avantages et limites.
- Intégrité transactionnelle : assurer la cohérence des données. Procédures stockées : réutilisation lors de
migrations technologiques. Champs multidimensionnels. XML. Sécurité : formatage des entrées et requêtes
paramétrées. ODBC.
Travaux pratiques
Oracle : Commit / Rollback et pointeurs abstraits pour procédures stockées. MySQL : conversion multitables
et adaptation des requêtes DML.
5) XML/DOM/XSLT
- XML (format et validation), DOM (création, analyse), XSL/XSLT (transformation).
- Clients riches : Ajax. Principe et enjeux.
Travaux pratiques
Création d'un flux XML pour une page Ajax et d'un flux RSS.
6) Web service et SOAP
- Annuaires de services et accessibilité. WSDL et SOAP.
- Créer un Web service et son fichier de description.
Travaux pratiques
Utilisation d'un Web service.
7) PDF pour Acrobat Reader
- Opérations de base. Texte et mise en page.
- Opérations avancées. Images et tracés vectoriels.
Travaux pratiques
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
Implémentation d'une classe PDF.
8) E-mail
- MIME : pièces jointes et formats HTML
- Les formats Mixed, Multipart, Alternative/Related.
- Les encodages particuliers. Paramétrage d'un serveur de test. Etude d'une librairie.
Travaux pratiques
Gérer l'envoi de mails au format Mime et PDF en pièce jointe.
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
Stage pratique de 3 jour(s)
Réf : HPO
Participants
PHP 7 et 5, industrialisation des développements
les bonnes pratiques
> Développement logiciel > PHP, C, C++, autres langages
Développeurs désirant
améliorer la pérennité et
la maintenabilité de leurs
développements.
Ce cours de perfectionnement est axé sur trois thèmes : l'optimisation du code au niveau algorithmique,
l'adaptation de l'architecture logicielle aux nécessités du travail en équipes pluridisciplinaires ou multisites, et
la rationalisation des développements orientés maintenabilité et réutilisabilité.
Pré-requis
OBJECTIFS PEDAGOGIQUES
Bonnes connaissances de la
programmation orientée objet
sous PHP.
Prix 2016 : 1840€ HT
Dates des sessions
Paris
12 déc. 2016
Analyser les performances d'une application et optimiser le code PHP associé
Améliorer la productivité du développement d'une application web PHP
Mettre en œuvre une architecture logicielle multicouche
Introduire les Design Patterns dans la conception d'une application web PHP
1) Introduction
2) Optimisation de code
3) Productivité
4) Rationalisation des développements
Travaux pratiques
Des machines équipées des serveurs Apache2 avec PHP, MySql, Oracle, LDAP, FTP et mail seront mises à
la disposition des participants.
1) Introduction
- Problèmes classiques rencontrés en développement.
- Culture d'entreprise : impacts à long et moyen termes.
- Inflation non contrôlée du code et théorie de l'avalanche. Réutilisabilité : stratégies et enjeux.
2) Optimisation de code
- Outils : de mesure (Pear), de simulation de charge client/serveur, d'optimisation.
- Compression à la volée. Principe de la compression/décompression des pages. Précautions et limites.
- Optimisation des algorithmes. Optimisation des boucles, des requêtes SQL. Fichiers texte et bases de
données.
- Gestion des flux de sortie.
- Cache serveur. Réalisation d'un cache. Les classes existantes.
Travaux pratiques
Optimisation graduelle d'une page type, avec mesures comparées des performances obtenues.
3) Productivité
- La POO : bienfaits et limites. Etude de cas, pertinence de l'approche POO vs procédurale. La solution
mixte.
- IDE et documentation. Les principaux IDE du marché. Outils de documentation et conventions.
Configuration.
- Serveurs à balancement de charge. Approche matérielle. Impact sur le développement.
Travaux pratiques
Analyse de performances et consommation mémoire. Utilisation d'un IDE et d'un générateur de
documentation. Etude d'une classe "session" pour la conservation des données en environnement
multiserveurs.
4) Rationalisation des développements
- Architecture multicouche. Programmation " spaghetti " et maintenabilité.
- Approche pluridisciplinaire et sous-traitance.
- MVC : diviser pour mieux régner. MVC sans l'objet.
- Concepts avancés de la POO : classes abstraites, interfaces. Méthodes automatiques, surcharge,
sauvegarde, clonage.
- Frameworks (cadres). Philosophie. Etude d'un framework " maison ". Principaux frameworks du marché.
- Design patterns (motifs de conception). Principe de base et avantages.
- Structure des patterns Usine. Singleton. Chaîne de commande. Observateur. Stratégie.
- Encapsulation des concepts variables.
Travaux pratiques
Passage d'une page " spaghetti " à un modèle MVC. Réalisation d'un moteur de recherche avec un
framework. Implémentation d'une classe de connexion pour la conservation des ressources.
ORSYS, La Grande Arche, Paroi Nord, 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
Stage pratique de 2 jour(s)
Réf : STE
Participants
Développeurs PHP, chefs de
projets.
Pré-requis
Bonnes connaissances du
langage PHP en contexte
Web (procédural et objet).
Connaissances de base
en XML et JavaScript
souhaitables.
Architecture REST, développer des Web Services en PHP
> Développement logiciel > PHP, C, C++, autres langages
OBJECTIFS
Ce stage vous apprendra à implémenter une architecture de type REST pour l'exposition de ressources
en ligne ou leur consommation, à utiliser les méthodes du protocole http ainsi qu'à manipuler en PHP des
représentations XML de ressources Web.
1) Rappels sur la programmation orientée objet
2) XML, JSON, DOM, SAX et XPath
3) Approche REST
4) Implémenter un Web service REST
5) Implémenter un Client REST
6) Frameworks PHP
Travaux pratiques
Prix 2017 : 1410€ HT
Développement d'une application web de type CRUD en mode REST.
Dates des sessions
Paris
21 nov. 2016, 9 mar. 2017
8 juin 2017
1) Rappels sur la programmation orientée objet
- Classe, instance, propriétés et méthodes, visibilité.
- Héritage, interface, classes abstraites.
- Méthodes automatiques et surcharge.
Travaux pratiques
Réalisation de la classe ADO (Abstract Data Object) qui alimentera les Web Services.
2) XML, JSON, DOM, SAX et XPath
- Document XML bien formé, règles de base.
- Document XML valide : DTD ou XSL.
- Le DOM PHP (analyse et création).
- Les XPath avec PHP et la validation avec PHP.
- Approche SAX : transformateurs XSLT.
- Les fonctions PHP de manipulation du format JSON.
Travaux pratiques
Création d'une fonction récursive d'analyse DOM. Création d'une fonction d'encodage/décodage. Création
d'une méthode de la classe ADO, renvoyant les données au format XML et JSON.
3) Approche REST
- Principes de base et rappels HTTP.
- Les autres formats d'échanges : JSON, PHP sérialisé, MessagePack.
- Composants d'une architecture REST.
- Guides de conception d'une architecture REST.
- URL logiques vs. physiques.
- Définition des codes erreurs.
- Documenter un Web service REST.
- ROA vs. SOA / REST vs. SOAP.
Travaux pratiques
Concevoir un Web Service.
4) Implémenter un Web service REST
- Ecriture de Web services : lecture, insertion, mise à jour et suppression de données.
- Sécurité des transactions.
- Problématique du cachage.
- Mashup.
- Tester un service REST : navigateur et outils de tests.
Travaux pratiques
Création d'un Web service en mode CRUD, et sécurisation des opérations critiques. Paramétrage des types
de retour. Création d'un flux RSS.
5) Implémenter un Client REST
- Invoquer un Web service en mode GET depuis PHP.
- Utilisation des sockets et de cURL pour la création d'un contexte d'appel avec d'autres méthodes (PUT/
DELETE/POST).
- Gestion des erreurs.
- Spécificités de l'approche AJAX en mode XML et JSON.
- Spécificités de l'Approche AJAX.
- Insertion de Mashup en mode DOM HTML.
Travaux pratiques
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
Implémentation d'une page Web consommant les Web services de plusieurs sources et présentation des
résultats agrégés.
6) Frameworks PHP
- Qu'est-ce qu'un framework ?
- Les frameworks de création d'API REST en PHP.
- Mise en place d'un Web Service avec un framework.
Démonstration
Implémentation d'un service REST via un framework.
ORSYS, La Grande Arche, Paroi Nord, 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
Stage pratique de 3 jour(s)
Réf : PSE
Participants
Développeurs désirant
développer des applications
PHP plus sécurisées.
PHP 7 et 5, sécuriser vos applications
> Développement logiciel > PHP, C, C++, autres langages
De par sa nature même, le service dynamique de pages Web ouvre de nombreuses portes sur le monde
extérieur. Pour le développeur, il est primordial de prendre conscience des types d'attaques auxquelles son
code sera potentiellement exposé et de savoir y faire face, double objectif de ce stage.
Pré-requis
OBJECTIFS PEDAGOGIQUES
Bonnes connaissances
des langages PHP et SQL.
Connaissances de base de
JavaScript.
Prendre conscience des types d'attaques auxquelles son code peut être exposé
Intégrer la sécurité dans les développements dès la conception
Identifier les failles possibles au niveau des développements
Développer des applications plus sécurisées
1) Introduction
2) Les pages Web
3) Formulaires : la grande porte
4) Cookies et sessions
5) Sécuriser PHP : les bons réglages
6) Bases de données
7) Sécuriser l'emploi des extensions
8) Considérations générales
Travaux pratiques
Des postes sous Windows XP Pro équipés des serveurs Apache2 avec PHP, MySql, Oracle, LDAP, FTP et
mail seront mises à la disposition des participants.
1) Introduction
- Présentation des risques.
- Destruction de données.
- Détournement de site.
- Publication de données confidentielles.
- Abus de ressources.
- Vol d'identité.
- Plan Sécurité : Conception, Développement et Maintenance.
2) Les pages Web
- XSS principe et méthodes de protection. Moteur de recherche.
- CSRF : principe et contre-mesures. Virus en base de données.
3) Formulaires : la grande porte
- Les failles. Validation et limitations de l'approche JavaScript. Chaînage, attaques HTTP et Ajax. Contremesures.
- Validation des entrées. Tests et principe des listes. Expressions régulières, standards et filtres.
- Upload. Failles et contre-mesures.
4) Cookies et sessions
- Cookies. Principes et risques. Manipulation JavaScript. Tableaux de cookies.
- Sessions. Mode Cookie vs. Header. Principe du vol de session.
5) Sécuriser PHP : les bons réglages
- PHP.ini. Directives sensibles, sessions et erreurs.
- Protéger les scripts. Protection physique. Exécution de scripts distants ou à la volée.
6) Bases de données
- Failles potentielles. Administration. Stockage.
- Injections SQL. Principe et contre-mesure. Procédures stockées et requêtes paramétrées. Limites.
- Fichiers d'accès. Organisation et valeurs par défaut. Accès anonymes et protocoles.
7) Sécuriser l'emploi des extensions
- Email. Spam via un formulaire de contact : injections et contre-mesures.
- Accès réseau par PHP. Appels séquentiels et récursifs. Attaque furtive.
8) Considérations générales
- BFA. Principe. Identification et contre-mesures.
- Phishing. Principe et formation des utilisateurs.
- DoS. Quotas et gestion des charges.
- Mots de passe. Renforcement et stockage. .
- Chiffrement et signature. Cryptage / décryptage : implémentation PHP et MySQL.
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
- Ruses. Pot de Miel, Obfuscation et Turing inversé.
- Frameworks et briques logicielles. Gestion de la sécurité dans les développements composites.
- Audit de sécurité. Méthodologie de base, Cross-test et rapport d'audit.
ORSYS, La Grande Arche, Paroi Nord, 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
Stage pratique de 3 jour(s)
Réf : PYM
Participants
Développeurs PHP et chefs
de projets.
Pré-requis
Bonnes connaissances de
PHP. Connaissances de base
de la Programmation Orientée
Objet.
Prix 2017 : 1880€ HT
Dates des sessions
PHP, technique avancée de développement pour le Web
Best
> Développement logiciel > PHP, C, C++, autres langages
Vous apprendrez dans ce cours à développer des applications Web PHP avec les Frameworks les plus
populaires du marché. Vous verrez comment installer un framework, créer des formulaires et des templates,
organiser vos applications via une architecture MVC, manipuler des données persistantes et sécuriser les
accès.
OBJECTIFS PEDAGOGIQUES
Installer et configurer un le Framework
Appréhender les composants d'un Framework pour concevoir des applications web MVC
Manipuler des données via l'ORM Doctrine
Concevoir des formulaires et contrôler la validation des données
Créer et utiliser des services Web REST et SOAP
Paris
17 oct. 2016, 28 nov. 2016
23 jan. 2017, 27 mar. 2017
26 juin 2017
Aix
6 fév. 2017, 2 mai 2017
Bordeaux
1) Introduction aux Frameworks
2) Démarrer avec un Framework
3) La "couche contrôleur" et la gestion des URL
4) La "couche vue" et le moteur de template
Twig
5) La couche Modèle
6) Les formulaires et leur validation
7) Aller plus loin avec les Frameworks
6 mar. 2017, 22 mai 2017
Bruxelles
14 nov. 2016, 6 mar. 2017
6 juin 2017
Geneve
14 nov. 2016, 6 mar. 2017
6 juin 2017
Grenoble
6 mar. 2017, 22 mai 2017
Lille
6 fév. 2017, 2 mai 2017
Luxembourg
14 nov. 2016, 6 mar. 2017
6 juin 2017
Lyon
6 mar. 2017, 22 mai 2017
Montpellier
6 fév. 2017, 2 mai 2017
Nantes
6 fév. 2017, 2 mai 2017
Rennes
6 fév. 2017, 2 mai 2017
Sophia-antipolis
6 fév. 2017, 2 mai 2017
Strasbourg
6 fév. 2017, 2 mai 2017
Toulouse
2 nov. 2016, 6 mar. 2017
22 mai 2017
1) Introduction aux Frameworks
- Rappels de concepts liés à la programmation orientée objet.
- Présentation globale d'un Framework : avantages / inconvénients.
- Concepts principaux, architecture MVC.
- Installation d'un Framework Web PHP.
- Architecture d'un projet : application, bundles...
Travaux pratiques
Installation d'un Framework Web PHP.
2) Démarrer avec un Framework
- Configuration de l'application et surcharge.
- Outils de ligne de commande.
- Outils de débogage du code : Web Debug Toolbar...
- Autoloading des classes.
Travaux pratiques
Prise en main de l'environnement. Description de l'application Web qui servira de fil rouge.
3) La "couche contrôleur" et la gestion des URL
- Définition d'un "contrôleur" et de ses "actions".
- Mappage des contrôleurs au système de routage.
- Accéder aux informations de la requête http.
- Redirection vers une autre page, affichage d'une page d'erreur 404.
- Mécanisme du routage et gestion des URL.
- Injection de Dépendance et conteneurs de service.
Travaux pratiques
Mise en place du contrôleur de l'application. Manipulation des informations de requête et de session. Mise en
œuvre de la redirection.
4) La "couche vue" et le moteur de template Twig
- Utilisation des templates. Moteur de template Twig.
- Héritage de templates. Inclusions dans les templates.
- Templates modulaires. Helpers.
Travaux pratiques
Création et utilisation de templates. Mise en place de la couche Vue de l'application.
5) La couche Modèle
- Définition du modèle et de la base de données.
- Présentation de Doctrine 2 (DBAL et ORM).
- Gestion des objets persistants.
- Requêtage objet, accesseurs, relation et association.
- Remaniement de code et objets métiers.
Travaux pratiques
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
Mise en place de la couche Modèle de l'application.
6) Les formulaires et leur validation
- Création d'un formulaire simple.
- Affichage d'un formulaire dans des templates.
- Sécurité renforcée avec les tokens (CSRF).
- Validation des formulaires.
Travaux pratiques
Création de formulaires. Ajout de pages à l'application fil rouge. Mise en place de la validation.
7) Aller plus loin avec les Frameworks
- Sécurité, contrôle d'accès et authentification.
- Tests automatisés avec PHPUnit.
- Solution d'e-mail.
- Services Web (SOAP et Rest).
- Ajouter de nouvelles macros, fonctions à Twig.
Travaux pratiques
Mise en œuvre et tests.
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
Stage pratique de 4 jour(s)
Réf : FAR
Participants
Développeurs et architectes.
Pré-requis
Connaissances de base
des concepts objet. Bonnes
connaissances de PHP5 et du
HTML.
Prix 2017 : 2440€ HT
Zend Framework 2 et 3, maîtrise du développement Web
> Développement logiciel > PHP, C, C++, autres langages
Ce cours vous apportera les meilleures pratiques de développement Web avec le Zend Framework version
2. Après l'avoir installé, vous en découvrirez l'architecture et les concepts. Vous concevrez des modules, des
formulaires, aborderez l'injection de dépendances et utiliserez les principaux composants du framework.
OBJECTIFS PEDAGOGIQUES
Installer et configurer une application Zend Framework 2 et 3
Maitriser les Design Patterns objets en particulier le MVC
Utiliser les principaux composants de Zend Framework
Automatiser les tests dans Zend Framework
Développer des composants métiers avec Zend\Db et Doctrine
Dates des sessions
Paris
22 nov. 2016, 21 mar. 2017
30 mai 2017
1) Introduction
2) Programmation orientée objet
3) Utilisation du framework
4) Accès aux bases de données
5) Les formulaires
6) Bonnes pratiques avec Zend Framework
7) Autres composants
8) Les nouveautés et changements de Zend
Framework 3
1) Introduction
- Définition d'un framework et de son intérêt.
- Présentation générale du Zend Framework.
- Evolutions successives depuis Zend 1.
- Installation de Zend Framework avec de Composer.
- Architecture MVC. Squelette d'application.
Travaux pratiques
Création d'un projet.
2) Programmation orientée objet
- Rappels : classes, objets, visibilité, encapsulation, accesseurs, constructeur, méthodes magiques...
- Conception objet : références, associations, héritage, classes abstraites, interfaces.
- Design patterns : Factory, Model View Controller, Data Mapper, Table Gateway, Front Controller, Two Step
View...
- Normes PSR (0/1/2) et autochargement de classes.
Travaux pratiques
Conception d'un modèle Objet.
3) Utilisation du framework
- Type de code pour le Modèle, le Contrôleur, la Vue ?
- Utilisation du Layout, ViewModel, aides de vues disponibles et personnalisées.
- Gestion des erreurs, plug-ins de Contrôleurs.
Travaux pratiques
Développement d'un carnet d'adresses sous Zend Framework.
4) Accès aux bases de données
- Les bases de données simplifiées avec Zend\Db.
- L'ORM Doctrine et le module Doctrine Module.
Travaux pratiques
Manipulation de données via l'ORM Doctrine.
5) Les formulaires
- Zend\Form : gestion des formulaires.
- Filtrage et validation : Zend\Filter, Zend\Validate, Zend\InputFilter.
- Conversions objets/tableaux avec les Hydrateurs.
6) Bonnes pratiques avec Zend Framework
- Injection de dépendances : Zend\Di et Zend\ServiceManager.
- Ecriture de tests unitaires avec PHPUnit. Injection de Mocks via le ServiceManager.
- Création de modules, utilisation de modules Zend Framework populaires : ZfcUser, ZendDeveloperTools,
BjyProfiler...
- Débogage et profilage avec XDebug.
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
7) Autres composants
- Authentification et gestion des droits.
- Mails, Logs, Session, Config.
- Internationalisation avec Zend\ I18n.
- Zend\EventManager.
8) Les nouveautés et changements de Zend Framework 3
- PSR-7, zend-diactoros et zend-expressive.
- Le nouveau ServiceManager.
- Le nouvel EventManager.
- Migrer une application Zend Framework 2 vers Zend Framework 3.
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
Stage pratique de 3 jour(s)
Réf : ZEN
Participants
Développeurs et architectes.
Pré-requis
Connaissances de base
des concepts objet. Bonnes
connaissances de PHP5 et du
HTML.
Prix 2017 : 1880€ HT
Zend Framework, maîtrise du développement Web
> Développement logiciel > PHP, C, C++, autres langages
Ce cours vous apportera les meilleures pratiques de développement Web avec le Zend Framework. Après un
rappel des prérequis techniques et théoriques à l'utilisation du framework, vous en découvrirez les concepts
et apprendrez à l'installer, le configurer ainsi qu'à concevoir des applications Web.
OBJECTIFS PEDAGOGIQUES
Installer et configurer le Zend Framework
Appréhender les composants du Zend Framework pour concevoir des applications web MVC
Manipuler des données au sein d'une base
Concevoir des formulaires et contrôler la validation des données
Créer et utiliser des services Web REST et SOAP
Dates des sessions
Paris
5 déc. 2016, 3 avr. 2017
26 juin 2017
1) Prise en main du Zend Framework
2) Rappels sur la programmation orientée objet
3) Architecture MVC et composants de base
4) Base de données et passerelles
5) Utilisation avancée des composants
6) Interopérabilité et services Web
7) Tests sous Zend Framework
8) Bonnes pratiques
Travaux pratiques
Eclipse PDT et Wampserver seront utilisés pour les travaux pratiques.
1) Prise en main du Zend Framework
- Définition d'un framework et de son intérêt.
- Présentation générale du Zend Framework.
- Téléchargement, installation et configuration de base.
- Installation via la méthode SVN.
- Premiers pas avec Zend Framework.
2) Rappels sur la programmation orientée objet
- Concepts de la POO. Classes et objets. Implémentation en PHP : visibilité, constructeur, destructeur,
héritage...
- Modélisation : relations entre les classes, diagrammes UML.
- Concepts objet PHP avancés.
3) Architecture MVC et composants de base
- Organisation MVC du Framework Zend.
- Gestion du flux d'exécution MVC.
- Utilisation de Zend Controller.
- Maîtrise des composants de base (Zend_Loader, Zend_Config, Zend_Log, Zend_Debug, etc.).
- Configuration dans le fichier d'amorçage.
4) Base de données et passerelles
- Utilisation de Zend_Db et de ses classes dérivées.
- Utilisation du CRUD de Zend_Db_Table.
- Gestion des relations entre les tables dans le modèle.
- Utilisation, création de filtre et de validateur.
- Utilisation de l'objet Zend_Form dans le contexte MVC.
5) Utilisation avancée des composants
- Gestion des sessions avec Zend_Session, de l'authentification avec Zend_Auth et des autorisations avec
Zend_Acl.
- L'internationalisation et la localisation.
- Ajout d'une fonctionnalité à un composant existant.
- Intégration d'un composant externe.
6) Interopérabilité et services Web
- La communication interapplications.
- Utilisation des services Google, Amazon, Yahoo.
- Lecture d'un flux RSS quelconque.
- Utilisation et création d'un service Web REST et SOAP.
7) Tests sous Zend Framework
- Installation de PHPUnit via Pear.
- Tests unitaires avec Zend Framework et PHPUnit.
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
8) Bonnes pratiques
- Débogage d'une application Zend Framework.
- Choix des outils adaptés. Astuces d'Eclipse PDT.
- Profiling. Testabilité. Gestion des montées de version.
ORSYS, La Grande Arche, Paroi Nord, 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
Stage pratique de 5 jour(s)
Réf : LGC
Participants
Développeurs, ingénieurs,
chefs de projets proches du
développement.
Programmation en C
Best
> Développement logiciel > PHP, C, C++, autres langages
Pré-requis
Ce stage intensif vous permettra d'acquérir une connaissance réellement opérationnelle du langage. Il vous
expliquera le fonctionnement des différents mécanismes et vous montrera leur mise en œuvre grâce à de
nombreux exercices pratiques. A l'issue de ce stage, vous serez en mesure d'écrire des programmes C
robustes et portables.
Connaissances de base en
programmation.
OBJECTIFS PEDAGOGIQUES
Prix 2017 : 2610€ HT
Dates des sessions
Paris
21 nov. 2016, 19 déc. 2016
6 fév. 2017, 10 avr. 2017
19 juin 2017, 21 aoû. 2017
Aix
12 déc. 2016, 13 mar. 2017
19 juin 2017
Bordeaux
28 nov. 2016, 20 fév. 2017
10 avr. 2017, 26 juin 2017
Bruxelles
12 déc. 2016, 6 mar. 2017
12 juin 2017
Geneve
12 déc. 2016, 6 mar. 2017
12 juin 2017
Grenoble
12 déc. 2016, 20 fév. 2017
10 avr. 2017, 26 juin 2017
Lille
12 déc. 2016, 13 mar. 2017
19 juin 2017
Luxembourg
12 déc. 2016, 6 mar. 2017
12 juin 2017
Lyon
12 déc. 2016, 20 fév. 2017
10 avr. 2017, 26 juin 2017
Montpellier
28 nov. 2016, 13 mar. 2017
19 juin 2017
Nantes
28 nov. 2016, 13 mar. 2017
19 juin 2017
Rennes
28 nov. 2016, 13 mar. 2017
19 juin 2017
Sophia-antipolis
12 déc. 2016, 13 mar. 2017
19 juin 2017
Strasbourg
12 déc. 2016, 13 mar. 2017
19 juin 2017
Toulouse
28 nov. 2016, 20 fév. 2017
10 avr. 2017, 26 juin 2017
Maîtriser la chaîne de production d'un programme écrit en langage C
Mettre en oeuvre les opérateurs, les expressions et les structures de contrôle du langage C
Manipuler des structures de données, des tableaux, des pointeurs et des chaînes de caractères
Organiser le code d'un programme à l'aide de fonctions.
Exploiter les principales bibliothèques standard du langage C
1) Premiers pas en C
2) Opérateurs et expressions
3) Structures de contrôle
4) Tableaux, pointeurs et chaînes de caractères
5) Les structures
6) Les fonctions
7) Compilation séparée, classe d'allocation
8) Le préprocesseur
9) Les bibliothèques standard
Travaux pratiques
Des machines sous système Unix ou Windows (PC) seront mises à la disposition des participants de manière
à mettre en pratique les notions présentées.
1) Premiers pas en C
- Présentation du langage C, ses atouts.
- Le C++ par rapport au C. Normes C++11 et C11.
- Les fichiers sources (.c, .h).
- Structure générale d'un programme.
- La syntaxe de base du langage.
- Les types de données et les constantes de base.
- Variables globales et locales.
- Stockage et passage de paramètres.
- Entrées/sorties formatées.
- Les commentaires.
- Utilisation élémentaire de la chaîne de production.
- Les environnements d'édition, de compilation et d'exécution.
- Exécution d'un premier programme.
2) Opérateurs et expressions
- Opérateurs arithmétiques.
- Mécanismes d'évaluation des expressions.
- Post et pré-incrémentation de décrémentation.
- Précédence et associativité des opérateurs.
- Opérateurs d'affectation.
- Mécanismes de fonctionnement des expressions logiques.
- Expressions logiques dans les instructions while, if...
- Opérateurs de comparaison : <, >, ==, !=...
- Opérateurs logiques : ET, OU, négation.
- Les types numériques composés. Règle de conversion dans les expressions mixtes. Conversions implicites/
explicites.
- Initialisation des variables.
- Arithmétique sur les adresses.
- Formats d'entrée/sortie associés aux types numériques.
- Opérateurs bit à bit : ET, OU, OU exclusif, complément à 1, négation. Opérateurs de décalage : >>, <<.
- Expression conditionnelle avec l'opérateur ternaire.
Travaux pratiques
Mise en oeuvre des opérateurs et expressions.
3) Structures de contrôle
- Notion de blocs.
- Les structures de boucles : while, for.
- Instructions de contrôle de boucles : break, continue.
- Structures de choix : if, else, else if.
ORSYS, La Grande Arche, Paroi Nord, 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
- Structure de choix multiple : switch.
Travaux pratiques
Mise en oeuvre des structures de contrôle.
4) Tableaux, pointeurs et chaînes de caractères
- Définition, initialisation et accès aux éléments d'un tableau.
- Définition d'un pointeur. Récupérer l'adresse mémoire d'un objet. Accéder au contenu d'un pointeur.
- Equivalences pointeurs/tableaux.
- Calculs sur les pointeurs.
- Chaînes de caractères.
- Exemples de manipulation de chaînes de caractères.
- Les chaînes de caractères Unicode de C11.
Travaux pratiques
Manipulation de tableaux, de pointeurs et des chaînes de caractères.
5) Les structures
- Intérêts des structures.
- Déclarer, initialiser et accéder aux champs d'une structure.
- Utiliser des structures imbriquées.
- Créer de nouveaux types en utilisant Typedef.
- Les champs de bits.
- Les unions.
- Les énumérations.
- Les structures et énumérations anonymes de C11.
- Définir des pointeurs sur structures.
Travaux pratiques
Implémentation de nouvelles structures de données.
6) Les fonctions
- Définition d'une fonction.
- Appel d'une fonction.
- Passage de paramètres : par valeur ou par référence.
- Code retour d'une fonction. Les types de retour.
- La fonction " main ".
Travaux pratiques
Découper son code à l'aide de fonctions. Gérer les appels de fonctions.
7) Compilation séparée, classe d'allocation
- Mécanisme de fonctionnement de la chaîne de production.
- Utilisation de bibliothèque de sources.
- Notion de Makefile.
- Configuration mémoire d'un programme C (pile, tas...).
- Classes d'allocation des variables (auto, register, static, extern).
- Différents cas de figure de la compilation séparée.
- Notion d'objet externe.
- Cas des données globales et statiques.
- Cas des données locales.
- Règle de visibilité.
- Compléments sur les fonctions et les initialisations.
8) Le préprocesseur
- Utilisation des macros prédéfinies (constantes symboliques). Définir ses propres macros avec #define.
- Définir des macros comme des fonctions. Utilisation des marqueurs # et ##.
- Annuler la définition de constante avec #undef.
- La compilation conditionnelle : #if, #ifdef, #ifndef, #elif, #endif.
- Inclure des ressources avec #include.
Travaux pratiques
Utilisation des directives du préprocesseur. Mise en place de la compilation conditionnelle.
9) Les bibliothèques standard
- Les fonctions de calcul mathématique (sqrt, sin...).
- Les fonctions d'entrées/sorties (fprintf, fscanf...).
- Les fonctions d'accès aux fichiers (fread, fwrite...).
- Les fonctions de manipulation de chaînes de caractères (strlen, strcat...).
- Les fonctions de gestion de la mémoire (malloc, free...).
- Mise en place de structures chaînées (listes chaînées, arbres n-aire...).
- Les fonctions « sécurisées » de la librairie standard C11 (strcat_s, strlen_s, ...).
ORSYS, La Grande Arche, Paroi Nord, 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
Travaux pratiques
Utilisation des principales fonctions des bibliothèques standard.
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
Stage pratique de 3 jour(s)
Réf : CFT
Participants
Concepteurs, développeurs.
Pré-requis
Bonnes connaissances du
langage C ou connaissances
équivalentes à celles
apportées par le stage
"Programmation en C" (réf.
LGC).
Programmation en C, perfectionnement
> Développement logiciel > PHP, C, C++, autres langages
Cette formation vous permettra d'approfondir vos connaissances en langage C. Vous manipulerez les
aspects avancés des pointeurs et intégrerez des algorithmes récursifs dans vos développements. Vous
découvrirez les évolutions apportées par la programmation orientée objet ainsi que les ajouts majeurs de la
norme C11.
OBJECTIFS PEDAGOGIQUES
Manipuler les pointeurs, les pointeurs de fonctions et les bibliothèques intégrées au langage
Maîtriser les structures de données récursives et leurs algorithmes intrinsèques
Utiliser les outils de développement associés au langage C
Maîtriser les évolutions orientées objets et les ajouts majeurs de la norme C11
Prix 2017 : 1960€ HT
Dates des sessions
Paris
1) Les pointeurs et les tableaux
2) Les bibliothèques de fonctions
3) La récursivité
14 nov. 2016, 13 mar. 2017
19 juin 2017
4) Les outils de développement pour le langage
C
5) Du langage C à la programmation orientée
objet
6) Les aspects avancés de la norme C11
1) Les pointeurs et les tableaux
- Rappels sur les pointeurs et les tableaux, différences et points communs entre les deux.
- Les trois arguments de la fonction main(), les variables d'environnement.
- Tableaux à plusieurs indices.
- Pointeur de fonctions, tableau de pointeurs de fonctions.
- Allocation dynamique repérée par les pointeurs.
Travaux pratiques
Développement de programmes utilisant les pointeurs de façon intensive.
2) Les bibliothèques de fonctions
- Bibliothèques standard du langage : ctype.h, math.h, stdlib.h, time.h... et les autres.
- Bibliothèques mathématiques avancées : Linpack, Lapack.
- La gestion de l'allocation dynamique : fonctions calloc(), realloc().
- Fonctions à nombre d'arguments variables existantes et créées par le programmeur.
Travaux pratiques
Utilisation de plusieurs bibliothèques de fonctions.
3) La récursivité
- Définition de la récursivité.
- Fonctions récursives.
- Structure de données récursives : listes, arbres.
- Algorithmes intrinsèques sur les structures de données récursives (insertion, retrait...).
Travaux pratiques
Création d'une bibliothèque pour la manipulation des données récursives.
4) Les outils de développement pour le langage C
- Recherche d'erreur dans les programmes : le debugger.
- Outils de gestion de dépendances : make et touch.
- Analyse dynamique de programmes : le profiler.
- Outils de tests : CUnit.
Travaux pratiques
Utilisation des outils de développement pour le langage C.
5) Du langage C à la programmation orientée objet
- Définitions des notions orientées objet : objet, encapsulation, classe, héritage, polymorphisme.
- Domaines orientés objet traités avec le langage C.
- Du langage C au langage C++.
- Du langage C au langage Java.
Travaux pratiques
Conception orientée objet utilisant le langage C.
6) Les aspects avancés de la norme C11
- Le multi-threading.
- Les structures et unions anonymes.
ORSYS, La Grande Arche, Paroi Nord, 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
- Les fonctions génériques.
- La gestion du codage Unicode.
- Réécriture de certaines fonctions, vérification des tailles des données.
Travaux pratiques
Utilisation des notions ajoutées par la norme C11.
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
Stage pratique de 2 jour(s)
Réf : CDE
Participants
Développeurs C souhaitant
connaître les nouveautés
définies par le standard C11.
C11, mise à niveau pour développeur C
> Développement logiciel > PHP, C, C++, autres langages
Cette formation vous permettra d'assimiler les nouveautés introduites par le standard C11 ISO/IEC
9899:2011. Vous découvrirez la gestion du multithreading, la sélection générique de fonctions ainsi que de
nombreuses autres fonctions de la bibliothèque standard offrant des interfaces de fonctionnement sûres.
Pré-requis
OBJECTIFS PEDAGOGIQUES
Bonnes connaissances du
langage C. Une expérience
pratique de la programmation
avec ce langage est fortement
recommandée.
Appréhender les nouveautés de C11
Développer des applications exploitant les threads standards C11
Améliorer la fiabilité d'une application à l'aide des nouvelles fonctions standards C11
Prix 2017 : 1440€ HT
Dates des sessions
Paris
24 nov. 2016, 30 mar. 2017
29 juin 2017
1) L'avènement de C11
2) Rappels sur les avancées de C99
3) Le multithreading
4) Utiliser les threads de C11
5) Les objets atomiques
6) La sûreté de fonctionnement
7) Améliorations diverses
Travaux pratiques
Des exercices pratiques de programmation permettront d'appréhender les différents concepts abordés.
1) L'avènement de C11
- Les différentes normes C ANSI, C99, C11.
- Nouveautés de C11 et objectifs de cette norme ISO.
- Compatibilité avec les anciennes versions.
- Outils de développement (compilateurs, IDE...).
Travaux pratiques
Mise en place d'une chaîne de compilation C11.
2) Rappels sur les avancées de C99
- Les tableaux de taille variable.
- Les fonctions inline.
- Les nouveaux types de données long, _Complex, _Bool.
- Les pointeurs "restreints" (restrict).
- Mélanger instructions et déclarations de variables.
- Le problème de la non-conformité des compilateurs.
- Les reprises/abandons de C99.
Travaux pratiques
Compiler en C99 et en C11 et savoir dans quelle version on se trouve.
3) Le multithreading
- Le concept de thread. Processus léger versus lourd.
- Cycle de vie des threads (exécution...).
- Partage de données entre threads.
- Synchronisation, rendez-vous, sémaphores.
- Les propositions des autres langages : Java, C#, C++.
4) Utiliser les threads de C11
- Appréhender les concepts présents dans la norme et les différences/similitudes avec Pthreads.
- Créer un thread, le rendre exécutable.
- Définir des pauses, attendre la fin d'exécution.
- Utiliser les mutex.
- Implémenter un producteur-consommateur.
Travaux pratiques
Utiliser les threads C11.
5) Les objets atomiques
- Comprendre les problématiques de partage de données entre threads et le concept d'objet atomique.
- Définir une donnée atomique.
- Utiliser les opérations atomiques.
- La gestion des données non-atomiques.
Travaux pratiques
Réaliser un partage de données entre threads.
6) La sûreté de fonctionnement
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
- La suppression de gets() par gets_s().
- La fonction fopen_s().
- Autres fonctions : strcat_s(), strcpy_s()...
Travaux pratiques
Manipulation de fonctions.
7) Améliorations diverses
- L'alignement des structures (<stdalign.h>).
- La gestion des chaînes Unicode (char16_t...).
- Le support des structures et unions anonymes.
- La sélection générique de fonctions au sein des macros (_Generic).
- Manipulation des nombres complexes.
- Le nouveau mode de fopen().
- Les assertions statiques.
Travaux pratiques
Mise en œuvre des améliorations.
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
Stage pratique de 4 jour(s)
Réf : LXT
Participants
Développeurs Linux/Unix.
Pré-requis
Bonnes connaissances d'un
système Linux/Unix et de la
programmation en C.
Prix 2017 : 2440€ HT
Dates des sessions
Paris
22 nov. 2016, 20 déc. 2016
14 fév. 2017, 11 avr. 2017
20 juin 2017, 22 aoû. 2017
Aix
Linux industriel, temps réel et embarqué
Best
> Développement logiciel > PHP, C, C++, autres langages
Vous découvrirez dans cette formation l'architecture générale d'un système embarqué et mettrez en œuvre
les outils de développement industriel disponibles librement sous Linux. Vous implémenterez les mécanismes
d'ordonnancement temps partagé et réel souple, vous accéderez au développement temps réel strict avec
l'extension LinuxRT ou Xenomai. Vous verrez enfin comment personnaliser le boot d'un système Linux.
OBJECTIFS PEDAGOGIQUES
Découvrir les outils de développement industriel sous Linux
Maîtriser les mécanismes d'ordonnancement temps partagé et réel souple
Accéder au développement temps réel strict avec l'extension LinuxRT ou Xenomai
Personnaliser le boot d'un système Linux
1) Architecture
2) Développement industriel sous Linux
3) Ordonnancement temps partagé et réel souple
7 nov. 2016, 21 mar. 2017
27 juin 2017
Bordeaux
15 nov. 2016, 7 mar. 2017
30 mai 2017
Bruxelles
13 déc. 2016, 21 mar. 2017
13 juin 2017
Geneve
13 déc. 2016, 21 mar. 2017
13 juin 2017
Grenoble
7 nov. 2016, 7 mar. 2017
30 mai 2017
Lille
7 nov. 2016, 21 mar. 2017
27 juin 2017
Luxembourg
13 déc. 2016, 21 mar. 2017
13 juin 2017
Lyon
7 nov. 2016, 7 mar. 2017
30 mai 2017
Montpellier
15 nov. 2016, 21 mar. 2017
27 juin 2017
Nantes
15 nov. 2016, 21 mar. 2017
27 juin 2017
Rennes
15 nov. 2016, 21 mar. 2017
27 juin 2017
Sophia-antipolis
7 nov. 2016, 21 mar. 2017
27 juin 2017
Strasbourg
7 nov. 2016, 21 mar. 2017
27 juin 2017
Toulouse
15 nov. 2016, 7 mar. 2017
30 mai 2017
4) Temps réel strict - Extension Xenomai
5) Environnements restreints, systèmes
embarqués
6) Personnalisation du boot du système
Travaux pratiques
Les nombreux exercices et études de cas progressifs sont réalisés sur un réseau de serveurs Linux. Tous les
programmes réalisés en TP existent sous forme de squelettes que les participants complètent eux-mêmes.
1) Architecture
- Système informatique ordinaire et système embarqué.
- Contraintes d'un système embarqué.
- Architecture générale d'un système embarqué.
- Démarrage du système, étape de boot.
- Architecture du noyau Linux. Emplacement des sources.
- Démarrage du système, phases de boot (code dépendant, commun).
Travaux pratiques
Détection d'erreur à la compilation, à l'édition des liens, utilisation d'Eclipse/CDT, utilisation d'une chaîne
de compilation croisée. Débogage. Détection des fuites mémoire et des débordements de buffers. Test de
couverture sur l'exécution d'une application.
2) Développement industriel sous Linux
- Environnement Linux.
- Mode de fonctionnement : utilisateur, superviseur.
- Licences et implications pour le développement industriel.
- Outils de développement libres (compilateur, debugger, outils d'analyse, de trace et de tests).
- Les différents IDE (Integrated Development Environment) : Eclipse, ...
- Méthodes de compilation avancées.
- La chaîne de compilation croisée.
- La gestion de mémoire.
- La détection des fuites mémoire.
- Le débordement de buffers.
3) Ordonnancement temps partagé et réel souple
- Précision des mesures horaires et des attentes.
- Ordonnancement temps partagé. Les règles de la préemptibilité.
- Le fonctionnement général de l'ordonnanceur, priorités et partage du CPU.
- Quand le noyau devient-il préemptible ?
- Gestion du temps et précision des timers.
- Temps réel souple Posix.1b : principes.
- Configuration de l'ordonnancement des processus et des threads.
- Problèmes algorithmiques liés au temps réel.
- L'ordonnanceur Linux : noyaux 3.x
Travaux pratiques
Création et gestion de processus. Priorités et partage du CPU. Examen du fonctionnement de
l'ordonnanceur. Basculement de processus en temps réel. Vérification de la précision des timers et des
sommeils.
4) Temps réel strict - Extension Xenomai
- Principe du temps réel strict.
- Vue d'ensemble de l'extension Xenomai.
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
- Concepts de temps réel strict : principe des micro-noyaux Adeos, Xenomai, LinuxRT.
- Installation et API de Xenomai.
- Utilisation de l'extension LinuxRT.
- Ordonnancement temps réel strict en mode utilisateur.
- Interruptions (activation, désactivation, ...).
- Protection contre les interruptions.
- Gestion des communications.
- Présentation de l'API de Xenomai, installation de Xenomai.
- La gestion des tâches temps réel strict.
Travaux pratiques
Installation de Xenomai. Création de tâches temps réel strict. Gestion des communications. Ecriture d'un
gestionnaire d'interruption, de processus ordonnancé en temps réel strict. Installation et utilisation de
Xenomai.
5) Environnements restreints, systèmes embarqués
- Problématique des systèmes embarqués.
- Système LinuxRT, Xenomai : API, développement.
- Linux embarqué : choix d'une version du noyau.
- Bibliothèques système (Newlib, DietLibc).
- Applications et utilitaires à embarquer.
- Interface utilisateur.
- Interfaces graphiques optimisées (directfb, etc).
- Présentation et configuration d'un chargeur de démarrage.
- Générer un noyau réduit. Généralité sur le système de fichiers.
- Installation de la chaîne de compilation.
Travaux pratiques
Installation, compilation d'une application personnalisée LinuxRT, Xenomai et d'un noyau de taille réduite.
Création d'un système de fichiers. Incorporation d'applications minimales. Ecriture d'application utilisant une
interface par Leds ou afficheur LCD. Installation d'un serveur HTTP embarqué.
6) Personnalisation du boot du système
- Les différentes phases de boot (mise sous tension, Bios, chargeur (Grub, UBoot...) du noyau.
- Le rôle du processus Init. Le niveau d'exécution.
- Le contenu du processus Init.
- Le remplacement du processus Init par une version personnalisée.
- Initialisation depuis l'espace utilisateur.
Travaux pratiques
Création et personnalisation d'un disque initrd. Remplacement du processus Init par une version
personnalisée et remplacement par un script shell.
ORSYS, La Grande Arche, Paroi Nord, 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
Stage pratique de 4 jour(s)
Réf : LIS
Participants
Développeurs Linux/Unix.
Pré-requis
Bonne connaissance d'un
système Linux/ Unix et de la
programmation en C.
Prix 2017 : 2440€ HT
Dates des sessions
Linux/Unix, développement système
> Développement logiciel > PHP, C, C++, autres langages
OBJECTIFS
Cette formation vous permettra de maîtriser toutes les facettes de la programmation applicative : gestion des
processus et threads, gestion fine du système de fichiers et de la mémoire et bien entendu l'ensemble des
outils de communication interprocessus.
1) Outils et méthodes de développement
2) Les processus
3) Les threads Posix
4) Communications entre processus
5) Gestion de la mémoire
6) Signaux
7) Communiquer sur le réseau
8) Entrées-sorties classiques et avancées
Paris
Travaux pratiques
12 déc. 2016, 28 mar. 2017
13 juin 2017
Les exercices et études de cas progressifs sont réalisés sur un réseau de serveurs Linux. Tous les TP
existent sous forme de squelettes à complèter.
1) Outils et méthodes de développement
- Environnement Linux : influences, logiciels libres, licence GPL, distributions.
- Outils de développement : éditeurs et environnements intégrés, compilateurs et constructeurs, profileurs et
débogueurs.
Travaux pratiques
Prise en main des outils de développement (gcc, make...).
2) Les processus
- Concept de processus, identifications.
- Création, terminaison d'un processus et exécution.
- Problèmes de sécurité.
3) Les threads Posix
- Principe des threads Posix.1c.
- Exécution et terminaison des threads.
- Synchronisation des threads : utilisation des mutex et des variables conditions.
4) Communications entre processus
- Files de messages : principe. Files de message System V et Posix.
- Mémoire partagée : principe. Segments de mémoire System V et Posix.
- Synchronisation des accès : sémaphores Posix et nommés.
- Tubes de communication : création d'un tube, redirection des entrées-sorties, tubes nommés.
5) Gestion de la mémoire
- Principes de la mémoire virtuelle : espace d'adressage et mémoire physique. Segmentation et pagination.
Fautes de page.
- Allocation de la mémoire : fonctions classiques, exploration de l'espace d'adressage, réussite et échec
d'allocation.
- Utilisation de la mémoire : projection, configuration, détection des fuites et débordements mémoire.
6) Signaux
- Gestion des signaux : émission et réception de signaux, blocages et attentes.
- Signaux temps réel : principes. Emission et réception.
7) Communiquer sur le réseau
- Appels système fondamentaux : résolution de noms, de services, création de sockets.
- Communication TCP/IP et UDP/IP : serveurs multiprocessus et multithreads, clients TCP.
- Transmission unicast, multicast et broadcast.
8) Entrées-sorties classiques et avancées
- Descripteurs et flux : concepts, utilisation, paramétrage.
- Entrées-sorties avancées : entrées-sorties non bloquantes et multiplexées, asynchronisme.
ORSYS, La Grande Arche, Paroi Nord, 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
Stage pratique de 4 jour(s)
Réf : LDI
Participants
Développeurs Linux/Unix.
Pré-requis
Bonnes connaissances
de Linux/Unix et de la
programmation C.
Prix 2017 : 2150€ HT
Dates des sessions
Linux, drivers et programmation noyau
Best
> Développement logiciel > PHP, C, C++, autres langages
Cette formation vous permettra de maîtriser le développement de pilotes de périphériques (drivers) robustes
et adaptés aux différentes distributions de Linux. Vous verrez les différents types de périphériques, la gestion
de la mémoire, l’implémentation de protocole réseau ainsi que les périphériques USB.
OBJECTIFS PEDAGOGIQUES
Maîtriser le développement de pilotes de périphériques
Comprendre en détail les mécanismes internes du noyau
Savoir développer et intégrer de nouveaux éléments dans le noyau Linux
Ecrire un pilote périphérique en mode caractère ou bloc
Paris
12 déc. 2016, 10 jan. 2017
7 mar. 2017, 16 mai 2017
18 juil. 2017
Bruxelles
6 déc. 2016, 21 mar. 2017
20 juin 2017
Geneve
6 déc. 2016, 21 mar. 2017
20 juin 2017
Luxembourg
6 déc. 2016, 21 mar. 2017
20 juin 2017
1) Présentation du noyau
2) Les outils utilisables
3) Gestion des threads, scheduling
4) Gestion de la mémoire, du temps et de proc
5) Périphérique en mode caractère
6) Linux Driver Framework - sysfs
7) Périphérique en mode bloc et systèmes de
fichier
8) Interfaces et protocoles réseau
9) Drivers pour périphériques USB
Travaux pratiques
Les nombreux exercices et études de cas progressifs seront réalisés sur un réseau de serveurs Linux. Tous
les programmes réalisés en TP existent sous forme de squelettes que les participants complètent euxmêmes.
1) Présentation du noyau
- Vue d'ensemble du système et rôle du noyau.
- Les sites de référence.
- Spécificités des noyaux 2.6 et 3.x.
- Cycles de développement du noyau, les patchs.
- Mode de fonctionnement (superviseur et utilisateur). Appels système.
- Organisation des sources (Include/linux, Arch, Kernel, Documentation...).
- Principe de compilation du noyau et des modules.
- Les dépendances et symboles.
- Les exportations de symboles.
- Le chargement du noyau (support, argument...).
Travaux pratiques
Compilation et installation d'un noyau 3.x.
2) Les outils utilisables
- Outils de développement (Gcc, Kbuild, Kconfig et Makefile...).
- Outils de débogage (GDB, KGDB, ftrace...).
- Environnement de débogage (Linux Trace Toolkit...).
- Outil de gestion de version (Git...).
- Tracer les appels système (ptrace...).
Travaux pratiques
Installer l'ensemble des outils et des sources pour générer un module pour le noyau. Configurer le système
pour effectuer le chargement automatique de module au boot. Ecriture et test de modules simples.
3) Gestion des threads, scheduling
- Les différents types de périphériques.
- Contextes de fonctionnement du noyau. Protection des variables globales.
- Représentation des threads (état, structure task_stru, thread_info...).
- Les threads, contexte d'exécution.
- Le scheduler de Linux et la préemption.
- Création d'un thread noyau (kthread_create, wakeup_process...).
Travaux pratiques
Créer un module qui crée un thread noyau lors de l'insertion et le décharge lors du rmmod. Ecriture d'un
module d'horodatage d'événements à haute précision. Ecriture d'un module d'information sur les structures
internes des processus.
4) Gestion de la mémoire, du temps et de proc
- L'organisation mémoire pour les architectures UMA et NUMA.
- L'espace d'adressage utilisateur et noyau.
- La gestion de pages à la demande (demand paging).
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
- Allocations mémoire, buddy allocator, kmalloc, slabs et pools mémoire.
- La gestion des accès à la mémoire (les caches et la MMU).
- Les problèmes liés à la sur-réservation de la mémoire.
- Gestion de la mémoire sur x86 et ARM, utilisation des Hugepages.
- Optimisation des appels systèmes (IAPX32, VDSO).
- Synchronisations et attentes dans le noyau, waitqueues, mutex et les completions.
- Les ticks et les jiffies dans Linux.
- L'horloge temps réel, RTC (real Time Clock), implémentation des timers.
- Interface timers haute résolution, estampilles.
- Les outils spécifiques au noyau, listes chaînées, kfifo et container_of.
- L'interface noyau avec /proc par le procfs.
Travaux pratiques
Utilisation des timers et des estampilles. Implémentation d'un accès au procfs. Mise en œuvre de l'allocation
mémoire dans le noyau et optimisation à l'aide des slabs.
5) Périphérique en mode caractère
- Ecriture de pilotes de périphériques caractère.
- Le VFS (Virtual File System).
- Les méthodes associées aux périphériques caractères.
- Gestion des interruptions DMA et accès au matériel.
- Enregistrement des pilotes de périphériques de type caractère et optimisations.
Travaux pratiques
Ecriture progressive d'un pilote périphérique en mode caractère. Implémentation des synchronisations
d'entrée-sortie entre threads et avec la routine d'interruption. Implémentation de l'allocation mémoire.
6) Linux Driver Framework - sysfs
- Présentation du framework, kobject, kset et kref.
- Les objets drivers, device driver, bus et class.
- Utilisation et génération des attributs présentés dans le sysfs.
- Interface avec le hotplug, méthodes match, probe et release.
- Gestion du firmware.
- Gestion de l'énergie, méthodes de gestion de l'énergie.
Travaux pratiques
Implémentation d'un bus, d'un driver et d'un device driver. Adaptation du pilote de périphériques caractère.
Exemple d'utilisation de l'interface.
7) Périphérique en mode bloc et systèmes de fichier
- Principe des périphériques en mode bloc. Enregistrement du driver.
- Callback de lecture et écriture. Support du formatage et opérations avancées.
- Ordonnanceur des entrées-sorties par bloc du noyau.
- Conception des systèmes de fichiers.
- Enregistrement d'un nouveau système de fichiers.
Travaux pratiques
Exemple de pilote complet de périphérique virtuel. Exemple d'un système de fichiers personnalisé.
8) Interfaces et protocoles réseau
- Gestion des interfaces réseau sous Linux.
- Utilisation des skbuff.
- Les hooks netfilter.
- Intégration d'un protocole.
Travaux pratiques
Exemple de driver réseau pour périphérique virtuel. Implémentation de protocole réseau.
9) Drivers pour périphériques USB
- Principe des périphériques USB. Interface avec le module USB-core.
- Interaction du périphérique avec le noyau Linux.
- Construction d'un URB (USB Request Block).
- Les gadgets USB.
Travaux pratiques
Enregistrement d'un driver USB. Ecriture d'un driver en mode isochrone.
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
Stage pratique de 5 jour(s)
Réf : C++
Participants
Développeurs, ingénieurs et
chefs de projets proches du
développement.
Pré-requis
Bonnes connaissances d'un
langage de programmation de
type C, Java, C#, VB.NET ou
PHP.
Prix 2017 : 2610€ HT
Dates des sessions
Paris
24 oct. 2016, 28 nov. 2016
19 déc. 2016, 16 jan. 2017
13 fév. 2017, 6 mar. 2017
10 avr. 2017, 15 mai 2017
26 juin 2017, 24 juil. 2017
21 aoû. 2017
Aix
5 déc. 2016, 20 fév. 2017
15 mai 2017
Bordeaux
12 déc. 2016, 13 fév. 2017
10 avr. 2017, 26 juin 2017
Bruxelles
5 déc. 2016, 13 mar. 2017
19 juin 2017
Geneve
5 déc. 2016, 13 mar. 2017
19 juin 2017
Grenoble
5 déc. 2016, 13 fév. 2017
10 avr. 2017, 26 juin 2017
Lille
5 déc. 2016, 20 fév. 2017
15 mai 2017
Luxembourg
5 déc. 2016, 13 mar. 2017
19 juin 2017
Programmation objet en C++
Best
> Développement logiciel > PHP, C, C++, autres langages
Ce stage intensif a deux objectifs : initier les participants aux méthodes et réflexes de la programmation
par objets ; leur apporter une maîtrise opérationnelle complète du langage C++. Il est le fruit d'une longue
expérience en matière de développement en C++ et est construit selon une pédagogie rigoureuse reposant
sur des travaux pratiques nombreux et progressifs. Ce cours est basé sur le standard C++ 11, version la plus
récente de la norme C++.
OBJECTIFS PEDAGOGIQUES
Maîtriser la syntaxe du langage C++
Mettre en oeuvre les concepts de la conception orientée objet
Utiliser les outils de développement associés au langage C++
Maîtriser les ajouts majeurs de la norme C++ 11
1) La syntaxe du C++ (différences entre C et C++)
2) Approche orientée objet
3) Les classes et les objets C++
4) Dérivation et héritage
5) Les exceptions
6) La surcharge des opérateurs
7) Les modèles
8) Les I/O et aperçu sur la STL
9) Conclusion
Méthodes pédagogiques
Tous les exercices comportent une phase d'analyse/conception suivie d'une phase de programmation.
Travaux pratiques
Mise à disposition de stations de travail disposant des langages Visual C++ (sous Windows) et gcc (sous
Unix). Les TP ont été conçus pour illustrer tous les éléments du langage et pour systématiquement mettre en
oeuvre les concepts de la conception orientée objet.
1) La syntaxe du C++ (différences entre C et C++)
- Données : définition, initialisation, types de données.
- Expressions : notion de référence, mécanismes de cast.
- Opérateurs (: :, new, delete).
- Fonctions (passage de paramètres et valeur de retour par référence, valeurs par défaut, inlining, surcharge).
- Utilisation du code C dans un programme C++.
- Les références (arguments et valeurs de retour).
- Les types constants.
- Les espaces de nommage.
- Le typage "automatique" avec le mot-clé auto (C++ 11).
Lyon
Travaux pratiques
Prise en main de l'environnement de développement et programmation d'un programme simple.
5 déc. 2016, 13 fév. 2017
10 avr. 2017, 26 juin 2017
2) Approche orientée objet
Montpellier
12 déc. 2016, 20 fév. 2017
15 mai 2017
Nantes
12 déc. 2016, 20 fév. 2017
15 mai 2017
Rennes
12 déc. 2016, 20 fév. 2017
15 mai 2017
Sophia-antipolis
5 déc. 2016, 20 fév. 2017
15 mai 2017
Strasbourg
5 déc. 2016, 20 fév. 2017
15 mai 2017
Toulouse
12 déc. 2016, 13 fév. 2017
10 avr. 2017, 26 juin 2017
- Les principes généraux des techniques objet.
- C++ et la programmation objet.
- Une introduction aux méthodologies orientées objet.
- Une introduction aux modèles et à la notation UML (modèle statique, dynamique, modèle de coopération,
scénario).
Travaux pratiques
Application des concepts à une étude de cas qui sera l'un des fils directeurs des exercices suivants.
3) Les classes et les objets C++
- Les aspects syntaxiques : les champs, les méthodes, les constructeurs.
- Le contrôle d'accès.
- L'autoréférence.
- Les champs et méthodes statiques.
- Les fonctions.
- Les méthodes et les classes friend.
- La création dynamique des tableaux d'objets.
- Les aspects méthodologiques : la conception des classes.
- Les constructeurs de copie et de déplacement (C++11).
- La délégation de constructeurs (C++ 11).
- Introduction aux problématiques de gestion mémoire (pile, tas, ramasse-miettes...).
Travaux pratiques
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
La programmation de l'étude de cas. La conception et la construction d'une hiérarchie de classes et
d'interfaces.
4) Dérivation et héritage
- Principe de la dérivation.
- Les aspects syntaxiques : la définition des classes dérivées, les constructeurs.
- Le contrôle d'accès.
- La mise en oeuvre du polymorphisme : les fonctions virtuelles.
- La réutilisation de code : les classes abstraites.
- Les interfaces.
- La dérivation multiple.
- Les aspects sémantiques et méthodologiques : la factorisation du code.
Travaux pratiques
La mise en place du polymorphisme dans l'étude de cas.
5) Les exceptions
- Les aspects syntaxiques : les blocs de try, la génération des exceptions.
- Les aspects méthodologiques : la construction d'une hiérarchie d'exception, l'utilisation des exceptions.
Travaux pratiques
L'introduction des exceptions dans l'étude de cas.
6) La surcharge des opérateurs
- Principe de la surcharge.
- Surcharge des opérateurs binaires.
- Surcharge particulière : l'opérateur indice, fonction, conversion.
- Surcharge des opérateurs de gestion mémoire.
- Surcharge des opérateurs '<<' et '>>'.
Travaux pratiques
La surcharge de quelques opérateurs simples.
7) Les modèles
- Modèle de classe. Principes et mécanismes généraux. Surcharge des modèles et redéfinition de méthodes.
- Modèle de fonction. Principes et mécanismes généraux. Surcharge des modèles.
- Modèles et surcharge des opérateurs.
- Les modèles et les mécanismes de dérivation.
- Les améliorations proposées par C++ 11.
Travaux pratiques
Exercices sur les modèles.
8) Les I/O et aperçu sur la STL
- Les I/O.
- Le principe des streams et la hiérarchie des classes d'entrée/sortie.
- Description de quelques classes d'entrées/sorties.
- Aperçu sur la STL.
- Objectifs et principes.
- Descriptions de quelques modèles et classes.
- Les conteneurs, les itérateurs, la boucle basée sur un intervalle (C++ 11).
9) Conclusion
- Cycle de vie du logiciel : test, intégration, méthode de mise en production.
- Interaction avec les autres environnements.
- Analyse critique du C++.
- Evolution du C++.
ORSYS, La Grande Arche, Paroi Nord, 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
Stage pratique de 4 jour(s)
Réf : POP
Participants
Concepteurs et développeurs
d'applications en C++,
chefs de projets, architectes
logiciels.
Pré-requis
Bonnes connaissances en
développement C++, ou
connaissances équivalentes à
celles apportées par le stage
" Programmation Objet en C
++ " (réf. C++). Expérience
requise.
Programmation C++, perfectionnement
Best
> Développement logiciel > PHP, C, C++, autres langages
En constante évolution, le langage C++ offre des mécanismes tels que la généricité ou la méta
programmation qui permettent une conception robuste et très riche. Les récentes normes C++11 et C
++14 intègrent une part importante des bibliothèques du projet BOOST et améliorent notablement la
Standard Template Library (STL). Cette formation vous permettra d'approfondir la conception en C++ par
l'apprentissage des dernières évolutions du langage et l'utilisation effective de la STL.
OBJECTIFS PEDAGOGIQUES
Découvrir les nouveautés apportées par la version C++11
Maîtriser la gestion de la mémoire, des pointeurs et des références
Implémenter la généricité en C++
Découvrir la bibliothèque standard STL
Utiliser la librairie BOOST et C++11
Prix 2017 : 2150€ HT
Dates des sessions
Paris
13 déc. 2016, 21 fév. 2017
25 avr. 2017, 13 juin 2017
Aix
29 nov. 2016
Bordeaux
22 nov. 2016
Bruxelles
6 déc. 2016, 11 avr. 2017
27 juin 2017
1) Rappels
2) Les nouveautés langage de C++11
3) Gestion des opérateurs
4) Conversion et RTTI
5) La généricité
6) La STL (Standard Template Library)
7) Les nouveautés C++11 de la librairie standard
8) BOOST
9) Utilisation avancée de l'héritage
Travaux pratiques
Le cours se déroulera sur des stations de travail sous Windows/Visual C++. De nombreux exercices
permettront de mettre en oeuvre les thèmes abordés plus spécifiquement sous l'angle de la conception.
1) Rappels
Geneve
Luxembourg
- Classes d'allocation mémoire.
- Construction, initialisation, embarquement d'objets.
- Les fuites mémoire.
- Constance, le mot-clé mutable, Lazy Computation.
- Amitié (friendship) C++ et contrôle d'accès.
- Destruction virtuelle.
- Stratégie de gestion des exceptions.
- Les espaces de nommage (namespace).
6 déc. 2016, 11 avr. 2017
27 juin 2017
2) Les nouveautés langage de C++11
6 déc. 2016, 11 avr. 2017
27 juin 2017
Grenoble
29 nov. 2016
Lille
29 nov. 2016
Lyon
29 nov. 2016
Montpellier
22 nov. 2016
Nantes
22 nov. 2016
Rennes
22 nov. 2016
Sophia-antipolis
29 nov. 2016
Strasbourg
29 nov. 2016
Toulouse
22 nov. 2016
- nullptr et autres littéraux.
- Les directives =delete, =default.
- Délégation de constructeurs.
- Les énumérations «type safe».
- Le mot-clé auto et boucle sur un intervalle.
- Référence rvalue et impacte sur la forme normale des classes C++.
- Les lambda-expressions.
Travaux pratiques
Réécriture d'un code C++ existant en C++11, comparaison des deux implémentations.
3) Gestion des opérateurs
- Opérateurs binaires et unaires.
- L'opérateur d'indirection, cas d'usage.
- L'opérateur de référencement.
- Les opérateurs d'incrémentation/décrémentation préfixés et post-fixés.
- Les autres opérateurs : comparaison, affectation...
- La surcharge de l'opérateur [], des opérateurs d'insertion (<<) et d'extraction (>>).
- Les foncteurs et la surcharge de l'opérateur (), avantage par rapport aux fonctions.
Travaux pratiques
Création de foncteurs et de proxies (libération mémoire, comptage de références) avec les opérateurs
étudiés.
4) Conversion et RTTI
- Opérateurs de conversion. Constructions implicites, le mot-clé explicit.
- Les opérateurs de casting const_cast, static_cast, reinterpret_cast.
- Conversion dynamique et Runtime Type Information.
- L'opérateur typeid, les exceptions liées.
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
- La classe type_info.
- Contrôle du " downcasting " à l'aide de l'opérateur dynamic_cast.
Travaux pratiques
Mise en oeuvre des idiomes " is-a " et " is-kind-of " avec dynamic_cast.
5) La généricité
- Introduction aux patrons de classe. Généricité et préprocesseur.
- Fonction générique. Classe générique. Composition générique. Généralisation générique.
- Spécialisation partielle et totale.
- Introduction à la méta-programmation.
- La généricité, principe fédérateur des librairies STL et BOOST.
Travaux pratiques
Démarrage de l'étude de cas qui sera complétée avec la STL et BOOST. Mise en oeuvre de la composition
et de la généralisation génériques. Création de plug-ins génériques.
6) La STL (Standard Template Library)
- Composants de la STL : types complémentaires, conteneurs, algorithmes, itérateurs, objets fonctions, les
adaptateurs.
- Les chaînes de caractères STL, la classe template basic_string et ses spécialisations.
- Les conteneurs séquentiels et associatifs : définition, rôle et critères de choix.
- Les allocateurs et la gestion de la mémoire des conteneurs.
- Les méthodes d'insertion, de suppression, d'itération et d'accès aux principaux conteneurs : Vector, List,
Set, Stack...
- Le concept d'itérateur. Parcours d'un conteneur.
- Les différents groupes d'algorithmes STL : non mutants, mutants, de tri et de fusion, numériques.
- Manipulation de conteneurs (manipulation, recherche de valeurs...).
- Paramétrer les algorithmes génériques par des objets " fonction ".
- Les " adapteurs " et la modification du comportement d'un composant.
- La STL et les traitements sur les flux (fichiers, mémoire...).
- Principe du RAII : les pointeurs automatiques et la classe auto_ptr.
- Les exceptions standard de la STL.
Travaux pratiques
Implémentation des relations avec les collections de la STL. Utilisation d'algorithmes standard quelconques.
7) Les nouveautés C++11 de la librairie standard
- Evolution historique : Boost --> TR1 --> C++11.
- Les nouveaux conteneurs : array, forward_list, unordered_set, unordered_map.
- La classe tuple.
- Les pointeurs intelligents (smart pointer) : shared_ptr, weak_ptr, unique_ptr.
- Les nouveaux foncteurs et binders.
- Introduction à la gestion des threads.
- Les expressions régulières.
Travaux pratiques
Mise en œuvre de la robustesse avec les smart pointers. Utilisation d'expressions régulières.
8) BOOST
- La Pointer Container Library (destruction des données pointées d'un conteneur).
- Les structures de données boost::any et boost::variant.
- Programmation événementielle (connexions et signaux).
- Gestion des processus, mécanismes de communication interprocessus et mémoire partagée.
Travaux pratiques
Amélioration de l'implémentation de l'étude de cas par l'utilisation la Pointer Container Library.
9) Utilisation avancée de l'héritage
- Héritage versus embarquement. Héritage privé. Héritage protégé.
- Exportation de membres cachés avec la Clause Using.
- Héritage multiple et gestion des collisions de membres.
- Héritage en diamant. Héritage virtuel et dynamic_cast.
- Principes de conception : substitution de Liskov, principe d'ouverture/fermeture, inversion des dépendances.
- Règles d'implémentation des interfaces en C++.
Travaux pratiques
Combinaison de l'héritage multiple, privé et de l'exportation pour concevoir des classes robustes et
hautement évolutives.
ORSYS, La Grande Arche, Paroi Nord, 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
Stage pratique de 3 jour(s)
Réf : VEC
Participants
Développeurs C++ souhaitant
connaître les nouveautés
définies par le standard C+
+11.
Pré-requis
Bonnes connaissances
du langage C++. Une
expérience pratique de la
programmation avec ce
langage est recommandée.
Prix 2017 : 1960€ HT
Dates des sessions
Paris
21 nov. 2016, 3 avr. 2017
19 juin 2017
C++11, mise à niveau pour développeur C++
> Développement logiciel > PHP, C, C++, autres langages
Cette formation vous permettra d'assimiler les nouveautés introduites par le standard C++ 2011. Vous
découvrirez les expressions lambda, exploiterez les possibilités de la programmation fonctionnelle,
maîtriserez la gestion de la mémoire et exploiterez les autres nouveautés de la bibliothèque standard C++.
OBJECTIFS PEDAGOGIQUES
Appréhender les nouveautés et les améliorations du langage C++11
Utiliser les lambda-expressions
Exploiterez les possibilités de la programmation fonctionnelle
Maîtriser les allocations-destructions d'objets
Développer une application multi-threadée
1) L'avènement de C++11
2) Les améliorations du langage
3) Les modifications au niveau des classes
4) L'utilisation des threads
5) Autres nouveautés de la bibliothèque
standard
6) La programmation fonctionnelle avec les
lambda-expressions
7) La gestion mémoire et les conteneurs
Travaux pratiques
Des exercices pratiques de programmation permettront d'appréhender les différents concepts abordés.
1) L'avènement de C++11
- Les différentes normes C++98, C++03 et C++0x, C++11.
- Les nouveautés de C++11 et les objectifs de cette norme. Le devenir de BOOST, STL.
- La question de la compatibilité des codes anciens.
- La disponibilité des outils de développement (compilateurs, débogueurs, IDE ...).
Travaux pratiques
Vérification de l'outillage à l'aide d'un code C++11 fourni.
2) Les améliorations du langage
- Les énumérations fortement typées.
- Les tableaux à taille fixe.
- Le mot-clé auto pour simplifier le typage.
- La boucle basée sur un intervalle.
- Autres améliorations : templates à arguments variables, pointeur nul, littéraux...
Travaux pratiques
Mise en œuvre des améliorations.
3) Les modifications au niveau des classes
- La délégation de constructeurs, les contraintes liées à l'héritage.
- La nouvelle sémantique du déplacement et le constructeur par déplacement (move constructor).
- Adaptation de la forme normale des classes aux nouveautés (move constructor).
- Les directives =delete, =default.
- Les initialiseurs de conteneurs et de données membres.
Travaux pratiques
Création de classes C++11.
4) L'utilisation des threads
- Déclaration et exécution d'un thread. Attente de fin d'exécution avec join().
- La gestion des données locales à un thread, l'usage de volatile.
- Récupérer un résultat avec future<> et async().
- Obtenir des informations sur les capacités d'exécution de la plateforme avec hardware_concurrency().
Travaux pratiques
Multithreader un code séquentiel et mesurer le gain en termes de temps d'exécution.
5) Autres nouveautés de la bibliothèque standard
- La gestion du temps avec le namespace chrono.
- Le nouveau conteneur tuple.
Travaux pratiques
Mise en œuvre des nouveautés.
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
6) La programmation fonctionnelle avec les lambda-expressions
- Déclaration, typage, implémentation et utilisation.
- L'intérêt d'auto avec les lambda-expressions.
- La gestion des fermetures (closures), avec capture par valeur ou par référence des variables liées au
contexte.
Travaux pratiques
Exercices de programmation fonctionnelle.
7) La gestion mémoire et les conteneurs
- Les smart pointers : shared_ptr, weak_ptr, unique_ptr, auto_ptr. Usage conjoint avec la STL.
Travaux pratiques
Mise en œuvre de la gestion mémoire C++11.
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
Stage pratique de 2 jour(s)
Réf : TDE
Participants
Ce cours s'adresse aux
développeurs Java et C#
souhaitant acquérir des
connaissances spécifiques au
développement C++.
Pré-requis
Maîtrise de C# ou de Java
ainsi que des concepts de
programmation orientée objet.
C++, mise à niveau pour les développeurs C# et Java
> Développement logiciel > PHP, C, C++, autres langages
OBJECTIFS
Windows 8 a relancé l'intérêt du langage C++ auprès de développeurs pratiquant le C# et Java. Sur la base
de vos connaissances objets, ce cours vous assurera une transition douce vers le C++ 11. Vous apprendrez
comment C++ et sa librairie standard permettent d'écrire du code efficace et robuste pour vos applications.
1) Rappel des concepts de base du
développement C++
2) Présentation des concepts C++ avancés
3) Librairie standard : la BCL de C++
4) Syntaxe C++ avancée
5) C++ et l'interopérabilité
1) Rappel des concepts de base du développement C++
- Les différents fichiers sources (.h, .cpp...).
- Linkage et compilation de code écrit en C++.
- Ecriture de classes et structures : la syntaxe de base.
- Réutilisation de composants déjà compilés : .lib, .dll, .h etc.
Travaux pratiques
Création d'une solution multi-projets en C++, avec linkage statique et dynamique.
2) Présentation des concepts C++ avancés
- Instanciation "statique" versus instanciation "dynamique" d'objets.
- Les différents types de constructeurs (par défaut, par copie...).
- Gestion de la mémoire sans garbage collector (manuellement ou en utilisant les smart pointers de la librairie
standard).
- Héritage multiple : cas pratiques et pièges à éviter.
- Les Templates.
- Orientation objet et comparaison avec C#.
Travaux pratiques
Atelier de manipulation des smart pointers de la librairie standard.
3) Librairie standard : la BCL de C++
- Représentations mémoires possibles d'une chaîne de caractère et manipulation avec std::string et
std::wstring.
- Introduction à la stl (standard template library).
- Containers et itérateurs, les collections C++.
Travaux pratiques
Atelier de manipulation de chaînes de caractères et de collections en C++.
4) Syntaxe C++ avancée
- Inférence de types et mot-clef automatique.
- Orientation fonctionnelle du langage : Lambdas, Functors... et utilisation avec la stl.
- Asynchronisme et parallélisation avec C++ 11.
- Utilisation d'objets COM Microsoft, avec et sans smart pointers.
Travaux pratiques
Exercice d'introduction à la parallel platform library, et manipulation d'expressions Lambda. Cas pratique de
consommation d'objets COM, illustration avec Direct 2D.
5) C++ et l'interopérabilité
- Publication d'objets COM Windows réutilisables.
- Interopérabilité avec .Net sur le Desktop : C++ CLI.
- Interopérabilité avec .Net et JavaScript dans les applications Metro : C++ / CX.
Travaux pratiques
Création d'une application métro hybride C# / Xaml + C++ / Direct 2D.
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
Stage pratique de 5 jour(s)
Réf : CQT
Participants
Développeurs et chefs de
projets.
Pré-requis
Bonnes connaissances du
langage C++. Connaissances
de base en XML. Expérience
requise en développement C
++.
Prix 2017 : 2610€ HT
Dates des sessions
Paris
24 oct. 2016, 19 déc. 2016
20 mar. 2017, 29 mai 2017
28 aoû. 2017
C++, développement d'applications graphiques en QT
> Développement logiciel > PHP, C, C++, autres langages
QT est un framework orienté objet qui offre des composants d'interface graphique (widgets), d'accès aux
données, de connexions réseaux, etc. Cette formation vous apprendra à identifier les éléments importants
d'un projet QT et les différents composants graphiques proposés, et à les utiliser avec le XML.
OBJECTIFS PEDAGOGIQUES
Développer des applications graphiques avec le Framework QT
Découvrir les différents types de projets et leur structuration
Maîtriser les différents composants graphiques et leurs interactions
Comprendre et implémenter le système de plugin de QT
1) Présentation du langage QT
2) Les différents types de projets
3) Les éléments importants d'un projet
4) Les différents composants graphiques
5) La gestion des événements
6) Le système de plug-in de QT
7) Aller plus loin avec QT
1) Présentation du langage QT
- Historique du langage.
- Les différentes possibilités d'utilisation.
- Les autres librairies graphiques existantes.
2) Les différents types de projets
- Présentation des différents types de projets avec QT.
- Présentation de QT Creator.
- La structure de base d'une application à base d'IHM.
Exercice
Création d'une première application QT.
3) Les éléments importants d'un projet
- Fichiers pro, de conception graphique (ui).
- Les fichiers de gestion d'internationalisation (ts et qm).
- Les types de bases du langage (qint, qfloat...).
- La compilation avec qmake.
- La classe QObject.
- Présentation du modèle MVC.
- Le modèle MVC dans QT.
Exercice
Etude d'un fichier projet pour la mise en place de l'application.
4) Les différents composants graphiques
- Les composants de base de l'IHM (QMainWindow, QFrame, QLabel...).
- La gestion du positionnement des composants.
- Les boîtes de dialogue (QDialog).
- Les menus (QMenu).
- Modèles prédéfinis et personnalisés.
- Les outils de conception visuelle de QT (QT Designer...).
Exercice
Mise en place de la structure de l'application.
5) La gestion des événements
- Notions de signal et de slot.
- Déclaration de signaux et de slots.
- Installer des filtres d'événement.
- Accéder à l'application pendant un traitement lourd (timer et hasPendingEvents).
Exercice
Ajout de la gestion des événements à l'application.
6) Le système de plug-in de QT
- Comprendre ce que sont les plug-ins avec QT.
- Les différentes classes de plug-in (QStylePlugin...).
- Les éléments nécessaires à la mise en place d'un plug-in pour QT.
- Mise au point d'application gérant des plug-ins.
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
Exercice
Mise au point d'un plug-in simple.
7) Aller plus loin avec QT
- Utilisation de XML avec QT. Rappel sur XML, les parsers DOM et SAX. Parsing de documents XML en
utilisant QT.
- L'internationalisation. Rappel sur Unicode. L'objet QTranslator. L'application QT Linguist.
- Applications multiplateformes. QT Mobility.
Exercice
Utilisation d'un fichier XML pour stocker les données de l'application. Internationalisation de l'application.
ORSYS, La Grande Arche, Paroi Nord, 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
Stage pratique de 3 jour(s)
Réf : MUC
Participants
Développeurs, architectes
logiciels, chefs de projet.
Pré-requis
Bonnes connaissances de C
ou de C++. Connaissances
de base des concepts liés aux
applications Multicore.
C/C++, programmer vos applications en Multicore
> Développement logiciel > PHP, C, C++, autres langages
Vous découvrirez les architectures Multicore et leur programmation, les techniques de mise en œuvre d'une
approche multithread ou multiprocessus et les langages dédiés à la programmation parallèle. Vous étudierez
également les contraintes en matière de synchronisation d'accès aux données et les précautions à prendre.
OBJECTIFS PEDAGOGIQUES
Maîtriser les enjeux de la programmation Multicore
Concevoir et développer des applications à base de threads et de processus
Maîtriser les modèles de programmation parallèle et les librairies disponibles
Déboguer et profiler des applications Multicore
Prix 2017 : 1880€ HT
Dates des sessions
Paris
28 nov. 2016, 6 mar. 2017
29 mai 2017
1) Introduction
2) Modélisation des applications
3) Threads
4) Processus
5) La programmation parallèle
6) Synthèse et conclusion
Travaux pratiques
Les travaux pratiques seront réalisés en C/C++ sous Visual Studio en environnement Windows.
1) Introduction
- Enjeux de la programmation Multicore.
- Tableau des technologies utilisables : processus, thread et parallélisme.
- Description du fonctionnement d'un processeur.
- Architecture en "Hyperthreading".
- Architectures des processeurs INTEL et AMD.
- Architectures NVidia et API.
- Architecture en mémoire partagée vs mémoire distribuée.
2) Modélisation des applications
- Importance des aspects modélisation.
- Patterns de mise en parallèle des traitements.
- Utilisation des mécanismes asynchrones.
- Développer une nouvelle application : précautions et modélisation. Eviter les "singletons".
- Modifier une application existante en Multicore.
- Choix d'architecture : un compromis synchronisation et performance. Choix multiprocessus/multithreads.
3) Threads
- Apport des threads dans une application industrielle.
- Ordonnancement des threads.
- Gestion des stacks et "call stack" dans les threads.
- Débogueurs multithreads.
- Gestion des objets de synchronisation : sections critiques, Mutex et Sémaphores.
- Développer "Thread safe".
- APIs de threads TBB, Clik++, C++11, boost threads, pthreads.
Travaux pratiques
Threads et synchronisation en C/C++.
4) Processus
- Espaces d'adressage des processus, organisation.
- Critères de choix d'une approche multiprocessus.
- Techniques de communication interprocessus (IPC).
- Outils de debugging multiprocessus.
- Avantage et inconvénients des techniques multiprocessus.
Travaux pratiques
Gestion de traitements asynchrones avec l'API C/C++.
5) La programmation parallèle
- Apport et objectifs de la programmation parallèle.
- La librairie « OpenMP » C++ (programmation mémoire partagée).
- La librairie « OpenMPI » (programmation mémoire distribuée).
- Utiliser les GPU des cartes graphiques pour le calcul.
- Kits de NVidia (CUDA) et ATI.
- La librairie « OpenAcc » pour la programmation GPU.
- La librairie « OpenCL » pour la programmation parallèle CPU et GPU.
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
Travaux pratiques
Paralléliser des algorithmes avec « OpenMP » en C++. Utilisation de l'API OpenCL.
6) Synthèse et conclusion
- Conclusion des techniques étudiées.
- Avenir du C++ avec le multicore.
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
Stage pratique de 2 jour(s)
Réf : CDU
Participants
Concepteurs et développeurs
d'applications en C/C++,
architectes logiciels.
Pré-requis
Bonnes connaissances
du langage C/C++ et des
threads, expérience requise.
Connaissances de base du C
++11.
Prix 2017 : 1440€ HT
Dates des sessions
Paris
1 déc. 2016, 23 mar. 2017
22 juin 2017
C++, programmer avec CUDA sous Visual Studio
utiliser le GPU pour améliorer les performances
New
> Développement logiciel > PHP, C, C++, autres langages
Cette formation vous propose de découvrir, d'évaluer et de manipuler le SDK CUDA de la société NVIDIA,
leader en matière d'utilisation du GPU, pour améliorer les performances du parallélisme de données. Vous
acquerrez toutes les connaissances nécessaires à la mise en œuvre de CUDA.
OBJECTIFS PEDAGOGIQUES
Comprendre l'intérêt de l'utilisation du GPU en tant que ressource de calcul indépendante
Utiliser le GPU avec CUDA dans l'environnement de Visual Studio
Assurer le lien entre les threads du C++11 et l'utilisation du GPU
Vérifier l'intérêt dans le cadre d'un projet complet
1) Introduction
2) Installation de CUDA
3) La mise en oeuvre de base
4) L'utilisation des différentes options de
mémoire de CUDA
5) Les autres utilisations de CUDA
6) Conclusion
Méthodes pédagogiques
Exposés théoriques suivis de relecture de code puis de mise en œuvre sur une application de test.
Travaux pratiques
Développement d'une application de test, évaluation des différentes solutions proposées et comparaison
avec des traitements équivalents sur le CPU.
1) Introduction
- Présentation de l'utilisation du GPU comparée au CPU.
- Le SDK CUDA de la société NVIDIA.
- Les alternatives et compléments à CUDA.
Démonstration
Présentation de l'application de test et évaluation des résultats sur le CPU.
2) Installation de CUDA
- Installation du driver spécifique et du SDK de CUDA.
- Installation de NSIGHT, l'environnement spécifique de CUDA sous Visual Studio.
- Exploration des exemples d'application.
- Récupération des capacités des cartes graphiques installées.
Travaux pratiques
Installation de CUDA, création d'un projet et validation de l'installation.
3) La mise en oeuvre de base
- Les fondamentaux de l'exécution d'une fonction kernel.
- La création d'une fonction kernel.
- L'appel d'une fonction kernel.
- Les transferts de mémoire entre le host et le GPU.
- L'exécution asynchrone d'une séquence de code GPU.
- Le débogage du code exécuté sur le GPU.
Travaux pratiques
Ajout d'une séquence de code à exécuter sur le GPU à l'application de test, comparaison des résultats avec
l'existant en C++11. Utilisation du débogueur de NSIGHT.
4) L'utilisation des différentes options de mémoire de CUDA
- La mémoire partagée à l'intérieur d'un bloc de threads, les différentes options.
- L'optimisation entre la mémoire consacrée aux données et la taille du code à exécuter.
- Les allocations mappées entre la mémoire du host et la mémoire de la carte graphique.
- L'utilisation de la mémoire portable entre le host et plusieurs cartes graphiques.
Travaux pratiques
Manipulation des différentes options dans l'application de test. Recherche de la meilleure solution selon un
cas étudié.
5) Les autres utilisations de CUDA
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
- L'utilisation des Streams, exécution en parallèle sur différentes cartes graphiques.
- L'utilisation de CUDA en C++ avec Thrust.
- Les alternatives ou compléments à CUDA comme le C++ AMP, OpenCL, OpenAPP.
Etude de cas
Exploration des solutions complémentaires et alternatives, comparaison à l'aide de l'application de test.
6) Conclusion
- Le champ d'application de l'utilisation du GPU comme alternative au CPU.
- Les bonnes pratiques.
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
Stage pratique de 5 jour(s)
Réf : VB6
Participants
Développeurs, concepteurs
d'applications. Les
participants souhaitant
aborder le VBA pour le
développement d'applications
liées au Pack Office doivent
se diriger vers un autre stage.
Pré-requis
Connaissances de base
en programmation.
Expérience souhaitable en
développement logiciel.
Prix 2017 : 2300€ HT
Dates des sessions
Paris
17 oct. 2016, 21 nov. 2016
19 déc. 2016, 6 fév. 2017
10 avr. 2017, 12 juin 2017
28 aoû. 2017
Aix
21 nov. 2016
Bordeaux
14 nov. 2016
Bruxelles
19 déc. 2016, 20 mar. 2017
19 juin 2017
Geneve
19 déc. 2016, 20 mar. 2017
19 juin 2017
Grenoble
21 nov. 2016
Lille
21 nov. 2016
Luxembourg
19 déc. 2016, 20 mar. 2017
19 juin 2017
Lyon
21 nov. 2016
Montpellier
14 nov. 2016
Nantes
14 nov. 2016
Rennes
14 nov. 2016
Sophia-antipolis
21 nov. 2016
Strasbourg
21 nov. 2016
Toulouse
14 nov. 2016
Développer en Visual Basic
Best
> Développement logiciel > PHP, C, C++, autres langages
Ce stage vous permettra de maîtriser pleinement les fonctionnalités et les capacités de Visual Basic. Tous
les aspects essentiels du langage seront abordés, y compris la programmation objet, l'interaction avec les
bases de données et les Active X Data Objects. A l'issue de ce cours, vous serez à même de réaliser des
applications professionnelles.
OBJECTIFS PEDAGOGIQUES
Maîtriser la plateforme de développement Visual Basic
Utiliser les éléments de lexique et de syntaxe du langage
Développer des interfaces utilisateurs
Accéder à une base de données et manipuler des fichiers
1) Positionnement de Visual Basic (vb, vba,
vbscript)
2) Améliorer la conception des applications avec
la programmation objet
3) La plateforme de développement Visual Basic
4) Visual Basic, le langage
5) Fenêtres, menus et boîtes de dialogue
6) Les composants graphiques (contrôles)
7) La gestion des erreurs
8) L'accès aux données
9) Touche finale
1) Positionnement de Visual Basic (vb, vba, vbscript)
- La construction d'interfaces utilisateur.
- L'accès aux bases de données.
- Utilisation et création de composants.
- Le développement Internet/Intranet.
2) Améliorer la conception des applications avec la programmation objet
- Classes et objets.
- Les objets graphiques : formes, contrôles.
- Propriétés, méthodes, événements.
- La programmation événementielle.
3) La plateforme de développement Visual Basic
- Les principes récurrents.
- Fenêtres, barre de menus, barre d'outils.
- Aide en ligne et compléments.
- L'éditeur de code.
- Etapes de création d'une application.
- Les différents types de fichiers.
Travaux pratiques
Prise en main de l'interface, enregistrement et compilation.
4) Visual Basic, le langage
- Les variables.
- Types de données et conversions.
- Portée et durée de vie des variables.
- Tableaux et types de données utilisateurs.
- Les constantes.
- Les variables objets.
- Les conventions de dénomination.
- Procédures événementielles et générales.
- Subroutines et fonctions.
- Portée des procédures : les modules standard.
- Le passage d'arguments.
- Les fonctions de Visual Basic.
- Les opérateurs. Les structures de contrôle.
Travaux pratiques
Création de procédures, passage d'arguments. Création d'une fonction de vérification des dates.
5) Fenêtres, menus et boîtes de dialogue
- Principe des MDI (Multiple Document Interface), formes et contrôles. Formes modales. Formes prédéfinies.
- Chargement et affichage.
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
- Principaux événements, méthodes et propriétés.
- Menus, popup menus.
- Les fonctions msgbox et inputbox.
Travaux pratiques
Création de formes et d'un menu de présentation. Gestion des événements de chargement et déchargement
des formes.
6) Les composants graphiques (contrôles)
- Contrôles standard, contrôles Active X.
- Saisie et affichage : label, text box, masked edit.
- Les boutons : command, check box, option.
- Les listes : list box, combo box.
- Présentation : Tool Bar, Status Bar, Image List, Scroll Bar, Progress Bar.
- Les boîtes de dialogue standard : common dialog.
- La minuterie : timer.
- Le Drag and Drop. Objet source et objet cible. Evénements souris. Propriétés de la source. Evénements sur
la cible.
Travaux pratiques
Gestion d'un formulaire de saisie, contrôles de validité. Manipulation des listes. Lancement de procédures.
Déplacement d'un contrôle sur une forme. Déplacement d'un élément d'une liste dans une autre liste.
7) La gestion des erreurs
- Traitement des erreurs logiques : le débogage.
- Les points d'arrêt. Les expressions espionnes.
- Les fenêtres de débogage.
- Mode pas à pas et procédures.
- Traitement des erreurs d'exécution.
- L'interception et les gestionnaires d'erreurs.
- L'objet Err.
Travaux pratiques
Interception d'une erreur d'exécution. Prise en main du debugger.
8) L'accès aux données
- Manipulation des fichiers. Accès séquentiel, direct, binaire. Ouverture, fermeture. Instructions de lecture/
écriture.
- Architecture et objets des bases relationnelles.
- Le langage SQL. Le Data Environment.
- L'architecture client serveur.
- Les fournisseurs d'accès : ODBC et OLE-DB.
- Les objets d'accès aux données : ADO (Active X data access).
- Les outils d'accès aux données. Data Environment. Data Control. Data Report. Data Form Designer.
- Les contrôles dépendant des données. Data Grid, Hierarchical Flex Grid. Data List, Data Combo.
Travaux pratiques
Création et manipulation d'un fichier en accès séquentiel (enregistrements de taille variable). Utilisation des
contrôles d'accès aux données.
9) Touche finale
- Les fichiers de ressources.
- Enregistrement des paramètres d'une application.
- Générer un exécutable et le distribuer.
- Optimisation du programme.
Travaux pratiques
Création et utilisation d'un fichier de ressources. Utilisation de la base de registre pour conserver des
paramètres dynamiques. Déploiement d'une application.
ORSYS, La Grande Arche, Paroi Nord, 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
Stage pratique de 4 jour(s)
Réf : VBE
Participants
Développeurs Visual Basic 6.
Pré-requis
Bonnes connaissances
en Visual Basic 6 et en
bases de données. Ou
connaissances équivalentes
à celles apportées par
le stage "Développer en
Visual Basic" (réf. VB6).
Expérience souhaitable en
développement VB6.
Visual Basic, perfectionnement
> Développement logiciel > PHP, C, C++, autres langages
OBJECTIFS
Ce stage de perfectionnement insiste sur les accès aux bases de données (ADO), la création de composants
COM et la création d'applications Web dynamiques.
1) L'accès aux bases de données
2) La création des composants Com
3) Exemple : les contrôles Active X
4) Client-serveur et multitiers : Com+
5) Visual Basic et le développement Internet
6) Se préparer à Visual Basic .NET
1) L'accès aux bases de données
- Les fournisseurs d'accès : ODBC et OLE-DB.
- Les objets d'accès aux données : ADO.
- Data Environnement, Data Control. Data Grid...
- Les objets ADO
- Modèle objet. Connexion à une source de données. Commandes. Récupération de données : le Recordset.
- Mise à jour, recherche, tri.
- Intégrité des données : transactions, verrous.
- Exécution des procédures stockées.
Travaux pratiques
Utilisation des outils d'accès aux données. Création d'un formulaire de saisie. Récupération de données via
une procédure stockée. Gestion d'une transaction d'écriture.
2) La création des composants Com
- Réutilisabilité, simplification, optimisation.
- Les interfaces standard, choix du type de composant.
- Création d'une application cliente.
- Variables objet, instanciation et manipulation d'objets. Les modules de classe.
- Définitions des propriétés, méthodes, événements.
- Le déclenchement des erreurs.
- COM et ADO : les composants liés aux données.
- Les collections. La création d'interfaces.
- Compilation et enregistrement des composants.
Travaux pratiques
Création et test de composants : un COM Dll de services bancaires, un de connexion à une base de données
avec ADO.
3) Exemple : les contrôles Active X
- Création. Propriétés, méthodes, événements.
- Création d'un contrôle dépendant des données.
- Création d'un contrôle fournisseur de données.
Travaux pratiques
Création d'un contrôle Active X de saisie des dates. Création d'un contrôle Active X fournisseur de données
avec ADO.
4) Client-serveur et multitiers : Com+
- Approche. Encapsulation des objets ADO. COM+ et MTS. Transaction multi-objets : le " double commit ".
- Optimisation des ressources. COM+ et la sécurité.
Travaux pratiques
Gestion d'une transaction en " double commit ".
5) Visual Basic et le développement Internet
- Développements côté serveur et côté client.
- Le contrôle WebBrowser. Documents Active X. Visual Basic et Vbscript. DHTML. COM et ASP, COM et
ADO.
Travaux pratiques
Création d'un navigateur sur une forme Visual Basic. Création d'un projet Document Active X s'exécutant
dans IE.
6) Se préparer à Visual Basic .NET
- La plateforme .NET, architecture. Le VB .NET.
- Visual Studio.NET, ADO.NET.
ORSYS, La Grande Arche, Paroi Nord, 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
Stage pratique de 3 jour(s)
Réf : PRL
Participants
Informaticiens concernés par
des procédures d'exploitation
en environnements Unix,
Linux ou Windows.
Pré-requis
Connaissances de base
de la programmation et
d'un système d'exploitation
(Windows ou Linux/Unix).
Prix 2017 : 1880€ HT
Dates des sessions
Langage Perl
scripts système Unix/Linux/Windows
Best
> Développement logiciel > PHP, C, C++, autres langages
Ce stage vous apprendra à programmer ou maintenir des procédures d'exploitation écrites en Perl. Il
permettra de maîtriser le langage lui-même mais aussi de découvrir la "philosophie Perl" avec notamment le
recours à un grand nombre de modules permettant d'élargir quasiment à l'infini ses possibilités.
OBJECTIFS PEDAGOGIQUES
Maîtriser la syntaxe du langage PERL
Mettre en œuvre des expressions régulières
Gérer des fichiers et des répertoires
Interagir avec le système d'exploitation
Exploiter les données d'une base de données relationnelle
Ecrire des scripts Perl dans un contexte Web
Paris
24 oct. 2016, 21 nov. 2016
19 déc. 2016, 16 jan. 2017
20 fév. 2017, 20 mar. 2017
24 avr. 2017, 22 mai 2017
12 juin 2017, 10 juil. 2017
21 aoû. 2017
1) Présentation
2) L'essentiel du langage
3) Expressions régulières
4) Fonctions, procédures, modules
Aix
12 déc. 2016, 28 mar. 2017
12 juin 2017
Bordeaux
5 déc. 2016, 13 mar. 2017
19 juin 2017
Bruxelles
5 déc. 2016, 20 mar. 2017
19 juin 2017
Geneve
5 déc. 2016, 20 mar. 2017
19 juin 2017
Grenoble
12 déc. 2016, 13 mar. 2017
19 juin 2017
Lille
12 déc. 2016, 28 mar. 2017
12 juin 2017
Luxembourg
5 déc. 2016, 20 mar. 2017
19 juin 2017
Lyon
12 déc. 2016, 13 mar. 2017
19 juin 2017
Montpellier
5 déc. 2016, 28 mar. 2017
12 juin 2017
Nantes
5 déc. 2016, 28 mar. 2017
12 juin 2017
Rennes
5 déc. 2016, 28 mar. 2017
12 juin 2017
Sophia-antipolis
5) Gestion des fichiers et des répertoires
6) Interactions avec le système d'exploitation
7) Aspects avancés, bases de données,
implémentation objet
8) Scripts Perl dans un contexte Web, module
CGI
1) Présentation
- Historique du langage.
- Perl, pour quel usage ?
- Caractéristiques du langage Perl.
- Les différentes distributions et versions.
- La documentation officielle.
- Installation et première exécution d'un programme Perl.
- Fichiers sources, extension et interprétation.
- Les outils pour utiliser Perl.
Travaux pratiques
Installation de l'interpréteur Perl.
2) L'essentiel du langage
- Structure d'un programme Perl, en-tête de script.
- Conventions de codage et règles de nommage.
- Ajout de commentaires.
- Les chaînes de caractères, interprétation de codes.
- Les variables, nommage et typage. Portée des variables.
- Les scalaires.
- Les opérateurs : calcul, incrément, affectation, comparaison...
- Les tableaux, initialisation, affichage du contenu.
- Les tableaux associatifs (hash table), les fonctions keys et values.
- Les références mémoires.
- Les variables systèmes.
- La notion de blocs.
- Les structures de contrôle conditionnelles : if, if... else, if... elsif... else.
- Les structures de contrôle itératives : while, for, until, foreach.
- Les flux entrées/sorties standard (stdin, stdout, stderr).
Travaux pratiques
Manipulation du langage à travers l'écriture de différents programmes.
12 déc. 2016, 28 mar. 2017
12 juin 2017
3) Expressions régulières
Strasbourg
- Les cas d'utilisation des expressions.
- Panorama des différents motifs : les méta-caractères, les quantificateurs, les caractères spéciaux.
- Le Pattern Matching.
- Le Pattern Substitute.
- Options de la ligne de commande pour l'interpréteur.
- Programme tiers : sed, awk...
- Perl utilisé comme filtre supplémentaire.
12 déc. 2016, 28 mar. 2017
12 juin 2017
Toulouse
5 déc. 2016, 13 mar. 2017
19 juin 2017
Travaux pratiques
Mise en oeuvre d'expressions régulières.
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
4) Fonctions, procédures, modules
- Définition des fonctions. Différence entre fonctions et procédures.
- La déclaration d'une fonction, le mécanisme d'appel, le passage d'arguments et la récupération des
résultats.
- Visibilité des variables, l'opérateur my.
- Utilisation des références.
- Les fonctions intégrées dans Perl : chomp, chop, length...
- Notion de "package" et de module.
- Modules de la distribution standard.
- Modules du CPAN, recensement, documentation, sites de ressources.
- Installation de modules.
- Utilisation d'un module "classique" et d'un module "Orienté Objet". Les fonctions require et use.
- Fabrication d'un module.
- Documenter les modules créés.
Travaux pratiques
Ecriture de fonctions. Intégration d'un module dans un développement. Création d'un module.
5) Gestion des fichiers et des répertoires
- Notion de filehandle.
- Gestion des fichiers : ouverture, lecture, écriture, fermeture...
- Informations sur les fichiers (propriétaire, taille, droits...), la fonction stat.
- L'opérateur diamant.
- Gestion des répertoires : changement, parcours, création, suppression...
- Gestion des erreurs sur manipulation des fichiers et des répertoires.
Travaux pratiques
Lecture/écriture dans un fichier. Manipulation des répertoires.
6) Interactions avec le système d'exploitation
- Accès aux informations du système d'exploitation.
- Les commandes agissant sur le système : mkdir, rmdir, chown, chroot, chmod, ...
- Gestion des processus.
- Création de processus fils : system, exec.
- Les quotes inverses.
- Interactions avec le système Windows (modules Win32 et Win32API).
Travaux pratiques
Création de processus fils.
7) Aspects avancés, bases de données, implémentation objet
- Tris personnalisés.
- Traitements complémentaires sur les chaînes de caractères.
- Structures de données élaborées à l'aide des références anonymes.
- Accès aux bases de données à l'aide du module DBI.
- Etablissement et configuration d'une connexion, requêtage et récupération des résultats.
- Création de la structure d'une classe et instanciation : paquetage, sous-programme et référence.
- Constructeur et destructeur d'objets.
- Invocation des méthodes d'une classe.
- Le ramasse-miettes.
Travaux pratiques
Exploitation des données d'une base de données relationnelle.
8) Scripts Perl dans un contexte Web, module CGI
- Protocole HTTP, serveur Web, schéma fonctionnel CGI.
- Le module CGI.
- Variables d'environnement, méthodes GET et POST.
- Génération des éléments HTML du formulaire avec Perl.
- Traitement des formulaires, exploitation des résultats.
Travaux pratiques
Ecriture d'un script CGI en Perl.
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
Stage pratique de 2 jour(s)
Réf : LAP
Participants
Informaticiens concernés par
des procédures d'exploitation
en environnements Unix,
Linux ou Windows.
Pré-requis
Bonnes connaissances
du langage Perl. Ou
connaissances équivalentes à
celles apportées par le stage
PRL " Langage Perl ".
Prix 2016 : 1410€ HT
Dates des sessions
Paris
7 nov. 2016
Langage Perl, programmation avancée
> Développement logiciel > PHP, C, C++, autres langages
OBJECTIFS
Ce stage vous apprendra à maintenir efficacement vos programmes ainsi qu'à en améliorer la performance.
Vous maîtriserez les principales primitives du noyau, la création d'interfaces graphiques et de masques de
saisie. Vous découvrirez enfin l'approche plus moderne de la programmation Objet.
1) Programmation système
2) Perl et l'objet
3) Interface graphique : de Perl/Tk à GTK
4) Écrire du nouveau code en utilisant GTK
5) Evolutions
1) Programmation système
- Rappel des principes des processus : fork et exec.
- Rappel des principes de la gestion des signaux.
- Envoyer un signal à des processus : la fonction kill
- Gérer les signaux : le pragma sigtrap, installer un gestionnaire de signal.
- Programmation des sockets et services de IO::Socket à Net::Server.
- Présentation de la programmation des threads.
Travaux pratiques
Ecriture de programmes Perl pour manipuler les fonctions systèmes.
2) Perl et l'objet
- Quelques définitions : programmation orientée objet, classe, instance, constructeur, destructeur, héritage ...
- Mise en oeuvre de l'objet : le paquetage pour la classe, le hachage pour les attributs, les fonctions pour les
méthodes.
- La création d'instance : la bénédiction (bless) de la référence de l'objet.
- Programmer un constructeur.
- Agir quand l'objet est détruit, la méthode DESTROY.
- L'héritage : le tableau @ISA et la classe UNIVERSAL.
- La surcharge de méthode, l'utilisation de SUPER.
- Abstraction : l'avenir de l'objet dans Perl, de Class::Std et Class::Accessor à Moose.
Travaux pratiques
Programmation de classes. Mise en oeuvre des concepts objets (héritage, surcharge...).
3) Interface graphique : de Perl/Tk à GTK
- Comprendre et maintenir du code écrit en Perl/Tk.
- Présentation et installation de Perl/Tk.
- Gestionnaire de géométrie : Pack, Grid, Place.
- Les Widgets par famille.
- Les boutons : Button, Checkbutton, Radiobutton.
- Libellé et zone de saisie : Label, Entry.
- Ascenseur, liste, menu et saisie de texte : Scrollbar, Listbox, Menubutton, Optionmenu, Text.
- Les conteneurs : Canvas, Frame, Toplevel.
Travaux pratiques
Création d'une application avec interface graphique en Perl/Tk et gestion événementielle.
4) Écrire du nouveau code en utilisant GTK
- Lien entre Pert et GTK : installer GTK et ses bibliothèques.
- Widget : hiérarchie, création, accélérateurs clavier, conteneurs de bases, ...
- Widget : signaux et événements.
- Les types de boutons : Toggle (interrupteurs), radio, ...
Travaux pratiques
Manipulation de différents composants : boutons, boite de boutons, Widget cadre, ...
5) Evolutions
- Fonctionnalités apportées par Perl 5.10, 5.12, 5.14.
- Perl 6 : un nouveau langage.
- Nouveautés : les sigils, typage statique et dynamique, paramètres formels des fonctions.
- Un véritable langage objet.
- Les jonctions et l'évaluation paresseuse.
ORSYS, La Grande Arche, Paroi Nord, 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
Stage pratique de 5 jour(s)
Réf : PYT
Participants
Développeurs, ingénieurs,
chefs de projets proches du
développement.
Pré-requis
Connaissances de base en
programmation.
Python, programmation objet
Best
> Développement logiciel > PHP, C, C++, autres langages
Python est un langage de programmation multiplateforme permettant le développement d'une grande
variété d'applications. Ce stage vous permettra d'en maîtriser sa syntaxe, ses principaux mécanismes et son
paradigme objet. Vous découvrirez les principales fonctionnalités de la bibliothèque de modules standards,
implémenterez des interfaces graphiques, accéderez aux données d'une base tout en appliquant sur la
chaîne de développement les outils permettant de tester et d'évaluer la qualité du code produit.
OBJECTIFS PEDAGOGIQUES
Prix 2017 : 2610€ HT
Dates des sessions
Paris
10 oct. 2016, 14 nov. 2016
12 déc. 2016, 9 jan. 2017
6 fév. 2017, 6 mar. 2017
10 avr. 2017, 29 mai 2017
12 juin 2017, 17 juil. 2017
21 aoû. 2017
Aix
Maîtriser la syntaxe du langage Python
Acquérir les notions essentielles de la programmation objet
Connaître et mettre en œuvre les différents modules Python
Concevoir des interfaces graphiques
Mettre en œuvre les outils de test et d'évaluation de la qualité d'un programme Python
1) Syntaxe du langage Python
2) Approche Orientée Objet
3) Programmation Objet en Python
4) Utilisation StdLib
5) Outils QA
6) Création IHM TkInter
7) Interfaçage Python/C
8) Conclusion
5 déc. 2016, 20 mar. 2017
12 juin 2017
Angers
5 déc. 2016, 6 mar. 2017
19 juin 2017
1) Syntaxe du langage Python
Grenoble
- Les identifiants et les références. Les conventions de codage et les règles de nommage.
- Les blocs, les commentaires.
- Les types de données disponibles.
- Les variables, l'affichage formaté, la portée locale et globale.
- La manipulation des types numériques, la manipulation de chaînes de caractères.
- La manipulation des tableaux dynamiques (liste), des tableaux statiques (tuple) et des dictionnaires.
- L'utilisation des fichiers.
- La structure conditionnelle if/elif/else.
- Les opérateurs logiques et les opérateurs de comparaison.
- Les boucles d'itérations while et for. Interruption d'itérations break/continue.
- La fonction range.
- L'écriture et la documentation de fonctions.
- Les Lambda expression.
- Les générateurs.
- La structuration du code en modules.
5 déc. 2016, 6 mar. 2017
19 juin 2017
Travaux pratiques
Installation et prise en main de l'interpréteur Python.
Bordeaux
19 déc. 2016, 6 mar. 2017
19 juin 2017
Bruxelles
12 déc. 2016, 13 mar. 2017
12 juin 2017
Dijon
5 déc. 2016, 6 mar. 2017
19 juin 2017
Geneve
12 déc. 2016, 13 mar. 2017
12 juin 2017
Lille
5 déc. 2016, 20 mar. 2017
12 juin 2017
Luxembourg
12 déc. 2016, 13 mar. 2017
12 juin 2017
Lyon
5 déc. 2016, 6 mar. 2017
19 juin 2017
Montpellier
19 déc. 2016, 20 mar. 2017
12 juin 2017
Nancy
5 déc. 2016, 6 mar. 2017
19 juin 2017
Nantes
19 déc. 2016, 20 mar. 2017
12 juin 2017
2) Approche Orientée Objet
- Les principes du paradigme Objet.
- La définition d'un objet (état, comportement, identité).
- La notion de classe, d'attributs et de méthodes.
- L'encapsulation des données.
- La communication entre les objets.
- L'héritage, transmission des caractéristiques d'une classe.
- La notion de polymorphisme.
- Association entre classes.
- Les interfaces.
- Présentation d'UML.
- Les diagrammes de classes, de séquences, d'activités...
- Notion de modèle de conception (Design Pattern).
Travaux pratiques
Modélisation en UML d'un cas d'étude simple.
3) Programmation Objet en Python
Orleans
5 déc. 2016, 6 mar. 2017
19 juin 2017
Rennes
19 déc. 2016, 20 mar. 2017
12 juin 2017
Rouen
5 déc. 2016, 6 mar. 2017
19 juin 2017
- Les particularités du modèle objet de Python.
- L'écriture de classes et leur instanciation.
- Les constructeurs et les destructeurs.
- La protection d'accès des attributs et des méthodes.
- La nécessité du paramètre Self.
- L'héritage simple, l'héritage multiple, le polymorphisme.
- Les notions de visibilités.
- Les méthodes spéciales.
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
Sophia-antipolis
5 déc. 2016, 20 mar. 2017
12 juin 2017
Strasbourg
5 déc. 2016, 20 mar. 2017
12 juin 2017
Toulouse
19 déc. 2016, 6 mar. 2017
19 juin 2017
Tours
5 déc. 2016, 6 mar. 2017
19 juin 2017
- L'introspection.
- L'implémentation des interfaces.
- Les bonnes pratiques et les modèles de conception courants.
- L'utilisation du mécanisme d'exception pour la gestion des erreurs.
Travaux pratiques
Pratique des différents concepts objet au travers de l'implantation de l'étude de cas.
4) Utilisation StdLib
- Les arguments passés sur la ligne de commande.
- L'utilisation du moteur d'expressions régulières Python avec le module "re", les caractères spéciaux, les
cardinalités.
- La manipulation du système de fichiers.
- Présentation de quelques modules importants de la bibliothèque standard : module "sys", "os", "os.path".
- Empaquetage et installation d'une bibliothèque Python.
- Les accès aux bases de données relationnelles, le fonctionnement de la DB API.
Travaux pratiques
Mise en oeuvre de modules Python : expressions régulières, accès à une base de données,
5) Outils QA
- Les outils d'analyse statique de code (pylint, pychecker).
- L'analyse des comptes rendus d'analyse (types de messages, avertissements, erreurs).
- Extraction automatique de documentation.
- Le débogueur de Python (exécution pas à pas et analyse post-mortem).
- Le développement piloté par les tests.
- Les modules de tests unitaires Python (Unittest...).
- L'automatisation des tests, l'agrégation de tests.
- Les tests de couverture de code, profiling.
Travaux pratiques
Utilisation des outils pylint et pychecker pour la vérification d'un code Python. Mise en oeuvre de tests
unitaires.
6) Création IHM TkInter
- Les principes de programmation des interfaces graphiques.
- Présentation de la bibliothèque TkInter.
- Les principaux conteneurs.
- Présentation des widgets disponibles (Button, Radiobutton, Entry, Label, Listbox, Canvas, Menu, Scrollbar,
Text...).
- Le gestionnaire de fenêtres.
- Le placement des composants, les différents layouts.
- La gestion des événements, l'objet event.
- Les applications multifenêtres.
Travaux pratiques
Conception d'une interface graphique avec la bibliothèque Tkinter.
7) Interfaçage Python/C
- Présentation du module Ctypes.
- Le chargement d'une librairie C.
- Appel d'une fonction.
- La réécriture d'une fonction Python en C avec l'API Python/C.
- La création de modules C pour Python avec Pyrex.
- L'interpréteur Python dans C.
- L'utilisation du profileur de code.
Travaux pratiques
Appel de fonctions écrites en C depuis Python. Création de modules C pour Python avec Pyrex.
8) Conclusion
- Analyse critique de Python.
- L'évolution du langage.
- Eléments de Webographie et de bibliographie.
ORSYS, La Grande Arche, Paroi Nord, 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
Stage pratique de 4 jour(s)
Réf : PYA
Participants
Ingénieurs et développeurs.
Pré-requis
Bonnes connaissances en
développement Python, ou
connaissances équivalentes
à celles apportées par
les stages THO ou PYT.
Expérience requise.
Prix 2017 : 2440€ HT
Dates des sessions
Python, perfectionnement
New
> Développement logiciel > PHP, C, C++, autres langages
Le langage Python s'impose aujourd'hui comme un socle technologique pour le développement de grands
projets logiciels. Vous mettrez en œuvre, dans cette formation, les techniques avancées du langage Python
ainsi que ses principales librairies afin de pouvoir répondre aux exigences qualité de ces projets.
OBJECTIFS PEDAGOGIQUES
Implémenter de manière rigoureuse des Design Patterns reconnus
Utiliser les techniques avancées du langage Python : Context Manager, métaclasses, closures, fonctions
avancées
Optimiser les performances de vos programmes à l'aide du monitoring et du parallélisme
Packager et déployer ses artefacts Python
Exploiter des librairies contribuant au succès du langage : calcul scientifique, intelligence artificielle, XML,
réseau
Paris
7 nov. 2016, 7 mar. 2017
6 juin 2017
1) Rappels importants sur le langage
2) Fonctions avancées
3) Programmation Orientée Objet avancée
4) Déploiement et qualité
5) Le parallélisme : optimiser les performances
de vos programmes
6) Les librairies contribuant au succès du
langage
Méthodes pédagogiques
Apports théoriques illustrés par des exemples de code puis consolidés par la réalisation d'un mini-projet (70%
de travaux pratiques).
1) Rappels importants sur le langage
- Affectation par référence et types de données modifiables, non modifiables (mutable).
- Passage d'arguments, valeurs par défaut et variables locales.
- Variables de classe et d'instances.
- Les slices et structures de données avancées.
- L'introspection.
- Eléments avancés des structures de contrôle : la clause else des instructions for, while, try/except.
Travaux pratiques
Optimisation : intersection de listes et calcul de complexité d'algorithmes.
2) Fonctions avancées
- Utilisation avancée de décorateurs (de la génération à la consommation, pipeline de consommateurs).
- Les décorateurs et Design Patterns.
- Fermeture/closure.
Travaux pratiques
Chaînage de consommateurs de données. Abonnement à des événements via les décorateurs.
3) Programmation Orientée Objet avancée
- Les propriétés (property).
- Les itérateurs.
- L'héritage multiple et ses travers.
- Les Context Managers.
- Les classes et méthodes abstraites (ABC).
- Les métaclasses.
Travaux pratiques
Implémenter une métaclasse pour créer des classes de type singleton.
4) Déploiement et qualité
- Installer des librairies tierces (pip, easy_install).
- Le Python Package Index (PyPI).
- Packager ses librairies (distutils, setuptools).
- Déployer un environnement autonome (virtualenv et buildout).
Travaux pratiques
Packager une librairie et la déposer sur PypI.
5) Le parallélisme : optimiser les performances de vos programmes
- Profilez vos programmes avec Timeit et cProfile.
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
- Parallélisation : évitez le multithreading et foncez avec le multiprocessing.
- Calcul distribué avec la librairie Celery.
Travaux pratiques
Répartition et consolidation (Map Reduce) de calculs avec Celery.
6) Les librairies contribuant au succès du langage
- Calcul scientifique et statistiques avec Numpy, Scipy, Matplotlib et Pandas.
- Intelligence artificielle et algorithmes d'apprentissage avec Scikit-learn.
- Recherche d'informations dans des fichiers XML avec ElementTree.
- Réseau : relay tcp avec Twisted et supervision SNMP avec PySNMP.
Travaux pratiques
Extraction d'informations dans des fichiers de log XML, filtres et statistiques sur les données collectées puis
représentation à l'aide de graphiques des tendances des informations.
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
Stage pratique de 4 jour(s)
Réf : DJA
Participants
La formation est destinée
aux développeurs souhaitant
acquérir une connaissance
approfondie des bases du
framework Django.
Pré-requis
Connaissances des bases
du langage Python et
technologies Web (HTML,
JavaScript...)
Prix 2017 : 2440€ HT
Ce cours fait l'objet d'un
accompagnement vidéo
Dates des sessions
Paris
22 nov. 2016, 14 mar. 2017
9 mai 2017, 25 juil. 2017
Django, développement Web avec Python
> Développement logiciel > PHP, C, C++, autres langages
OBJECTIFS
Django est un framework Web MVC (Modèle-Vue-Contrôleur) basé sur le langage Python. Ce stage vous
apprendra à mettre en oeuvre ce framework et à utiliser avec efficacité ses différents modules dans le cadre
du développement d'applications Web.
1) Introduction
2) L'accès aux données avec Django
3) Gestion des vues
4) Les templates
5) Gestion des formulaires
6) Fonctions avancées
1) Introduction
- Rappel des principes de la POO.
- Le Design Pattern MVC.
- Présentation du framework Django.
- Origine et historique. Objectifs et avantages.
- Les composants de framework Django.
Exercice
Préparation de l'environnement. Installation de Python, Django, Serveur Apache, MySQL et Eclipse. Création
d'un nouveau projet.
2) L'accès aux données avec Django
- Le modèle ORM Django.
- Les modèles Django : Model, Field, Table, Column, Primary Key...
- Mapping des associations : OneToMany, ManyToOne, ManyToMany, OneToOne.
- Stratégies de mapping de l'héritage : Meta Class, OneToOneField, ManyToManyField...
- Accès aux données avec les QuerySets.
Exercice
Développer une couche d'accès aux données. Interfacer Django avec MySQL.
3) Gestion des vues
- Vues simples ou fonctions vues.
- Les classes HttpResponse, HttpRequest et QueryDict.
- Configuration des URL : UrlConf.
- Vues génériques.
- Exemples de vues génériques : Redirects, Create, Update, Delete...
Exercice
Développer des vues dynamiques HTML avec Django.
4) Les templates
- Le rôle des templates.
- Création et chargement des templates.
- Gestion des contextes.
- Utilisation des tags et filtres personnalisés.
- Réutilisation des templates : héritage entre templates.
Exercice
Développer un template pour faciliter la génération de la présentation.
5) Gestion des formulaires
- Les avantages des formulaires Django.
- Création des formulaires.
- Les différents types de champs.
- Validation des données d'un formulaire.
- Gestion et personnalisation des messages d'erreurs.
- Génération des formulaires à partir des modèles.
Exercice
Développer les formulaires associés aux opérations CRUD de l'atelier précédent.
6) Fonctions avancées
- L'internationalisation.
- L'authentification et la gestion des sessions.
- Optimisation et caches.
- Intégration d'Ajax.
ORSYS, La Grande Arche, Paroi Nord, 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
- L'interface d'administration.
- Les tests unitaires.
Exercice
Intégrer Ajax à travers le framework JQuery.
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
Stage pratique de 5 jour(s)
Réf : DEV
Participants
Développeurs. Nouveaux
utilisateurs de Windev.
Pré-requis
Connaissances de base
en programmation et d'un
environnement graphique.
Expérience souhaitable en
développement logiciel.
Windev, développement d'applications Desktop
> Développement logiciel > PHP, C, C++, autres langages
OBJECTIFS
Cette formation vous apportera la maîtrise de l'environnement Windev. Vous verrez en détail ses différents
éditeurs et comment l'utiliser efficacement pour programmer vos applications, les connecter à des bases de
données, concevoir leurs IHM au standard Windows, les tester, les packager et les déployer.
1) Présentation de l'environnement Windev
2) La base de données
3) L'interface homme/machine
4) Les états
5) Les dossiers
6) La programmation
7) L'installation
1) Présentation de l'environnement Windev
- L'environnement Windows. L'éditeur de fenêtres.
- L'éditeur de sources : rechercher, remplacer, couper, copier, coller, imprimer. Personnalisation de l'éditeur.
- L'outil de description des fichiers. L'éditeur d'états.
- La compilation, la mise en bibliothèque.
- L'exécutable : programme, bibliothèque, DLL.
- Les utilitaires : WDMAP, WDBACKUP, WDRESTOR, WDOUTIL..., le RAD.
2) La base de données
- Le format HyperFileSQL.
- L'outil de description des fichiers.
- Génération de l'analyse, modifications automatiques, liaisons entre les fichiers.
3) L'interface homme/machine
- Les projets, les menus, les fenêtres.
- L'ergonomie, le menu système, la barre de titre, l'éditeur de styles (feuille de style), les groupes de champs.
- Etude des différents types d'objets. Les tables.
- L'intégration automatique des rubriques d'un fichier dans un écran, la création d'une fenêtre VISION+.
4) Les états
- La description de l'éditeur.
- Les différents modes création : état lié à un fichier, étiquettes, état libre, tris, filtres, ruptures.
- Les différents types de blocs (début de document, haut de page, corps, bas de page, etc.).
- Les différents types d'objets (champ, libellé...).
5) Les dossiers
- Les fichiers de données et leur structure.
- Le dictionnaire des rubriques.
- Les sources des fenêtres : dessin de la fenêtre, détail des objets, source associée à l'objet.
6) La programmation
- Le projet, les procédures, les fonctions.
- Le W-Langage : fonctionnement de l'éditeur de sources, opérateurs et fonctions.
- Tables mémoire et tables fichier. Timer et multitâche.
- Gestion des liaisons série.
- Le grapheur.
- OLE Automation vers Excel. Le dialogue DDE vers Excel.
- Aspect monoposte, multi-instance ou réseau.
- Gestion des triggers.
7) L'installation
- La création d'un programme exécutable.
- La mise en bibliothèque des objets.
- L'installation sur un autre poste.
- Les DLL.
- Maintenance de l'application réalisée.
- L'outil d'installation.
ORSYS, La Grande Arche, Paroi Nord, 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
Stage pratique de 3 jour(s)
Réf : WEB
Participants
Cette formation pratique
s'adresse aux futurs
développeurs WebDev
souhaitant réaliser des sites
dynamiques Internet ou
Intranet.
Pré-requis
Connaissances de
base du HTML et de la
programmation.
Webdev, développement Web
> Développement logiciel > PHP, C, C++, autres langages
OBJECTIFS
Ce stage vous montrera comment réaliser un site web dynamique à l'aide de WebDev. Vous verrez comment
utiliser les fonctions courantes de l'environnement logiciel, créer vos IHMs, utiliser des bases de données et
déployer vos applications sur un serveur Web.
1) Concepts de base
2) Accès aux données
3) Le code
4) Gestion de l'IHM
5) Pages pour l'impression
6) Créer le dossier du site
7) Déploiement de l'application
Travaux pratiques
Prise en main de l'environnement, la bonne méthode de création d'un nouveau projet WebDev.
1) Concepts de base
- Qu'est-ce qu'un site Web dynamique.
- L'environnement de développement.
- L'éditeur graphique.
- L'éditeur de code.
- Etapes de création d'un nouveau projet.
2) Accès aux données
- Créer une base de données HYPERFILE.
- Se connecter à une base de données SQL Server, MySQL ou Oracle.
- Création de l'application à l'aide du RAD.
- Ajouter, supprimer, modifier des données automatiquement.
Travaux pratiques
Réalisation d'une base de données catalogue.de produits
3) Le code
- Le WDLANGAGE (Variables, procédure, fonctions, boucles...)
- Code coté client.
- Code côté serveur.
- Accéder aux données par le code.
Travaux pratiques
Création de pages personnalisés.
4) Gestion de l'IHM
- Apparence des pages.
- Création et utilisation de modèles.
- Les différents objets des pages.
- Réalisation de menus.
Travaux pratiques
Réalisation d'un IHM via le RAD, et ajout de pages spécifiques.
5) Pages pour l'impression
- L'éditeur d'état.
- Les différents états (Lié aux données, libres ...).
- Composition d'un état WEBDEV (entêtes, corps, pieds...).
- Les objets à disposition (différents types de champs).
- Les options d'impression.
- Génération d'impression HTML et PDF.
Travaux pratiques
Génération d'état pour l'impression, au format HTML et PDF.
6) Créer le dossier du site
- Importance de ce dossier.
- Génération du dossier (pages, états, code sources).
Travaux pratiques
Bien organiser ses dossiers de projet, créer la documentation de l'application.
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
7) Déploiement de l'application
- Génération de l'application.
- Génération de la procédure d'installation.
- Déploiement.
Travaux pratiques
Créer le programme d'installation et installation d'un programme
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
Stage pratique de 5 jour(s)
Réf : ONE
Participants
Développeurs iPhone/iPad.
iPhone/iPad, développer des applications en Objective-C
Best
> Développement logiciel > PHP, C, C++, autres langages
Bonnes connaissances d'un
langage orienté objet (type
Java, C++, Objective-C).
A l'issue de cette formation, vous serez en mesure de développer des applications complexes en ObjectiveC pour iPhone et iPad. Vous apprendrez à utiliser l'environnement de développement intégré sur MacOs-X,
XCode, le générateur d'interface, l'iPhone Simulator et le debugger intégré. Vous apprendrez à développer
des interfaces graphiques ergonomiques et exploiterez les fonctionnalités de votre iPhone/iPad. Vous
maîtriserez également les mécanismes d'accès au réseau et de persistance des données.
Prix 2017 : 2610€ HT
OBJECTIFS PEDAGOGIQUES
Pré-requis
Dates des sessions
Paris
21 nov. 2016, 16 jan. 2017
6 mar. 2017, 15 mai 2017
17 juil. 2017
Aix
27 fév. 2017, 15 mai 2017
Bordeaux
6 fév. 2017, 3 avr. 2017
12 juin 2017
Bruxelles
Maîtriser la syntaxe du langage Objective-C et l'environnement de développement iOS
Développer les vues et les contrôleurs d'une application
Accéder au réseau et invoquer des services Web Rest
Gérer les gestures
Lire et enregistrer des données
Exploiter les fonctionnalités du terminal (géolocalisation, accéléromètre...)
1) Introduction
2) Introduction à Objective-C 2.0
3) Enregistrement au programme Apple
4) L'environnement de développement
5) Conception et ergonomie
6) Développement
7) Réseaux et web services
8) Lire et enregistrer des données
9) Introduction aux fonctions avancées
12 déc. 2016, 6 mar. 2017
19 juin 2017
Geneve
12 déc. 2016, 6 mar. 2017
19 juin 2017
Grenoble
6 fév. 2017, 3 avr. 2017
12 juin 2017
Lille
27 fév. 2017, 15 mai 2017
Luxembourg
12 déc. 2016, 6 mar. 2017
19 juin 2017
Lyon
6 fév. 2017, 3 avr. 2017
12 juin 2017
Montpellier
27 fév. 2017, 15 mai 2017
Nantes
27 fév. 2017, 15 mai 2017
Rennes
27 fév. 2017, 15 mai 2017
Sophia-antipolis
27 fév. 2017, 15 mai 2017
Strasbourg
1) Introduction
- Types de terminaux.
- Le programme développeur Apple.
- Architecture d'une application iOS.
- Outils et SDK.
Travaux pratiques
Prise en main de l'environnement de développement.
2) Introduction à Objective-C 2.0
- Origine du langage Objective-C.
- Syntaxe de base. Notion de classe.
- Les Controllers.
- Identification des objets, constantes : le type id, la valeur nil.
- Héritage.
- Références dans l'arborescence.
- Description d'une méthode Objective-C.
- Initialisation de l'instance d'un objet.
- Les protocoles et le principe de la délégation (les delegates).
- Les sélecteurs.
- Le framework Foundation (chaînes de caractères, listes, dictionnaires).
- Le comptage de références.
Exercice
Ecriture de programme en Objective-C. Un exemple avec le Slider. Gestion de la mémoire.
27 fév. 2017, 15 mai 2017
Toulouse
6 fév. 2017, 3 avr. 2017
12 juin 2017
3) Enregistrement au programme Apple
- Enregistrement (informations personnelles, bancaires, de développement). Provisioning.
- Enregistrement d'un certificat.
- Ajouter un périphérique, identifiant UDID.
- Ajouter un AppID Identifiant d'application.
4) L'environnement de développement
- Description de l'interface (XCode, Simulateur, Instruments, ...).
- Installation du SDK Apple (téléchargement, installation, localisation).
- Méthodologie de développement.
- Création d'un projet sous XCode. Interface XCode.
- Les fichiers initialement générés.
- Cycle d'exécution de l'application.
- Définition des propriétés de l'application et le fichier Info.plist.
- L'interface Builder et ses composants.
- Construction de l'application.
- Modèle-Vue-Contrôleur (MVC).
- Les actions (déclarations, liaisons à l'interface).
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
- Compilation et lien. Utilisation du simulateur.
- Limitations du simulateur.
- Mécanismes d'aide, de complétion et de debug.
- Utilisation du debugger et de la console, les options de Debug #natives#, les problèmes généraux de
compilation.
Exercice
Création d'une application et débogage.
5) Conception et ergonomie
- Méthodologie.
- Identifier les fonctions-clés de votre applicatif.
- Choisir le design pattern.
- Ebaucher le storyboard et une charte graphique.
- Développement de l'interface et de l'application.
- Tests et optimisation.
- Publication sur l'AppStore (éléments nécessaires, signature, ...).
- Liste des icônes nécessaires à la publication.
Exercice
Améliorer la conception et l'ergonomie d'une application.
6) Développement
- Instancier un contrôleur de vues.
- Dimensions de l'application.
- Dimensions des éléments graphiques.
- Les éléments de saisie simple.
- Les controls simples : Segmented controls. Switches. Progress Views. WebViews.
- Le Slider.
- Les contrôleurs de navigation, d'images, de vues et de vues personnalisées.
- Ajouter des icônes.
- Les Frames.
- Rotation et animation des vues.
- Contenu de la barre de navigation.
- Listes d'éléments.
- Action sur les listes.
- Utilisation du multimédia (son, vidéo).
- Lancement de l'application, icône de lancement. Splash Screen. Ecran de lancement.
Exercice
Manipuler des éléments de base, des vues, des éléments de navigation, le TableView, des listes. Ajouter un
contenu multimédia.
7) Réseaux et web services
- Architecture des couches réseau dans iOS.
- Utiliser des web services REST et JSON.
- Les API et Framework d'accès au réseau (NSURL, NSURLConnection...).
- Les notifications locales et réseaux.
- Introduction au multithreading.
- Exécuter des tâches de manière asynchrone.
Exercice
Accéder à des services web. Gérer l'asynchronisme.
8) Lire et enregistrer des données
- Les méthodes de stockage. Ecrire dans les ressources de votre application.
- Sauvegarder et restaurer une chaîne de caractères dans un fichier.
- Les préférences utilisateur. La classe NSUserDefaults.
- Les fichiers de propriétés. Les plist.
- Le format de données JSON. Manipulation XML.
- Code principal dans le RootViewController.
Exercice
Sauvegarder et restaurer des données. Manipuler des fichiers XML, JSON et préférences utilisateur.
9) Introduction aux fonctions avancées
- La manipulation de l'écran (détection de la position et des mouvements du doigt).
- Déplacements simples, utilisation de l'accéléromètre. Zoom simple.
- Internationaliser ses applications.
- Utilisation du Wifi (détection de l'accès au réseau, ...) et du GPS (informations de géolocalisation, ...).
- Créer une animation, enchaîner les images.
Exercice
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
Manipuler quelques fonctions avancées.
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
Stage pratique de 4 jour(s)
Réf : DAN
Participants
Développeurs iPhone/iPad.
Pré-requis
Bonnes connaissances en
développement iPhone/iPad
ou équivalentes au stage
"iPhone/iPad, développement
d'applications" (réf. ONE).
Prix 2017 : 2380€ HT
Dates des sessions
iPhone/iPad, développement avancé en Objective-C
New
> Développement logiciel > PHP, C, C++, autres langages
Vous apprendrez à perfectionner vos techniques de programmation d'applications pour iPhone/iPad. Vous
verrez notamment la gestion avancée de la mémoire, des contrôleurs de vue, des threads, de la persistance
et des pushs notifications.
OBJECTIFS PEDAGOGIQUES
Maîtriser les concepts avancés de gestion de la mémoire
Manipuler et combiner des contrôleurs de vues
Persister les données de l'application via le Core Data
Accéder aux informations personnelles
Gérer les threads et l'asynchronisme
Générer des actions push
Paris
15 nov. 2016, 14 mar. 2017
13 juin 2017
1) Gestion avancée de la mémoire
2) Gestion avancée des contrôleurs de vue
3) Gestion avancée des threads
4) Persistance des données
5) Accès aux informations personnelles
6) Notifications
1) Gestion avancée de la mémoire
- Rappel sur la gestion de base de la mémoire avec Objective-C.
- Utilisation de l'Automatic Reference Counting (ARC). Débrayer ARC.
- Mesurer vos applications avec Instruments (allocation et fuite mémoire, activité des threads, exécution...).
- Optimiser la gestion de la mémoire. La recherche des objets zombies.
- Les codes blocks : fonctionnement avancé et bonnes pratiques.
Travaux pratiques
Mesurer quelques métriques de l'application avec Instruments avant de l'envoyer à l'AppStore.
2) Gestion avancée des contrôleurs de vue
- Rappel sur le contrôleur de navigation.
- Combinaisons de contrôleurs et de vues.
- Le PickerViewController (gestion photos et vidéos).
- Le Page View contrôleur.
- Le Split View Controllers. Popovers. In-App Mail.
Travaux pratiques
Manipuler des Split Controllers, des Popovers. Intégrer des fonctions mail dans une application.
3) Gestion avancée des threads
- Rappel sur le principe de la gestion des threads.
- Le Grand Central Dispatch. Les opérations asynchrones via des queues.
- Les threads avec la classe NSThread. Verrouillage avec section critique et mutex.
Travaux pratiques
Gestion de threads.
4) Persistance des données
- Rappels XML et JSON.
- Stockage des données via le Core Data (Archi. et API).
- Création du modèle de données avec XCode.
- SQLite : accès à une base de données.
Travaux pratiques
Restituer des données collectées sur Internet et les stocker dans une base SQLite ou des structures Core
Data.
5) Accès aux informations personnelles
- Le carnet d'adresses. Fonctionnement et programmation par APIs et par contrôleurs spécifiques.
- L'Event Kit et le calendrier.
- Certification et e-Commerce.
- La technologie In-App Purchase (inclure un mini Store au sein de ses applications pour acheter des produits
numériques).
Travaux pratiques
Accéder aux informations du carnet d'adresses.
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
6) Notifications
- La gestion des notifications push.
- Le process de gestion des notifications : serveur, APNs Apple et sur le mobile.
- Le fonctionnement Apple Push Notification Service.
- Les certificats spécifiques "ready to push notification".
- Envoi de messages "push" via le payload en JSON.
Travaux pratiques
Générer des actions push.
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
Stage pratique de 2 jour(s)
Réf : FIW
Participants
Développeurs, chefs de
projet.
Pré-requis
Connaissance des bases
algorithmiques. Pratique d'un
langage de programmation
structurée. Il n'est pas
nécessaire d'être développeur
Apple.
Les bases du langage Swift
pour le développement Mac OS X et iOS
> Développement logiciel > PHP, C, C++, autres langages
Nouveau langage de programmation créé par Apple, Swift se présente comme une alternative à ObjectiveC, moderne et plus performante. Vous apprendrez dans cette formation à développer des Swift 3 en
environnement MacOS. Vous découvrirez les concepts de base de Swift 2 et ses aspects novateurs.
OBJECTIFS PEDAGOGIQUES
Découvrir les concepts de base du langage Swift
Créer un projet Swift
Appréhender Swift Standard Library
Comprendre comment intégrer Cocoa et du code Objective-C à une application Swift
Prix 2017 : 1440€ HT
Dates des sessions
Paris
1 déc. 2016, 16 mar. 2017
15 juin 2017
1) Introduction à Swift
2) L'environnement de développement
3) Les concepts de base de Swift
4) Swift Standard Library
5) Les aspects novateurs et avancés
6) L'intégration avec Cocoa et Objective-C
Travaux pratiques
Exercices pratiques sous MacOS X et XCode 8.
1) Introduction à Swift
- Pourquoi un nouveau langage de programmation dans l'univers Apple ?
- Les différents cas d'usage de Swift (Mac OS X, iOS).
- Les apports et nouveautés de Swift.
- Le rapport de Swift avec les outils Apple classiques : Objective-C, XCode.
- Ouverture à l'Open Source et aux autres systèmes.
2) L'environnement de développement
- Découverte de l'environnement XCode, nouveautés de XCode 8, migrer depuis Swift 1 et 2 (Swift Migrator).
- Installation et configuration de l'environnement de développement, ciblage d'une version d'OS spécifique.
- Création d'un projet Swift et opérations de base (édition, exécution...).
- Découverte de l'outil d'évaluation et de mise au point REPL (Read-Eval-Print-Loop).
Travaux pratiques
Mise en place de l'environnement de développement et découverte d'un premier projet.
3) Les concepts de base de Swift
- Philosophie du langage : syntaxe, gestion mémoire, inférence de type, orientation objet ou fonctionnelle...
- Les mécanismes classiques : typage, variables et constantes, instructions, fonctions...
- Les concepts Objet : notion de classes, méthode.
- La manipulation des chaînes de caractères.
Travaux pratiques
Réalisation de plusieurs applications mettant en œuvre les concepts exposés.
4) Swift Standard Library
- Les types : String, Array, Dictionnary et numériques.
- Les protocoles : Equatable, Comparable, Printable.
- Les fonctions libres et algorithmes.
Travaux pratiques
Mise en œuvre des concepts.
5) Les aspects novateurs et avancés
- Les mécanismes de typage de Swift, la généricité, le support des protocoles.
- La notion de terrain de jeu (Interactive Playground).
- Les clôtures (closures).
- La gestion mémoire : constructeur, destructeur, gestion de références, lazy instanciation...
- La gestion des erreurs.
- Le multi-threading.
- Introduction aux interfaces graphiques avec Swift (Cocoa, Cocoa Touch, iOS)
- Le futur avec Swift 3.
Travaux pratiques
Découverte du Playground. Mise en pratique des closures et de la généricité. Utilisation des frameworks
Cocoa et Cocoa Touch.
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
6) L'intégration avec Cocoa et Objective-C
- L'exploitation des frameworks Cocoa et Cocoa Touch depuis une application Swift.
- L'utilisation conjointe de Swift et Objective-C.
- Les trois modes de fonctionnement : Interoperability, Mix and Match, Migration.
Travaux pratiques
Intégration de code Swift et Objective-C.
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
Stage pratique de 4 jour(s)
Réf : PAW
Participants
Développeurs, chefs de
projet.
Pré-requis
Bonnes connaissances d'un
langage de programmation
(Objective-C, Java, C++, C#).
Connaissance du langage
Swift souhaité.
iPhone/iPad, développer des applications en Swift
> Développement logiciel > PHP, C, C++, autres langages
Vous découvrirez dans cette formation les spécificités du développement d'applications iOS en Swift 3,
nouveau langage phare d'Apple. Vous apprendrez notamment à concevoir des interfaces via XCode, à
gérer la navigation et les "gestures". Vous comprendrez également l'intérêt d'une intégration de code Swift/
Objective-C.
OBJECTIFS PEDAGOGIQUES
Développer simplement des applications iOS performantes en Swift
Exploiter les fonctionnalités d'un iPhone et d'un iPad (GPS, caméra, accéléromètre...)
Intégrer du code Swift et du code Objective-C
Maîtriser le simulateur iOS
Prix 2017 : 2440€ HT
Dates des sessions
Paris
1) Rappels Swift et iOS
2) Les spécificités du développement iOS
3) Composants et interface graphique
4) Réseau et persistance
5) Fonctions avancées
6) Intégration Swift / Objective-C
15 nov. 2016, 6 déc. 2016
7 fév. 2017, 4 avr. 2017
13 juin 2017
Travaux pratiques
Aix
Développements réalisés en environnement MacOS X avec les outils intégrés à XCode (simulateur...).
21 fév. 2017, 16 mai 2017
Bordeaux
1) Rappels Swift et iOS
21 mar. 2017, 20 juin 2017
Grenoble
21 mar. 2017, 20 juin 2017
Lille
21 fév. 2017, 16 mai 2017
- Les objectifs et différents cas d'usage de Swift, tant pour Mac OS X que pour iOS.
- Création d'un projet Swift avec XCode.
- Bases du langage : syntaxe, gestion mémoire, inférence de type, orientation objet ou fonctionnelle...
- Librairie standard et accès au framework iOS.
- Les éléments novateurs de Swift : REPL, Playground...
Lyon
21 mar. 2017, 20 juin 2017
Montpellier
21 fév. 2017, 16 mai 2017
Nantes
21 fév. 2017, 16 mai 2017
Rennes
21 fév. 2017, 16 mai 2017
Sophia-antipolis
21 fév. 2017, 16 mai 2017
Strasbourg
21 fév. 2017, 16 mai 2017
Toulouse
21 mar. 2017, 20 juin 2017
2) Les spécificités du développement iOS
- Le framework Cocoa Touch et ses principes fondateurs.
- Les règles Apple relatives au développement iPhone/iPad et l'App Store.
- Les principes de base des applications iOS : interface utilisateur, réseau, persistance...
- Le paradigme Model - Vue - Contrôleur.
- Ergonomie et éléments conceptuels indispensables.
- Cycle de vie d'une application : storyboard, charte graphique, réalisation, tests, publication.
- Prototyper et tester une application avec le simulateur iOS.
Travaux pratiques
Définir les éléments indispensables d'une application iOS.
3) Composants et interface graphique
- Les différents types de vues et la présentation.
- Positionnement et dimensionnement des vues et contrôles.
- La navigation et les gestures.
- L'utilisation d'Interface Builder.
- Rotation et animation des vues.
Travaux pratiques
Création d'applications graphiques iOS à vues multiples (UITableView ou UI CollectionView).
4) Réseau et persistance
- Différentes façons de stocker et de lire des données.
- Fichiers de propriétés.
- Préférences, fichiers et SQLLite (Core Data).
- Sockets et REST/JSON. Usage de XML.
Travaux pratiques
Gestion de données et accès à un serveur proposant des ressources REST/JSON.
5) Fonctions avancées
- Appels synchrones et asynchrones.
- Manipulation de l'écran et gestion des capteurs (GPS, caméra, accéléromètre...).
- Internationaliser une application.
- Fonctions graphiques avancées (bases d'animation graphique).
- Le multithreading (Grand Central Dispatch).
Travaux pratiques
Mise en œuvre d'aspects avancés.
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
6) Intégration Swift / Objective-C
- Les mécanismes de base Objective-C (variables, typage, instructions, classes de base).
- La création d'un projet et d'éléments de code avec XCode.
- Les trois modes de fonctionnement en intégration : Interoperability, Mix and Match, Migration.
Travaux pratiques
Intégration de code Swift / Objective-C dans le cadre du développement d'une application iOS.
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 87
Stage pratique de 3 jour(s)
Réf : PSQ
SQL Server, Programmation SQL
Best
Participants
> Développement logiciel > PHP, C, C++, autres langages
Concepteur de requêtes SQL,
futur développeur en SGBD,
administrateur ou chargé de
maintenance.
Cette formation vous permettra d'appréhender les fondements du langage SQL. Vous y découvrirez les
principes des bases de données relationnelles (algèbre relationnelle, théorie des ensembles), et explorerez la
syntaxe du langage SQL pour interroger, analyser les données et manipuler les bases.
Pré-requis
OBJECTIFS PEDAGOGIQUES
Connaissances de base en
programmation.
Prix 2017 : 1880€ HT
Dates des sessions
Paris
10 oct. 2016, 14 nov. 2016
12 déc. 2016, 16 jan. 2017
20 fév. 2017, 27 mar. 2017
24 avr. 2017, 22 mai 2017
26 juin 2017, 17 juil. 2017
21 aoû. 2017
Aix
28 nov. 2016, 6 fév. 2017
12 juin 2017
Comprendre le modèle relationnel et identifier les objets d'une base
Interroger et classer les données d'une table à l'aide d'opérateurs simples
Restituer les données de plusieurs tables grâce aux jointures et aux sous-requêtes
Regrouper les données et réaliser des calculs à des fins d'analyse
Manipuler les données dans les tables de la base
1) Algèbre relationnelle et norme SQL
2) Théorie des bases de données
3) Interrogation des données mono tabulaire
4) Interrogation multi tabulaire
5) Analyse de données
6) Mise à jour des données
7) Introduction au SQL procédural
Travaux pratiques
Les exemples et les travaux pratiques sont réalisés sur MS SQL Server, l'un des SGBDR les plus proches de
la norme SQL.
Bordeaux
5 déc. 2016, 27 fév. 2017
26 juin 2017
1) Algèbre relationnelle et norme SQL
Bruxelles
Geneve
- Les principes du modèle relationnel.
- Historique des SGBDR et du langage SQL.
- Entités, associations et MCD.
- Types de données et expression des valeurs
12 déc. 2016, 20 mar. 2017
19 juin 2017
Mise en situation
Prise en main du logiciel SQL Server Management Studio. Découverte de la base étudiée.
12 déc. 2016, 20 mar. 2017
19 juin 2017
Grenoble
28 nov. 2016, 27 fév. 2017
26 juin 2017
Lille
28 nov. 2016, 6 fév. 2017
12 juin 2017
Luxembourg
2) Théorie des bases de données
- Eléments du SGBD.
- Tables, clefs et formes normales.
- Entités, associations et MCD.
- Contraintes de colonnes et de tables.
Lyon
Travaux pratiques
Identifier les objets d'une base de données. Déterminer le type de forme normale d'une relation et la
transformer, créer un MCD.
28 nov. 2016, 27 fév. 2017
26 juin 2017
3) Interrogation des données mono tabulaire
Montpellier
- Structure d'une requête SELECT.
- Filtre WHERE, prédicats et logique ternaire (NULL).
- Opérateurs et expressions SQL.
- Fonctions prédéfinies.
12 déc. 2016, 20 mar. 2017
19 juin 2017
5 déc. 2016, 6 fév. 2017
12 juin 2017
Nantes
5 déc. 2016, 6 fév. 2017
12 juin 2017
Rennes
5 déc. 2016, 6 fév. 2017
12 juin 2017
Travaux pratiques
Extraction à l'aide de la clause WHERE. Utilisation d'opérateurs IN, LIKE, CASE... des opérateurs
numériques, dates, des fonctions de chaîne. Tri des données.
4) Interrogation multi tabulaire
Sophia-antipolis
28 nov. 2016, 6 fév. 2017
12 juin 2017
Strasbourg
28 nov. 2016, 6 fév. 2017
12 juin 2017
Toulouse
10 oct. 2016, 5 déc. 2016
27 fév. 2017, 26 juin 2017
- Combiner des résultats avec les opérations ensemblistes (UNION, INTERSECT, EXCEPT).
- Présentation de la jointure.
- Imbrication des requêtes.
- Utilisation des CTE et découverte des requêtes récursives.
- Les sous-requêtes corrélées et l'opérateur EXISTS.
Travaux pratiques
Utilisation des opérations ensemblistes, création de requêtes avec jointures.
5) Analyse de données
- Fonctions d'agrégation (AVG, SUM, COUNT...).
- Création de sous-ensembles (clause GROUP BY).
- Filtrage des agrégats avec la clause HAVING.
ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78
page 88
- Découverte des fonctions d'analyse de données (LEAD, LAG...) et rangements (RANK, ROW_NUMBER,
NTILE...).
Travaux pratiques
Analyse de données par écritures de requêtes utilisant des calculs avec regroupements.
6) Mise à jour des données
- Les ordres INSERT, UPDATE, DELETE, TRUNCATE.
- Mises à jour simples.
- Mises à jour à l'aide de sous-requêtes.
- Mise à jour des données à travers les vues.
Travaux pratiques
Opérations d'insertion et mises à jour de tables de la base de données.
7) Introduction au SQL procédural
- Les dialectes SQL des principaux éditeurs.
- Notions basiques sur les déclencheurs.
- Introduction aux procédures stockées.
- Les UDF ou fonctions "utilisateur".
Travaux pratiques
Création d'une procédure stockée.
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 89
Stage pratique de 2 jour(s)
Réf : PAV
Participants
Développeurs,
administrateurs, utilisateurs
avancés ayant à mettre
en oeuvre des requêtes
complexes avec SQL Server.
Pré-requis
Bonnes connaissances des
bases du langage SQL ou
connaissances équivalentes à
celles apportées par le stage
" SQL Server, programmation
SQL " (réf PSQ).
Prix 2017 : 1440€ HT
Dates des sessions
Paris
6 oct. 2016, 3 nov. 2016
8 déc. 2016, 19 jan. 2017
16 mar. 2017, 22 juin 2017
31 aoû. 2017
Aix
SQL Server, programmation SQL avancée
Best
> Développement logiciel > PHP, C, C++, autres langages
Grâce à ce cours, vous découvrirez les expressions et opérateurs SQL avancés, et verrez comment les
utiliser avec efficacité pour résoudre des problématiques d'extraction de données complexes. Vous saurez
traiter des besoins de regroupement, d'analyse, d'échantillonnage et de restitution de données hiérarchisées.
OBJECTIFS PEDAGOGIQUES
Ecrire des sous-requêtes et requêtes combinées
Utiliser des fonctions de groupages décisionnels
Mettre en œuvre des fonctions analytiques et de fenêtrage
Ecrire des requêtes récursives
Utiliser les commandes de mises à jour complexes avec l'instruction MERGE
1) Rappel sur les requêtes multitables
2) Opérateurs particuliers
3) Les expressions de tables
4) L'écriture des données
Méthodes pédagogiques
Les stagiaires pourront récupérer les nombreux exemples et TP ainsi que la base servant de fil rouge. Des
références web et bibliographiques sont proposées pour en savoir plus sur chacun des sujets.
Travaux pratiques
Ce stage fait alterner la présentation des concepts et de la syntaxe, et de multiples exercices d'application.
23 fév. 2017, 23 mai 2017
Bordeaux
16 mar. 2017, 6 juin 2017
Bruxelles
15 déc. 2016, 2 mar. 2017
1 juin 2017
Geneve
15 déc. 2016, 2 mar. 2017
1 juin 2017
Grenoble
1) Rappel sur les requêtes multitables
- Opérateurs ensemblistes UNION, INTERSECT et EXCEPT.
- Rappel sur les jointures internes et externes.
- Maîtriser les sous-requêtes dans les différentes parties des instructions SQL.
- Corrélations des requêtes imbriquées.
- Opérations d'intra-jointure avec APPLY (CROSS, OUTER) pour les fonctions et les fragments XML.
Travaux pratiques
Résolutions de cas de requêtes mettant en action plusieurs tables.
16 mar. 2017, 6 juin 2017
Lille
23 fév. 2017, 23 mai 2017
Luxembourg
15 déc. 2016, 2 mar. 2017
1 juin 2017
Lyon
16 mar. 2017, 6 juin 2017
Montpellier
23 fév. 2017, 23 mai 2017
Nantes
23 fév. 2017, 23 mai 2017
Rennes
23 fév. 2017, 23 mai 2017
Sophia-antipolis
23 fév. 2017, 23 mai 2017
Strasbourg
23 fév. 2017, 23 mai 2017
Toulouse
16 mar. 2017, 6 juin 2017
2) Opérateurs particuliers
- Utilité du produit cartésien (CROSS JOIN).
- La division relationnelle.
- Groupage décisionnel avec CUBE, ROLLUP et GROUPING SET.
- Fonctions analytiques et de fenêtrage : ordonnancement et agrégat avec les clauses OVER et WINDOW.
- Tableaux croisés avec PIVOT et UNPIVOT.
- Echantillon de données avec TABLESAMPLE.
Travaux pratiques
Résolution de cas de division relationnelle. Utilisation des fonctions de groupages décisionnels. Mise en
oeuvre des fonctions analytiques.
3) Les expressions de tables
- L'expression de table commune, Common Table Expression (CTE), ou vue non persistante.
- L'utilisation du mot-clé WITH pour spécifier une CTE.
- Les différentes techniques de requêtage dans les arborescences (adjacence, chemin, intervallaire,
récursion).
- Résolution de problèmes de graphes avec les requêtes récursives.
- Utilisation de tables de nombres et de dates (tally tables) pour résoudre des requêtes complexes.
Travaux pratiques
Exprimer des requêtes sous la forme de la CTE récursive.
4) L'écriture des données
- Mise à jour et suppression des données avec sous-requêtes.
- Utilisation de la syntaxe étendue de mise à jour et suppression avec jointures.
- Opérations d'insertion, de mise à jour ou de suppression à partir de résultats d'une jointure, l'opérateur
MERGE.
- Récupération des données ajoutées, modifiées ou supprimées, avec la clause OUTPUT.
Travaux pratiques
Ecriture de commandes de mises à jour complexes avec l'instruction MERGE et les sous-requêtes.
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 90
Stage pratique de 4 jour(s)
Réf : SED
Participants
Développeurs, chefs de
projets.
Pré-requis
Connaissances de base en
programmation. Notions sur
les bases de données et le
langage SQL.
SQL Server 2014 à 2008, développement
> Développement logiciel > PHP, C, C++, autres langages
OBJECTIFS
Ce stage vous procurera toutes les connaissances nécessaires pour développer des applications sous SQL
Server. Il vous apprendra notamment à manipuler les objets d'une base de données, à optimiser les temps
de restitution des données, et à réaliser les opérations de maintenance courantes du développeur.
1) La construction des bases de données
2) Requêtes d'extraction de données
3) Mise à jour des données
4) Coder en Transact SQL
5) Optimisation de l'exécution des requêtes
6) Maintenance courante pour le développeur
Prix 2017 : 2440€ HT
Dates des sessions
Paris
29 nov. 2016, 7 fév. 2017
4 avr. 2017, 6 juin 2017
1) La construction des bases de données
- Le stockage physique avec les fichiers et les groupes de fichiers.
- Les schémas SQL ou le stockage logique.
- Bon usage des différents types de données.
- Créer des tables. Mise en place des contraintes.
- Obtenir un rétro-script DDL.
Travaux pratiques
Créer les tables d'une base de données et définir les contraintes associées.
2) Requêtes d'extraction de données
- Les opérateurs ensemblistes.
- Les jointures internes et externes. Typologies.
- Les sous-requêtes.
- Utiliser les " Common Table Expression " (CTA) et les requêtes récursives.
- Fonctions fenêtrées et clause OVER (ordonnancement, agrégat et fenêtrage RANGE/ROWS).
- Les opérateurs particuliers (APPLY, PIVOT...).
- La création des vues.
Travaux pratiques
Manipuler des requêtes d'extraction avec différents types de jointures. Présenter les données avec les
fonctions d'agrégat. Créer des vues.
3) Mise à jour des données
- Les mises à jour simples (INSERT, UPDATE et DELETE).
- L'ordre SQL MERGE.
- Mise à jour avec des sous-requêtes.
- BULK INSERT et BCP pour le chargement de fichier et l'export de données.
Travaux pratiques
Réaliser des opérations de mise à jour de la base. Importer et exporter des données.
4) Coder en Transact SQL
- Eléments du langage Transact SQL. Notion de Batch.
- Créer des fonctions scalaires et des fonctions tables.
- Présentation des transactions.
- Programmation des déclencheurs.
- Développer des procédures stockées.
Travaux pratiques
Créer des fonctions et des vues paramétrables. Créer des procédures stockées gérant des transactions.
Automatiser des traitements à l'aide de déclencheurs.
5) Optimisation de l'exécution des requêtes
- Visualisation des plans de requêtes.
- Métrique (IO TIME) et comparaison d'exécution.
- Présentation des index. Que faut-il indexer ?
Travaux pratiques
Comparer les temps d'exécution pour des scénarios d'indexation. Utiliser des plans de requêtes.
6) Maintenance courante pour le développeur
- Sauvegarde des données. Scénarios de restauration.
- Maintenir les index et les statistiques.
- Vérifier l'intégrité physique d'une base et la réparer.
Travaux pratiques
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 91
Effectuer des sauvegardes et des restaurations. Elaborer un plan de maintenance des index.
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 92
Stage pratique de 2 jour(s)
Réf : TAS
Participants
Chefs de projet, concepteurs
et développeurs TransactSQL.
Pré-requis
Bonnes connaissances des
bases du langage SQL ou
connaissances équivalentes à
celles apportées par le stage
" SQL Server, programmation
SQL " (réf PSQ).
Prix 2017 : 1440€ HT
Dates des sessions
Paris
27 oct. 2016, 7 nov. 2016
22 déc. 2016, 16 mar. 2017
22 juin 2017
Transact-SQL, optimisation pour SQL Server 2014 à 2008
> Développement logiciel > PHP, C, C++, autres langages
Cette formation présente les règles de bonne écriture et d'optimisation du Transact-SQL, pour améliorer les
performances des requêtes et éviter les écueils fréquemment rencontrés lors de la programmation en T-SQL.
OBJECTIFS PEDAGOGIQUES
Comprendre le fonctionnement de l'optimiseur SQL
Bien choisir ses index pour optimiser l'accès aux données
Utiliser le profiler et le Database Tuning Advisor pour améliorer les performances
Utiliser les statistiques et le plan d'exécution pour auditer les performances des requêtes
Améliorer les requêtes par de bonnes pratiques d'écriture
Utiliser les requêtes ensemblistes
1) Le modèle relationnel et le langage SQL
2) Réussir l'indexation
3) Ecrire des requêtes performantes
4) Remplacer tables temporaires et curseurs
5) Bonnes pratiques pour les modules de code
Travaux pratiques
Formation interactive, alternant étroitement théorie et pratique. L'apprentissage se fait par l'expérimentation.
1) Le modèle relationnel et le langage SQL
- Les spécificités des bases de données relationnelles et du langage SQL.
- La normalisation du modèle de données.
- Les notions d'écriture ensembliste et déclarative. Les spécificités du dialecte Transact-SQL.
- Le fonctionnement de l'optimiseur SQL.
Travaux pratiques
Expérimentation de requêtes sur des modèles plus ou moins normalisés.
2) Réussir l'indexation
- Les bases de l'indexation. La structure en B-Tree et les différents types d'index.
- Comment choisir ses index en fonction des requêtes ?
- La notion de couverture de requête par un index.
- Le concept de SARG (Search Argument) pour favoriser l'utilisation de l'index.
- Utilisation du profiler et du Database Tuning Advisor.
Travaux pratiques
Indexation de tables pour améliorer les performances de requêtes.
3) Ecrire des requêtes performantes
- Les règles de bonne écriture des requêtes SQL.
- Lire et utiliser les statistiques d'exécution et le plan d'exécution. Optimiser ses jointures et ses
regroupements.
- Optimiser le code de mise à jour des données.
- Erreurs les plus communes : SQL dynamique, fonctions utilisateurs, comparaisons insensibles à la casse.
Travaux pratiques
Réécriture de requêtes peu performantes.
4) Remplacer tables temporaires et curseurs
- Maîtriser les sous-requêtes et les opérateurs relationnels.
- Utiliser l'instruction MERGE pour les mises à jour de données complexes.
- Créer des tables de nombres et de dates pour résoudre les problèmes de façon relationnelle.
- Utiliser les fonctions de fenêtrage et les fonctions statistiques.
- Utiliser le CROSS JOIN pour résoudre les problèmes complexes.
- Ecrire du code récursif en utilisant des expressions de table.
Travaux pratiques
Résolution de problématiques complexes par des requêtes ensemblistes.
5) Bonnes pratiques pour les modules de code
- Règles pour l'écriture de procédures stockées.
- Maîtriser la compilation et recompilation.
- Minimiser l'impact des déclencheurs. Comprendre les transactions et les problèmes de verrouillage.
- Utiliser les niveaux d'isolation de la transaction.
Travaux pratiques
Ecriture d'une procédure stockée optimisée.
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 93
Stage pratique de 5 jour(s)
Réf : QSM
Participants
Cette formation est destinée
à des ingénieurs systèmes et
des développeurs qui doivent
utiliser ou mettre en oeuvre
SQL Server 2012.
Pré-requis
Bonnes connaissances
du langage SQL ou
connaissances équivalentes à
celles apportées par le stage
" SQL Server, programmation
SQL " (réf. PSQ).
Prix 2017 : 2600€ HT
Dates des sessions
Paris
SQL Server 2014/2012, mise en œuvre
> Développement logiciel > PHP, C, C++, autres langages
Ce stage vous apportera toutes les connaissances nécessaires à la pleine utilisation de SQL Server en
version 2014 ou 2012. Vous apprendrez à écrire des ordres SQL et utiliser les extensions du langage, à
modifier les structures et entrer les contraintes d'intégrité, à charger les données et exploiter les transactions.
OBJECTIFS PEDAGOGIQUES
Se familiariser avec l'environnement Management Studio
Créer les tables de la base, et mettre en place les clés primaires et contraintes d'unicité
Charger des données dans la base à l'aide de BULK INSERT et BCP
Mettre en place des index sur la base de données pour améliorer ses performances
Créer des requêtes et des procédures stockées, des déclencheurs et des fonctions, pour mettre à jour la
base
Intégrer la gestion des exceptions et les transactions dans les déclencheurs et les procédures
1) Présentation de SQL Server 2012
2) Bases de données et schémas SQL
3) Tables, vues et contraintes
4) Chargement de données et exports
21 nov. 2016, 6 fév. 2017
24 avr. 2017, 26 juin 2017
Aix
19 déc. 2016
Bordeaux
14 nov. 2016
Bruxelles
12 déc. 2016, 27 mar. 2017
26 juin 2017
Geneve
12 déc. 2016, 27 mar. 2017
26 juin 2017
Grenoble
19 déc. 2016
Lille
5) Indexation et plans de requêtes
6) SQL avancé avec Transact SQL, code
procédural
7) Transactions et gestion des exceptions
8) Introduction aux techniques avancées
1) Présentation de SQL Server 2012
- Architecture de SQL Server 2012.
- Outils de développement et d'administration.
Travaux pratiques
Prise en main du gestionnaire de configuration et de Management Studio.
2) Bases de données et schémas SQL
- Les identifiants : nommage des objets SQL Server.
- Création de la base de données. Schémas SQL.
- Cycle de vie des objets d'une base.
3) Tables, vues et contraintes
19 déc. 2016
Luxembourg
12 déc. 2016, 27 mar. 2017
26 juin 2017
Lyon
19 déc. 2016
Montpellier
14 nov. 2016
Nantes
14 nov. 2016
- Langage DDL : création d'objets, contraintes.
- Types de données natifs et types utilisateurs.
- Création des tables et des vues.
- Les contraintes de domaine et de colonne.
- Clé primaire et clés alternatives. Gestion de l'intégrité référentielle.
Travaux pratiques
Création de types utilisateurs. Création de tables et de vues. Ajout de contraintes. Mise en place de clés
primaires et de contraintes d'unicité.
4) Chargement de données et exports
Rennes
14 nov. 2016
Sophia-antipolis
19 déc. 2016
Strasbourg
19 déc. 2016
Toulouse
14 nov. 2016
- La commande BULK INSERT.
- Import/export en ligne de commande avec BCP.
- Fonctions OPEN pour interroger les données externes.
- Présentation d'Integration Services.
Travaux pratiques
Chargement des données à l'aide de BULK INSERT et BCP. Utilisation d'OPENROWSET.
5) Indexation et plans de requêtes
- Structure des index : arbre équilibré, index clustered...
- Création d'index : approche de création...
- Analyse des performances.
- Utilisation du Database Tuning Advisor.
Travaux pratiques
Mise en place d'index sur la base de données et constat sur les performances.
6) SQL avancé avec Transact SQL, code procédural
- Groupages OLAP et clauses OUTPUT, SELECT INTO...
- Ordre SQL MERGE. Chiffrement des données.
- Fonctions, procédures stockées, curseurs, déclencheurs.
Travaux pratiques
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 94
Création de requêtes avancées de Transact-SQL. Réalisation d'une fonction table multi-instructions.
Procédure stockée pour l'insertion combinée.
7) Transactions et gestion des exceptions
- Les transactions. Niveaux d'isolation. Gestion des exceptions. Transactions imbriquées.
Travaux pratiques
Intégration de la gestion des exceptions et des transactions dans les déclencheurs et les procédures
stockées.
8) Introduction aux techniques avancées
- Présentation du Système d'Information Géographique-SIG. Utilisation de XML au sein de SQL Server 2012.
Travaux pratiques
Utilisation du SIG. Interrogation XML.
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 95
Stage pratique de 5 jour(s)
Réf : SEM
Participants
Cette formation est destinée
à des ingénieurs système et
des développeurs qui doivent
utiliser ou mettre en œuvre
SQL Server 2008.
Pré-requis
Bonnes connaissances
du langage SQL ou
connaissances équivalentes à
celles apportées par le stage
" Programmation SQL " (réf.
PSQ).
Prix 2017 : 2970€ HT
Dates des sessions
Paris
28 nov. 2016, 20 mar. 2017
26 juin 2017
Aix
SQL Server 2008, mise en œuvre
Best
> Développement logiciel > PHP, C, C++, autres langages
Cette formation vous apportera toutes les connaissances nécessaires à la pleine utilisation de SQL Server
2008. Elle vous permettra de comprendre le rôle des divers composants de SQL Server 2008, d'utiliser les
outils de requête, et d'écrire des ordres SQL de manipulation des données incluant les extensions au langage
SQL propres à SQL Server. Elle vous montrera comment modifier la structure des tables, mettre en place les
contraintes d'intégrité et comment exploiter au mieux le concept de transaction.
OBJECTIFS PEDAGOGIQUES
Créer une base de données avec SQL Server 2008, définir ses paramètres généraux
Créer les tables de la base et les utilisateurs, importer et exporter des données
Mettre en place des clés sur les tables et autres vérifications sur les données
Manipuler les données de la base avec les fonctions du Transact-SQL
Optimiser les performances en mettant en place des index sur la base de données
Programmer des déclencheurs et procédures stockées
1) Présentation de SQL Server 2008
2) Bases de données et schémas SQL
3) Tables et vues
4) Les contraintes
5) Chargement de données et exports
6) SQL avancé avec Transact SQL
7) Indexation et plans de requêtes
8) Codage procédural
9) Transactions et gestion des exceptions
10) Introduction aux techniques avancées
12 déc. 2016
Bordeaux
14 nov. 2016
Grenoble
12 déc. 2016
Lille
12 déc. 2016
Lyon
12 déc. 2016
1) Présentation de SQL Server 2008
- Présentation de SQL Server 2008. Versions.
- Architecture de SQL Server 2008.
- Outils de développement et d'administration.
- Les bases systèmes.
Travaux pratiques
Prise en main des outils graphiques de SQL Server : gestionnaire de configuration et Management Studio.
Montpellier
14 nov. 2016
Nantes
14 nov. 2016
Rennes
14 nov. 2016
Sophia-antipolis
12 déc. 2016
Strasbourg
12 déc. 2016
Toulouse
14 nov. 2016
2) Bases de données et schémas SQL
- Les identifiants : nommage des objets SQL Server.
- Stockage physique : fichiers de données et journal de transactions.
- Création de la base de données : gestion des espaces de stockage paramètres de création.
- Schémas SQL : concept et utilisation.
- Cycle de vie des objets d'une base.
- Brèves notions sur la gestion des privilèges.
- Vues et procédures de métadonnées.
Travaux pratiques
Création physique d'une base de données. Mise en place de différents schémas SQL. Modification des
paramètres de la base de données.
3) Tables et vues
Langage DDL : création d'objets, contraintes
- Types de données SQL Server et types utilisateurs.
- Création des tables : définition des colonnes.
- Gestion des auto-incréments.
- Création et utilisation des vues.
- Conditions de mise à jour à travers les vues.
Travaux pratiques
Création de types utilisateurs. Création de tables et de vues. Manipulation des auto-incréments. Mise à jour à
travers les vues.
4) Les contraintes
- Les contraintes de domaine (CHECK).
- Contraintes de colonne NOT NULL et DEFAULT.
- Clé primaire et clés alternatives.
- Gestion de l'intégrité référentielle.
- Utilisation de déclencheurs (triggers) pour la réalisation des assertions.
Travaux pratiques
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 96
Ajout de contraintes de domaines aux types utilisateurs et aux colonnes. Mise en place de clés primaires et
de contraintes d'unicité. Mise en place de clés étrangères. Réalisation de contraintes complexes CHECK à
l'aide de fonctions et de déclencheurs.
5) Chargement de données et exports
- Chargement de fichier avec la commande BULK INSERT.
- Import/export en ligne de commande avec bcp.
- Fonctions OPEN pour interroger les données externes.
- Gestion des flux interserveurs.
- Integration Services.
Travaux pratiques
Chargement des données à l'aide de BULK INSERT et bcp. Utilisation d'OPENROWSET pour faire des
requêtes externes.
6) SQL avancé avec Transact SQL
- Manipulation de données booléennes.
- Groupages OLAP (CUBE, ROLLUP, GROUPING SETS...).
- Fonction de fenêtrage et clause OVER.
- Tableaux croisés avec PIVOT et UNPIVOT.
- Clauses TOP et SAMPLE.
- Clauses OUTPUT, SELECT INTO, TRUNCATE TABLE.
- Ordre SQL MERGE.
- Gestion d'objets larges à l'aide du type filestream.
- Cryptage des données.
Travaux pratiques
Exercices de requêtes mettant en œuvre les fonctions avancées de Transact-SQL.
7) Indexation et plans de requêtes
- Présentation : rôle des index, utilisation.
- Structure des index : arbre équilibré, index ordonné et non ordonné, statistiques de distribution.
- Création d'index : approche de création, choix des index.
- Utilisation du Database Tuning Advisor.
- Indexation de vues : indications et contraintes.
- Index pour recherche en texte intégral.
- Analyse des performances.
Travaux pratiques
Mise en place d'index sur la base de données et constat sur les performances.
8) Codage procédural
- Syntaxe procédurale du Transact SQL (variables, affectation, types de données et structures).
- Création de fonctions scalaires (UDF).
- Fonctions tables (requêtes paramétrées).
- Principe des procédures stockées.
- Création et utilisation de tables temporaires et de variables table.
- Manipulation de curseurs.
- Déclencheurs : types de triggers.
- Débogage du code Transact-SQL.
Travaux pratiques
Réalisation de fonctions scalaires et de déclencheurs pour gérer la qualité des données. Réalisation d'une
fonction table multi-instruction. Programmation d'une procédure stockée pour l'insertion combinée.
9) Transactions et gestion des exceptions
- Principe des transactions : mode implicite et explicite.
- Définition des frontières des transactions.
- Anomalies transactionnelles, gestion des niveaux d'isolation et mise en place des verrous.
- Gestion des exceptions.
- Problématique des transactions imbriquées.
- Transactions distribuées et commit à deux phases.
Travaux pratiques
Intégration de la gestion des exceptions et des transactions dans les déclencheurs et les procédures
stockées.
10) Introduction aux techniques avancées
- Présentation du SIG de SQL Server (système d'information géographique).
- Utilisation de XML au sein de SQL (requêtes avec XQuery/XPath et clause FOR XML).
- Introduction à l'indexation textuelle (Full Text Search).
- Intégration de .NET dans SQL Server.
ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78
page 97
Travaux pratiques
Utilisation du SIG, interrogation XML et recherches "plain text".
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 98
Stage pratique de 3 jour(s)
Réf : OSL
Oracle SQL
Best
Participants
> Développement logiciel > PHP, C, C++, autres langages
Des informaticiens désirant
se servir de SQL en
environnement Oracle.
Une formation pratique aux aspects essentiels, logique et syntaxe, du langage SQL. Ce cours vous apportera
une méthode sûre d'écriture de requêtes SQL complexes.
Pré-requis
OBJECTIFS PEDAGOGIQUES
Connaissances de base en
informatique.
Comprendre le modèle relationnel
Savoir identifier les objets d'une base des données Oracle
Interroger et classer les données d'une table
Manipuler les données dans les tables de la base
Savoir restituer les données
Prix 2017 : 1880€ HT
Dates des sessions
Paris
10 oct. 2016, 14 nov. 2016
12 déc. 2016, 9 jan. 2017
6 fév. 2017, 6 mar. 2017
3 avr. 2017, 2 mai 2017
6 juin 2017, 3 juil. 2017
21 aoû. 2017
Aix
28 nov. 2016, 6 mar. 2017
26 juin 2017
Bordeaux
1) Introduction
2) Les outils
3) Introduction SQL
1) Introduction
- Le modèle relationnel.
- Les notions de base : relation (table), attributs (colonnes), contraintes d'intégrité.
- Les contraintes d'intégrité.
12 déc. 2016, 27 fév. 2017
24 avr. 2017, 12 juin 2017
2) Les outils
Bruxelles
- Présentation du SQL*Plus.
- Présentation du SQL Developer.
12 déc. 2016, 27 fév. 2017
26 juin 2017
Geneve
12 déc. 2016, 27 fév. 2017
26 juin 2017
Grenoble
28 nov. 2016, 27 fév. 2017
24 avr. 2017, 12 juin 2017
Lille
28 nov. 2016, 6 mar. 2017
26 juin 2017
4) Interrogation des données
5) Objets d'une base de données Oracle
6) Instructions SQL complexes
3) Introduction SQL
- Les types de données Oracle.
- Création des tables.
- Introduction aux instructions de mise à jour.
- Utilisation des séquences.
- Introduction à l'interrogation (SELECT).
4) Interrogation des données
Montpellier
- Tri et suppression des doublons. Utilisation des alias et des préfixes.
- Traitement de la valeur NULL. Utilisation des fonctions SQL.
- Utilisation des pseudo-colonnes : ROWID et ROWNUM. Utilisation des agrégats : COUNT, SUM, AVG...
- Opérations ensemblistes : union, intersection, différence.
- Requêtes imbriquées : opérateurs IN, EXISTS.
- Utilisation des jointures.
- Jointures externes.
- Groupement : GROUP BY et HAVING.
12 déc. 2016, 6 mar. 2017
26 juin 2017
5) Objets d'une base de données Oracle
Luxembourg
12 déc. 2016, 27 fév. 2017
26 juin 2017
Lyon
28 nov. 2016, 27 fév. 2017
24 avr. 2017, 12 juin 2017
Nantes
12 déc. 2016, 6 mar. 2017
26 juin 2017
Rennes
12 déc. 2016, 6 mar. 2017
26 juin 2017
Sophia-antipolis
28 nov. 2016, 6 mar. 2017
26 juin 2017
Strasbourg
28 nov. 2016, 6 mar. 2017
26 juin 2017
Toulouse
- Création et suppression des tables.
- Gestion des contraintes d'intégrité : clé primaire, unicité, non-nullité, CHECK, contraintes référentielles.
- Utilisation des vues.
- Utilisation des synonymes.
- Dictionnaire de données.
6) Instructions SQL complexes
- Paramétrage des scripts SQL*Plus.
- Division et interrogations complexes.
- Instructions de mise à jour avec des requêtes imbriquées.
- Les requêtes hiérarchiques.
- Utilisation des expressions régulières.
12 déc. 2016, 27 fév. 2017
24 avr. 2017, 12 juin 2017
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 99
Stage pratique de 2 jour(s)
Réf : OSP
Participants
Toute personne impliquée
indirectement dans l'exécution
de requêtes SQL avancées
(développeur, DBA, maître
d'ouvrage).
Pré-requis
Bonnes connaissances
des bases du SQL ou
connaissances équivalentes à
celles apportées par le stage
"Oracle SQL" (réf. OSL).
Expérience requise.
Prix 2017 : 1440€ HT
Dates des sessions
Paris
17 nov. 2016, 9 mar. 2017
11 mai 2017
Aix
8 déc. 2016, 16 mar. 2017
18 mai 2017
Bordeaux
15 déc. 2016, 23 mar. 2017
11 mai 2017
Oracle SQL, perfectionnement
> Développement logiciel > PHP, C, C++, autres langages
OBJECTIFS
Cette formation très pratique se propose de développer les aspects avancés du langage SQL comme
les opérateurs ensemblistes, la gestion des LOB, des Bfiles et du XML, les fonctions d'agrégation et de
statistiques.
1) Les fonctions complémentaires
2) Les opérateurs ensemblistes
3) La gestion des LOB et des Bfiles
4) Agrégation, jointures et sub-select
1) Les fonctions complémentaires
- Fonctions de transformation.
- Fonctions analytiques : Rank, Dense_Rank.
- Fonction hiérarchique. Autres fonctions : Rowid, etc.
Travaux pratiques
Mise en forme de données disparates (dates, numériques), liste d'une hiérarchie à plusieurs niveaux.
2) Les opérateurs ensemblistes
- Union et Union ALL.
- Différence Minus.
- Exists, Some, Any, All.
Bruxelles
Travaux pratiques
Recherche des différences entre plusieurs tables.
15 déc. 2016, 13 avr. 2017
22 juin 2017
3) La gestion des LOB et des Bfiles
Geneve
- Utilisations possibles. Définition des tables.
- Insertion et mises à jour des LOB.
- Gestion d'un Bfile.
15 déc. 2016, 13 avr. 2017
22 juin 2017
Grenoble
8 déc. 2016, 23 mar. 2017
11 mai 2017
Lille
8 déc. 2016, 16 mar. 2017
18 mai 2017
Luxembourg
15 déc. 2016, 13 avr. 2017
22 juin 2017
5) La gestion des intégrités
6) La gestion du XML
7) Le partitionnement des données
8) La gestion des tables distantes
Travaux pratiques
Ajout d'une photo dans une table, ajout d'un CV dans une table.
4) Agrégation, jointures et sub-select
- Les fonctions d'agrégation et statistiques : Group By Rollup. Group by Cube. Group by Sets.
- Rappel des jointures " classiques ". Auto-jointure. FULL, RIGHT, LEFT.
- Sub-select corrélés/non corrélés avec des Insert, Update, Delete.
Lyon
Travaux pratiques
Statistiques et regroupements sur plusieurs critères. Création d'une table à partir d'autres tables.
8 déc. 2016, 23 mar. 2017
11 mai 2017
5) La gestion des intégrités
Montpellier
15 déc. 2016, 16 mar. 2017
18 mai 2017
Nantes
- Rappel des définitions : unicité, référentielle, cohérence.
- Mise en oeuvre : Primary Key, Foreign Key, Increment, Check.
- Principes d'utilisation. Bonnes pratiques et limites.
Rennes
Travaux pratiques
Création de tables en intégrité référentielle. Ajout/suppression des contraintes d'intégrité et des contrôles par
Check.
15 déc. 2016, 16 mar. 2017
18 mai 2017
6) La gestion du XML
Sophia-antipolis
- Stockage de XML. Utilisation de fonctions avancées XML.
15 déc. 2016, 16 mar. 2017
18 mai 2017
8 déc. 2016, 16 mar. 2017
18 mai 2017
Strasbourg
Travaux pratiques
Gestion d'un document XML.
8 déc. 2016, 16 mar. 2017
18 mai 2017
7) Le partitionnement des données
Toulouse
- Les différents types de partitionnements possibles.
- Mise en oeuvre du partitionnement des données.
15 déc. 2016, 23 mar. 2017
11 mai 2017
Travaux pratiques
Création de tables partitionnées, rechargement des données.
8) La gestion des tables distantes
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 100
- Rappel des principes : schémas, ODBC, DRDA.
- Accès à une table distante. Jointures avec des tables distantes.
Travaux pratiques
Lecture des tables d'autres BD.
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 101
Stage pratique de 3 jour(s)
Réf : ROD
Participants
Ce stage s'adresse aux
développeurs d'applications
décisionnelles sous Oracle
désireux d'utiliser tout le
potentiel SQL d'Oracle.
Pré-requis
Bonnes connaissances du
langage SQL.
Oracle SQL pour le décisionnel
> Développement logiciel > PHP, C, C++, autres langages
OBJECTIFS
Un cours intensif pour acquérir toutes les compétences nécessaires à l'utilisation des fonctionnalités
décisionnelles du SQL d'Oracle.
1) Introduction
2) Groupements des données
3) Agrégation et analyse des données
4) La clause MODEL
5) Mise à jour des données
6) Objets
Prix 2017 : 1880€ HT
1) Introduction
Dates des sessions
- Informatique décisionnelle. Etat de la norme SQL. Norme SQL3 et décisionnel.
- Rappels des concepts liés à un datawarehouse. Notions de CUBE. Concept OLAP. Analyse
multidimensionnelle.
- Modélisation en étoile et constellation. Notions de dimension. Notion de table de fait.
Paris
14 nov. 2016, 27 fév. 2017
22 mai 2017, 10 juil. 2017
Etude de cas
Présentation : le modèle, les problématiques.
2) Groupements des données
- Fonctions horizontales. Fonctions verticales. Fonctions d'agrégat.
- Le groupe. Rappels : fonctionnement du GROUP BY, fonctionnement du HAVING.
- Fonctions GROUPING. Syntaxe. Exemples. Gestion des valeurs NULL.
- Le groupe à deux niveaux.
Travaux pratiques
Manipulation de la syntaxe et des fonctionnalités de groupements.
3) Agrégation et analyse des données
- Extensions ROLLUP et CUBE. Expression de GROUPING SET.
- Fonctions de groupes. Fonctions analytiques. La clause de partitionnement.
- La clause d'ordre. La clause de fenêtrage. Fonctions de classement.
- Ordonner les tris. Fonctions de classement. Fonctions de fenêtres.
Travaux pratiques
Manipulation de la syntaxe et des fonctionnalités d'agrégation.
4) La clause MODEL
- La mise en oeuvre. La fonction CV.
- La fonction ITERATION_NUMBER. La fonction PRESENTNNV.
- La fonction PRESENTV. La fonction PREVIOUS.
Travaux pratiques
Manipulation de la syntaxe de la clause MODEL.
5) Mise à jour des données
- Insertion multitables. Insertion sans condition.
- INSERT_ALL, INSERT_FIRST. Mises à jour conditionnées.
Travaux pratiques
Alimentation du modèle en étoile.
6) Objets
- Les ETL (Extraction, Transformation, Chargement).
- Interrogation de tables externes. Vues du dictionnaire de données.
- Vues Matérialisées (VM). Intérêt. Syntaxe de création. Options.
- Vues Matérialisées et optimisation. Réécriture de requêtes. Dimensions et hiérarchies.
Travaux pratiques
Utilisation des tables externes pour le déplacement des données. Création des vues matérialisées pour
optimiser les requêtes.
ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78
page 102
Stage pratique de 3 jour(s)
Réf : ORD
Participants
Concepteurs, développeurs
et toute personne impliquée
dans des développements
utilisant la base de données
Oracle.
Pré-requis
Bonnes connaissances de
SQL.
Prix 2017 : 1880€ HT
Dates des sessions
Paris
10 oct. 2016, 14 nov. 2016
5 déc. 2016, 16 jan. 2017
13 fév. 2017, 13 mar. 2017
10 avr. 2017, 22 mai 2017
19 juin 2017, 3 juil. 2017
28 aoû. 2017
Développer en PL/SQL
Best
> Développement logiciel > PHP, C, C++, autres langages
Le cours PL/SQL a comme objectif la maîtrise du langage PL/SQL et l'utilisation des traitements stockés et
des triggers dans les applications. Les concepts abordés sont systématiquement mis en pratique.
OBJECTIFS PEDAGOGIQUES
Comprendre le traitement transactionnel dans Oracle.
Maîtriser les éléments du langage PL/SQL
Savoir accéder une base de données Oracle
Créer des procédures et de fonctions stockées
Utiliser les différents types des triggers
1) Introduction et rappels
2) Eléments du langage
3) Accès à la base
4) Traitements stockés
5) Gestion des erreurs
6) Triggers
7) Compléments
1) Introduction et rappels
Bordeaux
- Traitement transactionnel dans Oracle.
- Objets et dictionnaire d'une base Oracle.
- SQL et PL/SQL. Vue globale de PL/SQL.
- Outils utilisés. Documentation Oracle.
12 déc. 2016, 27 fév. 2017
16 mai 2017, 3 juil. 2017
2) Eléments du langage
Bruxelles
- Environnements hôtes. Introduction syntaxique. Déclarations de variables et de constantes PL/SQL.
- Types de données et conversion. Fonctions prédéfinies.
- Instructions de contrôle : IF- ELSE, la boucle LOOP, la boucle FOR.
- Types composites : records, tables indexées.
- Types objets. Définition des sous-programmes.
- Paramétrage des sous-programmes.
Aix
28 nov. 2016, 13 fév. 2017
22 mai 2017
12 déc. 2016, 20 fév. 2017
29 mai 2017
Geneve
12 déc. 2016, 20 fév. 2017
29 mai 2017
Grenoble
28 nov. 2016, 27 fév. 2017
16 mai 2017, 3 juil. 2017
Lille
Exercice
Déclaration de variables. Manipulation de la date. Attributs de typage. Utilisation des collections et de leurs
méthodes.
28 nov. 2016, 13 fév. 2017
22 mai 2017
3) Accès à la base
Luxembourg
- La base et la notion de curseur.
- Accès via curseur implicite : update, delete, insert, select. Utiliser les clauses RETURNING et BULK
COLLECT.
- Collections et FORALL.
- Boucles FOR à curseur. Curseurs en mise à jour.
- Curseurs explicites. Variables curseur.
12 déc. 2016, 20 fév. 2017
29 mai 2017
Lyon
28 nov. 2016, 27 fév. 2017
16 mai 2017, 3 juil. 2017
Montpellier
12 déc. 2016, 13 fév. 2017
22 mai 2017
Nantes
12 déc. 2016, 13 fév. 2017
22 mai 2017
Rennes
12 déc. 2016, 13 fév. 2017
22 mai 2017
Sophia-antipolis
Exercice
Utilisation de curseur explicite et de BULK COLLECT.
4) Traitements stockés
- Gestion de sous-programmes stockés, de bibliothèques stockées et de paquetages.
- Gestion des traitements stockés : droits d'accès, vues du dictionnaire et dépendance.
- Utilisation des packages.
Exercice
Création de procédures, de fonctions stockées et de paquetages.
28 nov. 2016, 13 fév. 2017
22 mai 2017
5) Gestion des erreurs
Strasbourg
- Traitement d'une exception.
- Utilisation de RAISE_APPLICATION_ERROR.
- Déclenchement d'une exception via RAISE.
- Propagation et gestion transactionnelle.
28 nov. 2016, 13 fév. 2017
22 mai 2017
Toulouse
12 déc. 2016, 27 fév. 2017
16 mai 2017, 3 juil. 2017
Exercice
Utilisation de Raise et de RAISE_APPLICATION_ERROR.
6) Triggers
- Définition et types de triggers Evénement/Action. Triggers Ordre.
- Lignes (utilisation de : NEW et : OLD), E/C/A (Evénement/Condition/Action).
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 103
- " INSTEAD OF " sur les vues, sur les événements système.
- Utilisation des transactions autonomes.
Exercice
Création de triggers ordre et triggers ligne.
7) Compléments
- SQL dynamique. Utilisation de dbms_application_info et de WRAP pour cacher le code source.
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 104
Stage pratique de 3 jour(s)
Réf : DSP
Participants
Développeurs Oracle.
Pré-requis
Bonnes connaissances de la
programmation PL/SQL ou
connaissances équivalentes à
celles apportées par le stage "
Développer en PL/SQL " (réf.
ORD).
Prix 2017 : 1880€ HT
Dates des sessions
Paris
28 nov. 2016, 6 fév. 2017
22 mai 2017, 17 juil. 2017
Développer en PL/SQL, perfectionnement
> Développement logiciel > PHP, C, C++, autres langages
OBJECTIFS
Ce stage vous apprendra à écrire des programmes PL/SQL et à tirer le meilleur parti des fonctions
avancées : packages, curseurs, méthodes d'interface avancées et ensembles. Il aborde le développement, le
code SQL dynamique et les notions conceptuelles nécessaires à un codage efficace.
1) Rappels sur le PL/SQL
2) Les ensembles
3) Les procédures et les fonctions stockées
4) Les performances et la mise en mémoire
cache
5) Les packages
6) Les déclencheurs
7) Le SQL dynamique
1) Rappels sur le PL/SQL
- Décrire les types de données prédéfinis.
- Créer des sous-types basés sur des types existants.
- Répertorier les règles de conception d'un curseur.
2) Les ensembles
- Présentation des ensembles.
- Tableaux associatifs et tables imbriquées.
- Programmes PL/SQL qui utilisent des ensembles.
- Le stockage des ensembles dans les tables.
- Les ordres SQL dans PL/SQL.
- L'utilisation de la clause RETURNING, BULK COLLECT.
Travaux pratiques
Utiliser les traitements de masse pour améliorer les performances.
3) Les procédures et les fonctions stockées
- Créer une conception modulaire.
- Créer, appeler et supprimer des procédures stockées.
- Implémenter les paramètres de procédure.
- Implémenter le hint de compilation NOCOPY.
- Créer, appeler et supprimer des fonctions stockées.
- Identifier les restrictions liées aux appels de fonctions.
Travaux pratiques
Visualiser les informations des procédures à l'aide des vues du dictionnaire de données et de SQL
Developer.
4) Les performances et la mise en mémoire cache
- Décrire la mise en mémoire en cache des résultats.
- Utiliser le cache des résultats d'interrogation SQL.
- Cache des résultats de fonction PL/SQL.
Travaux pratiques
Vérifier les principaux aspects du cache des résultats de fonction PL/SQL.
5) Les packages
- Identifier les composants d'un package.
- Utiliser le package STANDARD et les fonctions de package.
- Contrôler les effets de bord des sous-programmes PL/SQL.
Travaux pratiques
Créer la spécification et le corps d'un package. Afficher le code source PL/SQL à l'aide du dictionnaire de
données. Appeler des tables PL/SQL d'enregistrements dans des packages.
6) Les déclencheurs
- Comment implémenter les déclencheurs ?
- Présentation des déclencheurs combinés.
- Déclencheur combiné pour les tables et les vues.
- Créer des déclencheurs sur les instructions LDD.
Travaux pratiques
Créer des déclencheurs LMD, INSTEAD OF. Implémenter un déclencheur combiné pour résoudre l'erreur de
table en mutation.
ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78
page 105
7) Le SQL dynamique
- Flux d'exécution du code SQL.
- Présentation du code SQL dynamique.
- Déclarer des variables de curseur.
Travaux pratiques
Exécuter dynamiquement un bloc PL/SQL.
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 106
Stage pratique de 4 jour(s)
Réf : OPT
Participants
Ce cours s'adresse
aux développeurs et
administrateurs d'applications.
Pré-requis
Bonnes connaissances des
langages SQL et PL/SQL.
Prix 2017 : 2440€ HT
Dates des sessions
Oracle, optimisation d'applications
Best
> Développement logiciel > PHP, C, C++, autres langages
Grâce à ce cours pratique, vous serez en mesure de réduire d'une manière décisive les temps de réponse
de vos applications. Vous comprendrez le fonctionnement de l'optimiseur intégré et des outils d'analyse et de
gestion d'Oracle. Vous serez en mesure d'écrire des requêtes SQL performantes.
OBJECTIFS PEDAGOGIQUES
Découvrir les outils et les techniques d'aide à l'optimisation des applications
Maitriser fonctionnement de l'optimiseur intégré d'Oracle
Optimiser le schéma relationnel et les requêtes SQL
Analyser et optimiser les performances des applications
Savoir exécuter des requêtes en parallèle
Paris
11 oct. 2016, 15 nov. 2016
13 déc. 2016, 14 fév. 2017
11 avr. 2017, 20 juin 2017
22 aoû. 2017
Aix
20 déc. 2016, 28 mar. 2017
30 mai 2017
Bordeaux
15 nov. 2016, 28 mar. 2017
9 mai 2017
1) Introduction
2) Traitement des requêtes SQL
3) Diagnostic et mesure de performance
4) Optimisation du schéma relationnel
1) Introduction
Bruxelles
- Démarche, étapes et acteurs de l'optimisation.
- Problèmes de performances.
- Particularités des types d'applications. Problématiques.
20 déc. 2016, 14 mar. 2017
20 juin 2017
2) Traitement des requêtes SQL
Geneve
20 déc. 2016, 14 mar. 2017
20 juin 2017
Grenoble
20 déc. 2016, 28 mar. 2017
9 mai 2017
Lille
20 déc. 2016, 28 mar. 2017
30 mai 2017
Luxembourg
20 déc. 2016, 14 mar. 2017
20 juin 2017
Lyon
20 déc. 2016, 28 mar. 2017
9 mai 2017
Montpellier
15 nov. 2016, 28 mar. 2017
30 mai 2017
Nantes
15 nov. 2016, 28 mar. 2017
30 mai 2017
Rennes
15 nov. 2016, 28 mar. 2017
30 mai 2017
Sophia-antipolis
20 déc. 2016, 28 mar. 2017
30 mai 2017
Strasbourg
20 déc. 2016, 28 mar. 2017
30 mai 2017
Toulouse
15 nov. 2016, 28 mar. 2017
9 mai 2017
5) L'optimiseur
6) Optimisation des requêtes
7) Exécution en parallèle des requêtes
- Mécanismes internes. Partage des curseurs. Variables de lien dans SQL*Plus et Enterprise Manager.
- Partage des curseurs. Fonctionnalité Adaptive Cursor Sharing. Cache de résultat.
Travaux pratiques
Utilisation des bind variables pour partager des curseurs.
3) Diagnostic et mesure de performance
- Outils d'optimisation. Traces de diagnostic. Services avec les applications client.
- Trace pour votre session. Fichiers de trace SQL. Les fichiers de trace SQL.
Travaux pratiques
Utilisation de Tkprof.
4) Optimisation du schéma relationnel
- Structures principales et chemins d'accès. Balayage complet de table.
- Accélérer les requêtes. Index B*Tree et Bitmap. Tables index. Index composites et index invisibles.
- Règles de gestion des index. Tables globales temporaires.
- Partitionnement des données. Vues matérialisées. Colonnes virtuelles.
Travaux pratiques
Optimisation de requêtes.
5) L'optimiseur
- Recherches de données. Optimisation statistique ou syntaxique. Statistiques destinées à l'optimiseur.
- Collecte dynamique des statistiques. Conversions de types de données. Evaluation des expressions.
- Opérateurs de comparaison. Sous-interrogations. Méthodes de jointure et d'accès aux données.
- Optimisation manuelle des requêtes par hints.
Travaux pratiques
Comparaison des optimiseurs statistique et syntaxique.
6) Optimisation des requêtes
- La conception et l'applicatif. Prédicats composés. Arborescences. Fonctions de groupes.
- Boucles inutiles. Vues et requêtes imbriquées. Updates synchronisés. Les tableaux dans PL/SQL.
- Curseurs implicites/explicites et récupération des lignes par lot. FORALL.
Travaux pratiques
Optimisation de traitements batch.
7) Exécution en parallèle des requêtes
- Un serveur à plusieurs CPU. Requêtes en parallèle. Réglage automatique des instructions SQL.
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 107
- Réglage d'une application. Fonction de conseil STA. Statistiques obsolètes sur les objets.
- Profilage des instructions SQL. Flux de réglage d'un plan et création de profil SQL.
- Database Control et fonction de conseil STA. Recommandations d'implémentation.
ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78
page 108
Stage pratique de 2 jour(s)
Réf : MYP
Participants
Pour toute personne désirant
se servir de SQL dans les
environnements MySQL ou
PostgreSQL.
Pré-requis
Aucune connaissance
particulière.
Prix 2017 : 1440€ HT
Dates des sessions
SQL pour MySQL et PostgreSQL
Best
> Développement logiciel > PHP, C, C++, autres langages
OBJECTIFS
Cette formation très pratique focalise sur les aspects essentiels du langage d'interrogation SQL, tant du point
de vue logique que syntaxique. Elle vous apportera également une méthode sûre pour écrire des requêtes,
simples et complexes, en environnement MySQL et PostgreSQL.
1) Introduction
2) Modèle relationnel
3) Les outils client
4) Les objets
5) Requêtes simples
6) Tris et agrégats
7) Jointures
8) Requêtes complexes
Paris
Travaux pratiques
28 nov. 2016, 16 mar. 2017
12 juin 2017
L'apprentissage du SQL se fait en environnement MySQL ou PostgreSQL, au choix du participant.
Aix
8 déc. 2016
Bordeaux
9 nov. 2016
Grenoble
8 déc. 2016
Lille
8 déc. 2016
Lyon
8 déc. 2016
Montpellier
9 nov. 2016
Nantes
9 nov. 2016
Rennes
9 nov. 2016
Sophia-antipolis
8 déc. 2016
Strasbourg
8 déc. 2016
Toulouse
9 nov. 2016
1) Introduction
- Serveur MySQL/PostgreSQL.
- Versions et évolution.
- Ressources et documentation.
2) Modèle relationnel
- Les principes du modèle relationnel.
- L'algèbre relationnelle : opérations relationnelles sur les ensembles de données.
- Introduction à SQL.
3) Les outils client
- L'outil client MySQL.
- Présentation de l'outil "PSQL" de PostgreSQL.
4) Les objets
- Types de données dans MySQL/PostgreSQL.
- Création de tables.
- Utilisation de colonnes auto-incrémentées.
- Utilisation des vues.
Travaux pratiques
Utilisation des outils "mysql" et "psql". Création de tables et mise à jour de données. Utilisation des vues.
5) Requêtes simples
- L'interrogation (SELECT).
- La mise à jour.
- Opérateurs et critères.
- Les transactions.
Travaux pratiques
Ecriture de requêtes SQL simples.
6) Tris et agrégats
- Tri et doublons : clause ORDER BY, clause LIMIT, clause OFFSET, suppression des doublons.
- Utilisation de NULL : opérateur IS NULL.
- Utilisation des fonctions.
- Utilisation des agrégats.
Travaux pratiques
Manipulation des fonctions de tris et d'agrégats.
7) Jointures
- Produit cartésien.
- Jointure interne.
- Jointure externe.
8) Requêtes complexes
- Les requêtes imbriquées : opérateur IN, opérateur EXISTS, requêtes imbriquées plus générales.
ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78
page 109
- Opérateurs ensemblistes (union, intersection, différence).
- Groupement de données (clause GROUP BY, HAVING).
Travaux pratiques
Ecriture de requêtes SQL simples. Utilisation de fonctions et d'agrégats, jointures et requêtes imbriquées,
utilisation de GROUP BY et HAVING.
ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78
page 110
Stage pratique de 3 jour(s)
Réf : MSQ
Participants
Ce stage s'adresse à tous
les informaticiens ayant à
développer pour MySQL.
Pré-requis
Connaissances de base
d'un système d'exploitation
(Windows, Linux/Unix).
Prix 2017 : 1660€ HT
Dates des sessions
Paris
24 oct. 2016, 21 nov. 2016
19 déc. 2016, 13 fév. 2017
18 avr. 2017, 19 juin 2017
21 aoû. 2017
Aix
5 déc. 2016
Bordeaux
12 déc. 2016
MySQL, prise en main
Best
> Développement logiciel > PHP, C, C++, autres langages
Ce cours vous permettra d'acquérir toutes les compétences nécessaires à l'utilisation efficace et fiable de la
base de données MySQL : la pratique du langage SQL, les objets de la base de données... Ce stage propose
également une introduction à l'administration.
OBJECTIFS PEDAGOGIQUES
Découvrir les éléments d'une base de données MySQL
Comprendre le modèle relationnel
Concevoir et créer une base des données
Manipuler des données avec SQL et SQL procédural
Découvrir les bases de gestion d'une base de données
1) Introduction et prise en main
2) Modèle relationnel, conception et création
d'une base
3) Pratique du SQL avec MySQL
4) Tables transactionnelles InnoDB
5) SQL procédural
6) Connexions, droits d'accès, sécurité
7) Introduction à l'administration
Travaux pratiques
Tout au long du stage, de nombreux travaux pratiques permettent de valider les connaissances théoriques.
Bruxelles
12 déc. 2016, 13 mar. 2017
12 juin 2017
1) Introduction et prise en main
Geneve
- Versions, panorama des fonctionnalités et des outils.
- Ressources et documentation.
- Procédure d'installation.
- Paramétrages de post-installation et premiers tests.
- L'outil client ligne de commandes mysql.
- L'outil graphique Workbench.
12 déc. 2016, 13 mar. 2017
12 juin 2017
Grenoble
5 déc. 2016
Lille
5 déc. 2016
Luxembourg
12 déc. 2016, 13 mar. 2017
12 juin 2017
Lyon
5 déc. 2016
Montpellier
12 déc. 2016
Nantes
2) Modèle relationnel, conception et création d'une base
- Eléments de conception d'un schéma de base de données.
- Contraintes d'intégrité.
- Types de données MySQL (numériques, chaînes, dates, types spécifiques...).
- Fonctions intégrées de MySQL.
- Types de tables (MyISAM, MEMORY, MERGE, InnoDB...).
- Création de bases et de tables.
- La base INFORMATION_SCHEMA.
- Jeux de caractères, internationalisation.
12 déc. 2016
Rennes
12 déc. 2016
Sophia-antipolis
Travaux pratiques
Conception et création d'une base en tables MylSAM.
3) Pratique du SQL avec MySQL
5 déc. 2016
Strasbourg
5 déc. 2016
Toulouse
- Sélections simples, comparaisons, tris.
- Sélections multitables, différents types de jointures.
- Requêtes imbriquées, préparées.
- Modifications et gestion des vues.
12 déc. 2016
Travaux pratiques
Sélections simples. Sélections multiples, jointures internes et externes, requêtes imbriquées. Modifications et
suppressions de données.
4) Tables transactionnelles InnoDB
- Notion de transaction, niveaux d'isolation.
- Structure physique des tables.
- Programmation des transactions (START TRANSACTION, COMMIT, ROLLBACK).
Travaux pratiques
Mise en oeuvre de transactions.
5) SQL procédural
- Procédures stockées et fonctions.
- Définition des procédures. Déclencheurs (Triggers).
- Gestion des erreurs.
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 111
Travaux pratiques
Ecriture de procédures stockées. Récupération de résultats à l'aide de curseurs. Création et utilisation de
triggers.
6) Connexions, droits d'accès, sécurité
- Niveaux de privilèges et vérification des droits.
- Gestion des utilisateurs et de leurs privilèges.
- Sécurisation des procédures stockées et des vues.
Travaux pratiques
Gestion des privilèges et des mots de passe.
7) Introduction à l'administration
- Exportation de données.
- Sauvegardes, la commande mysqldump.
- Survol de l'installation de MySQL.
Travaux pratiques
Exportation de données.
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 112
Stage pratique de 3 jour(s)
Réf : POS
Participants
Développeurs, exploitants
et toute autre personne
désireuse d'utiliser au mieux
PostgreSQL ou de migrer vers
PostgreSQL.
PostgreSQL, prise en main
Best
> Développement logiciel > PHP, C, C++, autres langages
OBJECTIFS
Le SGBD PostgreSQL dispose de la majorité des fonctionnalités que l'on peut trouver dans des produits
commerciaux comme Oracle ou DB2. Cette formation vous apprendra à l'utiliser de manière efficace,
notamment à créer et à exploiter une base de données, ou encore à programmer avec le langage PL/pgSQL.
Pré-requis
Connaissances de base
d'un système d'exploitation
(Windows, Linux/Unix).
Prix 2017 : 1660€ HT
Dates des sessions
Paris
14 nov. 2016, 20 fév. 2017
24 avr. 2017, 26 juin 2017
Aix
12 déc. 2016
1) Introduction
2) SQL avec PostgreSQL
3) Le langage PL/pgSQL
4) Maintenance des données
5) Gestion des utilisateurs et des groupes
6) Configuration de PostgreSQL
7) Compléments
1) Introduction
- Présentation de PostgreSQL, versions.
- Le modèle relationnel, le schéma.
- Tables, contraintes. Interfaces utilisateur.
2) SQL avec PostgreSQL
Bordeaux
28 nov. 2016
Bruxelles
5 déc. 2016, 13 mar. 2017
19 juin 2017
Geneve
5 déc. 2016, 13 mar. 2017
19 juin 2017
Grenoble
12 déc. 2016
Lille
12 déc. 2016
Luxembourg
5 déc. 2016, 13 mar. 2017
19 juin 2017
Lyon
12 déc. 2016
Montpellier
28 nov. 2016
Nantes
28 nov. 2016
Rennes
28 nov. 2016
Sophia-antipolis
12 déc. 2016
Strasbourg
12 déc. 2016
Toulouse
28 nov. 2016
- La norme SQL. Positionnement de PostgreSQL. Mise en place du schéma d'une base.
- Type de données PostgreSQL. Tables. Séquences. Vues. Contraintes d'intégrité sur les tables.
- Ajout, modification et suppression des données.
- Interrogation du schéma d'une base. Sélection, restriction, tri, jointure.
- Extractions complexes. Utilisation d'opérateurs. Spécificités SQL de PostgreSQL.
- Fonctionnalités avancées PostgreSQL. Transactions. Vues. Tableaux. Héritage de tables.
Travaux pratiques
Création d'un schéma. Script SQL DDL. Création de vues. Scénarios de transactions.
3) Le langage PL/pgSQL
- Les instructions, types du langage. Blocs de code.
- Structures de contrôle. Erreurs et exceptions.
- Les curseurs. Déclaration, déplacement et fermeture.
- Les procédures et les fonctions.
- Ajout de sous-programmes à une base de données.
- Les déclencheurs, triggers. Structure.
Travaux pratiques
Fonctions stockées.
4) Maintenance des données
- Importation/exportation de données.
- Avec COPY TO et COPY FROM. Avec Psql.
- Sauvegarde et restauration des données.
- Outils pg_dump. Optimisation de requêtes.
- Les index. L'optimiseur. EXPLAIN et VACUUM.
Travaux pratiques
Importation/exportation de données. Création d'index et analyse de plan d'exécution de requêtes.
5) Gestion des utilisateurs et des groupes
- Création. Authentification.
- Octroi de privilèges.
Travaux pratiques
Création d'utilisateurs, allocation de droits. Tests d'authentification.
6) Configuration de PostgreSQL
- Installation et démarrage d'une base.
- Le Postmaster. Le fichier Postgresql.conf.
- Tables système.
Travaux pratiques
Installation d'une base et configuration.
7) Compléments
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 113
- Les interfaces de programmation.
- Connexion de PostgreSQL avec PHP, JDBC, ODBC.
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 114
Stage pratique de 3 jour(s)
Réf : DAV
Participants
Ce stage s'adresse à des
développeurs désirant
avoir des connaissances
approfondies sur les
possibilités offertes par
PostgreSQL.
Pré-requis
Bonnes connaissances
du langage SQL et de
PostgreSQL. Expérience
requise.
Prix 2017 : 1960€ HT
Dates des sessions
PostgreSQL, optimiser vos developpements
> Développement logiciel > PHP, C, C++, autres langages
Cette formation est destinée à ceux qui désirent aller plus loin dans l'utilisation de PostgreSQL. Ce système
de gestion de bases de données est l'un des plus avancés sur l'implémentation de la norme SQL. Il permet
d'en appliquer les dernières spécifications comme, par exemple, les directives WINDOW et PARTITION BY.
OBJECTIFS PEDAGOGIQUES
Enumérer les nouveautés de la norme SQL
Identifier les possibilités de développement offertes par PostgreSQL
Développer des applications optimisées pour PostgreSQL
1) Rappels
2) Création de base de données, de schémas et
de types de données
3) Création de tables et de vues
4) Mise en oeuvre de requêtes complexes
5) Gestion des transactions
6) Gestion des utilisateurs, des rôles et des
droits
7) Mise en oeuvre de procédures stockées
8) Interfaces de programmation client
Paris
Travaux pratiques
3 oct. 2016, 12 déc. 2016
20 mar. 2017, 6 juin 2017
Au cours de cette formation vous effectuerez des requêtes à partir de tables contenant plusieurs types de
champs : géométriques, tableaux, textes...
1) Rappels
- Configuration du serveur et des accès.
- Le client ligne de commande et graphique.
Exercice
Configuration du serveur et test des clients psql et pgadmin3.
2) Création de base de données, de schémas et de types de données
- Choix du template et du charset. Le search_path.
- Types prédéfinis (monétaires, ...) et types tableaux.
- Domaines et types utilisateurs.
- Définition de nouveaux types de base en langage C.
Exercice
Création d'une base de données avec schémas et search_path.
3) Création de tables et de vues
- Contraintes de clés étrangères.
- Tables héritées (EXTENDS). Tables partitionnées.
- Indexation. Vues matérialisées.
Travaux pratiques
Création de tables avec clés étrangères. Création de vues matérialisées.
4) Mise en oeuvre de requêtes complexes
- Agrégats. Jointures. Sous-requêtes.
- Clauses WINDOW et PARTITION BY.
- Recherche en mode FULL TEXT.
- Analyse des requêtes avec EXPLAIN.
Exercice
Exploration des tables. Recherche plein texte. Analyse de requêtes.
5) Gestion des transactions
- Points de rebroussement. Niveaux d'isolation.
- Verrous explicites de lignes et de tables.
- Verrous informatifs pour les applications.
Exercice
Test des divers modes d'isolation et de verrous ligne/table.
6) Gestion des utilisateurs, des rôles et des droits
- Utilisateurs et rôles.
- Héritage de rôles, organisation en groupes.
- Rôle PUBLIC. Droits.
Exercice
ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78
page 115
Déclaration d'utilisateurs et activation de l'authentification.
7) Mise en oeuvre de procédures stockées
- Procédures écrites en PL/pgSQL en Perl et en C.
- Curseurs. Définition d'opérateurs.
- Mise en place de déclencheurs (triggers).
Exercice
Définition d'un type de base avec opérateur et fonctions de conversion associés. Définition d'une fonction
d'agrégation.
8) Interfaces de programmation client
- Programmation en C, en Perl et en PHP.
- Récupération d'éléments graphiques dans la base de données.
- Traitement des transactions SQL par les exceptions.
Exercice
Création d'un programme C assurant l'écriture/lecture d'une BD. Réalisation d'une interface Web en PHP à
partir des tables PostgreSQL.
ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78
page 116
Stage pratique de 2 jour(s)
Réf : GIT
Participants
Développeurs, architectes,
chefs de projet.
Pré-requis
Mettre en œuvre le contrôle de versions avec le système
GIT
> Développement logiciel > PHP, C, C++, autres langages
Vous apprendrez dans ce stage à installer, configurer et utiliser GIT au quotidien pour gérer votre code
source. Vous mettrez en place différents dépôts, apprendrez à gérer les branches de vos projets et résoudrez
les conflits survenant lors d'opérations de fusion. Vous manipulerez également les outils annexes à GIT.
Aucun.
OBJECTIFS PEDAGOGIQUES
Prix 2017 : 1600€ HT
Dates des sessions
Paris
6&27 oct. 2016, 8 déc. 2016
19 jan. 2017, 23 mar. 2017
22 juin 2017, 31 aoû. 2017
Comprendre les concepts de base de la gestion des versions et des apports de la décentralisation
Installer et configurer l'outil GIT sous Windows
Créer et initialiser un dépôt avec GIT
Manipuler les commandes de GIT pour gérer les fichiers et les branches
Mettre en ouvre un projet en mode collaboratif avec GIT
1) Présentation de GIT
2) Installation et configuration
3) Utilisation de GIT, les fondamentaux
4) Gestion locale des fichiers
5) Gestion des branches
6) Partage du travail et collaboration
7) Mise en oeuvre des Outils GIT
1) Présentation de GIT
- Concepts de base du contrôle de version.
- La gestion centralisée ou distribuée.
- Les différentes solutions de gestion de versions : (GIT, CVS, SVN, Mercurial, Bazaar, ..., ).
- Apports la décentralisation. Principe de fonctionnement.
2) Installation et configuration
- Installation sous différents systèmes : UNIX/Windows.
- Le système d'émulation sous Windows msysgit.
- Configuration du fichier .gitconfig. La console.
- Déclaration d'un outil d'analyse de différentiel de versions.
Travaux pratiques
Installation et configuration de GIT sous Windows.
3) Utilisation de GIT, les fondamentaux
- Le modèle objet GIT : blob, tree, commit et tag.
- Le répertoire GIT et le répertoire de travail.
- L'index ou staging area.
- Création et initialisation un dépôt.
- Les concepts de branche, tag et de dépôt.
- Outil de visualisation Gitk.
Travaux pratiques
Création et initialisation d'un dépôt. Utilisation de l'outil de visualisation Gitk.
4) Gestion locale des fichiers
- Consultation de l'état de l'arbre de travail.
- Ajout, ignorance, modification, suppression et recherche de fichiers.
- Annulation et visualisation des modifications.
- Parcours de l'historique des révisions.
- Les logs (statistique, formatage, ...).
Travaux pratiques
Manipulation des principales commandes GIT de gestion de modifications de fichiers.
5) Gestion des branches
- La branche « master ».
- Création de branches et de sous-branches.
- Changement de branche.
- Fusion d'une branche et gestion des conflits.
- Comparaison de deux branches.
Travaux pratiques
Les principales commandes GIT de gestion des branches (création, fusion, comparaison).
6) Partage du travail et collaboration
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 117
- Mise en place d'un dépôt distant public ou privé.
- Publier ses modifications (opération de push).
- Récupération des modifications de l'équipe.
- Les branches de suivi. Gestion des échecs.
Travaux pratiques
Mise en place d'un dépôt distant et simulation d'un travail collaboratif.
7) Mise en oeuvre des Outils GIT
- Git-gui et TortoiseGIT, la navigation graphique dans GIT.
- GITWeb, la navigation graphique au sein des dépôts.
- GITHub, le service d'hébergement de dépôts.
- Gerrit, le système de revue de code.
Travaux pratiques
Manipulation de quelques outils.
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 118
Stage pratique de 3 jour(s)
Réf : RUR
Participants
Programmeurs, développeurs
Web et Webmasters désirant
concevoir des sites Internet
professionnels orientés Web
Services.
Pré-requis
Connaissances de base
d'HTML, de JavaScript, d'un
langage de développement
côté serveur et en
administration d'un serveur
Web.
RUBY On Rails 4, développement Web
> Développement logiciel > PHP, C, C++, autres langages
Ce stage vous apprendra à maîtriser le framework Ruby On Rails 4 pour développer vos applications
Web. Vous verrez comment tirer parti de la simplicité et de la rapidité d'utilisation de Rails 4 pour créer des
applications riches et évolutives en utilisant le modèle MVC et les connecter à des Services Web.
OBJECTIFS PEDAGOGIQUES
Maîtriser le développement d'applications Web évoluées à l'aide du framework Ruby On Rails 4
Maîtriser l'architecture RESTful, le design pattern MVC
Dynamiser une application Web y en intégrant les librairies JQuery et CoffeeScript
Appliquer le développement dirigé par les tests à un développement Ruby On Rails 4
1) Introduction
2) Préparer son environnement de travail
3) Programmer en Ruby
4) Découverte de Rails
5) Notions avancées de Rails
6) Tests et versioning
7) Migration vers Rails 4
1) Introduction
- Rappel Internet, HTML et CSS, XML, JSON, YAML.
- Design Pattern MVC.
- Les hébergeurs Rails.
2) Préparer son environnement de travail
- Environnement de travail (interpréteur Ruby).
- Préparer le dossier de travail.
- Les outils en ligne de commande.
- Installer les outils de développement.
Travaux pratiques
Installation de l'environnement.
3) Programmer en Ruby
- Rappel objet (modules, classes, instances, UML...).
- Conventions de nommage de Rails.
- Syntaxe Ruby (module, classe, portée, méthodes...).
- Aides Ruby (RI, Rubycore, inspect).
Travaux pratiques
Réaliser un premier programme.
4) Découverte de Rails
- Architecture Rails (ActiveRecord, ActiveModel, ORM, ActionVue, ActionController, routage des requêtes...).
- Préparer une maquette HTML/CSS dans le respect des normes (XHTML/WCAG 2).
- Créer un contrôleur de pages statiques.
- Etablir des modèles de pages (application/contrôleur).
- Mise en place de scripts de vues ERB, RHTML, HAML, Liquid, SASS, SCSS, RJS, CoffeeScript, RXML.
- Utiliser des assistants de pagination. Gestion des gems dans l'application.
- Placer des ressources partagées.
- Paramétrage de la BDD (database.yml), création et "migration" d'une base de données.
Travaux pratiques
Réaliser une application avec Rails.
5) Notions avancées de Rails
- Le CRUD, RESTFul Web Services, ActiveRecord et le routage orienté ressources, routage avancé des
requêtes.
- Les migrations d'ActiveRecord. Les transactions.
- Les formulaires Rails (form_for...). Les filtres.
- Internationaliser "i18n". Intégrer l'UNICODE côté client et côté serveur.
- Gérer les sessions, les Cookies et le cache.
- Protéger et sécuriser ses pages côté client et serveur.
- Débogue, la console iRb, les points d'arrêt.
- Dynamiser son site avec Ajax, JQuery et CoffeeScript.
Travaux pratiques
Ecriture de formulaires. Intégration de JQuery et CoffeeScript dans les développements.
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 119
6) Tests et versioning
- Le TDD (Test Driven Development).
- Rails Tests et RSpec.
- Gérer les versions avec GIT.
Travaux pratiques
Application du TDD. Gestion des sources avec GIT.
7) Migration vers Rails 4
- Les fonctionnalités de Rails converties en gems.
- Utilitaire de migration.
Travaux pratiques
Migrer une application Rails 3.
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 120
Stage pratique de 3 jour(s)
Réf : BOL
Participants
Cette formation s'adresse
aux informaticiens qui
souhaitent acquérir une
formation opérationnelle pour
développer ou maintenir des
applications en Cobol.
Pré-requis
Connaissances de base en
programmation. Expérience
souhaitable d'un langage de
développement.
Prix 2017 : 1880€ HT
Programmation Cobol
> Développement logiciel > PHP, C, C++, autres langages
OBJECTIFS
Cette formation a pour objectif de communiquer aux stagiaires une réelle compétence dans la programmation
Cobol. L'ensemble des concepts fondamentaux est développé. A l'issue de ce stage, les participants savent
lire, écrire et mettre au point des applications Cobol.
1) Premiers pas en Cobol
2) Les données
3) Instructions et expressions
4) Les tableaux
5) Les fonctions
6) Programmes et sous-programmes
7) Les fichiers
8) Les impressions
Travaux pratiques
De nombreux travaux pratiques illustrent systématiquement les concepts présentés. Ils représentent 60 % du
cours.
Dates des sessions
Paris
12 déc. 2016, 27 fév. 2017
29 mai 2017
1) Premiers pas en Cobol
- Le langage Cobol : ses origines et ses évolutions. Ses principes généraux.
- Les nouvelles versions de Cobol, Cobol et l'approche objet.
- Les différentes parties d'un programme (division).
- Les différentes zones (numéros d'ordre, indicateur, A, B).
- Les principaux symboles du langage (mots et littéraux).
- Les compilateurs : leur utilité.
- Les outils de debug.
2) Les données
- Les différents formats, les chaînes de caractères (ou Pictures), les niveaux.
- Les constantes figuratives. La redéfinition d'une donnée.
- Manipulation des données. Inspect, les paramètres utilisés dans les commandes. String et Unstring.
3) Instructions et expressions
- La description des traitements. La procédure division. Structure de base d'une instruction.
- Accept, Display, Move, les différentes zones (alphabétiques, alphanumériques, numériques).
- Les paramètres utilisés dans les commandes.
- Instructions arithmétiques : Compute, expressions arithmétiques, règles d'évaluation, Add, Subtract,
Multiply, Divide.
- Expressions conditionnelles et de branchement : Evaluate et Continue. Goto, Perform, Exit Alter. Les mots
réservés.
- Pour une bonne utilisation de ces instructions.
4) Les tableaux
- Présentation, Set, Search.
- Une utilisation différente des tableaux.
- Implémentation.
5) Les fonctions
- Différents modes d'appel : exemple de fonction.
- Fonctions financières, statistiques, de date, mathématiques.
- Autres fonctions intéressantes.
6) Programmes et sous-programmes
- Les conditions d'utilisation des sous-programmes.
- Call, Exit Program, Cancel, Stop, End Program.
7) Les fichiers
- La description des fichiers. La data division, organisation et structure, la Linkage Section.
- Les commandes de gestion des fichiers : Open, Close, Read, Start, Write, Rewrite, Delete.
8) Les impressions
- Présentation. Les différents types d'édition. Les différents formats de la commande d'édition : Write.
ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78
page 121
Stage pratique de 4 jour(s)
Réf : COR
Participants
Concepteurs et développeurs
amenés à mettre en œuvre
des applications distribuées
basées sur Corba.
Pré-requis
Bonnes connaissances des
techniques de conception
objet. Très bonnes
connaissances d'un langage
objet (Java et/ou C++).
Corba, architecture, mise en œuvre
> Développement logiciel > PHP, C, C++, autres langages
OBJECTIFS
Ce stage vous présentera la norme Corba 2.0 et les technologies associées. Il vous apportera tous les
éléments pour développer avec rigueur et efficacité des applications distribuées avec Corba dans un
environnement comprenant des langages et des systèmes d'exploitation différents.
1) Introduction
2) Caractéristiques des AD, position de Corba
3) L'architecture Corba
4) Le design Corba
5) L'implémentation de Corba
6) Les clients et serveurs Corba
7) La gestion des exceptions Corba
8) Autres éléments
1) Introduction
- Pourquoi des AD ? Fonctionnement en multi-tiers.
- Exemples de projets. Historique des AD et de Corba.
- Les apports de Corba 3, CCM.
2) Caractéristiques des AD, position de Corba
- Vue d'ensemble. Approche client/serveur.
- Les services standard d'une AD : annuaire, gestion de la sécurité, transactions, bases de données.
- Fonctionnement des serveurs d'applications.
- Cycle de fonctionnement d'une AD. Gestion des instances d'objets, des threads et des clients.
- Montée en charge : Load Balancing. Round Robin...
- Comparatif de Corba/autres AD. WS, EJB, DCOM, .Net ...
3) L'architecture Corba
- Corba : un bus logiciel, une publication d'instances. un OA côté serveur, un protocole intéropérable GIP.
- L'IR. Le référentiel des implémentations.
- Le protocole GIOP. Les services Corba.
- Service de noms (annuaire) et autres services.
- Gestion des événements.
- Architecture complète Corba.
4) Le design Corba
- Retour d'expériences. Approche modèle MVC.
- Utilisation de patterns de conception.
5) L'implémentation de Corba
- Processus de développement Corba.
- Gestion de l'IDL, génération des codes.
- Création des " Stub " et " Skeleton ".
- Approche DII/DSI, invocation dynamique.
- Le langage IDL : possibilités et points-clés.
6) Les clients et serveurs Corba
- Process de développement.
- API standard. Code Java et C++
- Héritage d'interface IDL, approche TIE.
Travaux pratiques
Création d'un serveur Java.
7) La gestion des exceptions Corba
- Exceptions systèmes Corba, utilisateurs Corba.
- Fonctionnement sur le bus.
Travaux pratiques
Gestion d'exceptions Corba en Java.
8) Autres éléments
- Le service de nom. Fonctionnement. Contraintes/Possibilités. API de programmation. Exemples de codes.
- Le service de gestion des événements.
- Fonctionnement. Gestion par " callback ". Proxy, administration. API de programmation. Exemples de
codes.
- CCM. Un modèle composants pour Corba. CIDL. Composants et interconnexions.
ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78
page 122
- CCM. Packaging. Déploiement. Administration.
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 123

Documents pareils