Commit 83ed9c92 authored by CHAMONT David's avatar CHAMONT David
Browse files

Réintègre les conseils pour écrire les plongeons.

parent c0a2f5fa
......@@ -7,14 +7,6 @@ des tutoriels courts (15 à 20 minutes), auto-suffisants, nécessitant le moins
d'installation possible, notamment en s'appuyant sur des images Docker ou
VirtualBox.
Vous êtes libre d'essayer les plongeons de votre choix, à votre rythme.
# Contribuer aux plongeons
Nous cherchons à élargir au maximum le champ des propositions
et des technologies. Si vous avez un sujet qui vous tient à coeur ou qui
vous semble important, n'hésitez pas à contribuer. Il ne s'agit pas d'écrire
un document d'expert, mais d'aider vos collègues à se mettre à l'eau.
# Préparation aux plongeons
......@@ -24,7 +16,7 @@ Les tutoriels que nous vous proposons devront être exécutés sur vos ordinateu
portables, par le biais d'images Docker ou de machines virtuelles VirtualBox.
Pour cette raison, nous vous demandons d'installer et de vous familiariser
avec Docker et VirtualBox, avant d'essayer les autres plongeons.
avec Docker et/ou VirtualBox, selon les plongeons que vous voulez essayer.
Vous veillerez à avoir une quantité raisonnable d'espace libre sur vos
ordinateurs portables, car les machines virtuelles sont gourmandes...
......@@ -55,3 +47,153 @@ comprend un serveur X11, vous pouvez aussi tenter `setxkbmap fr`.
parfois celui de droite fonctionne.
# Contribuer aux plongeons
Nous cherchons à élargir au maximum le champ des propositions
et des technologies. Si vous avez un sujet qui vous tient à coeur ou qui
vous semble important, n'hésitez pas à contribuer. Il ne s'agit pas d'écrire
un document d'expert, mais d'aider vos collègues à se mettre à l'eau. Ci-dessous,
quelques recommandations pour uniformiser les plongeons et faciliter la vie des
nageurs.
## Répertoire et fichiers
Tout ce qui constitue un plongeon doit être placé dans un sous-répertoire
dédié du projet gitlab présent. Par défaut, nommez votre répertoire en
CamelCase, en commencant par un préfixe discirminant ("Cpp", "Ada", ...), de
sorte que les plongeons de même thème apparaitront groupés dans la liste
de répertoires.
L'énoncé sera placé dans un fichier `README.md`. Le répertoire contiendra
également tous les fichiers de données, d'exemples et d'exercices.
Si vous utilisez une image Docker spécifique, vous placerez aussi le(s)
Dockerfile(s) dans ce répertoire, et les images produites dans l'organisation
"piscineri3" de "hub.docker.com".
## Modèle d'énoncé
Nous suggérons d'écrire l'énoncé du plongeon dans le fichier README.md
du sous-répertoire correspondant au plongeon.
En entête, placez ce genre de liste :
* prérequis : connaissance du C++ historique.
* hauteur du plongeoir : 5m.
* préinstallation : Docker, image `piscineri3/gcc6.1:3`.
* fichiers : https://gitlab.in2p3.fr/MaitresNageurs/PiscineJI/tree/master/CppMove
* maître(s) nageur(s) : ...
La difficulté s'exprime en hauteur de plongeoir : 1, 3, 5 ou 10m.
Placez ensuite une section "Vérification de votre environnement de travail",
permettant de s'assurer que tout l'outillage nécessaire sur le poste de
travail est opérationnel, avant d'entrer dans le vif du sujet.
En fin de plongeon, nous suggérons un questionnaire :
```
## Sortie de bain
Merci d'envoyer quelques commentaires à l'auteur :
* Environnement de travail opérationnel ? oui [ ], non [ ]
* Vous aviez les pre-requis ? oui [ ], non [ ]
* Comment jugez-vous la difficulté du plongeon ? trop simple [ ], adapté [ ], trop compliqué [ ]
* Durée du plongeon ? trop court [ ], 15-20 minutes [ ], trop long [ ]
* Pourquoi avez-vous choisi ce plongeon ? :
* Signalement de typos, erreurs, etc :
* Commentaires libres :
```
Une section d'URL sur vos sources et références, où des
liens pour aller plus loin.
```
## Sources
* [What's new in Python 3](https://docs.python.org/3/whatsnew/3.0.html)
* ...
```
Et un petit copyright :
```
---
© *CNRS 2016*
*Assemblé et rédigé par Maitre Perus, cette œuvre est mise à disposition selon les termes de la*
*[Licence Creative Commons - Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International](http://creativecommons.org/licenses/by-nc-sa/4.0/)*
```
## Conseils divers
### --rm
Si vous utilisez les conteneurs pour des actions ponctuelles, comme
une compilation, n'oubliez pas l'option `--rm` sur votre commande
`docker run`, sans quoi vous allez laisser beaucoup de conteneurs
arrêtés et "invisibles" sur les machines des nageurs.
### différencier les prompts
Quand vous mettez des exemples de commandes dans l'énoncé de votre
plongeon, utilisez des prompts différents selon qu'il s'agit de
commandes à exécuter dans la fenêtre de commandes de la machine hôte,
ou au sein d'un conteneur.
## Faire une image spécifique au plongeon
Ajouter un Dockerfile dans votre répertoire.
J'ai bien aimé cette [présentation sur Dockerfile](http://putaindecode.io/fr/articles/docker/dockerfile/).
Si vous voulez vous protéger des éventuels problèmes de montages de volume
des utilisateurs Windows, vous pouvez intégrer à votre image une copie des
fichiers de votre répertoire, ainsi que des outils d'édition. Par exemple,
pour fabriquer `piscineri3/gcc61` en version 2 :
```
FROM gcc:6.1
RUN apt-get update \
&& apt-get install -y apt-utils \
&& apt-get install -y vim \
&& apt-get install -y x11-apps \
&& apt-get install -y xemacs21 \
&& rm -rf /var/lib/apt/lists/*
ADD . /work
WORKDIR /work
```
Suivi de la commande :
```shell
docker build -t piscineri3/gcc61:2 .
```
Mais ATTENTION : si les nageurs éditent, au sein du conteneur, les fichiers
ainsi fournis dans le répertoire `/work`, et si ils quittent ou tuent le
conteneur, toutes les modifications aux fichiers sont perdues...
## Mettre vos images dans le Hub
1. Demander à être dans l'équipe `owners` de l'organisation `piscineri3`.
1. Redonner un nom adéquat à votre image. En imaginant qu'elle existe déjà
avec le nom `gcc61`, la version `2` et l'id `7d9495d03763` :
```
docker tag 7d9495d03763 piscineri3/gcc61:2
```
1. Se faire reconnaître du Hub :
```
docker login
```
1. Pousser :
```
docker push piscineri3/gcc61:2
```
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment