diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1e1d9de49e22b3570bc6dd0d6a299aa6edc5618d..f755737088e2287166536bbb11ee4552f3385e1a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -107,6 +107,11 @@ test_pref04:
     PREF: "pref04"
   extends: .default_pref
 
+test_pref05:
+  variables:
+    PREF: "pref05"
+  extends: .default_pref
+
 test_pref06:
   variables:
     PREF: "pref06"
diff --git a/Makefile b/Makefile
index 742936ae047fae1dc654c704c55826e2f5f0e7c0..9b98fcaa8fa48ca601e3005f236da4d2f9fad509 100644
--- a/Makefile
+++ b/Makefile
@@ -1,8 +1,10 @@
-make: ppparis pref04 pref06 pref09 pref13 pref31 pref34 pref35 pref38 pref59 pref62 pref65 pref66 pref69 pref80 pref81 pref83 pref87 pref976
+make: ppparis pref04 pref05 pref06 pref09 pref13 pref31 pref34 pref35 pref38 pref59 pref62 pref65 pref66 pref69 pref80 pref81 pref83 pref87 pref976
 ppparis:
 	python cli.py --pref ppparis
 pref04:
 	python cli.py --pref pref04
+pref05:
+	python cli.py --pref pref05
 pref06:
 	python cli.py --pref pref06
 pref09:
diff --git a/RAAspotter_pref05.py b/RAAspotter_pref05.py
new file mode 100644
index 0000000000000000000000000000000000000000..c29a2a7a0902378586b779298c235740353841ba
--- /dev/null
+++ b/RAAspotter_pref05.py
@@ -0,0 +1,104 @@
+import os
+import datetime
+
+from bs4 import BeautifulSoup
+from urllib.parse import unquote
+
+from RAAspotter import RAAspotter
+
+
+class RAAspotter_pref05(RAAspotter):
+
+    # Config
+    __HOST = 'https://www.hautes-alpes.gouv.fr'
+    __RAA_PAGE = f'{__HOST}/Publications/Recueil-des-actes-administratifs'
+    __USER_AGENT = 'Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0'
+    full_name = 'Préfecture des Hautes-Alpes'
+    short_code = 'pref05'
+
+    def __init__(self, data_dir):
+        super().__init__(data_dir, self.__USER_AGENT)
+        self.enable_tor(10)
+
+    def get_raa(self, keywords):
+        self.print_output('RAAspotter_pref05')
+        self.print_output(f'Termes recherchés: {keywords}')
+        self.print_output('')
+
+        year_pages_to_parse = []
+
+        # On détermine quelles pages d'année parser
+        page_content = self.get_page(self.__RAA_PAGE, 'get').content
+        year_pages = self.get_sub_pages(
+            page_content,
+            '.fr-card.fr-card--sm.fr-card--grey.fr-enlarge-link div.fr-card__body div.fr-card__content h2.fr-card__title a',
+            self.__HOST,
+            False
+        )
+        for year_page in year_pages:
+            if int(year_page['name'].replace('Année ', '').strip()) >= self.not_before.year:
+                year_pages_to_parse.append(year_page['url'])
+
+        month_pages_to_parse = []
+        # Pour chaque année, on cherche les sous-pages de mois
+        for year_page in year_pages_to_parse:
+            page_content = self.get_page(year_page, 'get').content
+            month_pages = self.get_sub_pages(
+                page_content,
+                '.fr-card.fr-card--sm.fr-card--grey.fr-enlarge-link div.fr-card__body div.fr-card__content h2.fr-card__title a',
+                self.__HOST,
+                False
+            )[::-1]
+            for month_page in month_pages:
+                # On filtre les mois ne correspondant pas à la période analysée
+                guessed_date = RAAspotter.guess_date(month_page['name'], '.*([a-zéû]* [0-9]{4})')
+                if guessed_date.replace(day=1) >= self.not_before.replace(day=1):
+                    month_pages_to_parse.append(month_page['url'])
+
+        pages_to_parse = []
+        # Pour chaque page de mois, on cherche les pages de RAA
+        for month_page in month_pages_to_parse:
+            pages = self.get_sub_pages_with_pager(
+                month_page,
+                'div.fr-card.fr-card--horizontal.fr-card--sm.fr-enlarge-link.fr-mb-3w div.fr-card__body div.fr-card__content h2.fr-card__title a.fr-card__link',
+                'nav.fr-pagination ul.fr-pagination__list li a.fr-pagination__link.fr-pagination__link--next.fr-pagination__link--lg-label',
+                'div.fr-card.fr-card--horizontal.fr-card--sm.fr-enlarge-link.fr-mb-3w div.fr-card__body div.fr-card__content div.fr-card__end p.fr-card__detail',
+                self.__HOST
+            )[::-1]
+            for page in pages:
+                guessed_date = datetime.datetime.strptime(page['details'].replace('Publié le ', '').strip(), '%d/%m/%Y')
+                if guessed_date.replace(day=1) >= self.not_before.replace(day=1):
+                    pages_to_parse.append(page['url'])
+
+        elements = []
+        # On parse les pages contenant des RAA
+        for page in pages_to_parse:
+            page_content = self.get_page(page, 'get').content
+            for element in self.get_raa_elements(page_content):
+                elements.append(element)
+
+        # On parse les RAA
+        self.parse_raa(elements, keywords.split(','))
+        self.mailer()
+
+    def get_raa_elements(self, page_content):
+        elements = []
+        # On charge le parser
+        soup = BeautifulSoup(page_content, 'html.parser')
+
+        # On récupère chaque balise a
+        for a in soup.select('div.fr-grid-row div.fr-downloads-group.fr-downloads-group--bordered ul li a'):
+            if a.get('href') and a['href'].endswith('.pdf'):
+                if a['href'].startswith('/'):
+                    url = f"{self.__HOST}{a['href']}"
+                else:
+                    url = a['href']
+
+                url = unquote(url)
+                name = a.find('span').previous_sibling.replace('Télécharger ', '').strip()
+                date = datetime.datetime.strptime(a.find('span').get_text().split(' - ')[-1].strip(), '%d/%m/%Y')
+                filename = url.split('/')[-1]
+
+                raa = RAAspotter.RAA(url, date, name, filename)
+                elements.append(raa)
+        return elements
diff --git a/README.md b/README.md
index e8a82728362139a77d1252417f11abf2e28e0c80..9c5dee9caf373be2468b84799eebd92b6119d69b 100644
--- a/README.md
+++ b/README.md
@@ -34,6 +34,7 @@ Il est possible de ne lancer l'analyse que pour une seule administration, avec l
 
 - Préfecture de police de Paris (identifiant : `ppparis`)
 - Préfecture des Alpes-de-Haute-Provence (identifiant : `pref04`)
+- Préfecture des Hautes-Alpes (identifiant : `pref05`)
 - Préfecture des Alpes-Maritimes (identifiant : `pref06`)
 - Préfecture de l'Ariège (identifiant : `pref09`)
 - Préfecture des Bouches-du-Rhône (identifiant : `pref13`)
diff --git a/cli.py b/cli.py
index 43d079a31187efd8abe51f7db29ec4c1a7aea9a4..390c082855bddecbadd9b98535d83a3c8ace25eb 100755
--- a/cli.py
+++ b/cli.py
@@ -40,6 +40,7 @@ __MASTODON_INSTANCE = os.getenv('MASTODON_INSTANCE')
 available_prefs = [
     'ppparis',
     'pref04',
+    'pref05',
     'pref06',
     'pref09',
     'pref13',