\n",
"\n",
"Objectif pédagogique : se familiariser avec l'interface de JupyterLab :\n",
"gestion de fichiers, manipulation d'onglets, ...\n",
"\n",
"
\n",
"\n",
"JupyterLab fournit un environnement modulaire et flexible pour le calcul\n",
"interactif et exploratoire. On y retrouve des fonctionnalités typiques\n",
"d'environnements de développement intégrés (IDE), voire de navigation\n",
"de document."
]
},
{
"cell_type": "markdown",
"id": "602c59a3",
"metadata": {},
"source": [
"L'interface de JupyterLab consiste en une zone de travail principale\n",
"contenant des onglets de documents et d'activités, une barre de menu,\n",
"et deux barres latérales repliables, l'une à gauche et l'autre à\n",
"droite."
]
},
{
"cell_type": "markdown",
"id": "f826cf21",
"metadata": {},
"source": [
"La barre latérale gauche contient notamment :\n",
"\n",
"- ![icône navigateur de fichiers](media/file-manager-icon.png) un\n",
" navigateur de fichiers\n",
"- ![icône gestionnaire d'activités](media/resource-manager-icon.png) un\n",
" gestionnaire de ressources (activités, noyaux, ...)\n",
"- ![icône table des matières](media/table-of-contents-icon.png) la table\n",
" des matières du document courant"
]
},
{
"cell_type": "markdown",
"id": "b53b33c0",
"metadata": {},
"source": [
"Vous y trouverez aussi le gestionnaire d'extensions. Selon les\n",
"extensions qui sont installées, d'autres onglets peuvent apparaître."
]
},
{
"cell_type": "markdown",
"id": "7ee5352f",
"metadata": {},
"source": [
"## Exercice 1 : le navigateur de fichiers\n",
"\n",
"- Cliquez plusieurs fois sur l'icône du navigateur de fichier\n",
" ![icône navigateur de fichiers](media/file-manager-icon.png)\n",
" pour tour à tour afficher ce dernier ou replier la barre latérale de\n",
" gauche.\n",
"- Affichez le navigateur de fichier, et retrouvez-y les documents de\n",
" ce cours :\n",
" - le tableau de bord;\n",
" - les devoirs pour chaque semaine;\n",
" - la page d'accueil de la semaine 5;\n",
" - ce document que vous lisez maintenant.\n",
" \n",
" **Indication :** chercher `ProgImperative`, `Semaine5`, `index.md`,\n",
" `00-jupyter-interface.md`\n",
"\n",
"- Faites un clic droit sur le nom d'un fichier (appui long sur\n",
" tablette ou téléphone). Vous obtenez un menu avec les opérations\n",
" usuelles d'un navigateur de fichiers : renommer, copier, coller, ...\n",
" et quelques autres.\n",
"\n",
"- Ouvrez le répertoire `Semaine5` dans le navigateur de fichier.\n",
"\n",
"- Cliquez sur l'icône ![icône lanceur](media/launcher-icon.png) dans\n",
" le navigateur de fichier pour ouvrir un nouveau *lanceur*\n",
" d'activité.\n",
"- Utilisez le lanceur pour ouvrir un nouveau fichier texte; celui-ci\n",
" s'appelle par défaut `untitled.txt`. Renommez le en `essai.txt`.\n",
" Tapez un peu de texte à l'intérieur du fichier puis enregistrez le\n",
" avec le raccourci clavier Ctrl-s.\n",
"- Utilisez à nouveau un lanceur pour ouvrir une nouvelle feuille\n",
" (notebook) Python. Renommez la en `essai.ipynb`."
]
},
{
"cell_type": "markdown",
"id": "86f2925f",
"metadata": {},
"source": [
"## Exercice 2 : le terminal\n",
"\n",
"Le ***terminal*** est une alternative au navigateur de\n",
"fichiers; pour interagir avec le système d'exploitation (lancer un\n",
"programme, naviguer dans les fichiers, ...) on y tape des commandes\n",
"dans une interface textuelle plutôt que de cliquer dans une interface\n",
"graphique. Avec un peu d'apprentissage, ce mode d'interaction est très\n",
"efficace et se prête à l'automatisation. \n",
"\n",
"Nous nous contentons dans cet exercice de montrer comment ouvrir un\n",
"terminal et y taper des commandes.\n",
"\n",
"- Utilisez à nouveau un lanceur du navigateur de fichiers pour ouvrir\n",
" un terminal. \n",
" \n",
" **Note :** selon votre environnement, le terminal peut ne pas être\n",
" disponible. Dans ce cas, passez directement à l'exercice suivant.\n",
"- Dans le terminal, tapez la commande `ls`, suivie de\n",
" Entrée. Vous devriez retrouver la même liste de fichiers\n",
" que dans le navigateur, dont `essai.txt` et `essai.ipynb`.\n",
"\n",
" **Indication :** en salle TP du 336, il se peut que le terminal soit\n",
" ouvert à la racine de votre répertoire personnel. Dans ce cas, tapez\n",
" la commande suivante pour aller dans le répertoire `Semaine5` :\n",
"\n",
" cd ~/ProgImperative/Semaine5"
]
},
{
"cell_type": "markdown",
"id": "497a1a1a",
"metadata": {},
"source": [
"## Exercice 3 : la table des matières\n",
"\n",
"- Ouvrez la table des matières de ce document en cliquant sur ![icône\n",
" table des matières](media/table-of-contents-icon.png) dans la barre\n",
" latérale de gauche. Cliquez sur les titres de sections pour naviguer\n",
" rapidement dans le document."
]
},
{
"cell_type": "markdown",
"id": "5dfe308f",
"metadata": {},
"source": [
"## Exercice 4 : organiser l'espace de travail"
]
},
{
"cell_type": "markdown",
"id": "55aecaa6",
"metadata": {},
"source": [
"Par défaut, la zone de travail consiste en un unique\n",
"***panneau*** contenant toutes les activités (lanceur,\n",
"document, feuille, éditeur de texte, terminal, ...) rangées chacune\n",
"dans un onglet. Il est possible de restucturer l'espace de travail en\n",
"disposant ces activités sur plusieurs panneaux, afin notamment de\n",
"pouvoir voir plusieurs activités simultanément. Pour cela, il suffit\n",
"de déplacer les activités par glisser-déposer du titre de leurs\n",
"onglets. Les panneaux eux-même peuvent être redimensionnés par\n",
"glisser-déposer des bordures les séparant.\n",
"\n",
"- Réorganisez vos activités pour voir simultanément le fichier\n",
" `essai.txt` et le terminal, l'un dans un paneau à gauche, l'autre\n",
" dans un panneau à droite.\n",
"- Déplacez la feuille `essai.ipynb` dans un nouveau panneau en dessous\n",
" des deux précédents.\n",
"- Redimensionez les panneaux à votre guise.\n",
"- Repliez la barre de gauche; mettez votre navigateur web en plein\n",
" écran; zoomez et dézoomez avec Ctrl-+ et\n",
" Ctrl--, pour obtenir le compromis entre\n",
" lisibilité et visibilité qui vous est le plus confortable.\n",
"- Remettez toutes les activités dans un seul panneau."
]
},
{
"cell_type": "markdown",
"id": "73eed169",
"metadata": {},
"source": [
"## Exercice 5 : le gestionnaire d'activités\n",
"\n",
"- Ouvrez le gestionnaire d'activités en cliquant sur l'icône ![icône\n",
" gestionnaire d'activités](media/resource-manager-icon.png) de la\n",
" barre latérale de gauche. Vous y trouverez la liste des onglets\n",
" ouverts, des noyaux en cours d'exécution des terminaux ouverts.\n",
" Utilisez le gestionnaire d'activités pour faire du ménage, en\n",
" fermant tout ce que vous n'utilisez pas."
]
},
{
"cell_type": "markdown",
"id": "914cbc05",
"metadata": {},
"source": [
"## Conclusion\n",
"\n",
"Dans cette feuille, vous avez exploré les fonctionalités de base de\n",
"l'interface de JupyterLab, notamment pour organiser votre espace de\n",
"travail et faire du ménage dans les activités en cours.\n",
"\n",
"
\n",
"\n",
"Conseil : ajustez régulièrement votre espace de travail en fonction de\n",
"votre travail en cours : taille de fenêtre, niveau de zoom,\n",
"disposition des panneaux, sélection des activités ouvertes, ... Vous\n",
"gagnerez ainsi en confort visuel et en efficacité. Le ménage réduira\n",
"en outre la consommation de ressources (mémoire utilisée, ...),\n",
"contribuant à la robustesse et la fluidité d'exécution, tout\n",
"particulièrement sur un service partagé aux ressources limitées (par\n",
"ex. JupyterHub).\n",
"\n",
"