Matériel pédagogique interactif (devoirs)

Cette page décrit, une fois que vous avez accès aux logiciels requis, comment accéder au matériel pédagogique interactif (devoirs) pour travailler dessus.

Aide-mémo des commandes

Consulter la documentation:

   info-111

Télécharger ou mettre à jour un devoir (ici pour la semaine 1):

   info-111 fetch Semaine1

Déposer/soumettre un devoir (ici pour la semaine 1 et un étudiant du groupe MI2):

   info-111 submit Semaine1 MI2

Groupes: MI1 MI2 MI3 MI4 InfoMath1 InfoMath2 EcoMath MathSV CandidatsLibres

Lancer le notebook Jupyter (inutile sur le service JupyterHub):

   info-111 jupyter notebook

Compiler un programme (ici essai.cpp):

   info-111 g++ essai.cpp -o essai

Généralités

Chaque semaine, vous téléchargerez le sujet d’un «devoir», c’est-à-dire un répertoire contenant le matériel pédagogique: sujet de TD, de TP, éventuellement documents de cours. En semaine 1, ce sera le devoir Semaine1 qui ira dans le répertoire ~/ProgImperative/Semaine1. Il y aura aussi devoir pour le projet.

Vous déposerez ensuite régulièrement votre devoir. Ce dépôt aura pour effet de sauvegarder votre travail sur la forge logicielle GitLab de l’université. Cela vous permettra de le transférer facilement entre les différents endroits où vous travaillerez dessus (salles de TP, service JupyterHub, …).

Cela permettra aussi à vos enseignants de se faire une idée de l’avancement général du groupe. Cela pourra aussi servir pour des TP notés (vous serez prévenu à l’avance par votre enseignant de TP).

Le matériel pédagogique est disponible pour tous, inscrits officiellement au cours ou auditeurs libres. En revanche, le dépôt sur la forge GitLab de l’université Paris Saclay n’est possible que pour les étudiants et personnels de l’université.

Innovation - expérimentation

Cette gestion des devoirs via GitLab est une innovation de cette année, menée en collaboration avec des collègues de l’université et de Montréal et inspirée notamment des «GitHub ClassRoom». Elle apporte de nombreux avantages: validation automatique sur votre travail, premiers contact avec les outils collaboratifs, etc. Elle en est cependant à un stade expérimental, avec des limitations temporaires:

Activer votre compte GitLab de l’université

Cette étape vous permettra de déposer vos devoirs. Elle n’est pas requise si vous êtes auditeur libre.

  1. Si ce n’est déjà fait, activez votre compte GitLab en vous connectant une première fois sur https://gitlab.u-psud.fr avec vos identifiants et mots de passe de l’université (Adonis). Veillez ici et dans tout le reste de ce document à utiliser vos identifiants longs de la forme prenom.nom.

  2. Voilà, c’est tout; vous pouvez vous déconnecter.

Ouvrir un terminal

Option 1: en salle de TP sous Linux

  1. Lancez un terminal. Pour cela vous pouvez utiliser le menu principal (bouton en bas à gauche) et cliquer sur «terminal».

Option 2: depuis Jupyter (par exemple avec le service JupyterHub)

  1. Depuis le navigateur de fichier, utiliser le menu New -> Terminal.

Commandes de base dans le terminal

Lister les fichiers:

ls

Se déplacer dans un répertoire XXX:

cd XXX

Créer un répertoire XXX:

   mkdir XXX

Astuces:

Démarrer Jupyter

Option 1: en salle de TP sous Linux

  1. Ouvrir un nouveau terminal.

  2. Tapez la commande:

    info-111 jupyter notebook
  3. Cette application ouvre une fenêtre dans votre navigateur web avec un navigateur de fichiers.

  4. Attention: le terminal où vous avez lancé Jupyter doit rester ouvert pendant toute votre utilisation de Jupyter!
    Le mieux est de le minimiser.

Option 2: avec JupyterHub ou le serveur de secours Binder

Jupyter est déjà lancé! Si vous êtes sur le terminal, vous avez juste à revenir sur le navigateur de fichiers, par exemple en cliquant sur l’icône Jupyter.

Télécharger ou mettre à jour un sujet

Dans un nouveau terminal, tapez les commandes suivantes, en validant avec la touche Entrée après chacune d’entre elles.

  1. Télécharger ou mettre à jour le sujet (ici pour la semaine 1):

    info-111 fetch Semaine1

    Votre terminal devrait ressembler à ceci:
    image

    Si vous n’avez pas de compte sur http://gitlab.u-psud.fr (par ex. auditeurs libres), vous pouvez alternativement utiliser:

    info-111 fetch-git Semaine1
  2. Vous pouvez maintenant naviguer – par exemple avec le navigateur de fichiers de Jupyter – jusqu’au répertoire ProgImperative/Semaine1 pour commencer à travailler. Une copie des instructions se trouve dans le fichier TP.pdf ou index.ipynb.

Déposer/soumettre votre travail

  1. Dans un nouveau terminal, tapez les instructions suivantes pour aller dans le répertoire ProgImperative et soumettre votre travail:

    info-111 submit Semaine1 MI1
  2. Une fois votre travail soumis, vous pouvez ouvrir l’adresse affichée (Clic-droit, Ouvrir le lien) pour consulter ce que vous avez soumis sur GitLab. Votre travail est maintenant sauvegardé et vous pouvez y accéder depuis chez vous.

Bonnes pratiques

Vos répertoires personnels en salle de TP et sur le service JupyterHub sont distincts. Si vous travaillez sur un devoir (par exemple Semaine3) de part et d’autre, il y a risque de conflit entre les deux versions.

Bonnes pratiques:

En cas de divergence ou conflit

Lorsque vous déposez votre travail avec submit, la commande peut échouer en indiquant qu’il y a des modifications sur votre dépôt GitLab que vous n’avez pas en local.

Voici deux scénarios types où cela peut se produire:

Lancez alors une mise à jour (fetch). Il y a des chances que cela se passe bien: les modifications sont automatiquement fusionnées. Dans le cas contraire, votre dossier Semaine1 sera renommé avec la date et l’heure Semaine1-2020-..., et la version déposée sur GitLab est téléchargée dans Semaine1. Vous devez alors résoudre le conflit: consultez les documents dans les deux dossiers et faites le nécessaire pour que la version que vous souhaitez soit dans Semaine1; vous pouvez par exemple utiliser le navigateur de fichiers de Jupyter pour déplacer les fichiers sur lesquels vous avez récemment travaillé depuis Semaine1-2020-... dans Semaine1. Il vous reste à déposer à nouveau.