Installations
ce guide vise à vous permettre de faire toutes les installations nécessaires.
la liste des outils
La liste des outils
il nous faut a minima :
-
le terminal - nous utilisons
bash
, qui est- natif sur les OS linux et MacOS,
- et qui vient avec le produit
git for windows
-
l’éditeur de code Visual Studio Code, mieux connu comme VS-code
-
miniconda pour Python (et les environnements virtuels)
-
Jupyter pour les notebooks
- on parlera un peu de markdown pour la mise en forme du texte,
- et de
pour les formules mathématiques
-
Git pour la gestion de versions
- c’est un outil super-utile pour le développement, c’est indispensable que vous sachiez l’utiliser
-
enfin on configurera également un compte sur github.com
- pour le stockage de vos travaux - typiquement les rendus
- et le travail en groupe - typiquement les hackatons et projets
et pour le S2
pour le S2, on vous demandera aussi d’installer Node.js; ce n’est pas nécessaire de l’installer tout de suite mais les instructions sont ici
quelques conseils
Mais avant de commencer, voici quelques recommandations générales :
comment tester une installation
après avoir installé, disons par exemple VS Code, on va vérifier que ça a bien marché.
Pour ça, on vous dit de taper dans le terminal code .
mais en fait l’installation de VS Code modifie la façon dont s’initialise le terminal,
et du coup ça n’affecte pas les terminaux créés avant l’installation.
ceci est notamment pertinent lorsque vous recevez une erreur comme
code: command not found
si ce symptôme persiste même après avoir essayé dans un nouveau terminal, c’est que l’installation s’est mal passée.
Le PATH (pour les curieux)
le PATH
c’est le mécanisme qui permet au terminal de trouver les commandes
et quand on installe un nouveau logiciel - comme on va le faire tout de suite avec
git for windows - il est souvent nécessaire de modifier le PATH
pour que les nouvelles
commandes deviennent accessibles depuis le terminal
ce n’est pas crucial de le savoir, mais si vous êtes curieux, sachez que
-
PATH
c’est ce qu’on appelle une variable d’environnement (ça veut dire qu’elle se propage d’un processus à l’autre), -
que c’est une liste de répertoires où sont cherchées les commandes
Terminal window # un exemple sur linux/macos# le ':' est un séparateur$ echo $PATH/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin -
et qu’elle est le plus souvent définie/modifiée dans un fichier caché qui s’appelle
.bashrc
dans votre homedir -
lorsque vous créez un nouveau terminal, celui-ci va lire le contenu de votre
.bashrc
c’est pourquoi il faut créer un nouveau terminal pour tester une installation qu’on vient juste de faire
comment bien installer sur MacOS
sur Mac, quand vous installez une application - comme notamment vs-code:
il est trés important de copier l’application dans le dossier Applications
- on aura l’occasion d’en reparler
🔧 git (et bash sur Windows)
on installe
suivez les instructions pour votre OS
en installant git for windows on va faire d’une
pierre deux coups, et installer à la fois bash
et git
-
allez sur le site là https://gitforwindows.org/
-
téléchargez et lancez l’installation…
-
vous pouvez prendre toutes les options par défaut
on peut prendre toutes les options par défaut
et entre autres, à la question Adjusting your PATH environment :
choisissez au moins l’option recommandée (#2) - on peut prendre l’option (#3) si on veut importer plus d’outils dans le terminal, mais ce n’est pas strictement nécessaire pour le coursmachine DSI / pas de droit administrateur ?
le programme d’installation de git for windows est conçu pour installer le programme dans
C:\Program Files
, qui peut nécessiter des droits administrateur; et malheureusement il ne propose pas de choisir un autre endroit…aussi, si vous n’arrivez pas à installer git for windows, il va vous falloir lancer le programme d’installation “à la main” c’est-à-dire depuis un terminal; voici la procédure à suivre dans ce cas:
- lancer un terminal PowerShell (on ne peut pas encore utiliser le terminal bash naturellement, puisqu’on ne l’a pas encore installé)
- trouver le nom de votre homedir; pour cela tapez
qui devrait vous répondre quelque chose qui contient votre nom, comme genre
Terminal window cdpwdTerminal window C:\Users\Jean Mineur - se déplacer dans le dossier où vous avez téléchargé le programme d’installation (généralement
Downloads
)Terminal window cd Downloads - lancer le programme d’installation en ligne de commande en précisant un dossier d’installation sous votre homedir
à affiner selon le nom du fichier que vous avez téléchargé, mais ça ressemble àTerminal window .\Git-2.34.1-64-bit.exe /DIR="C:\Users\Jean Mineur\GitForWindows"
sur ces deux OS, bash
est préinstallé
pour installer git
, utilisez ce lien: Démarrage rapide de git
-
rien de particulier à signaler sur linux, c’est sans doute déjà installé, et sinon c’est trivial
-
par contre pour les Mac: attention ça peut être long !! la méthode recommandée passe par l’activation de Xcode, un peu de patience sera nécessaire..
Mac & Xcode
si vous optez pour la méthode “XCode”, on vous dit de taper
git --version
pour déclencher l’installation de XCode; si cela vous affiche seulement un message d’erreur, vous pouvez aussi lancer l’installation de XCode directement depuis le terminal avec la commande suivante:Terminal window xcode-select --install
on vérifie bash (tous OS)
vous devez pouvoir
-
lancer un terminal
bash
Windows
cherchez bash dans le menu Démarrer
lancez l’application qui s’appelle Git Bash
n’hésitez pas à faire en sorte (Pin to Taskbar) que ce programme reste dans la barre des tâches même lorsqu’il est inactif; ça vous facilitera la vie… -
pour vérifier que c’est bien du
bash
- et pas du PowerShell par exemple, tapezTerminal window echo $BASH_VERSIONqui doit répondre
Terminal window 5.2.15(1)-release # c'est juste un exemple heinzsh sur Mac
si vous avez un Mac, il se peut que votre terminal soit un
zsh
et pas unbash
ce n’est pas un souci, les deux outils sont très largement compatibles !
pour savoir quel est exactement votre shell, vous pouvez faireTerminal window echo $SHELL
on vérifie git (tous OS)
-
pour vérifer que vous avez bien installé
git
:Terminal window $ git --versiongit version 2.41.0 # pareil, la réponse peut être différente chez vousremarque dans cette forme, le
$
signifie que j’ai tapégit --version
et que ça m’a répondugit version 2.41.0
c’est pour abréger un peu
pensez bien à ne pas taper le$
vous même
car bien sûr ça va marcher beaucoup moins bien si vous le faites ;) -
si vous n’avez pas au moins la version 2.23, faites-vous connaitre; le mieux serait de mettre à jour pour obtenir une version plus récente, car certains éléments du cours sur git ne vont pas fonctionner chez vous…
🚀 exercice: le dossier cours-info
pas à pas
depuis le terminal on peut tout faire ! et pour commencer on va apprendre à créer un dossier
c’est dans ce dossier qu’on vous invite à travailler pendant les cours d’info
-
créez un nouveau terminal
-
regardez dans quel dossier vous êtes
Terminal window pwdqui devrait vous répondre quelque chose qui contient votre nom, comme genre
Terminal window # sur Windows/c/Users/Jean Mineur# sur Mac / Linux/Users/jeanmineurc’est votre home directory, en abrégé homedir
ce n'est pas le cas ?
si vous vous trouvez dans un dossier bizarre (qui n’a rien à voir avec votre nom), prenez l’habitude de commencer par forcer le terminal à aller dans votre homedir en faisant simplement
Terminal window cdà quoi ça sert ?
sur mac et linux, c’est optionnel car le terminal démarre justement dans le homedir; c’est le comportement normal
par contre selon les configurations sur Windows, il peut être nécessaire de prendre l’habitude de faire un premiercd
au début du terminal, car dans certains setups le terminal démarre dans un autre dossier… -
créez un dossier
cours-info
Terminal window mkdir cours-infobien entendu il ne faut le faire qu’une seule fois :)
-
allez dans ce nouveau dossier
Terminal window cd cours-infoéventuellement refaites
pwd
pour constater que vous avez changé de dossier -
maintenant ouvrez votre explorateur de fichiers, et déplacez-vous dans ce même dossier à ce stade vous devez constater que le dossier est bien créé, et qu’il est bien vide
🔧 vs-code
nous demandons à tous les élèves d’installer et de savoir utiliser vs-code
il s’agit d’un éditeur de code, c’est ce qu’on va utiliser pour écrire nos programmes
installation (toutes plateformes)
On y va. Le site est là https://code.visualstudio.com/.
Vous voulez installer donc il va falloir que vous alliez dans une section download … vous la voyez ?
à vous de jouer maintenant
Windows: toutes les option par défaut
pour les Windows, à nouveau vous prenez toutes les options par défaut (enfin, il faut accepter la licence, évidemment)
pour les Mac: déplacez dans le dossier Applications !
Attention
on l’a signalé déjà rapidement, mais la bonne façon d’installer une appli sur MacOS en général est de la glisser-déplacer dans le dossier Applications
aussi une fois que vous aurez téléchargé, et double cliqué sur le zip, vous allez voir un fichier de type .app
, qui se trouve dans votre dossier Downloads
il est impératif de glisser-déplacer ce fichier dans le dossier Applications
si on ne le fait pas, ça semble fonctionner, mais on a des tas de problèmes assez retors par la suite
on vérifie l'installation de vs-code
-
si le programme d’installation a lancé un exemplaire de vs-code, fermez-le
-
dans un nouveau terminal (voir + haut)
Terminal window code --versionqui doit afficher un numéro de version (et d’autres détails, par exemple
Terminal window 1.84.21a5daa3a0231a0fbba4f14db7ec463cf99d7768ex64command not found ?
si à la place vous voyez
Terminal window code: command not foundd’abord vérifiez que vous avez bien essayé dans un nouveau terminal (oui je sais…)
et sinon allez voir cette page -
lorsque ça fonctionne, prenez l’habitude de lancer vs-code comme ceci
Terminal window # first I want to choose in which folder I am going to workcdcd cours-infocode . -
et tant que vous y êtes, activez le mode Auto Save:
⮑ dans le menu File, cliquez sur Auto Save (ça ajoute une check mark)
l’effet de ce réglage est que vos modifications sont sauvées toutes seules, pas besoin de Control-S sans arrêt ! -
pour ceux qui sont en avance, amusez-vous à créer un fichier:
- Control-n (ou Command-n sur mac) pour créer un nouveau fichier
- Control-s (sur mac c’est toujours Command-truc) pour indiquer dans quel fichier le sauver, disons
foo.txt
- écrivez une ligne ou deux
- quittez vs-code
- vérifiez la présence du nouveau fichier
- depuis l’explorateur de fichiers
- et aussi depuis le terminal, où vous pouvez utiliser
cat foo.txt
pour afficher le contenu que vous venez de taper
🔧 miniconda / Python
-
il y a de très nombreuses distributions de Python disponibles
-
notre choix : miniconda, parce que
- il est relativement léger
- il permet d’installer en mode “user”, c’est-à-dire sans droits administrateur
- il permet également de fabriquer des environnements virtuels (pas de panique, on n’utilisera pas ça tout de suite, mais c’est une possibilité qui devient vite intéressante)
-
ça va sans dire, mais ne prenez surtout pas Python 2.7 !
on vérifie conda et python
et on fait quoi pour vérifier ? on crée un nouveau terminal !
le prompt (rappel)
- le signe
$
ne fait pas partie de ce que vous devez taper - c’est juste une indication pour dire que la commande s’adresse au terminal
c-à-d à nouveau : GitBash sur Windows, Terminal sur MacOS,
et n’importe quel terminal bash sur linux
ça signifie que vous n’avez pas à taper le $
, ce
sera déjà affiché lorsque vous taperez vos commandes
la commande conda
vous créez un nouveau terminal, et vous tapez
$ conda --versionconda 23.5.2
qui ne doit pas vous répondre command not found
si c’est le cas, c’est que vous n’avez pas bien coché la case
Add Miniconda3 to my PATH environment variable
dans ce cas voyez ici
version de python
pour savoir la version de python installée
$ python --versionPython 3.11.4
vous devez avoir une version 3.x, et surtout pas 2.7
quel python ?
pour savoir quelle version de python
est utilisée, vous pouvez taper
$ type python
qui doit vous répondre quelque chose comme
# sur Windows avec notre setup vous devez avoirpython is /c/miniconda/python# sur Mac par exemple je voispython is /c/Users/JeanMineur/miniconda3/python
🚀 exercice: vs-code + python
pas à pas
-
créer un nouveau terminal
-
aller dans le dossier
cours-info
(on fait comment déjà ?) -
lancez vs-code
Terminal window code . -
copiez-collez le code ci-dessous dans un fichier qui s’appelle
fact.py
# une fonction qui calcule factorielledef fact(n):return 1 if n <= 1 else n * fact(n-1)# on affiche quelques résultatsfor n in [4, 25]:print(f"fact({n}) = {fact(n)}")quelques trucs
utilisez les raccourcis clavier (remplacer Control par Command sur Mac)
- Control-N: créer un nouveau fichier
- Control-S: sauver le nouveau fichier, et lui donner un nom si nécessaire
- Control-A Control-C Control-V: comme d’habitude pour le copier-coller
-
exécutez le programme
Terminal window $ python fact.pyfact(4) = 24fact(25) = 15511210043330985984000000
extras Python
🔧 les librairies numériques
c’est-à-dire:
- numpy + pandas + matplotlib
- ainsi que IPython + Jupyter
à quoi servent Jupyter et Jupytext ?
le cours est écrit sous forme de notebooks Jupyter, dans un format textuel (ici du markdown) grâce à Jupytext
de manière générale vous aurez le choix entre
- lire le cours en HTML (comme ce premier cours),
- ou de l’exécuter sous forme de notebook en lançant Jupyter sur votre ordi; on en reparlera
à quoi sert jupytext-config ?
en l’absence de cette dernière commande, depuis Jupyter vous pouvez toujours ouvrir les notebooks jupytext ,
mais il faut passer par Clic droit → Open with → Notebook
une fois que vous aurez exécuté la commande ci-dessus, vous pourrez ouvrir les notebooks
simplement en double-cliquant dessus
on vérifie numpy et jupyter
version de ipython et numpy
lancez ipython
et tentez de reproduire cette session
vous ne devez pas avoir d’erreur du type ModuleNotFound
$ ipythonPython 3.11.4 | packaged by conda-forge | (main, Jun 10 2023, 18:10:28) [Clang 15.0.7 ]Type 'copyright', 'credits' or 'license' for more informationIPython 8.14.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: import numpy
In [2]: print(numpy.__version__)1.26.0
In [3]: exit()$
version de jupyter
de retour dans le terminal, affichez les versions des composants de Jupyter avec cette commande
vous ne devez pas avoir de command not found
jupyter --version
les modules installés avec pip (optionnel)
# pour obtenir la liste des librairies installées# (possiblement beaucoup)pip list# pour voir la version installée de UNE librairie, par exemplepip show numpy
🔧 configuration de l’autoreload
à quoi ça sert ?
le problème: vous êtes dans ipython
ou dans un notebook, et vous faites
from my_module import my_functionmy_function(...)
et puis ensuite un peu plus tard, vous modifiez my_module.py
sous vs-code, et vous
voulez essayer la nouvelle version; votre première idée est de refaire l’import pour
recharger le module dans l’interpréteur
MAIS là attention, un second import
ne recharge pas le fichier ! c’est le
comportement attendu, et souhaitable, car charger un module est coûteux; c’est
pourquoi l’interpréteur garde en mémoire les modules qu’il a déjà chargés, et du
coup vous pouvez ré-importer autant que vous voulez, vous allez toujours utiliser
le premier code, et non ce que vous venez de modifier !
la solution: avec cette astuce, vous n’aurez plus besoin de ré-importer,
vous pourrez juste ré-exécuter my_function()
et vous utiliserez la dernière
version du module (pour autant que le nouveau module ne contienne pas d’erreur qui
empêche son chargement, bien entendu)
comment ça marche ?
pour les curieux qui veulent comprendre, le script est en bash:
- il commence par s’assurer que le dossier
.ipython/profile_default
existe sous le home directory - puis dans ce dossier, il ajoute dans le fichier
ipython_config.py
les 3 lignes de configuration qui précèdent leEOF
(c’est du Python bien sûr); le fichier est créé s’il n’existait pas
🔧 Jupyter: windowing mode = defer
si vous rencontrez des soucis avec l’affichage de JupyterLab, qui “saute” lorsque vous essayez de remonter dans le document, procédez à la manipe suivante:
-
Ouvrez l'éditeur de *Settings*
-
Choisissez le mode `defer`
cherchez le mot
windowing
pour trouver la bonne rubrique dans les Settings
🚀 exercice: mon premier notebook
cet exercice est optionnel en temps contraint, mais on recommande de le faire à la maison pour se familiariser avec tous ces outils
pas à pas
- créez un nouveau terminal
- allez dans
cours-info
- tapez la commande
jupyter lab
cela doit ouvrir un nouvel onglet dans votre navigateur dans lequel tourne l’application Jupyter et le terminal devient inutilisable - menu Jupytext -> New Text Notebook -> Markdown MyST
- renommez le nouveau fichier, qui a été créé sous le nom
Untitled.md
, enmy-first-notebook.md
- dans la première cellule vous mettez le code de la fonction
fact()
(voir + haut) - calculez différentes valeurs de
fact()
dans les cellules suivantes - créez une cellule markdown et voyez ce que ça donne
- les styles gras, italique, code, etc..
- les listes à bullet
- les titres
- etc…
- (option) dans une autre cellule markdown vous insérez une ou des équations
, j’invente: - sortez de JupyterLab en faisant File -> Shutdown
- vous retournez dans le terminal qui maintenant fonctionne à nouveau
🔧 configuration git
avant de pouvoir utiliser git, il nous faire un minimum de configuration
c’est très important de bien suivre toutes ces consignes, ou alors vous risquez de sérieusement galérer plus tard…
on vérifie: mon premier commit (optionnel)
voici un petit scénario qui vous fait créer un dossier, un repo git, un fichier, et un commit; toutes les commandes sont à taper dans le terminal (bash bien sûr)
# je repars de mon homedircd# je vais dans le dossier cours-infocd cours-info# je crée un nouveau dossiermkdir my-first-git-repo# je vais dedanscd my-first-git-repo# j'initialise ce dossier comme un repo gitgit init# je lance l'éditeur de codecode .
# à ce stade, dans vs-code, créez le fichier `readme.md`# avec une ou deux lignes de texte, sauvez-le# puis retournez dans le terminal:
# on veut que readme.md soit dans le commit qu'on va créergit add readme.mdgit commit
# à ce stade, vous devez voir une fenêtre s'ouvrir dans vs-code# allez-y, tapez un message sur la première ligne# (par exemple `mon premier commit`),# puis faites `Control-S` suivi de `Control-W`# (ou Command-S suivi de Command-W sur mac)
# et là si tout se passe bien:# la fenêtre dans vs-code se ferme,# et si vous retournez dans le terminal# vous voyez que le `git commit` est terminé
# on peut alors continuer, et fairegit log
# qui doit vous montrer UN commit; vérifiez# que votre nom et mail est correct# et que la branche s'appelle bien `main`
github et la clé SSH
depuis Août 2021, il est devenu très compliqué d’utiliser la méthode dite ‘HTTPS’ pour s’authentifier chez github;
aussi nous allons ensemble voir comment créer une clé pour la méthode SSH
🔧 compte github
pour commencer, créez-vous un compte sur github si ce n’est pas déjà fait
c’est quoi SSH ?
au départ, c’est un système de terminal distant pour pouvoir administrer les serveurs à distance; l’authentification est basée sur le principe d’une paire de clés publique/privée
sans entrer dans les détails, ces deux morceaux sont en gros deux éléments symétriques l’un de l’autre dans un très gros groupe fini, et on ne peut pas facilement calculer l’un à partir de l’autre
par définition:
- la clé publique peut être divulguée sans aucun souci au monde entier
- par contre la clé privée doit être gardée secrète, donc jamais exposée/copiée en dehors de votre ordi
et donc, ce qu’on va faire tout simplement, c’est:
- générer une paire de clés
- et déposer une copie de la clé publique sur github, en l’associant à votre compte github
🔧 on y va
création de la paire de clés
pour générer la clé publique vous faites simplement dans le terminal
ssh-keygen -t rsa
ce programme va vous poser des questions, à ce stade je vous recommande de toujours répondre par simplement la touche Entrée, pour accepter les défauts et ne pas attacher de mot de passe votre clé privée (ce qui n’est pas une pratique hyper-sûre, mais à ce stade de votre cursus ça parait raisonnable; si vous êtes geek et/ou très soucieux de sécurité, mettez un mot de passe mais soyez prêt à taper votre mot de passe ad nauseam, ou à passer du temps à des configurations scabreuses pour ne pas avoir à le faire…)
ça ressemble à ceci
vous n’aurez pas exactement les mêmes messages, mais pour que vous ne soyez pas surpris voici en gros à quoi vous attendre comme session

affichage de la clé publique
ssh-keygen
va avoir pour effet de créer deux fichiers situés dans le dossier ~/.ssh
(le tilda signifie: directement sous votre homedir)
du coup vous affichez le contenu de la clé publique en faisant maintenant
# pensez à copier-coller, surtout# si vous ne trouvez pas le ~ sur votre clavier
cat ~/.ssh/id_rsa.pub
et vous copiez tout le contenu (en incluant bien tout, même le ssh-rsa
et tout)
ça ressemble à ceci
de nouveau, pour que vous ne soyez pas surpris voici en gros à quoi vous attendre comme session

attachez la clé à votre compte github
maintenant vous allez sur github:
- dans le coin en haut à droite il y a votre icône
- qui ouvre un sous-menu dans lequel vous choisissez Settings
- dans la partie gauche de la page qui s’ouvre, cliquez ‘SSH and GPG Keys’

et là vous pouvez ajouter votre clé publique SSH:
- mettez ce que vous voulez comme titre
- mais vous collez la clé publique dans la zone qui va bien

🔧 Node.js (S2 uniquement)
attention, comme toujours avec conda, l’installation n’a d’effet que dans l’environnement virtuel actif
pensez à faire d’abord le conda activate
qui va bien, si nécessaire…
installation de Node.js
# ceci fonctionne mais me donne une version trop ancienne# conda install nodejsconda install conda-forge::nodejs=22
pourquoi Node.js ?
Node.js est un environnement d’exécution JavaScript, qui permet de faire tourner du code JavaScript en dehors du navigateur. On va l’utiliser massivement dans le cours de S2, notamment pour faire tourner des serveurs web
cette installation vous donne accès aux commandes node
et npm
vérification de l'installation
node --version# et aussinpm --version