Aller au contenu

Guide pour l'informatique pratique à l'ENS de Lyon

De Wiki de l'ENS de Lyon
Version datée du 14 juillet 2025 à 22:01 par Hmartel (discussion | contributions) (Grosse mise à jour pour 2025/2026 (notamment Debian à la place d'Ubuntu, Rocq à la place de Coq et plus d'extension Microsoft))

Voici une longue liste de commandes à lancer pour avoir un système prêt pour une année de L3 à l'ENS de Lyon au Département Informatique !

Ce guide est écrit pour la distributions Linux Debian que nous vous recommendons pour commencer Linux. Vous devriez vous en sortir aussi si vous connaissez un peu Linux et que vous êtes sur une autre distribution.

Si vous avez des questions n'hésitez pas à contacter AliENS par mail à aliens.discussion@ens-lyon.fr ou sur le canal Discord #aliens du serveur des étudiant·es de l'ENS de Lyon.

Amusez-vous bien avec votre ordinateur !


Généralités sur Linux et Debian

Linux est un système très simplement utilisable, sans surcouche inutile ni pub ou IA intégrée. Son code source est accessible à toustes et fortement personalisable !

De nombreuses distributions (~versions avec quelques changements de fonctionnements entre chaque) existent ! Nous avons choisi de vous recommander Debian avec l'environnement Desktop Xfce pour démarrer.

Quelques astuces générales :

  • appuyez sur la touche "WINDOWS" pour pouvoir facilement rechercher une application
  • Dans un terminal, Ctrl+C et Ctrl+V ne fonctionnent pas, il faut utiliser Ctrl+Shift+C et Ctrl+Shift+V
  • Application "Paramètres" qui vous permettra simplement de changer les options de votre ordinateur (Wi-Fi, clavier, batterie, etc)
  • N'ayez pas peur du terminal, il est souvent très simple à utiliser et à comprendre ! (parfois plus simple qu'une interface classique pour certaines tâches !)


Conseils sur l'utilisation du terminal

L'application "Terminal" d'Ubuntu permet de lancer des commandes dans un terminal ! Derrière c'est le logiciel bash (le shell) qui va exécuter vos commandes.

Une chose contrintuitive quand on commence à écrire des commandes est que quand tout va bien, bash n'affiche rien ! Dans de nombreux cas, si rien ne s'affiche c'est surement que tout s'est bien passé. Au contraire, si vous voyez du texte surtout en rouge, lisez le et n'hésitez pas à le copier puis le coller dans un navigateur pour essayer de le comprendre (ou demander de l'aide à AliENS !).

Classiquement une commande va avoir un nom comme ls pour lister les fichiers dans un dossier, des options ou "flags" comme -a -l pour afficher les fichiers cachés et sous forme de liste et enfin un argument final comme dossier1.

Cette commande ressemblera à ls -a -l dossier1 et listera tous les fichiers et dossiers dans le dossier dossier1 !

Enfin, pour comprendre les commandes n'hésitez pas à lire le Manuel de cette commande en lançant la commande man <commande> (ex: man ls pour la page de manuel sur la commande ls). Mais la lecture peut être hardue et n'hésitez pas directement à chercher sur internet !!

Commandes utiles

  • ls LiSter le contenu de dossiers
  • cd Change Directory
  • mkdir MaKe DIRectory
  • rm ReMove
  • mv MoVe
  • cat Afficher le contenu d'un fichier
  • sudo <commande> Lancer une commande avec les permissions admin (Super User DO)
  • sudo apt install Installer une application
  • sudo apt update Mettre à jour la liste des applications (ou paquets)
  • sudo apt upgrade Mettre à jour les applications ayant des mises à jour

N'hésitez pas à avoir une petite feuille de papier ou un carnet où noter ces quelques commandes et des exemples d'utilisation pour les retenir rapidement si vous en avez envie !

Mises à jour

Pour mettre à jour vos paquets, souvent, Debian va vous prévenir et il suffira de cliquer sur "oui", mais vous pouvez aussi le faire à la main et c'est très simple !

Il suffit de taper sudo apt update, puis sudo apt upgrade (il faudra ensuite taper 'o' ou 'y' pour dire oui/yes, installons les mises à jours proposées).

Ces commandes utilisent sudo pour lancer la commande avec les permissions admin (ou root sous Linux/MacOS), apt comme nom de commande. apt est le "package manager" d'Ubuntu, c'est à dire le logiciel qui gère toutes les applications (paquets) installés sur le système et leur versions. Enfin, les sous commandes update pour mettre à jour la liste des dernières versions des paquets, puis upgrade pour télécharger les dernières versions et les installer ! Tout ça sans jamais avoir à redémarrer son ordinateur !!

Installation d'applications

Pour installer des applications, oublions les réflexes de Windows, il ne faut presque jamais télécharger un logiciel sur internet sous Linux ! On utilise apt search <nom logiciel> et apt install <nom logiciel> à la place !

On peut aussi simplement utiliser le "Software center" pour très facilement installer des logiciels en quelques clics. C'est l'équivalent de l'App Store dans iOS/MacOS et du Google Store dans Android !


Mise à jour du système, paquets basiques et dépendances

Mettons à jour la liste des paquets. Puis, téléchargeons les mises à jour et installons les. Enfin, installons des paquets utiles pour la suite du guide (et pour vous).

sudo apt update
sudo apt upgrade -y
sudo apt install -y make gawk gcc g++ git curl wget pkg-config libgmp-dev libx11-dev libcairo2-dev libexpat1-dev libgtk-3-dev libgtksourceview-3.0-dev libxft-dev


Avoir une meilleure autocompletion dans le terminal

On va activer une option de bash (votre terminal) pour pouvoir cycler avec TAB parmi les propositions de l'autocomplete. Pour faire cela, on va ajouter des lignes de configuration dans le fichier de configuration du "shell" (programme qui va exécuter les commandes du terminal) qui s'appelle .bashrc dans le dossier principal de notre user (~/.bashrc).

sudo apt install bash-completion
echo "bind 'set show-all-if-ambiguous on'" >> ~/.bashrc
echo "bind 'set show-all-if-unmodified on'" >> ~/.bashrc
echo "bind 'set page-completions off'" >> ~/.bashrc
echo "bind 'set bell-style none'" >> ~/.bashrc
echo "bind 'set completion-ignore-case on'" >> ~/.bashrc
echo "bind 'set skip-completed-text on'" >> ~/.bashrc
echo "bind 'TAB:menu-complete'" >> ~/.bashrc

Maintenant qu'on a un autocomplete plus pratique à utiliser, installons un programme qu'on va aussi ajouter au fichier .bashrc qui va le rendre encore plus simple et pratique à utiliser !

cd $(xdg-user-dir DOWNLOAD)
git clone --recursive --depth 1 --shallow-submodules https://github.com/akinomyoga/ble.sh.git
make -C ble.sh install PREFIX=~/.local
echo 'source ~/.local/share/blesh/ble.sh' >> ~/.bashrc

Maintenant, vous pouvez fermer votre terminal et le rouvrir pour charger la nouvelle configuration présente dans le fichier ~/.bashrc !


Installation d'OCaml & compagnie

Installons d'abord opam un logiciel pour installer et gérer les versions d'OCaml et ses composants. On utilise opam pour ajouter ce qu'il faut pour que nos applications parlent avec OCaml.

sudo bash -c "yes '' | sh <(curl -fsSL https://opam.ocaml.org/install.sh)"

Initialisons l'environnement opam pour pouvoir l'utiliser par la suite et activons le !

opam init -a -y
eval $(opam env --switch=default)

Installons les applications OCaml et Rocq dont vous aurez besoin pendant l'année

opam pin -y add rocq-prover 9.0.0
opam repo add rocq-released https://rocq-prover.org/opam/released
opam install -y menhir merlin graphics dune ocamlformat ocp-index user-setup vscoq-language-server ocaml-lsp-server utop rocqide

Installation de VSCodium

Installons VSCodium, un IDE simple et populaire et permettant l'ajout de très nombreuses extensions !

wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg \
    | gpg --dearmor \
    | sudo dd of=/usr/share/keyrings/vscodium-archive-keyring.gpg
echo 'deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/vscodium-archive-keyring.gpg] https://download.vscodium.com/debs vscodium main' \
    | sudo tee /etc/apt/sources.list.d/vscodium.list
sudo apt update && sudo apt install -y codium

Installation des extensions VSCodium

Un des intérêts de VSCodium est d'avoir accès à de nombreuses extensions pour de très nombreux langages (et aussi des extensions fun)

Vous pouvez chercher les extensions dans le "marketplace" en cliquant sur l'icône à gauche avec 4 petits carrés dont un qui sautille, cherchez le nom d'une extension ou le nom d'un langage par exemple, et installez.

Mais il est toujours possible sinon (et parfois nécessaire) d'installer via ligne de commande. Pour cela il suffit de télécharger le fichier .vsix que l'on veut (comme VSCoq) et lancer codium --install-extension <fichier .vsix> pour installer cette extension !

Dans les extensions qui suivent nous nous plaçons dans le dossier de Téléchargements de votre Linux, nous téléchargeons directement le .vsix et nous l'installons comme expliqué précédemment !

Rocq

Installons l'extension VSCoq pour faire du Rocq ! Elle permet d'exécuter des fichiers .v pas à pas avec l'assistant de preuve.

https://github.com/rocq-prover/vsrocq>

cd $(xdg-user-dir DOWNLOAD)
wget https://open-vsx.org/api/maximedenes/vscoq/2.2.6/file/maximedenes.vscoq-2.2.6.vsix
codium --install-extension maximedenes.vscoq-*.vsix

OCaml

Installons maintenant l'extension OCamlPlatform qui permet de coder plus simplement en OCaml sur VSCodium avec la même procédure que précédemment.

https://github.com/ocamllabs/vscode-ocaml-platform>

cd $(xdg-user-dir DOWNLOAD)
wget https://open-vsx.org/api/ocamllabs/ocaml-platform/1.30.1/file/ocamllabs.ocaml-platform-1.30.1.vsix
codium --install-extension ocamllabs.ocaml-platform-*.vsix

C/C++

Installons l'extension clangd pour coder en C et C++ plus facilement.

https://open-vsx.org/extension/llvm-vs-code-extensions/vscode-clangd>

sudo apt install -y clangd
cd $(xdg-user-dir DOWNLOAD)
wget https://open-vsx.org/api/llvm-vs-code-extensions/vscode-clangd/0.2.0/file/llvm-vs-code-extensions.vscode-clangd-0.2.0.vsix
codium --install-extension llvm-vs-code-extensions.vscode-clangd-*.vsix

Python

Installons des paquets indispensables et une extension pour avoir de l'autocompletion, et du typecheck ! https://open-vsx.org/extension/charliermarsh/ruff>

sudo apt install -y python3-pip python3-ipykernel python3-numpy python3-pandas python3-matplotlib python3-sklearn
curl -LsSf https://astral.sh/ruff/install.sh | sh
cd $(xdg-user-dir DOWNLOAD)
wget https://open-vsx.org/api/charliermarsh/ruff/linux-x64/2025.24.0/file/charliermarsh.ruff-2025.24.0@linux-x64.vsix
codium --install-extension charliermarsh.ruff-*.vsix


Utilisation de LaTeX

LaTeX vous sera utile pour écrire des DM, des rapports de stage ou des présentations scientifiques.

Pour cela, nous vous recommendons l'utilisation d'Overleaf, un site web pour écrire et compiler des fichiers LaTeX (en collaboration ou non). Nous vous conseillons 2 instances overleaf.com et overleaf.aliens-lyon.fr, la première est l'instance "officielle" et vous demande de payer pour avoir accès à plus de fonctionnalité, temps de compilation, etc. L'autre instance est celle gérée par AliENS, un peu moins performante mais sans limitation, de plus si vous avez des soucis de compilation, nous pouvons vous aider plus facilement !

Nous vous conseillons aussi de regarder Typst qui est une alternative bien plus simple, lisible et modulaire que LaTeX


Installation d'environnements Python

Pour créer des projets Python avec des dépendances proprement, il est préférable d'utiliser des "Environnements virtuels".

Pour cela, on faut installer le paquet suivant :

sudo apt install -y python3-venv

Il vous suffira ensuite dans votre dossier de projet de taper les commandes (notez le point à la fin de la première commande indiquant le dossier actuel) python3 -m venv ., puis source bin/activate. Vous pourrez alors installer tous les paquets et dépendances Python que vous voulez avec pip sans casser/abimer votre système !

Pour quitter ce mode, il faudra simplement lancer la commande ajoutée par le "venv" deactivate.


Installation d'applications utiles

Pour installer davantage d'applications il suffit de lancer sudo apt install <nom de l'application> (comme dans certaines commandes plus haut dans ce guide !), ou de chercher l'application dans le "Software Center" puis de l'installer en appuyant sur les boutons colorés.

Nous vous en proposons quelques examples d'applications très utilisées sous Linux ci dessous :

vim

Un éditeur de texte très commun sous Linux avec des raccourcis très spéciaux (mais rigolos). Il faut taper :q pour quitter et :w pour enregistrer. On peut lancer le logiciel avec vim fichier.txt pour créer et ouvrir un nouveau fichier.

Une version plus récente et plus "simplement" façonnable est aussi disponible sous le nom neovim ou helix.

emacs

Un autre éditeur de texte (concurrent principal de vim/neovim). Celui-ci a des raccourcis tout aussi particuliers (Ctrl+C puis Ctrl+X). Il est possible d'installer un nombre gargantuesque d'extensions, on peut par exemple faire du Rocq directement dans Emacs (Proof General) !

htop

Un équivalent au gestionnaire de tâches de Windows dans votre terminal, il suffit de taper htop dans un terminal pour le lancer. Il permet de voir tous les processus en cours, les trier par RAM, CPU utilisé !

tree

Permet de facilement voir l'arborescence d'un dossier et de ses fichiers, lancer avec tree dossier.

À installer via sudo apt install tree

wireshark

Un logiciel très utilisé en réseaux pour analyser des les paquets qui passent par votre ordinateur !


Pourquoi ces choix ?

Pour Debian, il s'agit d'une distribution très utilisée. Il est donc relativement simple de trouver de la documentation si on a des questions et/ou des problèmes.

Pour Xfce, c'est simplement car cet environnement est stable, peu demandant en ressources et bien fait. De plus, c'est souvent l'environnement utilisé sur les ordinateurs des concours (Info X/ENS ou Agregation d'Informatique, ...).