Salut, Habr !
Dans cet article, je vais vous expliquer comment facilement et simplement héberger un site statique à l'aide des technologies de Yandex, à savoir Object Storage.
à la fin, vous aurez un site web hébergé qui sera accessible via un lien externe.
Cet article sera utile si vous ĂȘtes
- Un développeur débutant qui est en train d'apprendre la programmation ;
- Un développeur qui a créé un portfolio et souhaite le rendre accessible au public, afin de le montrer à ses amis et employeurs.
Ă propos de moi
RĂ©cemment, j'ai dĂ©veloppĂ© un service SaaS, similaire Ă un marchĂ©, oĂč les gens trouvent des entraĂźneurs sportifs pour des entraĂźnements personnels. J'ai utilisĂ© le stack Amazon Web Services (AWS). Mais plus je me plongeais dans le projet, plus j'apprenais sur les diffĂ©rents processus d'organisation d'une startup.
J'ai rencontré les problÚmes suivants :
- AWS coĂ»tait trĂšs cher. AprĂšs avoir travaillĂ© 3 ans dans des entreprises de taille Ă©tablie, je suis habituĂ© Ă des outils tels que Docker, Kubernetes, CI/CD, blue-green deployment, et en tant que dĂ©veloppeur dĂ©butant dans une startup, je voulais implĂ©menter la mĂȘme chose. Au final, je me suis rendu compte qu'AWS coĂ»tait entre 300 et 400 dollars par mois. Le plus coĂ»teux Ă©tait Kubernetes, environ 100 dollars, avec un minimum d'un cluster et une node.
P.S. Au dĂ©but, il n'est pas nĂ©cessaire de faire cela. - Ensuite, en rĂ©flĂ©chissant Ă l'aspect juridique, j'ai dĂ©couvert la loi 152-FZ, qui Ă©nonçait Ă peu prĂšs ceci : "Les donnĂ©es personnelles des citoyens russes doivent ĂȘtre stockĂ©es sur le territoire de la Russie", sinon des amendes, ce que je voulais Ă©viter. J'ai dĂ©cidĂ© de m'occuper de ces questions avant que cela ne me tombe dessus :)
Inspiré par la migration de l'infrastructure d'Amazon Web Services vers Yandex.Cloud, j'ai décidé d'étudier le stack de Yandex plus en détail.
Pour moi, les caractéristiques clés de Yandex.Cloud étaient les suivantes :
- Moins cher de 2 Ă 3 fois (selon l'article ci-dessus et les tarifs publics)
- , ce que le grand Amazon ne peut pas encore réaliser.
J'ai Ă©tudiĂ© d'autres concurrents de ce service, mais Ă cette Ă©poque, Yandex Ă©tait en tĂȘte.
J'ai parlé de moi, passons aux choses sérieuses.
Ătape 0. PrĂ©parez le site
Tout d'abord, nous aurons besoin d'un site que nous souhaitons hĂ©berger sur Internet. Ătant dĂ©veloppeur Angular, je vais crĂ©er un simple modĂšle d'application SPA que je vais ensuite hĂ©berger sur Internet.
P.S. Ceux qui maĂźtrisent Angular ou connaissent sa documentation , passez Ă .
Nous allons installer Angular-CLI pour créer des sites SPA avec Angular :
npm install -g @angular/cliCréons une application Angular à l'aide de la commande suivante :
ng new angular-habr-object-storageEnsuite, nous allons dans le dossier de l'application et la lançons pour vérifier son bon fonctionnement :
cd angular-habr-object-storage
ng serve --open
L'application a Ă©tĂ© créée, mais elle n'est pas encore prĂȘte Ă ĂȘtre hĂ©bergĂ©e. Nous allons crĂ©er un petit build (Production) pour Ă©liminer le superflu et ne garder que les fichiers nĂ©cessaires.
Dans Angular, cela peut ĂȘtre fait avec la commande suivante :
ng build --prodEn conséquence de cette commande, un dossier est apparu à la racine de l'application dist avec notre site.
Ăa fonctionne. Passons maintenant Ă l'hĂ©bergement.
Ătape 1.
Allons sur le site et cliquons sur le bouton "Connecter".
Remarque :
- Pour utiliser le service Yandex, une adresse e-mail Yandex peut ĂȘtre nĂ©cessaire (mais ce n'est pas certain).
- Pour certaines fonctionnalités, il sera nécessaire de déposer de l'argent sur le compte dans l'espace personnel (minimum 500 roubles).
AprÚs une inscription et une connexion réussies, nous sommes dans l'espace personnel.

Ensuite, dans le menu à gauche, il faut trouver le service "Object Storage", que nous allons utiliser pour l'hébergement du site.
En bref sur les termes :
- Object Storage est un stockage de fichiers compatible avec la technologie similaire d'Amazon AWS S3, qui dispose Ă©galement de son API pour gĂ©rer le stockage Ă partir du code et qui, comme AWS S3, peut ĂȘtre utilisĂ© pour hĂ©berger un site statique.
- Dans Object Storage, nous créons des "buckets" (bucket / Corbeille), qui sont des stockages séparés pour nos fichiers.

Créons l'un d'eux. Pour cela, dans la console du service, cliquons sur le bouton "Créer un bucket".

Dans le formulaire de création de bucket, il y a les champs suivants, parcourons-les :
- Nom du bucket. Pour simplifier, appelons-le comme le projet Angular â
angular-habr-object-storage - Taille max. Mettons autant que pÚse notre site, car le site n'est pas stocké gratuitement et pour chaque gigaoctet attribué, nous devrons payer quelques centimes à Yandex.
- AccÚs en lecture aux objets. Mettons "Public", car l'utilisateur doit pouvoir accéder à chaque fichier de notre site statique pour que la mise en page s'affiche correctement, que les scripts fonctionnent, etc.
- AccÚs à la liste des objets et accÚs à la lecture des paramÚtres. Laissons "Restreint". Ceci est nécessaire pour utiliser le bucket comme stockage interne des fichiers pour les applications.
- Classe de stockage. Nous laissons "Standard". Cela signifie que notre site sera souvent visité, et donc les fichiers qui le composent seront fréquemment téléchargés. De plus, ce point influence les performances et le coût (insérer le lien).
Nous cliquons sur "Créer un bucket" et le bucket est créé.

Nous devons maintenant télécharger notre site dans le bucket. Le moyen le plus simple est d'ouvrir un dossier à cÎté de notre site dist et de glisser-déposer directement dans la page. C'est plus pratique que de cliquer sur le bouton "Téléverser des objets", car dans ce cas, les dossiers ne sont pas transférés et il faudra les créer manuellement dans le bon ordre.

Ainsi, le site est téléchargé dans le stockage, et nous pouvons permettre aux utilisateurs d'accéder au stockage comme s'il s'agissait d'un site.
Pour cela, Ă gauche dans le menu, cliquez sur l'onglet "Site web".

Sur la page de configuration du bucket comme site, sélectionnez l'onglet "Hébergement". Ici, nous indiquons la page d'accueil du site, qui est généralement index.html. Si vous avez une application SPA, il se peut que toutes les erreurs soient également traitées sur la page d'accueil, alors nous indiquerons également index.html pour la page d'erreur.
Nous voyons immédiatement par quel lien notre site sera accessible. Cliquons sur enregistrer.
Dans environ cinq minutes, en accédant au lien, nous pouvons voir que notre site est maintenant accessible à tous.

Merci à tous ceux qui ont lu jusqu'à la fin ! C'est mon premier article, je prévois de décrire d'autres services de Yandex et leur intégration avec les technologies frontend et backend.
Ăcrivez dans les commentaires Ă quel point il vous serait intĂ©ressant de connaĂźtre d'autres services de Yandex ou sur l'utilisation d'Angular dans le dĂ©veloppement moderne.
Source : habr.com
