Progression guide hébergement web

This commit is contained in:
vincent 2025-03-09 23:06:27 +01:00
parent 1e0183a1cc
commit 483c0918d6
6 changed files with 176 additions and 29 deletions

View file

@ -0,0 +1,84 @@
---
title: "CNAME à l'apex"
description: "Les CNAME à l'apex d'une zone DNS"
date: 2023-04-19
weight: 3
extra:
parent: "services/mettre-place-DNS.md"
---
# Le problème
Dans le protocole DNS, il n'est pas possible de mettre un champ CNAME à l'apex d'une zone.
Concrètement, qu'est-ce que ça veut dire ? Si vous gérez la zone `example.com` et que vous
aimeriez faire pointer ce nom vers `garage.deuxfleurs.fr` pour que Deuxfleurs héberge votre
site web, la solution naturelle serait de configurer un CNAME. Dans un fichier de zone,
cela ressemblerait à :
@ 10800 IN CNAME garage.deuxfleurs.fr.
Hors, cela est interdit par le protocole DNS. Pourquoi donc ? Parce qu'un CNAME s'applique
à tous les types d'enregistrements, pas simplement les `A` (adresse IPv4) et `AAAA` (adresse IPv6).
Ainsi, la redirection du CNAME s'appliquerait également aux enregistrements comme `NS` et `MX`, ce qui
rentrerait en conflit avec ces enregistrements déjà existants dans votre zone.
[Une explication technique plus détaillée est disponible sur le site de l'ISC](https://www.isc.org/blogs/cname-at-the-apex-of-a-zone/).
# Solutions possibles
## Implémentations non-standard : ALIAS et CNAME flattening
Certains hébergeurs et logiciels DNS proposent une solution non-standard à ce problème.
Gandi permet de configurer un champ `ALIAS` à l'apex d'une zone qui pointe vers un autre
nom comme `garage.deuxfleurs.fr`. Cet enregistrement `ALIAS` ne sera jamais renvoyé directement
aux clients DNS : à la place, ce sont les serveurs DNS de Gandi qui vont dynamiquement consulter
les enregistrements `A` et `AAAA` de `garage.deuxfleurs.fr`, puis les renvoyer dans la requête
initiale pour `example.com`.
De manière confuse, [Cloudflare permet de mettre un enregistrement CNAME à l'apex d'une zone](https://blog.cloudflare.com/introducing-cname-flattening-rfc-compliant-cnames-at-a-domains-root/).
Comment font-ils, puisque c'est interdit ? En fait, ils utilisent exactement la même technique que Gandi, mais
ils ont choisi de réutiliser le terme `CNAME` là où Gandi appelle cela un `ALIAS`. C'est un choix de nom
très discutable puisqu'il ne s'agit pas vraiment d'un CNAME.
Très peu d'implémentations logicielles libre de serveur DNS faisant autorité proposent cette fonctionnalité.
Les logiciels classiques Bind, NSD et Knot ne l'implémentent pas. Parmi les autres logiciels couramment utilisés,
seuls [PowerDNS Authoritative Nameserver](https://doc.powerdns.com/authoritative/index.html) et [CoreDNS](https://coredns.io/) l'implémentent :
[PowerDNS avec la syntaxe ALIAS comme chez Gandi](https://doc.powerdns.com/authoritative/guides/alias.html), et
[CoreDNS avec la syntaxe CNAME abusive comme chez Cloudflare](https://coredns.io/explugins/alias/).
Il faut noter que c'est une technique plutôt complexe à implémenter correctement, puisqu'elle nécessite que le serveur DNS
faisant autorité joue un rôle de récurseur, ce qui n'est pas nécessaire en temps normal.
Au final, c'est une solution ad-hoc qui est très spécifique à certains fournisseurs
et logiciels, avec même plusieurs syntaxes possibles. Elle présente donc un risque fort
d'enfermement auprès de ces fournisseurs ou logiciels.
## En cours de standardisation : SVCB et HTTPS
Deux nouveaux types d'enregistrements DNS sont [en cours de standardisation : SVCB et HTTPS](https://datatracker.ietf.org/doc/draft-ietf-dnsop-svcb-https/).
Ce travail en cours couvre un spectre plus large, mais il résout en particulier
ce problème de CNAME à l'apex.
En mars 2023, ce document de travail en est à sa 12ème révision et n'a pas encore été publié
officiellement comme un standard (RFC). Cependant, il semblerait que [certains navigateurs web et certains logiciels
serveurs DNS aient déjà commencé à implémenter cette spécification depuis 2021 environ](https://serverfault.com/a/1075524).
## Solutions recommandées chez Deuxfleurs
Vous êtes responsable de votre nom de domaine, donc n'hésitez pas à expérimenter si
vous le souhaitez ! Si vous avez des retours sur l'utilisation de SVCB/HTTPS, nous sommes intéressés.
Cependant, Deuxfleurs recommande pour l'instant les solutions suivantes :
- utiliser un sous-domaine lorsque cela est possible
- sinon, utiliser l'implémentation non-standard de Gandi ou Cloudflare
En effet, la solution SVCB/HTTPS est encore en cours de standardisation en 2023
et va mettre de nombreuses années avant d'être déployée sur tous les terminaux.
Compter uniquement sur cette solution, c'est écarter de fait tous les clients un
peu anciens (vieux téléphones Android, anciennes versions de Windows ou d'Ubuntu
pas mises à jour), alors que Deuxfleurs cherche à éviter l'obsolescence et faire
en sorte que ces appareils restent utilisables le plus longtemps possible.

View file

@ -0,0 +1,34 @@
---
title: "Configurer l'apex chez Gandi"
description: "Paramétrer l'entrée DNS directement sur le nom de domaine de base"
date: 2023-12-04
weight: 1
extra:
parent: "services/mettre-place-DNS.md"
---
Supposons que vous avez loué `camille-michu.fr` chez Gandi.
D'abord, rendez-vous dans votre espace utilisateur Gandi, puis de là cliquez dans le menu à gauche sur «Nom de domaine» :
![dns1.png](/img/apex_gandi_1.png)
Une fois sur la page «Nom de domaines», votre nom de domaine devrait apparaître dans la liste, ici «camille-michu.fr». Cliquez dessus :
![dns2.png](/img/apex_gandi_2.png)
Dans le menu du haut, sélectionnez «Enregistrements DNS» :
![dns3.png](/img/apex_gandi_3.png)
Ensuite cliquez sur le bouton «Ajouter un enregistrement» :
![dns4.png](/img/apex_gandi_4.png)
Choisissez alors «ALIAS» comme type, et `garage.deuxfleurs.fr` comme nom d'hôte.
![dns5.png](/img/apex_gandi_5.png)
Maintenant que votre configuration DNS est réglée, vous pouvez [préparer votre contenu](@/prise_en_main/creer-du-contenu.md) !
> **Tiens bah d'ailleurs :** Deuxfleurs peut héberger vos e-mails [même s'ils portent un nom de domaine autre que `deuxfleurs.fr`](@/operations/email_personnalise.md).

View file

@ -0,0 +1,37 @@
---
title: "Configurer l'apex chez Scaleway"
description: "Paramétrer l'entrée DNS directement sur le nom de domaine de base"
date: 2023-12-04
weight: 2
extra:
parent: "services/mettre-place-DNS.md"
---
Supposons que vous avez loué `camille-michu.fr` chez Scaleway.
D'abord, rendez-vous dans votre espace utilisateur Scaleway. Sur la liste à gauche de l'écran, cliquez sur «Domains and DNS» dans la section «Network». Vous devriez arriver sur l'écran suivant. Cliquez sur votre nom de domaine :
![dns1.png](/img/apex_scaleway_1.png)
Une fois ici, cliquez sur l'onglet «Zones DNS» :
![dns2.png](/img/apex_scaleway_2.png)
Dans l'écran suivant, cliquez sur «Zone racine» :
![dns3.png](/img/apex_scaleway_3.png)
Ensuite, cliquez sur le bouton «Ajouter des records» :
![dns4.png](/img/apex_scaleway_4.png)
Une fenêtre va apparaître au centre de l'écran. Remplissez là exactement comme suit. Attention, dans le champ «Nom de l'hôte», `garage.deuxfleurs.fr` doit être suivi d'un point, sans espace, comme illustré, ne l'oubliez pas ! Vous pouvez après cliquer sur le bouton «Modifier le record».
![dns5.png](/img/apex_scaleway_5.png)
Vous devez alors vous retrouver face à un écran similaire au suivant :
![dns5.png](/img/apex_scaleway_6.png)
Félicitation, vous avez réussi ! Maintenant que votre configuration DNS est réglée, vous pouvez [préparer votre contenu](@/prise_en_main/creer-du-contenu.md) !

View file

@ -6,23 +6,20 @@ weight: 30
extra:
parent: "services/web.md"
---
<!-- TODO -->
<!-- # Louer son nom de domaine -->
<!-- Les noms de domaine sont gérés et loués par les _registraires de nom de domaine_. Ce sont eux qui proposent aux clients finaux de réserver des noms. On peut citer [Gandi](https://www.gandi.net/fr), [OVHcloud](https://www.ovhcloud.com/fr/), ou [Scaleway](https://www.scaleway.com/fr/) par exemple. Lorsqu'on veut s'offrir `exemple-un.fr` notamment, c'est chez eux que ça se passe; ensuite, à leur tour, ils vont enregistrer notre demande auprès de l'organisme correspondant à l'extension choisie : l'association française [AFNIC](https://www.afnic.fr/) pour `.fr`, l'association états-unienne [Public Internet Registry ](https://thenew.org/) pour `.org`, l'association européenne (belge en particulier) [EURid](https://eurid.eu/fr/) pour `.eu`... Nous recommandons de privilégier l'une de ces trois extensions parmis la myriade qui existe, car ces entités ont pour historique de ne pas augmenter arbitrairement les prix tout en garantissant la disponibilité de votre nom de domaine. -->
# Louer son nom de domaine
Les noms de domaine sont gérés et loués par les _registraires de nom de domaine_. Ce sont eux qui proposent aux clients finaux de réserver des noms. On peut citer [Gandi](https://www.gandi.net/fr), [OVHcloud](https://www.ovhcloud.com/fr/), ou [Scaleway](https://www.scaleway.com/fr/) par exemple. Lorsqu'on veut s'offrir `exemple-un.fr` notamment, c'est chez eux que ça se passe; ensuite, à leur tour, ils vont enregistrer notre demande auprès de l'organisme correspondant à l'extension choisie : l'association française [AFNIC](https://www.afnic.fr/) pour `.fr`, l'association états-unienne [Public Internet Registry ](https://thenew.org/) pour `.org`, l'association européenne (belge en particulier) [EURid](https://eurid.eu/fr/) pour `.eu`... Nous recommandons de privilégier l'une de ces trois extensions parmis la myriade qui existe, car ces entités ont pour historique de ne pas augmenter arbitrairement les prix tout en garantissant la disponibilité de votre nom de domaine.
<!-- Pour référence, la location d'un nom de domaine en `.fr` est d'environ 12 euros par an. Certaines offres vous fournissent «des extras» en plus comme une boîte courriel, sans que ça n'influe grandement sur les prix. En ce qui nous concerne, Gandi est un des registraires que nous recommandons. -->
Pour référence, la location d'un nom de domaine en `.fr` est d'environ 12 euros par an. Certaines offres vous fournissent «des extras» en plus comme une boîte courriel, sans que ça n'influe grandement sur les prix. En ce qui nous concerne, Gandi est un des registraires que nous recommandons.
<!-- ## Utiliser directement le nom de domaine ou un sous-domaine ? -->
## Utiliser directement le nom de domaine ou un sous-domaine ?
<!-- Une question importante est de choisir si on veut utiliser directement son nom de domaine (`example.com`) -->
<!-- ou alors un sous-domaine, par exemple `blog.example.com`. -->
Une question importante est de choisir si on veut utiliser directement son nom de domaine (`example.com`) ou alors un sous-domaine, par exemple `blog.example.com`.
<!-- Utiliser un sous-domaine comme `www.example.com` ou `blog.example.com` fonctionnera chez tous les hébergeurs DNS -->
<!-- et avec tous les logiciels DNS standards. -->
Utiliser un sous-domaine comme `www.example.com` ou `blog.example.com` fonctionnera chez tous les hébergeurs DNS et avec tous les logiciels DNS standards.
<!-- À l'inverse, utiliser le nom de domaine directement (c'est-à-dire l'apex, ici `example.com`) impose certaines contraintes techniques. Celles-ci sont détaillées dans la page [CNAME à l'apex](@/services/DNS-CNAME-apex.md). -->
<!-- Tous les registraires de nom de domaine ne proposent pas de champs `ALIAS` comme expliqué. C'est cependant le cas de Gandi et de Scaleway. -->
À l'inverse, utiliser le nom de domaine directement (c'est-à-dire l'apex, ici `example.com`) impose certaines contraintes techniques. Celles-ci sont détaillées dans la page [CNAME à l'apex](@/services/DNS-CNAME-apex.md).
Tous les registraires de nom de domaine ne proposent pas de champs `ALIAS` comme expliqué. C'est cependant le cas de Gandi et de Scaleway.
<!-- Pour configurer l'hébergement de votre site derrière le nom de domaine simple, ou apex : -->
<!-- - [C'est par ici si vous êtes chez Gandi](@/services/configurer_apex_Gandi.md) -->
<!-- - [C'est par ici si vous êtes chez Scaleway](@/services/configurer_apex_Scaleway.md) -->
Pour configurer l'hébergement de votre site derrière le nom de domaine simple, ou apex :
- [C'est par ici si vous êtes chez Gandi](@/services/configurer_apex_Gandi.md)
- [C'est par ici si vous êtes chez Scaleway](@/services/configurer_apex_Scaleway.md)

View file

@ -1,5 +1,5 @@
---
title: Statique, comment ça ?
title: Statique, comment ça?
description: Nous hébergeons des sites statiques
sort_by: weight
weight: 10
@ -8,17 +8,15 @@ extra:
---
Depuis le commencement du web au début des années 90, existent les sites web _statiques_ :
<!--le contenu présent en ligne était statique : -->
quand un client demande un fichier ou une page, il spécifie le chemin _via_ une [URL](https://fr.wikipedia.org/wiki/Uniform_Resource_Locator), et le serveur répond tout le temps la même chose.
Depuis le commencement du web, au début des années 90, existent les sites web _statiques_ : quand un client demande un fichier ou une page, il spécifie le chemin _via_ une [URL](https://fr.wikipedia.org/wiki/Uniform_Resource_Locator), et le serveur répond tout le temps la même chose.
Dès le milieu des années 90 sont apparu les pages dynamiques, avec [CGI](https://fr.wikipedia.org/wiki/Common_Gateway_Interface) et [PHP](https://fr.wikipedia.org/wiki/PHP).
Pour une même page, le serveur peut répondre un contenu différent, variant selon des paramètres rajoutés en fin de chemin URL, selon des données dans la mémoire du serveur, ou selon n'importe quel facteur qui passe par la tête du développeur.
Avec [JavaScript](https://fr.wikipedia.org/wiki/JavaScript), qui date de la même époque, une confusion se pose souvent : beaucoup de contenus statiques passent pour du dynamique aux yeux de l'internaute. Il faut alors rappeler une distinction importante : le code Javascript livré avec un site s'exécute côté client, c'est-à-dire sur l'ordinateur ou le téléphone de l'internaute. A contrario, le CGI ou PHP s'exécute côté serveur, c'est-à-dire sur la machine administrée par le propriétaire du site.
Selon ce qu'on veut faire, il faut choisir l'un ou l'autre.
Quelques exemples pour comprendre cette dichotomie : je gère une boutique en ligne, et je veux que le stock de mes produits s'affiche quand un client consulte mon site ? Il faut faire ça côté serveur, car seul lui connaît les stocks. Je veux mettre en place des décors interactifs avec la souris ? Il faut faire ça côté client, car seul lui connaît la position du curseur. Là où le bât blesse, c'est que certaines choses peuvent être faites des deux côtés, par exemple afficher l'heure sur une page.
Quelques exemples pour comprendre cette dichotomie : je gère une boutique en ligne, et je veux que le stock de mes produits s'affiche quand un client consulte mon site ? Il faut faire ça côté serveur, car seul lui connaît les stocks. Je veux mettre en place des décors interactifs avec la souris ? Il faut faire ça côté client, car seul lui connaît la position du curseur. Des fois c'est ambivalent:afficher l'heure sur une page, par exemple, peut être fait soit avec du contenu dynamique (insertion de l'heure côté serveur), soit avec du contenu statique (insertion de l'heure avec du code Javascript statique qui tourne chez le client).
En proposant un site statique on réduit fortement le besoin d'infrastructure du côté serveur en déplacant le calcul sur des terminaux déjà existant : votre téléphone ou ordinateur. De ce fait on réduit le besoin de nouveaux matériel qui est très couteux d'un point de vue environnemental (la vidéo de [François Jarrige / Fanny Lopez | La Manufacture d'idées 2022](https://www.youtube.com/watch?v=wwFFWPK-CF8) à ce sujet).
En proposant un site statique on réduit fortement le besoin d'infrastructure du côté serveur en déplacant le calcul sur des terminaux déjà existant : votre téléphone ou ordinateur. De ce fait on réduit le besoin de nouveaux matériel qui est très couteux d'un point de vue environnemental (voir par exemple la vidéo de [François Jarrige / Fanny Lopez | La Manufacture d'idées 2022](https://www.youtube.com/watch?v=wwFFWPK-CF8) à ce sujet).
En conclusion, une page statique peut proposer des interactions et des effets quelconques, et même se comporter comme une application, car l'interactivité est gérée uniquement par votre ordinateur. Dans ce modèle, par contre, le serveur web se contente simplement de vous envoyer les données que vous lui demandez, sans exécuter de logique complexe, réduisant ainsi l'impact environnemental du site.

View file

@ -1,6 +1,6 @@
---
title: Sites web
description: Héberger vos sites Internet
description: Héberger vos sites internet
sort_by: weight
weight: 30
extra:
@ -9,9 +9,9 @@ extra:
<!-- TODO -->
Vous avez toujours voulu avoir un site web ?
Une page perso pour publier ce qui vous intéresse de manière indépendante ?
Ou d'exposer votre association sur la carte du net ?
Vous souhaitez avoir un site web ?
Pour publier ce qui vous intéresse personnellement de manière indépendante ?
Ou pour exposer votre association sur la carte du net ?
Deuxfleurs peut vous aider en vous fournissant l'hébergement.
Suivez le guide !
@ -27,7 +27,7 @@ Suivez le guide !
- [envieappartagee.fr](https://www.envieappartagee.fr) - _Association Envie Appart'Agée, projet de coloc Alzheimer pour habiter et être accompagné autrement en Vendée._
- [wanderearth.fr](https://wanderearth.fr/) - _Blog voyage à vélo low-tech._
- [www.osuny.org](https://www.osuny.org/) - _Osuny est une solution technique spécialement conçue pour les universités, laboratoires de recherches et écoles supérieures permettant de créer des sites Web entièrement personnalisés, les plus sobres, les plus accessibles et les plus sécurisés possibles_.
- [giraud.eu](https://giraud.eu) - _Site d'un ingénieur en informatique_
- [www.giraud.eu](https://www.giraud.eu) - _Site d'un ingénieur en informatique_
- [anneprudhomoz.fr](https://anneprudhomoz.fr) - _De la terre, du fer, de l'eau, beaucoup de feu, un peu d'huile, encore du béton et du plâtre ! ... sans oublier le crayon à papier et les carnets._
- [courderec.re](https://courderec.re) - _Groupe de musique. De la pop synthé qui décoiffe._
- [colineaubert.com](https://colineaubert.com) - _D'un côté graphiste, illustratrice et conceptrice d'outils pédagogiques, je mets en images et en mots différents sujets scientifiques et culturels._
@ -37,7 +37,4 @@ Suivez le guide !
- [luxeylab.net](https://luxeylab.net) - _Site d'un prof en informatique_
- [eric.dufour.io](https://eric.dufour.io) _- Appui au montage de projets de bioéconomie circulaire._
- [www.clairebernstein.photo](https://www.clairebernstein.photo/) - _Portfolio photographique._
- et de nombreux autres!
- et de nombreux autres!