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



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

PHP 5.4 Développez un site web dynamique et interactif

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

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

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

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

BES WEBDEVELOPER ACTIVITÉ RÔLE

Développement logiciel, Applications mobiles

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

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

CQP Développeur Nouvelles Technologies (DNT)

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

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

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

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

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

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

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Formation en Logiciels Libres. Fiche d inscription

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

Formation : WEbMaster

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

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

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

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

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

Programmation Web. Madalina Croitoru IUT Montpellier

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

Catalogue Formation «Vanilla»

Programme ASI Développeur

Iphone vs. Android. Mardi 17 Novembre 2009 Paris, la Défense. Xavier PARADON, Directeur Technique Valtech Training

Architectures web/bases de données

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD)

COMPÉTENCES TECHNIQUES

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

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

et Groupe Eyrolles, 2006, ISBN :

UE 8 Systèmes d information de gestion Le programme

Formations Evolix Catalogue

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

Dispositif sur budget fédéral

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

Burckel Thomas. Formation. Compétences

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

Offres de stages 2011/2012

SMPMKPOT=aKbKbKpK=a îéäçéééãéåí=çû^ééäáå~íáçåë= kçã~çéë=j=abbp^mm

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

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

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

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

ECLIPSE ET PDT (Php development tools)

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

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

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

FORMATION TALEND. Page 1 sur 9

contact@nqicorp.com - Web :

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

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

PostgreSQL. Formations. Calendrier... 14

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

Annexe : La Programmation Informatique

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

BACHELOR DEVELOPPEUR WEB

Expert technique J2EE

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

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

Introduction à. Oracle Application Express

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

ANALYSTE PROGRAMMEUR DIPLÔME D ÉTABLISSEMENT

Module BD et sites WEB

Hébergement de site web Damien Nouvel

Notre Catalogue des Formations IT / 2015

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

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

Compte Rendu d intégration d application

FileMaker Server 14. Guide de démarrage

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

Catalogue des formations

SAP BusinessObjects Web Intelligence (WebI) BI 4

Espace numérique de travail collaboratif

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

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

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

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

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

Armand PY-PATINEC 2010

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

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

Installation et prise en main

Visual Paradigm Contraintes inter-associations

La haute disponibilité de la CHAINE DE

Préparer la synchronisation d'annuaires

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

Catalogue des Formations Techniques

Catalogue & Programme des formations 2015

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

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

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

Transcription:

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

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

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

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

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

Oracle : Commit/Rolback et pointeurs abstraits pour procédures stockées. MySQL : conversion multitable et adaptation des requêtes DML. Postgres : utilisation de champs multidimensionnels et XML. 6) XML/DOM/XSLT - XML. Format et validation. - DOM et XPath. Création, analyse. - Transformateurs XSL. Utilisation de XSLT. - Clients riches : SWF et Ajax. Principe et enjeux. Création d'états multipaginés en Ajax. 7) Web Services et SOAP - Introduction. - Annuaires de services et accessibilité. - WSDL et SOAP. - Créer un Web Service et son fichier de description. - Utiliser un Web Service. Utilisation d'un Web Service. 8) PDF pour AcrobatReader - Opérations de base. Texte et mise en page. - Opérations avancées. Images et tracés vectoriels. Implémentation d'une classe PDF pour la génération automatisée d'une facture. 9) E-mail - MIME : pièces jointes et format HTML. - Les formats Mixed, Multipart, Alternative/Related. - Les encodages particuliers. - Paramétrage d'un serveur de test. Réalisation d'une fonction classe xmail pour l'envoi de mails au format mime. Utilisation de la classe créée pour l'envoi d'une facture PDF en pièce jointe. ORSYS, La Grande Arche, Paroi Nord, 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

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

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

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

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

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 11

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

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

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

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

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

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

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

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

Générer des actions push. 8) Optimiser un site web pour iphone/ipad - Reconnaître le dispositif appelant. - Routage vers des pages adaptées. Faire un site web simple pour navigateur simple, iphone et ipad. ORSYS, La Grande Arche, Paroi Nord, 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