Module Portfolio

Guide complet du module Portfolio: dashboard, publication, API publique, site externe

Module Portfolio

Le module Portfolio sert à exposer des données “vitrine” (profil, projets, compétences, expériences, témoignages) et à les consommer depuis un site externe.

Activation du module

L’accès par token dépend de l’entité portfolio activée sur le projet.

  • Active l’entité Portfolio sur le projet (dashboard projets)
  • Crée un token avec l’entité Portfolio + permission read

Publication

L’API publique renvoie uniquement certains contenus publiés:

  • Portfolio Projects: status = published
  • Testimonials: status = published

Si tu as “un projet” dans le dashboard mais rien sur le site, vérifie que le status est bien published.

API publique (site externe)

Base path:

  • /api/portfolio/v1/public

Endpoints:

  • GET /api/portfolio/v1/public/all (recommandé) Retourne: profile, projects, skills, experiences, testimonials
  • GET /api/portfolio/v1/public/projects Projets publiés
  • GET /api/portfolio/v1/public/skills Compétences
  • GET /api/portfolio/v1/public/experiences Expériences
  • GET /api/portfolio/v1/public/testimonials Témoignages publiés

Auth:

  • Authorization: Bearer <API_TOKEN> ou x-api-key: <API_TOKEN>
  • Pour les tokens liés à un projet, le contexte projet est dérivé du token.

Exemple (cURL)

curl -H "Authorization: Bearer YOUR_TOKEN" \
  http://localhost:3013/api/portfolio/v1/public/all

Exemple (site statique)

Un exemple de site externe existe dans le repo:

Étapes:

  1. Mets API_TOKEN et API_URL dans config.js

  2. Démarre un serveur statique:

cd c:\Users\kevin\Allproject\zodback\portefolio
bunx serve -l 5500 .
  1. Ouvre l’URL locale (ex: http://localhost:5500/)

Erreurs fréquentes

  • Failed to connect: token invalide ou backend down
  • CORS: l’origine du site doit être dans Allowed Origins du token
  • Liste vide: contenu en draft (publie les projets/témoignages)