Dev zone/Create devserver access/fr
Guide complet : Configuration de l'accès devserver avec Git et Arcanist
Ce guide explique comment configurer votre environnement de développement pour contribuer au projet Operations.
1. Création du dossier de travail
Créez un dossier sur votre PC Windows pour organiser tous les fichiers du projet :
C:\STAGE 2025
C'est dans ce dossier que vous allez ranger tout ce qui concerne le projet Operations.
2. Récupération et clonage du dépôt Operations
2.1 Récupération de l'URL du dépôt
Rendez-vous sur la page du dépôt :
Copiez l'URL Git pour pouvoir cloner le projet.
2.2 Clonage du dépôt
Ouvrez PowerShell et placez-vous dans votre dossier :
cd "C:\STAGE 2025"
git clone https://devcentral.nasqueron.org/source/operations.git
Git crée un dossier operations avec tous les fichiers du projet.
3. Gestion de Git et création de branche dans WSL
3.1 Se placer dans le dossier du projet
Depuis WSL (Ubuntu), placez-vous dans le dossier du projet :
cd /mnt/c/STAGE\ 2025/operations
3.2 Création d'une nouvelle branche
Créez une nouvelle branche pour vos modifications :
git switch -c feature/add-gui-user
Avertissement|Si la branche existe déjà, Git affichera :
fatal: a branch named 'feature/add-gui-user' already exists
Dans ce cas, basculez simplement sur la branche existante :
git switch feature/add-gui-user
4. Modifications dans les fichiers du dépôt
4.1 Vérification de l'emplacement des fichiers
Vérifiez où se trouvent les vrais fichiers users.sls et groups.sls :
ls -la pillar/core/
Important|Les vrais fichiers sont dans pillar/core/, pas dans operations/pillar/core/.
4.2 Ajout de votre utilisateur dans users.sls
Ouvrez le fichier avec VS Code :
pillar/core/users.slsAjoutez votre utilisateur dans la section shellusers: par ordre alphabétique :
ptdradmin:
fullname: Doba Gui
ssh_keys:
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAFtlR4OeXNHfJXNrvrLeU9nGu7ufcxc38xUGqlwiY5L doba.guimartinien@gmail.com
uid: 1001
4.3 Ajout de votre compte dans groups.sls
Ouvrez également le fichier :
pillar/core/groups.slsAjoutez-vous dans le groupe nasqueron :
shellgroups:
Members:
- ptdradmin
5. Commit des modifications
5.1 Suppression des fichiers créés par erreur
Si vous avez créé des fichiers vides dans operations/ :
rm -rf operations/
5.2 Ajout des bons fichiers
git add pillar/core/users.sls pillar/core/groups.sls
5.3 Commit des changements
git commit -m "Ajout de Doba Gui comme user et dans le groupe core"
5.4 Vérification du commit
git show HEAD
Vérifiez que vous voyez seulement les lignes que vous avez vraiment modifiées.
5.5 Modification du dernier commit (si nécessaire)
Si vous avez corrigé des fichiers après le commit :
git commit --amend
6. Premier essai de arc diff (échec - arc n'existe pas)
Essayez de lancer :
arc diff
Erreur attendue :
arc: command not foundIl faut installer Arcanist.
7. Installation d'Arcanist avec WSL
Pourquoi installer Arcanist ?
Arcanist (ou arc) est l'outil officiel de ligne de commande pour interagir avec Phabricator, le système de revue de code utilisé par le projet Operations.
- Il permet de créer, mettre à jour et soumettre des révisions (
arc diff) directement depuis votre environnement local - Il gère les linters et les tests automatiques configurés par le projet avant l'envoi de modifications
- Sans Arcanist, vous ne pouvez pas soumettre vos changements pour revue ni intégrer les vérifications automatiques du projet
7.1 Mise à jour d'Ubuntu
Avant d'installer quoi que ce soit :
sudo apt update
sudo apt upgrade -y
7.2 Installation des dépendances
Arcanist a besoin de PHP et Git :
sudo apt install -y php-cli php-curl php-xml php-mbstring git curl unzip
7.3 Téléchargement d'Arcanist
Création d'un dossier pour Arcanist :
mkdir -p ~/phabricator
cd ~/phabricator
Téléchargement des fichiers :
git clone https://github.com/phacility/arcanist.git
git clone https://github.com/phacility/libphutil.git
7.4 Rendre arc accessible partout
Pour ne pas devoir écrire tout le chemin :
sudo ln -s ~/phabricator/arcanist/bin/arc /usr/local/bin/arc
Si le cache Bash ne reconnaît pas la commande :
hash -r
7.5 Vérification de l'installation
Test de la commande :
arc versionNote|Une erreur sur shellcheck-linter peut apparaître, mais la version devrait s'afficher. Répondre "y" pour continuer.
8. Deuxième essai de arc diff (échec - authentification requise)
Retournez dans le projet :
cd /mnt/c/STAGE\ 2025/operations
arc diff
Erreur attendue :
YOU NEED TO AUTHENTICATE TO CONTINUEIl faut installer le certificat.
9. Authentification Arcanist
Pourquoi exécuter arc install-certificate ?
Cette commande permet d'associer votre environnement local à votre compte Phabricator via un token sécurisé.
- Elle est nécessaire pour que Arcanist puisse créer, mettre à jour et soumettre vos révisions (
arc diff) sur le serveur Phabricator - Sans ce certificat, Arcanist ne peut pas authentifier vos commandes et toutes les opérations de soumission de code échoueront
- Le token est spécifique à votre compte et doit être généré depuis l'interface web de Phabricator
9.1 Installation du certificat
arc install-certificate
Suivez le lien fourni, récupérez le token API et collez-le dans le terminal. Arcanist est maintenant connecté à votre compte.
10. Troisième essai de arc diff (échec - shellcheck-linter manquant)
arc diff
Arc vous demande de choisir la branche de référence, choisissez origin/main.
Nouvelle erreur :
Failed to load library at location "shellcheck-linter"11. Installation de shellcheck-linter
cd ~/phabricator
git clone https://github.com/pinterest/arcanist-linters.git shellcheck-linter
12. Quatrième essai de arc diff (échec - linter invalide)
Retournez dans le projet :
cd /mnt/c/STAGE\ 2025/operations
arc diff
Nouvelle erreur :
Linter 'shell' specifies invalid type 'shellcheck'Le type shellcheck n'est pas reconnu.
13. Correction du linter shellcheck
Ouvrez .arclint avec VS Code et modifiez :
Avant :
"shell": {
"type": "shellcheck",
"include": ["(\\.sh$)"]
}
Après :
"shell": {
"type": "text",
"include": ["(\\.sh$)"]
}
Avertissement|Ne pas commiter ce changement, c'est juste pour que ça fonctionne localement.
Alternative : Bypass des tests si nécessaire :
arc diff --nolint
14. Cinquième essai de arc diff (échec - problème CRLF)
arc diff
Arc détecte 1,011 fichiers modifiés. C'est un problème de fins de ligne Windows/Linux.
14.1 Correction des problèmes de fins de ligne
git config --global core.autocrlf input
git restore .
Avertissement|Assurez-vous d'être bien dans /mnt/c/STAGE\ 2025/operations avant d'exécuter ces commandes.
15. Sixième essai de arc diff (succès !)
15.1 Vérification de l'état de Git
Pour vous assurer qu'il n'y a pas de fichiers non suivis :
git status
Résultat attendu : Aucun fichier non commité ne doit apparaître.
15.2 Lancement d'Arcanist
arc diff
Arc vous demande si vous voulez amend les changements dans .arclint :
Do you want to amend these 1 change(s) to the current commit? [y/N] yPuis il vous demande si vous voulez utiliser le message sauvegardé :
Do you want to use this message? [Y/n] Y15.3 Remplissage des informations de révision
L'éditeur (nano) s'ouvre avec les informations à remplir :
Summary: Ajout de Doba Gui comme user et dans le groupe core
Test Plan: Vérification de la syntaxe YAML et des informations utilisateur
Reviewers: dereckson
Subscribers:15.4 Sauvegarde dans nano
- Sauvegarder le fichier :
- Appuyez sur Ctrl + O (la lettre O, pas zéro)
- Nano vous demandera le nom du fichier → appuyez sur Entrée pour garder le même
- Quitter nano :
- Appuyez sur Ctrl + X
Après ça, vous retournez dans votre terminal et arc diff continuera le processus.
15.5 Pour mettre à jour une révision existante
Si vous voulez mettre à jour une révision existante (ex. : D3888) :
arc diff --update D3888
16. Vérification finale
Vérifiez que tout est propre :
git status
Aucun fichier ne doit rester non commité.
Assurez-vous que votre révision contient bien vos modifications :
arc diff
Succès|À ce stade, votre révision est prête à être relue par votre reviewer.
Résumé des problèmes rencontrés
| Problème | Solution |
|---|---|
| Fichiers vides dans operations/ | rm -rf operations/ puis travailler dans pillar/core/
|
| Cache Bash pour arc | hash -r
|
| Authentification manquante | arc install-certificate
|
| Bibliothèque shellcheck-linter manquante | Cloner dans ~/phabricator/
|
| Erreur linter shellcheck | Changer "type": "shellcheck" en "type": "text" dans .arclint
|
| Problème CRLF/LF | git config --global core.autocrlf input puis git restore .
|
Points importants à retenir
Avertissement|
- Toutes les commandes Git et Arcanist doivent être exécutées dans
/mnt/c/STAGE\ 2025/operations, et non dans~/phabricator. - Ne pas commiter les modifications du fichier
.arclint(changement de shellcheck en text). - Les vrais fichiers sont dans
pillar/core/, pas dansoperations/pillar/core/.
