DY

03 Maven

Apache Maven est un outil pour la gestion et l’automatisation de production des projets logiciels Java en général et Java EE en particulier.

Dans ce TP nous allons découvrir sa mise en oeuvre et son utilisation.

Création du projet

Créer un nouveau projet java avec maven via netbeans. Remarquer la différence de structure.

POM.xml

POM pour Project Object Model, chaque projet est configuré via un fichier pom.xml qui contient les informations nécessaires à Maven pour traiter le projet :

Vous devriez avoir quelque chose de semblable à cet extrait:

<?xml version="1.0" encoding="UTF-8"?>
<project ..>
    ..
    <dependencies>
    </dependencies>
    <build>
    </build>
</project>
Création du main

Une java application with maven ne fournit pas de main par défaut, assurez vous de le créer et que votre application fonctionne avant de passer à la suite.

Ajout d'une dépendance

Nous allons tenter de développer une (mini/nano) première application (un peu) utile en java.

Notre programme appellera une API qui va récupérer le résultat de la requête en JSON (JavaScript Object Notation) pour l’afficher dans notre console.

Les API sur Internet

Les API sont un moyen d’accéder aux données d’un site sans avoir l’autorisation d’accéder directement à la base de données. Il y a beaucoup de portails sécurisés permettant à vos applications web de manipuler les données renvoyées par ces sites.

L’exemple parfait est Twitter. Elle permet de lire la timeline d’une personne en particulier, de rechercher des statuts à partir d’un mot clé, de modifier les paramètres de votre compte, etc.

Pourquoi choisir JSON ?

Vous pouvez utiliser les API avec de nombreux langages et retourner les données de plusieurs façons. L’une d’elles est le JSON (JavaScript Object Notation). C’est un format de données léger, facile à lire et à écrire et compatible avec pas mal de langages de développement.

Sa structure est composée d’objets et de tableaux. Sa flexibilité fait de JSON le parfait candidat pour retourner des données.

Utilisation de unirest

D'abord il convient d'installer unirest.

Puis dans notre main nous pouvons appeller l'api suivante https://allosaurus.delahayeyourself.info/api/books:

GetRequest getResponse = Unirest.get("https://allosaurus.delahayeyourself.info/api/books/");

JsonNode body = getResponse.asJson().getBody();
System.out.println(body());
System.out.println(getResponse.asJson().getStatus());

Un exemple de parcours:

JSONArray books = body.getArray();

for(int i = 0; i < books.length(); i++)
{
    JSONObject book = books.getJSONObject(i);
    System.out.println(book.getString("title"));
    System.out.println(book.getInt("year"));
}

Une api de dinosaures

En utilisant l'api suivante https://allosaurus.delahayeyourself.info/api/dinosaurs:

Unit UML class diagram
Diagramme UML de classe pour Unit