JHipster: première partie

jhipster

Cet article est le premier d'une série de trois sur le générateur JHipster.

JHipster est outil de génération d'architecture de projet permettant aux développeurs de ne plus passer trop de temps sur sa mise en place.

Lors du lancement du générateur yeoman "jhipster",  une série de choix sera proposé au developpeur, lui permettant de sélectionner les outils dont son application aura besoin. L’architecture se montant très rapidement, le développeur pourra dès lors se concentrer sur le métier de son application lui faisant gagner un temps précieux dans ses projets

 

Options du générateur

Les options proposées le sont aussi bien côté serveur que côté client et dont voici les principales :

Côté serveur la mise en place de Spring est gérée par spring boot, le développeur pourra également choisir entre maven ou gradle pour la partie build de son application. Pour la partie back, la mise en place et la configuration d'un certain nombre de framework est proposée. En voici les principaux:

  • Netflix OSS offrant des outils pour les microservices tels que :
    • Eureka pour l’indexation de service
    • Zuul pour le monitoring et la securité
    • Ribbon pour le load balancing
  • Luiquibase :
    • Facilite les mises à jour de référentiels de données.
    • S’intègre très bien avec Spring et JPA
  • Hibernate, Spring data et JPA
  • Coté NoSQL: MongoDb, Cassandra
  • Cache: EHcache, ou HazelCast
  • Moteur de recherche avec ElsticSearch
  • Fonctionnalité de déploiements sur les principales plateformes de cloud
  • Interface de monitoring des applications nativement intégrées
  • Création automatique des docker files

D'un point vu front les technologies suivantes sont utilisées:

  • AngularJs
  • Gulp ou Grunt en tant que task manager
  • Bower pour le management de packet
  • Karma pour les tests unitaires

 

Génération d'un premier projet

Jhipster propose la génération de trois types de projets:

  • L'application dite monolithic
  • Le microservice
  • La passerelle de microservice

Dans ce premier article nous ne verrons que la génération d'une application du premier type.

yo jhipster

Un certain nombre de questions sera alors posé au développeur :

Welcome to the JHipster Generator v3.6.1
Documentation for creating an application: https://jhipster.github.io/creating-an-app/
Application files will be generated in folder: D:\Projets\JHipster\monolithic\monolithic

? (1/16) Which *type* of application would you like to create? Monolithic application (recommended for simple projects)
? (2/16) What is the base name of your application? monolithic
? (3/16) What is your default Java package name? fr.netapsys
? (4/16) Which *type* of authentication would you like to use? HTTP Session Authentication (stateful, default Spring Security mechanism)
? (5/16) Do you want to use social login (Google, Facebook, Twitter)? Warning, this doesn't work with Cassandra! No
? (6/16) Which *type* of database would you like to use? SQL (H2, MySQL, MariaDB, PostgreSQL, Oracle)
? (7/16) Which *production* database would you like to use? MySQL
? (8/16) Which *development* database would you like to use? H2 with disk-based persistence
? (9/16) Do you want to use Hibernate 2nd level cache? Yes, with ehcache (local cache, for a single node)
? (10/16) Do you want to use a search engine in your application? No
? (11/16) Do you want to use clustered HTTP sessions? No
? (12/16) Do you want to use WebSockets? No
? (13/16) Would you like to use Maven or Gradle for building the backend? Maven
? (14/16) Would you like to use the LibSass stylesheet preprocessor for your CSS? No
? (15/16) Would you like to enable internationalization support? Yes

A chacunes de ces questions un choix est offert concernant l'intégration ou non d'un framework dans l'application à générer. Une fois les réponses apportées a l'ensemble de ces éléments l’application est générée et est immédiatement exécutable.

Le développeur n'a plus qu'à développer ses fonctionnalités et designer son application!

jhipster accueil

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.