# gitlab pages Pour obtenir le lien vers les **GitLab Pages** d'un projet sur **Framagit** (ou tout autre instance GitLab), vous pouvez utiliser l'API GitLab pour récupérer les métadonnées du projet et extraire l'URL des GitLab Pages si elles sont configurées. Voici comment faire avec un script Bash : --- ## **Script : Obtenir l'URL GitLab Pages** ```bash #!/bin/bash # Configuration GITLAB_URL="https://framagit.org" # URL de l'instance GitLab PROJECT_ID="votre_project_id" # ID ou chemin du projet (e.g., username/repo) GITLAB_TOKEN="votre_token_personnel" # Token API avec permissions nécessaires # Vérification des dépendances if ! command -v curl &> /dev/null; then echo "Erreur : curl est nécessaire mais non installé." exit 1 fi if ! command -v jq &> /dev/null; then echo "Erreur : jq est nécessaire mais non installé." exit 1 fi # Récupérer les métadonnées du projet echo "Récupération des métadonnées pour le projet : $PROJECT_ID" metadata=$(curl --silent --header "Authorization: Bearer $GITLAB_TOKEN" \ "$GITLAB_URL/api/v4/projects/$PROJECT_ID") # Vérifier si la requête a réussi if [ -z "$metadata" ]; then echo "Erreur : Impossible de récupérer les métadonnées du projet." exit 1 fi # Extraire l'URL des GitLab Pages PAGES_URL=$(echo "$metadata" | jq -r '.pages_url') if [ "$PAGES_URL" == "null" ]; then echo "Les GitLab Pages ne sont pas configurées pour ce projet." else echo "L'URL des GitLab Pages pour le projet est : $PAGES_URL" fi ``` --- ## **Explications** 1. **Paramètres personnalisables** : - `GITLAB_URL` : L'URL de votre instance GitLab (par exemple, `https://framagit.org`). - `PROJECT_ID` : L'identifiant ou le chemin du projet (exemple : `username/repository`). - `GITLAB_TOKEN` : Token API personnel avec les permissions nécessaires. 2. **L'API utilisée** : - Le script appelle l'API REST de GitLab à l'adresse suivante : ``` https://framagit.org/api/v4/projects/ ``` - Le champ `pages_url` des métadonnées retourne l'URL des GitLab Pages si elles sont configurées. 3. **Dépendances** : - `curl` : Pour effectuer la requête API. - `jq` : Pour analyser la réponse JSON et extraire `pages_url`. 4. **Sortie du script** : - Si les GitLab Pages sont configurées, le script affiche leur URL. - Sinon, un message indique qu'elles ne sont pas configurées. --- ## **Étapes pour exécuter le script** 1. **Enregistrez le script dans un fichier** (par exemple, `get_gitlab_pages.sh`). 2. **Ajoutez votre configuration** : - Remplacez `GITLAB_URL`, `PROJECT_ID` et `GITLAB_TOKEN` par vos informations. 3. **Rendez le script exécutable** : ```bash chmod +x get_gitlab_pages.sh ``` 4. **Exécutez le script** : ```bash ./get_gitlab_pages.sh ``` --- ## **Résultat attendu** - Si les GitLab Pages sont configurées, le script affiche l'URL : ``` L'URL des GitLab Pages pour le projet est : https://username.framagit.org/repository/ ``` - Si elles ne sont pas configurées : ``` Les GitLab Pages ne sont pas configurées pour ce projet. ``` --- ## **Dépannage** 1. **Les GitLab Pages ne sont pas configurées ?** : - Vérifiez que votre projet contient un fichier `.gitlab-ci.yml` qui configure les GitLab Pages. - Assurez-vous que les fichiers générés sont placés dans un répertoire `public/`. 2. **Le champ `pages_url` est vide ou null** : - Cela signifie que le projet n'a pas encore exécuté de pipeline pour publier des Pages. Besoin d'aide pour configurer vos GitLab Pages ou tester le script ? 😊