Contient le code des miroirs du Bac, permettant de synchroniser ceux-ci facilement depuis ce repo.
Go to file
Thomas Touhey 419fa15909 Added ETT program 2016-06-20 15:56:58 +02:00
css Finished correction phase 2016-06-07 23:41:36 +02:00
fichiers Added ETT program 2016-06-20 15:56:58 +02:00
images initialisation 2016-06-07 18:08:01 +02:00
2nd_degre.html Updated 2nd Degré 2016-06-20 14:50:33 +02:00
README.md Ajout d'un clin d'oeil 2016-06-08 18:54:48 +02:00
diophantienne.html Added Diophantienne to programs 2016-06-17 11:42:10 +02:00
ett_2016.html Added ETT program 2016-06-20 15:56:58 +02:00
fa_124.html Removed links to www.planet-casio.com 2016-06-09 18:25:46 +02:00
fa_124_nusb.html Removed links to www.planet-casio.com 2016-06-09 18:25:46 +02:00
fa_124_usb.html Removed links to www.planet-casio.com 2016-06-09 18:25:46 +02:00
index.html Added ETT program 2016-06-20 15:56:58 +02:00
main.html Continued cleaning 2016-06-07 22:50:22 +02:00
maths_ts_2016.html Made distinction between SH3/SH4 for Maths TS 2016-06-19 15:21:33 +02:00
pack_maths_2008.html Added tweak tutorial 2016-06-09 17:46:40 +02:00
pack_maths_2013.html Removed links to www.planet-casio.com 2016-06-09 18:25:46 +02:00
pack_maths_2014.html Corrected links to index, added robots.txt 2016-06-07 23:56:03 +02:00
pack_pc_2008.html Added tweak tutorial 2016-06-09 17:46:40 +02:00
pack_pc_2013.html Removed links to www.planet-casio.com 2016-06-09 18:25:46 +02:00
robots.txt Corrected links to index, added robots.txt 2016-06-07 23:56:03 +02:00
si_ts_2014.html Ajouté un programme de SI pour ne pas que ces gens-là soient trop dans la mouise 2016-06-16 20:48:46 +02:00
trinome_plus.html Added 2nd degré 2016-06-17 16:02:10 +02:00
tweak.html Added tweak tutorial 2016-06-09 17:46:40 +02:00

README.md

Planète Casio - Miroirs Bac

À l'approche du bac, Planète Casio reçoit beaucoup de requêtes et ne peut répondre à toutes. C'est pour cela qu'un système de miroirs a été créé : des sites contiennent une version très minimale de Planète Casio, avec les quelques tutoriels, quelques programmes et quelques manuels que les gens cherchent pour passer leur bac un peu plus sereinement.

Ce dépôt représente le contenu de l'ensemble des miroirs -- comprenez, l'ensemble des miroirs se synchronisent par rapport à ce dépôt. L'ensemble des ressources sont statiques (HTML, CSS, images, ...), donc rien de plus qu'un simple serveur web n'est requis.

Créer un miroir

Tout d'abord, puisque faire un miroir est là pour rendre service aux administrateurs, demandez-leur s'ils n'en ont pas déjà assez. De plus, faire un miroir est là pour prendre une partie du grand nombre de requêtes du site principal : assurez-vous d'avoir un serveur puissant ayant une solide connexion à Internet pour tenir la charge, par exemple un VPS chez un grand hébergeur.

Préférant utiliser nginx, je continuerai en le prenant lui. Si préférez utiliser Apache, vous n'avez pas besoin de cette note. Pour l'installer sous une distribution Debian-based, un sudo apt-get update && sudo apt-get install nginx devrait suffire, sinon, là encore, je pense que vous savez comment faire. Je suppose également que vous savez faire pointer un nom de domaine vers ce serveur (via des champs A et AAAA).

N'oubliez pas que ceci est un exemple et que vous pouvez bien entendu prendre vos libertés par rapport à cette base : mais quoi que vous fassiez, restez cohérent (gardez le même utilisateur et les mêmes dossiers tout le long).

Clônez dans un endroit accessible avec les droits r-x sur les dossiers et r-- sur les fichiers pour l'utilisateur www-data. L'exemple que je prendrai sera /home/prenom/pcmirror.

Ensuite, allez dans le dossier de configuration de nginx (/etc/nginx). Les deux dossiers vous intéressant sont sites-enabled et sites-available. Si vous ne comptez pas faire d'utilisation un peu complexe de nginx, remplacer le dossier sites-enabled par un simple lien symbolique sur sites-available peut être une bonne idée :

rm -rf sites-enabled
ln -sf sites-available sites-enabled

Une fois ceci fait, allez dans sites-available et remplacez default par la configuration suivante :

server {
	listen 80 default_server;
	listen [::]:80 default_server;

	# content
	root /home/prenom/pcmirror;
	add_header X-Clacks-Overhead "GNU Terry Pratchett";
	location / {
		autoindex on;
	}
	location /.git {
		return 404;
	}
	location /README.md {
		return 404;
	}
}

Les deux instructions listen indiquent à nginx d'écouter sur le port 80 pour des requêtes faites en IPv4 et en IPv6. Le root indique la racine du site. Remplacez-la par là où vous avez clôné le dépôt. La première location indique que s'il n'y a pas d'index, on peut lister les fichiers présents dans le dossier, les deux autres indiquent à nginx que pour toute requête commençant par /.git ou /README.md, il faut renvoyer une 404, ce qui masque ces fichiers-là aux yeux du monde. Le X-Clacks-Overhead est un clin d'oeil, allez voir de ce côté pour comprendre.

Plus qu'à recharger nginx (sur une debian-based, il suffit de faire service nginx reload), et voilà ! Votre miroir est en ligne !

Mettre à jour son miroir automatiquement

Cependant, si le dépôt est mis à jour, votre miroir ne le sera plus, et c'est un problème, car les cours peuvent être modifiés, ou de nouveaux peuvent être ajoutés ! Le meilleur est de faire une cron pour mettre à jour tous les quarts d'heure (par exemple).

Pour cela, créez un fichier /home/prenom/pcmirror.cron avec ceci dedans :

#!/bin/sh
LOGFILE=/home/prenom/pcmirror.log
echo "[$(date + '%d-%m-%Y %H:%M:%S')] $1" >> $LOGFILE
cd /home/prenom/pcmirror
git pull origin master 2>&1 | cat >> $LOGFILE

Et n'oubliez pas, une fois sauvegardé, de faire :

chmod +x /home/prenom/pcmirror.cron

Puis faites crontab -e et mettez dedans :

0,15,30,45 * * * * /home/prenom/pcmirror.cron

Et voilà ! Tous les quarts d'heure, votre miroir sera mis à jour. Vous pouvez voir les logs dans /home/prenom/pcmirror.log.