Api/casoft Run : Projet individuel

Objectifs

Mettre en place et administrer son propre serveur

Étape 1 : Hello serveur

À la fin de cette première journée, nous voulons une bonne base de serveur :

  • À jour et avec quelques utilitaires (mtr, nano, htop, tmux)

  • Avec un compte autre que root

  • Avec des accès SSH sécurisés

  • Accessible depuis internet avec un nom de domaine

Pour vérifier que tout va bien, nous allons faire deux pages HTML simples.

Récupérer les informations suivantes sur son serveur :

  • Le nom de votre utilisateur

  • La distribution utilisée

  • La version de noyau Linux utilisée

  • La taille de la mémoire RAM

  • La taille du disque dur

Mettre en page ces informations dans un fichier HTML infos.html accessible depuis internet.

Écrire une seconde page projet.html qui décrit succinctement les objectifs de Run selon vous

Étape 2 : Hello web

Reprendre le fichier projet.html d'hier et faire en sorte de récupérer dynamiquement les informations du serveur à l'aide de PHP dans un fichier infos.php :

  • Le nom de l'utilisateur actuel

  • La distribution utilisée

  • La version de noyau Linux utilisée

  • La taille de la mémoire RAM disponible et totale

  • La taille de stockage disponible et totale

Créer dans deux autres sous-site :

  1. Une liste des 10 commandes Linux les plus importantes

  2. Vos 10 conseils à ceux qui souhaitent s'auto-héberger

Les données des deux sous-sites seront stockées dans une base de donnée PostgreSQL.

Étape 3 : Hello Docker

Ajouter un ou plusieurs service conteneurisé sur son serveur : Ngnix, DokuWiki, (Nextcloud, mais c'est un peu lourd)...

Étape 4 : Docker ++

Déployer les sites web de l'étape 2 sous forme de containers :

  • Proxy

  • Site projet : web et php

  • Site commandes : web, php et postgres

  • Site conseils : web, php et postgres

Le tout sera lancé avec un seul docker compose et utilisera si besoin des images custom.

On prendra soin d'écrire une courte documentation (README.md) sur le fonctionnement de votre solution (comment build, comment lancer, comment éditer une conf, etc) avec un lien vers votre site de « démo ».

Finalement, on mettra tout cela en forme dans un repository Git sur le Gitlab UTC et on publiera l'URL sur l'équipe Mattermost pour que tout le monde puisse jouer avec.

Liste des raccourcis clavier

Liste des fonctions de navigation et leurs raccourcis clavier correspondant :

  • Bloc Suivant : flèche droite, flèche bas, barre espace, page suivante, touche N
  • Bloc Précédent : flèche gauche, flèche haut, retour arrière, page précédente, touche P
  • Diapositive Suivante : touche T
  • Diapositive Précédente : touche S
  • Retour accueil : touche Début
  • Menu : touche M
  • Revenir à l'accueil : touche H
  • Fermer zoom : touche Échap.