- Created example Markdown document with basic formatting and code block. - Added configuration file for site settings including base URL and author. - Introduced index page with project overview and links to documentation. - Implemented detailed documentation for create_repo.sh, including usage, prerequisites, and response codes. - Added custom 404 error page for better user experience. - Developed HTML structure for create_repo.sh documentation with styling and layout. - Created main index page with project description and links to relevant resources. - Included robots.txt and sitemap.xml for search engine optimization. - Established CSS styles for consistent design across the site. - Set up base HTML template for consistent layout and navigation. - Created templates for index and page rendering to streamline content management.
2.1 KiB
2.1 KiB
create_repo.sh
Script Bash qui crée un dépôt sur la forge (forge.gwenaelremond.fr) en appelant son API REST.
À quoi ça sert
Plutôt que de retaper une longue commande curl à chaque fois, le script prend le nom et la description du dépôt en arguments, et lit le token d'authentification dans une variable d'environnement (pour ne jamais l'écrire en dur dans le code).
Prérequis
curl(installé par défaut sur macOS et Linux)- Un token d'accès à la forge (Settings → Applications → Generate New Token)
Utilisation
# 1. Définir le token (une seule fois par session de terminal)
export FORGE_TOKEN="ton_token"
# 2. Lancer le script
./create_repo.sh <nom_du_repo> ["description"]
Exemple
export FORGE_TOKEN="b103fb7f..."
./create_repo.sh exercice "Adam"
Cela crée le dépôt exercice avec la description Adam.
Détail du fonctionnement
| Partie du script | Rôle |
|---|---|
set -euo pipefail |
Arrête le script à la moindre erreur (sécurité) |
Vérification de FORGE_TOKEN |
Refuse de tourner si le token n'est pas défini |
REPO_NAME / REPO_DESC |
Récupère les arguments passés en ligne de commande |
curl -X POST .../api/v1/user/repos |
Envoie la requête de création à l'API |
La requête envoyée
Le script construit cette requête HTTP :
curl -X POST "https://forge.gwenaelremond.fr/api/v1/user/repos" \
-H "Authorization: token $FORGE_TOKEN" \
-H "Content-Type: application/json" \
-H "accept: application/json" \
-d '{ "name": "exercice", "description": "Adam" }'
Codes de réponse possibles
| Code HTTP | Signification |
|---|---|
201 |
Dépôt créé avec succès |
409 |
Un dépôt portant ce nom existe déjà |
401 |
Token invalide ou manquant |
Bonne pratique de sécurité
⚠️ Ne jamais écrire le token en clair dans le script ni le commiter dans Git. Si un token a été exposé, le révoquer et en générer un nouveau dans les paramètres de la forge.