PROGRAMMATION JAVA
L2, GEI, 2024-2025
MSc. Yvette KALIMUMBALO
MODE D’EVALUATION
• 60h (30h cours, 30h TP, TD)
• TP et mini projet: 30%
• TD et Interrogation: 20%
• Examen: 50%
• Un bonus pour 100% de presence.
• Lundi – Vendredi (8h-12h, 13h-16h), 7h/jour
PLAN
• Chap I. Introduction générale
• Chap II. Programmation procédurale en Java
• Chap III. Programmation Orientée Objet (POO) en Java
• Les méthodes et les classes
• L’héritage
• Les classes abstraites et les interfaces
• Les exceptions
• Chap IV. Applications de la POO
• Les flux d’entrée-sortie
• Les interfaces graphiques: Introduction à swing
• Mini projet
CHAP I. INTRODUCTION GENERALE
OBJECTIFS
• Présenter Java comme langage de programmation.
• Expliquer ses principales caractéristiques et son importance dans le
développement logiciel.
• Configurer l’environnement de développement.
• Comprendre la structure de base d’un programme Java.
PLAN
• Qu'est-ce que Java ?
• Pourquoi choisir Java ?
• L’Ecosystème Java: la Java Virtual Machine (JVM) et la Java Runtime Environment
(JRE).
• Configuration de l’environnement - Installations nécessaires: JDK, IDE (VS Code).
• Premier pas avec Java
• Git et Github
Historique et evolution
• 1995 : Lancement par Sun (Stanford University Network) Microsystems.
• 2006 : Passage à l’open source (OpenJDK, code source est disponible
publiquement).
• 2010 : Oracle Corporation (un distributeur de DBMS, ex: Oracle) acquiert Sun
Microsystems.
• Version actuelle (2025) : Java 21, avec de nouvelles fonctionnalités comme les
threads légers et les interfaces enrichies.
Pourquoi Java
• Java est polyvalent et indépendant de la plateforme grâce à la machine virtuelle
Java (JVM), ce qui signifie qu’un programme écrit en Java peut être exécuté sur
n’importe quel système d’exploitation compatible avec une JVM (Windows,
macOS, Linux, etc.). On parle de l’approche ("Write Once, Run Anywhere")
• Java suit le paradigme de la programmation orientée objet (POO), ce qui facilite
l'écriture, la maintenance et l'évolution de programmes complexes.
• Les concepts comme l’héritage, le polymorphisme et l’encapsulation permettent
de structurer et réutiliser le code de manière efficace.
Pourquoi Java
• Utilisé dans une large gamme d’applications :
• Applications web et d’entreprise: Frameworks populaires comme Spring et
Hibernate.
• Applications mobiles (surtout Android).
• Jeux et logiciels embarqués.
• Java est un langage de programmation fortement typé contrairement aux autres
langage tel que Python, PHP ou Javascript qui sont faiblement typés.
Pourquoi Java
• Apprendre Java donne une base solide pour explorer d'autres langages. Si
l’Etudiant maitrise parfaitement les concepts de programmation en Java, il pourra
facilement s’adapter dans n’importe quel langage de son choix (fortement ou
faiblement typé).
Avantages pratiques
• Grande communauté et support en ligne abondant (forums, Stack Overflow).
• Utilisé par des grandes entreprises (Google: pour le développement
d'applications Android, les services sur Google Cloud Platform, et des
applications Big Data ; Amazon: utilisé dans les services cloud d’AWS, la gestion
des applications de commerce en ligne; Netflix: gestion de microservices, le
traitement des flux vidéo).
• Compétence recherchée sur le marché du travail.
• Adapté à des projets complexes et scalables (bancaire, IoT, big data).
Caracteristiques principales
• Portabilité : Exécution sur toutes les plateformes grâce à la JVM.
• Programmation Orientée Objet : Favorise la modularité et la réutilisabilité du
code.
• Sécurité : Conçu avec des fonctionnalités de sécurité intégrées (Verification
d’accès illégaux à la mémoire, dépassement de tampon, accès aux fichiers, des
API qui facilitent le chiffrement/dechiffrement, etc.). La JVM isole les
programmes Java du système hôte, réduisant les risques de corruption des
fichiers système ou de contamination par des programmes malveillants.
• Gestion automatique de la mémoire : Garbage collector qui gère
automatiquement la libération de la mémoire inutilisée.
• Multithreading : Support natif pour exécuter plusieurs tâches simultanément.
Ecosystème Java
• JVM (Java Virtual Machine) : Composant qui exécute le bytecode (un code
intermédiaire produit après la compilation du code source Java) en code
machine (qui est spécifique à l'architecture de la machine où le programme
s'execute).
• JRE (Java Runtime Environment) : Inclut la JVM et les bibliothèques de
base (Java Standard Library avec [Link], [Link]), exécuter les
applications Java.
• JDK (Java Development Kit) : Ensemble complet pour développer en Java
(Il inclut le compilateur javac: pour convertir le code source (.java) en
bytecode (.class) , JRE, outils).
• Bibliothèques riches : Des API puissantes pour répondre à divers besoins.
Configuration de l’environnement
Etapes preliminaires pour coder en Java
• Installer le JDK :
• Disponible sur le site officiel d’Oracle ou OpenJDK.
• Choisir un IDE :
• Exemples : IntelliJ IDEA, Eclipse, Netbeans VS Code (avec extension Java).
• Vérifier l’installation :
• Commande : java -version et javac -version dans le terminal.
Session pratique: Installations (JDK, VS Code+Java
extension), Hello word Java, Git et Github
Git et GitHub
• Git est un système de gestion des versions open source. Il suit intelligemment les
modifications apportées aux codes et conserve un historique des changements
éfectués.
• Git est responsable de tout ce qui est lié à Github et qui se passe localement sur
votre ordinateur.
• GitHub est une plateforme basée sur le cloud où vous pouvez stocker, partager
des dépôts git et collaborer sur des projets. Le code est stocké de façon que vous
pouvez suivre vos modifications au fil de temps (gestion des versions). C’est la
plus grande plateforme d’hébergement de code au monde
• Github est basé sur Git.
• De nombreux projets open-source sont disponibles sur GitHub.
Git et GitHub
Configuration de Git
Ouvrez le terminal et configurez votre nom et email, que Git utilisera pour
identifier les commits :
- git config --global [Link] "Votre Nom" : le nom sous lequel vous souhaitez que
vos commits soient enregistrés.
- git config --global [Link] [Link]@[Link] : doit être la même que
celle que vous utilisez sur votre compte GitHub si vous souhaitez que vos commits
soient liés à votre profil GitHub
Git et GitHub
Connecter GitHub à VSCode (Authentification Github dans VSCode)
Dans Source Control, cliquez sur Sign in to synchronize (Connectez-vous pour
synchroniser) ou sur l’icône de compte dans le coin inférieur gauche, puis choisissez
"Sign in with GitHub".
Suivez les instructions pour autoriser VSCode à accéder à votre compte GitHub.
Git et GitHub
Comment fonctionnent-ils ensemble ?
• Utilisez Git sur votre machine locale pour gérer les changements.
• Poussez vos modifications sur GitHub pour les partager avec les autres.
• Créer un compte sur Github ([Link]
• Créer un repertoire public.
Git et GitHub
Commandes de base Git
Git clone repository_url
git add . :Staging. Le staging area, ou "zone de préparation", est un concept central
dans Git. Içi on dit à git quells fichiers nous voulons committer. Un commit est un
record des changements faits sur un ou plusieurs fichiers.
git commit -m "Initial commit”: Enregistre les modifications dans le repertoire ou
dépôt.
git push origin main : pousse les changements vers GitHub sur le repertoire distant.
Premier programme
Premiers pas :
• Créer un fichier .java et le compiler avec javac.
• Exécuter avec la commande java.
Premier programme
Syntaxe de base :
public class HelloWorld {
public static void main(String[] args) {
[Link]("Hello, World!"); //ceci est un commentaire
}
}
• public class : Déclare une classe publique nommée HelloWorld.
• public static void main : Point d’entrée de l’application.
• [Link] : Affiche du texte dans la console.
Premier programme
• Les commentaires ne sont pas exécutés par le compilateur ou la JVM, ils servent
uniquement à documenter le code pour les développeurs.
Types de commentaires en Java
• Commentaire sur une seule ligne: Préfixé par //
• Commentaire sur plusieurs lignes (bloc de commentaires): Enveloppé entre /* et
*/.
Git et GitHub
Autres Commandes Git
- git reset HEAD [filename]: unstaging ou retirer des fichiers de la zone de
préparation (staging area). HEAD ici indique que vous voulez défaire les
changements jusqu'à l'état du dernier commit, sans toucher aux modifications
dans vos fichiers eux-mêmes. C'est utile si vous avez ajouté des fichiers au staging
par erreur et que vous souhaitez les retirer du staging avant de faire un commit.
- On peut aussi utiliser le Undo Last Commit de source control.
- git init : creer ou Initialiser un nouveau dépôt localement. La commande git init
est utilisée pour initialiser un nouveau dépôt Git dans un dossier existant qui
n'est pas encore sous contrôle de version, ou pour commencer un tout nouveau
projet local.
Git et GitHub
Autres Commandes Git
- git add <fichier> # Ajouter un fichier spécifique.
- git status: verifie l'état des fichiers (vérifier quels fichiers sont en staging)
- git pull: Récupérer des modifications du dépôt distant.
- git log: permet de voir l'historique des commits et leurs ID ou hash.
- git checkout <commit_hash>: permet de passer à un commit spécifique. Lorsque
vous faites un checkout à un commit, vous mettez votre répertoire de travail dans
l'état où il était à ce commit spécifique.
Git et GitHub
Autres Commandes Git
Git commit –amend: ajoute des changements au dernier commit sans
nécessairement créer un nouveau commit.
git remote add origin URL_DU_DEPOT: utilisé après git init pour ajouter un dépôt
distant.
git remote –v: verifie si l’URL a été ajouté correctement.
git branch <nom_de_la_branche>: Crée une nouvelle branche
git checkout <nom_de_la_branche>: Change de branche
Ressources
[Link]