Guide du contributeur
Ce wiki utilise VitePress pour générer des pages statiques à partir de fichiers markdown. Le gestionnaire de paquet utilisé est pnpm
Gestionnaire de paquets
Le framework VitePress utilisé ici est basé sur NodeJS. Il faut donc installer toute la suite logicielle.
Windows
- Installer NodeJS (node-v24.16.0-x64.msi) ou n'importe quelle version depuis le site de NodeJS
- Si ce n'est pas déjà fait, changer la police d'execution de PowerShell à
Unrestricteddans un terminal administrateurpowershellSet-ExecutionPolicy Unrestricted - Installer
corepackpowershellnpm install --global corepack@latest - Activer
corepackpowershellcorepack enable pnpm
Vous pouvez maintenant installer les paquets nécessaire à l'aide de pnpm
pnpm installLinux
Installer NodeJS
bash# Ubuntu / Debian-based sudo apt install nodejs -yAutres distributions
bash# Fedora / RHEL-based sudo dnf install nodejsbash# Archlinux sudo pacman -Sy nodejsbash# Fedora / RHEL-based sudo xbps-install nodejsInstaller pnpm
bashcurl -fsSL https://get.pnpm.io/install.sh | sh -
Setup general
Vous pouvez à présent cloner le dépot
git clone https://github.com/RobotechNancy/Wiki.gitInstaller tous les paquets nécessaires
pnpm installPour démarrer le serveur de développement, vous pouvez au choix lancer la tache 🌐Start dev server soit lancer la commande
pnpm run devVous pouvez finalement ouvrir l'adresse suivante http://localhost:5173/Wiki/
Contribution Git
Utilisation des branches
La branche principale (master) du dépot est protégée en écriture. Il n'est donc pas possible de push un commit directement dessus.
Pour cela, il est nécéssaire de créer une branche dans laquelle vous ajouterez vos modifications.
Il est recommandé de nommer sa branche selon les mêmes noms que les types que les commits comme suit
type/branch_nameExemple : feature/fusion360_machine, fix/typo
Formattage des commits
Ce dépot utilise la norme Conventional Commits et les tags de la norme de Angular, trouvable [ici]
ATTENTION
Il est demandé de suivre les conventions de commit décrites ici lors de la publication de modifications
Lors d'un commit, la forme globale du message est la suivante
type(scope): Message title
Message body and larger descriptiontype
- build: Changements affectant le système de build (example de scopes: vscode, github, npm)
- ci: Un changement dans les scripts d'intégration continue (CI)
- docs: Changements de la documentation (non applicable ici)
- feat: Une nouvelle fonctionnalité
- fix: Une correction de bug
- perf: Une amélioration de performance
- refactor: Un code qui ne corrige le code ni n'ajoute de fonctionnalité
- style: Changements qui n'affectent pas le fonctionnement du code (espaces, formattage, point-virgule manquant)
- test: Ajout ou modification de tests
scopes
Les scopes font partie de la norme Conventional Commits mais étant optionnels, ils sont rarement utilisés
Ils doivent décrire le contexte de la modification et peuvent être par exemple
- info
- meca
- elec
Message title
Le titre doit décrire succintement le changement
- Utiliser le présent de l'impératif
- Mettre une majuscule en début de phrase
- Ne pas mettre de point (.) en fin de phrase
Ajout d'une page
- Ouvrir
config.mts - Ajouter une page à l'emplacement voulu dans l'objet
sidebar - Executer la commande
pnpm run genafin de générer la page ajoutée - Ouvrir le / les fichiers générés aux emplacements concernés
Environnement VSCode
Des fichiers de configuration pour VSCode sont disponibles afin de faciliter le développement
Pour les utiliser il suffit de presser F1et d'entrer Tasks: Run Build Task ou d'utiliser la combinaison de touches par défaut Ctrl + Shift + B.
Une fenêtre contenant les différents scripts s'affichera alors
Les différentes commandes disponibles sont:
- 🪄 Setup project
- 🌐 Start dev server
- 🔨 Build project
- 🌳 Generate tree
- 🖼️ Compress image
Structure du projet
.
├── .vscode/tasks.json # Contient les commandes VSCode
├── .github/workflows/ # Contient les scripts de déploiement sur Github
├── bin/ # Dossier contenant tous les scripts executables
├── docs/ # Le dossier de base de VitePress
│ ├── .vitepress/ # Toutes les configurations
│ │ ├── theme/ # Configuration du theme et du layout du Wiki
│ │ └── config.mts # Fichier principal du site
│ ├── public/ # Contient tous les fichiers accessibles depuis le site
│ │ └── images/ # Contient les images du site
│ ├── **/ # Tout autre fichier markdwon contenant une page
│ └── index.md # Accueil du site
├── node_modules/ # Dossier des modules JavaScript
├── .gitignore # Liste des fichiers ignorés par Github
├── .prettierrc # Configuration du formattage
├── CONTRIBUTING.md # Guide de contribution
├── package.json # Fichier de configuration Node
├── pnpm-lock.yaml # Liste des packets Node figés
├── TODO.md # Liste des taches à réaliser pour le Wiki
├── README.md # Fichier d'information
└── tsconfig.json # Fichier de configuration de TypeScript