Case départ#

Cette page décrit comment accéder au matériel pédagogique (cours, TP) avec les logiciels requis pour travailler dessus interactivement.

Résumé si vous connaissez déjà bien la procédure

Avec le service MyDocker@Paris-Saclay, depuis tout ordinateur ou tablette connectée à Internet

  1. Ouvrez le tableau de bord du cours.

Généralités#

Chaque semaine, vous téléchargerez 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 un devoir pour le projet.

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

Cela permettra aussi à vos enseignants de se faire une idée de l’avancement général du groupe. Cela pourra 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é.

Instructions#

Notes aux enseignants

Instructions à donner aux étudiants

Lors de la première séance, écrivez au tableau les instructions suivante pour accéder au TP :

  1. Démarrez les ordinateurs sous Linux (Ubuntu).
    Windows marcherait aussi en principe

  2. Cherchez le site web du cours avec le mot clé « Info111 ».

  3. Ouvrez la page « Case Départ ».

  4. Suivez les instructions.

Notes diverses

  • Pour les fois suivantes, leur apprendre à simplement taper Info111 dans la barre de navigation (sans valider!) et choisir parmi les propositions du navigateur. Cela pour éviter d’actionner un moteur de recherche pour rien.

  • Préciser que les TD durent 1h30, mais que les TP eux durent bien 2h.

  • Leur rappeler en fin de séance qu’ils doivent faire d’ici la semaine prochaine une heure supplémentaire de laby, depuis la salle libre service ou chez eux.

Problèmes de connexions

% Ce commentaire ne sera plus pertinent lorsque les salles de TP
seront complètement fonctionnelles et que l'on travaillera sur
myDocker.
  • Les élèves sont censés avoir leurs identifiants personnels fonctionnels. Si certains vous demandent de quel login ou mot de passe il s’agit, c’est celui de leur compte Adonis; c’est le même qu’ils utilisent (utiliseront) pour se connecter aux autres services de l’université sur ecampus. Le login est prénom.nom (pour se connecter sous Windows ajouter @universite-paris-saclay.fr mais ce n’est a priori pas nécessaire sous Unix). Attention certains utilisateurs ont un compte suivi d’un chiffre ex : pierre.dupont1 (cas assez rare). (Il existe aussi un login court, si certains connaissent le leur ils peuvent l’utiliser). Pour le mot de passe, certains ne tapent pas ce qu’ils croient taper. Dites à ceux qui n’arrivent pas à se loguer de vérifier ce qu’ils tapent en tapant leur mot de passe dans la case login (comme cela ils le voient en clair, et voient s’ils ne tapent pas correctement certaines choses, par exemple les chiffres ou les majuscules). Certains ajoutent un espace à la fin de leur login et/ou de leur mot de passe en pensant que ça n’a aucune conséquence…

  • Pour les étudiants n’ayant pas encore de compte en salle TP (pas encore inscrits, pas encore de compte Adonis; compte en salle de TP non activé) : Les faire se connecter sur les ordinateur en utilisant le login et le mot de passe du compte de secours mis à disposition par le SIF (disponible sur le doc partagé de l’équipe pédagogique).

    Bien insister auprès d’eux qu’il faut qu’ils activent leurs identifiants ou règlent les éventuels problèmes au plus vite, en allant voir les membres du SIF si besoin. En effet, se loguer sur un compte de secours ne permet pas de garder ses documents pour la prochaine séance, et n’existent qu’en tout début d’année.

  • Si un étudiant n’arrive pas à se connecter sur GitLab : pour vérifier lui dire de taper son mot de passe en clair (par exemple dans le champ login) pour qu’il vérifie qu’il tape bien ce qu’il croit taper. Vérifier aussi le login. Si tout semble bon mais que cela ne fonctionne pas, collecter le login de l’étudiant et faire remonter à Nicolas (il sera probablement dans le coin, donc l’appeler ou mettre un message sur Signal, ou sinon par e-mail). En attendant, faire continuer le TP à l’élève comme pour un étudiant n’ayant pas de compte à l’Université, mais en travaillant sur JupyterHub pour qu’il ou elle puisse continuer à la maison. Le dépôt du travail sera possible dès que l’accès à GitLab sera corrigé.

  • En cas d’autre problème, demander de l’aide au SIF (contacter Mounir ou Jean dont les bureaux sont respectivement aux troisième et deuxième étages du bâtiment, près des salles info). Dans chaque salle, il y a une affiche avec les contacts.

Étape 0 : pour les redoublants#

Étape 1 : accéder à l’environnement de travail#

Avec le service MyDocker@Paris-Saclay

  1. Ouvrez le tableau de bord du cours.

    Vous devrez:

    1. Sélectionner «Connexion via Fédération Renater».

    2. Taper «Saclay» dans la barre de choix, puis choisir Université Paris-Saclay

    3. Vous authentifier avec vos identifiants prenom.nom Adonis.

    4. Confirmer le consentement de partage de quelques attributs à myDocker.

    5. Sélectionner «Connexion à l’interface» pour «Ouvrir JupyterLab».

Étape 2 : télécharger et ouvrir le devoir#

  1. À ce stade, vous devriez être sur une feuille nommée « Tableau de bord du cours ». Suivez les instructions pour faire apparaître le tableau de bord qui sera similaire à celui-ci :

    tableau de bord

  2. En utilisant le tableau de bord, téléchargez puis ouvrez le devoir de la semaine (par exemple Semaine1).

  3. Suivez les instructions qu’il contient.

Étape 3 : déposer votre travail#

Accédez au tableau de bord du cours comme ci-dessus, et déposez votre travail.

Correction automatique et manuelle#

Chaque fois que vous déposez un devoir, les carnets Jupyter sont re-exécutés, avec vérification des tests qu’ils contiennent (CHECK(...) en C++; ASSERT(...) en Python). Cette correction automatique se fait par intégration continue sur la forge GitLab au moment du dépôt, à l’aide de l’outil nbgrader; elle prend quelques minutes et donne lieu à un score.

Vos enseignants pourront décider de noter certains des TPs; dans ce cas, vous serez alors prévenu bien à l’avance et le dernier score obtenu avant la date limite de rendu donnera une note. Cette note pourra être complétée par une correction manuelle: vos enseignants consulteront vos réponses et vos interprétations des résultats, et attribueront des points à chacune d’entre elles. Cette correction prendra quelques jours.

Les résultats de la correction automatique et manuelle seront disponibles sur GitLab. Pour les consulter:

  1. Ouvrez le tableau de bord.

  2. Le score s’affiche quand il est disponible.

  3. Cliquez sur le score pour consulter les détails sur GitLab.

En cas de divergence ou de conflit#

Le dépôt de votre travail sur GitLab 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 :

  • Vous travaillez sur Semaine1 sur myDocker et vous déposez votre travail à la fin. Plus tard, vous travaillez dessus depuis directement depuis votre ordinateur personnel, sans avoir au préalable retéléchargé votre devoir. Vous avez alors deux versions de votre travail qui ont divergé. Les bonnes pratiques ont pour objectif d’éviter cela.

  • Vous téléchargez votre sujet et travaillez dessus, mais votre premier dépôt n’intervient que quelque temps plus tard. Entre temps, le sujet a été mis à jour et la mise à jour s’est propagée à votre dépôt personnel.

Lancez alors un téléchargement. Il y a des chances que cela se passe bien : les modifications sont automatiquement fusionnées. Dans le cas contraire, il vous sera proposé de forcer la mise à jour avec une commande dans le terminal comme :

cd ~/ProgImperative
./course.py fetch Semaine1 --force

Votre dossier Semaine1 sera alors renommé avec la date et l’heure Semaine1-2023-..., et la version déposée sur GitLab sera 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-2023-... dans Semaine1. Il vous reste à déposer à nouveau.

Instructions avancées#

Cette section décrit comment utiliser le terminal pour gérer vos devoirs (téléchargement, dépôt, …) plutôt que d’utiliser le tableau de bord. Vous découvrirez au fur et à mesure de l’année tous les avantages d’utiliser le terminal.

Ouvrir un terminal#

Option 1 : Sur les ordinateurs des salles de TP

  1. Vous pouvez utiliser le menu principal du système (bouton tout en bas à gauche de l’écran) et cliquer sur « Terminal ».

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

  1. Utilisez le menu Fichier -> Nouveau -> Terminal.

Télécharger ou mettre à jour un devoir avec le terminal

Après avoir ouvert un terminal, tapez les commandes suivantes, en validant avec Entrée après chacune d’entre elles. Attention : ces commandes doivent être tapées avec le plus grand soin : les majuscules, les espaces, les symboles sont tous importants.

  1. Si vous n’avez pas encore de répertoire ProgImperative :

    cd
    git clone https://gitlab.dsi.universite-paris-saclay.fr/Info111/ComputerLab.git ProgImperative
    
  2. Téléchargez le devoir :

    cd ~/ProgImperative
    ./course.py fetch Semaine1
    

    Si une authentification vous est demandée, utilisez vos identifiants Adonis prenom.nom, comme sur GitLab. Il est normal que rien ne s’affiche quand vous tapez votre mot de passe. Tapez-le simplement en entier puis appuyez sur Entrée.

    Si vous n’avez pas de compte sur https://gitlab.dsi.universite-paris-saclay.fr/ (par ex. auditeurs libres), vous pouvez alternativement utiliser :

    ./course.py fetch --anonymous Semaine1
    
  3. Votre terminal devrait ressembler à ceci :

    affichage produit
  4. Le devoir a été téléchargé dans le répertoire ProgImperative/Semaine1 de votre répertoire personnel. Vous pouvez le vérifier avec la commande suivante :

    ls ~/ProgImperative/Semaine1
    
  5. Vous pouvez maintenant naviguer – par exemple avec le navigateur de fichiers de Jupyter – jusqu’au répertoire ProgImperative/Semaine1 et ouvrir le fichier index.md pour commencer à travailler.

Déposer votre travail avec le terminal

  1. Dans un nouveau terminal, tapez les instructions suivantes pour aller dans le répertoire ProgImperative et déposer votre travail. Remplacez Semaine1 ci-dessous par le nom du devoir et MI1 par votre groupe de TD :

    cd ~/ProgImperative
    ./course.py submit Semaine1 MI1
    
  2. Une fois votre travail déposé, vous pouvez ouvrir l’adresse affichée (clic droit, Ouvrir le lien) pour consulter ce que vous avez déposé sur GitLab. Votre travail est maintenant sauvegardé et vous pouvez y accéder depuis chez vous.

Lancer JupyterLab

Attention

Si vous travaillez sur JupyterHub, il n’est pas nécessaire de lancer JupyterLab! Il est déjà lancé.

  1. Ouvrez un nouveau terminal.

  2. Tapez la commande suivante :

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

Attention

Le terminal qui vous a permis de lancer Jupyter doit rester ouvert pendant toute votre utilisation de Jupyter! Le mieux est de le minimiser (sans le fermer!). De plus tant que Jupyter est lancé, il n’est pas possible de taper d’autres commandes dans ce terminal. Si vous avez à nouveau besoin d’un terminal par la suite, il faudra utiliser un autre terminal.

Commandes de base dans le terminal

Lister les fichiers :

ls

Se déplacer dans un répertoire xyz :

cd xyz

Créer un répertoire xyz :

mkdir xyz

Astuces

  • Les touches flèche vers le haut et flèche vers le bas permettent de naviguer dans l’historique des commandes précédemment lancées.

  • Complétion automatique : pour aller plus vite, au lieu de taper le nom d’un fichier ou répertoire en entier, vous pouvez indiquer le début du nom et essayer de le compléter avec la touche TAB (tabulation, à gauche de la touche A). Si plusieurs façons de compléter votre saisie sont possibles ,elles vous seront proposées (peut-être en tapant une deuxième fois TAB. Ici, pour IntroSciencesDonnees, tapez Intr puis la touche TAB.