UbunDI
Guide pour l'informatique pratique à l'ENS de Lyon
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 distribution Linux Ubuntu 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 [at] 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 Ubuntu
Linux est un système très simplement utilisable, sans surcouche inutile ni pub 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 Ubuntu pour démarrer.
Ubuntu est basé sur l'interface GNOME qui ressemble un peu à MacOS dans son fonctionnement:
- appuyez sur la touche "WINDOWS" pour pouvoir facilement rechercher une application
- en HAUT A DROITE, vous pouvez cliquer sur la batterie pour avoir accès directement à beaucoup d'options très pratiques !
- Application "Paramètres" qui vous permettra simplement de changer les options de votre ordinateur
- il y a des forums français sur internet : https://www.ubuntu-fr.org/
- 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
commande | Résumé |
---|---|
ls |
LiSter le contenu d'un dossier |
cd |
Change Directory |
mkdir |
MaKe DIRectory |
rm |
ReMove file |
mv |
MoVe file |
cat |
Afficher le contenu d'un fichier texte |
sudo <commande> |
Super User DO |
man <commande> |
MANuel de la commande |
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, Ubuntu 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
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 '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://raw.githubusercontent.com/ocaml/opam/master/shell/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 dont vous aurez besoin pendant l'année
opam pin -y add coq 8.18.0
opam install -y menhir merlin graphics dune ocamlformat ocp-index user-setup vscoq-language-server ocaml-lsp-server utop
Installation de VSCodium
Installons VSCodium, un IDE simple et populaire et permettant l'ajout de très nombreuses extensions !
sudo snap install codium --classic
Ou en passant par l'interface graphique, on peut par exemple lancer le "Ubuntu Software Center". Cliquez ensuite sur la loupe, cherchez codium, et installez l'application qui est représentée par une branche de corail bleue. On met à jour le dock d'Ubuntu sur la gauche avec l'application pour un accès rapide.
gsettings set org.gnome.shell favorite-apps "$(gsettings get org.gnome.shell favorite-apps | sed s/.$//), 'org.gnome.Terminal.desktop' , 'codium_codium.desktop']"
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 (Coq)
Installons l'extension VSCoq pour faire du Rocq (Coq) ! Elle permet d'exécuter des fichiers .v
pas à pas avec l'assistant de preuve.
cd $(xdg-user-dir DOWNLOAD)
wget https://open-vsx.org/api/maximedenes/vscoq/2.1.7/file/maximedenes.vscoq-2.1.7.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.
cd $(xdg-user-dir DOWNLOAD)
curl -JO --compressed https://marketplace.visualstudio.com/_apis/public/gallery/publishers/ocamllabs/vsextensions/ocaml-platform/1.20.0/vspackage
codium --install-extension ocamllabs.ocaml-platform-*.vsix
C/C++
Installons l'extension llvm-vs-code pour coder en C et C++ plus facilement.
sudo apt install -y clangd
cd $(xdg-user-dir DOWNLOAD)
wget https://open-vsx.org/api/llvm-vs-code-extensions/vscode-clangd/0.1.29/file/llvm-vs-code-extensions.vscode-clangd-0.1.29.vsix
codium --install-extension llvm-vs-code-extensions.vscode-clangd-*.vsix
Python
Installons une extension pour avoir de l'autocompletion, lancer des notebooks ou se balader dans un projet avec plusieurs fichiers !
sudo apt install -y python3-ipykernel python3-matplotlib
cd $(xdg-user-dir DOWNLOAD)
wget https://open-vsx.org/api/ms-python/python/2024.12.3/file/ms-python.python-2024.12.3.vsix
codium --install-extension ms-python.python-*.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 !
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 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
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 !
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 !
Discord
Appli de chat très très très utilisée par les différentes promotions d'Info et pour des cours du DI. Il y a aussi un serveur pour le DI directement et pour les étudiant·es de l'ENS.
Nous recommendons de l'installer via le Software Center
Pourquoi ces choix ?
À venir...
🐙