Connexion
Abonnez-vous

Stockage objet compatible S3 : hébergez gratuitement votre site statique chez Scaleway

Tout en restant libre

Stockage objet compatible S3 : hébergez gratuitement votre site statique chez Scaleway

Le 31 août 2021 à 07h44

Vous ne savez pas quel hébergement utiliser pour publier un petit site web à moindres frais, et même une solution mutualisée vous parait « overkill » ? S'il s'agit d'un site statique (sans opérations effectuées côté serveur), vous pouvez le placer sur du stockage objet. Cela tombe bien, chez Scaleway, 75 Go sont offerts.

Après des années à voir les sites multiplier les scripts de pistage, vidéo en lecture automatique et autres lourdeurs, une tendance a émergé pour un web plus sobre, efficace et léger, ne dépendant pas d'un acteur tel que Google avec AMP. Celui des sites statiques, avec des solutions logicielles dédiées (on parle souvent de JAMstack).

Au point que certains hébergeurs se focalisent sur de tels besoins, gérant les frameworks pensés pour le statique tels que GatsbyHugoJekyllReact ou encore Vue, comme on l'a vu dans le cas de Netlify. D'autres ont mis en place des services dédiés comme Cloudflare ou GitHub et leurs Pages. Le tout avec un zeste de Markdown.

Tout cet écosystème prend en charge différentes étapes, de manière plus ou moins complète : la génération du site, la gestion des versions, le déploiement et l'hébergement. Mais parfois, tout cela n'est pas nécessaire, publier un site statique étant relativement simple puisqu'il suffit d'un serveur web sur une distribution minimale.

On peut le faire chez n'importe quel hébergeur, la beauté de cette solution étant également dans sa totale portabilité. On peut également exploiter une « astuce » pour se simplifier la vie, de gagner du temps... et de l'argent : utiliser un service de stockage objet compatible S3. Scaleway s'est récemment ouvert à cette possibilité.

Une solution intéressante, surtout cumulée aux 75 Go offerts par l'hébergeur.

Un site statique sur du stockage objet : pourquoi ?

Pour rappel, le stockage objet est une solution distribuée et résiliente mise en place par les fournisseurs de service cloud (CSP) afin de diffuser des fichiers, souvent statiques. Son usage est simple, pouvant passer par une interface web, des API et autres frameworks, des applications en ligne de commandes (CLI) ou à interface graphique (GUI). 

Surtout, son usage se paie au Go consommé par mois, parfois aussi selon la bande passante. C'est une solution abordable, allant de 5,99 dollars le To chez Wasabi sans facturation de bande passante, à 10 euros HT le To chez OVHcloud avec 10 euros HT par To sortant. Scaleway facture également 10 euros HT le To et la bande passante sortante (inter-régions ou externe), mais avec les 75 premiers Go offerts.

On peut ainsi en profiter pour quelques sauvegardes ou fichiers à mettre de côté, pouvant également être archivés. Pour rappel, nous avions consacré un article à la tarification des services de stockage dans le cloud.

L'offre de Scaleway a donc toujours été une bonne solution pour le stockage d'un petit site statique, mais cette fonctionnalité nécessitait un peu de bidouille jusqu'à maintenant. Il fallait en effet utiliser un logiciel spécifique et modifier le type des fichiers envoyés pour qu'ils puissent être reconnus de manière à s'afficher comme un site.

Ce n'est plus nécessaire depuis quelques mois, avec l'introduction des Bucket Websites. Ce n'est pas une fonctionnalité propre à Scaleway, puisqu'elle existe déjà depuis longtemps chez AWS par exemple. Elle est ici présente de manière assez basique, mais suffisante pour bien des besoins. 

Un simple paramètre à changer, des règles à respecter

Il faut disposer d'un compte Scaleway et se connecter dans la section Object Storage de la Console. Vous pouvez y créer un bucket hébergé à Paris, Amsterdam ou Varsovie selon votre préférence.

Dans la liste de vos buckets cliquez sur les « ... » à droite de l'interface pour accéder à ses réglages. Ici, il sera possible d'activer la fonctionnalité Bucket Website d'un clic, vous serez alors prévenus que son contenu sera forcément public (pouvant être listé). Vous devez indiquer qu'elle est la page à afficher par défaut (index.html) et celle en cas d'erreur comme un contenu non trouvé par exemple (error.html).

Scaleway Bucket WebsiteScaleway Bucket Website
L'interface de Scaleway permet aussi d'activer le versioning d'un bucket, et donc d'un site

Seuls ces deux cas sont possibles. Une « bucket policy » sera automatiquement créée via un fichier JSON (invisible) placé à la racine, vous n'avez donc rien à faire. Cette fonctionnalité, comme toutes les autres, peut néanmoins être exploitée à travers le client en lignes de commandes d'AWS (CLI).

Une fois que tout est configuré, vous pouvez faire un essai avec deux fichiers contenant un simple texte :

echo "Hello, World !" > index.html
echo "Hello, Error !" > error.html

Envoyez-les à la racine de votre bucket via l'interface de gestion ou n'importe quel outil compatible S3. Lorsque ce sera fait, votre site sera accessible et l'URL sera indiquée dans l'interface. Depuis Paris elle est de type :

https://nom_du_bucket.s3-website.fr-par.scw.cloud/

Si vous créez un dossier contenant des images, il ne sera pas affiché comme une liste de fichiers, puisqu'il n'y a pas de structure hiérarchique de ce genre en stockage objet. Mais chaque image sera disponible via sa propre URL. Vous pouvez bien entendu faire pointer un nom de domaine vers ce site pour rendre son accès plus « digeste ».

Gérer les sites statiques, et après ?

Il y a d'ailleurs fort à parier que Scaleway proposera nativement la fonctionnalité dès que son offre de nom de domaine sera publiquement accessible. On espère au passage que l'ajout des Bucket Website est la marque d'un engagement plus global de l'hébergeur pour ce qui concerne le web statique et les nouveaux protocoles. 

Car les acteurs français sont encore assez frileux en la matière, malgré l'effervescence d'une bonne partie du marché. D'ailleurs, plusieurs startups étrangères comme Pinata se tournent déjà vers la suite, avec des services SaaS d'épinglage de contenus du réseau IPFS par exemple. Un sujet sur lequel nous reviendrons sous peu.

Commentaires (14)

Vous devez être abonné pour pouvoir commenter.

Abonnez-vous
votre avatar

Cet article tombe pile au moment où j’expérimente mon script Bash de sauvegarde distante de mes backups Borg grâce à MinIO. En parcourant les options de mon bucket j’ai vu que l’on pouvait y héberger des sites web statiques et je pensais justement faire quelques essais pour mon blog.



Ca sent un prochain script bash pour effectuer le déploiement :D

votre avatar

On peut faire aussi la même chose chez OVH Public Cloud (les deux reposent sur OpenStack après tout). Côté tarifs, l’Object Storage c’est 0.011€HT/Go/Mois et si vous ne dépassez pas les 1GB, il ne coûte rien. (attention, ils demandent de créditer 12€ sur le compte à l’ouverture)



Avec rclone pour piloter l’upload synchronisé (comme ça il gère la suppression de fichiers) c’est vraiment d’une simplicité enfantine. Perso j’ai une préférence pour Hugo en tant que générateur de sites statiques, il est lui aussi très facile à utiliser.



Regarde du côté de rclone, il gère tout ça :)



Pour les backup, il est également capable de chiffrer à la volée.

votre avatar

Oui je parle d’OVHcloud et ses tarifs dans l’article ;) C’est une fonctionnalité lié à S3 comme indiqué dans l’article même si tous les fournisseurs ne le proposent pas.



Pour l’envoi de fichiers, les clients S3 sont pléthore, on peut par exemple le monter et éditer le site comme un dossier sur la machine ce qui évite d’avoir à synchroniser.

votre avatar

J’avais bien vu rassure toi, j’ai simplement une lecture différente de la grille tarifaire (et fait une faute de frappe, c’est bien 0.01€/HT et non 0.011). Je trouve que compter en To est un peu énorme à moins de faire une galerie photo hyper haute résolution où de faire télécharger les RAW (et comme 60% de mon Nextcloud s’en est, j’ai une petite idée de la volumétrie :D ).



Par contre les 12€ d’allocation de crédit me paraissent importants à avoir en tête si on souscrit chez OVH Public Cloud, d’où le complément. J’ai du le faire la première fois, et récemment j’ai ouvert un autre projet à titre pro dedans et n’ai pas trouvé comment esquiver ce paiement. Cela dit, après un peu plus d’un an à utiliser le service, je n’ai fini de consommer le crédit que très récemment, ce qui donne une idée du coût annuel au final.



Concernant rclone, c’est principalement un retour et partage d’expérience que je donne. En toute subjectivité, j’adore cet outil. A part quand on commence à jouer avec les règles d’exclusions qui demandent de rentrer dans des regex cabalistiques, c’est enfantin à utiliser et super fiable tout en ajoutant une bonne sécurité.

votre avatar

C’est une façon standard chez nous de présenter les choses et les comparer, plus lisible que le Go (utilisé par certains parce que ça fait de très petits chiffres qui ne veulent rien dire).

votre avatar

Merci pour le tuyaux ! Je ne connaissais pas rclone et ça correspond exactement à ce dont j’ai besoin. Ça me simplifie même pas mal de choses comparé à ce que j’ai commencé avec MinIO.



Même si du coup ça fout en l’air quelques heures que j’ai passé jusque là avec bash/MinIO 😅
Rien que le fait de pouvoir chiffrer nativement les données ça m’enlève une sacrée couche sur mon script (je passais par GPG).

votre avatar

Attends demain :transpi:

votre avatar

Ça attise ma curiosité ce teasing :D

votre avatar

:photo: :pastaper:
:inpactitude2:

votre avatar

Juste une question, pourquoi parler de statique ?
Y’a moyen d’avoir un peu de logique javascript pour charger des trucs en dynamique non ? Finalement les deux contraintes sont que ta bdd est publique / visible par tous et que ton site est +/- en lecture seule (quoi qu’en jonglant avec la sécurité et les entêtes CORS y’a peut-être moyen de faire une page d’upload propre)

votre avatar

Parce que le site est distribué de manière statique. Ensuite ce qui se passe côté client c’est une autre affaire (d’où le J de JAMstack en général ;))

votre avatar

Précision importante : faire pointer son nom de domaine sur l’URL racine du bucket vous fera perdre la connexion HTTPS / SSL ;)

votre avatar

Pas si on passe par une redirection (mais c’est cracra) mais oui en passant par la CLI AWS ça ne traite que du HTTP classique en l’état comme précisé dans la doc.

votre avatar

Pour la sauvegarde distante vers l’objet storage de Scaleway j’avais tenté le combo restic/rclone (restic pour chiffrer et gérer la dédupe, rclone pour envoyer)

Stockage objet compatible S3 : hébergez gratuitement votre site statique chez Scaleway

  • Un site statique sur du stockage objet : pourquoi ?

  • Un simple paramètre à changer, des règles à respecter

  • Gérer les sites statiques, et après ?

Fermer