Chapitre 2
Prérequis
Ce qu'il faut réunir avant l'installation : serveur, nom de domaine, messagerie, stockage hors serveur et postes des utilisateurs.
Concerne :Équipe techniqueHébergeur
Serveur#
Configuration validée (serveur de démonstration) :
| Élément | Minimum conseillé |
|---|---|
| Système | Ubuntu 26.04 LTS (64 bits) |
| Processeur | 2 vCPU |
| Mémoire | 4 Go, plus 2 Go d'espace d'échange (swap) |
| Disque | 40 Go (SSD) |
| Réseau | Adresse IPv4 publique (IPv6 conseillée), ports 80 et 443 joignables depuis Internet |
| Accès | SSH par clé, compte d'exploitation avec sudo |
Important
La construction de l'image .NET a lieu sur le serveur : sous 4 Go de mémoire sans espace d'échange, elle peut échouer faute de mémoire. Créez le swap de 2 Go décrit à l'installation.
Place disque. Elle dépend surtout des fichiers déposés (photos, pièces jointes de 10 Mo au plus) et des 30 jours de sauvegardes locales : chaque sauvegarde contient la base et tous les fichiers déposés. Prévoyez une marge d'au moins trois fois 30 × (taille de la base + taille des fichiers) sur la durée du projet, et surveillez la place (chapitre Supervision).
Logiciels installés sur le serveur : Docker Engine et le greffon Docker Compose, depuis le dépôt officiel de Docker. Rien d'autre : PostgreSQL, .NET, Caddy, rclone et les outils de sauvegarde tournent dans des conteneurs.
Nom de domaine#
La plateforme doit être servie sur un nom de domaine (par exemple read.example.org) pour obtenir un certificat HTTPS.
- Choisissez le nom (sous-domaine d'un domaine existant de l'organisation, de préférence).
- Créez chez le gestionnaire DNS un enregistrement
Avers l'adresse IPv4 du serveur et, si le serveur en a une, un enregistrementAAAAvers son adresse IPv6. - Attendez que le nom résolve vers le serveur avant le premier démarrage de Caddy.
Attention
Si le domaine passe par un service de type « proxy » ou CDN (par exemple le nuage orange de Cloudflare), désactivez ce mode pour cet enregistrement (« DNS seulement »). Sinon la plateforme voit l'adresse du service au lieu de celle des visiteurs : la limitation des tentatives de connexion et le journal d'audit deviennent faux.
En attendant un domaine, le nom fourni par l'hébergeur pour le serveur (de la forme vps-….example.net) convient : Caddy obtient aussi un certificat pour lui. Le jour où le domaine est prêt, passez SITE_ADDRESS et URL_PUBLIQUE sur le domaine et mettez l'ancien nom dans SITE_REDIRECTION : les liens déjà diffusés continuent de fonctionner.
Messagerie (SMTP)#
La plateforme envoie des e-mails : lien « mot de passe oublié », copies des notifications. Il faut un compte sur un serveur SMTP (serveur de l'organisation ou service d'envoi transactionnel) : hôte, port, mode de chiffrement, identifiant, mot de passe et adresse d'expédition autorisée.
Sans serveur SMTP, aucun e-mail ne part : les messages sont écrits dans le volume des fichiers déposés (boite-envoi/), ce qui convient pour un essai mais pas en production.
Remarque
L'envoi passe par une authentification SMTP classique (identifiant et mot de passe). Un fournisseur qui n'accepte que OAuth (par exemple certaines configurations de Microsoft 365) demande une adaptation du code.
Stockage hors serveur#
Le cahier des charges exige une copie des sauvegardes hors du serveur. Il faut un stockage objet compatible S3, situé dans une autre région que le serveur (par exemple OVHcloud Object Storage), avec :
- un conteneur (« bucket ») dédié ;
- un utilisateur S3 limité à ce conteneur : point d'accès, région, clé d'accès, clé secrète ;
- une phrase de chiffrement longue, conservée hors du serveur (gestionnaire de mots de passe de l'organisation).
La procédure figure au chapitre Sauvegarde et restauration.
Poste de l'équipe technique#
Le déploiement se lance depuis un poste qui dispose :
- du dépôt Git du code source ;
- de Git et d'un shell bash (Linux, macOS, ou Git Bash sous Windows) ;
- d'un client SSH dont la clé est autorisée sur le serveur, et d'un alias SSH (fichier
~/.ssh/config) vers le serveur.
Le serveur, lui, n'a besoin d'aucun accès au dépôt.
Postes des utilisateurs#
- Navigateurs : versions récentes de Chrome, Edge, Firefox ou Safari, sur ordinateur ou téléphone. JavaScript activé (graphiques, calendrier, grille de saisie).
- Écran : chaque page est utilisable à partir de 360 pixels de large (téléphone).
- Module hors ligne : téléphone Android avec Chrome (installation « Ajouter à l'écran d'accueil »). Une première connexion avec du réseau est nécessaire ; la saisie se fait ensuite sans réseau.
- Bande passante : les pages sont légères ; le module hors ligne télécharge son application (quelques mégaoctets) une seule fois, puis à chaque nouvelle version.