devsite/README.md

77 lines
3.4 KiB
Markdown

# Portfolio fernandgrascalvet.com
![Aperçu du site](picture.png)
Site portfolio **Next.js 15** + **Strapi 5** + **GrasBot** (FastAPI, Ollama, vault `vault-grasbot/`). UI *Digital Atelier* (Manrope, Newsreader, Tailwind). Hébergement typique : Windows Server, IIS, HTTPS (Win-ACME).
**Site en ligne :** [fernandgrascalvet.com](https://fernandgrascalvet.com)
## Documentation
| Ressource | Rôle |
|-----------|------|
| **[docs-site-interne](docs-site-interne/README.md)** | Architecture, CMS, front, API LLM, feuille de route, état actuel, captures, refonte UI. *À lire en priorité pour le contexte technique.* |
| [`CONFIGURATION_SITE.md`](CONFIGURATION_SITE.md) | Opérationnel : ports, commandes, démarrage automatique, dépannage, pare-feu. |
| [`vault-grasbot/README.md`](vault-grasbot/README.md) | Base de connaissances GrasBot (retrieval graph + BM25 v3). |
**Obsidian / export** : le dossier [`obsidian-site-docs/`](obsidian-site-docs/) contient le hub, les commandes, **toute** la doc [`docs-site-interne/`](docs-site-interne/) (copie), `CONFIGURATION_SITE.md` et le README dépôt — prêt à ouvrir comme coffre ou à copier. Resynchro : [`obsidian-site-docs/SYNC-DOC.md`](obsidian-site-docs/SYNC-DOC.md).
## Démarrage rapide (Windows)
Depuis la racine du dépôt (adapter le lecteur / chemin si besoin) :
```powershell
# Les trois services : Next, Strapi, FastAPI (fenêtres séparées)
.\start-my-site.ps1
```
```powershell
# Arrêt propre (ports 3000, 1337, 8000)
.\stop-my-site.ps1
```
Détail, ports et commandes manuelles : **[`CONFIGURATION_SITE.md`](CONFIGURATION_SITE.md)**.
## Stack (résumé)
- **Front** : Next.js (App Router), TypeScript/JS, Tailwind, Swiper, chatbot global (FAB).
- **CMS** : Strapi — `homepage`, `project`, `competence`, `realisation-ia`, `glossaire`.
- **Contact** : e-mail via **Brevo** (route Next `POST /api/contact`), pas de stockage Strapi des messages. Voir [`docs-site-interne/contact-flow.md`](docs-site-interne/contact-flow.md).
- **IA** : `llm-api/` (FastAPI) → Ollama (ex. Qwen3), base `vault-grasbot/`, observabilité **Langfuse** optionnelle. Voir [`docs-site-interne/04-api-llm-et-chatbot.md`](docs-site-interne/04-api-llm-et-chatbot.md).
## Rechargement du vault GrasBot (API locale)
Après modification des fichiers dans `vault-grasbot/`, recharger le cache côté API sans redémarrer uvicorn :
```powershell
# Exemple (Invoke-RestMethod)
Invoke-RestMethod -Method Post -Uri "http://localhost:8000/reload-vault"
```
Ou : `POST http://localhost:8000/reload-vault` (HTTP client de votre choix). Voir aussi [`CONFIGURATION_SITE.md`](CONFIGURATION_SITE.md) (santé `/health`, endpoint `/ask`).
## Dépôts et répertoires utiles
```
my-next-site/
├── app/ # Next.js
├── cmsbackend/ # Strapi
├── llm-api/ # FastAPI + GrasBot
├── vault-grasbot/ # Connaissance (Obsidian) pour le retrieval
├── strapi_extraction/ # Extraction / build vault
├── docs-site-interne/ # Doc technique détaillée
├── obsidian-site-docs/ # Pack Obsidian (résumés + commandes)
├── start-my-site.ps1
├── stop-my-site.ps1
└── CONFIGURATION_SITE.md
```
## Licence et usage
Projet personnel ; contenu et code sont fournis tels quels pour illustration du portfolio.
---
*Dernière révision du README : 2026-04 — aligné sur `docs-site-interne` et `CONFIGURATION_SITE.md`.*
Pour lancer tâches planifiées: taskschd.msc