Add registration
This commit is contained in:
1 parent
137e53618b
commit
e5ec0ff1a1
5 files changed
+291
-125
No files matched your search
@@ -3,11 +3,10 @@
|
||||
## À faire
|
||||
|
||||
- limiter le spam sur `/contact/send`
|
||||
- développer l'inscription des utilisateurs et la vérification des adresses électroniques
|
||||
- développer les demandes d'adhésion et leur examen par le Noyau
|
||||
- développer l'espace personnel des adhérents
|
||||
- développer l'espace personnel des membres
|
||||
- afficher les recettes et les dépenses sur la page d'accueil
|
||||
- gérer les accès aux services selon la situation des adhérents
|
||||
- gérer les accès aux services selon la situation des membres
|
||||
|
||||
## Développement
|
||||
|
||||
@@ -21,10 +20,18 @@ Créer un fichier `.env` à la racine du projet :
|
||||
|
||||
```dotenv
|
||||
SESSION_SECRET=...
|
||||
RODAUTH_HMAC_SECRET=...
|
||||
RODAUTH_DOMAIN=netig.net
|
||||
BASE_URL=http://[::1]:9292
|
||||
SMTP_PASSWORD=...
|
||||
```
|
||||
|
||||
Générer `SESSION_SECRET` avec `openssl rand -hex 64`.
|
||||
Générer `SESSION_SECRET` et `RODAUTH_HMAC_SECRET` avec :
|
||||
|
||||
```sh
|
||||
openssl rand -hex 64
|
||||
```
|
||||
|
||||
Ne pas versionner le fichier `.env`.
|
||||
|
||||
Créer ou mettre à jour la base de données :
|
||||
@@ -33,32 +40,33 @@ Créer ou mettre à jour la base de données :
|
||||
bundle exec ruby bin/migrate
|
||||
```
|
||||
|
||||
Créer un ou plusieurs comptes de test :
|
||||
|
||||
```sh
|
||||
bundle exec ruby bin/initialize-account
|
||||
```
|
||||
|
||||
Cette commande crée un compte vérifié et sa fiche de membre.
|
||||
Elle peut être exécutée plusieurs fois. Les comptes créés ne possèdent
|
||||
aucune adhésion ni responsabilité au sein du Noyau.
|
||||
|
||||
Pour tester l'espace du Noyau, désigner un ou plusieurs comptes de test :
|
||||
|
||||
```sh
|
||||
bundle exec ruby bin/initialize-core
|
||||
```
|
||||
|
||||
En développement, un seul membre suffit. Cette commande peut être
|
||||
réexécutée pour ajouter d'autres membres au Noyau.
|
||||
|
||||
Démarrer le serveur de développement :
|
||||
|
||||
```sh
|
||||
bundle exec puma
|
||||
```
|
||||
|
||||
Ou ouvrir un shell interactif :
|
||||
Créer des comptes de test depuis le site :
|
||||
|
||||
http://[::1]:9292/create-account
|
||||
|
||||
Les personnes physiques et les personnes morales peuvent créer
|
||||
un compte. L'adresse électronique doit être vérifiée avant de
|
||||
pouvoir se connecter.
|
||||
|
||||
Pour tester l'espace du Noyau, désigner un ou plusieurs comptes
|
||||
de test depuis le terminal :
|
||||
|
||||
```sh
|
||||
bundle exec ruby bin/initialize-core
|
||||
```
|
||||
|
||||
En développement, un seul membre suffit. Cette commande peut
|
||||
être réexécutée pour ajouter d'autres membres au Noyau.
|
||||
|
||||
La date de l'assemblée est demandée lors de l'exécution.
|
||||
|
||||
Pour ouvrir un shell interactif :
|
||||
|
||||
```sh
|
||||
bundle exec irb -r dotenv/load -r ./netig.rb
|
||||
@@ -66,11 +74,24 @@ bundle exec irb -r dotenv/load -r ./netig.rb
|
||||
|
||||
## Production
|
||||
|
||||
Docker Compose fournit les variables d'environnement via `env_file` et définit
|
||||
`RACK_ENV=production`.
|
||||
Docker Compose fournit les variables d'environnement via `env_file`
|
||||
et définit `RACK_ENV=production`.
|
||||
|
||||
Exécuter les migrations dans le conteneur applicatif avant de démarrer
|
||||
la nouvelle version :
|
||||
Le fichier d'environnement doit notamment définir :
|
||||
|
||||
```dotenv
|
||||
SESSION_SECRET=...
|
||||
RODAUTH_HMAC_SECRET=...
|
||||
RODAUTH_DOMAIN=netig.net
|
||||
BASE_URL=https://netig.net
|
||||
SMTP_PASSWORD=...
|
||||
```
|
||||
|
||||
Générer les deux secrets avec `openssl rand -hex 64`.
|
||||
Ne pas versionner le fichier contenant ces variables.
|
||||
|
||||
Créer ou mettre à jour la base de données dans le conteneur
|
||||
applicatif avant de démarrer la nouvelle version :
|
||||
|
||||
```sh
|
||||
bundle exec ruby bin/migrate
|
||||
@@ -78,19 +99,22 @@ bundle exec ruby bin/migrate
|
||||
|
||||
### Initialisation du premier Noyau
|
||||
|
||||
Une fois l'inscription publique disponible, les membres fondateurs créent
|
||||
leurs comptes depuis le site et vérifient leurs adresses électroniques.
|
||||
Une fois l'inscription publique disponible, les membres fondateurs
|
||||
créent leurs comptes depuis le site et vérifient leurs adresses
|
||||
électroniques.
|
||||
|
||||
Après leur désignation par l'assemblée constitutive, initialiser le Noyau
|
||||
depuis le conteneur applicatif :
|
||||
Après leur désignation par l'assemblée constitutive, initialiser
|
||||
le Noyau depuis le conteneur applicatif :
|
||||
|
||||
```sh
|
||||
bundle exec ruby bin/initialize-core
|
||||
```
|
||||
|
||||
Cette commande doit être exécutée une seule fois en production.
|
||||
Elle exige au moins trois personnes physiques disposant d'un compte vérifié.
|
||||
Elle enregistre leurs adhésions comme acceptées et leur attribue la qualité
|
||||
de membre du Noyau.
|
||||
Elle exige au moins trois personnes physiques disposant d'un
|
||||
compte vérifié.
|
||||
|
||||
Elle enregistre leurs adhésions comme acceptées et leur attribue
|
||||
la qualité de membre du Noyau.
|
||||
|
||||
La date de l'assemblée constitutive est demandée lors de l'exécution.
|
||||
Reference in new issue
Block a user