Skip to content

Création du projet

Avant de plonger dans la programmation des fonctionnalités de notre application, il est essentiel de configurer correctement notre environnement de développement.

À vous de jouer

  • Ouvrez votre IDE et créez un nouveau projet que vous nommerez AgencyManagement.
  • Ajoutez votre projet sur Git.
  • Dans le dossier src, créez un nouveau package nommé io.takima.agencymanagement

Info

Un package est un dossier dont le but est de regrouper les classes qui fonctionnent ensemble.

  1. Il porte un nom unique.
  2. Il doit être nommé en minuscule, avec un nom alphanumérique (a..z, 0..9, _). Le nom ne doit pas commencer par un nombre.
  3. Le début du package doit identifier votre projet / organisation. A cet effet, on utilise par convention un nom de domaine inversé comme nom de package.

En Java, chaque classe doit appartenir à un package.

À vous de jouer

  • Déplacez la classe Main générée dans le package précédemment créé.
  • Modifiez votre programme pour que ça affiche Agency App et exécutez-le depuis votre IDE.
Tip
public class Main {
    public static void main(String[] args) {
        System.out.println("Agency App");
    }
}
Agency App

Vous pouvez également compiler et exécuter votre code en ligne de commande : voir cheatsheet

Architecture utilisée

Nous utiliserons une architecture 3-tiers pour notre projet. C'est une des architectures les plus utilisées pour faire du backend en Java :

  • La couche persistance est la couche qui gère l'interaction avec la base de données. Cette couche est mise en œuvre à l'aide de DAO (Data Access Objects). Les DAO sont des composants responsables de la gestion des opérations d'accès aux données, agissant comme une interface entre le reste de l'application et la base de données sous-jacente.
  • La couche service est la couche qui applique les règles métiers de notre application. Elle utilise les DAO de la couche persistence et transmet les informations à la couche présentation.
  • La couche présentation permet d'exposer des informations à l'extérieur (par exemple au frontend). Elle fait intervenir des controllers qui échangeront les données (par exemple via le protocole HTTP) avec un autre service (par exemple un frontend).

Diagramme d'architecture

La partie Model permet de représenter les objets en base de données en objet Java. Ce n'est pas une couche en tant que telle mais elle est essentielle pour que les couches persistance et service manipulent les données.

La partie DTO permet de contrôler les échanges avec l'extérieur. Elle correspond à une représentation de notre modèle et permet de l'exposer.

Pour notre première session, nous nous limiterons aux couches model, service ainsi que la partie response DTO. La gestion de la couche persistance sera réservée au Jour 2, tandis que la couche de présentation sera explorée au cours du Jour 3.

Voici un apercu des parties que nous traiterons au cours du Jour 1 (les parties grisées ne seront pas traitées).

Diagramme d'architecture

Récapitulatif

Vous disposez désormais d'un environnement de développement fonctionnel pour Java et avez découvert la structure envisagée pour notre projet. Nous pouvons maintenant passer à notre première étape, qui consiste à définir nos classes.

À la fin de cette partie, vous devriez avoir cette arborescence.

Check

└── src
    └── io
        └── takima
            └── agencymanagment
                └── Main.java