diff --git "a/Rapport_Interm\303\251diaire_.md" "b/Rapport_Interm\303\251diaire_.md" new file mode 100644 index 0000000000000000000000000000000000000000..96ce2bf98dc7b4177e9fef23f3137ca9aa0848de --- /dev/null +++ "b/Rapport_Interm\303\251diaire_.md" @@ -0,0 +1,826 @@ +# SAÉ 2.03 : installation de services réseaux + +### Membres du groupe : + +* __Léandre Legrand__ +* __Guillaume Senet__ +* __Isac Renaut__ +* __Valentin Lemaire__ + +--- +# Sommaire +# Table des matières + +1. [Objectifs du projet](#objectifs-du-projet) +2. [Semaine 6 : Installation et Configuration de la Machine Virtuelle Debian](#installation-et-configuration-de-la-machine-virtuelle-debian) + 1. [Prérequis matériel de la machine physique](#prérequis-matériel-de-la-machine-physique) + 2. [Préparation de la machine virtuelle](#préparation-de-la-machine-virtuelle) + 3. [Installation de l'OS](#installation-de-los) + 4. [Réponse aux questions - sudo](#réponse-aux-questions---sudo) + 5. [Installation des suppléments invités](#installation-des-suppléments-invités) + 6. [Réponse aux questions - Suppléments invités](#réponse-aux-questions---suppléments-invités) +3. [À propos de la distribution Debian](#à-propos-de-la-distribution-debian) + 1. [Documentation](#documentation) + 2. [Quelques questions](#quelques-questions) + 3. [Nom générique, nom de code et version](#nom-générique-nom-de-code-et-version) +4. [Installation préconfigurée](#installation-préconfigurée) +5. [Semaine 07 : Balisage léger](#semaine-07--balisage-léger) + 1. [Guide rapide de la syntaxe Markdown](#guide-rapide-de-la-syntaxe-markdown) + 2. [Gestion des images en Markdown](#gestion-des-images-en-markdown) +6. [Semaine 09 : Étude applications clientes](#semaine-09--étude-applications-clientes) + 1. [Analyse préliminaire de git et des outils graphiques associés](#analyse-préliminaire-de-git-et-des-outils-graphiques-associés) + 2. [Configuration globale de Git](#configuration-globale-de-git) + +## Objectifs du projet + +L'objectif global de cette SAÉ était de manipuler une machine virtuel et aussi d'avoir une introduction au **Markdown** et **Asciidoc**. Nous allons donc présenter notre installation de notre machine ainsi que les bases de **Markdown** et **Pandoc** pour faire le **balisage léger**, qui est essentiel pour rédiger des documents structurés et convertibles en différents formats (HTML, PDF, etc.). De plus, nous avons aussi regarder et utiliser les bases de **git**. + + + Semaine 6 : début de la SAE: + = + Installation et Configuration de la Machine Virtuelle Debian + - + +La Première Semaine , il fallait configurer une Machine Virtuelle afin de la faire correspondre à des critères. +Voici les **Prérequis et la préparation nécessaire pour celle-ci** : + +#### Prérequis matériel de la machine physique + +- **Mémoire** : 4 Go de RAM minimum +- **Disque** : 20 Go d’espace disque disponible ou plus +- **VirtualBox** : Installation avec l'extension pack + +#### Préparation de la machine virtuelle + +**Création de la machine virtuelle :** + +- **Nom** : sae203 +- **Dossier de la machine** : `/usr/local/virtual_machine/infoetu/[login]` +- **Type** : Linux +- **Version** : Debian 64-bit +- **Mémoire** : 2048 Mo +- **Disque** : 20 Go +- **Autres paramètres** : Par défaut, on ne coche pas "Pre-allocate Full Size" et "Skip Unattended Installation". + +##### Questions + +1. > **Que signifie “64-bit” dans “Debian 64-bit” ?** + + - Cela indique que l'OS est compatible avec des processeurs 64 bits, ce qui permet de gérer __plus de mémoire RAM__ ainsi que des __calculs plus rapides.__ + +2. > **Quelle est la configuration réseau utilisée par défaut ?** + + - Par défaut, VirtualBox configure la machine virtuelle pour utiliser une interface réseau en mode **NAT**, ce qui lui permet d'avoir un accès réseau tout en étant isolée du réseau local de l'hôte. + +3. > **Quel est le nom du fichier XML contenant la configuration de votre machine ?** + + - Le fichier XML se trouve dans le dossier de configuration de VirtualBox, le format du fichier se prénomme en général sous ce format `<nom_machine>.vbox`. + +4. > **Sauriez-vous modifier ce fichier de configuration pour mettre 2 processeurs à votre machine ?** + + - Oui, il est possible de modifier ce fichier XML directement en ajoutant la ligne suivante dans la section `<CPU>` : + + ```xml + <CPU count="2"/> + + ``` + + +---------- + + +#### Installation de l'OS + +**Téléchargement de l'image ISO** : On a télécharger l'ISO de **Debian 11** ou **Debian 12 (amd64)** depuis le site officiel. + +**Procédure d'installation** : + +- **Nom de la machine** : serveur +  +- **Domaine** : Laisser vide + +- **Pays/langue** : France + +- **Miroir** : `http://debian.polytech-lille.fr` + +- **Proxy** : Aucun + +- **Compte administrateur** : root / root + +- **Compte utilisateur** : User / user + +||| +|--|--| +| | | +- **Partitionnement** : Une seule partition de la taille du disque + +- **Sélection des logiciels** : + - Environnement de bureau Debian + - MATE (décocher GNOME) + - Serveur web + - Serveur SSH + - Utilitaires usuels + + +#### Questions ; Round 2 + +1. > **Qu’est-ce qu’un fichier iso bootable ?** + + - Un fichier ISO bootable est une image disque qui contient tous les fichiers nécessaires pour démarrer et installer un système d'exploitation. + +2. > **Qu’est-ce que MATE ? GNOME ?** + + - **MATE** est un environnement de bureau léger et rapide basé sur GNOME 2. + - **GNOME** est un environnement de bureau complet, moderne, mais plus gourmand en ressources. + +3. > **Qu’est-ce qu’un serveur web ?** + + - Un serveur web est un logiciel permettant de diffuser des pages web via **HTTP** (comme Apache ou Nginx). +4. > **Qu’est-ce qu’un serveur SSH ?** + + +- Un **serveur SSH** permet de se connecter à distance à une machine de manière sécurisée via le protocole **SSH (Secure Shell)**. Il chiffre les échanges et permet d’exécuter des commandes comme si on était physiquement devant l’ordi. Donc c'est très utile lors qu'on veut se connecter à distance. + +5. > **Qu'est ce qu'un serveur mandataire ?** + +- Un **serveur mandataire** aussi appelé **proxy** , c'est un intermédiaire entre ton ordi et Internet. Il sert à filtrer, sécuriser ou accélérer la connexion. Par exemple, il peut bloquer des sites, cacher l' IP ou charger des pages plus vite en les gardant en mémoire. + +# +# Préparation du système + +Une fois notre installation terminée, nous devons faire quelques changements pour finaliser la configuration et optimiser l’utilisation du système. + +### Ajout des droits sudo pour l’utilisateur standard + +L’ajout de l’utilisateur au groupe **sudo** permet d’exécuter des commandes administratives sans avoir besoin de passer par le compte root (Ctrl + Alt + F1). + +La commande utilisée est : + +```bash +usermod -aG sudo user + +``` + +on peut aussi utiliser la commande suivante en étant en root +```bash +visudo +``` +et écrire dans le dossier sudoers en dessous de %sudo ALL +nom utilisateur ALL =(ALL:ALL) ALL + +Après cette modification, il faut **se déconnecter et se reconnecter** pour appliquer les changements. + +#### **Vérification de l'ajout** + +On peut tester les autorisations avec + +```bash +sudo whoami + +``` +Si la commande retourne `root`, alors l’ajout au groupe `sudo` est réussi. + + +---------- + +### **Réponse aux questions - sudo** + +> **Comment peut-on savoir à quels groupes appartient l’utilisateur `user` ?** + +On utilise la commande : + +```bash +groups user + +``` + +ou, si on est déjà connecté en `user` : + +```bash +groups + +``` + +Cela liste tous les groupes dont fait partie `user` actuel. Si `sudo` apparaît, alors l’utilisateur a bien les permissions. + + + +---------- + +### **Installation des suppléments invités** + +### **Installation :** + +1. Insérer le CD des suppléments invités : + **VirtualBox → Périphériques → Insérer l’image CD des Additions Invités…** +2. Monter le CD : + + ```bash + sudo mount /dev/cdrom /mnt + + ``` + +3. Lancer l’installation : + + ```bash + sudo /mnt/VBoxLinuxAdditions.run + + ``` +  +4. Redémarrer la machine pour appliquer les changements : + on peut utiliser cette commande si on a envie , mais on peut aussi redémarrer classiquement. + ```bash + sudo reboot + + ``` + + +### ** Réponse aux questions - Suppléments invités** + +> **Quelle est la version du noyau Linux utilisé par votre VM ?** +> On utilise la commande : + +```bash +uname -r + +``` + +Cela affiche la version actuelle du noyau Linux. Sur **notre VM**, la version du noyau Linux est **6.1.0-31-amd64** comme on a installer Debian 12. + +> **À quoi servent les suppléments invités ? Donner 2 principales raisons de les installer.** + +1. **Amélioration de l’expérience utilisateur** (meilleure résolution, glisser-déposer, presse-papiers partagé). +2. **Meilleure gestion des performances** (accélération graphique et optimisation des périphériques virtuels). + +> **À quoi sert la commande `mount` ?** + +- **Dans notre cas** la commande **mount** permet de monter l’image CD des suppléments invités pour y accéder. +- **En général** : Elle sert à attacher un périphérique (clé USB, disque dur, ISO…) au système de fichiers. + +---------- + +# ** À propos de la distribution Debian** + +### **Documentation** + +La **Doc officiel** : + [Guide utilisateur Debian](https://www.debian.org/doc/) +Il existe aussi des forums francophones pour obtenir de l’aide : + +- [Debian-fr.org](https://www.debian-fr.org/) +- [Forum-debian.fr](https://www.forum-debian.fr/) +- [Debian-facile.org](https://debian-facile.org/) + +---------- + +## ** Quelques questions** + +> **Qu’est-ce que le Projet Debian ? D’où vient le nom Debian ?** +> [about us](https://www.debian.org/intro/about) + +Debian est un projet communautaire visant à développer un **système d’exploitation libre basé sur Linux**. +Le nom **Debian** vient de la combinaison des prénoms de son fondateur **Ian Murdock** et de sa compagne **Debra** , la combinaison aurait pu être pire. + +> **Quelles sont les durées de prise en charge des versions Debian ?** +> [Cycle de vie des distributions pour la durée minimal](https://www.debian.org/releases/index.fr.html) +> [Pour LTS](https://wiki.debian.org/LTS) +> [Pour ELTS](https://wiki.debian.org/LTS/Extended) +- **Durée de Support minimal**: elle est de 3 ans +- **Support Long Terme (LTS)** : 5 ans. Gérer Principalement par des équipes de bénévole. +- **Support Étendu (ELTS)** : Jusqu'à 10 ans (pour les entreprises). +gérer par un seul groupe Freexian + + +> **Pendant combien de temps les mises à jour de sécurité sont-elles fournies ?** +>[La sécurité](https://www.debian.org/security/) + +- Les mises à jour de sécurité sont disponibles **pendant toute la durée de vie officielle** de la version. +- Une fois en fin de vie, seul le programme **LTS** assure les mises à jour critiques. + +---------- + +### **Nom générique, nom de code et version** + +> **Combien de versions sont activement maintenues par Debian ?** +> [Les versions](https://www.debian.org/releases/) + +Debian maintient **3 versions principales** : + +1. **Stable** (actuellement Debian 12 "Bookworm") +2. **Testing** (version en préparation) +3. **Unstable** ("Sid", en développement permanent) + +> **D’où viennent les noms de code des versions Debian ?** +> [Tout en bas pour d'où ça vient](https://wiki.debian.org/DebianReleases) + +Les noms de code sont inspirés des personnages de **Toy Story** (ex: Buzz, Woody, Jessie, Bookworm…). + +> **Combien et quelles architectures sont prises en charge par Debian Bullseye ?** +> [Source](https://www.debian.org/releases/bullseye/) + +Debian Bullseye (Debian 11) prend en charge **9 architectures** (10 si on compte les deux petit boutiste), dont x86_64, ARM, MIPS et PPC. +Le nombre d'architectures prises en charge est limité à i386, amd64, armhf et arm64 pendant la durée de prise en charge à long terme de Bullseye + +> **Premier nom de code utilisé et date d’annonce ?** +> [Source](https://www.debian.org/doc/manuals/project-history/) + +- **Premier nom de code** : **Buzz** (Debian 1.1) +Vers l'infini et au-delà !!! +- **Annoncé en 1996**. + +> **Dernier nom de code annoncé ?** +> [bookworm](https://www.debian.org/releases/bookworm/) +>[Trixie](https://www.debian.org/releases/trixie/index.fr.html) +- **Dernier nom de code** : **Bookworm** , Debian 12 +- **la version 12.0 a été publié le10 juin 2023**, la version actuel, la 12.9 a été publié le 11 janvier 2025. +- à noter que la prochaine version, la 13 se prénommera Trixie . + +---------- + +# **Installation préconfigurée** +## **Préparation des fichiers** + + - Téléchargement de l’archive autoinstall_Debian.zip sur Moodle, puis décompression dans le répertoire de la machine virtuelle. +  + - Remplacement de la chaîne `@@UUID@@` par un UUID unique dans le fichier S203-Debian12.viso` à l’aide de la commande suivante : + sed -i -E "s/(--iprt-iso-maker-file-marker-bourne-sh).*$/\1=$(cat /proc/sys/kernel/random/uuid)/" S203-Debian12.viso` +  + +## **Insertion du fichier ISO** + +- Nous avons inséré le fichier `S203-Debian12.viso` dans le lecteur optique (cd/dvd) de la machine virtuelle. + + +## **Installation automatique** + Après avoir démarré la machine virtuelle, l'installation s'est déroulée automatiquement jusqu’au reboot, sans aucune intervention manuelle. + +## **Test des ajouts invités** + Nous avons testé le bon fonctionnement des "additions invitées" en nous connectant avec `user/user` ou `root/root` et en modifiant la taille de la fenêtre. + +| | | +|--|--| +|  |  | +*les screenshot on été fait après l'ajout d'une intérface graphique* +## **Ajustement de la pré-configuration** + +### **Étapes suivies** + +1. **Modification du fichier de pré-configuration** + Pour ajouter les modifications demandées à notre installation, nous avons ajusté le fichier de pré-configuration `preseed.cfg` avant de redémarrer l’installation. Voici les principaux changements effectués : + + - **Ajouter le droit d'utiliser `sudo` à l'utilisateur standard :** + Nous avons ajouté une ligne dans le fichier de configuration pour permettre à l’utilisateur standard d’utiliser `sudo` : + + `d-i usermod -aG sudo user` + + - **Installer l'environnement MATE :** + Nous avons ajouté `task-mate-desktop` pour installer l’environnement de bureau MATE : + + `d-i pkgsel/include string task-mate-desktop` + + - **Ajouter les paquets nécessaires :** + Nous avons inclus les paquets `sudo`, `git`, `sqlite3`, `curl`, `bash-completion` et `neofetch` dans la section de pré-configuration pour qu’ils soient installés automatiquement pendant l’installation. Exemple d'ajout dans le fichier `preseed.cfg` : + + `d-i pkgsel/include string sudo git sqlite3 curl bash-completion neofetch` + + Au final les lignes ajouter ressemble à ça dans le fichier +  +2. **Redémarrage de l’installation** + Après avoir sauvegardé et mis à jour le fichier `preseed.cfg`, nous avons relancé l’installation en insérant à nouveau le fichier `S203-Debian12.viso` dans le lecteur optique de la machine virtuelle. + + +3. **Test de l’installation** + Après le reboot, nous nous sommes connectés avec l'utilisateur standard et avons vérifié que : + + - L'utilisateur pouvait utiliser `sudo`. + - L’environnement graphique MATE était bien installé et fonctionnel. + - Les paquets `git`, `sqlite3`, `curl`, `bash-completion` et `neofetch` étaient présents et fonctionnels. + + +------------- + +SAÉ 2.03: Semaine 07 += +Balisage léger +- + +Au cours de cette semaine, plusieurs concepts clés ont été abordés. Nous avons commencé le __Balisage léger__ , + +- **Balisage léger** : C'est une façon simple de structurer un texte sans utiliser des outils compliqués. Par exemple, on peut ajouter des titres, des listes ou des liens sans avoir à utiliser de codes complexes comme HTML. + +- **Markdown** : C'est un langage qui permet d'écrire du texte simple et de le transformer facilement en une page web (HTML). Il a été créé pour rendre la rédaction de contenu plus rapide et plus facile. + +- **Pandoc** : C'est un programme qui permet de convertir un fichier écrit en Markdown, HTML ou LaTeX en différents formats comme PDF ou DOCX. Cela permet de passer d'un format à un autre en toute simplicité. +elle permet aussi une **gestion simple d'insertion des images en permettant efficacement de modifier le format de celles-ci** + +- **Asciidoc** : C'est aussi un langage de formatage de texte, comme Markdown, mais un peu plus complet. Il permet de créer des documents avec plus de fonctionnalités, comme des tableaux ou des références croisées, ce qui le rend plus puissant. + +- **Asciidoctor** : C'est un logiciel qui prend des fichiers Asciidoc et les transforme en différents formats comme HTML, PDF ou EPUB pour pouvoir les lire sur différents appareils. + +Nous avons choisi d'utiliser Markdown et Pandoc et il n'y aura donc pas d'Asciidoc par la suite. + +Voici un gros résumé de la syntaxe de base de Markdown : + +---------- + +## Guide rapide de la syntaxe Markdown + + +---------- + +### **Mise en forme du texte** + +- _Italique_ → `*Texte*` ou `_Texte_` +- **Gras** → `**Texte**` ou `__Texte__` +- _**Gras + Italique**_ → `***Texte***` ou `___Texte___` +- ~~Barré~~ → `~~Texte~~` + +🔹 **Remarque** : Il n’est pas possible de souligner du texte en Markdown. + +---------- + +## **Titres et sous-titres** + +On utilise des `#` pour créer des titres : + +```markdown +# Titre 1 +## Titre 2 +### Titre 3 +#### Titre 4 +##### Titre 5 +###### Titre 6 + +``` + +```markdown + Titre 1 + = + Titre 2 + - + + +``` + +---------- + +### **Paragraphes et citations** + +- Un simple saut de ligne crée un paragraphe. +- Pour insérer une citation, on utilise `>` : + +```markdown +> Ceci est une citation. + +``` + +---------- + +## **Listes à puces et numérotées** + +- **Liste non ordonnée** (puces) : + +```markdown +- Élément 1 +- Élément 2 + - Sous-élément + - Sous-élément + +``` + +- **Liste ordonnée** (numérotation automatique) : + +```markdown +1. Élément 1 +2. Élément 2 +3. Élément 3 + +``` + + **Astuce** : Markdown s’occupe de la numérotation, on peut écrire `1.` à chaque ligne, et il mettra les chiffres automatiquement. +Et oui c'est super pratique. + +---------- + +## **Listes de tâches (cases à cocher)** + +```markdown +- [ ] Tâche non terminée +- [x] Tâche terminée + +``` + +---------- + +## **Code et blocs de code** + +- `Texte en ligne` → Utilisez un **backtick** : `` `Texte` `` +- Blocs de code multi-lignes : + +Ceci est un bloc de code + +- Spécifier un langage pour la coloration syntaxique : + +```markdown +```python +print("Hello, Markdown!") + +``` + +``` + +--- + +## **Liens et images** + +- **Lien classique** : `[Texte du lien](https://example.com)` +- **Lien avec titre** (au survol) : `[Texte](https://example.com "Titre du lien")` +- **Image** : `` +- **Image cliquable** (redirection) : + +```markdown +[](https://example.com) + +``` + +---------- + +## **Tableaux** + +```markdown +| Titre 1 | Titre 2 | +|---------|---------| +| Cellule 1 | Cellule 2 | +| Cellule 3 | Cellule 4 | + +``` + + **Astuce** : Les barres verticales `|` permettent de séparer les colonnes. + +---------- + +## **Notes de bas de page** + +```markdown +Voici un texte avec une note de bas de page[^1]. + +[^1]: Voici la note de bas de page. + +``` + +---------- + +## **Caractères spéciaux à échapper** + +Certains caractères sont utilisés par Markdown pour le formatage. Si on veut les afficher sans effet, on ajoute une `\` devant : + +```markdown +\*Astérisque\* +\# Dièse +\_ Souligné +\` Accent grave + +``` + +---------- +et maintenant pour pandoc. + +---------- + +## **Gestion des images en Markdown** + +### **Ajouter une image simple** + +Pour insérer une image dans un document Markdown : + +```markdown + + +``` + + **Explication** : + +- Le **texte alternatif** s'affiche si l'image ne peut pas être chargée. +- Le **chemin** peut être relatif (`./image.jpg`) ou absolu (`C:/Users/.../image.jpg`). + +---------- + +## **Ajouter une image cliquable** + +Si on veux qu’une image serve de lien : + +```markdown +[](https://example.com) + +``` + + En cliquant sur l’image, on sera redirigé vers **[https://example.com](https://example.com/)**. + +---------- + +## **Redimensionner une image avec Pandoc** + +Markdown seul ne permet pas de modifier la taille d’une image, mais **Pandoc** offre une syntaxe spéciale (qui sera bien meilleur pour afficher des images ): + +```markdown +{width=50% height=50%} + +``` + + **Explication** : + +- `{width=50% height=50%}` ajuste la taille de l’image. +- on peux aussi utiliser des pixels : `{width=300px height=200px}`. + +---------- + +## **Images locales vs. hébergées** + +### **Images en ligne** + +Si l'image est hébergée sur Internet, il suffit d’indiquer son __URL__ : + +```markdown + + +``` + +### **Images locales** + +Si l’image est stockée sur notre ordinateur, on indique son **chemin d’accès** : + +```markdown + + +``` + +### Comparaison entre Markdown et Asciidoc + +#### Similitudes + +- Les deux sont des formats de balisage léger. +- Les deux sont principalement utilisés pour rédiger des documents textuels simples. + +#### Différences + +- **Markdown** est plus simple, avec une syntaxe tout aussi simple. +- **Asciidoc** est plus riche en fonctionnalités, offrant des options avancées pour les documents techniques, comme les tableaux, les graphiques et les références croisées.Mais cela revient à une utilisation plus compliqué + +### Exemples pratiques + +1. **Markdown** : Voici un exemple de document Markdown : + + ```markdown + # Titre principal + Ce document est rédigé en **Markdown**. + + ## Sous-titre + Voici une liste : + - Item 1 + - Item 2 + + + ``` + +2. **Asciidoc** : Voici un exemple d'un document Asciidoc : + + ```asciidoc + = Titre principal + Ce document est rédigé en *Asciidoc*. + + == Sous-titre + Voici une liste : + * Item 1 + * Item 2 + + + ``` + On remarque que les deux semblent être similaire sur la rédaction . + +---------- +# Semaine 09 +## Étude applications clientes + + +### Analyse préliminaire de git et des outils graphiques associés + +Nous avons installé une machine virtuelle sous Debian (version 12) avec **Mate et Git installé**. +Nous devons maintenant configurer Git + +---------- + +### ** Configuration globale de Git** + +Avant d’utiliser Git, nous devons configurer les informations utilisateur avec les commandes suivantes : + +```bash +git config --global user.name "Prénom Nom" +git config --global user.email "votre@email" +git config --global init.defaultBranch "master" + +``` + +#### **Explication des commandes :** + +- **`git config --global user.name "Prénom Nom"`** + ➝ Définit le nom d’utilisateur utilisé pour les commits. Il s'affichera dans l’historique des versions du projet. +- **`git config --global user.email "votre@email"`** + ➝ Associe une adresse e-mail à l’utilisateur pour l’identification sur GitHub, GitLab ou un autre serveur Git. +- **`git config --global init.defaultBranch "master"`** + ➝ Définit **"master"** comme la branche principale par défaut lors de l’initialisation d’un dépôt. Cela permet d'éviter d’avoir un avertissement demandant de définir une branche par défaut. + +---------- + +### ** Les interfaces graphiques pour Git** + +Nous avons installé les paquets **gitk** et **git-gui** avec la commande suivante : + +```bash +sudo apt install gitk git-gui + +``` + + >#### **Question 1 : Qu’est-ce que le logiciel Gitk ? Comment se lance-t-il ?** + +- **Gitk** est une interface graphique qui permet de voir l’historique des commits d’un projet Git. + +- **Lancement** : Dans un dépot git , on utilise cette commande: + + ```bash + gitk + + ``` + + + + >#### **Question 2 : Qu’est-ce que le logiciel Git-GUI ? Comment se lance-t-il ?** + +- **Git-GUI** est une interface qui permet de réaliser des actions Git basiques comme **stager des fichiers, faire des commits, créer des branches et effectuer des push/pull** c'est un logiciel très polyvalent qui est plus simple à utiliser que la commande précédente . + +- **Lancement** : Il s’ouvre avec la commande suivante : + + ```bash + git gui + + ``` + + + +---------- + +### ** Installons une autre interface et comparons** + +Nous avons choisi d’installer **GitKraken**, une application moderne avec une interface utilisateur fluide et un bon support pour les services GitHub et GitLab. + +#### **Question 3 : Pourquoi avez-vous choisi ce logiciel ?** + +Nous avons choisi **GitKraken** car il propose : +- [X] Une interface intuitive et moderne. +- [X] Une visualisation claire des branches et des commits. +- [X] Une intégration facile avec GitHub, GitLab et Bitbucket. +- [X] Des fonctionnalités avancées (merge, rebase, etc.) accessibles en un clic. + +**les défauts est qu'on peut quand même vite se perdre et qu'il est SUPER gourmand en ressources**. + +#### **Question 4 : Comment l’avez-vous installé ?** + +Installation sous Debian 11/12 : + +```bash +wget https://release.gitkraken.com/linux/gitkraken-amd64.deb +sudo dpkg -i gitkraken-amd64.deb +sudo apt-get install -f # Pour résoudre les dépendances + +``` + +Après l’installation, **GitKraken** peut être lancé via la commande : + +```bash +gitkraken + +``` + +#### **Question 5 : Comparaison avec Gitk, Git-GUI et la ligne de commande** + + +| **Outil** | **Interface** | **Fonctionnalités** | **Avantages** | **Inconvénients** | +|----------------------|---------------|-----------------------------------------------|-----------------------------------|----------------------------------| +| **Gitk** | Minimaliste | Visualisation des commits | Léger, rapide | Peu ergonomique | +| **Git-GUI** | Basique | Commit, push, pull, gestion des branches | Simple d’utilisation | L'interface est vieillissante | +| **GitKraken** | Moderne | Gestion complète des branches, commits, merge | Intuitif, puissant | Gourmand en ressources | +| **Ligne de commande** | Aucune | Toutes les fonctionnalités Git | Rapide, précis | Pas visuel, plus difficile pour débutants | + + +---------- + +### **Conclusion** + +- **Gitk** est utile pour visualiser rapidement l’historique d’un projet mais reste limité en ergonomie. +- **Git-GUI** est pratique pour les commits mais manque de fonctionnalités avancées. +- **GitKraken** est un excellent choix pour une gestion complète de Git avec une interface intuitive. +- **La ligne de commande** reste l’outil le plus puissant, mais peut être difficile à appréhender pour les débutants. + + **En fonction des besoins, chacun de ces outils peut être pertinent, mais GitKraken offre la meilleure expérience utilisateur pour un usage quotidien.** + +---------- +