Programme Full-Stack Java – Partie 1 : Java
(Semaines 1 à 3)
Cette première partie couvre les bases, la POO et Java avancé, avec théorie quotidienne, exercices
corrigés et mini-projet évolutif.
Semaine 1 – Bases Java
Jour 1
Cours Udemy (suggestion) : Intro + JDK, premier programme
Théorie du jour : Comprendre ce qu’est Java, la JVM, le JDK, et comment exécuter un premier
programme.
Exercice du jour : Écrire un programme qui affiche ton nom, ton âge et un message de bienvenue.
Mini-projet : Initialiser le dépôt Git du projet et créer un projet console Java.
Checklist : ■ Théorie comprise ■ Exercice réalisé ■ Projet avancé
Jour 2
Cours Udemy (suggestion) : Variables et types primitifs
Théorie du jour : Découvrir les types int, double, boolean, char, String et les opérateurs de base.
Exercice du jour : Écrire un programme qui calcule un prix TTC à partir d’un prix HT et d’un taux de
TVA.
Mini-projet : Ajouter une classe de calcul utilitaire dans ton mini-projet.
Checklist : ■ Théorie comprise ■ Exercice réalisé ■ Projet avancé
Jour 3
Cours Udemy (suggestion) : Conditions (if/else)
Théorie du jour : Comprendre la logique conditionnelle pour prendre des décisions dans le code.
Exercice du jour : Demander une note à l’utilisateur et afficher 'Excellent', 'Bien', 'Insuffisant' selon la
valeur.
Mini-projet : Ajouter une validation simple dans le mini-projet (ex: refuser des valeurs invalides).
Checklist : ■ Théorie comprise ■ Exercice réalisé ■ Projet avancé
Jour 4
Cours Udemy (suggestion) : Boucles (for, while)
Théorie du jour : Utiliser des boucles pour répéter des instructions.
Exercice du jour : Afficher tous les nombres de 1 à 50 puis uniquement les nombres pairs.
Mini-projet : Ajouter un petit menu en boucle dans le mini-projet pour réessayer des actions.
Checklist : ■ Théorie comprise ■ Exercice réalisé ■ Projet avancé
Jour 5
Cours Udemy (suggestion) : Méthodes et paramètres
Théorie du jour : Structurer le code en fonctions réutilisables.
Exercice du jour : Créer une fonction somme(a, b) et l’appeler avec plusieurs valeurs.
Mini-projet : Extraire une partie du code du mini-projet dans des méthodes dédiées.
Checklist : ■ Théorie comprise ■ Exercice réalisé ■ Projet avancé
Jour 6
Cours Udemy (suggestion) : Entrées utilisateur (Scanner)
Théorie du jour : Apprendre à lire des données entrées par l’utilisateur au clavier.
Exercice du jour : Demander 3 nombres et afficher le plus grand.
Mini-projet : Remplacer les valeurs codées en dur par des saisies utilisateur dans le mini-projet.
Checklist : ■ Théorie comprise ■ Exercice réalisé ■ Projet avancé
Jour 7
Cours Udemy (suggestion) : Collections simples (ArrayList)
Théorie du jour : Stocker plusieurs éléments avec ArrayList.
Exercice du jour : Créer une liste de prénoms, ajouter/enlever des éléments et les afficher.
Mini-projet : Commencer la gestion d’une liste d’objets (ex: livres, tâches) dans le mini-projet.
Checklist : ■ Théorie comprise ■ Exercice réalisé ■ Projet avancé
Semaine 2 – POO Java
Jour 8
Cours Udemy (suggestion) : Classes & objets
Théorie du jour : Comprendre ce qu’est une classe, une instance, et comment modéliser un 'objet'
métier.
Exercice du jour : Créer une classe Voiture avec marque, modèle, vitesseMax et afficher ses infos.
Mini-projet : Créer la classe centrale de ton mini-projet (ex: Livre, Tâche, Utilisateur).
Checklist : ■ Théorie comprise ■ Exercice réalisé ■ Projet avancé
Jour 9
Cours Udemy (suggestion) : Constructeurs, getters/setters
Théorie du jour : Initialiser correctement les objets et protéger les données.
Exercice du jour : Créer une classe Employe avec salaire et méthode augmenterSalaire().
Mini-projet : Ajouter constructeurs et getters/setters propres dans les classes du mini-projet.
Checklist : ■ Théorie comprise ■ Exercice réalisé ■ Projet avancé
Jour 10
Cours Udemy (suggestion) : Héritage
Théorie du jour : Réutiliser et spécialiser des classes avec extends.
Exercice du jour : Créer une classe Roman qui hérite de Livre et ajoute un genre littéraire.
Mini-projet : Identifier une hiérarchie utile dans ton mini-projet (ex: TâcheSimple,
TâcheAvecDeadline).
Checklist : ■ Théorie comprise ■ Exercice réalisé ■ Projet avancé
Jour 11
Cours Udemy (suggestion) : Polymorphisme & override
Théorie du jour : Comprendre comment une même méthode peut se comporter différemment selon le
type.
Exercice du jour : Surcharger toString() ou une méthode description() pour différentes sous-classes.
Mini-projet : Utiliser le polymorphisme pour afficher tes objets via une méthode générique.
Checklist : ■ Théorie comprise ■ Exercice réalisé ■ Projet avancé
Jour 12
Cours Udemy (suggestion) : Collections avancées (List, Map, Set)
Théorie du jour : Choisir la bonne collection pour le bon besoin.
Exercice du jour : Créer une Map pour stocker des produits et leur stock.
Mini-projet : Organiser tes objets du mini-projet dans des listes ou des maps (par catégorie, ID, etc.).
Checklist : ■ Théorie comprise ■ Exercice réalisé ■ Projet avancé
Jour 13
Cours Udemy (suggestion) : Exceptions et gestion d’erreurs
Théorie du jour : Prévenir et gérer les erreurs d’exécution avec try/catch.
Exercice du jour : Lire un entier avec Scanner et gérer les saisies invalides.
Mini-projet : Ajouter une gestion d’erreurs propre dans ton mini-projet (messages explicites).
Checklist : ■ Théorie comprise ■ Exercice réalisé ■ Projet avancé
Jour 14
Cours Udemy (suggestion) : Fichiers (lecture/écriture)
Théorie du jour : Sauvegarder et charger des données depuis un fichier.
Exercice du jour : Écrire une liste de chaînes dans un fichier texte puis la relire.
Mini-projet : Sauvegarder l’état du mini-projet (liste d’objets) dans un fichier simple.
Checklist : ■ Théorie comprise ■ Exercice réalisé ■ Projet avancé
Semaine 3 – Java avancé & structuration
Jour 15
Cours Udemy (suggestion) : Streams – introduction
Théorie du jour : Découvrir l’API Stream pour traiter des collections de manière déclarative.
Exercice du jour : À partir d’une liste de nombres, filtrer ceux > 50, puis les afficher.
Mini-projet : Utiliser un Stream pour filtrer/rechercher des éléments dans ton mini-projet.
Checklist : ■ Théorie comprise ■ Exercice réalisé ■ Projet avancé
Jour 16
Cours Udemy (suggestion) : Lambdas
Théorie du jour : Utiliser la syntaxe des expressions lambda pour simplifier le code.
Exercice du jour : Trier une liste de chaînes ou d’objets avec une lambda.
Mini-projet : Utiliser une lambda pour trier tes objets métier (par titre, priorité, etc.).
Checklist : ■ Théorie comprise ■ Exercice réalisé ■ Projet avancé
Jour 17
Cours Udemy (suggestion) : Streams avancés (map, collect)
Théorie du jour : Transformer des données et les regrouper.
Exercice du jour : Mapper une liste d’objets vers une liste de noms, ou calculer une moyenne.
Mini-projet : Créer une vue transformée de tes objets (ex: liste de titres, statistiques simples).
Checklist : ■ Théorie comprise ■ Exercice réalisé ■ Projet avancé
Jour 18
Cours Udemy (suggestion) : Dates & temps (LocalDate)
Théorie du jour : Gérer des dates modernes avec [Link].
Exercice du jour : Afficher la date du jour, une date dans 30 jours, et comparer deux dates.
Mini-projet : Ajouter une date de création ou d’échéance à tes objets (ex: deadline de tâche).
Checklist : ■ Théorie comprise ■ Exercice réalisé ■ Projet avancé
Jour 19
Cours Udemy (suggestion) : Enums
Théorie du jour : Créer des types fermés et explicites pour des valeurs fixes.
Exercice du jour : Créer un enum GenreMusical ou PrioriteTache.
Mini-projet : Utiliser un enum (statut, priorité, catégorie) dans ton mini-projet.
Checklist : ■ Théorie comprise ■ Exercice réalisé ■ Projet avancé
Jour 20
Cours Udemy (suggestion) : Architecture & packages
Théorie du jour : Structurer le code en couches (model, service, ui, etc.).
Exercice du jour : Réorganiser des classes dans différents packages logiques.
Mini-projet : Structurer ton mini-projet avec une architecture claire en plusieurs packages.
Checklist : ■ Théorie comprise ■ Exercice réalisé ■ Projet avancé
Jour 21
Cours Udemy (suggestion) : Révision & GitHub
Théorie du jour : Relire, refactorer, consolider tous les acquis des 3 premières semaines.
Exercice du jour : Nettoyer le code, renommer, commenter, supprimer ce qui est inutile.
Mini-projet : Créer/polir le dépôt GitHub du mini-projet avec README et instructions.
Checklist : ■ Théorie comprise ■ Exercice réalisé ■ Projet avancé