Configuration de l'environnement Java, initiation à Git et révision des fondamentaux du langage

Préparation de l'environnement de développement

La première séance a été consacrée à l'installation des outils nécessaires au cycle de développement Java : le JDK (Kit de développement Java), l'EDI IntelliJ IDEA, l'éditeur Markdown Typora et le système de contrôle de version Git. Le JDK fournit la machine virtuelle, le compilateur et les bibliothèques standard indispensables à IntelliJ. Typora sert à rédiger de la documentation structurée. Git permet de versionner le code et de collaborer via des plateformes comme Gitee.

Prise en main de Typora et syntaxe Markdown

Typora est un éditeur WYSIWYG pour Markdown. Pour l'utiliser efficacement :

  • Nouveau document : Fichier → Nouveau, puis Fichier → Enregistrer.
  • Titres : Préfixer une ligne par # répété de 1 à 6 fois selon le niveau.
  • Styles de texte : **texte** ou __texte__ pour le gras ; *texte* ou _texte_ pour l'italique.
  • Listes : -, * ou + pour une liste non ordonnée ; chiffre suivi d'un point pour une liste ordonnée.
  • Citation : > suivi d'un espace.
  • Bloc de code : entourer le code de trois backticks, avec le nom du langage pour la coloration syntaxique.
  • Lien et image : [libellé](url) pour un lien ; ![description](chemin) pour une image.

Dans les préférences, il est utile d'activer la copie automatique des images dans un dossier local afin de centraliser les ressources du document. Les raccourcis courants sont Ctrl+B (gras), Ctrl+I (italique), Ctrl+K (lien) et Ctrl+Shift+I (image). L'export au format HTML, PDF ou Word se fait via Fichier → Exporter.

Fondamentaux de Git

Git repose sur trois zones : le répertoire de travail (working directory), la zone d'index (staging area) et le dépôt local (repository). Le dépôt distant (remote) permet la collaboration.

Commandes essentielles

# Effacer l'écran dans l'invite Windows
cls

# Se déplacer vers le bureau
cd Desktop/

# Cloner un dépôt existant
git clone https://adresse-du-depot.git

# Initialiser un nouveau dépôt Git
git init

# Ajouter tous les changements à l'index
git add .

# Valider les changements dans le dépôt local
git commit -m "message de validation"

# Vérifier l'état du dépôt
git status

Une configuration initiale correcte évite les erreurs d'identité :

git config --global user.name "VotreNom"
git config --global user.email "votre@email.com"

Workflow type pour publier un projet sur Gitee :

mkdir boutique_articles
cd boutique_articles
git init
echo "# boutique_articles" > README.md
git add README.md
git commit -m "première validation"
git remote add origin https://gitee.com/utilisateur/boutique_articles.git
git push -u origin main

L'option -u associe la branche locale main à la branche distante. Les envois ultérieurs se limitent alors à git push.

Commandes de base du terminal Windows

Le terminal Windows (cmd) partage certaines commandes avec les shells Unix. Les principales sont :

# Ouvrir le terminal
Win + R, taper cmd, valider

# Lister le contenu d'un dossier
dir

# Changer de répertoire
cd Desktop
cd /           # racine du disque actuel
cd /d E:       # changer de disque
cd ..          # répertoire parent

# Créer un dossier
mkdir repertoire
md repertoire

# Créer un fichier vide
type nul > fichier.txt

# Copier, déplacer, renommer, supprimer
copy source.txt destination.txt
move fichier.txt repertoire/
ren ancien.txt nouveau.txt
del fichier.txt

# Outils divers
cls            # effacer l'écran
notepad        # lancer le Bloc-notes
ipconfig       # afficher la configuration réseau
ping site.com  # tester la connectivité
shutdown -s -t 0 # arrêter immédiatement l'ordinateur

Révision des bases de Java

Types de données

Java distingue les types primitfis, stockés dans la pile (stack), et les types référence, alloués dans le tas (heap).

  • Types primitifs : byte, short, int, long, float, double, char, boolean.
  • Types référence : tableaux, objets instanciés avec new, classes personnalisées, fonctions/lambdas.

Encapsulation et classse POJO

package com.exemple.cours;

public class Creature {

    private String nom;
    private String genre;

    public Creature() {
    }

    public Creature(String nom, String genre) {
        this.nom = nom;
        this.genre = genre;
    }

    public String getNom() {
        return nom;
    }

    public void setNom(String nom) {
        this.nom = nom;
    }

    public String getGenre() {
        return genre;
    }

    public void setGenre(String genre) {
        this.genre = genre;
    }
}

Dans IntelliJ, les accesseurs, mutateurs et constructeurs peuvent être générés automatiquement avec Alt+Insert (parfois Fn+Alt+Insert). Les raccourcis psvm et sout génèrent respectivement la méthode main et un affichage console.

Manipulation des tableaux

package com.exemple.cours;

import java.util.Scanner;

public class TableauExemple {

    public static void main(String[] args) {
        int[] valeurs = new int[5];
        Scanner lecture = new Scanner(System.in);

        for (int i = 0; i < valeurs.length; i++) {
            System.out.println("Saisissez l'élément n°" + (i + 1));
            valeurs[i] = lecture.nextInt();
        }

        System.out.println("Contenu du tableau :");
        for (int valeur : valeurs) {
            System.out.print(valeur + " ");
        }
        System.out.println();

        int total = 0;
        for (int valeur : valeurs) {
            total += valeur;
        }

        System.out.println("Somme totale : " + total);
    }
}

Déclaration et appel de méthodes

public class FonctionDemo {

    public void afficherMessage() {
        System.out.println("Méthode sans retour");
    }

    public void afficherCoordonnees(int abscisse, int ordonnee) {
        System.out.println("X = " + abscisse + ", Y = " + ordonnee);
    }

    public String recupererTexte() {
        return "Bonjour le monde";
    }

    public int additionner(int a, int b) {
        return a + b;
    }

    public static void methodeStatique() {
        System.out.println("Appel d'une méthode statique");
    }

    public static void main(String[] args) {
        FonctionDemo demo = new FonctionDemo();

        demo.afficherMessage();
        demo.afficherCoordonnees(10, 20);

        String texte = demo.recupererTexte();
        System.out.println(texte);

        int resultat = demo.additionner(100, 200);
        System.out.println(resultat);

        methodeStatique();
    }
}

Surcharge (overload)

La surcharge autorise plusieurs méthodes portant le même nom, à condition que leur signature diffère.

public class SurchargeDemo {

    public void afficherInfos() {
        System.out.println("Affichage des informations");
    }

    public void afficherInfos(String prenom) {
        System.out.println("Prénom : " + prenom);
    }

    public void afficherInfos(String prenom, int age) {
        System.out.println("Prénom : " + prenom + ", Âge : " + age);
    }

    public static void main(String[] args) {
        SurchargeDemo demo = new SurchargeDemo();
        demo.afficherInfos();
        demo.afficherInfos("Marie");
        demo.afficherInfos("Marie", 21);
    }
}

Réécriture (override)

Une sous-classe peut redéfinir une méthode héritée pour adapter son comportement. L'annotation @Override garantit qu'il s'agit bien d'une méthode existante dans la classe parente.

class Humain {

    public void loisir() {
        System.out.println("Aime lire des livres");
    }
}

public class Eleve extends Humain {

    @Override
    public void loisir() {
        super.loisir();
        System.out.println("et aime aussi programmer en Java");
    }

    public static void main(String[] args) {
        Eleve eleve = new Eleve();
        eleve.loisir();
    }
}

Étiquettes: Java JDK IntelliJ IDEA Git gitee

Publié le 6 août à 08h08