====== Docker pour le développement ======
Dans le cadre du réseau ARAMIS, nous vous proposons le **jeudi 10 octobre 2019** une journée **Docker pour le développement**.
L'objectif de cet atelier au format cours + TP est de présenter les fonctionnalités principales de l'outil et des cas d'utilisation typiques.
===== Intervenants =====
* Thomas Calmant, INRIA Grenoble
* Soraya Arias, INRIA Grenoble
* David Parsons, INRIA Lyon
* Françoise Conil, CNRS Lyon
===== Support =====
Les supports ont été déposés sur le wiki du projet GitLab utilisé pour le TP : https://gitlab.in2p3.fr/atelier-aramis-docker4dev/docker4dev/wikis/slides
===== Programme =====
Matin :
* Un peu de contexte
* Prise en main de Docker
* Interactions simples avec la machine hôte (volumes et réseau)
* Création d'une image Docker
* Comment lier des conteneurs entre eux (Docker Compose)
Après-midi :
* Sécurité et Docker
* Docker et le développement logiciel
* Intérêts : avantages, limitations
* Cas d'utilisations : (à partir de code source sur le gitlab de l'IN2P3)
* Débogage de code source en C/C++ avec [[https://code.visualstudio.com/#alt-downloads|VSCode]]
* Débogage de code source en Python avec [[https://code.visualstudio.com/#alt-downloads|VSCode]] (et possiblement avec [[https://www.jetbrains.com/education/download/#section=pycharm-edu|PyCharm]] et le PyCharm SSH Interpreter)
* Pour aller plus loin : NVidia, ARM, Windows, ...
===== TP =====
Repository avec le code des TP C++ et Python : https://gitlab.in2p3.fr/atelier-aramis-docker4dev/docker4dev
Instructions à suivre pour les TP : https://gitlab.in2p3.fr/atelier-aramis-docker4dev/docker4dev/wikis/home
===== Pré-requis =====
* Amener votre portable et **être administrateur** de votre machine
* Avoir un serveur X qui tourne sur votre machine et accepte les connexions distantes
* Sur Windows, nous recommandons [[https://mobaxterm.mobatek.net/download-home-edition.html|MobaXterm]]
* Sur MacOS vous devriez avoir XQuartz déjà installé. Pour autoriser les connexions depuis VSCode, allez dans "XQuartz > Préférences", allez dans l'onglet "Sécurité" et cochez "Autoriser les connexions de clients réseau"
* Avoir [[https://docs.docker.com/install/#support | installé Docker]]
* Si vous êtes sous Windows, il faut disposer de Windows 10 pro et installer [[https://docs.docker.com/docker-for-windows/install/ | Docker for Windows]] (**attention : ne pas installer Docker Toolbox**
* Si vous voulez faire le TP C++:
* Exécuter la commande : **docker pull debian:9**
* Si vous voulez faire le TP python
* Exécuter la commande : **docker pull python:3**
* Avoir installé [[https://git-scm.com/downloads | git]] sur sa machine
* Avoir installé [[https://code.visualstudio.com/#alt-downloads|VSCode]]
* **Attention : ne pas installer [[https://github.com/VSCodium/vscodium|VSCodium]] qui ne supporte pas encore le Remote Development Extension pack)**
* Installer les extensions VSCode :
* [[https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker|Docker]] et [[https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers|Remote-Containers]]
* //Optionnel// :
* Avoir installé [[https://www.jetbrains.com/education/download/#section=pycharm-edu|PyCharm Pro licence Education]]
* Disposer d'un environnement valide pour l'utilisation de SSH
* sinon [[http://www.linux-france.org/prj/edu/archinet/systeme/ch13s03.html|configurer SSH sur votre poste de travail]] (nécessaire pour la partie TP)
* Avoir créé un compte sur le GitLab de l'IN2P3 : https://gitlab.in2p3.fr/users/sign_in (il y a un bouton Shibboleth si vous êtes académiques ou IN2P3)
* Signaler aux organisateurs si vous n'avez pas de compte eduroam et qu'il vous faut un compte wifi
La connexion réseau se fera à travers le Wifi : veillez à installer les outils demandés dans les [[ateliers:docker-pour-le-developpement-20191010#pre-requis|pré-requis]] avant de venir à l'atelier sinon vous risquez d'être bloqués pour faire la partie TP.
===== Inscription =====
**Date** : jeudi 10 octobre de 9h30 à 16h30
L'accès à l'atelier est **limité à 30 personnes**, merci de vous **inscrire** via l'evento suivant :
https://evento.renater.fr/survey/atelier-aramis-docker-pour-le-developpement-8961eahf
Les frais de mission et demandes d'ordre de mission seront à la charge des participants
**Lieu** :
Le lieu est le **Centre de Calcul de l'IN2P3/CNRS** sur le campus de la Doua à Villeurbanne.
http://cc.in2p3.fr/contact/
IL EST NÉCESSAIRE DE SE MUNIR D'UNE PIÈCE D'IDENTITÉ.
Il n'y aura ni visio, ni vidéo car la salle prévue n'est pas équipée.
===== Repas =====
Une pause déjeuner est prévue pour les participants à midi.