# 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 ``` Lors de la première installation, créer le compte du premier administrateur : ```sh bundle exec ruby bin/initialize-admin ``` Cette commande est à exécuter une seule fois. Elle crée un compte vérifié et lui attribue les droits techniques d'administration. Elle ne crée pas de demande d'adhésion. 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 ``` Lors de la première installation, créer le premier administrateur depuis le conteneur applicatif : ```sh bundle exec ruby bin/initialize-admin ```