Aller au contenu principal

Contribuer

Merci de votre intérêt pour Risques Majeurs MCP ! Toute contribution est la bienvenue.

Prérequis

Mise en place

# Cloner le dépôt
git clone https://github.com/MAIF/risques-majeurs-mcp.git
cd risques-majeurs-mcp

# Installer les dépendances
npm install

# Lancer en mode développement
npm run start-dev

Ou avec mise :

mise run dev

Lancer les tests

npm test

Ou avec mise :

mise run test

Taches mise disponibles

TacheDescription
mise run installInstaller les dépendances
mise run buildBuild serveur + client
mise run devLancer en mode développement
mise run testLancer les tests
mise run startLancer en mode production
mise run docs:devLancer la documentation en mode dev
mise run docs:buildBuilder la documentation
mise run release -- X.Y.ZPreparer une release

Ajouter un nouveau risque

Pour ajouter un nouveau risque, ajoutez une entrée dans le tableau RISQUES du fichier server/risques.ts. Chaque risque doit définir :

{
code: 'mon_risque', // Identifiant unique
libelle: 'Mon risque', // Nom affiche
fetch: async (longitude, latitude) => {
// Appel à l'API Georisques (aiguillage vers l'endpoint v1 ou v2 selon la configuration du jeton d'authentification)
// Retourne les données brutes
},
outputSchema: z.object({...}), // Schéma Zod
text: (exposition) => {
// Retourne un résumé texte
},
layers: [ // Couches carte (ou [] si pas de carte)
{
id: 'mon_risque',
nom: 'Mon risque',
source: (exposition) => ({...}), // Source MapLibre
layer: {...}, // Config couche MapLibre (tableau accepte pour appliquer différents styles)
legend: (exposition) => {...}, // Element DOM de légende
}
]
}

Les outils exposition_risques et carte_exposition_risques prendront automatiquement en charge le nouveau risque.

Soumettre une contribution

  1. Forkez le dépôt
  2. Créez une branche depuis main
  3. Faites vos modifications
  4. Verifiez que le build passe : npm run build
  5. Verifiez que les tests passent : npm test
  6. Ouvrez une Pull Request en utilisant le template PR

Signaler un bug ou proposer une idée

Ouvrez une issue sur GitHub en utilisant le template fourni.

Code de conduite

Ce projet suit un Code de conduite. En participant, vous vous engagez a le respecter.

Licence

En contribuant, vous acceptez que vos contributions soient distribuees sous licence Apache 2.0.