Contributions open-source au projet JHipster

Encadrant : Didier Donsez, Anthony Geourjon.

Ce projet propose de développer plusieurs contributions au projet open-source JHipster

=Liste priorisée=
 * Ajout d'utilitaires bases de données (docker-compose pour les backups periodiques, interface d'admin type phpmyadmin)
 * Exemple: https://github.com/CampusIoT/loraserver-docker/blob/master/pgadmin.yml, https://github.com/CampusIoT/loraserver-docker/blob/master/pgbackup.yml
 * Ajout d'un composant de paiement Stripe (frontend Angular, React, VueJS) et d'un client feign vers stripe.com dans le backend Spring (lien)
 * Optimisation des transferts d'images de type ImageBlob (caching client, etag, vignette)
 * Intégration du protocole pub-sub MQTT. Ajout du docker-compose file pour Mosquitto ou RabbitMQ
 * Exemple: https://github.com/CampusIoT/campusiot-app/blob/47c9e860c6e807372f4a3914d9eb5d0340ee28b9/src/main/java/fr/imag/campusiot/app/service/impl/MqttSinkImpl.java
 * Intégration du protocole pub-sub AMQP.
 * Gestion de quota sur les créations d'entité par rapport aux utilisateurs ou à leur profil ou à leur plan.
 * Page Home avec dashboard donnant les métriques sur les instances créées pour chaque entité (nombre d'instance, pourcentage si quota, ...).

=Liste non exhaustive et non priorisée= Liste non exhaustive et non priorisée des extensions (au générateur et à JDL) à développer et à contribuer auprès de la communauté (via le marketplace).
 * Bug fixes à puiser dans https://github.com/jhipster/generator-jhipster/issues
 * Génération de classes pour commandes shell pour inspecter/modifier les entités (générées).
 * Intégration authentification CAS
 * Intégration d'une blockchain de consortium Hyperledger (via JPA ?)
 * Ajout d'utilitaires bases de données (docker-compose pour les backups periodiques, interface d'admin type phpmyadmin)
 * Ajout d'un composant de paiement |Stripe (frontend) et d'un client feign vers stripe.com dans le backend
 * Ajout de composants de paiement (Paypal, Cartes de crédit ...)
 * Intégration d'un chatbot Rasa.io
 * Optimisation des transferts d'images de type ImageBlob (caching client, etag, vignette)
 * Ajout d'un ClusteredFileStorage pour les stockage des images côté backend.
 * Synchronisation du FileStorage avec des Drives cloud (OwnCloud, Google Drive, Dropbox, OneDrive, ...)
 * Traduction automatique des messages i18n ?
 * Traduction automatique des valeurs des champs texte des entités
 * Ajout de nouveaux backends BD
 * OpenTSDB, InfluxDB
 * Intégration Push API (lien)
 * Amélioration du client Swagger UI (OpenAPI2.0 et OpenAPI3.0)
 * Multi-thèmes Dashboard
 * SBAdmin 2
 * Gentella
 * Ngx-Admin (lien), Nebulla (lien)
 * Gestion de Content Delivery Network type AWS S3.
 * Intégration du protocole pub-sub MQTT. Ajout du docker-compose file pour Mosquitto ou RabbitMQ
 * Intégration du protocole pub-sub AMQP.
 * Gestion de quota sur les créations d'entité.
 * Intégration de chatbots open-source (Rasa.ai par exemple) ou commerciaux.
 * Intégration de la traduction automatique des messages et des contenus des champs texte
 * Ajout de l'import en bulk d'un entity (voir Spring Batch) par upload de fichiers CSV/XLS (génération du backend et du frontend).
 * Ajout d'un container Vitess à JHipster (JPARepository)
 * Ajout d'un container Memcached à JHipster
 * Bloquage des authentifications répétées en échec (brute force) avec Fail2ban. (lien
 * Banissement des adresses IP au moyen de FreeGeoIP (Dockerfile)
 * Intégration de Intel Clear Containers
 * Ajouter une confirmation textuelle pour la suppression d'une entité (exemple, le nom de l'entité, une phrase type, ...).
 * Remarque: il faut conserver de forcer la destruction en utilisation ligne de commandes ("force"=true)
 * Authentification FIDO (https://github.com/Mastercard/fido2-rp-spring)
 * Descripteurs docker-compose et k8s pour les distributions clusterisées de:
 * Kafka
 * RabbitMQ
 * MySQL https://kubernetes.io/docs/tasks/run-application/run-replicated-stateful-application/
 * Postgres
 * MongoDB
 * Cassandra

Des applications de démo simple seront proposées en exemple pour chaque extension.