Le dépôt eugenp/tutorials : des tutoriels Java et Spring organisés par profils Maven
Premiers pas avec Spring Boot 3 :. Ségrégation basée sur les profils ==================== Nous utilisons les profils de construction Maven pour séparer la vaste liste de projets individuels dans notre référentiel.
En bref
- De quoi s’agit-il ?
- Une grande collection de petits tutoriels Java et Spring, avec des profils Maven pour séparer modules et tests.
- À qui s’adresse-t-il ?
- Le README se termine sur des commandes Maven au niveau des modules ; la licence MIT autorise la réutilisation sans garantie.
- Puis-je l’utiliser commercialement ?
- Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
- Est-il encore maintenu ?
- Oui. Le dépôt a reçu de nouveaux commits au cours des dernières 24 heures.
- En quel langage est-il écrit ?
- Principalement Java, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
Clonage et contournement du postBuffer git
Le README commence par une remarque pratique pour quiconque clone le dépôt. Si git signale une erreur pendant le clonage, la correction suggérée est d'augmenter le tampon HTTP post avec `git config --global http.postBuffer 5000000`, ce qui fait passer le tampon de 1 Mio par défaut à 5 Mio. Pour rétablir la valeur par défaut, exécutez la même commande avec `1000000`. Le README ne décrit pas l'erreur sous-jacente ni le moment où elle se produit.
De petits tutoriels à travers l'écosystème Java
Le projet se présente comme une collection de tutoriels petits et ciblés, chacun couvrant un domaine de développement bien défini dans l'écosystème Java. L'accent est fortement mis sur le framework Spring, notamment Spring, Spring Boot et Spring Security. Les modules couvrent aussi plusieurs autres aspects de Java. Les métadonnées du dépôt indiquent 37335 étoiles et 53343 forks sur GitHub, avec 24 problèmes ouverts. Le README ne liste pas les modules individuels et ne mentionne pas de sujets précis en dehors de l'accent Spring.
Des profils Maven qui répartissent les modules par JDK et type de test
Pour gérer le grand nombre de modules, le dépôt s'appuie sur des profils de build Maven. Le README définit 17 profils. Les projets sont regroupés en listes selon la version du JDK : default (JDK 21), default-jdk17, default-jdk22, default-jdk23, default-jdk24, default-jdk25, default-jdk8 et default-heavy. Chaque liste a un équivalent avec les tests d'intégration activés, plus un profil parents pour ne construire que les modules parents. Le profil utilisé décide si les tests unitaires ou les tests d'intégration s'exécutent ; la liste heavy est réservée aux projets de longue durée.
Construire tout le dépôt depuis la racine
Tout construire d'un coup est possible, mais le README indique que ce n'est pas souvent nécessaire car le travail porte généralement sur un module précis. Si vous voulez quand même un build complet avec uniquement les tests unitaires, exécutez `mvn clean install -Pdefault,default-heavy` depuis la racine. Pour les tests d'intégration, la commande documentée est `mvn clean install -Pintegration,integration-heavy`. Pour les projets JDK 8, utilisez `mvn clean install -Pdefault-jdk8` ou `mvn clean install -Pintegration-jdk8`.
Construire un module, un parent ou une sélection depuis la racine
Pour construire un module unique, exécutez `mvn clean install` dans le répertoire de ce module. Si le module dépend d'un module parent tel que `parent-boot-1` ou `parent-spring-5`, le parent doit d'abord être construit. Le profil `parents` existe pour cela : `mvn clean install -Pparents` ne construit que les modules parents. Depuis la racine du dépôt, vous pouvez construire des modules choisis avec `mvn clean install --pl akka-modules,algorithms-modules -Pdefault`, où les noms de modules et le profil doivent correspondre.
Exécuter les modules Spring Boot et lancer les tests
Un module Spring Boot peut être démarré avec `mvn spring-boot:run` depuis son répertoire. Exécuter `mvn clean install` dans un module lance ses tests unitaires ; pour les modules Spring, cela lance aussi `SpringContextTest` s'il est présent. Pour les tests d'intégration, il faut choisir le profil d'intégration approprié : `-Pintegration`, `-Pintegration-heavy` ou `-Pintegration-jdk8`, selon la liste à laquelle appartient le module.
Import dans l'IDE et licence MIT
Le README conseille, lorsqu'on travaille sur un module individuel, de ne pas importer ni construire tous les modules ; on peut importer uniquement ce module dans Eclipse ou IntelliJ. Le dépôt est sous licence MIT, copyright 2017 Eugen Paraschiv. La licence autorise l'utilisation, la copie, la modification, la fusion, la publication, la distribution, la sous-licence et la vente de copies, et donne les mêmes droits aux destinataires. Elle précise aussi que le logiciel est fourni sans garantie. Le texte de la licence ne mentionne ni support, ni garantie de sécurité, ni engagement de maintenance.
Ce que le dépôt permet de vérifier pour tutorials
Le dépôt est mieux compris comme un catalogue de modules indépendants que comme une application monolithique. Les profils Maven séparent les projets JDK21, JDK17 et les lignes JDK22 à JDK26, avec des profils parallèles pour les tests d'intégration. Depuis la racine, `mvn clean install --pl akka-modules,algorithms-modules -Pdefault` limite le travail aux modules choisis; dans un module Spring Boot, `mvn spring-boot:run` lance l'exemple concerné. Cette granularité réduit le coût de lecture, mais impose de savoir à quel parent appartient le module avant de compiler.
Conclusion éditoriale
Le README se termine sur des commandes Maven au niveau des modules ; la licence MIT autorise la réutilisation sans garantie.
Notes de la communauté