Formations Solti 2013



Documents pareils
CQP Développeur Nouvelles Technologies (DNT)

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

1. Considérations sur le développement rapide d'application et les méthodes agiles

Topologie du web - Valentin Bourgoin - Méthodes agiles & SCRUM

Vérifier la qualité de vos applications logicielle de manière continue

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)

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

Gestion Projet. Cours 3. Le cycle de vie

L enseignement de méthodes agiles dans un contexte d apprentissage actif

Conduite de projets informatiques Développement, analyse et pilotage (2ième édition)

TRAAM STI Acquisition et exploitations pédagogiques des données sur un système pédagogique

Analyse,, Conception des Systèmes Informatiques

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

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

RTDS G3. Emmanuel Gaudin

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

Cours Gestion de projet

Programmer en JAVA. par Tama

Méthodes de développement

MODALITES DE SUIVI DU PROJET ANNUEL DU MASTER 2 SOLUTIONS INFORMATIQUES LIBRES

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Évaluation et implémentation des langages

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

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Jean-Pierre Vickoff

XP : plus qu'agile. Extreme Programming v2 et Développement Responsable. Thierry Cros

Certification Scrum Master

Université de Bangui. Modélisons en UML

Agile 360 Product Owner Scrum Master

Gestion de projet Agile. STS IRIS Module «Gérer et organiser un projet informatique»

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

Processus d Informatisation

Méthode Agile de 3 ème génération J-P Vickoff

Agile Maroc 24 Novembre Méthodes agiles. Thierry Cros. Agile Maroc 24 novembre 2010

Master MIDO 2ème année. Spécification et Conception en UML Maude Manouvrier

Méthodes Agiles et gestion de projets

PIC EVAL Dev Board PIC18F97J60

Dispositif sur budget fédéral

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD)

MANAGEMENT DES SERVICES INFORMATIQUES

Qualité du logiciel: Méthodes de test

Description de la formation

GPC Computer Science

Armand PY-PATINEC 2010

CINEMATIQUE DE FICHIERS

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

Communiqué de Lancement

Paul FLYE SAINTE MARIE

Le génie logiciel. maintenance de logiciels.

UE Programmation Impérative Licence 2ème Année

Formation : Modélisation avec UML 2.0 et Mise en pratique

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

Les méthodes itératives. Hugues MEUNIER

S engager pour gagner la confiance

Conduite de projets SI. Les méthodes «Agiles» N QUAL/1995/3660e ORESYS

GL Processus de développement Cycles de vie

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

Technologie Web. Conception de sites Web. Alexandre Pauchet. INSA Rouen - Département ASI. INSA - ASI TechnoWeb : Rappels UML 1/21

Éléments de programmation et introduction à Java

Profil. Formations Certifications. Etienne de LONGEAUX Architecte logiciel/ Lead développeur PHP5/SYMFONY2/ZEND 13 ans d expérience.

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

Le management de projet

Développement itératif, évolutif et agile

Eclipse Process Framework et Telelogic Harmony/ITSW

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Gé nié Logiciél Livré Blanc

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

Catalogue des Formations Techniques

Formateur.NET expérimenté Forte expertise dans la conception et le développement d applications.net, associée à une grande pédagogie

RESUME DESCRIPTIF DE LA CERTIFICATION (FICHE OPERATIONNELLE METIERS)

25/12/2012

Le langage C. Séance n 4

GESTION DE PROJET. - Tél : N enregistrement formation :

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

UE 8 Systèmes d information de gestion Le programme

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse

Conditions gagnantes pour démarrer sa transition Agile

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

PEPI GPI (Gestion de Projet Informatique) - Note de Cadrage décembre

Plateforme de capture et d analyse de sites Web AspirWeb

Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles

Méthodes de développement. Analyse des exigences (spécification)

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

DotNet. Plan. Les outils de développement

ERP Service Negoce. Pré-requis CEGID Business version sur Plate-forme Windows. Mise à jour Novembre 2009

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Introduction MOSS 2007

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

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

Consultant Dynamics AX Supply Chain

Introduction au génie logiciel

Catalogue des Formations

Notre métier, trouver pour vous des solutions informatiques!

as Architecture des Systèmes d Information

SOUTIEN INFORMATIQUE DEP 5229

Optimisez vos environnements Virtualisez assurément

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Intervenants. Thomas d'erceville Project Manager. Christian NGUYEN Practice Manager IT Quality

Transcription:

Formations Solti 2013 Version 12/06/2013 Formations Solti 2013... 1 1 Les formations SOLTI... 2 1.1 L'informatique est un monde qui bouge!... 2 2 Les modules de cours... 2 2.1 Tous les aspects du développement logiciel sont abordés... 2 3 Principes... 3 3.1 La formation continue doit s'adapter à l'élève... 3 4 Objectifs... 3 4.1 Le premier objectif est la motivation... 3 5 Méthodes... 4 5.1 L'agilité est au cœur de nos formations... 4 6 Modules F: Fondamentaux... 5 6.2 Module F1 : Les bases... 5 6.3 Module F2 : Composants informatiques... 6 6.4 Module F3 : Logiciel embarqué... 6 6.5 Module F4 : Génie logiciel... 7 6.6 Module F5 : Approche Objet et UML... 7 7 Modules P: Projet... 10 7.1 Module P1 : Préliminaires... 10 7.2 Module P2 : Gestion classique... 11 7.3 Module P3 : Méthodes agiles... 12 7.4 Module P4 : Diagnostic, recherche de panne et maintenance logicielle... 15 8 Modules T : Technologies... 17 8.1 Module L1 : Langage C... 17 8.2 Module L2 : Langage C++... 19 8.3 Module L3 : Langage C#... 21 8.4 Module L4 : Applications C#... 23

1 Les formations SOLTI 1.1 L'informatique est un monde qui bouge! L'informatique industrielle est liée au monde de l'électronique qui se soucie peu de l'inertie des utilisateurs humains. La fuite en avant vers des technologies de plus en plus puissantes rend critique la gestion des connaissances et leur transmission. Nos cours sont dispensés par un développeur expérimenté, expert mais aussi pragmatique et familier des contraintes du métier. Les supports sont originaux et vivants, le dialogue avec les stagiaires, plutôt que le programme ou le support de cours, est au cœur de la pédagogie. Les modules de formation que vous trouvez décrits ne sont qu'une vue partielle des programmes qui évoluent en permanence pour suivre les demandes. 2 Les modules de cours 2.1 Tous les aspects du développement logiciel sont abordés Ces modules constituent un menu parmi lesquels vous pouvez composer votre formation "à la carte". Quelle que soit votre besoin, soumettez nous votre demande, le module pourra être créée ou réalisé par un de nos partenaires. La totalité du programme représente entre 25 et 50 journées, nous avons réalisé depuis 2009 plus de 200 journée.stagiaire. 2.1.1 Fondamentaux : Tout ce qu'il faudrait savoir avant d'aborder le codage F1 Les bases F2 Composants informatiques F3 Logiciel embarqué F4 Génie logiciel F5 Approche objet et UML 2.1.2 Projets : Comment faire avant, pendant et après le développement? P1 Préliminaires P2 Gestion classique P3 Méthodes Agiles P4 Diagnostic et recherche de panne 2.1.3 Langages : Et si la qualité commençait par-là? L1 Langage C L2 Langage C++

L3 Langage C# L4 Applications C# 3 Principes 3.1 La formation continue doit s'adapter à l'élève Formation Agile XP 2011 Dans un esprit d'efficacité, les formations SOLTI ne sont pas des produits standards et normalisés. Les objectifs d'une formation sont variés, les motivations et les compétences des stagiaires également. La formation doit aider le stagiaire, qui est dans une situation particulière (capacités, expérience, compétence, disponibilité, motivation) à évoluer vers une nouvelle situation qui doit être définie aussi précisément que possible avant la formation. Aussi, le programme est adapté, dans le contenu et dans la forme, aux conditions réelles et à l'attente des stagiaires: 4 Objectifs 4.1 Le premier objectif est la motivation L'informatique est métier intellectuel et solitaire. La communication est la première chose qu'il faut enseigner aux développeurs. Savoir créer un climat de confiance dans le groupe, puis une saine émulation et enfin une vraie curiosité et une soif d'apprentissage sont la clé de la réussite. Vous souhaitez une formation solide pour le long terme: nous fournissons une solution clé en main sur des objectifs négociés. Nous vous accompagnons tout au long du projet, jusqu'à l'autonomie totale.

Formation logiciel embarqué 2012 5 Méthodes 5.1 L'agilité est au cœur de nos formations Vous avez besoin de former rapidement votre personnel sur une technologie ou un outil particulier. Nous vous proposons une formation ciblée sur vos objectifs immédiats, 50% théorique, 50% pratique à la journée, de 1 à 8 participants. Les machines et les supports de cours sont fournis en option. Vous êtes organisme de formation? Nous intervenons sous votre nom avec discrétion et professionnalisme. Nous avons une vocation technique, le domaine de la formation est le vôtre nous travaillons en bonne entente. Solti est organisme de formation agrée sous le No 82 38 04390 38 Le coût de vos formation peut être pris en charge par l'opca pour lequel vous avez déjà cotisé.

6 Modules F: Fondamentaux 6.1.1 La génération Y et l'informatique. Nos enfants sont nés dans l'informatique. On donne maintenant des tablettes aux enfants de 3 ans..et pas en chocolat! Si beaucoup peuvent se contenter d'utiliser les outils informatiques, le logiciel et les réseaux sans avoir jamais besoin de comprendre comment ils fonctionnent, il est indispensable pour qui veut agir dessus, voire même améliorer les solutions qu'on lui propose, de connaître tous les composants de la chaîne qui mène du transistor au Cloud. Bien que rarement ennseignée - pour des raisons de programme, d'emploi du temps, etc.. - la synthèse des technologies informatique est possible en quelques heures et constitue une histoire passionnante très appréciée, quel que soient le niveau de formation initiale et les besoins réels. Parmi les fondamentaux, l'architecture d'un ordinateur, les principes du génie logiciel et le langage UML sont incontournables. Les bases Composants informatiques Logiciel embarqué Génie logiciel Approche objet et UML 6.2 Module F1 : Les bases Beaucoup de gens sont arrivés à l'informatique par la force des choses, sans une formation scientifique utile à la bonne compréhension des systèmes complexes. Ce module rapelle les fondamentaux en termes simples.. 6.2.1 Technologies Architecture d un ordinateur Architecture d un processeur Code machine Langage assembleur Macros Procédures Langage C Compilateur Editeur de lien Runtime

Debugger Entrées sorties Fichiers Liaison série Ethernet 6.3 Module F2 : Composants informatiques PC, Téléphone ou machine à laver, la plupart des systèmes intelligents utilisent les mêmes composants, à la fois logiciels et matériels. Quels sont-ils? 6.3.1 Ethernet Principe Les différentes normes La topologie Les performances Communication UDP Mise en œuvre avec Visual C 6.3.2 TCP/IP Principe Client serveur Réalisation d un serveur avec Visual C Réalisation d un client avec Visual C Gestion des déconnexions 6.3.3 USB Principes USB 1.0 USB 2.0 Implémentations 6.4 Module F3 : Logiciel embarqué Le logiciel embarqué, et plus généralement le logiciel technique obéit à des règles et des contraintes particulières. La plupart de nos formations s'adressent à un large public et s'appliquent à la plupart des métiers, mais ce module est vraiment très spécialisé et intéresse tout particulièrement ceux qui sont à la frontière de l'électronique et du soft. 6.4.1 Architecture de RTOS Tâches Co routines Queues Sémaphores

Compteurs Sémaphores Mutexs Conclusion 6.4.2 Le microcontrôleur Principes Architecture Logiciel Exemples de carte 16 bits et 32 bits Mise en œuvre 6.4.3 Introduction au DSP Principes Architecture Logiciel Exemple de carte DsPIC Mise en œuvre Introduction au FPGA 6.5 Module F4 : Génie logiciel Après la mise à plat des outils du développeur, il est temps de poser la problématique, et d'évoquer des pistes... 6.5.1 Les méthodes Ingénierie: Du besoin à la validation Les modèles Les méthodes Cycle de vie d une application Méthodes traditionnelles: en cascade Méthodes traditionnelles: en V Le cycle de vie théorique Les cycles de vie réels La méthode itérative Les outils UML L intérêt d UML 6.6 Module F5 : Approche Objet et UML L'approche objet a changé le monde de la programmation. Il y a ceux qui pensent objet et les autres. Il y a ceux qui parlent UML et les autres. Rejoignez le club et faites des logiciels communicants et évolutifs! 6.6.1 Taille et complexité des logiciels Solutions: Descartes

Solutions: Le découpage Concepts Terminologie Manipulations d objets Les messages L encapsulation L abstraction L héritage : Spécialisation L héritage : Généralisation Classes abstraites Conclusion 6.6.2 Les diagrammes UML Fonctionnalités du système A quoi ca sert Les acteurs Description Relation extend Relation include Les scénarios Séquences d interactions Diagramme de séquence Diagramme de collaboration Schémas Objets Classes Association Rôle Agrégation Cardinalité Qualificateur Généralisation et spécialisation Diagrammes d états Définitions 6.6.3 Exercices Parcours d une motrice Trajets Géométrie Gestion de stock Distributeur de billets 6.6.4 Star UML Une IDE style Visual Créer un projet Choisir un modèle Ajouter un diagramme de classes

Editer un diagramme de classes Ajouter une classe Spécialiser la classe Ajouter des attributs Modifier un attribut Afficher les propriétés Diagramme d état Générer le code D autres outils

7 Modules P: Projet En gestion de projet, les théories sont nombreuses et séduisantes... Quels sont les méthodes et les outils pour les appliquer? Notre approche prend en compte les réalités du terrain, et surtout le contexte dans lequel évolue nos stagiaires. Le 'project management' est souvent issu et destiné à de grosses structure, rarement au logiciel industriel. Replacer la problématique dans son contexte, définir des objectifs adaptés, savoir choisir adapter ses outils, telles sont nos priorités. Nos formations ont pour objectif de vous réconcilier avec la méthode, à mettre en place votre propre stratégie. Préliminaires Gestion classique Méthodes Agiles Diagnostic et recherche de panne 7.1 Module P1 : Préliminaires Qu'est-ce qu'un projet? Qui fait du projet? Qui peut en faire? Ces questions sont fondamentales, et les réponses vous ferons gagner du temps! 7.1.1 Introduction Projet Création Travail Art Communication Simplement Précisément Exemples 7.1.2 Paradoxes Liberté et compétence Monter en compétence Gérer le changement Produit et projet Etudiant et professionnel

7.1.3 Problématique Objectifs Statistiques William Deming Produit/Projet Produit/Affaire 4 phases distinctes Analyse du besoin Analyse fonctionnelle Cahier des charges Mise en œuvre Synthèse 7.1.4 Triangle Piloter un projet En terrain inconnu Situer son objectif Quels paramètres? Les indicateurs Qualifier les dérives Le triangle d or Le triangle des Bermudes Il faut faire des choix 7.2 Module P2 : Gestion classique Au-delà du génie logiciel, le management de projet est en train de subir la révolution Leanmanagement, la mode de l'agilité. Mais avant de passer à l'agile, il est bon de réviser un peu ses classiques... 7.2.1 Management Quand? Pourquoi? Les composantes internes Les composantes externes La force motrice L organe modérateur 7.2.2 Rôles Chef de projet Maitre d ouvrage Maitre d œuvre Client fournisseur

7.2.3 Outils Outils : Pert Outils : Gantt Outils : Réunions Outils : Documentation Conclusion 7.2.4 Cycle de vie Principes Faisabilité Planification Développement Réalisation Exploitation Clôture Revues Résumé 7.2.5 Logiciel Industrie Disciplines transverses Objectifs Critères de qualité Coûts directes et indirects L approche usage 7.3 Module P3 : Méthodes agiles Nous travaillons sur ces sujets depuis plus de 10 ans en ce qui concerne XP (Extrem Programming) et 5 ans pour SCRUM. Les méthodes d'organisation, mais aussi les méthodes de pensées issues du logiciel transforment radicalement l'organisation du travail.. Et rendent les équipes plus motivées et efficaces! 7.3.1 Introduction Historique Gestion de projet Qualité Le Lean L agilité 7.3.2 Agilité Problématique: Pourquoi? Comment? Effet tunnel : Méthode incrémentale Erreurs de specs: Méthode itérative

Gestion commerciale: Méthode collaborative Les critiques! Historique Structuration ou adaptation Le manifeste agile : les 12 principes Agilité, Lean et amélioration continue La documentation 7.3.3 Le développeur La réalité en chiffres Personne n est parfait Triangle QCD des Bermudes Le cycle en V Virtuel Le cycle en R Réel Pathologies du développeur Qu est ce qu un bel algorithme? Complexité du langage Les tests Quels tests? Documentation Critères de qualité Recettes Modularité Conclusions 7.3.4 Scrum Mêlée Rugby Principes Origines Utilisateurs Utilisations Caractéristiques Manifeste agile Cycle Sprints Activités Stabilité Rôles Cérémonial Artifacts Références Ce qu il faut retenir 7.3.5 Extrem Programming Historique Principes

Méthode Intégration continue Pair programming Test driven Pair testing 7.3.6 Recettes Planning Poker Non régression Psychologie du programmeur Google Programming Gestion des conflits La journée d un XP 7.3.7 Gestion du changement Problématique Solution lourde Solution lean Documentation FAE Conclusion 7.3.8 Règles Gestion des sources Versions Sauvegardes Codage Structuration Nommage Commentaires Divers 7.3.9 Planification Les sprints Les réunions La documentation Les livrables 7.3.10 Gestion des sources Incrémental Repository Méthodologie Le build La livraison

7.3.11 Les tests Test unitaire Framework Test fonctionnel Non régression 7.3.12 Coding dojo Gestion d un micro projet XP Formation des binômes Codage alterné Bilan. Discussions. 7.4 Module P4 : Diagnostic, recherche de panne et maintenance logicielle Dans le monde réel, les "développeurs" passent plus de temps à lire et relire du code, à rechercher les dysfonctionnements qu'à développer... Est-ce normal? C'est inévitable. Il est pourtant possible dans cette activité négligée par les cursus universitaires, d'apprendre, de s'améliorer et de devenir efficace. 7.4.1 Les difficultés du BugTracking Les formations informatiques L'expérience du terrain Les cycles de vie du logiciel Notions de psychologie Vaincre le stress Les conditions de travail 7.4.2 Tracer, quantifier qualifier Soyons cartésien Lire, Ecouter, Observer Mesurer sans déformer Statistiques Prudence 7.4.3 Identifier localiser reproduire Méthode itérative Amélioration continue Réduire le périmètre Voyager dans le temps 7.4.4 Les classiques Asynchronismes Chaines de texte

Pointeurs fous Fuites mémoire Sockets 7.4.5 Corriger Répondre aux urgences Hierarchiser les priorités Plan de validation Plan de repli Prudence et patience 7.4.6 Améliorer Pourquoi? Quand? Comment? Méthode itérative Mesures de la qualité 7.4.7 Travaux pratiques Reproduire Localiser Tracer Corriger Tester Valider

8 Modules T : Technologies Nous donnons à nos élèves la méthodologie pour comprendre et s'adapter à l'évolution des technologies. Quel que soit son niveau, si l'on veut progresser, être à l'aise et se faire plaisir dans son travail quotidien de développeur, il faut acquérir ou consolider les bases. L'informatique s'est construite et évolue selon une logique continue qui suit la course à la puissance de l'électronique. Ce travail de fond, de qualité, de structuration destiné à tous passe bien sûr par un apprentissage vivant et interactif: - Des slides sobres et clairs. Chaque point est abordé de manière isolé, avec ses exemples - Des phases de découverte et d'exercice débouchent sur des petites applications ou composants réutilisables - Tout au long du stage, un sujet de projet est choisi en commun, et chacun le consolide pendant les exercices. - Au fur et à mesure que le stage avance, la théorie laisse plus de place à la pratique La cohérence est totale entre la théorie, la pratique individuelle et le travail collaboratif. Langage C Langage C++ Langage C# Applications C# 8.1 Module L1 : Langage C Le langage C est à l'origine de tout. C'est un passage obligé avant d'aborder le C++. C'est aussi l'outil de base des développeurs embarqués. 8.1.1 Déclarations Structure d un programme Les fonctions Les variables Les types simples Caractères Entiers Flottants Void

Tableaux Structures Enumérations 8.1.2 Expressions Expressions Les pointeurs Opérateurs simples Opérateurs complexes Les boucles if Les switches Les boucles for Les boucles while Les autres boucles Break, return continue 8.1.3 Chaînes de caractère Principe Utilisation Librairies Usages et abus Les solutions Exercice : codage d une bibliothèque string 8.1.4 Pièges et astuces Les fautes de frappe Récursivité Conversions de type Promotion des entiers Manipulation de pointeurs Réentrance Opérateur & Complexité du code Allocation dynamique Tableaux et pointeurs Les unions Les champs de bits Tests unitaires Exercice : comparaison des codes générés 8.1.5 Règles de programmation Gestion des sources Versions Sauvegardes Codage Structuration

Nommage Commentaires Divers 8.1.6 Architecture Systèmes asynchrones Systèmes synchrones Bonnes pratiques Architecture 3 tiers Modèle Vue Contrôleur Threads Tâches Traçabilité Portage HAL Norme Posix Définition de la cible Définition du processeur Librairie portable Mini Kernel 8.1.7 MISRA Inventaire Les règles simples Les règles utiles Les règles pénibles Les règles peu critiques 8.1.8 Optimisation de code Introduction Métriques de performance Spécifications Criticité 8.1.9 Gestion mémoire Vitesse Génération de code Design patterns Bonnes pratiques Exercice : optimisation de performance 8.2 Module L2 : Langage C++ Le langage C++ est à l'origine de beaucoup de malentendus. Certains utilisent de C++ comme du C, avec des facilités en plus. Certains utilisent au mieux la souplesse de l'objet pour construire des applications flexibles et

pérennes. D'autres enfin pensent qu'un code illisible qui pousse le compilateur dans ses derniers retranchements sera mieux La mission du formateur est de réconcilier tout ce petit monde... 8.2.1 Spécificités C++ Commentaire fin de ligne Déclarations et initialisations Notion de référence Arguments par défauts Surcharge de fonctions Opérateurs New et Delete Incompatibilité entre C et C++ Exemples 8.2.2 Les entrées sorties Les entrées sorties standards Affichage à l écran Lecture au clavier Les flots Exemples 8.2.3 Les classes Propriétés des fonctions membres Construction, destruction et initialisations d objets Fonctions amies Surcharge d'opérateurs Conversions de types Exemples 8.2.4 Héritages simples et multiples Notion d héritage Utilisation, surcharge des membres Appel des constructeurs et destructeurs Mise en œuvre 8.2.5 Fonctions virtuelles Mécanisme Propriétés Fonctions virtuelles pures Exemples 8.2.6 Gestion des exceptions Mécanisme de gestion des exceptions

Choix du gestionnaire Les exceptions standards Exemples d exceptions 8.2.7 Templates Création et utilisation Les paramètres de type Les paramètres expressions Spécialisation Exemples 8.3 Module L3 : Langage C# Le langage C# est issu du C++ et du Java. Il cumule les avantages des deux. Le passage au C# est incontournable et constitue une source de progrès énorme. Toutefois, le monde Microsoft est vaste et touffu, il est indispensable d'avoir un guide pour ne pas se perdre dans les librairies. 8.3.1 Introduction Historique Avant.Net.Net 3.0.Net 3.5.Net 4.0 8.3.2 Visual En bref Proche de java Proche de C++ Les nouveautés Les plus Les moins Références Web Références papier Application console Désassembleur Librairie : Création Librairie : Utilisation Application forms : Dessiner Application forms : Coder Application forms : Debugger Conclusion 8.3.3 Préprocesseur Définitions

Régions Pragma Commentaires Doc XML Balises 8.3.4 Déclarations Les espaces de noms Les variables Les constantes Les types valeurs Les types nullables Les types référence Les types de base Les énumérations Les conversions Les tableaux unidimensionnels Tableaux à 2 dimensions Structures Sécurité du code 8.3.5 Flux Les opérateurs Tous les opérateurs Branchements if Branchements switch Boucles simples Boucles moins simples Les exceptions : émettre Les exceptions : capturer 8.3.6 Objet Les classes Exemple de classe Les méthodes Appel de méthode Passage de paramètres Surcharge Liste de paramètres Propriétés Indexeurs Héritage Classe abstraite : méthode abstraite Classe abstraite : propriété abstraite Surcharge des opérateurs Interfaces : définir Interfaces : utiliser

8.4 Module L4 : Applications C# Au delà du langage, l'approche objet apporte des méthodes et des modèles d'architecture qu'il vaut mieux suivre. Ce module s'adresse à ceux qui savent manier le code, et qui se posent les vraies questions du génie logiciel. De nombreux exemples rendent ce cours immédiatement utile. 8.4.1 Forms Architecture forms Buttons EditBox ListBox ComboBox TabPanels Control forms Class libraries Intégration de DLLs Intégration d objets COM 8.4.2 Architecture Vue-Données Bonnes pratiques Windows Paramètres Timers Delegates Threads Traçabilité Gestion de fichiers Fichiers de log 8.4.3 Communication TCP/IP Client server Principe Mise en œuvre Exemple 8.4.4 Accès aux données Classe DataTable Classe DataGridView Bibliothèque Office et fichier Excel ODBC et fichier Excel ODBC et accès SQL - Fin du document -