z3n abc20bc9e8 fix(forms): erreurs de validation par champ au blur
- Erreurs affichées sous chaque champ obligatoire (fr-error-text DSFR)
  au lieu d'un message global en haut du formulaire
- Déclenchement sur blur (sortie du champ) et effacement sur input
- Concerne la modale édition API et la modale catégorie

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-06-09 13:17:18 +00:00

Datacat

Catalogue de données d'API. Importez des fichiers YAML (AsyncAPI ou OpenAPI) et générez automatiquement de la documentation HTML interactive.

Architecture

Monorepo pnpm avec quatre sous-projets :

datacat/
├── back/          # API REST — NestJS + TypeORM + PostgreSQL
├── front-public/  # Interface web — Angular 19 + DSFR
├── shared/        # Types TypeScript partagés (@datacat/shared)
└── infra/         # Docker Compose, Dockerfiles, Kubernetes

Prérequis

Démarrage rapide

# Démarrer tous les services (PostgreSQL + backend + frontend)
docker compose -f infra/docker-compose.yml up -d

# Suivre les logs
docker compose -f infra/docker-compose.yml logs -f

URLs de développement

Service URL
Frontend http://localhost:4200
API http://localhost:3010/api
Health check http://localhost:3010/health

Utilisation

  1. Ouvrir http://localhost:4200
  2. Naviguer par catégories via Parcourir ou voir toutes les APIs via Catalogue
  3. Cliquer sur Importer pour ajouter un fichier YAML AsyncAPI ou OpenAPI
  4. Une fois la génération terminée (statut GENERATED), cliquer sur Voir la documentation

Stack technique

Couche Technologie
Backend NestJS 11, TypeORM 0.3, PostgreSQL 17
Frontend Angular 19, DSFR
Types partagés TypeScript 5.8 strict
Génération docs AsyncAPI @asyncapi/cli@6.0.0
Génération docs OpenAPI @redocly/cli

Développement sans Docker

# Backend (port 3000)
cd back && pnpm install && pnpm run start:dev

# Frontend (port 4200, avec proxy vers l'API)
cd front-public && pnpm install && pnpm run start

Créer front-public/proxy.conf.json si absent :

{ "/api": { "target": "http://localhost:3010", "secure": false } }

Rebuild complet

docker compose -f infra/docker-compose.yml down
docker volume rm datacat_front_node_modules datacat_back_node_modules
docker compose -f infra/docker-compose.yml build --no-cache
docker compose -f infra/docker-compose.yml up -d

Documentation

Description
No description provided
Readme 1.4 MiB
Languages
TypeScript 97%
Shell 2.6%
HTML 0.3%