Introduction – Découvrez JHipster !
Présentation générale
Philosophie et concepts clés
Architecture d’une application JHipster
Outils à disposition
Bonnes pratiques
Vue d’ensemble des technologies utilisées
Côté client : Responsive Web Design, HTML5 Boilerplate, Twitter Botstrap, AngularJS…
Yeoman, Bower, Gulp.js, Karma et PhantomJS
Thymeleaf
Côté serveur : Spring Boot, Maven, Gradle, Spring MVC REST, Elasticsearch, MongoDB, Cassandra…
Mise en production : Metrics, ehcache, hazelcast, Logback…
Mise en place de l’environnement
Installations : locale, Vagrant, Docker
Options de configuration de l’IDE
Docker Compose
Fichiers générés
Démarrer un projet JHipster
Structure
Structure du projet Java
Fichiers de configuration
Structure du code AngularJS
Utilisation du sous-générateur « entity »
Générer un CRUD simple
Validation, différentes options
Types de relations d’entités, pour les bases de données SQL
Data Transfer Objects (DTOs)
Pagination
Workflows de développement
Installer une librairie avec Bower
Utiliser BowerSync pour développer le front-end
Mettre à jour la base de données avec Liquidbase
Utiliser les profils Spring et Maven
Internalisation
Utiliser le sous-générateur « languages »
i18n, Angular Translate
Supprimer un langage existant
Accès aux données
Utiliser Spring Data JPA
Utiliser MongoDB
Utiliser Cassandra
Le cache
Développement Web avancé
Utiliser les Websockets
Templates Thymeleaf
Sécurité
Options disponibles : stateful, stateless…
Remember-me
CSRF
Utiliser l’entité « User » dans une relation many-to-one
Tests
Tests d’intégration avec Spring
Tests d’interface avec Karma
Tests de performance avec Gatling
Tests BDD avec Cucumber
Tests d’intégration AngularJS avec Protractor
Déploiement en production
Profil « prod », performance et scalabilité
Générer un fichier WAR
Surveillance d’applications JHipster
Déployer un serveur d’applications
Déployer sur Cloud Foundry