Installation par vous même (technique)

Si l’utilisation de Sites Faciles au quotidien ne nécessite aucune compétence technique, l’installation est encore une étape complexe. Cette page explique comment déployer votre site.

Pas de développeur dans votre équipe ?

Contactez-nous pour faire une demande d'installation.

Prérequis

Si le site a très peu de trafic (notamment pendant la période de création/rédaction avant mise en production), un petit serveur suffit (sur Scalingo, Sites faciles peut être déployé sur les configurations les plus petites, en l'occurrence un container taille S et une base de données PostgreSQL Starter - 512 Mo.)

Procédure de déploiement sur Scalingo

Au sein de l'Opérateur des Produits Interministériels de la DINUM, Scalingo est utilisé pour ce type d’usage. Ce document décrit comment procéder à l’installation par ce moyen.

1. Créer une app Scalingo

Si vous n’avez pas d’accès pour cela, contactez-nous.

Dans la suite de cet exemple, nous allons présumer qu’une app nommée test-sites-faciles a été créée, répondant à l’URL https://test-sites-faciles.osc-fr1.scalingo.io/ pendant le développement, puis à https://test-sites-faciles.numerique.gouv.fr une fois en production.

2. Créer un addon PostgreSQL

Un starter 512M suffit en principe. Il est toujours possible d’augmenter la taille après coup

3. Ajouter les variables d’environnement

3.1 Paramètres principaux

A minima, les variables suivantes doivent êtres définies :

Le paramètre DATABASE_URL a normalement été rempli automatiquement par Scalingo à l’étape 2, vérifiez que c’est bien le cas.

3.2 Paramètres pour l’envoi de courriels

Afin de pouvoir envoyer des courriels de réinitialisation de mot de passe ou de notification quand une réponse à un formulaire est soumise, il faut également configurer les paramètres suivants :

Lorsque le paramètre WAGTAIL_PASSWORD_RESET_ENABLED est à True, le lien vers le formulaire de réinitalisation de mot de passe devient visible dans le formulaire de connexion.

Voir aussi les documentations de Django et Wagtail.

3.3 Configurer le stockage objet

(Cette étape est obligatoire sur Scalingo, qui ne dispose pas de stockage permanent, mais optionnelle dans le cas d’un déploiement sur un VPS)

Configurez un object storage S3, chez CleverCloud ou OVH par exemple.

Ajoutez les variables d’environnement suivantes à votre application Scalingo :

S3_BUCKET_NAME= (normalement, le nom de l’app)
S3_BUCKET_REGION=
S3_HOST=(sans le https://)
S3_KEY_ID=
S3_KEY_SECRET=
S3_LOCATION= (optionnel, utiliser le nom de l’app est recommandé, cf. ci-dessous)

Le paramètre S3_LOCATION est optionnel mais permet de partager le bucket S3 avec plusieurs installations de Sites faciles. Il est recommandé d’utilier le nom de l’app comme valeur (ici test-sites-faciles)

3.4 Paramètre supplémentaire

Il est aussi possible de modifier le paramètre suivant si besoin: - WAGTAILADMIN_PATH : l’adresse de l’administration (par défaut, "cms-admin/")

5. Déployer le code

Dans l’onglet « Déploiement » de votre app Scalingo, connectez et configurez le lien au dépôt de code https://github.com/numerique-gouv/sites-faciles (si vous n'avez pas d'accès à ce dépôt, vous pouvez faire un fork)

Déployez la branche « production ».

6. Créer un compte super-administrateur pour votre première connexion à l’admin

Si ce n’est pas déjà fait, installez le CLI de Scalingo https://doc.scalingo.com/platform/cli/start

Puis, dans un terminal, entrez :

APP_NAME=test-sites-faciles
scalingo -a ${APP_NAME} run python manage.py createsuperuser

et donnez les identifiants qui vous permettront d’accéder à l’interface.

7. Initialiser le contenu du site

scalingo -a ${APP_NAME} run python manage.py migrate
scalingo -a ${APP_NAME} run python manage.py collectstatic --noinput --ignore="*.sass"
scalingo -a ${APP_NAME} run python manage.py set_config
scalingo -a ${APP_NAME} run python manage.py import_dsfr_pictograms
scalingo -a ${APP_NAME} run python manage.py create_starter_pages

8. Se connecter à l’administration du site

C’est l’interface depuis laquelle vous pourrez éditer votre site. Elle est accessible depuis <votre_URL>/cms-admin/` (par exemple : “https://test-sites-faciles.osc-fr1.scalingo.io/cms-admin/” )

Ici, entrez les identifiants du super-utilisateur créé à l’étape 6.

Vous pouvez notamment configurer le site dans Configuration > Configuration du site, et ajouter d’autres utilisateurs via Configuration > Utilisateurs.

9. Changement de l’adresse du site

Le site est pour l’instant sur le domaine correspondant à l’app Scalingo. Une fois que vous êtes prêts à basculer sur l’URL définitive, il faut :

  1. Dans la configuration du DNS, faire une redirection CNAME de test-sites-faciles.numerique.gouv.fr vers test-sites-faciles.osc-fr1.scalingo.io
  2. Dans l’app Scalingo, dans l’onglet Environnement, passer la valeur de la variable d’environnement HOST_URL à test-sites-faciles.numerique.gouv.fr (et ALLOWED_HOSTS à test-sites-faciles.osc-fr1.scalingo.io, test-sites-faciles.numerique.gouv.fr si ce n’était pas déjà le cas), puis relancer l’app.
  3. Dans l’administration de Sites faciles, aller dans Configuration > Sites, sélectionner le site à modifier et mettez test-sites-faciles.numerique.gouv.fr dans le champ Nom d’hôte, puis sauvegardez.

Besoin d'aide ?

Contactez-nous