UbunDI

De Wiki Ali(ENS de Lyon)
Révision datée du 8 septembre 2024 à 23:46 par Hmartel (discussion | contributions) (Modification arbitraire)

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...


🐙