portail-associations/exports/annuaires-integration-20260605/README.md

3.1 KiB

Export annuaires CCDS + associations

Ce dossier contient les fichiers principaux pour réintégrer dans un autre projet :

  • l'annuaire public des associations
  • la carte publique des associations
  • la fiche publique d'une association
  • l'annuaire interne CCDS

Fichiers inclus

Frontend

  • client/src/components/CCDSInternalDirectory.tsx
  • client/src/components/AssociationPublicMap.tsx
  • client/src/pages/AssociationDirectoryPortal.tsx
  • client/src/pages/AssociationMapPublic.tsx
  • client/src/pages/AssociationPublicProfile.tsx

Shared

  • shared/associationCommunes.ts
  • shared/associationGeo.ts
  • shared/associationThematics.ts

Backend

  • server/associationDirectory.ts
  • server/associationDirectoryMatcher.ts
  • server/associationGeo.ts
  • server/associationHelloAssoSync.ts

Routes utilisées dans le portail actuel

  • /associations
  • /associations/carte
  • /associations/:id
  • /admin?tab=ccds-directory

Dépendances à rebrancher dans l'autre projet

Frontend

Les pages exportées utilisent déjà ces dépendances du portail actuel :

  • wouter
  • sonner
  • lucide-react
  • composants UI locaux (Button, Card, Badge, Input, Select, Accordion, etc.)
  • trpc côté client via @/lib/trpc
  • useAuth via @/_core/hooks/useAuth

Backend / API

L'annuaire des associations dépend des procédures associationDirectory dans server/routers.ts.

Les pages publiques consomment surtout :

  • associationDirectory.listPortal
  • associationDirectory.listMap
  • associationDirectory.getMapEntry

L'admin / bordereau consomme aussi :

  • associationDirectory.getSummary
  • associationDirectory.listLatest
  • associationDirectory.getById
  • associationDirectory.listReviewQueue
  • associationDirectory.createManual
  • associationDirectory.updateManual
  • associationDirectory.setManualCoordinates
  • associationDirectory.syncExternalData
  • associationDirectory.syncExternalDataBatch
  • associationDirectory.syncReferenceData
  • associationDirectory.syncHelloAssoById
  • associationDirectory.syncHelloAssoBatch
  • associationDirectory.resolveReviewLink
  • associationDirectory.ignoreReview
  • associationDirectory.previewImport
  • associationDirectory.importWorkbook

Important

Le fichier server/routers.ts n'est pas recopié ici car il est très large dans ce projet. Dans ton autre projet, il faudra soit :

  1. recopier la section associationDirectory: router({...}) depuis server/routers.ts
  2. soit reconnecter ces composants/pages à ton propre backend

Fichier archive prêt à copier

Une archive a aussi été générée ici :

  • /Users/selecta/Documents/portail-associations/exports/annuaires-integration-20260605.tar.gz

Conseil pratique

Si tu veux une intégration rapide dans un autre projet React :

  1. copie d'abord les fichiers client/src/...
  2. copie ensuite les fichiers shared/...
  3. rebranche les appels API
  4. termine par les services backend server/...

Si tu veux, je peux faire la suite utile :

  • te préparer un pack encore plus propre et autonome
  • ou te faire une version “drop-in” pour un autre projet React / Vite / Wouter.