Java : d'où ça vient, pourquoi c'est comme ça
Origines et filiation du langage Java
→Cours de développement orienté objet collaboratif : fondamentaux Java, gestion de version Git, évolutions Java post-8, et accès aux bases de données JDBC.
Tout le cours s’exerce sur un projet Maven unique : le dépôt ebpro/dev-oocol-fil-rouge, monté dans cet espace de travail sous dev-oocol-fil-rouge/. On y trouve 11 modules numérotés, de 20-domain-bases (bases du langage) à 95-transit-app (synthèse finale, couplée à 90-jdbc) ; chaque section de ce cours signale le module qui l’accompagne. Compilation et tests : ./mvnw verify (JDK 21) ; la CI GitHub et SonarQube du dépôt sont au vert. Progression détaillée : dev-oocol-fil-rouge/docs/progression.md.
Manipulation manuelle de la compilation et de l'exécution Java
Modèle en trois zones, objet commit, branches et travail collaboratif avec Git
→Six modèles de workflow, critères de comparaison, gabarit de pull request et checklist de revue, simulations locales du forking et de la fusion à deux avec conflit.
Fil rouge : le module 20-domain-bases/ du dépôt fil-rouge s’exerce dans cette section.
Fil rouge : le module 30-heritage/ du dépôt fil-rouge s’exerce dans cette section.
Réutilisation par contrats et composition en Java
→Lecture et usage raisonné de l'héritage en Java
→Mise en oeuvre de la réutilisation et de l'héritage en Java.
Fil rouge : le module 40-collections/ du dépôt fil-rouge s’exerce dans cette section.
Mécanique des types génériques — classes et méthodes paramétrées, bornes, wildcards, convention PECS, effacement, autoboxing
→Contrats d'abstraction et implémentations éprouvées dans java.util.
→Pratique des collections (listes, ensembles et dictionnaires) en Java.
Fil rouge : les modules 90-jdbc/ et 95-transit-app/ (synthèse) du dépôt fil-rouge s’exercent dans cette section.
Connexion, requêtes, sécurité, transactions et portabilité avec l'API Java Database Connectivity.
→Travaux pratiques d'introduction aux tests unitaires en JUnit 5 : premier test rouge-vert, assertions, assertThrows, cycle de vie, tests paramétrés, DAO testé sur H2 en mémoire et mini-cycle de développement piloté par les tests.
Fil rouge : le module 50-exceptions/ du dépôt fil-rouge s’exerce dans cette section.
Fil rouge : les modules 80-modern-java/ et 85-collection-pitfalls/ du dépôt fil-rouge s’exercent dans cette section.
<!-- desc(5A0113B34292)[max=175]:11-notebook-java-after8/01_java_after8_L_Functionnal.html -->
→Programmation en pipeline (Stream) à partir de Java 8
→Diverses nouveautés à partir de Java 8
Fil rouge : le module 60-io/ du dépôt fil-rouge s’exerce dans cette annexe.
Fil rouge : le module 70-serialisation/ du dépôt fil-rouge s’exerce dans cette annexe.
Lecture et ecriture dans des fichiers, en mémoire, sur le réseau, ...
→Introduction à la sérialisation d'object.
→Support applicatif du cours OOCOL : dépendances JPMS, MVC FXML et runtime jlink, démontrés sur le dépôt public épinglé sample-javafx-client.
→Révision des fondamentaux Java, Maven, Git, JDBC et JUnit
Exercice pratique de remise à niveau Java, Maven, Git, JDBC et JUnit à travers le développement d'une application console de planification de séances de sport.
Le code produit par un assistant IA n'a aucun statut particulier : il passe les mêmes portes que le code d'un humain — compilation, tests aux limites, revue de maintenabilité. Cette leçon montre ces trois portes sur des contributions réelles d'un assistant, et ce que chaque porte attrape ou laisse passer.
TP compagnon de la leçon 80 (arc OOCOL) : l'étudiant, côté reviewer, écrit les tests qui éprouvent trois sorties épinglées d'un assistant sur le domaine Reservation.
Prérequis — séquence d’environnement — annexe auto-guidée, hors chemin noté : JDK sur machine personnelle, espace de travail, projet type, archive jar, installation de Git.