2016-09-08 01:44:20 +00:00
|
|
|
|
\newpage
|
|
|
|
|
|
2016-09-08 02:40:34 +00:00
|
|
|
|
Projet et rendu
|
|
|
|
|
===============
|
2016-09-08 01:44:20 +00:00
|
|
|
|
|
2017-10-08 22:08:33 +00:00
|
|
|
|
## Projet
|
2016-09-08 01:44:20 +00:00
|
|
|
|
|
2017-10-16 20:59:22 +00:00
|
|
|
|
Écrivez un script `mycloud-run.sh` pour automatiser le lancement de votre
|
2018-10-03 08:56:13 +00:00
|
|
|
|
instance personnelle [`nextcloud`](https://hub.docker.com/_/nextcloud/) ou
|
|
|
|
|
d'[`owncloud`](https://hub.docker.com/r/owncloud/server/). Une attention
|
|
|
|
|
particulière devra être apportée à la manière dont vous gérerez le rappel du
|
|
|
|
|
script pour éventuellement relancer un conteneur qui se serait arrêté
|
|
|
|
|
(évidemment sans perdre les données).
|
2016-09-08 01:44:20 +00:00
|
|
|
|
|
2017-10-08 22:08:33 +00:00
|
|
|
|
À la fin de son exécution, le script affichera un lien utilisable sur l'hôte
|
|
|
|
|
pour se rendre sur la page de connexion. Une autre machine de votre réseau
|
|
|
|
|
local devrait également pouvoir accéder à la plate-forme, simplement en
|
|
|
|
|
renseignant l'IP de votre machine et en ajoutant éventuellement des règles de
|
|
|
|
|
pare-feu (mais cette dernière partie n'est pas demandée, gardez simplement en
|
2022-02-24 19:43:43 +00:00
|
|
|
|
tête que cela doit pouvoir être fait manuellement au cas par cas : sur une
|
2017-10-08 22:08:33 +00:00
|
|
|
|
machine sans pare-feu configurée, cela ne demande pas d'étape supplémentaire).
|
2016-09-08 01:44:20 +00:00
|
|
|
|
|
2017-10-08 22:08:33 +00:00
|
|
|
|
Votre script devra se limiter aux notions vues durant ce TP (ie. sans utiliser
|
|
|
|
|
`docker-compose` ou `docker stack` que l'on verra au prochain TP). Il pourra
|
|
|
|
|
cependant faire usage des commandes `docker OBJECT inspect` pour ne pas avoir à
|
2017-10-16 20:59:22 +00:00
|
|
|
|
faire d'analyse syntaxique sur les retours des commandes lisibles par les
|
|
|
|
|
humains.
|
2016-09-08 01:44:20 +00:00
|
|
|
|
|
2017-10-08 22:08:33 +00:00
|
|
|
|
Cette instance devra utiliser une base de données MySQL (lancée par vos soins
|
|
|
|
|
dans un autre conteneur) et contenir ses données dans un ou plusieurs volumes
|
|
|
|
|
(afin qu'elles persistent à une mise à jour des conteneurs par exemple).
|
2016-09-08 01:44:20 +00:00
|
|
|
|
|
2017-10-08 22:08:33 +00:00
|
|
|
|
L'exécution doit être la plus sécurisée possible (pas de port MySQL exposé sur
|
|
|
|
|
l'hôte par exemple, etc.) et la plus respectueuse des bonnes pratiques que l'on
|
|
|
|
|
a pu voir durant ce premier cours.
|
2016-09-08 01:44:20 +00:00
|
|
|
|
|
|
|
|
|
|
2018-10-03 08:56:13 +00:00
|
|
|
|
### Exemple d'exécution
|
|
|
|
|
|
|
|
|
|
<div lang="en-US">
|
2018-11-16 01:38:41 +00:00
|
|
|
|
```bash
|
|
|
|
|
42sh$ ./mycloud-run.sh
|
|
|
|
|
http://localhost:12345/
|
|
|
|
|
42sh$ #docker kill db
|
|
|
|
|
42sh$ ./mycloud-run.sh # le script relancera une base de données,
|
|
|
|
|
# sans avoir perdu les données
|
|
|
|
|
http://localhost:12345/
|
2018-10-03 08:56:13 +00:00
|
|
|
|
```
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
2016-09-08 01:44:20 +00:00
|
|
|
|
## Modalité de rendu
|
|
|
|
|
|
2017-10-04 23:42:56 +00:00
|
|
|
|
Un service automatique s'occupe de réceptionner vos rendus, de faire des
|
|
|
|
|
vérifications élémentaires et de vous envoyer un accusé de réception (ou de
|
2016-09-08 01:44:20 +00:00
|
|
|
|
rejet).
|
|
|
|
|
|
|
|
|
|
Ce service écoute sur l'adresse <virli@nemunai.re>, c'est donc à cette adresse
|
|
|
|
|
et exclusivement à celle-ci que vous devez envoyer vos rendus. Tout rendu
|
2016-09-15 00:47:01 +00:00
|
|
|
|
envoyé à une autre adresse et/ou non signé et/ou reçu après la correction ne
|
|
|
|
|
sera pas pris en compte.
|
2016-09-08 01:44:20 +00:00
|
|
|
|
|
2017-10-04 23:42:56 +00:00
|
|
|
|
Par ailleurs, n'oubliez pas de répondre à
|
2018-10-03 08:56:13 +00:00
|
|
|
|
[l'évaluation du cours](https://www.epitaf.fr/moodle/mod/quiz/view.php?id=213).
|
2017-10-04 23:42:56 +00:00
|
|
|
|
|
2016-09-08 01:44:20 +00:00
|
|
|
|
|
|
|
|
|
## Tarball
|
|
|
|
|
|
|
|
|
|
Tous les fichiers identifiés comme étant à rendre pour ce TP sont à
|
2022-02-24 19:43:43 +00:00
|
|
|
|
placer dans une tarball (pas d'archive ZIP, RAR, ...).
|
2016-09-08 01:44:20 +00:00
|
|
|
|
|
|
|
|
|
Voici une arborescence type:
|
|
|
|
|
|
2017-10-17 06:29:07 +00:00
|
|
|
|
<div lang="en-US">
|
2016-09-08 01:44:20 +00:00
|
|
|
|
```
|
2018-11-16 01:38:41 +00:00
|
|
|
|
login_x-TP1/
|
|
|
|
|
login_x-TP1/mycloud-run.sh
|
2016-09-08 01:44:20 +00:00
|
|
|
|
```
|
2017-10-17 06:29:07 +00:00
|
|
|
|
</div>
|
2016-09-08 01:44:20 +00:00
|
|
|
|
|
|
|
|
|
## Signature du rendu
|
|
|
|
|
|
2022-02-24 19:43:43 +00:00
|
|
|
|
Deux méthodes sont utilisables pour signer votre rendu :
|
2016-09-08 01:44:20 +00:00
|
|
|
|
|
|
|
|
|
* signature du courriel ;
|
|
|
|
|
* signature de la tarball.
|
|
|
|
|
|
|
|
|
|
Dans les deux cas, si vous n'en avez pas déjà une, vous devrez créer une clef
|
2017-10-16 20:59:22 +00:00
|
|
|
|
PGP à **votre nom et prénom**.
|
2016-09-08 01:44:20 +00:00
|
|
|
|
|
|
|
|
|
Pour valider la signature, il est nécessaire d'avoir reçu la clef publique
|
|
|
|
|
séparément. Vous avez le choix de l'uploader sur un serveur de clefs, soit de
|
|
|
|
|
me fournir votre clef en main propre, soit l'envoyer dans un courriel distinct.
|
|
|
|
|
|
|
|
|
|
### Signature du courriel
|
|
|
|
|
|
|
|
|
|
[Enigmail](https://enigmail.net) est une extension très bien réputée pour
|
|
|
|
|
signer ses mails depuis Thunderbird.
|
|
|
|
|
|
|
|
|
|
Utilisez le service automatique <signcheck@nemunai.re> pour savoir si votre
|
|
|
|
|
courriel est correctement signé et que je suis en mesure de vérifier la
|
|
|
|
|
signature.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Astuces
|
|
|
|
|
|
|
|
|
|
#### No public key
|
|
|
|
|
|
2022-02-24 19:43:43 +00:00
|
|
|
|
Si vous recevez un rapport avec l'erreur suivante :
|
2016-09-08 01:44:20 +00:00
|
|
|
|
|
2017-10-17 06:29:07 +00:00
|
|
|
|
<div lang="en-US">
|
2016-09-08 01:44:20 +00:00
|
|
|
|
```
|
2018-11-16 01:38:41 +00:00
|
|
|
|
[FAIL] Bad signature. Here is the gnupg output:
|
2016-09-08 01:44:20 +00:00
|
|
|
|
|
2018-11-16 01:38:41 +00:00
|
|
|
|
gpg: Signature made Tue Jan 01 16:42:23 2014 CET
|
|
|
|
|
gpg: using RSA key 842807A84573CC96
|
2019-10-16 01:54:56 +00:00
|
|
|
|
gpg: requesting key E2CCD99DD37BD32E from hkp server keys.openpgp.org
|
2018-11-16 01:38:41 +00:00
|
|
|
|
gpg: Can't check signature: No public key
|
2016-09-08 01:44:20 +00:00
|
|
|
|
```
|
2017-10-17 06:29:07 +00:00
|
|
|
|
</div>
|
2016-09-08 01:44:20 +00:00
|
|
|
|
|
2019-10-16 01:54:56 +00:00
|
|
|
|
C'est que votre clef publique n'est pas dans mon trousseau et que les
|
|
|
|
|
méthodes de récupération automatique n'ont pas permis de la
|
|
|
|
|
trouver. Uploadez votre clef sur [un serveur de
|
|
|
|
|
clefs](https://keys.openpgp.org/) ou envoyez un courriel au service
|
|
|
|
|
avec votre clef publique en pièce-jointe, avant de retenter votre
|
|
|
|
|
rendu.
|
2016-09-08 01:44:20 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### Not explicit username
|
|
|
|
|
|
2022-02-24 19:43:43 +00:00
|
|
|
|
Si vous recevez un rapport avec l'erreur suivante :
|
2016-09-08 01:44:20 +00:00
|
|
|
|
|
2017-10-17 06:29:07 +00:00
|
|
|
|
<div lang="en-US">
|
2016-09-08 01:44:20 +00:00
|
|
|
|
```
|
2018-11-16 01:38:41 +00:00
|
|
|
|
[FAIL] The username of your key is not explicit, I can't find you.
|
2016-09-08 01:44:20 +00:00
|
|
|
|
```
|
2017-10-17 06:29:07 +00:00
|
|
|
|
</div>
|
2016-09-08 01:44:20 +00:00
|
|
|
|
|
|
|
|
|
Votre clef ne contient sans doute pas vos noms et prénoms ou l'adresse
|
|
|
|
|
électronique associée à la clef n'est pas celle que j'ai dans ma base de
|
|
|
|
|
données.
|
2017-10-04 23:42:56 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### I've decided to skip your e-mail
|
|
|
|
|
|
2022-02-24 19:43:43 +00:00
|
|
|
|
Si vous recevez un rapport concluant ainsi :
|
2017-10-04 23:42:56 +00:00
|
|
|
|
|
2017-10-17 06:29:07 +00:00
|
|
|
|
<div lang="en-US">
|
2017-10-04 23:42:56 +00:00
|
|
|
|
```
|
2018-11-16 01:38:41 +00:00
|
|
|
|
After analyzing your e-mail, I've decided to SKIP it.
|
2017-10-04 23:42:56 +00:00
|
|
|
|
```
|
2017-10-17 06:29:07 +00:00
|
|
|
|
</div>
|
2017-10-04 23:42:56 +00:00
|
|
|
|
|
2017-10-16 20:59:22 +00:00
|
|
|
|
Cela signifie que la lecture de votre courriel qui a été préférée n'est pas
|
2017-10-04 23:42:56 +00:00
|
|
|
|
celle d'un rendu. Vérifiez que vous n'envoyez pas votre clef publique avec
|
|
|
|
|
votre rendu.
|