Ara est une plateforme web basée sur le référentiel général d'amélioration de l'accessibilité (RGAA) qui permet aux auditeur et auditrices de :
- réaliser leurs audits d'accessibilité numérique en ligne,
- générer automatiquement les rapports de ces audits ainsi que les déclarations d'accessibilité.
Warning
Ara n’audite pas automatiquement votre site.
Ce projet est organisé en monorepo (voir Monorepo - Wikipedia).
Les espaces de travail (workspaces) sont :
confiture-rest-api
(backend) (Documentation du backend)confiture-web-app
(frontend) (Documentation du frontend)
- Environnement d'exécution JavaScript (JavaScript runtime environment) :
Node.js version22.14.0
- Gestionnaire de paquets (Package manager) :
Yarn 4 (Modern) version4.9.2
- Conteneurisation :
Docker
Une seule commande pour :
- installer toutes les dépendances : backend + frontend
- générer les fichiers requis du RGAA (critères et tests et méthodologies)
- générer les types de l’API
yarn install
Important
Il faut aussi suivre les étapes d’installation du backend.
Une seule commande pour lancer les 2 serveurs backend et frontend en local en parallèle :
yarn dev
- le serveur backend (NodeJS)
- le serveur frontend sur le port 3000 (ou 3001, 3002, si port occupé)
Note
Les logs du backend et du frontend sont alors affichés dans la même session shell.
Tip
Appuyer sur la touche "o" (open) pour ouvrir Ara en local dans un navigateur.
ESLint est utilisé à la fois pour l’analyse statique du code et le formatage stylistique (indentation, etc.). Pour les fichiers non pris en charge par ESLint (CSS, HTML, Markdown, etc), ESLint utilise Prettier en tant qu’outil de formatage externe. Nous utilisons la configuration ESLint d’Anthony Fu comme base. Voir aussi la configuration de ce projet : eslint.config.mjs
Une vue de l’ensemble des règles de lint est disponible en exécutant à la racine du projet :
yarn dlx @eslint/config-inspector
On peut linter l’ensemble du projet en exécutant, à la racine du projet :
yarn lint
On peut linter et corriger les erreurs corrigeables automatiquement avec :
yarn lint --fix
Sont disponibles sur ce projet :
- un paramètrage par défaut qui améliore l’expérience de développement :
- lint et formatage automatique à la sauvegarde des fichiers ;
- on ne tient pas compte des règles stylistiques dans l'IDE, mais on continue à les corriger automatiquement.
- des tâches pour linter l’ensemble du projet (voir Integrate with External Tools via Tasks) :
- "Lint entire project"
- "Lint + fix entire project"
- "TypeScript: show all errors" pour les erreurs TypeScript non relevées par ESLint
- La branche principale
main
correspond à l’environnement de production. - Les branches de pull request (PR) correspondent à l’environnement de développement.
Le frontend est automatiquement déployé sur Heroku :
- La branche principale
main
est déployée sur https://ara-production-81d0da406fda.herokuapp.com/. - Les branches des PR sont déployées sur pipeline-xxxxxx-xxxxxx.herokuapp.com (où XXX est un identifiant aléatoire généré par Heroku).
Pour réinitialiser la base de données :
DATABASE_URL="<url_de_la_base_de_donnees_de_developpement>" yarn prisma migrate reset
Important
Avant de déployer sur l’environnement de production, s’assurer que son adresse IP est whitelistée sur OVH.
Pour lancer les migrations de la base de données sur OVH :
DATABASE_URL="<url_de_la_base_de_donnees_de_production>" yarn prisma migrate deploy