97 lines
2.3 KiB
Markdown
97 lines
2.3 KiB
Markdown
# netig.net
|
|
|
|
## À 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
|
|
- 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
|
|
|
|
## Développement
|
|
|
|
Installer les dépendances :
|
|
|
|
```sh
|
|
bundle install
|
|
```
|
|
|
|
Créer un fichier `.env` à la racine du projet :
|
|
|
|
```dotenv
|
|
SESSION_SECRET=...
|
|
SMTP_PASSWORD=...
|
|
```
|
|
|
|
Générer `SESSION_SECRET` avec `openssl rand -hex 64`.
|
|
Ne pas versionner le fichier `.env`.
|
|
|
|
Créer ou mettre à jour la base de données :
|
|
|
|
```sh
|
|
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 :
|
|
|
|
```sh
|
|
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`.
|
|
|
|
Exécuter les migrations dans le conteneur applicatif avant de démarrer
|
|
la nouvelle version :
|
|
|
|
```sh
|
|
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.
|
|
|
|
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.
|
|
|
|
La date de l'assemblée constitutive est demandée lors de l'exécution.
|