« Hébergement des sites des binets » : différence entre les versions

De WikiBR
(Modalités techniques)
m (typo)
 
(42 versions intermédiaires par 17 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
{{menu services}}
[[Catégorie:Services]]
Le BR propose aux binets qui le désirent d'héberger gratuitement leur site web.
Le BR propose aux binets qui le désirent d'héberger gratuitement leur site web.


Cet hébergement s'organise selon deux formules, avec ou sans la possibilité d'accéder au site de l'extérieur du Plâtal.
Cet hébergement s'organise selon deux formules, avec ou sans la possibilité d'accéder au site de l'extérieur du Plâtal.


Pour demander l'hébergement de ton site, envoie un mail à root@frankiz.polytechnique.fr.
Pour demander l'hébergement de ton site, [https://panix.binets.fr ouvre une tâche Panix] en précisant l'identifiant du groupe/binet au nom duquel tu fais la demande (si tu ne le connais pas, donne le lien vers le groupe/binet sur Sigma).
 
'''Réfléchis bien a quel va être le cahier des charges de ton site avant de te lancer.''' S'il n'est qu'un blog n'hésite pas à chercher des solutions permettant de t'éviter de développer un site ''from scratch'' en php ou avec django, et penche toi du côté de solutions telles que jekyll, hugo avec forestry, nextjs avec vercel et plein d'autres. Si ton site aura besoin d'un vrai backend dans ce cas poursuis ta lecture.
 
Tu peux également demander à mettre une [[authentification CAS]], [[openID]], ou encore protéger ton site par un portail d'authentification global si ton site est déployé sous docker (i.e. tu peux considérer que l'utilisateur est déjà connecté une fois sur le site).
 
En fonction des technologies utilisées, on a différents tuto à te proposer:
* un [[Tuto pour le déploiement des sites Django]] des sites binets codés en django/flask/(tout ce qui supporte uwsgi).
* un [[Tuto pour le déploiement des sites avec Docker]] pour n'importe quel site.
Et sinon n'hésite pas à aller voir vers d'autres langages et frameworks, il en existe pléthores, et pour des tonnes de langages, que ce soit du js jusqu'au haskell en passant par le python, le go, le rust et tant d'autres.


== Sans visibilité extérieure ==
Les sites internes en php sont hébergés sur [[Admin:Ostizan | Ostizan]] mais devraient être migrés.


Les sites internes sont hébergés sur [[Admin:Kevarzh | Kevarzh]].
{{Attention|Nous n'acceptons plus de demandes d'hébergement sur [[Admin:Ostizan | Ostizan]]. Si votre site est actuellement hébergé dessus n'hésitez pas à entrer en contact avec le [[BR]] (cf [[Accueil]]) pour le migrer sur [[Admin:Endalcher|Endalcher]] avec le [[Tuto pour le déploiement des sites avec Docker]]}}
== Modalités techniques de l'hébergement sur Ostizan==
L'hébergement classique offert par le BR présente les caractéristiques suivantes :
* Capacité de stockage limitée à 200Mo par défaut. Il est possible d'obtenir plus sur demande.
* Serveur apache avec PHP 7
* Base de données MySQL
* Accès en HTTPS/HTTP
* Hébergement Django/Flask avec uWSGI


L'administration du site se fait par accès ftp en écriture, ouvert à tous les administrateurs Frankiz du binet considéré, ce qui nécessite d'identifier chaque site hébergé sur Kevarzh à un unique groupe Frankiz.
Si vous avez des besoins plus spécifiques, n'hésitez pas à nous en parler.
 
== Accès au site ==
 
L'administration du site se fait par [[SSH]]. Il est ouvert à tous les administrateurs du binet considéré, et à eux seuls. Pour cela, utilisez vos identifiants Sigma. Exemple de commande à utiliser : <code>ssh prenom.nom@id_sigma.binets.fr</code>, puis rentrez votre mot de passe lorsque celui vous est demandé.


L'écriture du site est bien entendu à la charge du webmaster du binet ; en cas de nécessité et pour une raison valable, un BRman pourra cependant proposer son aide.
L'écriture du site est bien entendu à la charge du webmaster du binet ; en cas de nécessité et pour une raison valable, un BRman pourra cependant proposer son aide.


L'adresse du site est alors mon_binet.binets.eleves.polytechnique.fr, ou plus simplement mon_binet.bin ;
L'adresse du site est alors mon_binet.binets.fr ou mon_binet.binets.eleves.polytechnique.fr ;
 
La base de données MySQL est accessible par un PhpMyAdmin : [http://phpmyadmin.binets.fr/ http://phpmyadmin.binets.fr/]. Le nom d'utilisateur correspond au nom du binet tel qu'il apparaît dans le nom de domaine. Le mot de passe a été donné au binet à la création de la base SQL ; le BR ne le possède pas et vous devez le passer à vos successeurs pour éviter de le perdre à tout jamais.
 
=== Modification des fichiers du site ===
 
Les fichiers se situent sur le serveur ostizan, dans le répertoire
 
<pre lang="sh">/hosting/www/nom_binet/</pre>
 
==== Avec Git (recommandé) ====
 
ostizan dispose d’une installation [[Git]].
 
Avec Git, vous pouvez garder un historique des versions successives de votre site, travailler à plusieurs, revenir en arrière quand vous avez cassé quelque chose, savoir qui a modifié quoi, quand … C’est un outil très puissant.
 
'''Prérequis :''' ''avoir une clef [[SSH]] activée sur votre compte sur ostizan''


Voir par exemple le site de la Diskhâle Classique : [http://dhc.binets.eleves.polytechnique.fr http://dhc.binets.eleves.polytechnique.fr] ou [http://dhc.bin http://dhc.bin].
Pour savoir comment configurer et construire un projet avec Git, référez-vous à la documentation. Vous pouvez héberger votre code chez nous sur [https://gitlab.binets.fr GitLab].


== Avec visibilité extérieure ==
Naviguez au dossier où vous voulez mettre votre site, par exemple <code>htdocs</code>:


=== Actuellement ===
<pre lang="sh">cd /hosting/www/nom_binet/htdocs</pre>
et initialisez un dépôt Git


Les sites binets en visibilité extérieure sont rarissimes et soumis à l'accord du Comité usages de publication numérique.
<pre lang="sh">git init</pre>
Si cela a fonctionné, le terminal répondra


Les visibilités extérieures historiques des binets encore actives sont vouées à disparaître en l'absence de cette autorisation.
<pre>Initialized empty Git repository in /hosting/www/nom_binet/htdocs/.git</pre>
Ajoutez maintenant une ''remote'' qui pointera vers là où vous hébergez votre code, par exemple


=== Dans le futur ===
<pre lang="sh">git remote add origin git@gitlab.binets.fr:domaine/site.git</pre>
pour un site dont le code est hébergé sur le GitLab, ou


Le BR compte s'équiper d'un VPS permettant d'héberger des sites binets avec visibilité extérieure indépendamment des autorités de l’École.
Ensuite, faites


Les sites souhaitant un site avec visibilité depuis l'extérieur devront respecter la charte suivante :
<pre lang="sh">git pull origin master</pre>
pour cloner le dépôt (si la ''remote'' que vous avez ajouté s’appelle <code>origin</code> et que votre code est sur la branche <code>master</code>).
 
==== En SFTP ====
 
Pour accéder aux fichiers, on peut utiliser un client sftp (comme [https://filezilla-project.org/download.php?type=client FileZilla] ou [https://winscp.net/eng/index.php WinSCP]) et accéder au serveur <code>sftp://id_sigma.binets.fr</code> sur le port 22.
 
Le serveur SFTP demande un login / mot de passe qui correspondent exactement à ceux du compte Sigma. Le dossier <code>sftp://id_sigma.binets.fr/www/id_sigma/htdocs/</code> correspond au site <code>http://id_sigma.binets.fr/</code>. Les fichiers qui ne sont pas dans htdocs ne sont pas accessibles directement par un navigateur, mais un script php peut y accéder.
 
=== Avec visibilité extérieure ===
 
Le BR a un partenariat avec la DSI qui lui permet d'exposer certains sites à l'extérieur. Ils feront l'objet d'[[un audit de sécurité]] par le BR et la DSI. Pour le passer, il faut respecter les dernières recommandations de sécurité, notamment pour tout ce qui est authentification, contenu dynamique. Notons cependant que cela ne devrait pas poser de problèmes pour les sites statiques.
 
Les sites souhaitant un site avec visibilité depuis l'extérieur doivent dorénavant respecter la charte suivante :


*Aucune information ne doit être diffusée qui pourrait nuire à l'image de l’École. (photos, vidéos, etc.)
*Aucune information ne doit être diffusée qui pourrait nuire à l'image de l’École. (photos, vidéos, etc.)
Ligne 36 : Ligne 92 :
*Les images présentes sur le site ne doivent avoir une résolution suffisamment faible afin de ne pas saturer la bande passante vers l'extérieur.
*Les images présentes sur le site ne doivent avoir une résolution suffisamment faible afin de ne pas saturer la bande passante vers l'extérieur.


*Le BR offre ce service gratuitement, en partie grâce à une subvention de la Kès. Il se réserve le droit de refuser ou d'interrompre l'hébergement d'un site, sans préavis, sans recours possible et sans avoir à fournir de motif. Il s'engage à en informer immédiatement le bureau du binet concerné.
{{Attention|Si le site concerne un événement extérieur avec un public de plus de 50 personnes, la DSI demande à ce que la DIRCOM soit prévenue.}}


== Modalités techniques ==
== Quotas ==
L'hébergement offert par le BR présente les caractéristiques suivantes :
* Capacité de stockage limitée à 100Mo par défaut. Mais il est possible d'obtenir plus sur demande.
* Serveur apache avec PHP 5.3
* Base de données mySQL
* Possibilité d'accès en https pour votre site sur demande.


Si vous avez des besoins plus spécifiques, n'hésitez pas à nous en parler.
Attention ! L'espace réservé à chaque binet est limité. Il faut se méfier quand on fait une copie, notamment a l'environnement virtuel. D'abord il pèse lourd, en plus il faudra que vous le remplaciez de toute façon. Autant ne pas le copier dès le départ...
Pour savoir si vous avez dépassé votre quota :
quota -sg
Cette commande affiche, pour chaque binet, l'espace utilisé, une «soft limit» et la vraie («hard») limit.

Version actuelle datée du 9 septembre 2024 à 02:44

Le BR propose aux binets qui le désirent d'héberger gratuitement leur site web.

Cet hébergement s'organise selon deux formules, avec ou sans la possibilité d'accéder au site de l'extérieur du Plâtal.

Pour demander l'hébergement de ton site, ouvre une tâche Panix en précisant l'identifiant du groupe/binet au nom duquel tu fais la demande (si tu ne le connais pas, donne le lien vers le groupe/binet sur Sigma).

Réfléchis bien a quel va être le cahier des charges de ton site avant de te lancer. S'il n'est qu'un blog n'hésite pas à chercher des solutions permettant de t'éviter de développer un site from scratch en php ou avec django, et penche toi du côté de solutions telles que jekyll, hugo avec forestry, nextjs avec vercel et plein d'autres. Si ton site aura besoin d'un vrai backend dans ce cas poursuis ta lecture.

Tu peux également demander à mettre une authentification CAS, openID, ou encore protéger ton site par un portail d'authentification global si ton site est déployé sous docker (i.e. tu peux considérer que l'utilisateur est déjà connecté une fois sur le site).

En fonction des technologies utilisées, on a différents tuto à te proposer:

Et sinon n'hésite pas à aller voir vers d'autres langages et frameworks, il en existe pléthores, et pour des tonnes de langages, que ce soit du js jusqu'au haskell en passant par le python, le go, le rust et tant d'autres.

Les sites internes en php sont hébergés sur Ostizan mais devraient être migrés.

Warning.png Attention : Nous n'acceptons plus de demandes d'hébergement sur Ostizan. Si votre site est actuellement hébergé dessus n'hésitez pas à entrer en contact avec le BR (cf Accueil) pour le migrer sur Endalcher avec le Tuto pour le déploiement des sites avec Docker

Modalités techniques de l'hébergement sur Ostizan

L'hébergement classique offert par le BR présente les caractéristiques suivantes :

  • Capacité de stockage limitée à 200Mo par défaut. Il est possible d'obtenir plus sur demande.
  • Serveur apache avec PHP 7
  • Base de données MySQL
  • Accès en HTTPS/HTTP
  • Hébergement Django/Flask avec uWSGI

Si vous avez des besoins plus spécifiques, n'hésitez pas à nous en parler.

Accès au site

L'administration du site se fait par SSH. Il est ouvert à tous les administrateurs du binet considéré, et à eux seuls. Pour cela, utilisez vos identifiants Sigma. Exemple de commande à utiliser : ssh prenom.nom@id_sigma.binets.fr, puis rentrez votre mot de passe lorsque celui vous est demandé.

L'écriture du site est bien entendu à la charge du webmaster du binet ; en cas de nécessité et pour une raison valable, un BRman pourra cependant proposer son aide.

L'adresse du site est alors mon_binet.binets.fr ou mon_binet.binets.eleves.polytechnique.fr ;

La base de données MySQL est accessible par un PhpMyAdmin : http://phpmyadmin.binets.fr/. Le nom d'utilisateur correspond au nom du binet tel qu'il apparaît dans le nom de domaine. Le mot de passe a été donné au binet à la création de la base SQL ; le BR ne le possède pas et vous devez le passer à vos successeurs pour éviter de le perdre à tout jamais.

Modification des fichiers du site

Les fichiers se situent sur le serveur ostizan, dans le répertoire

/hosting/www/nom_binet/

Avec Git (recommandé)

ostizan dispose d’une installation Git.

Avec Git, vous pouvez garder un historique des versions successives de votre site, travailler à plusieurs, revenir en arrière quand vous avez cassé quelque chose, savoir qui a modifié quoi, quand … C’est un outil très puissant.

Prérequis : avoir une clef SSH activée sur votre compte sur ostizan

Pour savoir comment configurer et construire un projet avec Git, référez-vous à la documentation. Vous pouvez héberger votre code chez nous sur GitLab.

Naviguez au dossier où vous voulez mettre votre site, par exemple htdocs:

cd /hosting/www/nom_binet/htdocs

et initialisez un dépôt Git

git init

Si cela a fonctionné, le terminal répondra

Initialized empty Git repository in /hosting/www/nom_binet/htdocs/.git

Ajoutez maintenant une remote qui pointera vers là où vous hébergez votre code, par exemple

git remote add origin git@gitlab.binets.fr:domaine/site.git

pour un site dont le code est hébergé sur le GitLab, ou

Ensuite, faites

git pull origin master

pour cloner le dépôt (si la remote que vous avez ajouté s’appelle origin et que votre code est sur la branche master).

En SFTP

Pour accéder aux fichiers, on peut utiliser un client sftp (comme FileZilla ou WinSCP) et accéder au serveur sftp://id_sigma.binets.fr sur le port 22.

Le serveur SFTP demande un login / mot de passe qui correspondent exactement à ceux du compte Sigma. Le dossier sftp://id_sigma.binets.fr/www/id_sigma/htdocs/ correspond au site http://id_sigma.binets.fr/. Les fichiers qui ne sont pas dans htdocs ne sont pas accessibles directement par un navigateur, mais un script php peut y accéder.

Avec visibilité extérieure

Le BR a un partenariat avec la DSI qui lui permet d'exposer certains sites à l'extérieur. Ils feront l'objet d'un audit de sécurité par le BR et la DSI. Pour le passer, il faut respecter les dernières recommandations de sécurité, notamment pour tout ce qui est authentification, contenu dynamique. Notons cependant que cela ne devrait pas poser de problèmes pour les sites statiques.

Les sites souhaitant un site avec visibilité depuis l'extérieur doivent dorénavant respecter la charte suivante :

  • Aucune information ne doit être diffusée qui pourrait nuire à l'image de l’École. (photos, vidéos, etc.)
  • Le site doit avoir une qualité visuelle, si ce n'est professionnelle, du moins très correcte.
  • Le site ne doit pas héberger de vidéos ou diffuser un flux vidéo (streaming). Toutes les vidéos du sites doivent être hébergées à l'extérieur. (Dalymotion, YouTube, etc.)
  • Les images présentes sur le site ne doivent avoir une résolution suffisamment faible afin de ne pas saturer la bande passante vers l'extérieur.
Warning.png Attention : Si le site concerne un événement extérieur avec un public de plus de 50 personnes, la DSI demande à ce que la DIRCOM soit prévenue.

Quotas

Attention ! L'espace réservé à chaque binet est limité. Il faut se méfier quand on fait une copie, notamment a l'environnement virtuel. D'abord il pèse lourd, en plus il faudra que vous le remplaciez de toute façon. Autant ne pas le copier dès le départ... Pour savoir si vous avez dépassé votre quota :

quota -sg

Cette commande affiche, pour chaque binet, l'espace utilisé, une «soft limit» et la vraie («hard») limit.