Le questionnaire d'éligibilité aux prestations sociales est une e-démarche développée par l'Etat de Genève pour permettre aux citoyens de déterminer en ligne leur potentielle éligibilité à différentes prestations sociales offertes par le canton :
- Subside d'assurance-maladie, délivré par le service d'assurance maladie (SAM).
- Avance de pensions alimentaires, délivrée par le service d'avances et recouvrement de pensions alimentaires (SCARPA) .
- Allocation logement, délivrée par l'office cantonale du logement et de la planification foncière (OCLPF) .
- Prestations complémentaires AVS/AI, délivrées par le service des prestations complémentaires (SPC) .
- Bourse d'études, délivrée par le service des bourses et prêts d'études (SBPE).
- Prestations complémentaires familiales, délivrées par le service des prestations complémentaires (SPC) .
- Aide sociale, délivrée par l'hospice général.
L'éligibilité aux prestations est déterminée par le formulaire en fonction de la situation des personnes constituant le foyer du demandeur, en suivant les règles métier définies par chacun des services délivrant des prestations.
Le questionnaire a été développé à l'initiative de l'office de l'action, de l'insertion et de l'intégration sociale (OAIS) afin notamment de réduire le non-recours aux prestations sociales. Son implémentation a été assurée par l'office cantonale des systèmes d'information et du numérique (OCSIN).
- qeli-frontoffice-application : construction et livraison du front office, en vue de son déploiement.
- qeli-frontoffice-cypress : configuration des scenarii de tests d'intégration du front office.
- qeli-frontoffice-ihm : IHM du front office, destiné aux gestionnaires.
- qeli-frontoffice-rest : services REST du front office.
- qeli-frontoffice-service : implémentation de la couche métier du front office.
- qeli-frontoffice-service-api : interface de la couche métier du front office.
- JDK 8+
- Maven
- Node
mvn clean install
En cas d'erreurs pour cause d'accès Internet, voir notamment le chapitre "Astuces"
dans le fichier
README.md du module qli-frontoffice-cypress
.
Pour démarrer l'application, exécuter la commande suivante :
cd qeli-frontoffice-application
mvn spring-boot:run
Le REST API sera disponible sur http://localhost:8080/socialqeli_pub/api/.
L'IHM sera disponible sur http://localhost:8080/socialqeli_pub/formulaire/.
Pour démarrer uniquement le frontend en local, exécuter la commande suivante :
cd qeli-frontoffice-ihm
npm run start
L'application web application sera disponible sur : http://localhost:4200.
La stratégie de branching de l'application est Git flow.
Pour livrer une nouvelle version il suffit de suivre le workflow release. Un plugin Maven a été rajouté pour faciliter cette tâche.
- Pour créer une branche de release, exécuter la commande suivante :
mvn gitflow:release-start
- Une fois que le code est stable, on peut figer un tag et publier la nouvelle version en exécutant la commande suivante :
mvn gitflow:release-finish
- Il est aussi possible de faire une release d'un coup (sans création de release branch) en exécutant la commande suivante :
mvn gitflow:release
Pour le mode non-interactif, il faut rajouter l'argument -B
; si le paramètre
releaseVersion
n'est pas défini, la version par défaut sera utilisée :
mvn -B gitflow:release
- Gitflow cheatsheet : https://danielkummer.github.io/git-flow-cheatsheet/
- Gitflow maven plugin : https://github.com/aleksandr-m/gitflow-maven-plugin
Pour construire un livrable Windows, exécuter la commande suivante :
mvn clean package -Pstandalone,default
Avec un proxy il faut éxecuter cette commande ainsi :
export JVM_PROXY_FLAGS="-Dhttp.proxyHost=$HTTP_PROXY_HOST \
-Dhttp.proxyPort=$HTTP_PROXY_PORT \
-Dhttps.proxyHost=$HTTP_PROXY_HOST \
-Dhttps.proxyPort=$HTTP_PROXY_PORT"
mvn clean package -Pstandalone $JVM_PROXY_FLAGS
Un livrable Windows en format ZIP
sera disponible sur :
qeli-frontoffice-application/target/qeli-frontoffice-application-windows.zip
.
Décompresser le fichier et faire un double clic sur le fichier
qeli-frontoffice-application.cmd
pour démarrer le server en mode standalone.
L'IHM est disponible sur: http://localhost:8080/socialqeli_pub/formulaire.
Pour arrêter le server, fermer la fenêtre du terminal.
Pour construirer le livrable et démarrer l'application en interne il suffit d''
activer le profile ocsin
, par exemple :
mvn clean package -Pocsin
Si vous avez cloné ce dépôt Git depuis la page GitHub de l'État de Genève
et que vous vouliez construire l'application avec Maven, vous devez
surmonter un écueil.
En effet, pour fonctionner l'application a besoin des fichiers
botdetect-<VERSION>.jar
et botdetect-servlet-<VERSION>.jar
.
Or, si le
site de Captcha précise
"You can download BotDetect Java CAPTCHA library for free and use it immediately",
Captcha ne met pas à disposition les deux fichiers JAR dans Maven Central ni dans
un dépôt Maven maison.
Par conséquent, avant de lancer votre commande mvn
, vous devez télécharger
puis installer dans votre dépôt Maven les deux fichiers JAR.
La version à sélectionner est fournie par la propriété
botdetect-servlet.version
indiquée dans le fichier
pom.xml
de ce projet-ci.
Il est par ailleurs recommandé de prendre connaissance de la licence de BotDetect Captcha.
L'argument skipTests
désactive tous les tests pendant la compilation :
mvn clean install -DskipTests=true
Il est aussi possible de désactiver les tests Java et Cypress individuellement :
cypress.test.skip
: désactive les tests d'intégration Cypress. Exemple :mvn clean install -Dcypress.test.skip=true
surefire.test.skip
: désactive les tests Java. Exemple :mvn clean install -Dsurefire.test.skip=true
Il est possible de construire l'application en sautant la compilation de l'IHM. Poour cela, exécuter la commande suivante :
# Sauter la compilation de l'ihm
mvn clean install -pl '!qeli-frontoffice-ihm'
# Sauter la compilation des tests d'intégration
mvn clean install -pl '!qeli-frontoffice-cypress'
# Sauter la compilation de l'IHM et des tests d'intégration
mvn clean install -pl '!qeli-frontoffice-ihm,!qeli-frontoffice-cypress'
Le style du code est défini par le fichier .editorconfig à la racine du projet.
Pour certains IDE il faut installer un plugin qui permettra son intégration.
L'information sur le format, les IDE et plugins compatibles se trouve ici : https://editorconfig.org.
Remplir le fichier ~/.npmrc
avec la configuration suivante :
cafile=/path/to/ge-app.pem
http-proxy=http://localhost:3128
https-proxy=http://localhost:3128
proxy=http://localhost:3128
strict-ssl=false
registry=***REMOVED***/content/repositories/npmjs/
En cas de problème avec node-sass, exécuter la commande suivante :
npm rebuild node-sass
.
Utile pour tester le partage de cookie entre le domaine principal et un sous-domaine.
Configurer un host personnalisé, par exemple :
127.0.0.1 localqeli.etat-ge.ch
- Windows : C:\Windows\System32\drivers\etc\hosts
- Linux : /etc/hosts
Puis lancer l'IHM avec la commande :
cd qeli-frontoffice-ihm
npm run start-host