Appearance
Endpoints API Astro & Intégration Backend
Statut : ✅ Entièrement documenté
Aperçu
L'application p2d2 utilise les Endpoints API Astro pour des intégrations backend sécurisées avec des services de géodonnées externes. Ces endpoints offrent la gestion CORS, l'authentification et une gestion robuste des erreurs pour les services WFS, l'API Overpass et les intégrations Geoserver.
Notes de Sécurité
Statut des Identifiants
Remarque : En production, les identifiants sont gérés exclusivement via des variables d'environnement (import.meta.env.WFS_USERNAME, import.meta.env.WFS_PASSWORD). Les identifiants codés en dur (hardcoded) ne sont jamais utilisés dans les environnements de production, mais constituent uniquement des solutions temporaires ou des états de développement/test et sont signalés par des avertissements.
Fichiers concernés :
src/pages/api/wfs-proxy.ts- Attend des variables d'environnementsrc/utils/wfs-auth.ts- Attend des variables d'environnement
Mesures immédiates requises :
- S'assurer qu'aucun identifiant codé en dur ne subsiste dans le code source de production
- Configurer correctement les variables d'environnement pour tous les environnements
- En développement/test, utiliser des avertissements clairs lors de l'utilisation de fallbacks
Endpoints API Principaux
1. Endpoint Proxy WFS (/api/wfs-proxy.ts)
Proxy sécurisé pour les requêtes de service WFS avec prise en charge CORS et authentification basée sur l'environnement.
Implémentation Standard
typescript
const WFS_USERNAME = import.meta.env.WFS_USERNAME;
const WFS_PASSWORD = import.meta.env.WFS_PASSWORD;
if (!WFS_USERNAME || !WFS_PASSWORD) {
throw new Error("WFS authentication not configured in environment");
}Notes sur le Développement
typescript
// Dev-Fallback – uniquement pour les tests locaux et avec des avertissements clairs :
const WFS_USERNAME = import.meta.env.WFS_USERNAME || "dev_user";
const WFS_PASSWORD = import.meta.env.WFS_PASSWORD || "dev_password";2. Endpoint de Synchronisation des Polygones (/api/sync-polygons.ts)
Endpoint API pour la synchronisation automatique des polygones avec l'API Overpass et WFS-T.
Spécification de l'Endpoint
typescript
export async function POST({ request }) {
const { slug, categories } = await request.json();
const result = await syncKommunePolygons(slug, categories);
return new Response(JSON.stringify(result), {
status: result.success ? 200 : 500
});
}Intégrations de Services Backend
Gestion des Transactions WFS
L'accès WFS-T est analogue : les identifiants proviennent toujours des variables .env.
Aspects de Sécurité
- Les identifiants ne doivent jamais être codés en dur
- Validation des variables .env au démarrage et à chaque requête
- Gestion claire des erreurs en cas d'absence
Conclusion
La documentation décrit la gestion productive des identifiants via des variables d'environnement et propose les meilleures pratiques pour le développement, les tests et l'utilisation en production.
Note : Ce texte a été traduit automatiquement avec l'aide de l'IA et n'a pas encore été vérifié par un humain.