Module Spring – 3CINFOGL1

Questionnaire 1 Question 1 - Dépôts Maven et commandes de base Le texte source est légèrement fragmenté à cet endroit, mélangeant des actions Eclipse et des questions. La question explicite est : "Quels sont les trois types de dépôts Maven (Repository) ?" Les trois types de dépôts Maven sont : Central, local et remote (distant).

D'après le document Module Spring – 3CINFOGL1

Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Module Spring – 3CINFOGL1

Document source

Module Spring – 3CINFOGL1

Software Development: Maven, Log4J, JUnit · PDF · 5 pages · 2020

Afficher l'aperçu du document

Consulter le document original →

Questionnaire 1

Question 1 - Dépôts Maven et commandes de base

Le texte source est légèrement fragmenté à cet endroit, mélangeant des actions Eclipse et des questions. La question explicite est : "Quels sont les trois types de dépôts Maven (Repository) ?" Les trois types de dépôts Maven sont : Central, local et remote (distant).

Le texte inclut également un fragment : "Click droit sur le projet -> run as -> maven test", qui est la commande pour lancer les tests sous l'IDE Eclipse. Enfin, la question sur la commande pour installer le fichier JAR commence ici par le mot "Bouton" et se poursuit à la question 2.

Question 2 - Commande d'installation locale sous Eclipse

Suite de la phrase précédente : "Droit sur le projet -> Run As -> … ?" La commande exacte sous Eclipse pour installer le livrable dans le dépôt local est : maven install.

Question 3 - Rôle de la commande Maven Package

La commande maven package sert à créer un livrable (comme un fichier .jar ou .war) contenant le code compilé, et le place par défaut dans le dossier target du projet.

Question 4 - But de l'objet Layout dans l'API Log4J

L'objet Layout est responsable de la mise en forme du log (le formatage visuel du message texte avant son écriture).

Question 5 - Implémentation de log4j dans un projet Java

Pour intégrer log4j, les trois actions nécessaires sont :

  1. Ajouter les dépendances (le fichier .jar de log4j) dans le fichier pom.xml.
  2. Ajouter le fichier de configuration (ex: log4j.xml ou log4j.properties) dans le répertoire src/main/resources.
  3. Implémenter (instancier et appeler) les méthodes du log (Logger) directement dans le code source Java.

Question 6 - Ordre de sévérité des logs

L'ordre correct, de la sévérité la plus faible (la plus bavarde) à la plus critique, est : TRACE -> DEBUG -> INFO -> WARN -> ERROR -> FATAL

Question 7 - Annotation de test JUnit 4

L'annotation permettant de déclarer qu'une méthode est une méthode de test est la réponse D. @Test.

Question 8 - Vérifications d'un test JUnit

Les vérifications (assertions) dans JUnit ne se font ni visuellement ni par la base de données de manière native, mais bien par le code. La bonne réponse est : G. sont effectués programmatiquement à l'aide d'un ensemble de méthodes de vérification (comme assertEquals, assertTrue, etc.).

Question 9 - Objectif du framework JUnit

JUnit est un framework dédié aux tests de code isolés. La bonne réponse est : B. des tests unitaires

Question 10 - Emplacement du dépôt Maven Local

Sous Windows, l'emplacement par défaut du dépôt local pour un utilisateur est : C:\Users<nom_utilisateur>.m2\repository. Le texte source donne l'exemple d'une session nommée "pc" : C:\Users\pc\.m2\repository.

Questionnaire 2

Question 1 - Chemin d'une dépendance dans le dépôt local

La règle de construction du chemin dans le dépôt Maven local (.m2/repository) est : groupId (où les points deviennent des dossiers) / artifactId / version. Pour groupId = org.apache.httpcomponents, artifactId = httpclient, version = 4.1.1 : Le chemin correct est la deuxième proposition : Dans org/apache/httpcomponents/httpclient/4.1.1

Question 2 - Rôle de la commande Maven Install

La phase install exécute toutes les phases précédentes et y ajoute son action spécifique : Faire une copie du livrable dans le dossier .m2 local (le dépôt local) afin qu'il soit accessible comme dépendance par d'autres projets sur la même machine.

Question 3 - Composants essentiels de Log4j

Les trois composants architecturaux de base de l'API Log4j sont :

  1. Logger : Capture l'événement de log dans le code source ("Écriture du log dans la mémoire" selon les termes du document).
  2. Appender : Définit la destination du log (console, fichier, base de données).
  3. Layout : Définit le formatage du message.

Question 4 - But de l'objet Appender

L'Appender est responsable de l'écriture du log dans la console ou dans un fichier (ou toute autre sortie configurée).

Question 5 - Paramètres de mise en forme Log4j

Les variables de formatage (PatternLayout) permettent de structurer le texte. Exemples du document :

  • %m : Affiche le message de log fourni par le développeur.
  • %L : Affiche le numéro de la ligne de code où la requête de log a été émise.
  • (Note : l'énoncé cite aussi %d pour la date).

Question 6 - Étapes pour implémenter log4j

Bien que la réponse soit vide dans cette section du document, la procédure est identique à la question 5 du questionnaire 1 :

  1. Ajouter la dépendance dans pom.xml.
  2. Placer le fichier de configuration dans src/main/resources.
  3. Instancier le Logger et l'utiliser dans la classe Java existante.

Question 7 - Abréviation STS

STS signifie Spring Tool Suite (un environnement de développement basé sur Eclipse optimisé pour Spring).

Question 8 - Nom de la classe de test (Convention)

Par convention dans l'écosystème Java/Maven, le nom de la classe de test prend le nom de la classe métier suffixé par "Test". Pour EmployeeService, le nom est EmployeeServiceTest. (Note : dans le document brut, cette réponse glisse sous le numéro 1 de la page suivante).

Question 9 - Cycle de vie Maven (Ordre chronologique)

Le cycle de vie de build par défaut (default lifecycle) s'exécute dans cet ordre chronologique :

  1. compile : compilation du code source.
  2. test : lancement des tests unitaires.
  3. package : assemblage du code compilé en un livrable (jar/war).
  4. install : partage le livrable sur le repository local.
  5. deploy : publie le livrable pour d'autres projets dans un repository distant.

Question 10 - Mise à jour du projet sous Eclipse

En cas d'erreurs liées à Maven dans l'IDE Eclipse ou STS, la commande est un clic droit sur le projet, puis : Maven -> update project

Questionnaire 3

Question 1 - Commande de création de livrable

La commande pour packager un projet en un livrable (jar, war) est Maven package (ou mvn package en ligne de commande).

Question 2 - Chemin de la dépendance org.json

Pour le groupId = org.json, artifactId = json et version = 20160810 : Le groupId devient le dossier org/json. On y ajoute l'artefact json, puis la version 20160810. Le chemin correct est la première proposition : Dans org/json/json/20160810

Question 3 - Types de dépôts Maven

Les trois types de dépôts sont le dépôt Central (géré par la communauté Maven), le dépôt local (sur la machine du développeur) et le dépôt remote (serveur d'entreprise distant, type Nexus ou Artifactory).

Question 4 - Rôle de la commande Maven Clean

La phase clean n'appartient pas au cycle de vie par défaut mais au cycle clean. Son action est de nettoyer le projet, ce qui efface le contenu du dossier target (supprimant ainsi les compilations et livrables précédents).

Question 5 - Composants de Log4j

Les trois composants sont le Logger, l'Appender, et le Layout.

Question 6 - Ordre de sévérité Log4j

Toujours en sévérité croissante : TRACE, DEBUG, INFO, WARN, ERROR, FATAL

Question 7 - Façons de lancer un test unitaire

Le document cite deux méthodes graphiques via Eclipse/STS :

  1. Clic droit sur le projet -> Run as -> Maven test (exécute tous les tests via le cycle de vie Maven).
  2. Clic droit dans le fichier du test spécifique -> Run as -> JUnit test (exécute uniquement cette classe via le runner de l'IDE).

Question 8 - But d'un test de non régression

Un test de non-régression s'assure que les fonctionnalités qui marchaient hier marchent encore aujourd'hui. La bonne réponse est : C. vise à s'assurer qu'une modification de code n'a pas introduit de nouveaux défauts

Question 9 - Appellations de la plateforme Java Enterprise

Historiquement, la plateforme s'est appelée J2EE, puis JavaEE, puis JEE (et aujourd'hui Jakarta EE). La proposition qui n'a jamais été un nom officiel est : D. JEE2

Question 10 - Chemin de la dépendance guava

Pour le groupId = com.google.guava, artifactId = guava et version = 15.0. Le chemin déduit est le remplacement des points par des barres obliques, suivi de l'artefact, puis de la version. Le chemin correct est la première proposition : Dans le dossier com/google/guava/guava/15.0

Questionnaire 4

Question 1 - Types de Repository Maven

Il s'agit des dépôts Central, local et remote (distant).

Question 2 - Actions de la phase Maven Install

Il s'agit d'une question à choix multiples stipulant "(plusieurs réponses)". Dans Maven, appeler une phase exécute séquentiellement toutes les phases qui la précèdent dans son cycle de vie. Appeler install va compiler, tester, packager, puis installer. Les propositions correctes sont donc :

  • Crée un livrable (exécuté par la phase package sous-jacente).
  • Lancer les tests (exécuté par la phase test sous-jacente). (Note : "Lance un clean" est faux car clean est un cycle de vie séparé. "Met à jour la configuration du projet" est une action propre à l'IDE, pas à Maven).

Question 3 - Chemin de la dépendance spring-context

Pour le groupId = org.springframework, artifactId = spring-context et version = 5.0.2.RELEASE. Le chemin transformé devient org/springframework puis on ajoute l'artefact et la version. Le chemin correct est la troisième proposition : Dans org/springframework/spring-context/5.0.2.RELEASE

Question 4 - But de l'objet Logger Log4J

L'objet Logger capte le message envoyé par le développeur dans le code source. Selon les termes du document source, son but est l'écriture du log dans la mémoire (avant de le passer aux Appenders).

Question 5 - Ordre de sévérité Log4j

En sévérité croissante : TRACE, DEBUG, INFO, WARN, ERROR, FATAL

Question 6 - Exemples d'appenders

Les deux types de sortie les plus courants définis par les Appenders sont Fichier (FileAppender) et console (ConsoleAppender).

Question 7 - Annotation de méthode de test

Pour JUnit, la méthode doit être précédée de l'annotation @Test.

Question 8 - Méthode de développement TDD

TDD signifie Test Driven Development (développement piloté par les tests). La bonne réponse est : A. consiste à écrire le code de test avant l'implémentation du composant à tester

Question 9 - Connaître la version Maven sur STS

Pour vérifier l'installation de Maven intégrée à Spring Tool Suite (STS) ou Eclipse, le chemin dans les menus est : Window -> preferences -> maven -> installations

Question 10 - Convention de classe de test et répertoire

Si la classe principale s'appelle Toto, la classe de test unitaire correspondante doit s'appeler TotoTest. Dans l'arborescence standard Maven, le code de production va dans src/main/java et le code de test doit être créé dans src/test/java.

Méthode

Pour aborder ce type d'évaluation (QCM sur l'outillage Java), l'effort de mémorisation doit se concentrer sur les standards et conventions, car les outils comme Maven ou JUnit fonctionnent selon le principe de "convention plutôt que configuration" (Convention over Configuration).

  1. Architecture des chemins Maven : Retenez la règle absolue de traduction des balises <dependency>. Un bloc pom.xml se traduit toujours par une arborescence dans le répertoire .m2/repository : [groupId avec les points remplacés par des barres obliques] / [artifactId] / [version] / [fichier jar]. Savoir appliquer cette règle garantit la réussite à toutes les questions de ce type.
  2. Cycle de vie Maven : Il est impératif d'apprendre par cœur l'ordre du "Default Lifecycle" : validate -> compile -> test -> package -> verify -> install -> deploy. Comprenez qu'invoquer une phase déclenche obligatoirement toutes celles qui la précèdent. C'est pourquoi la commande install exécute aussi les tests et crée le livrable.
  3. Log4j : Mémorisez la trinité des composants (Logger, Appender, Layout) et leurs rôles respectifs (Capturer, Diriger, Formater). Retenez l'ordre des niveaux de criticité de gauche à droite (TRACE à FATAL) car ils définissent le seuil de déclenchement des écritures.
  4. JUnit : Concentrez-vous sur le rôle des annotations (@Test) et comprenez que JUnit exécute du code de validation (assertions) pour prouver qu'une méthode métier donne le résultat attendu, justifiant son placement strict dans le dossier src/test/java distinct du code de production src/main/java.

Partager

Commentaires

Aucun commentaire pour le moment. Posez la première question.

Les commentaires sont relus avant publication. Votre e-mail n'est jamais affiché.

← Toutes les révisions