Pour lancer l'application en local :
- Ruby 3.3.3 (nous conseillons l’utilisation de rbenv)
- PostgreSQL >= 12, l’utilisateur doit avoir les droits
superuser
. C'est nécessaire pour pouvoir activer les extensions utilisés. - Yarn
- Foreman, (ou équivalent, comme Overmind)
- Scalingo CLI (OPTIONAL)
- Make (OPTIONAL)
Pour lancer l'applicaiton avec Docker :
Installez Docker et Docker Compose (avec Docker Desktop par exemple) puis lancez :
docker-compose up
Quelques commandes de base sont fournies pour accéder à votre conteneur web :
make sh # lance un terminal
make cl # lance une console Rails
Cette application est conçue pour fonctionner en complément de RDV-Solidarités. RDV-Solidarités doit donc être installé et tourner en local pour obtenir un environnement de dev fonctionnel.
Le code source de RDV-Solidarités peut être trouvé ici.
Les instructions d'installation sont ici.
Les seeds de RDV-Solidarités permettent de créer les différents éléments dont vous aurez besoin pour utiliser l'application en local.
En effet pour utiliser RDV-Insertion proprement en local, il est nécessaire de créer sur RDV-Solidarités :
-
Les territories et organisations correspondant aux départments et organisations que l'on va utiliser sur RDV-Insertion (voir Setup)
-
Rattacher l'agent aux organisations via un
AgentRole
(de préférence avec le access_leveladmin
) -
Configurer les webhooks de chaque organisation pour les envoyer vers l'appli RDV-Insertion en local (
POST http://localhost:8000/rdv_solidarites_webhooks
)
Ainsi le fichier seeds permet de créer:
-
Le territoire de la Drôme avec 2 organisations ("Plateforme mutualisée d'orientation" et "Plie Valence") et le territoire de l'Yonne avec une organisation ("UT Avallon")
-
Un agent
Alain Sertion
admin sur ces organisations avec des plages d'ouvertures préconfigurées -
Les webhooks qui pointent vers RDV-Insertion pour ces orgas
Avant de le lancer les commandes suivantes, veuillez mettre à jour le fichier de seeds pour que les organisations que l'on crée pointent vers les organisations créés précédemment sur RDV-Solidarités (en changeant le rdv_solidarites_organisation_id
au niveau des organisations).
De la même facon, vérifier rdv_solidarites_agent_id
pour notre agent de test et les rdv_solidarites_motif_id
et rdv_solidarites_service_id
pour les motifs.
Se connecter sur RDV-Insertion avec les identifiants RDV-Solidarités crée automatiquement l'agent sur RDV-Insertion.
Le script suivant se charge d’installer les gems et packages et de créer la base de données.
make install ## appelle bin/setup
Assurez-vous d'avoir une instance de redis en cours d'éxecution.
Il ne reste (si tout s’est bien passé) qu’à lancer un serveur le serveur.
make run ## appelle foreman s -f Procfile.dev
Vous trouverez dans le dossier Resources 2 fichiers de test pour l'import des usagers via l'upload dans l'application : Un fichier xlsx contenant des usagers et un fichier csv de contacts.
Un Makefile est disponible, qui sert de point d’entrée aux différents outils :
> make help
install Setup development environment
run Start the application (web, jobs et webpack)
lint Run all linters
lint_rubocop Ruby linter
lint_eslint Javascript Linter
test Run all tests
autocorrect Fix autocorrectable lint issues
clean Clean temporary files (including weppacks) and logs
help Display available commands