# 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.