Rapport technique intermédiaire.

Sommaire :

  1. Préparation de la machine virtuelle

- Préparation de la machine virtuelle. - Installation de l’OS.

  1. Préparation système.

- Accès sudo pour user. - Installation des suppléments invités.

  1. À propos de la distribution Debian.

- Documentations. - Quelques questions.

  1. Installation préconfigurée.

- Récupérer et préparer les fichiers nécessaires.

  1. Analyse préliminaire de git et des outils graphiques associés.

- Configuration globale de git. - Interfaces graphiques pour git. - Installons autre chose et comparons. - Essais à faire. - Comparaisons.

  1. Redirection de port.

- Redirection de port.

  1. Installation de Gitea.

- Quelques questions. - Installation “from binary” de Gitea - Mise à jour du binaire du service Gitea

Préparation de la machine Virtuelle :

Préparation de la machine virtuelle :

  1. Que signifie “64-bit” dans “Debian 64-bit” ? > “64-bits” signifie que Debian est conçu pour fonctionner sur des processeurs capables de traiter des instructions en 64 bits.

  2. Quelle est la configuration réseau utilisée par défaut ?

La configuration réseau par défaut est la configuration NAT (Network Address Translation).

  1. Quel est le nom du fichier XML contenant la configuration de votre machine ?

Il s’agit du fichier : sae203.vbox-prev

  1. Sauriez-vous le modifier directement ce fichier de configuration pour mettre 2 processeurs à votre machine ?

Il doit y avoir une balise qui sert dans ce but, mais ce n’est pas recommandé.

Installation de l’OS :

  1. Qu’est-ce qu’un fichier iso bootable ?

Oui, il est important de savoir ce qu’est un fichier ISO bootable pour l’installation de Debian. C’est une image disque complète d’un CD ou DVD amorçable qui peut être gravée sur un support physique (comme une clé USB ou un DVD) et utilisée pour démarrer un ordinateur et installer un système d’exploitation.

  1. Qu’est-ce que MATE ? GNOME ?

Oui, il est important de connaître les différences entre les environnements de bureau MATE et GNOME pour choisir celui qui convient le mieux à vos besoins. - MATE: MATE est un environnement de bureau stable, léger et personnalisable, avec une interface utilisateur traditionnelle. - GNOME: GNOME est un environnement de bureau moderne et convivial, avec une interface utilisateur intuitive et des fonctionnalités avancées.

  1. Qu’est-ce qu’un serveur web ?

Oui, il est important de comprendre le fonctionnement d’un serveur web pour configurer et administrer votre propre serveur. Un serveur web est un logiciel qui distribue des fichiers web aux clients qui en font la demande via un navigateur web.

  1. Qu’est-ce qu’un serveur ssh ?

Oui, il est important de connaître les avantages d’utiliser un serveur ssh pour sécuriser vos connexions à distance. Un serveur ssh permet de se connecter à un ordinateur distant de manière sécurisée en utilisant le protocole SSH.

  1. Qu’est-ce qu’un serveur mandataire ?

Oui, il est important de comprendre les avantages et les inconvénients d’utiliser un serveur mandataire pour améliorer la sécurité et la confidentialité de votre navigation web. Un serveur mandataire agit comme un pont entre votre ordinateur et Internet et peut être utilisé pour filtrer les contenus web, masquer votre adresse IP et améliorer la performance de votre navigation.

Préparation du système :

Accès sudo pour user:

  1. Ajout du groupe sudo au groupe principal :

adduser user sudo ajoute user au groupe sudo

  1. Comment peut-on savoir à quels groupe appartient l’utilisateur user ?

usermod -aG sudo pareil mais à partir du compte root

  1. Comment peut-on savoir à quels groupes appartient l’utilisateur user?

groups user

Installation des suppléments invités :

  1. Quelle est la version du noyau de Linux utilisé par votre VM ? > Commande utilisée : uname -r > Ici c’est la version 6.1.0-17-amd64

  2. À quoi servent les suppléments invités ? Donner 2 principales raisons de les installer.

    1. Améliorer les performances: Les suppléments invités installent des pilotes de périphériques et d’autres logiciels qui peuvent améliorer les performances de votre machine virtuelle, notamment la vitesse de la souris, le partage du presse-papiers et la gestion de la résolution d’écran.
    2. Accéder à des fonctionnalités supplémentaires: Les suppléments invités peuvent vous donner accès à des fonctionnalités supplémentaires, telles que la possibilité de partager des dossiers entre votre machine virtuelle et votre ordinateur hôte, ou de synchroniser l’heure de la machine virtuelle avec l’heure de votre ordinateur hôte.
  3. À quoi sert la commande mount ? (Dans notre cas de figure et dans le cas général). >1. Dans notre cas de figure : La commande mount est utilisée pour monter le CD des suppléments invités sur votre machine virtuelle. Cela permet d’installer les suppléments invités.

    1. Cas général : La commande mount est utilisée pour associer un périphérique de stockage à un point de montage dans le système de fichiers. Cela permet d’accéder aux fichiers et dossiers du périphérique de stockage.
    Exemples :
    • Monter un CD-ROM :
    sudo mount /dev/cdrom /mnt/cdrom
    • Monter une partition USB :
    sudo mount /dev/sdb1 /mnt/usb

À propos de la distribution Debian

Documentation :

Quelques questions :

  1. Qu’est-ce que le Projet Debian ? D’où vient le nom Debian ?

Le Projet Debian est une communauté mondiale de développeurs bénévoles qui s’occupent de la distribution GNU/Linux Debian. Le nom “Debian” est un mot-valise composé des prénoms de Ian Murdock, le fondateur du projet, et de sa femme Debra.

  1. Quelle sont les durées des 3 prises en charge de ces versions ?
  1. Pendant combien de temps les mises à jour de sécurité seront-elles fournies ?

Les mises à jour de sécurité sont fournies pendant la durée de prise en charge de la version. Pour les versions LTS et ELTS, les mises à jour de sécurité sont disponibles pendant 10 ans après la date de publication de la version.

  1. Combien de version au minimum sont activement maintenues par Debian ?

Au minimum 3 versions sont activement maintenues : - La version stable actuelle (Bullseye) - La version “oldstable” (Buster) - La version “oldoldstable” (Stretch)

  1. D’où viennent les noms de code données aux distributions ?

Les noms de code des distributions Debian sont tirés des personnages de la série de livres et films Toy Story.

  1. Combien et quelles d’architectures sont prises en charge par la version Bullseye ?

Bullseye prend en charge 11 architectures, dont amd64, i386, arm64, armel, powerpc64el, s390x et sparc64.

  1. Première version avec un nom de code :
  1. Dernier nom de code attribué :

Installation préconfigurée

Récupérer et préparer les fichiers nécessaires :

  1. Ajout du droit d’utilisation de sudo par l’utilisateur principal

#d-i passwd/user-default-groups string audio cdrom video sudo (juste ajouter sudo a la liste des groupes)

  1. Installer l’environnement mate

Modification du fichier preseed-fr.cfg :

  1. Ajout des package sudo, git, sqlite3, curl, bash-completion et neofetch au fichier de configuration automatique (pressed-fr) > Modification du fichier preseed-fr.cfg

Analyse préliminaire de git et des outils graphiques associés :

Configuration globale de git :

  1. Explication des lignes suivantes :

Code permettant de configurer notre nom d’utilisateur, notre adresse email et la branche par défaut pour Git pour que nos commits soient correctement identifiés :

Les interfaces graphiques pour git :

  1. Que sont les logiciels gitk et git-gui ?

Gitk et git-gui sont deux outils graphiques puissants pour visualiser et gérer l’historique de votre dépôt Git.

  1. Comment les installe-t-on ?
sudo apt-get install gitk
    sudo apt-get install git-gui
  1. Comment les lance-t-on ?
gitk
    git-gui
  1. Que permet gitk ?
  1. Que permet git-gui ?
  1. Quels sont les avantages des outils graphiques utilisés ?
  1. Quels sont leurs inconvénients ?

Installons autre chose et comparons :

  1. Sur quel logiciel s’est porté votre choix ?

Notre choix s’est porté sur le logiciel Magit.

  1. Pourquoi ce choix ?

Il est l’une des interfaces gratuites les plus utilisées, de ce fait la communauté est active ce qui nous facilitera si besoin. De plus, l’interface est puissante, flexible et personnalisable : Magit permet de gérer facilement les remotes, en les clonant, les synchronisant et en y “poussant” les modifications. On peut également y voir l’historique complet de nos dépôts avec des options et filtres de recherche.

  1. Comment l’avez vous installé ?
sudo apt update
sudo apt-get install magit
  1. Comment l’avez vous lancé ?
emacs

une fois dans l’application, il faut déclencher l’apparition du terminal avec la combinaison de touches : Alt + x.

magit

Essais à faire :

Prérequis : dépôt git local

Essai avec des documents personnels : emacs

  1. Comment avez vous fait pour accéder directement à un répertoire git en ouvrant Magit ?
M-x magit

Accès au répertoire “test” dont le message de commit était test magit.

  1. Comment avez vous fait pour accéder à l’historique du répertoire git ?

Étape 1: En s’aidant des flèches droites et gauches, déplacer le curseur sur la branche qu’on veut explorer et appuyer sur entrée :

Étape 2: A l’aide des flèches haut et bas, naviguer dans l’historique des versions et créations de fichier :

  1. Comment peut on comparer deux versions d’un fichier ?

Étape 1: Modifier le fichier

Étape 2: Ouvrir le fichier dans Emacs

emacs <nom_fichier>

Étape 3: Activer Magit (Avec Alt + x) :

M-x magit

Étape 4: Afficher les différences (Avec Alt + x) :

M-x magit-diff

Étape 5: Sélectionner les versions à comparer : - Utilisation des touches fléchées - Commande : M-x magit-log

Avec ces deux méthodes, nous pouvons afficher l’historique complet du fichier :

  1. Comment vous êtes vous pris pour créeret supprmier des branches ?

Étape 1: Créer une branche (Avec Alt + x) :

M-x magit-branch-create

On l’appelle ‘nouvelle branche’.

Étape 2: Basculer vers une branche (Avec Alt + x) :

M-x magit-checkout
nouvellebranche

Comparaison :

Fonctionnalité Gitk Git-gui Magit
Avantages Possède une interface graphique simple et intuitive. Permet de visualiser l’historique du projet. Offre des options de filtrage et de recherche. Possède une interface graphique simple et intuitive. Permet de créer et de modifier des commits. Facilite la gestion des branches.Offre des options de fusion et de rebase. Possède une intégration native avec Emacs. Offre un large éventail de fonctionnalités pour visualiser et gérer l’historique du projet. Permet d’effectuer des actions complexes sur les commits et les branches.Offre une interface personnalisable.
Inconvénients Possède des onctionnalités limitées. Ne permet pas de créer ou de modifier des commits. N’offre pas d’options de collaboration. Possède des fonctionnalités limitées comparées à Magit. Ne s’intègre pas avec d’autres outils de développement. Possède une interface moins personnalisable que Magit. Possède une courbe d’apprentissage plus raide. Nécessite une configuration d’Emacs. Ne fonctionne pas sur tous les systèmes d’exploitation.
Collaboration Non Non Oui
Intégration avec d’autres outils Non Non Oui
Coût Gratuit Gratuit Gratuit
Licence Open-source Open-source Open-source

Redirection de port :

Redirection de port :

Montrez comment vous êtes parvenus à rediriger les ports :

Le port 3000 est choisi car Gitea utilise par défaut le port 3000 pour se lancer. Une fois Gitea installé, nous n’aurons plus besoin de systématiquement lancer la machine virtuelle. Nous pourrons y accéder, par exemple, grâce à l’url : http://localhost:3000.

Il ne nous reste donc plus maintenant qu’à installer le service Gitea sur notre machine virtuelle.

Installation de Gitea :

Quelques questions :

  1. Qu’est-ce que Gitea ?

Gitea est un logiciel de gestion libre de dépôt Git (versions de code source) auto-hébergé, il permet d’héberger de gérer les dépôts git en plus de présenter des fonctionnalités telles que le suivi des problèmes, la gestion des versions et l’intégration continue.

  1. À quels logiciels bien connus dans ce domaine peut-on le comparer (en citer au moins 2) ?

Nous pouvons comparer Gitea a GitHub ou encore GitLab. GitHub. GitHub: Le service de gestion de versions de code source le plus populaire. GitLab : Un autre service de gestion de versions de code source open source (tout comme gitea).

[Source sur la définition de Gitea][Gitea - Bienvenue sur le site consacré à l’utilisation de Linux ! - Wiki (univers-linux.fr)](https://www.univers-linux.fr/wiki/gitea#:~:text=Gitea%20est%20un%20logiciel%20libre%20de%20gestion%20de,probl%C3%A8mes%2C%20la%20gestion%20des%20versions%20et%20l%27int%C3%A9gration%20continue.)

[Comparaison entre Gitea et GitHub][Gitea vs GitHub | What are the differences? (stackshare.io)](https://stackshare.io/stackups/gitea-vs-github)

[Comparaison entre Gitea et GitLab][Gitea VS Gitlab (hostedgitea.com)](https://hostedgitea.com/article/gitea-vs-gitlab)

Installation “from binary” de Gitea :

Commandes pour télécharger Gitea 1.21.8 pour 64-bit Linux :

wget -O gitea https://dl.gitea.com/gitea/1.21.8/gitea-1.21.8-linux-amd64
chmod +x gitea

https://dl.gitea.com/gitea/1.21.7/gitea-1.21.7-linux-amd64.xz

Téléchargement réussi :

Gitea signe ses binaires, pour vérifier la signature nous pouvons télécharger le fichier de signature (finissant par .asc) et utiliser l’outil en ligne de commande gpg.

Pour ce faire, nous pouvons installer gpg :

sudo apt install gpg

Puis utiliser la commande :

gpg --verify fichier.sig

Si la phrase : Good signature from “Teabot <teabot@gitea.io>” s’affiche alors la signature est bonne.

[ Nous n’avons pas réussi cette étape car échec lors de l’ouverture du fichier : .asc ]

Grâce à la commande : bash git --version

Il faut que la version soit la 2.0 ou supérieure.

Nous constatons que nous sommes sur la version 2.39.2 de git sur notre machine virtuelle.

sudo adduser --system --no-create-home --shell /bin/bash gitea

mkdir -p /var/lib/gitea/{custom,data,log}
chown -R gitea /var/lib/gitea/
chmod -R 750 /var/lib/gitea/
mkdir /etc/gitea
chown gitea /etc/gitea
chown root /etc/gitea
chmod 770 /etc/gitea
cp gitea /usr/local/bin/gitea
GITEA_WORK_DIR=/var/lib/gitea/ /usr/local/bin/gitea web -c /etc/gitea/app.ini

[ Nouvelle difficulté rencontrée : erreur inconnue. ]

D’après la documentation officielle de gitea, /etc/gitea est temporairement installé avec les droits d’écriture sur l’utilisateur que nous avons créé (ici gitea et root). Il est recommandé de retirer ce droit et de ne le laisser qu’en lecture seule après l’installation :

chmod 750 /etc/gitea
chmod 640 /etc/gitea/app.ini

[ Ça ne fonctionne toujours pas, en effet, il ne faut pas lancer git à partir de l’interface root. Nous allons donc essayer de la lancer à partir de la session utilisateur. ]

[ Nous essayons de remettre les droits sur app.ini à l’utilisateur en question : ]

sudo chmod 770 /etc/gitea/

Remettre les droits d’exécution :

sudo chmod +x /etc/gitea/

[ Après plusieurs manipulation des droits, la page reste figée comme suit : ]

[ Cela signifie que la commande a fonctionné, on peut désormais accéder via le port 3000 de la machine virtuelle : ]

[ La redirection du port 3000 de la vm vers le port 3000 de la machine hôte ne fonctionne pas : ]

[ Création du compte administrateur dont le mot de passe est gitea : ]

[ Lancement l’installation à partir de sqlite3, mais cela ne fonctionne pas : ]

Source des commandes utilisées :

Mise à jour du binaire du service Gitea :

  1. Quelle version du binaire avez-vous installée ? Donnez la version et la commande permettant d’obtenir cette information.

Nous avons installé la version 1.21.8. Pour le savoir, la commande est la suivante :

gitea --version.

  1. Comment faire pour mettre à jour le binaire de votre service sans devoir tout reconfigurer ?

Pour mettre Gitea à jour sans sans reconfiguration, on peut utiliser la commande : wget [lien vers le fichier de la version souhaitée]

sudo [lien vers le fichier de la version souhaitée] /usr/local/bin/gitea
sudo service gitea start
  1. Essai en mettant à jour vers la version 1.22-dev :
wget https://dl.gitea.com/gitea/1.22-dev/gitea-1.22-dev-linux-amd64
sudo mv gitea-1.22-dev-linux-amd64 /usr/local/bin/gitea
sudo service gitea start