Série « d'exercices » : prise en main
Buts
Le but de cette série d'exercices est de vous- offrir une première prise de contact avec l'environnement informatique de l'EPFL ;
- permettre de vous familiariser avec votre compte informatique ;
- faire connaître des principales manipulations de base pour évoluer dans un environnement Unix que vous serez amenés à utiliser : manipulation et édition de fichiers, commandes Unix, etc....
NOTE : Vous devez impérativement réaliser tous les (neuf) exercices de cette série afin d'être parfaitement à l'aise avec l'environnement informatique de ce cours. Il ne faut en particulier pas rater la fin de l'exercice 5.
Présentation général du cours Information, Calcul et Communication
Si ce n'est pas encore fait, je vous demande avant de commencer cette série d'exercices, de prendre connaissance du document suivant qui présente le cours dans son ensemble :
Prérequis pour la suite de la série
[ Pour plus de détails, voir le site https://www.epfl.ch/education/studies/preparation-pour-epfl/nouveaux-etudiants-bachelor/ ou sinon le guichet des étudiants. ]
Pré-requis :
-
Avoir son mot de passe Gaspar ;
-
Disposer d'une adresse e-mail à l'EPFL.
Ces prérequis sont remplis dès votre inscription à l'École, et vous devriez normalement pouvoir passer directement au premier exercice. En effet, en tant qu'étudiant(e) inscrit(e) à l'EPFL, vous avez dû recevoir document/email contenant : votre adresse e-mail EPFL, un username et un mot de passe. C'est de cela dont il s'agit ici.
Si ce n'est pas le cas,
- si c'est un problème technique : contacter le Help-desk comme indiqué ci-dessous;
- ou sinon par le guichet des étudiants pour tous les problèmes administratifs ou d'inscription.
Rappel :
Le portail GASPAR sert à gérer les accès aux ressources sécurisées du Service Informatique Central. C'est le coffre-fort pour vos données d'authentification. Vous pouvez par exemple y modifier votre mot de passe.
Note importante :
En cas de problème technique avec les VM ou l'infrastructure EPFL (p.ex. liés au login et à GASPAR, ou pas de répertoire myfiles, etc.), un support est assuré par le «Help-desk» (MA A0 388, téléphone interne : 1234, email : 1234@epfl.ch).
Exercice 1 : Se connecter (ou login)
Ce premier exercice va vous permettre de vous
« connecter » à un (ou plusieurs) des environnements de travail proposés pour ce cours.
Vous avez en effet NEUF (ou dix) façons différentes de pratiquer pour ce cours (non exclusives ! Il peut être intéressant, suivant vos contraintes, d'utiliser plusieures de ces solutions ; je vous conseille de toutes les lire pour bien choisir) :
(TL;DR: la combo conseillée par défaut est 1+3)
- 1. soit venir vous connecter directement dans les salles CO-020 à CO-023 (vous y aurez un accès
au répertoire
myfiles [a.k.a. « MyNAS » ; tout ça est expliqué plus loin]) ;
IMPORTANT : choisir une VM IC-CO-IN-...-2024-Fall ;
soit travailler sur votre propre machine, par ordre de recommandation :
(en préambule: à noter que si vous travaillez sur votre propre machine, peu importe la façon, il est peut être utile d'avoir accès à votre myfiles [a.k.a. « MyNAS »] ; ceci est expliqué un peu plus loin)
2. soit en utilisant votre propre environnement (QtCreator, CLion, XCode, Code::Blocks, Emacs, vi, ...) sur votre machine usuelle « comme d'habitude » ; mais cela suppose que vous ayiez déjà un tel environnement et sachiez l'utiliser ! Je ne pense donc pas que ce soit le meilleur moyen pour la majorité d'entre vous ;
- 3. soit en vous connectant à distance depuis votre machine sur les mêmes machines virtuelles (VM) que celles utilisées en salles CO (vous y aurez accès
au répertoire
myfiles) :
allez sur vdi.epfl.ch (c'est aussi le nom du server à donner au client local si vous l'avez installé) :
- (à ne faire qu'une seule fois ; optionnel suivant votre choix) installez l'outil de connexion en cliquant sur « Installer VMware Horizon Client » (bas gauche) ; l'autre solution, si vous ne souhaitez pas installer ce « client » sur votre machine, sera de passer par votre navigateur Internet (« browser ») en cliquant (à chaque fois) sur « VMware Horizon HTML Access » (bas droite) ;
- utilisez ce client (ou votre navigateur si vous avez opté pour la seconde option) pour vous connecter à vdi.epfl.ch à l'aide de votre identifiant Gaspar ;
- IMPORTANT : choisir une VM IC-CO-IN-...-2024-Fall.
Notes :-
toutes les autres solutions ci-dessous n'ont pas d'accès direct à myfiles , mais vous devrez le créer vous-même « à la main » comme expliqué dans cette page de documentation (lien) ;
-
l’accès à ce service (VDI) depuis l’extérieur du campus nécessite un code de sécurité EPFL en plus de votre nom d’utilisateur et mot de passe : voir cette page pour les détails ; à noter que vous n'êtes pas du tout obligé(e) d'utiliser Google Autheticator, mais que n'importe quelle application de One Time Password (OTP) fait l'affaire, comme, par exemple, FreeOTP+ ou autres.
(3.5.) sur Windows depuis Windows 10 : soit en utilisant Linux directement sur Windows comme indiqué dans les liens utiles de la section « Ressources complémentaires » en bas de la page principale du Moodle du cours ;
- 4. soit en installant un environnement de développement comme indiqué dans la première semaine du MOOC https://www.coursera.org/learn/initiation-programmation-cpp (une telle installation n'est pas du tout obligatoire, ce n'est qu'une façon de travailler, parmi les autres citées ici) ; l'idée de ce point est de vous rammener au point 2 ci-dessus ;-) ;
- 5. soit
en démarrant (bootant) votre machine sur une clé USB Linux Live persistante : cela vous permet d'avoir, sur votre propre machine, mais sans la modifier du tout, une machine Linux ;
vous pouvez, soit créer votre propre clé Live Ubuntu (à configurer ensuite pour le cours ; veillez à la rendre persistante), soit copier (p.ex. avec Rufus) l'image que j'ai faite en 2022 spécialement pour ce cours pour des clés de 32 Go ou plus (lien ici [2 Go] live-ICC-amd64.iso.7z, qu'il faut décompresser avec 7z avant de la graver) ; - 6. soit en travaillant carrément à distance (dans « le cloud », rien du tout à installer) sur des sites comme repl.it ou comme tutorialspoint.com (une liste détaillée de ces sites se trouve sur cette page);
- 7. soit [mais est-ce encore d'actualité ?] en téléchargeant une VM EPFL et la faisant tourner en local sur votre propre machine ;
cf https://support.epfl.ch/epfl?id=epfl_kb_article_view&sysparm_article=KB0012478 ;
- 8. soit en installant une VM Linux : c'est presque comme le point 7 précédent, mais allez télécharger une image à installer directement chez Ubuntu (http://ubuntu-fr.org/telechargement) au lieu de la prendre chez nous ; ceci est expliqué en détail sur cette page : http://wiki.epfl.ch/co02x/vmself ;
- 9. soit en installant directement Linux sur votre machine (déconseillé aux débutants, mais l'association GNU Generation organise chaque année une « Install Fest ») : voir http://doc.ubuntu-fr.org/debutant. C'est presque comme la solution 5 ci-dessus, mais en plus intrusif.
Vous pouvez suivant vos contraintes (p.ex. le lieu où vous travaillerez) choisir l'une ou l'autre des solutions ci-dessus.
Choisissez pour le moment l'une des méthodes précédentes.
Si, pour une raison ou une autre vous n'arrivez pas pour le moment à avoir accès à une machine similaire à celle du cours, vous pouvez continuer sur votre propre machine par l'exercice 8 et suivants, et reviendrez faire cette série une fois une machine accessible pour vous.
Pour vous connecter sur les machines fournies (soit directement, soit à distance), tapez votre nom d'utilisateur (username Gaspar) puis tapez sur la touche Return et attendez que le système vous demande votre mot de passe (password).
Remarques:- Les majuscules/minuscules sont significatives dans le username et dans le password : a n'est pas la même chose que A.
- Il faut faire attention à la différence entre 0 (zéro) et O (la lettre o majuscule) ainsi qu'entre1 (chiffre un) et l (la lettre L minuscule).
- Certains caractères (tels que @ ou #) ne semblent pas passer sur le login de la machine virtuelle. N'utilisez donc pas de tels caractères dans votre mot de passe.
-
IMPORTANT : ne tapez pas une seconde fois le mot de passe lors de la seconde fenêtre de login, mais attendez (même si c'est un peu long au début), laissez faire la machine. En clair :
ne saisissez qu'UNE SEULE FOIS votre mot de passe !
Vous arrivez ensuite sur un écran intermédiaire (écran bleu) ou vous devez choisir une « machine virtuelle ».
Pour ce cours, il faut choisir la machine IC-CO-IN-...-2024-Fall.
Vous devriez normalement ensuite arriver automatiquement sur une machine virtuelle. Si jamais vous avez encore un 2e écran bleu intermédiaire (ça ne devrait pas) : il ne faut RIEN FAIRE sur ce 2e écran bleu de login ; il faut juste attendre.
Si tout s'est bien passé, après quelques instants un écran qui ressemble à celui de la figure ci-dessous va apparaître. Sinon recommencez... Au bout de trois échecs, appelez un assistant.
Cette opération en deux étapes est nécessaire car l'architecture est «un peu plus compliquée» que votre ordinateur personnel habituel : vous êtes en effet connecté sur des clients qui s'adressent à un serveur «chef d'orchestre» («load balancer») qui demande à un autre serveur de calcul de vous créer (et ouvrir) une «machine virtuelle». C'est cette machine virtuelle que vous voyez finalement sur votre écran. Pour résumer :
C'est pour cela que vous avez un login en deux étapes : une première pour accéder au «chef d'orchestre», et une seconde sur la machine virtuelle. Normalement, ce second login consiste à ne rien faire, le «chef d'orchestre» ayant passé vos paramètres à la machine virtuelle.
Exercice 2 : Utiliser Firefox
Firefox est un navigateur Internet. Pour le lancer, il suffit de cliquer sur son icône en haut à gauche :
Une fois Firefox lancé, il vous suffit de taper l'URL (adresse à laquelle vous voulez vous connecter) dans le champ prévu à cet effet :
Connectez-vous à la page Moodle de ce cours :
https://moodle.epfl.ch/course/view.php?id=14023. Vous
pouvez aussi y accéder en vous connectant simplement sous
moodle.epfl.ch et en allant dans la liste de vos cours.
Cette page (ou celle principale de Moodle, https://moodle.epfl.ch/) étant relativement importante, on peut vouloir la garder (pour ne pas avoir à retaper à chaque fois son adresse) dans ses bookmarks («signets» en français) :
-
Cliquez sur «Bookmarks» dans la barre de menu en haut, puis sur «Bookmark current tab», ce qui ouvre une fenêtre.
Sous «Location», vous pouvez changer l'endroit où sera stocké ce signet (bookmark), par défaut «Bookmarks Toolbar» va très bien. Cliquez ensuite sur le bouton «Save» en bas de la fenêtre qui vient d'être ouverte.La fenêtre de dialogue doit alors se fermer et, dans votre barre de navigation, vous devez voir un nouvel onglet «Moodle...» (juste au dessus de la fenêtre principale affichant le contenu).
Vous pouvez aussi plus simplement saisir (clic gauche de la souris) la petite icône à coté de l'URL (au début de la barre blanche précédemment citée, juste à coté de la petite maison) et la glisser (en gardant le clic gauche de la souris enfoncé) sur la barre des signets, c'est-à-dire la 3e barre en haut, celle juste au dessus du contenu affiché.
Enfin, dans firefox, si vous ne voyez pas la barre «Bookmarks», il faut aller au «View», puis «Toolbars», puis clickez sur «Bookmarks Toolbar». La barre devrait apparaitre.
Un problème de clavier ?
Si vous êtes connecté à distance sur les VMs depuis votre ordinateur, il est possible que le clavier ne corresponde pas. Pour cela vous pouvez changer la configuration clavier de la VM pour la faire correspondre à la vôtre (et sinon, passez directement à la suite) :
-
cliquez en haut à droite pour avoir le menu de connexion/configuration :
puis cliquez sur le bouton de configuration (la clé et le tournevis croisés, en bas à gauche du menu qui vient de s'ouvrir) ;
-
Choisissez « Region and Language », puis cliquez sur le « + » en bas à gauche des « Input Sources » :
-
choisissez ensuite le clavier de votre choix (p.ex. ici un clavier anglais) :
et ajoutez le en cliquant sur « Add » (en vert)
-
(optionnel : ajoutez autant de claviers que nécessaire pour vous en répétant l'opération ci-dessus)
-
fermez la fenêtre de configuration
-
utilisez le nouveau menu apparu en haut à droite pour choisir la configuration de votre clavier :
Exercice 3 : Ouvrir un terminal
Un « terminal » (parfois appelé aussi « console ») est une fenêtre qui vous permet de donner directement des commandes au système. Pour en ouvrir un (on peut tout à fait avoir plusieurs terminaux ouverts à la fois), le plus simple est d'utiliser le menu qui apparait en faisant un clic-droit sur le fond d'écran :
Vous pouvez aussi rechercher l'application «terminal» dans les «Activities», soit en cliquant sur le mot «Activities» en haut à gauche, soit en cliquant sur la matrice de 9 points en bas à gauche :
Saissiez ensuite le texte recherché, par exemple «term» :
Une fois un «terminal» ouvert, cliquez dessus/dedans pour l'activer et taper la commande
ls
qui liste le contenu du répertoire courant (voir les exercices en bas pour plus de détails. ATTENTION ! le premier caractère est un L minuscule, pas le chiffre 1 !).
Pour l'instant, seul des fichiers et répertoires pré-existants sont listés. Dans l'exercice suivant, nous allons justement voir comment créer vos propres fichiers.
Si vous souhaitez garder un raccourcit vers une application que vous utilisez souvent (et c'est conseillé de le faire pour le terminal), il suffit de faire un clic-droit sur l'icône correspondante à gauche de l'écran et choisir «Add to favorite» :
Exercice 4 : Premier contact avec un éditeur
Supposons que vous ayez envie d'écrire un message, juste en texte (pas de formatage, ni gras, ni couleur, etc.) et de le stocker sur votre compte. Il vous faut pour cela utiliser un utilitaire particulier appelé « éditeur » (plus simple qu'un « traitement de texte »).
La première fonctionnalité d'un éditeur est justement de vous permettre de saisir du texte et de le stocker sous la forme d'un fichier. Un programme n'étant au départ rien de plus qu'un fichier texte, nous utiliserons aussi un éditeur pour écrire nos programmes. Il existe cependant des éditeurs plus avancés, spécifiquement dédiés à l'écriture de programmes, c'est ce que l'on appelle des «IDE» («EDI» en français) pour «Integrated Development Environment».
Plusieurs éditeurs ou IDEs sont à votre disposition dans le cadre de ce cours : Geany, Visual Studio, Sublime Text, Qt Creator, Emacs, Vim, Code::Blocks, GEdit, ...
Pour lancer l'un ou l'autre de ces éditeurs/IDE, il suffit de les rechercher dans les «Activités» en haut à gauche ou en bas à gauche, exactement comme indiqué précédemment pour le terminal.
Pour commencer, choisissez un éditeur particulier (p.ex. pour cet exercice simple, nous conseillons geany) et lancez le.
Pour ouvrir un nouveau fichier dans l'éditeur que vous avez choisi, il suffit de sélectionner dans la barre menu l'option File -> New ou File -> Open File (selon l'éditeur).
Saisissez ensuite un texte quelconque dans la zone de l'éditeur dédiée à la saisie, puis sauvegardez-la au moyen de l'option File -> Save. Un nom vous sera alors demandé pour désigner le fichier dans lequel sera stocké votre document. Saisissez par exemple mon-1er-message.txt en guise de nom. Une fois que la sauvegarde est effectuée, vous pouvez quitter l'éditeur.
Note : pour certains éditeurs (comme emacs par exemple), l'ouverture d'un nouveau fichier vous demandera un nom de fichier avant même que vous ayez pu saisir du texte.
A savoir : un nom de fichier est aussi bien un nom «simple», comme maphoto.png, qu'un nom «complet» indiquant où le fichier est stocké sur le disque, comme /home/chaps/Images/maphoto.png.
On parle
de nom absolu pour le second, car où qu'il soit donné il désigne toujours l'emplacement précis du fichier ;
et de nom relatif pour le premier (simple) car il n'a de sens que par rapport à (=relativement à) l'endroit où il est effectivement stocké.
Quand on parle de «nom de fichier», on parle sans disctinction de l'un ou de l'autre. Si un nom relatif est donné, il sera toujours interprété PAR RAPPORT À l'endroit où la commande s'éxécute.
(Linux ou Mac ; pour Windows utilisez simplement le navigateur de fichiers) Placez-vous ensuite dans un terminal et tapez à nouveau la commande
ls
qui liste le contenu du répertoire courant. Vous devriez alors voir apparaître le fichier mon-1er-message.txt que vous venez de créer via l'éditeur.
Ce fichier peut maintenant être ouvert à nouveau et modifié par n'importe quel éditeur (identique ou différent de celui qui l'a crée). Il restera stocké sur votre compte d'une session de travail à l'autre.
Essayez de l'ouvrir (option File -> Open), le modifier et le sauvegarder à nouveau avec chacun des autres éditeurs à tour de rôle (n'ouvrez pas plusieurs éditeurs en même temps !).
Note : Il est important de ne pas ouvrir plusieurs fois le même fichier (via différents éditeurs par exemple). La cohérence du fichier modifié par l'un ou l'autre des éditeurs n'est alors plus garantie !
Tester plusieurs éditeurs vous permettra de vous faire une première idée sur les différents outils mis à votre disposition et vous permettra de porter votre choix par la suite (semaine prochaine) sur celui qui vous semble le plus confortable pour vous. Dans ce cours, nous utiliserons un éditeur, ou plutôt une IDE, uniquement pour programmer. Pour cette tâche (programmer, semaine prochaine) nous vous conseillerons QTCreator ou Geany.
Concernant les fichiers et leur manipulation, nous en verrons plus dans les exercices suivants, mais déjà une note importante (qui sera expliquée un peu plus en bas) :
Note importante : les fichiers créés sur le disque local de la machine virtuelles (c.-à-d. en dehors de myfiles ) sont effacés (= perdus !) en fin de connexion. Il est donc impératif que vous stockiez tous les fichiers que vous souhaitez conserver soit sous le répertoire myfiles, lequel se trouve sur votre bureau. Son nom relatif par rapport à votre « dossier home » est donc, p.ex., Desktop/myfiles, et son nom absolu est /home/username/Desktop/myfiles où username est votre nom d'utilisateur.
Une fois que vous avez trouvé un environnement de développement qui vous plait (conseillé: QtCreator ou Geany), vous pouvez la mémoriser à gauche dans vos favoris comme indiqué pour le terminal. Si vous hésitez encore, vous pourrez bien sûr faire cela plus tard dans le semestre.
Exercice 5 : Utilisation du gestionnaire de fichiers
Lorsque vous vous connectez sur votre compte, vous arrivez à la racine de votre répertoire personnel, c'est-à-dire à l'endroit de l'arborescence Linux qui vous appartient. Le chemin absolu de ce répertoire est /home/username/ (où username est votre nom d'utilisateur). Il devient votre répertoire courant, c'est-à-dire le répertoire utilisé par défaut par les commandes Linux.
Pour ouvrir ce répertoire dans le le gestionnaire de fichiers, sélectionnez l'icone «Home Folder» dans le menu «Places» en haut à gauche :
Vous verrez alors s'afficher une fenêtre qui ressemble à celle-ci :
Cliquez alors sur Desktop
Vous y verrez alors un répertoire nommé myfiles qui est extrêmement important.
Ce sont, bien sûr, aussi ceux que vous voyez directement sur votre bureau, en haut à gauche.
Quelques explications :
A l'EPFL, toutes les données liées aux utilisateurs sur un serveur central, le service myNAS (https://mynas.epfl.ch; VPN requis). C'est un service offert à toutes et tous, étudiant(e)s et collaborateurs/collaboratrices de l'EPFL. Sauf erreur, le quota y est de 2 Go pour les étudiant(e)s. Ce répertoire est global à toute l'Ecole et suivra l'étudiant(e) tout au long de ses études. Il est le même sous Windows, Mac et Linux dans les différentes salles de l'École.
Important :
Sur les machines virtuelles (VM) utiliseés ici, c'est ce répertoire myfiles qui vous donne l'accès à ces données.
Toutes les données stockées sur les VM en dehors de ce répertoire sont détruites à chaque fois que vous vous déconnectez!
Il est donc impératif de systématiquement stocker dans myfiles tout ce que vous souhaitez garder.
Pour celles et ceux d'entre vous qui sont un peu plus avancé(e)s : cela signifie aussi que certains fichiers de configuration spécifique situés directement dans le répertoire principal (« Home Directory ») sont perdus à chaque déconnexion. Il faut, pour le moment, veiller à les archiver soi-même dans myfiles (et les restaurer au bon endroit). Demandez nous si vous avez des questions à ce sujet (les fichiers de configuration usuels sont automatiquement copié dans myfiles).
Remarque :
À noter que si vous travaillez sur votre propre machine, vous pouvez aussi avoir accès à votre myfiles. Les informations se trouvent sur https://mynas.epfl.ch (VPN requis) dans « Access infos ».
(Note: pour MAC, pour trouver votre GID, tapez « id -g » dans un terminal sur une VM de l'Ecole.)
Revenons maintenant à la fenêtre que nous venons d'ouvrir. Vous pouvez entre autres :
- parcourir simplement la structure des répertoires en double-cliquant sur les dossiers qui sont présents dans la fenêtre.
- créer de nouveaux fichiers ou répertoires en
utilisant le menu qui apparaît avec le clic droit
de la souris ;
Note : pour créer un nouveau fichier, vous pourrez aussi bien sûr utiliser un éditeur de texte, exactement comme vous l'avez fait dans l'exercice 4 et sur lequel nous allons revenir.
- copier des fichiers ou des répertoires ;
- effacer des fichiers ou des répertoires en les sélectionnant avec
le bouton gauche de la souris, et en sélectionnant «Move to Trash» dans
le menu qui apparaît en cliquant sur la sélection avec le bouton droit
(ou alors dans la barre de menu «Edit»). Vous pouvez aussi plus simplement appuyer sur la touche «Del».
Note : Pensez à vider régulièrement votre poubelle ! Je vois chaque année des étudiant(e)s bloqué(e)s par manque de quota disque parce qu'ils ont laissé trainer des gros fichiers dans leur poubelle.
Vous pouvez pour cela :soit cliquer avec le bouton gauche sur le menu «File» du gestionnaire de fichier, puis cliquer sur «Empty Trash» ;
soit cliquer avec le bouton droit sur l'icône de poubelle en bas tout à droite de l'écran (ce qui ouvre un menu) puis choisir «Empty Trash».
Récupération de données perdues : dans myfiles (uniquement), il vous est possible de retouver des données indûment effacées (pour peu qu'elles aient eu le temps d'être archivées ; c.-à-d. qu'elles restent présentes au moins une heure, vu qu'il y a une archive que toutes les heures). Pour ce faire, il suffit d'aller dans le répertoire .snapshot à l'endroit de l'arborescence que vous souhaitez. Ce répertoire contient des archivages périodiques du contenu du répertoire courant.
Attention ! Ce répertoire n'est pas automatiquement présent, mais chargé à la demande lorsque vous y accéder. Il est donc normal que vous ne le voyez pas. Pour y accéder :
soit par la ligne de commande avec par exemple un
cd .snapshot
(ou autre, cp, etc.., voir l'exercice suivant pour les commandes unix) ;soit depuis le gestionnaire de fichiers en tapant Ctrl-L et ajoutant .snapshot (puis 'Entrée') à la fin de la «Location».
Application 1 : Mise en place d'une architecture de travail
Vous allez maintenant créer une architecture de travail utile pour le reste de ce cours de programmation. Faîtes-le avec le gestionnaire de fichiers.
Dans le répertoire myfiles, créez le répertoire cpp.
Dans ce nouveau répertoire cpp, créez ensuite les sous-répertoires serie01, serie02, serie03, etc.
Note : on pourrait bien sûr le faire avec l'interpréteur de commandes (c.-à-d. dans un «terminal»), qui est justement l'objet du prochain exercice.
Application 2 (OPTIONNEL) : accéder au disque distant SwitchDrive
En tant qu'étudiant(e) EPFL, vous avez accès à un « disque réseau » Switch Drive auquel vous pourrez accéder de partout (machine personnelle,VMs de l'Ecole, ...). Si vous souhaitez l'utiliser (optionnel, pas nécessaire -- c'est juste pour information) voici comment procéder :
-
Avant tout, il vous faudra créer un compte EDU-ID comme indiqué là-bas : https://www.epfl.ch/campus/services/ressources-informatiques/authentification/compte-switch-edu-id/obtenir-un-compte-edu-id/;
À la fin, au lieu de cliquer sur '+', il y a directement un lien pour lier une organisation AAI.
À partir de là, choisir EPFL, puis cliquer sur « lier le compte » jusqu'à ce qu'il demande vos identifiants GASPAR suivis de vos identifiants EDU-ID.
Retourner ensuite sur Switch Drive, s'identifier, et cocher la case « accepter les conditions générales » (si vous êtes d'accord !).
Vous devriez alors avoir accès (via le navigateur) à votre « disque réseau » (distant) chez Switch.
Vous pouvez donc maintenant vous déconnecter. -
Une fois votre disque/compte créé chez Switch (cf ci-dessus), il est possible de « mounter » (= accéder) à ce drive distant directement depuis les VMs (plutôt que de passer par le navigateur Internet) :
-
Ouvrez le navigateur de fichiers
-
Choisissez « Other Locations » en bas à droite
-
En bas, dans « Connect to Sever », entrez ceci :
davs://drive.switch.ch/remote.php/dav/files/prenom.nom%40epfl.ch
(où prenom.nom est le début de votre adresse email EPFL). Notez bien que cet URL se termine donc par votre adresse email EPFL dans laquelle le caractère @ a été remplacé par la chaîne %40. Exemple avec mon compte:
Note : il semble (à confirmer) que pour certain(e)s il faille mettre votre adresse email avec laquelle vous vous êtes connecté(e) sur EduId au lieu de votre adresse EPFL. Le bon identifiant est en fait donné sur la page Web de votre compte SwitchDrive dans « Settings » (tout en bas à gauche), puis « WebDAV » : remplacer https par davs.
-
Entrez vos identifiants Switch Drive (usename = votre adresse email EFPL, avec le @ cette fois, et mot de passe EduID):
-
Et voilà ! Vous avez maintenant accès, sur la VM, à ce disque réseau distant.
-
Exercice 6 : Quelques commandes Unix (Linux ou Mac)
Remarque préalable : Il ne s'agit pas dans cet exercice d'uniquement répondre aux questions ni d'effectuer aveuglément les commandes données (ce qui est la plupart du temps trivial), mais plutôt de bien comprendre ce qui se passe et pourquoi on obtient tel résultat.
Pour gérer les fichiers, on peut soit utiliser le gestionnaire de fichiers comme vu précédemment, soit utiliser un éditeur comme déjà vu (et sur lequel nous reviendrons dans le prochain exercice), soit utiliser directement des commandes du langage Shell d'Unix dans une fenêtre Terminal, ce qui est l'objet du présent exercice.
Les principales commandes (ls, cd, cp,...) sont présentées dans la mini-référence correspondante du cours.
Application 1 : copie de fichiers
Ouvrez un terminal (voir l'exercice 3), et allez dans le répertoire myfiles/cpp/serie01 créé à l'exercice précédent :
cd ## revient simplement à votre répertoire racine (home) si vous n'y étiez pas cd Desktop/myfiles/cpp/serie01
Notes :
pour copier efficacement ces commandes depuis cette page vers votre terminal vous pouvez :
- triple-cliquez (gauche) sur la ligne de texte dans firefox ; cela sélectionne toute la ligne;
- cliquez-milieu (sur la roulette) dans le terminal ; cela « colle » la ligne précédemment sélectionnée.
N'hésitez pas à demander une démo à un(e) assistant(e) si nécessaire
-
dans le cas présent, une alternative au « copié-collé souris » est la complétion automatique (essayez les deux):
dans le terminal lorsque vous tapez sur TAB (la touche de tabulation) le terminal essaye de compléter automatiquement le nom.
Essayez par exemple de taper:cd De
puis tapez sur TAB, le terminal devrait automatiquement remplir par Desktop/ ;
tapez m (M minuscule) puis une nouvelle fois sur TAB, le terminal devrait automatiquement remplir par myfiles/, puisque dans Desktop/ il n'y a rien d'autre que myfiles/ qui commence par 'm' ;
tapez encore trois fois sur TAB pour arriver à «serie0» et terminez en mettant le numéro 1.
À l'aide des commandes Unix suivantes, copiez dans ce répertoire les fichiers poeme1.txt et poeme2.txt :
curl -s 'https://drive.switch.ch/index.php/s/vR0hq2eAoEQD2dJ/download?path=%2F&files=poeme1.txt' -o poeme1.txt curl -s 'https://drive.switch.ch/index.php/s/vR0hq2eAoEQD2dJ/download?path=%2F&files=poeme2.txt' -o poeme2.txt
Notes :
- Apprenez tout de suite à tirer avantage des fonctionnalités
de la souris et du clavier dans cet environnement :
-
pour recopier les commandes précédentes, au lieu d'essayer de le faire par vous-même au clavier, utilisez le «copier-coller» de la souris comme expliqué ci-dessus et réexpliqué ici : il suffit de sélectionner avec la souris ce que vous voulez copier (par exemple avec un double clic gauche pour un mot, triple clic pour toute la ligne), puis de faire un clic-milieu (c.-à-d. bouton du centre) là où vous voulez copier ce qui à été sélectionné. Bref, en 4 clics vous avez cette commande compliquée qui est saisie !
pour la seconde commande vous pouvez aussi (au lieu du «copier-coller») utiliser l'historique des commandes : dans le terminal, tapez sur la flêche vers le haut. La commande précédente réapparait. Modifiez alors le 1 de poeme1.txt en un 2 et appuyez sur 'Entrée'. Simple, non ?
-
Les fichiers ci-dessus sont codés (pour les accents) en UTF-8. Si vous préférez un codage en latin-1 (ISO 8859-1), utilisez alors :
curl -s 'https://drive.switch.ch/index.php/s/vR0hq2eAoEQD2dJ/download?path=%2F&files=poeme1-latin1.txt' -o poeme1.txt curl -s 'https://drive.switch.ch/index.php/s/vR0hq2eAoEQD2dJ/download?path=%2F&files=poeme2-latin1.txt' -o poeme2.txt
Application 2 : commandes de base et diverses manipulations de fichiers
Créez, à l'aide de la commande Unix mkdir, un sous-répertoire test (dans serie01 ou alors à la racine, hors de myfiles. Dans le premier cas le nom sera simplement test tout seul (ou ./test, ce qui est pareil). Dans le second cas, ce sera ~/test, avec le «tilde» devant. Ce «tilde» est un raccourci pour dire «$HOME», c.-à-d. votre répertoire personnel). Dans la suite nous utilisons test. Remplacez par ~/test si vous avez créé ce répertoire à votre racine.).
-
Quelle est la différence entre les deux commandes suivantes :
cp poeme1.txt test/f1.txt
etmv poeme1.txt test/f1.txt
? Quelle est l'information retournée par la commande which ls ? par which man ? Que représentent-t-elles ?
Que vous donne la commande ls -l *.txt ?
Note : ci-dessus, c'est un « -L minuscule », pas un « -1 (-un) ».
-
Lors de l'utilisation de caractères spéciaux (*, ? ou [ ]), il faut bien comprendre que c'est le Shell (c.-à-d. l'interpréteur de commandes) qui fait le remplacement des arguments avant d'envoyer la liste des arguments à la commande. Cela signifie que la commande ne «voit» que des arguments déjà évalués par le Shell. Mais comment tester ?
Cette partie de l'exercice vous propose de vous familiariser avec les commandes suivantes :
-
echo affiche simplement ses arguments. Le nom vient du fait que la commande renvoie ses arguments comme un écho, sans modification :
echo 1 2 3 1 2 3 echo 'Bonjour tout le monde !' Bonjour tout le monde ! echo SHELL SHELL echo $SHELL /bin/bash
Dans ce dernier exemple, le Shell remplace la variable $SHELL par son contenu. La commande echo ne fait aucune modification de ses arguments.
echo *.txt poeme1.txt poeme2.txt
Dans ce dernier exemple, le Shell remplace *.txt par tout les fichiers correspondant, puis lance la commande echo avec les arguments trouvés. La commande echo reçoit donc bien comme arguments «poeme1.txt poeme2.txt» et ne fait elle-même aucune modification de ses arguments.
-
touch modifie la date d'accès et la date de modification de chaque fichier indiqué. Les fichiers qui n'existent pas sont créés. On peut se servir du dernier fait pour créer des fichiers vides.
ls -l toto ls: toto: No such file or directory touch toto ls -l toto -rw-r--r-- 1 dupont ph-ba1 0 Sep 12 08:32 toto rm toto
Dans cet exemple, on a créé et détruit le fichier toto.
ATTENTION ! la commande rm ne met pas le fichier la poubelle mais ledétruit de façon irrévocable. Une commande pour « mettre à la poubelle» existe sous forme d'un paquet Ubuntu : trash-cli. Ceux qui ont Ubuntu sur leur machine personnelle peuvent l'installer par sudo aptitude install trash-cli. Voir cette page de documentation pour plus de détails.
À présent :
- Allez dans le répertoire test et créez plusieurs fichiers
commençant par f, et au moins les trois fichiers
(pas répertoires !)
f1,
f2 et
f4 (c'est bien un 4, ce n'est pas une
faute de frappe).
Pour que ce soit plus clair ensuite, mettez quelque chose de différent dans chacun de ces fichiers (en utilisant par exemple un éditeur).
Quel est le résultat de la commande ls ?? (ls suivi de deux points d'interrogation (??)) ?
Quel est le résultat de la commande ls f[123] ?
Quel est le résultat de la commande cat f[123] ?
- Créez quelques fichiers supplémentaires : albert, a.txt, zoulou, ...
- Testez les caractères de substitution :
- Affichez tous les noms de fichiers avec echo ;
- Afficher les noms qui commencent par un a ;
- Afficher tous les noms de longueur 6 ;
-
-
L'exécution de la commande ls -l produit, pour un certain utilisateur, quelque part, le résultat suivant :
-rw-r--r-- 1 dupont ma-ba1 75180 Mar 28 2003 divers drwxr-x--x 2 dupont ma-ba1 4096 Mar 14 2003 autchose
- Est-ce que divers est un fichier ou un répertoire ? Même question pour autchose.
- À qui (utilisateur et groupe) appartient ce fichier ?
- Qu'est-ce que les utilisateurs du groupe ma-ba1 ne peuvent pas faire avec autchose ?
- Qu'est-ce qu'un utilisateur quelconque (pas dans le groupe ma-ba1) a le droit de faire avec ce fichier/répertoire ?
-
Quelle est la spécificité des fichiers dont le nom commence par le caractère . ?
Exécutez les commandes suivantes (~ représente votre répertoire racine («home directory»)) :
ls ~ puis
ls -a ~Quelle différence observez vous ?
- Pour finir, un petit exercice sur les noms de fichiers
(et leurs raccourcis) :
- listez le contenu du répertoire /etc ;
- listez tout ce qui est dans le fils man1 du fils man du père de /usr/share/fonts et qui commence par rm.
Exercice 7 : Utiliser le «Forum de discussion»
Le forum de discussion du cours est accessible depuis la page Moodle du cours sous le lien... ...« Forum de discussion ». C'est un outil important de ce cours et vous devez régulièrement le lire.
Accédez maintenant au forum du cours et
lisez le message de bienvenue que j'y ai
posté. Ce n'est pas nécessaire d'y répondre : je n'aimerais pas avoir
déjà 150 messages bidons sur le forum ;-)
Par contre tout
commentaire constructif ou toute question est déjà le/la bienvenu(e) !
N'hésitez donc pas à utiliser cet outil à bon escient : poster tous les messages qui vous semblent pertinents (questions, commentaires, ...) en relation avec le cours, le C++, Unix, la programmation, ou sur la partie théorie du vendredi, bien entendu.
Exercice 8 : Navigation
Allez vous inscrire au cours d'introduction à la programmation en C++ sur le site de Coursera.
Veuillez si possible utiliser votre adresse email EPFL pour cela (sinon, envoyez moi (jean-cedric.chappelier@epfl.ch) un email avec l'adresse que vous utilisez).
Sélectionnez, bien sûr, la version gratuite. N'entrez en aucun cas de coordonnées bancaires !
Il faut choisir l'option « Cours complet sans certificat » :
Vous pouvez ensuite explorer les sites Web du cours et celui des salles CO :
-
Naviguez sur le site Moodle du cours, parcourez en particulier les références du cours (tout en bas).
S'il vous reste du temps, approfondissez vos connaissances en parcourant la la mini-référence des commandes Unix.
Complément 1 : Utiliser le mail
Pour pouvoir accéder à votre compte e-mail, vous devez répondre aux pré-requis mentionnés au départ de cette série.
Voir ensuite la la page d'accès à votre courrier électronique.
Pour lire votre email dans les salles CO, vous pouvez soit passer par l'interface Web précédente, soit par un outil spécifique comme p.ex. «Thunderbird» (configuration : mot de passe GASPAR ; entrant : IMAP SSL/TLS sur imap.epfl.ch, port 993 ; sortant : SMPT SSL/TLS sur mail.epfl.ch, port 465).
Complément 2 : Impression
Visualisation des documents
Pour visualiser un document au format PDF, cet environnement utilise le logiciel evince.
Pour un fichier sur le Net, il suffit depuis votre navigateur Internet (firefox) de cliquer sur le lien vers un tel document. Un « plug-in» (une portion d'evince insérée dans le navigateur) se charge d'effectuer la visualisation.
Pour un fichier local, il suffit aussi de cliquer sur l'image dans le gestionnaire de fichiers.
Depuis la ligne de commande, on lance ce programme ainsi :
evince [document]
où document est un nom de fichier (absolu ou relatif) ; par exemple :
evince ~/Desktop/myfiles/exemple.pdf &
(voire carrément une URL (adresse Internet))
Impression des documents
Pour imprimer un document autre que PDF, vous devez au préalable le
rapatrier sur votre système (pour les PDF votre navigateur le fera
pour vous). Lorsqu'il s'agit de document que vous ne voulez pas
conserver, utiliser le répertoire /tmp pour les stocker
temporairement, ce qui permettra d'économiser votre quota disque.
(Pensez tout de même à le nettoyer quand vous avez fini !)
Pour imprimer un fichier PDF utiliser le bouton d'impression dans acroread. De même pour imprimer une page Web, utilisez le bouton d'impression du navigateur (Firefox).
Pour plus de détails voir le site myprint.
Application
Pour voir si vous avez bien compris, essayez d'imprimer quelque chose, par exemple les transparents du cours (mettez les en 4 sur 1) ou la série d'exercices de demain.
Exercice 9 : Se déconnecter (ou logout)
ATTENTION ! Pour vous déconnecter de votre session de travail, il vous faut vous déconnecter DEUX FOIS !
Une première fois de la machine virtuelle : option Log Out du menu sous votre nom dans le menu apparaissant en cliquant sur le bouton en haut à droite :
et une seconde fois du server de VMs, là où il y a la liste des choix des VMs (dont les IC-CO-IN-...-2024-Fall).