---
title: "ChatGPT : Génération d'un fichier sitemaps.xml."
canonical: "https://blog.kaptus.net/space/BKAP/blog/196018179/ChatGPT%20%3A%20G%C3%A9n%C3%A9ration%20d'un%20fichier%20sitemaps.xml."
format: markdown
---
> Macro (toc)

# 1. Introduction.

J’héberge le site de ma fille qui est [Directrice Artistique](https://www.ambre-tomasian.com). Lors d’une recherche sur le moteur de recherche Google, je me suis rendu compte que son site n'était pas bien référencé.

![image](media://fa633abd-2baa-4da1-824a-2a556564a5f8)

Son site contient 68 pages html : 

> Macro (drawio)

Pratiquement aucune des pages de son site est dans la recherche Google.  
La première étape et de renseigner un fichier sitemaps.xml dans la Google Search Console.   
Je me suis dis que j’allais écrire un shell script pour générer automatiquement le fichier en parcourant le répertoire du site. Étant un peu fainéant sur les bords, j’ai pensé me faire assiter par ChatGPT.

Ce post a pour objectif de décrire ma démarche et les itérations que j’ai du faire pour arriver au résultat attendu.

# 2. Dialoguons avec ChatGPT.

> 📝 J’utilise ChatGPT 4.

J’ai commencé par une demande basique sans vraiment y réfléchir.

![image](media://c2d20416-6129-4dd7-964c-100af44edd2c)

La réponse a été conforme à ma demande.

![image](media://cbb54765-54a1-4685-8b6b-91072ffc4141)

Après une première génération du fichier sitemaps.xml, 

![image](media://f61ea0c8-e47c-4382-99c9-0f71d0453883)

j’ai pensé qu’il était judicieux d’ajouter la date de dernière modification. Donc j’ai reformulé ma demande :

![image](media://92a7ef67-3288-4180-8d4c-e3176fa21b52)

Le résultat :

![image](media://036fabe4-4726-404d-b2b3-d89517494529)

Là encore, après un nouveau test, je me rend compte que finalement je veux avoir l’URL et le répertoire dans le script, d’où une nouvelle itération :

![image](media://453f3584-51f3-4c0c-adba-a614e1722bf3)

Pour le résultat :

![image](media://b8a9883d-f159-443b-ad79-321f9404acbc)

Mince, je n’ai pas encore été assez précis :

![image](media://b964ae75-6add-4637-acd2-326c48369ce7)

![image](media://33ab9352-0d05-4967-8dfb-ddf487286a8c)

Encore une imprécision car je voulais que le fichier généré soit dans le répertoire du site pour pouvoir y accéder depuis une URL :

![image](media://14750af3-f2ec-41d8-80a0-bf5b73e0aee8)

![image](media://f238393a-9e83-4e56-bbcd-9ae7a93ce749)

Finalement, j’ai le résultat escompté :

![image](media://f149345b-3144-4a70-8274-00c7579a6cbb)

Voici le script final :

```shell
#!/bin/bash
# Author            : Alain TOMASIAN (alain.tomasian@kaptus.fr) with ChatGPT
# Description       : sitemaps.xml file generation for www.ambre-tomasian.com website
# Date              : 23-10-2023 10:55:41

DIR="/srv/naos/https/ambre-tomasian.com/www"
URL="https://www.ambre-tomasian.com"
OUTPUT="$DIR/sitemaps.xml"

# Entête du fichier sitemaps.xml
echo '<?xml version="1.0" encoding="UTF-8"?>' > "$OUTPUT"
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' >> "$OUTPUT"

# Parcourir les fichiers .html et les ajouter au sitemap
find "$DIR" -type f -name "*.html" | while read -r file; do
    # Date de dernière modification au format W3C
    lastmod=$(date -r "$file" "+%Y-%m-%dT%H:%M:%S+00:00")
    # Chemin relatif du fichier par rapport au répertoire de base
    relative_path=$(echo "$file" | sed "s|^$DIR||")
    echo "  <url>" >> "$OUTPUT"
    echo "    <loc>$URL$relative_path</loc>" >> "$OUTPUT"
    echo "    <lastmod>$lastmod</lastmod>" >> "$OUTPUT"
    echo "  </url>" >> "$OUTPUT"
done

# Fermer l'élément urlset
echo '</urlset>' >> "$OUTPUT"

echo "sitemaps.xml généré avec succès dans $OUTPUT!"
```

Une fois renseigné dans la console Google :

![image](media://f1a009ea-d230-4a1d-af9d-09eb54b799b0)

So good, it’s working 😉 

> 📝 10/23/2023 : Il faut maintenant attendre que Google traite le fichier

# 3. En conclusion.

J’ai consacré une quinzaine de minutes (**hors rédaction de cette article qui m’a pris beaucoup plus de temps **😊 ) pour mettre en place le script.

Cette expérience est plutôt positive. On peut se rendre compte que sans instruction claire, ChatGPT ne peut pas faire le taf. Par contre, une fois que la demande est correctement formulée, le résultat est au rendez-vous. Même si le problème traité est assez basique dans ce cas là.  
C’est un gain de temps indéniable et un assistant très précieux.

> 📝 L’objectif maintenant est d’utiliser ChatGPT sur des problèmes un peu plus ardus.