# Un script d’accueil qui prépare le poste d’une recrue en une matinée

> Installer l'environnement, cloner les bons dépôts et poser les accès de base pour une nouvelle recrue, indépendamment de tout projet particulier déjà en cours.

- Auteur : WordPress Développement
- Publié le : 2022-10-24
- Mis à jour le : 2022-10-24
- Catégorie : Outils &amp; workflow
- URL : https://www.wpmoderne.fr/outils/script-accueil-poste-recrue-une-matinee/

## L’essentiel

- Un script d'accueil sépare l'installation générale de l'affectation à un projet précis
- Chaque étape vérifie son résultat avant de passer à la suivante
- Le script évolue au même rythme que les outils réellement utilisés par l'équipe

Une nouvelle recrue arrive un lundi matin, ordinateur neuf sous le bras, et doit pouvoir cloner un premier projet et lancer un environnement de développement local avant la fin de la matinée. Ce billet ne traite pas de la formation métier proprement dite, mais de l'outillage technique qui rend cette préparation de poste reproductible d'une recrue à l'autre, indépendamment du projet sur lequel elle sera affectée.

## Le problème avant ce script : une préparation improvisée à chaque arrivée

Avant la mise en place de ce script, chaque arrivée donnait lieu à une préparation de poste improvisée, transmise oralement par la personne présente ce jour-là, avec le risque d'oublier une étape ou d'installer une version incohérente d'un outil par rapport au reste de l'équipe. Cette approche fonctionnait, mais dépendait fortement de la disponibilité et de la mémoire de la personne en charge de l'accueil ce jour précis.

## Étape 1 : installer les outils communs à tous les projets

> L'essentiel à retenir : Un script d'accueil sépare l'installation générale de l'affectation à un projet précis ; Chaque étape vérifie son résultat avant de passer à la suivante ; Le script évolue au même rythme que les outils réellement utilisés par l'équipe

Le script commence par installer les outils utilisés sur l'ensemble des projets de l'agence, indépendamment de toute affectation précise : gestionnaire de versions PHP, Composer, WP-CLI, client Docker, éditeur de code standardisé avec sa configuration d'équipe. Chaque installation est suivie d'une vérification explicite de sa réussite avant de passer à l'étape suivante.

```
#!/usr/bin/env bash
set -euo pipefail

echo "Installation des outils communs..."
brew install php composer wp-cli docker

echo "Vérification des versions installées :"
php --version
composer --version
wp --version
```

## Étape 2 : poser les accès de base sans configuration spécifique à un projet

Le script génère ensuite une paire de clés SSH dédiée au poste de la recrue et affiche la clé publique à transmettre à la personne responsable des accès, plutôt que de configurer directement un accès à un dépôt particulier. Cette séparation garantit que le script reste identique quel que soit le projet sur lequel la recrue sera ensuite affectée.

```
echo "Génération d'une clé SSH dédiée..."
ssh-keygen -t ed25519 -C "nouvelle-recrue@agence" -f ~/.ssh/id_ed25519_agence -N ""
echo "Clé publique à transmettre pour l'ajout des accès :"
cat ~/.ssh/id_ed25519_agence.pub
```

## Étape 3 : cloner un dépôt de démonstration pour valider l'ensemble

Une fois les outils installés et les accès demandés, le script clone un dépôt de démonstration interne, volontairement neutre et sans lien avec un client réel, puis lance son environnement local. Cette étape valide en une seule fois que l'ensemble de la chaîne fonctionne, du clonage à un site WordPress local accessible dans le navigateur.

```
echo "Clonage du projet de démonstration..."
git clone git@depot:agence/demo-onboarding.git ~/projets/demo
cd ~/projets/demo
wp server --host=localhost --port=8080 &
```

## Étape 4 : vérifier que tout fonctionne réellement

- Le site de démonstration doit s'afficher correctement dans un navigateur, sans erreur visible.
- Les commandes WP-CLI doivent répondre normalement depuis le dossier du projet cloné.
- La clé SSH générée doit être transmise à la personne responsable des accès avant la fin de la matinée.

## Ce que ce script ne couvre volontairement pas

L'affectation à un projet client précis, avec ses accès spécifiques et ses particularités techniques, reste volontairement en dehors de ce script, traitée séparément une fois la recrue affectée à une mission précise. Mélanger les deux aurait rendu le script dépendant d'un projet particulier, alors que son intérêt réside justement dans son caractère générique, réutilisable à chaque nouvelle arrivée sans modification.

> Un script d'accueil réussi est un script qu'on n'a jamais besoin de modifier pour la recrue suivante.

## En résumé

Séparer clairement la préparation générale d'un poste de développement de l'affectation ultérieure à un projet précis permet de disposer d'un script d'accueil stable, réutilisable d'une recrue à l'autre sans adaptation. Cette méthode a permis de réduire à une simple matinée le délai entre l'arrivée d'une nouvelle recrue et un poste pleinement fonctionnel, avec une vérification explicite à chaque étape plutôt qu'une confiance aveugle dans le résultat final.
