Installer et configurer le catalogue

Ce catalogue peut être déployé par toute organisation qui souhaite dresser sa propre liste de biens publics numériques. L’ensemble du code est mis à la disposition du public sur le Référentiel du registre des produits

Veuillez noter que ces instructions sont destinées aux utilisateurs disposant de connaissances techniques et connaissant les applications Rails et les déploiements Docker

Pour configurer et exécuter une instance de registre/catalogue en ligne, suivez les étapes suivantes :

  • Clonez le référentiel du registre des produits dans un répertoire de votre serveur ou de votre environnement de développement

  • Configurez les variables d’environnement pour l’application. L’application nécessite la définition de plusieurs variables dans votre environnement. Nous avons fourni un exemple de script shell qui définira les variables appropriées pour les environnements de développement, de test ou de production. Les variables sont les suivantes :

  • SECRET_KEY_BASE : définir un code secret ou un mot de passe unique. Cela est utilisé pour la vérification de l’authentification de l’utilisateur

  • DATABASE_NAME, DATABASE_USER, DATABASE_PASSWORD : les données de connexion à la base de données Postgres. Vérifiez que ces valeurs correspondent aux paramètres du fichier docker-compose.yml pour l’instance de la base de données (décrite ci-dessous)

  • TEST_DATABASE_NAME, TEST_DATABASE_USER, TEST_DATABASE_PASSWORD : pour exécuter les tests unitaires ou d’intégration, ces valeurs doivent être définies et renvoyer vers une instance de la base de données de test

  • ESRI_CLIENT_ID, ESRI_CLIENT_SECRET : l’application utilise ESRI pour les données géographiques. Vous pouvez vous inscrire pour obtenir un compte et un jeton d’accès.

  • GOOGLE_TRACKER : insérer un identifiant de suivi pour utiliser Google Analytics

  • JENKINS_URL, JENKINS_USER, JENKINS_PASSWORD : afin d’utiliser la fonction de lancement de produits, l’application doit se connecter à une instance Jenkins en cours d’exécution.

  • MAILGUN_API_KEY, MAILGUN_DOMAIN : l’application utilise mailgun pour envoyer des notifications par e-mail aux utilisateurs. Utilisez les données du compte mailgun ici pour activer cette fonctionnalité

  • CAPTCHA_SITE_KEY, CAPTCHA_SECRET_KEY : la page principale d’inscription utilise un Captcha. Saisissez vos identifiants captcha pour utiliser cette fonctionnalité

  • GITHUB_USERNAME, GITHUB_PERSONAL_TOKEN : l’application lira automatiquement les données des référentiels GitHub connectés aux produits. Pour ce faire, saisissez un nom d’utilisateur Github et une clé API.

  • Modifiez le fichier docker-compose.yml pour configurer le nom d’utilisateur et le mot de passe de la base de données.

  • Construire et exécuter l’application en utilisant les commandes docker-compose suivantes depuis le répertoire racine de l’application :

  • docker-compose build

  • docker-compose up -d

  • Toutefois, si vous souhaitez exécuter l’application en dehors de docker-compose, vous pouvez utiliser les commandes suivantes :

  • rails db:run_if_no_db && rails db:create_db_with_public_data

  • rails db:migrate

  • rails assets:precompile RAILS_ENV=production

  • rails server -e production

  • Une fois l’application construite et lancée, elle sera disponible sur le port 3000. Veuillez noter que le fichier docker-compose utilise également nginx et certbot pour servir l’application à l’aide de SSL/Port 443. Veuillez supprimer ces entrées si elles ne sont pas nécessaires.

  • L’application requiert un serveur Redis en cours d’exécution. Le serveur Redis est lancé automatiquement dans le cadre du docker-compose. Si vous lancez le catalogue manuellement, Redis doit être en cours d’exécution sur votre serveur.

  • Un compte utilisateur par défaut avec des privilèges administrateur est créé automatiquement. Les identifiants sont admin@admin-user.org/admin-password

  • L’application autorise également la définition d’un nom de domaine par défaut. Seuls les utilisateurs ayant une adresse e-mail associée à ce domaine pourront être administrateurs du site. Configuration :

  • Créer une entrée organisation pour votre organisation. Noter le slug qui est créé pour cette organisation

  • Accéder à la page des paramètres (<online catalog URL>/paramètres)

  • Créer un nouveau paramètre appelé « Organisation par défaut ». La valeur de ce paramètre sera le slug de votre organisation.