Formation Conception et Programmation objet

Initiation, Vocabulaire, Conception, UML, Programmation, IDE, Framework, C#, Java

4.7 sur 5 étoiles

5 étoiles
70%
4 étoiles
29%
3 étoiles
0%
2 étoiles
0%
1 étoile
0%
Voir les 24 avis
(24 avis)
Durée 3 jours
Niveau Fondamental
Classe à distance
Possible

Vous pouvez suivre cette formation en direct depuis votre domicile ou votre lieu de travail. Plus d'informations sur notre solution de classe à distance...

Référence DIPO
Éligible CPF Non

Cette formation vous permet de comprendre l'intérêt et toutes les possibilités offertes par le développement objet par rapport à une approche fonctionnelle (fonctions isolées). Les limites de cette dernière sont présentées de façon progressive afin que vous puissiez comprendre, grâce à de nombreux ateliers pratiques, qu'il existe une « autre façon » de penser le développement et de bien ancrer ainsi les principes et les spécificités de la programmation orientée objet (POO).

Au-delà de la rupture disruptive par rapport à l’approche structurée classique, il s‘agit tout simplement de savoir concevoir un modèle de classes pertinent pour ses applications en respectant les bonnes pratiques de conception d’une architecture conforme aux standards professionnels. Dans un premier temps vous manipulerez des classes simples (commande, article, etc.) et vous prendrez progressivement la mesure de l’impact de la conception des données et des traitements sur la qualité de votre application (performances, sécurité, évolutivité, lisibilité et maintenance) à travers des petits exercices, les. La conception fera également allusion aux Design Patterns afin de vous orienter vers les bonnes pratiques dans vos futurs programmes objets en étant capable d’utiliser des modèles existants. Vous traduisez ensuite votre travail de conception sous la forme d’un diagramme de classes UML afin de disposer d’une langage visuel commun et standardisé. Au-delà de la professionnalisation de la conception cela permet aussi au formateur de limiter les ambiguïtés d’interprétation avec les participants pour la suite de la formation.

Une fois les fondamentaux acquis (classe, propriétés, méthodes, instance, héritage, composition de classes) nous introduisons l’IA afin de vous montrer comment elle peut vous aider dans votre processus de conception. Pour cela nous vous montrerons comment écrire des prompts efficaces afin de vous assister dans vos réflexions, voir être force de proposition mais tout en vous habituant à porter un regard critique sur les réponses fournies par l’assistant IA en « gardant le contrôle ».

Afin de ne pas rester uniquement conceptuelle, la formation vous présente des exemples d’implémentation des concepts objets dans les principaux langages objets (Java et Python) ainsi que les apports des environnements de développement (IDE) pour l’utilisation des objets en programmation (Visual Studio Code, IntelliJ). Le formateur traduit, en Java par exemple, les travaux de conception objet réalisé jusque-là et dépose cet exemple dans une branche Git. Il demande à l’IA de traduire ce programme en Python et le dépose dans une autre branche afin de montrer les invariants tout en faisant passer un message d’acculturation fort sur l’IA et l’importance fondamentale de la conception par rapport à la syntaxe.

Nous proposons également de mettre en œuvre un projet simple intégrant l’IA générative basé sur 3 classes abstraites (service, question, réponse) et qui permet de soumettre un prompt à une IA générative et de récupérer le résultat dans notre application. On fait le lien également avec le concept des classes abstraites vu auparavant car il existe plusieurs sortes de prompt (textuel, sonore, etc.) pour la classe « Question » et différents types de fonction (résumé de texte, génération d’image, traduction, etc.) pour la classe « Service ».  La classe « Réponse » elle contient la « chaîne de caractères » de la réponse et d’éventuelles méta-données (version, modèle de l’IA, etc.).

En fil rouge, la formation aborde la conception des structures de données et des traitements dans une approche objet d’une application web proposant un catalogue d’articles et des commandes associées. Nous cherchons à l’enrichir tout en intégrant progressivement les possibilités offertes par l’IA sans perdre de vue notre objectif pédagogique fondamental qui est de savoir concevoir une application évolutive grâce aux concepts objets. Nous faisons donc en sorte que notre application puisse facilement s’enrichir de nouveaux services (gestion de stocks, service bancaire paiement, exposition d’API, etc.) en se basant sur des classes représentatives de celles qu’on trouve dans les projets professionnels (par exemple une classe dédiée aux traitements des entrées/sorties pour les bases de données, une classe abstraite pour utiliser différents moteurs d’IA et rendre « intelligente » notre application, etc.) avec un impact minimum sur notre code grâce à nos choix de conception.

Objectif opérationnel : 

Savoir utiliser ses connaissances en programmation orientée objet pour développer et comprendre comment s’appuyer sur l’IA dans le cadre de ses développements.

Objectifs pédagogiques :

À l'issue de cette formation Conception et Programmation objet, vous aurez acquis les connaissances et compétences nécessaires pour :

  • Comprendre les principes et les spécificités de la conception Objet
  • Passer d'une approche fonctionnelle à une approche Objet
  • Savoir concevoir un modèle de classes pour ses applications
  • Comprendre l’apport des Frameworks dans une approche Objet
  • Découvrir l’impact de l’IA dans la programmation orientée objet
  • Mettre en œuvre les concepts objets à travers un programme simple intégrant la programmation orientée objet et l’IA

Public :

Ce cours s’adresse aux développeurs ou aux chefs de projet pratiquant la programmation structurée traditionnelle. Le public visé cherche à comprendre l’approche objet et comment mettre en œuvre ses modalités concrètes lors de futurs développements.

Cette formation intéressera également tout développeur (objet ou non) désirant être plus à l’aise dans l’utilisation ou la conception des classes dans un projet applicatif.

Prérequis :

Les participants à cette formation possèdent une première expérience en conception d’applications et en développement logiciel.

Quel que soit le langage utilisé (C, Cobol, Shell, Python, ...), il est important d’avoir déjà développé et livré une application, même de taille modeste, seul ou en équipe.

J’évalue mes connaissances pour vérifier que je dispose des prérequis nécessaires pour profiter pleinement de cette formation en faisant ce test.

Jour 1

De la programmation fonctionnelle vers la programmation objet

Bien comprendre les limites de la programmation dite « structurée »
Les objectifs du monde Objet
En quoi l'approche objet facilite-t-elle les ateliers de développement logiciels ?
Que retrouve-t-on de la programmation structurée dans la programmation objet ?
Travaux pratiquesObjectif : Comprendre le fonctionnement de la programmation orientée objet
Descriptif : Sur la base d'une application classique (commandes, articles), le formateur présente les fonctionnalités de l’application conçue dans une approche fonctionnelle (non objet). Les participants sont amenés à répondre à certaines questions concernant la lisibilité des traitements, des variables, et sur l’évolution du logiciel. Les limites de la programmation classique sont volontairement amplifiées afin d'être clairement identifiées.

Apprendre à concevoir des classes d'objet

Définir un comportement commun au sein d'une classe
Comment « reconnaître » une classe ?
Savoir faire un effort d'abstraction et rester conceptuel
Liens entre classe et objets (instance)
Exemples de classes « mal conçues » qui complexifient le développement
Savoir définir un dictionnaire de données et les attributs d'une classe
Qu'entend-on par « encapsuler » les données ?
Pourquoi utiliser des accesseurs ?
L'origine et la fin d'un objet (constructeurs, destructeurs)
Savoir définir les traitements (méthodes) d’une classe
Liens entre états d'un objet et méthodes
Ne pas mélanger la logique métier et la logique technique
Exemple d’une classe dédiée aux I/O (Data Access Object)
Bonnes pratiques de nommage
Utilisation de classes existantes
Travaux pratiquesObjectif : Être capable de créer des classes d’objet métiers pour une application et comprendre l’intérêt de la séparation de la logique métier avec la technique (sauvegarde des articles et des commandes par exemple)
Descriptif : « Reconception » objet de l'application précédente (commandes, articles) conçue sur un modèle fonctionnel. Élaboration du dictionnaire de données conception des classes, attributs (dictionnaire de données ventilé dans les attributs), traitements (extraction des verbes d’action, des états d’une commande, etc.). Création d’une classe ArticleDAO implémentant les méthodes de sauvegarde et de chargement des articles.
Jour 2

Liens entre les classes et les objets (héritage, visibilité, composition, association)

Visibilité des attributs entre les objets (publique, protégé, privé)
Visibilité des méthodes entre les objets
La puissance de l'héritage
Réflexions sur l'héritage multiple
Ne pas confondre composition et héritage
Intérêt du polymorphisme
La surcharge des opérateurs
Appels de méthode d'une autre classe (message)
Travaux pratiquesObjectif : Distinguer héritage, composition, association
Descriptif : Création d’une classe de commande en ligne (spécialisation de commande pour montrer l’héritage), de composition d’articles au sein d’une classe « Ligne de commande », et d’association sous la forme d’articles qui ne font pas partie de la commande (au catalogue ou en stock par exemple).

Interfaces et abstractions

Notions de classe virtuelle ou abstraite (factorisation de comportements)
Utilisation par héritage
Imposer un contrat à des classes (interface)
Différences entre classe abstraite et interface
Travaux pratiquesObjectif : Comprendre l’intérêt d’un niveau d’abstraction supplémentaire pour l’évolutivité de notre application fil rouge (commandes, articles) 
Descriptif : Amélioration du modèle précédent avec l'utilisation de classes abstraites. On enrichit l’application fil rouge avec le paiement en ligne (classe abstraite pour intégrer différents mécanismes de paiement bancaire « classique », Paypal, bitcoin, etc. sans déstructurer notre conception précédente.

Introduction à la modélisation objet avec UML

UML (Unified Modeling Language) ne représente pas une démarche mais un formalisme
Les deux types de vues (statiques, dynamiques)
Tour d'horizon (rapide) des différents diagrammes UML
L’assistance proposée par l’IA pour valider la modélisation (classes prédictives)
Travaux pratiquesObjectif : Comprendre l’apport de l’UML pour l’analyse et la documentation
Descriptif : Modélisation de notre application fil rouge avec UML, Soumission de notre modèle de classe à une IA pour comparaisons des résultats.
Jour 3

Présentation des Design Patterns

Principes des solutions de conception cataloguées
Méthodologie : définition des besoins techniques, des classes "types" du pattern, des collaborations entre classes
Présentation des patrons de conception : origine, les 3 familles (création, structuration et comportement), autres patrons
Présentation des principaux patrons de conception de chaque catégorie
Documentation d’un patron de conception et présentation des différents diagrammes UML utilisés
Quiz : On présente une problématique et il faut choisir le bon modèle (patron ou Pattern en anglais)

Introduction à la mise en œuvre des concepts objets (Java ou Python)

Présentation rapide des IDE Visual Studio et IntelliJ
Tour d’horizon des plugins standard disponibles
Les apports des assistants IA comme GitHub Copilot (autocompletion intelligente, génération de fonction, suggestion de code, etc.)
Travaux pratiquesObjectif : Mise en œuvre des concepts au sein du projet fil rouge (commande, article). 
Descriptif : Nous implémentons les classes de notre application précédente en Java ou Python selon l’environnement préféré par les participants. Il s’agit d’une simple prise en main et le code est volontairement très simple car on ne prévoit pas de détailler la syntaxe de ces langages.
On commente un exemple de code accédant à une base de données (connexion, chargement de données) pour comprendre comment les classes que nous avons conçues « fonctionnent » dans une « vraie » application simplifiée.

Impact de l’IA dans la programmation objet

Briques techniques de l’IA (machine learning, deep learning, modèle, entraînement, etc.)
Écrire des prompts (IA générative) efficaces pour le développeur
Comment la complexité des bibliothèques d’IA (LLM, réseau de neurones, etc.) est encapsulée dans des bibliothèques Java, Python, C++, etc. ?
Intégration d’un composant IA dans un projet objet métier (classes intelligentes qui prennent des décisions) 
Familles de classes autour de l’IA (ModeleIA, ClassifieurIA, RegresseurIA, ClusteringIA)
Travaux pratiquesObjectif : Comprendre qu’une IA peut être vue comme un objet (ou plusieurs) « facile » à utiliser pour le développeur sans compétence technique en IA (Machine Learning, Data Science, etc.). Ce TP constitue également une excellente synthèse de tous les concepts objets vus dans la formation notamment au niveau de l’impact minimum dans le code si l’on désire intégrer de nouveaux services à notre application.
Descriptif : L’atelier consiste à développer « from scratch » une application proposant un prompt  capable d’interagir avec différents modèles d’’IA et récupérer les résultats (traduction, image, réusmé de texte, etc.) dans notre application.Pour cela nous prévoyons d’utiliser 3 classes abstraites « QUESTION » (attributs prompt, instructions, fichiers,etc. permettant de définir la question et son contexte, « REPONSE »proposant les attributs de la réponse (texte ou autre format selon la question, méta données éventuelles comme le nom du modèle d’IA, sa verison, etc. et « SERVICE » qui est la classe qui spécifie le service demandé (traduction, résumé, génération d’image, etc.). On voit bien ici que notre  programme est extensible et capable d’intégrer de nouveaux services sans modification de code
Objectif : Consolider l’intégration de l’IA dans sa conception
Descriptif : L’atelier consiste à faire évoluer notre projet fil rouge en intégrant de l’IA avec l’utilisation d’une classe intelligente qui prend des décisions comme recommander un article, prédire une rupture de stock, détecter une anomalie, etc. On met à jour le diagramme UML de notre projet avec des éléments comme IAProcessor ou DecisionEngine

L’approche pédagogique repose sur un apprentissage par la pratique structurée autour d’un projet fil rouge parlant à tout le monde (commandes, articles) mais tout en présentant les concepts « brique par brique ». On proposera donc parfois 2 ateliers (un pour valider un concept de façon « atomique » et l’autre pour se rapprocher progressivement d’une application métier réaliste. Chaque concept est introduit sous forme de problématique ou de question comme « En quoi l’approche fonctionnelle classique ne facilite pas toujours la maintenance d’une application ? », « Comment faire pour ne pas tout réécrire mon code quand je manipule des commandes en ligne et non plus des commandes classiques ? », ou encore « dois-je connaître les réseaux de neurones pour utiliser les bibliothèques d’IA ? », etc.

Chaque concept (classe, héritage, interface, UML, design patterns, etc.) est donc introduit via une mise en situation concrète, suivie de travaux pratiques qui permettent de valider les acquis. Les participants sont continuellement sollicités pour analyser, concevoir, tester et discuter (encore plus en mode distanciel). Des quiz quotidiens valident les acquis et la progression est accompagnée par des synthèses régulières. 

L’important sujet de l’IA est amenée progressivement dans la formation. Dans un premier temps sous un angle d’assistant (syntaxe) puis on introduit sa dimension de « conseil » en proposant de valider notre modèle de classes ou même d’en proposer un, et enfin sous son aspect plus technique qui consiste à l’intégrer dans un projet métier (classes d’IA). Pédagogiquement nous prenons garde de ne pas faire évoluer les participants vers une dépendance passive et « risquée » auprès de l’IA et nous privilégions systématiquement l’assimilation des concepts objets avant toute utilisation de l’IA.

Date de mise à jour du programme : 10/12/2025

Dates et lieux

1
2
3
4
Du 07 au 09 janvier 2026
Lieu
Distanciel
Durée
3 jrs
1890 € HT
Du 07 au 09 janvier 2026
Lieu
Paris
Durée
3 jrs
1890 € HT
Du 07 au 09 janvier 2026
Lieu
Bordeaux
Durée
3 jrs
1890 € HT
Du 07 au 09 janvier 2026
Lieu
Guadeloupe
Durée
3 jrs
1890 € HT
Du 07 au 09 janvier 2026
Lieu
Guyane
Durée
3 jrs
1890 € HT
Du 07 au 09 janvier 2026
Lieu
Lille
Durée
3 jrs
1890 € HT
Du 07 au 09 janvier 2026
Lieu
Lyon
Durée
3 jrs
1890 € HT
Du 07 au 09 janvier 2026
Lieu
Marseille
Durée
3 jrs
1890 € HT
Du 07 au 09 janvier 2026
Lieu
Martinique
Durée
3 jrs
1890 € HT
Du 07 au 09 janvier 2026
Lieu
Nantes
Durée
3 jrs
1890 € HT
1
2
3
4

Logo partenaire action collective de l'OPCO Atlas Votre formation prise en charge jusqu'à 100% des coûts pédagogiques ! *

Depuis 2011, Atlas (ex-Fafiec) a sélectionné PLB Consultant pour vous proposer les meilleures formations autour du développement objet avec .NET, Java et C++.
-  Sessions inter-entreprise sur Paris et Lille.
-  Sessions intra-entreprise sur toute la France.

* jusqu'à 100% des coûts pédagogiques selon votre branche d'activité dans la limite des fonds mutualisés dédiés aux actions collectives et en application des critères de prise en charge en vigueur (cf conditions détaillées sur le site d'Atlas)

Vous pouvez retrouver le lien direct vers cette formation sur le site d'Atlas, à l'adresse suivante :

Avis des participants à la formation Conception et Programmation objet

Note moyenne de 4.7/5(24)

Les avis figurant ci-dessous sont issus des fiches d’évaluation que remplissent les participants à la fin de la formation. Ils sont ensuite publiés automatiquement si les personnes ont explicitement accepté que nous les diffusions.

MA
5/5

Mon avis sur le contenu du stage :

"Bonne organisation de la formation. Les éléments les + importants ont été très bien abordés. Les ateliers pratiques sont bien."

Mon avis sur le formateur :

"Tout était très clair. Le formateur prend bien son temps pour expliquer, et est très clair dans ses explications."

Mon avis sur la salle de formation :

"Malgré le fait de faire la formation à distance, tout s'est bien passé et tout était bien clair."

Ce que j'ai le plus apprécié :

"Le formateur + support de cours + les excercices"

Ce que j'ai le moins apprécié :

"Pas vraiment d'aspect négatif."

RS
4/5

Mon avis sur le contenu du stage :

"Le support papier est à revoir ! Tout les commentaires sont sur un seul axe vertical et de ce fait, les explications sont difficiles à appréhender. Par ailleurs, il y a des fautes (typo ou autres à corriger)."

Mon avis sur le formateur :

"Formateur très intéressant car passionné par son domaine de prédilection. De nombreux autres points ont été abordés ou expliqués sans qu'ils soient directement lié à la formation elle-même. "

Ce que j'ai le plus apprécié :

"La salle de pause a été trés appreciée ! (et les petits gâteaux...) "

AY
4/5

Mon avis sur le contenu du stage :

"Contenu très satisfaisant et complet. Les ateliers sont diversifiés et permettent d’assimiler les méthodes théoriques"

Mon avis sur le formateur :

"Très disponible et très compétent. Maîtrise les sujets abordés. Les réponses aux questions sont claires."

Ce que j'ai le plus apprécié :

"UML Ateliers"

Ce que j'ai le moins apprécié :

"Les bases C# et Java"

BL
5/5

Mon avis sur le contenu du stage :

"Très complet et adapté à tous les niveaux !"

Mon avis sur le formateur :

"Attentif et patient deux qualités importantes pour un animateur !!"

Ce que j'ai le plus apprécié :

"La formation s'adapte parfaitement au distancier !!!"

Ce que j'ai le moins apprécié :

"Je n'ai pas été prévenu par mail de l'heure de début de la séance."

VALVERDE Jean-Robert
5/5

Mon avis sur le formateur :

"Parfois mis en retard par un métro capricieux il a toujours été disponible pour répondre à nos questions."

Ce que j'ai le plus apprécié :

"Le nombre restreint des participants est réellement un avantage pour avoir une assistance personnalisée. Disponibilité de l'équipe pédagogique. Rétroprojecteur Espace détente ;-)"

Ce que j'ai le moins apprécié :

"Feutres HS :-("

DX
5/5

Mon avis sur le contenu du stage :

"Un peu abstrait au début, mais avec les exercices on s'en sort mieux"

Mon avis sur le formateur :

"Très grandes connaissances / compétences avec une grande expérience technique"

Mon avis sur la salle de formation :

"quartier bien doté en restaurants"

Ce que j'ai le plus apprécié :

"la machine à café ^_^"

HNT
5/5

Mon avis sur le formateur :

"Parfaite maîtrise du sujet."

Mon avis sur la salle de formation :

"Certains écrans sont un peu petits."

Ce que j'ai le plus apprécié :

"Le nombre relativement réduit de participants qui permet de tous avancer en même temps et nous permettant de solliciter le formateur sans contrainte."

CM
5/5

Mon avis sur le contenu du stage :

"RAS, tout est clair"

Mon avis sur le formateur :

"Denis est un excellent formateur, très à l'écoute pour toute question, approfondissement, révisions d'un sujet."

Mon avis sur la salle de formation :

"En formation virtuelle."

CUTULLIC Mathis
5/5

Mon avis sur le formateur :

"Formateur très pédagogue et à l'écoute. très content d'avoir pu participer à une formation efficace."

Ce que j'ai le moins apprécié :

"L'environnement n'a pas fonctionner pour moi, nous avons fait autrement."

DELAHAYE Antoine
4/5

Mon avis sur le contenu du stage :

"Je n'avais pas d'attente, cette formation m'a été imposée. Cependant le contenu est intéressant pour des débutants"

Mon avis sur la salle de formation :

"A domicile donc l'environnement est parfait"

VERIN Manuel
5/5

Mon avis sur la salle de formation :

"Lorsque j'ai eu des soucis de communication (e-learning), la solution a vite été trouvée (par l'administrateur ou le formateur)"

Ce que j'ai le plus apprécié :

"Suite logiciel"

GC
5/5

Mon avis sur le contenu du stage :

"J'avais déjà connaissance des points abordés mais très bonne piqûre de rappel"

Ce que j'ai le plus apprécié :

"C# C. inconnu même si similaire à Java"

GC
5/5

Mon avis sur le contenu du stage :

"J'avais déjà connaissance des points abordés mais très bonne piqûre de rappel"

Ce que j'ai le plus apprécié :

"C# C. inconnu même si similaire à Java"

BARROSO Nicolas
4/5

Ce que j'ai le plus apprécié :

"Les échanges durant la formation"

Ce que j'ai le moins apprécié :

"Problème technique premier jour du à une extension (Sonar)qui empêchait certainement action"

AS
5/5

Mon avis sur le contenu du stage :

"La formation est très dense !!! On a fait bcp d'exercices afin de mieux assimiler la théorie"

Mon avis sur le formateur :

"Le formateur est toujours un excellent pédagogue !!!"

TY
5/5

Mon avis sur le contenu du stage :

"La formation est très complète"

Mon avis sur le formateur :

"Morgan est un très bon formateur !!! Il nous explique l'objet avec des concepts simples à comprendre"

Victoire
4/5
Mon avis sur le contenu du stage: Rien à dire. le stage c'est très bien déroulé et il était très intéressant. J'ai beaucoup apprécié la redirection du stage vers ce qui nous intéressait le plus. Ce que j'ai le plus apprécié: - Personnalisation de la formation. - Réponse détaillées des questions posées.
HHT
5/5
Mon avis sur le contenu du stage: Le chapitre sur la visibilité entre les objets est parfois un peu vague Mon avis sur le formateur: très bonne prestation de l'animateur Ce que j'ai le plus apprécié: le côté mise en pratique de la formation
MD
4/5

Mon avis sur la salle de formation :

"fourni par le client"

Ce que j'ai le plus apprécié :

"les TP"

Richard VU NGOC TUAN
5/5

Mon avis sur le contenu du stage :

"Lors de la formation, quelques erreurs dans le support de cours on été détectées"

CAUVIN Thierry
5/5

Mon avis sur le formateur :

"Denis fut très pédagogue et a toujours apporté son aide et ses connaissances. "

OC
4/5
Mon avis sur le contenu du stage: R.A.S Mon avis sur le formateur: R.A.S
MJ
5/5
JOSA Guillaume
5/5

Ces formations peuvent aussi vous intéresser :

Optimiser vos applications en vous appuyant sur le parrallélisme

  • Niveau : Intermédiaire
  • Référence : DPMC

De la physique quantique à ses applications révolutionnaires (cryptographie, algorithmique...)

  • Niveau : Fondamental
  • Référence : QUIF

  • Niveau : Fondamental
  • Référence : QANT

Découvrir et implémenter la librairie RxJS

  • Niveau : Intermédiaire
  • Référence : RXJS


Formations Informatique
et Management
en ligne à ce jour

+
Stagiaires dans nos salles
de cours sur
l'année

4,7/5
94% de nos participants
sont satisfaits ou
très satisfaits


Formateurs experts
validés par
PLB

%
Des participants
recommandent
nos formations