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.

Document source
Software Development: Maven, Log4J, JUnit · PDF · 5 pages · 2020
Afficher l'aperçu du document
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 :
- Ajouter les dépendances (le fichier
.jarde log4j) dans le fichierpom.xml. - Ajouter le fichier de configuration (ex:
log4j.xmloulog4j.properties) dans le répertoiresrc/main/resources. - 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 :
- Logger : Capture l'événement de log dans le code source ("Écriture du log dans la mémoire" selon les termes du document).
- Appender : Définit la destination du log (console, fichier, base de données).
- 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
%dpour 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 :
- Ajouter la dépendance dans
pom.xml. - Placer le fichier de configuration dans
src/main/resources. - 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 :
- compile : compilation du code source.
- test : lancement des tests unitaires.
- package : assemblage du code compilé en un livrable (jar/war).
- install : partage le livrable sur le repository local.
- 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 :
- Clic droit sur le projet -> Run as -> Maven test (exécute tous les tests via le cycle de vie Maven).
- 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
packagesous-jacente). - Lancer les tests (exécuté par la phase
testsous-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).
- Architecture des chemins Maven : Retenez la règle absolue de traduction des balises
<dependency>. Un blocpom.xmlse 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. - 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 commandeinstallexécute aussi les tests et crée le livrable. - 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.
- 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 dossiersrc/test/javadistinct du code de productionsrc/main/java.
Commentaires
Aucun commentaire pour le moment. Posez la première question.