Documentation

Bienvenue dans la documentation de l'ALIAS ! 👋

L'objectif de cette documentation est de servir de base de connaissance du système informatique de Sorbonne Université.

Vous retrouverez donc ici des articles suceptibles de répondre à vos questions liées à l'informatique.
Que vous suiviez un cursus d'informatique ou non, cette documentation peut vous aider à maîtriser les outils de la faculté !

Fait pour vous, enrichi par vous

Cette documentation est en constante évolution, c'est vous qui contribuez à l'ajout de données.
N'hésitez pas à suggérer des modifications ou à poser vos questions sur notre Discord ou notre mailing list !

Cette documentation, tout comme l'intégralité de nos outils proposés sont open-source, retrouvez les tous ici.

Eduroam

eduroam est un réseau standardisé utilisé par beaucoup d'universités pour offrir du wifi aux étudiants et professeurs.
Ce qui est notable c'est que cela permet de "roam" comme son nom l'indique d'une université à une autre avec nos identifiants de connexion de notre université.

Pour avoir accès au réseau eduroam, rendez vous sur le site web de l'installateur. Et selectionner celui de Sorbonne Université.
Sur téléphone, l'installateur est disponible sur le PlayStore Android et l'AppStore Apple

Suivez ensuite les indications de l'installateur, et vous serez connecté !

NB:

Spécificité Linux

Sur Linux, l'installateur vous demandera votre nom d'utilisateur. Celui-ci est votre numéro étudiant auquel vous ajouterez @sorbonne-universite.fr.

Exemple: 99999999@sorbonne-universite.fr

Eduroam

Eduroam d'UPMC et la reMarkable 2

Si vous êtes détenteur d'une tablette reMarkable 2, vous aurez sans doute constaté que la connexion à eduroam est difficile.

Dans cet article, nous développerons la technique vous permettant de vous connecter au réseau.

⚠️ Ce tutoriel n'a pas été testé pour le modèle reMarkable 1

💡 Il est recommandé de désactiver les mises à jour automatique car une mise à jour est fortement susceptible de supprimer les fichiers nécessaires à la connexion.

Pour se faire, sur votre tablette, aller dans vos paramètres...
General > Software (cliquez sur la version) > Automatic Updates off

Sources mobilisées

Se connecter au SSH de la reMarkable

Toutes les tablettes reMarkable 2 possède une clé SSH, vous pouvez vous connecter à votre tablette très simplement

Disposer d'un outil de connexion SSH

Pour cela, vous devrez disposer de l'outil très reconnu pour vous connecter au SSH directement sur le terminal: Openssh
Par défaut, ce logiciel est déjà installé sur MacOS, et une version spéciale est aussi disponible directement sur Windows 10.

Si vous êtes sous Linux, installez le package openssh, sur Ubuntu, utilisez le package manager apt (N'oubliez pas de mettre à jour avant d'installer un nouveau packet):

sudo apt install openssh

Pour vérifier si openssh est bien installé, tapez la commande ssh dans le terminal.
Si la commande n'est pas reconnue, renseignez-vous sur l'installation du logiciel sur le site officiel

Connectez votre tablette à votre ordinateur

Si cela est nécessaire accepter le partage information entre l'ordinateur et la tablette

Connectez-vous au ssh de votre tablette

Sur votre terminal, tapez la commande suivante:

ssh root@10.11.99.1

💡 Effectivement, nous nous connectons avec le nom d'utilisateur "root" à l'appareil d'adresse ip 10.11.99.1, l'ip local de la remarkable

Il vous sera demandé de renseigner un mot de passe, celui-ci est disponible dans les paramètres:
Help > About > Copyright notices and software licenses > GPLv3 Compliance

💡 Quand vous taperez sur votre clavier, rien ne s'affichera à l'écran mais vos touches seront prises en compte ! Il s'agit d'une sécurité visant à ne pas dévoiler la longueur du mot de passe.

⚠️ Si vous en générez un nouveau, enregistrez le quelque part, car il sera impossible de vous connecter avec votre tablette si vous ne vous en souvenez plus !

Générer le certificat eduroam

Sur votre ordinateur, vous allez générez les certificat nécessaire pour vous connecter au réseau wifi eduroam avec votre identité étudiante.

Nous allons ensuite transférer ces fichiers vers la tablette reMarkable grâce au protocole scp en utilisant l'outil intégré de Openssh

Procurez-vous le script Python pour eduroam sur Linux

💡 Nous allons récupérer des informations à l'intérieur, l’intégralité du script ne nous intéresse pas. Vous n'avez donc pas besoin d'avoir Python installé sur votre ordinateur.

Pour cela, rendez-vous sur le site cat.eduroam.org

  • Cliquez sur téléchargez l'installateur
  • Choisissez l'université UPMC
  • Cliquez sur Choisissez un autre installateur à télécharger >💡 Si vous êtes sur une machine Linux, ce n'est pas nécessaire !
  • Sélectionnez Linux puis téléchargez le.

Extrayez le CA public initialisé en fin de script

Vous le trouverez, à partir de la ligne 1091 (Lors de l'écriture de cette article)

Copiez l'intégralité du certificat de, (donc tout ce qu'il y a l'intérieur des triples guillemets (sans les triples guillemets)).

⚠️ Il faut que vous ayez récupéré 3 clés différentes et donc que vous vous soyez arrêté au dernier tiret de la 3e mention END CERTIFICATE

Sauvegardez le texte que vous avez copié dans un fichier que vous aurez enregistré sous le nom ca.pem pour sauvegardez la clé publique

Créez le fichier wpa_supplicant

Afin de faire reconnaître à la reMarkable le réseau wifi eduroam et de s'y connecter, nous devons créer un fichier de configuration wpa_supplicant.

Actuellement, pendant l'écriture de cette article, vous pouvez utiliser cette configuration.

network={
        ssid="eduroam"
        key_mgmt=WPA-EAP
        pairwise=CCMP
        group=CCMP TKIP
        eap=TTLS
        ca_cert="/etc/wpa_supplicant/certificate/ca.pem"
        identity="NUMERO ETUDIANT"
        altsubject_match="DNS:radius.upmc.fr;DNS:radius.upmc.fr"
        phase2="auth=PAP"
    password="MOT DE PASSE"
    anonymous_identity="anonymous@upmc.fr"

}

Remplacez les lignes identity et password respectivemment avec votre numéro étudiant et votre mot de passe

💡 Ce fichier n'étant pas crypté, notez bien que votre mot de passe sera visible pour quiconque peut accéder à ce fichier !

Une fois que tout est fait, vous pouvez sauvegarder ce fichier sous le nom de eduroam.conf

Créez le service système permettant de vous connecter

Nous devrons créer un fichier de service que nous activerons pour qu'il s’exécute dès l'allumage de la reMarkable

Ce fichier permettra aussi à la reMarkable de se connecter automatiquement à eduroam dès qu'il sera à porter.

Dans un fichier texte, copiez-collez les informations suivantes.

[Unit]
Description=WPA supplicant daemon for eduroam 
After=network.target

[Service]
Type=simple 
ExecStart=/usr/sbin/wpa_supplicant -c/etc/wpa_supplicant/eduroam.conf -iwlan0 
Restart=on-failure

[Install]
WantedBy=multi-user.target

Sauvegardez ensuite le fichier sous le nom de eduroam.service

Créez les dossiers nécessaires sur le ssh de la tablette

Nous allons très vite envoyer les fichiers, mais nous avons d'abord besoin de créer les dossiers nécessaire s'il n'existe pas.

Connectez vous à votre tablette puis ajouter les dossiers suivants.

Vous devez vous trouvez normalement à la racine du HOME de root. Plus spécifiquement, si vous tapez

pwd

Vous devriez voir:

/home/root

Si ce n'est pas le cas, ce n'est pas bien grave, maintenant, vous savez où vous êtes dans l'arborescence de votre tablette.

Vérifiez l'existence du dossier /etc/wpa_supplicant:

ls /etc/wpa_supplicant

S'il n'existe pas, créez le avec la commande

mkdir -p /etc/wpa_supplicant/certificate

Cette commande aura aussi créer un sous dossier certificate dans ./wpa_supplicant que vous devrez créer si vous ne l'avez pas fait.

Et avec ça, nous en avons fini et nous pouvons transférer les fichiers. Déconnectez-vous du ssh avec la commande

exit

Envoyez les fichiers sur la tablette avec scp

Une fois que vous avez confirmé que vous pouvez vous connecter à la tablette en ssh. Nous allons maintenant envoyer les fichiers que nous avons créé directement dessus.

La commande scp permet de réaliser un transfert de fichier en utilisant le protocole de copie de même nom.

Sur votre terminal et non pas sur le ssh de votre tablette identifiez l'endroit ou vous avez sauvegardé votre fichier ca.pem puis renseignez la commande suivante (en remplaçant /chemin/de/ca.pem par le chemin d'accès)

scp /chemin/de/ca.pem root@10.11.99.1:/etc/wpa_supplicant/certificate/

⚠️ Il est très important d'ajouter le / à la fin de la commande pour spécifier que nous envoyons ce fichier à l'intérieur du dossier certificate.

💡 Si nous ne le faisons pas, alors nous allons renommer notre fichier certificate et allons l'envoyer à l'intérieur du dossier wpa_supplicant

Renseignez le mot de passe de la tablette et votre fichier devrait avoir été envoyé avec succès.

Envoyons maintenant le fichier eduroam.conf que vous avez dû créer à cette étape. Il s'agit du même principe sauf qu'ici nous l'enverrons dans le dossier /etc/wpa_supplicant/ et non pas dans le sous dossier certificate.

scp /chemin/de/eduroam.conf root@10.11.99.1:/etc/wpa_supplicant/

Finalement, envoyons le fichier de service eduroam.service à la tablette.

scp /chemin/de/eduroam.service root@10.11.99.1:/lib/systemd/system/

Activez le service, redémarrez et c'est terminé !

Reconnectez vous au ssh de votre tablette puis exécutez les commandes suivantes.

systemctl enable eduroam.service

Cela lancera le service permettant de se connecter à eduroam au démarrage de la tablette. Vous pouvez maintenant redémarrez votre tablette avec:

reboot

Profitez bien de la connexion eduroam sur votre tablette :D

Simplifier ses accès aux mails Sorbonne

Synchroniser sa boîte mail Sorbonne

Il peut être difficile d'utiliser Zimbra, dans cet article nous verrons comment synchroniser votre boîte mail de l'université avec votre client mail principal.

Nous allons ici se connecter aux serveurs mails, ce qui vous permettra aussi de répondre et de gérer votre boîte mail directement via votre application de messagerie préférée sans jamais plus à avoir à vous connecter sur la plateforme Zimbra.

Dans votre application favorite, suivez ces étapes attentivement:

Ajoutez une nouvelle adresse email de type IMAP

💡 Si cette option n'existe pas, appuyez sur "autre" ;)

💡 S'il est possible de le faire n'oubliez pas de cocher les cases types: "paramètres avancés/configuration manuelle"

Renseignez le serveur mail entrant

Serveur: imaps.sorbonne-universite.fr
Port: 993
Mot de passe: Le même que vous utilisez pour vous connecter sur Moodle

⚠️ Si cela est requis n'oubliez pas d'activer l'authentification SSL ou SSL/TLS (et non pas juste TLS)

💡 S'il faut renseigner un nom d'utilisateur, il s'agira ici de votre adresse e-mail étudiante

Renseignez le serveur mail sortant (SMTP)

Serveur: smtps.sorbonne-universite.fr
Port: 465
Nom d'utilisateur: Votre numéro étudiant
Mot de passe: Le même que vous utilisez pour vous connecter sur Moodle

⚠️ Une fois de plus, si cela est requis n'oubliez pas d'activer l'authentification SSL ou SSL/TLS (et non pas juste TLS)

Et voilà ! C'est terminé !

MrPython

MrPython est un IDE ayant pour objectif l'apprentissage de Python et l'initiation aux bonnes pratiques de programmation.
Ce logiciel est en général utilisé en première année de cursus informatique.

Pour télécharger MrPython, vous pouvez télécharger l'installateur sur le site dédié. Mais il est aussi préférable de l'installer depuis son répertoire GitHub, car l'installation est commune à tous les ordinateurs, nous allons voir cette pratique ci-dessous.

Installation de git

Premièrement, vous devez être en possession de git, la méthode est différente selon vos systèmes d'exploitation...

💡Il est possible que vous connaissiez une site web du nom de GitHub. Sachez que ces deux outils ne sont pas à confondre:
Git est un logiciel qui permet entre autre de sauvegarder différentes versions de fichiers dans un repertoire pendant l'évolution d'un projet de programmation.
GitHub est un service pour stocker sur le cloud un tel repertoire géré par Git.

Sur Windows

Vous pouvez télécharger git sur le site web officiel.

Pendant l'installation, de nombreuses options sont proposées, vous pouvez vous en tenir aux paramètres par défaut, si vous n'êtes pas sûr de ce que vous faites.
Toutefois, il est recommandé d'essayer de comprendre les options que vous sélectionnez, cela vous permettra de mieux comprendre la logique de git.

⚠️ Faites attention à bien ajouter le logiciel git dans le PATH à partir des options d'installations. Cela signifie que git sera un logiciel accessible à partir du terminal, ce qui est fondamental pour la suite, mais aussi pour l'utilisation de git en général. (En effet, git est originellement un logiciel de terminal).

Sur MacOS

Vous pouvez télécharger Homebrew, un package manager très réputé pour l'environnement MacOS. Nous supposerons d'ailleurs par la suite que vous l'utilisez.

Après avoir suivi les instructions d'installation disponible sur le site web et attendu que Homebrew s'installe, vous pouvez installer git via le terminal en utilisant la commande suivante:

brew install git

Sur Linux

Utilisez votre package manager courant pour installer git, par exemple, sur Ubuntu, vous pouvez utiliser apt:

sudo apt upgrade
sudo apt install git

Installation de Python 3.9

Pour pouvoir coder en Python, et éventuellement utiliser MrPython, vous devez donc posséder Python. Nous allons voir les différentes étapes pour l'installer sur votre ordinateur.

Sur Windows

Vous pouvez installer Python sur le site officiel
⚠️ATTENTION Installer la version de Python 3.9, et non pas la plus récente. La version 3.9 est la plus courante, mais aussi la dernière version fonctionnelle pour exécuter MrPython.

Sur MacOS

En supposant que vous avez installé Homebrew à l'étape précédente, nous allons installer Python à partir de celui-ci.

Pour cela, nous allons exécuter la commande suivante:

brew install python@3.9

Sur Linux

Installer Python directement à partir de votre package manager. Par exemple pour Ubuntu, vous pouvez utiliser apt

sudo apt upgrade
sudo apt install python3.9

Cloner MrPython

Cloner MrPython ? Et oui, c'est effectivemment le bon terme ! Nous allons cloner le répertoire Git de MrPython disponible sur GitHub sur notre ordinateur et exécuter MrPython directement à partir de son code source !

Pas de panique, c'est facile, cette fois-ci la démarche est la même pour tous les systèmes d'exploitation ;)

Nous allons tout d'abord nous mettre dans un repertoire (ou dossier) idéal pour l'installation de MrPython. Prenez n'importe lequel, nous assumerons ici que vous avez choisi le dossier Documents

Ouvrez le terminal et utiliser la commande:

cd Documents

Pour vous déplacer dans le repertoire Documents.
Assurez vous que vous êtes bien dans votre dossier personnel, à savoir sur Windows: C:\Users\NOM, ou sur Linux/MacOS: /home/NOM

Une fois à l'intérieur nous allons cloner le reprtoire Git disponible sur GitHub. Pour cela utilisons git dans le Terminal en exécutant la commande suivante:

git clone https://github.com/nohtyprm/MrPython.git

Executer MrPython

Une fois fait, un nouveau dossier devrait être créé dans Document: MrPython-master.
Nous allons voir si nous pouvons exécuter MrPython...

Entrer dans le dossier MrPython-master en utilisant la commande cd:

  • Si vous êtes déjà dans le repertoire Documents sur le terminal: cd MrPython-master
  • Si vous êtes dans votre dossier personnel: cd Documents/MrPython-master

💡 Remarquez la syntaxe de la commande cd, c'est une commande courante pour manipuler le Terminal. Elle signifie: "Change Directory" et vous y spécifier tujours à côté l'arborescence dans laquelle vous voulez accéder.

Vous pouvez ensuite, exécuter la commande dans le terminal:

python3.9 mrpython/Application.py

Une fenêtre s'affiche ? C'est MrPython, félicitations !

Post-Installation

MrPython est installé, mais bien difficile d'accès, nous pouvons essayer de simplifier tout ça avec un script.
Ouvrez un document texte avec votre éditeur favori, ici nous supposons que MrPython a été installé dans votre dossier Documents mais vous devez bien évidemmente adapter le script pour accéder au programme si ce n'est pas le cas.

Vous pouvez y écrire:

python3.9 <Chemin d'accès de votre dossier personnel>/Documents/MrPython-master/mrpython/Application.py

Remarquez que nous exécutons python3.9 sur le gichier Application.py en y indiquant la hiérarchie du chemin d'accès depuis la racine de notre disque dur.

Notez que le chemin d'accès de votre dossier personnel varie selon votre système d'exploitation:

  • Sur Windows: C:\Users\NOM ATTENTION d'ailleurs à utiliser des \ et non pas des / pour les systèmes Windows.
  • Sur Linux/MacOS: /home/NOM

⚠️Pensez à mettre le chemin d'accès entre guillemets si celui-ci contient des dossiers nommés avec des espaces !

Sauvegardez ce fichier sous un format de script, de préférence sur votre Bureau, pour qu'il soit cliquable:

  • Sur Windows enregistrez le comme fichier .bat
  • Sur MacOS/Linux, enregistrez le comme un fichier .sh

NB: Sur les systèmes Linux/MacOS, vous devrez sans doute rendre ce fichier exécutable en plus: Ouvrez alors le terminal et exécuter la commande chmod

chmod u+x <Chemin d'accès du fichier .sh>

Cela aura pour effet de rendre ce script exécutable lorsque vous cliquerez dessus.

💡 Sur Linux, il est possible d'aller plus loins et d'utiliser un alias de commande, par exemple, dans votre fichier .bashrc que vous retrouverez à la racine de votre dossier personnel vous pouvez y ajouter la ligne suivante:
alias mrpython=python3.9 <Chemin d'accès de votre dossier personnel>/Documents/MrPython-master/mrpython/Application.py
Maintenant, tapez mrpython sur votre terminal exécutera cette longue commande directement, super pratique donc !

Un environnement adéquat pour coder en C

Introduction

Il s'agit ici d'un petit article pour aider chacun à avoir un environnement convenable pour coder en C (et peut être dans d'autres langages dans le futur).

Mais si cet article se veut le plus complet possible, sachez qu'il est impossible de répondre à tous les besoins...
C'est donc A VOUS d'effectuer vos recherches par la suite et d'attiser votre curiosité pour améliorer cet environnement et en faire vraiment le vôtre. ;)

Le WSL (Pour windows)

Il est important pour les utilisateurs de Windows de savoir que programmer en C sur Windows est quasiment impossible à faire dans les conditions optimales.
Les développeurs de chez Microsoft semble être également d'accord sur ce point et ont inventé le WSL (Windows Subsystem Linux).

Qu'est ce que c'est ?

Un WSL est une machine virtuelle qui va s'exécuter sur votre ordinateur, en fait, c'est un peu comme si un ordinateur s'exécutait sur votre ordinateur. Cette machine virtuelle abritera un système Linux qui vous permettra de disposer de tous les outils nécéssaire pour programmer.

⚠️ ATTENTION ! Même si le WSL semble fantastique, il ne remplace pas un véritable système Linux ! Si vous envisagez de programmer plus sérieusement plus tard, voyez ceci comme un moyen de tâter le terrain avant de basculer sur Linux et non pas comme un échappatoire !

Comment l'obtenir ?

Il est très facile d'obtenir un WSL ayant Ubuntu sur le Microsoft Store.

Si vous souhaitez utiliser une distro Linux différente, un bon point de recherche pour comprendre le fonctionnement serait de suivre ce tutoriel pour installer Fedora sur WSL

C'est personnellement celui que j'ai suivi pour mettre Fedora, qui est globalement plus agréable à utiliser que Ubuntu

Et après ?

Si vous avez réussi à installer Ubuntu sur votre Windows, vous pouvez l'exécuter en tapant Ubuntu dans votre barre de recherche... N'hésitez pas à épingler votre WSL à votre barre de tâche, ça vous évitera de le chercher ! ;)

Au premier lancement vous serez accueillis par un champ à renseigner:
Enter UNIX name, entrez votre prénom et nom, sans espace et de préférence sans majuscule.

En réalité, vous pouvez faire comme bon vous semble, mais il s'agit d'une norme très répandue dans Linux

Ensuite, vous devrez renseigner un mot de passe...
⚠️ IL EST IMPORTANT DE S'EN SOUVENIR ! CELUI-CI EST IRRECUPERABLE ET TRES IMPORTANT !!

NB: Vous serez probablement surpris de constater que malgré le fait que vous tapiez sur votre clavier, il ne semble pas y avoir de caractère qui s'affiche à l'écran, même pas des *.
Pas de panique ! Vos touches sont belles et bien enregistrées, il s'agit juste d'une sécurité supplémentaire pour que personne ne puisse avoir un indice sur votre mot de passe !

Et voilà ! Vous devriez maintenant avoir accès à Ubuntu, et pourtant, vous êtes toujours sur Windows ! Plutôt pratique non ? Si vous n'en voyez pas l'utilité, vous allez certainement la comprendre prochainement ;)

Une mise à jour de votre WSL ne serait d'ailleurs pas de refus !
Pour se faire, exécutez les commandes suivantes, et faites le régulièrement !

sudo apt update
sudo apt upgrade

Encore une chose !
Si vous êtes sur Windows 11, vous avez certainement une nouvelle icone WSL qui est apparue sur votre bureau. Si vous l'ouvrez, vous exécuterez bien votre WSL, cependant, vous ne vous trouverez pas sur les dossiers de votre machine virtuelle, mais sur les dossiers de votre système Windows.
Ce n'est pas idéal de mélanger votre environnement Linux, avec celui de Windows, il est mieux de considérer de revenir vers votre répertoire Linux en utilisant la commande:

cd ~

Ce qu'il faut savoir, c'est qu'avec un WSL, vous aurez la possibilité d'avoir une communication perpétuelle entre Linux et Windows. Cela signifie que vos dossiers Windows seront accessibles sur votre WSL et vos dossier Linux seront accessibles via Windows.

Essayez un maximum de séparer ces deux environnement pour éviter toutes confusions.
Il est important de noter que votre WSL et Windows ne font pas fonctionner le même système.
Le WSL fait tourner Linux, Windows fait tourner Windows. Il ne faut pas les mélanger !

Installer les utilitaires de programmation

Avant de continuer...

Vous devriez lire l'article sur les bases du Bash afin de maîtriser grosso modo les commandes UNIX (et donc de Ubuntu) et ne pas avoir de problème pour maîtriser la suite

Installation de GCC

GCC signifie de GNU C Compiler, et comme son nom l'indique, il permet de compiler du code C pour qu'il puisse être compréhensible pour l'ordinateur.

Sur Mac OS

Vous devrez installer HomeBrew qui est un package Manager pour Mac.
Grâce à HomeBrew, vous serez en mesure d'installer rapidement différents outils pratique pour la programmation en une ligne de commande dans le terminal.

Une fois l'installation faite, exécutez

brew install gcc

Sur Linux et WSL

Vous devrez installer le logiciel avec le package manager de votre distribution Linux.

Pour Ubuntu par exemple, vous pouvez installer gcc avec:

sudo apt install gcc

Vous pouvez même installer la plupart des outils de programmation en une seule commande avec:

sudo apt install build-essential

Si vous disposez d'une autre distribution Linux, vous pouvez regarder quel nom prend le paquet buid-essential sur votre système en tapant facilement cette question sur internet ;)


Installation de Visual Studio Code

Visual Studio Code, plus communément appelé VSCode, est l'un des éditeurs pour les développeurs les plus agréables et facile à utiliser, c'est pourquoi il est très apprécié de la majorité des programmeurs qui travaillent en entreprise.

⚠️ Pour les utilisateurs de Windows ayant installé un WSL, il ne faut pas installer VSCode sur votre WSL, mais directement sur Windows ! Nous verrons plus tard comment l'utiliser sur votre WSL !

Vous pouvez avoir accès à la dernière version de Visual Studio Code directement sur le site.
Pour les utilisateurs Linux, VSCode est souvent inclus dans votre gestionnaire de paquet. Par exemple, sur Fedora, vous pouvez l'installer facilement avec

sudo dnf install code

Vous pourrez également l'installer via le site si votre système utilise des paquets executable .deb


Comment utiliser Visual Studio Code sur WSL ? (Windows)

Une fois en possession de VSCode, ouvrez le et rendez-vous dans l'onglet extension pour installer le module WSL. Cela vous permettra d'utiliser Visual Studio Code, directement dans l'environnement que vous avez configuré

Installer le module WSL sur VSCode

Une fois que ceci est fait, vous pouvez fermer, VSCode. Maintenant, vous pouvez créer un dossier sur votre WSL, s'y rendre et exécuter la commande

code .

Si vous êtes perspicace, vous constaterez que le . indique le répertoire d'ouverture de VSCode, ici donc, le repertoire actuel


Installer les modules de developpement C

Il est nécessaire pour utiliser tous les outils proposés par VSCode de se procurer les extensions suivantes:

  • C/C++ (développé par Microsoft)
  • C/C++ Extension Pack (développé par Microsoft)

Vous referrer à l'image sur l'installation de l'extension WSL pour comprendre comment installer des extensions


Utilisation de base

VSCode est très facile à utiliser, voici quelques brefs détails sur son interface. Interface de VSCode

Vous pourrez en apprendre plus en regardant leur article dédié. Il est recommandé de le consulter avant de poursuivre

Installation d'un debugger GDB

GDB vient de GNU DeBugger est le debugger le plus utilisé pour le langage C et C++

Qu'est-ce que c'est ?

Un debugger est par définition, un outil qui vous permettra de repérer les bugs sur votre programme. Plus spécifiquement, il vous permettra d'étudier dans les détails l'évolution des variables de votre programme et en exécutant ligne étape par étape, et ainsi identifier d'où vient la potentielle erreur

NB: Pour les utilisateurs Linux et WSL ayant déjà installé le packet build-essential ou un équivalent lors de l'étape d'installation de GCC vous pouvez passer à l'étape suivante pour le configurer sur VSCode


Pour MacOS

Sur votre terminal vous pouvez simplement exécuter la commande:

brew install gdb

L'installation sera effectuée


Pour Linux et WSL

De la même manière que pour MacOS, l'installation se fait en une simple ligne suivant votre package manager.
Pour ubuntu par exemple:

sudo apt install gdb

Savoir debugger sur VSCode

Avant de continuer

Afin de pouvoir utiliser VSCode pour debugger du code, il est nécéssaire de disposer d'un debugger.
Si ce n'est pas déjà le cas, il est possible d'installer gdb d'après l'étape précédente


Sur VSCode

Sur VSCode, vous pouvez debugger un programme très facilement car tout est déjà pré configuré.

Ainsi, afin de pouvoir commencer à debugger, vous pouvez consulter l'article dédié sur le site officiel. Sinon, nous allons aborder les grandes lignes ici

Les breakpoints

Les breakpoints ou points d'arrêt sont les endroits où vous souhaitez que le debugger s'arrête.
Entre autre, votre programme se mettra en pause à l'endroit indiqué et vous indiquerez à partir de ce point l'évolution de votre programme ligne par ligne.

Pour définir un breakpoint, il vous suffit de cliquer sur l'espace vide juste à côté du numéro de ligne à gauche de la zone de code.
Si vous passez votre souris dessus, un point rouge un peu grisé apparaîtra.


Exécuter le debugger

Nous n'allons pas nous attarder sur la configuration du debugger, vous pourrez en apprendre plus sur l'article du site de VSCode.

De fait, passons directement à l'exécution du debugger, sur la barre gauche de la fenêtre vous verrez, si vous avez convenablement installé les extensions, un bouton play et un insecte par dessus. Ceci est votre menu de debuggage, cliquez dessus pour l'ouvrir.

Après avoir choisi quelques breakpoints pour tester ensuite, cliquez sur "Exécuter et déboguer" et lancer le debugger GDB dans la fenêtre qui s'est normalement affichée au milieu.

Après un petit temps de chargement, le debugger devrait vous surligner la ligne sur laquelle se trouve le premier breakpoint.

Plusieurs petits boutons également ont dû s'afficher au milieu de l'écran. Voici les 4 que vous pouvez utiliser sans configuration supplémentaire:

  • Le bouton triangle: Il vous permettra de passer d'un breakpoint à l'autre.
  • La flèche vers le bas: Elle vous permettra d'exécuter le code ligne par ligne, sans qu'il y ait besoin d'ajouter de breakpoints
  • La flèche verte: Pour relancer le debuggage au tout début
  • Le carré rouge: Pour fermer le debugger

:bulb: Une bonne habitude à avoir et de fermer le debugger avant de modifier le code !

Vous constaterez qu'un menu à gauche s'est affiché et qu'il vous donne la valeur de vos variables au moment où la ligne surlignée va s'exécuter ! Plutôt sympathique pour voir les erreurs de calcul et de if ... else !

Voici en image ce qu'on vient de décrire au cas où vous seriez perdus

Image 1, lancement du debuggage Image 2, interface en debuggage

Conclusion

Et voilà ! Vous disposez désormais d'un environnement de programmation stable pour développer en C.

N'oubliez pas de customiser votre environnement à votre guise, en recherchant sur internet toute curiosité.

Pour aller plus loin vous pouvez aussi mettre vos fichiers sur GitHub et les récupérer partout en plus de les restaurer à des versions antérieures !
Très bientôt, un article dédié à l'utilisation de Git sera disponible sur le Wiki. En attendant, initiez-vous à Git et à GitHub à l'aide de la documentation officielle !

Installer la lib Cini

Introduction

Cini est une bibliothèque graphique simplifiée pour le C, vous permettant de comprendre les fondamentaux graphiques d'une bibliothèque plus avancée: SDL2 dont Cini dépend

⚠️ Prérequis:

  1. Ce tutoriel est dédié aux utilisateurs de machines ayant un fonctionnement basé sur UNIX dont MacOS, Linux ou Windows avec WSL. Pour les utilisateurs Windows n'ayant pas WSL, apprenez comment l'installer ici

  2. Nous admetterons qu'un environnement de programmation C a été configuré sur votre machine. Si ce n'est pas le cas, apprenez comment le faire facilement sur cet article.

  3. Vous devez maîtriser les fondamentaux de Bash, vous pourrez en apprendre plus sur les commandes de bases avec cet article

Cloner le repo git

Vous devez disposer de l'application git sur votre machine.

Pour MacOS

Si vous ne disposez pas d'un package manager, vous pouvez l'installer directement via le site officiel.

Si au contraire vous en avez un, n'hésitez pas à l'utiliser pour installer git.
Par exemple avec HomeBrew, vous pouvez utiliser la commande:

brew install git

Pour WSL et Linux

Installez git avec le package de manager de votre distribution.
Par exemple, pour Ubuntu ce sera:

sudo apt install git

Et après...

Une fois que vous disposez de git, vous pouvez cloner le répertoire Github de Cini. Le mieux est de le faire dans un nouveau dossier local à la racine de votre dossier HOME ~:

mkdir local
cd local
git clone https://github.com/wegank/libcini

⚠️ NB N'utilisez pas ce fichier comme stockage personnel, il vous servira notamment à installer les dépendances d'autres langages de programmation, alors il est important de le laisser tel quel

Une fois le téléchargement terminé, vous devriez avoir un nouveau dossier nommé libcini dans le dossier local, faites ls pour le constater !

Installer CMake pour le compiler

Bien qu'on aurait pu se passer de compiler le code de Cini depuis sa source, il est toujours mieux de le faire soit même quand on en a l'occasion pour en comprendre la logique.

Ainsi, afin de mener à bien la compilation de Cini nous avons besoin de CMake

Pour MacOS

Vous pouvez télécharger CMake depuis le site officiel...
...Ou bien utiliser un package manager tel qu'HomeBrew:

brew install cmake

Pour WSL et Linux

Installez CMake à partir de votre gestionnaire de paquet.
Par exemple pour Ubuntu:

sudo apt install cmake

Installer les dépendances de Cini

Pour fonctionner, Cini va avoir besoin des bibliothèques SDL2. Pas de panique ! l'installation se fera plus rapidement que pour Cini !

Pour MacOS

Vous devez vous procurer un package manager tel qu'HomeBrew pour installer efficacement cette nouvelle librairie.

Grâce à HomeBrew, vous serez en mesure d'installer rapidement différents outils pratiques pour la programmation en une ligne de commande dans le terminal.

Une fois fait, vous pouvez exécuter les commandes suivantes:

brew install sdl2
brew install sld2_ttf

Pour Linux et WSL

Avant d'installer un package, n'oubliez pas de mettre à jour votre système pour avoir les derenières versions compatibles.
Pour ubuntu par exemple:

sudo apt update
sudo apt upgrade

Utilisez le package manager de votre distribution pour vos procurer SDL2.
Par exemple, pour Ubuntu.

sudo apt install libsdl2-dev
sudo apt install libsdl2-ttf-dev

Compiler Cini

Afin de pouvoir compiler Cini il faut que vous retourniez sur le repertoire ~/local/libcini/ que vous avez obtenu en clonant le repo Github.
A l'aide de la commande cd placez vous à l'intérieur et exécutez:

mkdir build
cd build
cmake ..
cpack ..

Une fois fait, Cini devrait être compilé. Pour autant vous ne pourrez pas encore l'utiliser...

Ajouter Cini à C

Finalement, vous devrez modifier quelques variables afin d'avoir Cini de disponible pour vos programmes C

Pour Linux et WSL

Le processus est simple. Si vous n'avez pas agit sur le shell, vous devrez modifier votre fichier ~/.bashrc.
Le code à l'intérieur de ce fichier s'exécutera à chaque fois que vous ouvrirez le terminal.

💡 Vous remarquerez que ce fichier se trouve à la racine de votre repertoire HOME: ~ et que ce fichier est caché car il commence par un .

Pour les utilisateurs ayant modifié leur shell, un fichier avec un nom similaire devrait se trouver à la racine de votre répertoire HOME ~. Normalement nommé .<nom_du_shell>rc
Par exemple, si vous utilisez zsh, le nom de ce fichier sera .zshrc

Vous pouvez modifier rapidement ce fichier avec le logiciel nano qui est un éditeur de texte à l'intérieur du terminal.

nano ~/.bashrc

Une fois à l'intérieur, allez à la toute fin puis copiez collez ce code (avec clique droit sur le terminal):
💡 Vous pouvez vous déplacer à l'aide des flèches sur votre clavier !

# On ajoute Cini à l'include de C pour éviter l'erreur de compilation
export C_INCLUDE_PATH=$HOME/local/libcini/include/:$C_INCLUDE_PATH
# On ajoute la possibilité d'utiliser -lcini et donc d'utiliser la librairie cini à la compilation
export LIBRARY_PATH=$HOME/local/libcini/build/src/:$LIBRARY_PATH
# On ajoute Cini au gestionnaire de librairie LD
export LD_LIBRARY_PATH=$HOME/local/libcini/build/src/:$LD_LIBRARY_PATH

Si vous êtiez sur nano, appuyez sur CTRL+X pour fermer le fichier et sauvegardez en appuyant sur Y puis Entrée
💡 Comme vous avez pu probablement le constater: le caractère ^ sert à indiquer la pression de la touche CTRL. Vous serez amener à rencontrer cette notation plus tard !

⚠️NB: Si vous avez mis le fichier de libicini autre part que dans le dossier ~/local/ veillez à bien modifier le chemin d'accès spécifié pour correspondre à votre arborecence. (on a $HOME=/home/<nom_utilisateur>/)

Vous pouvez exécuter la commande suivante pour appliquer les changements immédiatement:

source ~/.bashrc

Pour MacOS

D'après ce post de StackOverflow

Vous devez vous rendre dans l'application Automator.app
Ensuite vous devez ajouter un nouveau script shell dans Application > Librairies > Ajouter un script shell

Vous pouvez ensuite copier coller le code ci dessous

# On ajoute Cini à l'include de C pour éviter l'erreur de compilation
export C_INCLUDE_PATH=$HOME/local/libcini/include/:$C_INCLUDE_PATH
# On ajoute la possibilité d'utiliser -lcini et donc d'utiliser la librairie cini à la compilation
export LIBRARY_PATH=$HOME/local/libcini/build/src/:$LIBRARY_PATH
# On ajoute Cini au gestionnaire de librairie LD
export LD_LIBRARY_PATH=$HOME/local/libcini/build/src/:$LD_LIBRARY_PATH

Sauvegardez ceci sous le format Application dans le repertoire de votre choix. Le mieux est de le conserver dans un dossier fixé que vous ne risquez pas de supprimer.

Rendez-vous ensuite dans les Paramètres, puis dans Utilisateurs et groupes (ou Comptes), et enfin cliquez sur Exécuter au démarrage. Vous n'avez plus qu'à ajouter l'Application précédemment créée !

Vérifiez que tout fonctionne !

Si tout se passe bien, vous serez en mesure d'utiliser Cini sur votre machine ! Pour vous en convaincre, vous pouvez copier le code du fichier Exemple de Cini disponible sur le répertoire GitHub:

#include <cini.h>

int main() {
    CINI_print_string("Test\n");
    CINI_open_window(250, 100, "Test");
    CINI_fill_window("white");
    CINI_draw_disc(125, 50, 38, "red");
    CINI_draw_string(12, 30, "black", "Cini vous dit bonjour !" );
    CINI_loop();
    return 0;
}

Compilez le à l'aide de gcc avec

gcc hello.c -o hello.out -lcini

Puis exécutez le avec

./hello.out

Alors ? Voyez-vous apparaître la fenêtre à l'écran ? ;)

Linux

Linux est une famille de systèmes d'exploitations open source : contrairement à Windows ou MacOS, Linux n'est pas développé par une entreprise mais par de nombreux développeurs en collaboration, et son code source est accessible, modifiable et redistribuable par n'importe qui.

Linux constitue le coeur du système, et est complété par différents programmes qui le rendent utilisable selon les besoin. L'ensemble composé du noyau linux et de programmes ajoutés est appelé une distribution. Il existe de nombreuses distributions, qui sont adaptées à différents types d'utilisateurs, selon leur niveau en informatique, et leur utilisation de l'ordinateur.

Pourquoi utiliser Linux

Seul 1,24% des ordinateurs de bureau tournent sous Linux, ce qui pourrait laisser penser que ce n'est pas un bon système, mais en réalité, il y a une raison à ces chiffres : les ordinateurs de bureau sont vendus avec Windows, ou MacOS préinstallé, et peu de personnes connaissent l'existence de Linux. Heureusement, ce chiffre ne fait qu'augmenter, notemment grâce à SteamOS, la distribution de linux présente sur les Steam Deck, la console portable de Steam. Il est également important de noter que presque 80% des smartphones tournent sur une distribution de Linux, certes très modifiée : Android. La plupart des sites internet et des services en ligne que vous utilisez sont également hébergés sur des serveurs tournant sous Linux. En bref, Linux est partout.

En tant qu'étudiant en informatique, vous ferez très souvent face à des programmes ayant une bien meilleure expérience d'utilisation sous Linux, en effet, une grande partie des informaticiens utilisent un environnement Linux pour développer. Les ordinateurs de l'université sont sous une distribution de Linux appelée Debian.

Une autres raison pour l'utilisation d'un tel système d'exploitation est de supporter le logiciel libre. Linux est gratuit et libre, et le restera toujours. Avec l'augmentation des modèles d'abonnement, et le développement du stockage dans le cloud, où vous n'êtes plus propriétaire de programmes et de données pour lesquelles vous payez, il est plus qu'important de passer à un modèle gratuit, basé sur l'open source, où les choses sont modifiables librement, et où le système ne possède pas de traqueurs envoyant vos données partout dans le monde.

J'aimerais m'y intéresser, mais c'est compliqué

Linux peut paraître difficile d'accès au premier abord, l'installation nécessite un minimum de connaissances en informatique, et le terminal doit être utilisé pour faire certaines actions, mais tout ça est de moins en moins vrai : plusieurs distributions commencent à rendre leur interface très simple, pour permettre à n'importe qui de les utiliser sans jamais passer par le terminal.

Fedora

Fedora est une distribution linux utilisable sur un ordinateur personnel, développée de manière à être simple d'utilisation, même par une personne n'ayant jamais touché à linux. C'est cette distribution que nous installons lors de nos install-party.

Installation

Nous organisons régulièrement des install-party, où nous pouvons vous installer fedora, mais vous pouvez également faire l'installation vous même si vous pensez en être capable.

L'installation de fedora (et de n'importe quelle distribution linux) peut se faire de deux manière :

  • En dual boot : installation en parallèle d'un autre système d'exploitation comme Windows, avec un écran de séléction au démarage de l'ordinateur.

  • En tant que seul système d'exploitation de l'ordinateur, en remplaçant l'OS précédemment présent installé (par exemple en remplaçant Windows)

Pour réaliser l'installation, le seul matériel nécessaire est une clé USB, d'environs 8 Go ou plus.

⚠️ L'installation de linux n'est pas sans risques, et peut vous faire perdre vos données. Pensez bien à faire une sauvegarde avant de vous lancer, et de bien brancher votre ordinateur sur le secteur lors de l'installation, pour éviter que le PC ne s'éteigne lors d'une étape critique.

1 - Vérifications à faire

Avant d'installer une districution linux, il y a plusieurs informations à vérifier.

La première chose à faire est de vérifier si on a assez d'espace sur son disque. Pour une utilisation normale sur un ordinateur personnel de linux, environs 50 Go sont suffisant.

Il est possible que votre ordinateur ait plusieurs disques, ou ait un disque séparé en plusieurs partitions par son constructeur. Il est toujours possible d'installer linux dans ce cas là, mais des manipulations supplémentaires sont souvent nécessaires.

Vous devez ensuite vérifier si votre disque contenant Windows n'est pas chiffré. Pour cela, cherchez "Bitlocker", ou "Chiffrement" dans la barre de recherche. Vous devriez trouver une page du panneau de configuration vous permettant de désactiver Bitlocker, le système de chiffrement de Windows. Ce système de chiffrement empêche l'installation d'un autre OS.

bitlocker win 11

Désactivation de Bitlocker sous Windows 11 (l'interface peut varier selon les versions de Windows)

2 - Libérer de l'espace dans la table de partitions

Fedora devra être installé dans une partition de votre disque. Un disque dur peut être divisé en plusieurs partitions pouvant contenir différent systèmes de fichiers. Nous devons donc libérer de l'espace dans ce que l'on appelle la table de partitions. Il est recommandé de le faire depuis windows, pour éviter des perdre des données en libérant de l'espace, en effet Windows ne vous laissera pas supprimer des fichiers sur sa propre partition.

Pour commencer, ouvrez le Gestionnaire de disques de Windows (son nom sera probablement Créer et formater des partitions de disque dur). Depuis ce gestionnaire, dans la zone du bas (en rouge), vous verrez la liste des partitions de votre disque.

gestionnaire de disque windows

Vous pouvez alors réduire la partition où se trouve windows. La plupart du temps, ce sera C:. Pour être sur de réduire la bonne partition, vous devez chercher une partition de grande taille (souvent la plus grande), avec NTFS comme système de fichier indiqué.

Faites un clique droit dessus, et cliquez sur réduire le volume. Vous devez alors indiquer la taille que vous voulez pour la future partition qui contiendra Linux. Pour cela, renseignez cette taille (en Mo) dans le champ Quantité d'espace à réduire.

réduire taille partition

Une fois la partition réduite, vous devrize avoir de l'espace libre, sur lequel on pourra installer linux.

3 - Création du medium d'installation

Munissez vous de votre clé USB, et téléchargez le fichier iso de Fedora, disponible sur leur site.

Nous allons ensuite installer Ventoy sur la clé. Ventoy est un outil permettant de faciliter le démarrage de fichiers iso contenant un système d'exploitation sur une clé USB. Téléchargez ventoy depuis leur site, et lancez Ventoy2Disk. Séléctionnez votre clé USB (vérifier bien que c'est votre clé et pas un disque de votre dordinateur) et cliquez sur install.

⚠️ Cette opération supprimera tout le contenu de la clé USB.

Ventoy installation

Votre clé dvevrait alors apparaitre dans la liste des disques de l'explorateur de fichiers, avec le nom VENTOY. Vous pouvez alors placer le fichier iso de Fedora dans la clé.

Les étapes sous windows sont maintenant terminées !

4 - Vérification des paramètres dans le BIOS

Cette partie est la plus difficile à expliquer, parce qu'elle dépend du modèle et de la marque de votre PC.

Vous allez devoir acceder au BIOS de votre PC. Le BIOS est un micro système d'exploitation vous permettant de modifier des paramètres du matériel de votre ordinateur. Nous allons devoir modifier et/ou vérifier certains paramètres. Selon la marque l'interface du BIOS peut complètement changer, il est donc possible que les indications données ici ne soient pas réalisable chez vous, où que vous ne trouviez pas les choses demandées, pas de panique, le plus souvent une recherche google avec le modèle de votre PC et le paramètre recherché vous expliquera quoi faire dans ce cas.

☝️🤓 Sur la plupart des PC récent, le BIOS est remplacé par l'UEFI, qui lui succède. Quand on parle de BIOS, c'est très souvent un abus de langage pour dire UEFI.

La première chose à faire est d'éteindre votre PC, puis de l'allumer, et lors du démarrage, quand vous voyez le premier logo (celui de la marque de l'ordinateur), appuyer sur la touche permettant d'accéder au BIOS. Cette touche varie selon les marques et les modèles. Cette image indique les touche des marques les plus populaires. Si votre PC n'est pas sur l'image, ou que la touche ne marche pas, n'hésitez pas à chercher sur internet.

Bios keys

Une fois dans le BIOS, vous devriez être face à écran, qui peut ressembler à ça (ou non, selon votre PC) :

Bios main

Il faut alors trouver la catégorie boot (ou un nom similaire), et trouver ce que l'on appelle l'ordre de boot. Cet ordre définit que quel disque l'ordinateur va essayer de cherger un système d'exploitation en premier. On veut donc mettre la clé usb contenant Fedora en premier.

Bios boot

Une fois cela fait, vous pouvez sauvegarder et quitter le BIOS.

Il est possible qu'un message d'affiche pour vous prévenir que la clé n'est pas vérifiée. Continuez, et attendez que l'ordinateur démarre sur la clé. L'ISO de Fedora sur la clé sera utilisé comme système d'exploitation pour l'ordinateur. La clé contient un Fedora totalement fonctionnel, avec une application permettant l'installation sur le vrai disque dur de l'ordinateur.

Lors du démarrage sur la clé, vous verrez tout d'abord un écran de séléction de Ventoy où vous pourrez choisir de démarrer sur Fedora. Vous verrez ensuite un deuxième écran de séléction, où il faut choisir la première entrée (pas l'entrée séléctionnée par defaut)

fedora grub iso

5 - Installation

Après avoir démaré la clé, vous devriez voir un bureau linux avec un logiciel d'installation. Cliquez sur Install Fedora, puis séléctionnez votre langue.

Cliquez alors sur Installation Destination. Vous verrez alors un écran vous montrant vos disques. Dans configuration du stockage, cliquez sur personnalisé puis validez avec le bouton fait

install screen 1

Vous allez maintenant devoir créer deux partitions pour Fedora. La première est nécessaire pour déparer tout ce qui est lié au démarrage du reste du système, et la deuxième contiendra le système. Cliquez sur le + en bas, et rentrez /boot/efi dans le champ Point de montage et 1G dans le champ Capacité souhaitée. Cela permet de créer une partition de 1 Go, qui sera montée dans le système de fichier de linux au chemin /boot/efi.

⚠️ Le clavier sera en qwerty sur le système présent sur la clé USB. Le / correspond à la touche ! d'un azerty, et le ! correspond au 1 en azerty.

create boot partition

Il faut ensuite créer la partition racine du système, qui occupera tout le reste de l'espace. Cliquez à nouveau sur le +, et rentrez / dans Point de montage et ! dans Capacité souhaitée. Le ! permet d'allouer tout l'espace restant.

create root partition

Une fois que tout est fait, cliquez sur fait, et cliquez sur Commencer l'installation.

Lorsque l'installation sera terminée, vous pourrez redémarrer votre PC, et débrancher la clé. Vous devriez alors voir un écran de séléction vous demandant de choisir entre Windows et Fedora.

6 - Post Installation

Après l'installation, une fenêtre de configuration d'affichera. Plusieurs opention peuvent être activées ou non, et ces valeurs peuvent être changées à nouveau à tout moment dans les paramètres.

  • Choisissez si vous voulez activer la localisation et l'envoi de rapports de crash
  • Nous vous conseillons d'activer les dépots tiers, qui vous permettent d'avoir plus de choix de programmes à installer, dont certains sont utiles pour les cours d'informatique.
  • Pour votre nom d'utilisateur, il est conseillé d'utiliser votre prénom, en minuscule. Le nom complet n'est pas important.
  • Choisissez un mot de passe.

Votre système est maintenant totalement utilisable, mais il y a plusieurs éléments important à savoir:

Mettez régulièrement à jour votre système ! Pour cela, vous pouvez ouvrir un terminal et taper la commande :

sudo dnf update

☝️🤓 sudo est une commande permettant de lancer d'autres commandes en mode administrateur. Pour protéger votre système, votre utilisateur par défaut n'a pas toutes les permissions, mais pour faire des mises à jour, il est obligatoire d'être administrateur du système.

ℹ️ Quand on vous demande d'entrer votre mot de passe dans le terminal, il est normal que vous ne voyiez pas les caractères que vous tapez au clavier, c'est un mécanisme de protection de linux, pour éviter qu'une personne devine la longueur de votre mot de passe en regardant votre écran derrière vous.

Des questions vous seront posées pour confirmer les mises à jour, vous pouvez répondre oui avec la lettre O en majuscule.

La première mise à jour du système peut prendre du temps, mais le reste du temps, les mises à jour devraient être plus rapide si vous les faites régulièrement (environs une fois par semaine). Il est important de mettre à jour votre système pour éviter les problèmes de compatibilité lorsque vous installez de nouveaux programmes. Cela permet également une meilleure sécurité.

Pour installer un programme, il faut taper la commande :

sudo dnf install nom_du_programme

Vous pouvez trouver le nom précis du programme avec :

dnf search nom_recherché

Il est également possible de chercher le nom d'un programme ici.

ℹ️ Il est également possible de faire les mises à jour et d'installer les programmes via l'interface graphique Logiciels, présent par défaut sur Fedora, mais ce n'est pas recommandé, en effet, il sera alors difficile de comprendre d'où vient un problème de mise à jour en l'absence de logs dans le terminal.

7 - Ajouts optionnels

Certains programmes comme discord ne sont pas installable par défaut avec dnf. Vous pouvez ajouter des dépots supplémentaires appelé RPM Fusion permettant d'ajouter des paquets supplémentaires. L'installation est très simple, il suffit de taper ces commandes dans le terminal, à la suite :

sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

Visual Studio Code n'est ni présent sur les dépots de Fedora, ni sur RPM Fusion. Pour l'installer, il faut d'abord ajouter les dépots de Microsoft :

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
sudo dnf check-update

Vous pouvez maintenant installer VSCode avec :

sudo dnf install code

Bash

Unix Game, pour apprendre les commandes bash en résolvant des énigmes

Introduction

En bash, les commandes ont toutes une structure simple:
cmd <arguments> -o <paramètre> --option <paramètre>

Ici on a exécuter la commande cmd qui peut avoir une option -o, cette option prend un paramètre <paramètre>
On a aussi utiliser l'option --option qui prend aussi un <paramètre> sauf qu'on a utilisé 2 tirets puisque l'option qu'on a utilisé est un mot complet.

Commandes de bases et arborescence

Le fonctionnement de l'arborescence UNIX (Linux)

Un chemin est une succession de répertoires séparés par / (e.g. rep1/rep2/rep3), dont l'origine peut être:
<rien> : le répertoire courant par défaut
./ : le répertoire courant
../ : le répertoire parent du répertoire courant
/ : la racine du système, on parle alors de chemin absolu
~/ : votre Home, le dossier de départ de toute session bash

Contrôle de l'arborescence

  • cd <directory> (change directory) : va dans le <directory> indiqué

  • mkdir <directory> (make directory) : créer un dossier Paramètre: -p : créer les dossiers parents de l'arborescence donnée s'il n'existe pas. (Pour créer une arborescence en une commande) Exemple : Si le dossier /parent n'existe pas et que vous lancez la commande : mkdir -p ./parent/enfant cela va créer le dossier /parent et le dossier /enfant

  • rmdir <directory> (remove directory): destruction du dossier (pas de corbeille !)

  • touch <file> : créer le fichier file dans le répertoire courant, s'il existe, la commande changera juste la date d'édition du fichier pour maintenant

  • cp <source> <destination> (copy): copie la <source> dans la <destination>


  • rm <file> (remove): supprime le fichier <file>

Paramètres:

  • -r (recursive): Surpprimera le dossier passer en option (comme rmdir) !
  • -rf (recursive force) : force la suppression
  • -i: demande à l'utilisateur de confirmer l'effacement de chaque fichier. Si la réponse ne commence pas par y' ou Y', le fichier est ignoré. Si les options -f et -i sont fournies simultanément, la dernière sur la ligne de commandes a l'avantage.

Deux en un, la commande mv!

  • mv <source> <target>/ (move): déplace le dossier ou répertoire <source> vers le dossier <target>/
  • mv <old_name> <new_name>: renomme le fichier <old_name> vers <new_name>

ls (liste): liste des fichiers et répertoires du répertoire courant

Paramètres:

  • -a (all): affiche tous les fichiers et répertoires cachés ou non
  • -l (list): affiche ls dans une liste indiquant également les permission et la date de création des fichiers

Permissions (chmod)

Chaque dossier et fichier dispose d'une permission qui peut s'écrire rwxrwxrwx et s'accompagne d'un d devant pour indiquer que c'est un dossier Où le premier triplet correspond aux permissions du propriétaire du fichier (l'entité u pour user), le second au groupe du propriétaire (l'entité g pour groupe) et le troisième à tous les autres utilisateurs du système (l'entité o pour others).
Ces lettres correspondent à:

  • r (read): le droit de lecture sur un fichier/dossier
  • w (write): le droit d'écriture
  • x (eXecute): le droit d'exécution

On peut changer ces permissions grâce à la commande chmod:

  • chmod <entités>+<permissions> <fichier> : permet à celui qui possède le fichier de gérer les droits sur celui-ci Exemple : chmod u+rx file : donne la permission de lecture d'exécution à l'utilisateur sur le fichier file

echo <text> : permet d'afficher ce qui lui est donné en paramètre

  • -n : empêche le retour à la ligne

Encore plus de modularité !

Sachez que vous pouvez rendre un peu plus complexe vos commandes pour affiner le résultats et avoir moins de travail à faire !

Redirection de flux

En Bash et dans les autres langages de programmations, il existe des canaux de communications ! Il s'agit de partage explicite d'information. Il y a 3 flux standards : stdin (clavier = entrée standard), stdout (écran = sortie standard), stderr (erreur = sortie standard partagée avec stdout).

Par exemple, quand vous allez exécuter la commande echo celle-ci affichera ce qui lui est passé en paramètre sur sa sortie standard (écran du terminal). Et si on veut écrire/lire sur un autre flux alors ? C'est ainsi qu'intervient la redirection de flux, on va demander explicitement à l'interpréteur Bash de rediriger l'information ailleurs. Ci-dessous la syntaxe à appliquer :

  • cmd > fichier : la commande écrira dans le fichier en l’écrasant s’il existe ;
  • cmd >> fichier : la commande écrira à la fin du fichier en le créant si nécessaire ;
  • cmd 2> fichier : la commande écrira ses erreurs dans le fichier en l’écrasant s’il existe ;
  • cmd 2>> fichier : la commande écrira ses erreurs à la fin du fichier en le créant si nécessaire ;
  • cmd < fichier : la commande ne lira pas sur le clavier, mais dans le fichier.

NB : Le 2 dans 2> et 2>> correspond à l'indice du stderr dans la table des descripteurs.

Lancer des commandes simultanément

Il est possible d'écrire une infinité de commande sur la même ligne si on le voulait, voici le schéma à suivre :

  • A ; B : exécute A puis exécute B
  • A && B : exécute B si A est vraie
  • A || B : exécute B si A est faux
  • A & : exécute A en arrière-plan

Automatisation avec les scripts !

Dans un script shell, nous allons faire appelle à de nouveaux éléments nécéssaire pour pouvoir automatiser des actions avec la plus grande liberté possible...

  • #! dit shebang, se met en tête de fichier et indique à l'exécution où exécuter les lignes de commandes qui suivent.
  • # est le caractère croisillon (caractère d’échappement pour les commentaires).
  • $ permet d'accéder à la valeur d’une variable, quelques exemples d'utilisation (parameter expansion) :
    • $var / ${var} : accède à la valeur de la variable var
    • ${#var} : compte le nombre de caractère, peut compter la chaîne de fin si la chaîne de caractère est mise entre guillemets
    • ${var^^} : transforme tous les caractères en leur analogue majuscule
    • $$ : valeur du PID
    • $! : stocke le PID de la dernière commande lancé
    • $? : stocke la valeur de l'avant dernière commande lancé (donc celle qui l'a précède)

NB : Si le shebang figure ailleurs qu'en début de fichier, il sera pris pour un simple commentaire.

Structure de contrôles

À noter quand Bash les espaces sont très sensible donc n'oubliez pas de mettre des espaces entre la condition.

Les conditions

if [ conditions ]; then
   instructions
elif [ autre conditions ]; then
   instructions
else 
   instructions 
fi

Une forme condensée : [ condition ] \( \Leftrightarrow \) [[ condition ]]:

  • renvoie 0 si le test est vrai
  • renvoie une valeur non nulle sinon

Par exemple pour vérifier qu'il y ait bien un paramètre à l'exécution de la commande : [ $# -ne 2 ] && echo "Usage : $0 <param1> <param2>" && exit 1

Les boucles

while [ conditions ]; do
   instructions
done
for i in {debut..fin..pas}; do
   instructions
done

Éditeurs de code