Dans la fenêtre d’impression, choisissez « Enregistrer en PDF » comme destination.
Réf. JAV-FND
Java - Les fondamentaux de la programmation
Langages & Développement Logiciel
Durée
35 à 49 heures (5 à 7 jours) selon le format
Modalités
Présentiel, Classe à distance
Reconnaissance
Formation non certifiante (attestation de fin de formation)
Format de vente
Inter-entreprise ou Intra-entreprise
Délai d’accès
Inter : jusqu’à 5 jours ouvrés avant la session ; intra : en moyenne 15 jours ouvrés après l’acceptation du devis
Tarif intra
Sur devis
Pourquoi suivre cette formation
Java est le langage de référence des systèmes d'information d'entreprise. Cette formation vous apprend les bases de la programmation orientée objet, la syntaxe Java moderne et la gestion des fichiers.
À l’issue de cette formation, les participants seront capables de
Écrire, compiler et exécuter un programme Java en respectant les normes professionnelles
Manipuler les types de données, les structures de contrôle (boucles, conditions) et les tableaux
Concevoir des architectures objets robustes (classes, héritage, polymorphisme, interfaces)
Fiabiliser le code grâce à la gestion rigoureuse des exceptions et des erreurs d'exécution
Exploiter l'API standard de Java pour manipuler les fichiers et structurer des listes de données
IMPACTTerrain49 heures (7 jours) · dont une journée en décalé4 465 € HTpar participant (inter-entreprises)
Chaque format reprend le précédent et y ajoute des journées.
Public visé
Développeurs débutants, ingénieurs d'études, analystes-programmeurs, ou professionnels en reconversion souhaitant acquérir des bases de développement solides en Java.
Prérequis
Sensibilité aux concepts de base de l'informatique (logique, fichiers, répertoires). Une première expérience, même minime, avec un langage algorithmique est un plus.
Prérequis techniques à distance
La classe virtuelle se tient sur Microsoft Teams : AMBIA fournit à chaque participant un compte pour la durée de la formation. En intra-entreprise, elle peut aussi se tenir sur l’outil que l’entreprise utilise déjà, par exemple Zoom ou Google Meet.
Le participant se connecte depuis un ordinateur équipé d’une caméra, d’un micro, d’un accès à internet et d’un navigateur à jour, dans un lieu calme. Si la formation le demande, le formateur donne accès à un poste de travail à distance, depuis le navigateur.
Pendant la formation, l’assistance technique répond à support@ambia-skills.fr.
Objectifs pédagogiques
Identifier le rôle de la JVM (Java Virtual Machine) et la syntaxe de base du langage.
Différencier les notions de classes, d'instances, d'interfaces et de types abstraits.
Écrire des algorithmes structurés et manipuler les structures de données standards (tableaux, listes).
Diagnostiquer les anomalies de compilation et interpréter les piles de traces d'exceptions.
Analyser la qualité d'encapsulation d'une classe pour s'assurer du respect des principes d'accès aux données.
Assembler une application console orientée objet structurée, robuste et gérant les exceptions d'entrée/sortie.
Programme détaillé
Jour 1ESSENTIEL
Matin
Introduction à l'écosystème Java & Syntaxe de base
Comprendre le principe de portabilité de Java (compilation, JVM), configurer son environnement de travail et écrire sa première application.
L'architecture Java : JDK, JRE, JVM et cycle de vie d'un fichier source (.java -> .class).
La méthode d'entrée principale : public static void main(String[] args).
La syntaxe de base : déclaration de variables, types primitifs (int, double, boolean, char) et constantes.
Atelier pratique
Initialisation d'un projet console sous IntelliJ IDEA et écriture d'un programme d'échange et d'affichage d'informations utilisateur.
Cas métier
Initialisation du programme console de saisie et d'affichage des données d'un profil utilisateur applicatif avec contrôle des types de variables.
Compétence acquise
Être capable de compiler et d'exécuter de manière autonome un programme Java simple.
Livrable
Premier programme fonctionnel compilé et exécuté en invite de commande.
Après-midi
Structures décisionnelles et itératives
Rendre les programmes dynamiques et intelligents en implémentant des structures logiques et de répétition.
Les opérateurs logiques et de comparaison.
Les structures de contrôle conditionnelles : if, else if, else et le sélecteur multiple switch.
Les structures de boucles : while, do-while et for.
Atelier pratique
Création d'un moteur de calcul de facturation de services selon des paliers de consommation tarifaires.
Cas métier
Développement d'un moteur de calcul de facturation de services automatisé selon des paliers de consommation tarifaires (if/switch/for).
Compétence acquise
Savoir automatiser et aiguiller un traitement logique en fonction des entrées de données.
Livrable
Console d'évaluation de tarifs automatisée et robuste.
Jour 2ESSENTIEL
Matin
Manipuler les Tableaux et les Chaînes de caractères
Savoir stocker et manipuler des ensembles de données de taille fixe et maîtriser les API de traitement de texte.
Déclaration, allocation et initialisation des tableaux à une ou plusieurs dimensions.
Le parcours de tableaux à l'aide de la boucle enrichie for-each.
La manipulation des objets String et la notion d'immutabilité.
Atelier pratique
Écriture d'un programme de tri et de recherche de valeurs dans un jeu d'indicateurs de performance.
Cas métier
Écriture d'un algorithme de tri et d'analyse statistique appliqué à un tableau d'indicateurs de performance financière.
Compétence acquise
Être capable de manipuler et d'analyser des ensembles ordonnés de données élémentaires.
Livrable
Algorithme de tri et de traitement statistique appliqué à un tableau numérique.
Après-midi
Introduction à la Programmation Orientée Objet (POO)
Comprendre le paradigme de l'objet, définir des classes et instancier ses premiers objets métiers.
Le concept d'objet : de la structure de données à l'entité active.
Définition de classes : attributs de structure, méthodes d'action et rôles des constructeurs.
La gestion de la durée de vie des objets : l'allocation mémoire via le mot-clé new.
Atelier pratique
Modélisation et création d'une entité « CompteBancaire » avec ses méthodes de dépôt et de retrait d'argent.
Cas métier
Modélisation de l'entité métier CompteBancaire avec gestion de l'état mémoire, constructeurs et méthodes d'opérations financières (dépôt/retrait).
Compétence acquise
Savoir conceptualiser un problème réel sous forme de classe réutilisable et instanciable en Java.
Livrable
Classe métier opérationnelle intégrant ses propres règles d'auto-contrôle élémentaires.
Jour 3ESSENTIEL
Matin
Encapsulation et Relations entre Objets
Sécuriser l'accès aux données internes d'une classe en mettant en place les concepts d'encapsulation.
Les modificateurs d'accès et de visibilité : private, protected, public.
La mise en œuvre des méthodes d'accès sécurisé : les accesseurs (getters) et mutateurs (setters).
Les relations d'association et d'agrégation entre plusieurs objets du modèle de domaine.
Atelier pratique
Développement du module de gestion de comptes : création d'un objet « Client » lié à plusieurs objets « CompteBancaire » sécurisés.
Cas métier
Structuration du module de gestion de comptes sécurisant les attributs privés et associant un objet Client à son portefeuille de comptes bancaires.
Compétence acquise
Savoir protéger l'intégrité des états internes d'un objet informatique complexe.
Livrable
Paquetage de classes sécurisé par l'encapsulation et relié de manière logique.
Après-midi
Héritage et Polymorphisme
Factoriser le code et concevoir des hiérarchies d'objets évolutives en exploitant le mécanisme de l'héritage.
Le concept d'héritage en Java via le mot-clé extends.
Le mécanisme de redéfinition de méthodes (Override) et d'appel au parent via super.
La notion de polymorphisme : manipuler des objets spécialisés à travers une référence parente générique.
Atelier pratique
Modélisation de différents types de comptes (Courant, Épargne) héritant tous d'un tronc commun, avec application d'intérêts ou d'agios différenciés de manière polymorphique.
Cas métier
Création d'une hiérarchie de comptes (CompteCourant, CompteEpargne) héritant d'un socle commun avec calcul polymorphique des agios et des intérêts.
Compétence acquise
Savoir factoriser du code applicatif et exploiter le polymorphisme pour simplifier l'architecture logicielle.
Livrable
Arborescence de classes spécialisées, extensibles et pilotées dynamiquement.
Jour 4ESSENTIEL
Matin
Abstraction et Interfaces
Définir des contrats d'intégration stricts et découpler l'architecture applicative grâce aux classes abstraites et aux interfaces.
Le rôle et la syntaxe des classes et méthodes abstraites (abstract).
La notion d'interface en tant que contrat comportemental (interface et implements).
L'intérêt du couplage faible pour rendre le système évolutif et tolérant au changement.
Atelier pratique
Déclaration d'une interface de notification d'alertes (SMS, Email) et intégration de celle-ci dans nos modules financiers sans dépendance directe avec les classes concrètes.
Cas métier
Définition d'une interface de notification d'alertes (SMS, Email) et intégration découplée au sein des modules financiers.
Compétence acquise
Savoir formaliser des contrats de comportement logiciels pour séparer l'utilisation d'un service de son implémentation technique.
Livrable
Système modulaire découplé, architecturé autour de contrats d'interfaces stricts.
Après-midi
Gestion des Exceptions et Robustesse du Code
Anticiper, capturer et gérer les dysfonctionnements et les erreurs pour rendre l'application robuste face aux imprévus.
La hiérarchie des exceptions en Java : exceptions surveillées (checked) et non surveillées (unchecked).
La capture d'erreurs : mise en place des blocs try, catch et le rôle libérateur du bloc finally.
La propagation des exceptions via le mot-clé throws et la levée volontaire d'erreurs avec throw.
Atelier pratique
Sécurisation du simulateur bancaire : rejet des transactions négatives, détection des dépassements de découverts autorisés et levée d'exceptions personnalisées.
Cas métier
Sécurisation du simulateur bancaire avec rejet des opérations invalides et levée d'exceptions personnalisées en cas de dépassement de découvert.
Compétence acquise
Savoir rendre une application stable et capable de réagir de manière sécurisée en cas d'erreur de saisie ou d'incident d'exécution.
Livrable
Code de traitement applicatif hautement protégé et insensible aux pannes logiques.
Jour 5ESSENTIEL
Matin
L'API de Collections de Java
Manipuler des structures de données dynamiques complexes de manière performante en exploitant le framework de collections standard.
Les limites des tableaux classiques et l'apport des structures extensibles dynamiquement.
L'utilisation de la liste ordonnée ArrayList et les différences avec d'autres types d'organisations de données.
La gestion de dictionnaires clés/valeurs à l'aide de la structure HashMap.
Atelier pratique
Restructuration de notre portefeuille de comptes d'un client à l'aide d'une collection dynamique indexée par numéro de compte.
Cas métier
Indexation et recherche rapide du portefeuille de comptes d'entreprise à l'aide d'une collection dynamique HashMap indexée par identifiant unique.
Compétence acquise
Savoir structurer et interroger efficacement un volume variable de données métiers en mémoire active.
Livrable
Module de traitement d'annuaire et d'indexation dynamique d'objets.
Après-midi
Flux d'entrées/sorties et initiation à la persistance
Rendre les données de l'application durables en apprenant à écrire et lire des données à partir de fichiers physiques sur disque.
La gestion des fichiers et des répertoires à l'aide des bibliothèques de traitement d'entrées/sorties (java.nio.file).
La lecture et l'écriture de flux de texte ligne par ligne (BufferedReader, BufferedWriter).
La bonne fermeture des ressources physiques en utilisant l'instruction moderne try-with-resources.
Atelier pratique
Établissement d'un module de sauvegarde de rapports d'activité : enregistrement et rechargement de l'état financier global depuis un fichier texte d'historisation.
Cas métier
Établissement d'un module d'historisation enregistrant et rechargeant l'état financier global depuis un fichier texte d'archive (java.nio.file).
Compétence acquise
Être capable de sauvegarder et de récupérer proprement l'état d'une application sur un support de stockage persistant.
Livrable
Module de gestion de persistance de données autonome et opérationnel.
Jour 6ACTION
Matin
De la POO à l'action : concevoir le modèle objet d'une application bancaire
Réutiliser en autonomie les classes, l'encapsulation, l'héritage, les interfaces et les collections des journées ESSENTIEL pour concevoir une application.
Réactiver les acquis des journées ESSENTIEL : rappel visuel et quiz sur les classes et objets, l'encapsulation, l'héritage, le polymorphisme, les interfaces et les collections.
Concevoir un modèle de classes clair, puis le coder et le faire fonctionner avec les collections adaptées.
Atelier pratique
Entraînement en binômes : relire le modèle de classes d'un autre binôme et repérer les attributs exposés et les responsabilités mal réparties, avec correction croisée.
Cas métier
La gestion des comptes bancaires (cas fil rouge) - Les participants conçoivent les classes de l'application (clients, comptes, opérations), utilisent l'héritage et les interfaces pour les différents types de comptes et gèrent les opérations avec les collections, puis présentent leur conception au groupe.
Compétence acquise
Savoir concevoir et coder en autonomie une application orientée objet bien structurée.
Livrable
Le projet Java de gestion bancaire, construit avec les modèles des journées ESSENTIEL.
Après-midi
Éprouver la robustesse de son code en simulation de mise en service
Mettre à l'épreuve la gestion des exceptions et la sauvegarde des données de son application face à des situations imprévues.
Retour sur les exceptions, les flux d'entrée et de sortie et la persistance vus les jours précédents.
Exercice guidé : échanger les applications, chercher à les faire échouer (montant négatif, fichier absent, saisie invalide), puis corriger les failles.
Cas métier
La mise en service de l'application (cas fil rouge) - Chaque participant sécurise son application avec des exceptions adaptées, sauvegarde et recharge les données dans des fichiers, puis la soumet à une revue de code du groupe et du formateur.
Compétence acquise
Savoir livrer une application Java robuste et capable de conserver ses données.
Livrable
L'application finalisée et sécurisée, issue des modèles des journées ESSENTIEL.
Jour 7 · en décaléIMPACT
Matin
Audit de la qualité du code Java d'entreprise et refactoring
Analyser le code Java réel de l'entreprise et appliquer des refactorings propres.
Diagnostic du codebase Java de l'entreprise. Élimination du code dupliqué, découpage des méthodes trop longues et application des design patterns fondamentaux (Factory, Singleton).
Après-midi
Co-construction des règles de codage et intégration Maven/Gradle
Automatiser la gestion des dépendances d'entreprise et valider la stratégie de build.
Structuration de l'outil d'assemblage du projet Java. Configuration du fichier pom.xml Maven, intégration des plugins de contrôle de style (Checkstyle / SpotBugs) et documentation des règles.
Les ateliers et cas métier de ce programme pourront être adaptés par le consultant-formateur selon les besoins, le niveau et les prérequis des participants, pour favoriser l’atteinte des objectifs pédagogiques.
Méthodes et moyens pédagogiques
Méthodes mobilisées
Pédagogie active basée sur l'expérimentation constante. Démonstrations guidées pas-à-pas du formateur, ateliers d'ancrage progressifs et revues de code collectives bienveillantes pour corriger les structures et consolider la qualité du code.
Moyens techniques
Un poste informatique individuel par apprenant, un environnement de développement professionnel (IDE comme IntelliJ IDEA ou Eclipse), le JDK officiel récent préinstallé, un système de partage d'écran et l'accès à la plateforme numérique d'AMBIA pour le téléchargement des corrigés et des supports de cours.
Moyens humains
Formation animée par un consultant-formateur expert senior, développeur et architecte logiciel Java en activité, doté d'une solide expérience de production en entreprise.
Modalités d’évaluation
Évaluation diagnostique
Questionnaire d'évaluation des bases logiques en programmation envoyé 15 jours avant la session pour valider le niveau de départ.
Évaluation formative
Évaluation continue tout au long de la formation par le suivi pas-à-pas de l'intégration des exercices d'ancrage progressifs.
Évaluation sommative
Questionnaire de validation des acquis sous forme de QCM en fin de formation et évaluation d'un mini-projet de synthèse de programmation objet de fin de parcours.
Suivi
Feuilles de présence signées par demi-journée, en présentiel comme à distance.
Attestation de fin de formation remise à chaque stagiaire, mentionnant les objectifs, la nature, la durée et les résultats de l’évaluation.
Certificat de réalisation adressé au client ou au financeur.
Questionnaire de satisfaction remis à l’issue de la formation.
Délai d’accès
Inter-entreprises : L’inscription est possible jusqu’à 5 jours ouvrés avant le début de la session, sous réserve des places disponibles.
Intra-entreprise : La formation débute en moyenne 15 jours ouvrés après l’acceptation du devis.
Ce délai peut être adapté selon la disponibilité des sessions, le positionnement du stagiaire et, le cas échéant, l’instruction du dossier de prise en charge par le financeur.
Accessibilité handicap
Nos parcours sont adaptables aux personnes en situation de handicap. Veuillez contacter notre référent pour étudier les aménagements nécessaires.
Référent handicap : accessibilite@ambia-skills.fr. Aucune reconnaissance de la qualité de travailleur handicapé ni aucun justificatif médical n’est exigé.
Indicateurs de résultats
Indicateurs publiés à partir de 3 avis.
Mode de calcul : www.ambia-skills.fr/notre-approche#notes