Vitrine profil : homelab deux machines, Open WebUI, Depiedencap
Le README ne listait que les repos OpenClassrooms. Ajout du split calcul/exposition, de la démo MoE, et de l’étude de cas forum — sans coller l’URL RAG ni vendre l’IaC comme terminé.
This commit is contained in:
parent
5bb0304568
commit
c81cb9cbde
1 changed files with 53 additions and 30 deletions
83
README.md
83
README.md
|
|
@ -1,44 +1,67 @@
|
||||||
# Grégoire Mureau
|
# Grégoire Mureau
|
||||||
|
|
||||||
**AI Engineer | M.Sc. AI & Data Science (OpenClassrooms)**
|
**Ingénieur ML / data — RAG · serving LLM · homelab Kubernetes**
|
||||||
|
|
||||||
Self-hosted infrastructure. This Forgejo instance is part of my homelab (k3s on a NAS) — a sovereign alternative to GitHub.
|
Diplômé **AI Engineer (Data Science Expert)**. 18 mois d’ingénierie de données en production à l’[Ifremer](https://www.ifremer.fr/) (Copernicus Marine, millions d’observations in situ / jour ; [3 publications scientifiques](https://www.researchgate.net/profile/Gregoire_Mureau)).
|
||||||
|
|
||||||
The repositories listed under this user account are mostly **homelab / infra**. The OpenClassrooms master work lives in a dedicated **organization** (not in the personal-repo list — Forgejo does not pin org repos on a user profile the way GitHub does).
|
Cette instance Forgejo **fait partie** de l’infra : ce n’est pas un hébergeur tiers. GitHub ([GrgMdmn](https://github.com/GrgMdmn)) est le miroir public ; ici, c’est le quotidien.
|
||||||
|
|
||||||
|
## Homelab — une machine calcule, l’autre expose
|
||||||
|
|
||||||
|
Deux **Ubuntu Server**, deux clusters **k3s indépendants** (pas de fédération : une coupure en zone rurale ne doit pas tout emporter). Liaison Tailscale.
|
||||||
|
|
||||||
|
| | **Mini PC** (calcul) | **NAS** (mise à disposition) |
|
||||||
|
|---|---|---|
|
||||||
|
| Matériel | AMD Ryzen 7 8745HS · iGPU Radeon 780M · 48 Go RAM unifiée | Intel N100 · 31 Go · MergerFS + SnapRAID |
|
||||||
|
| Rôle | Inférence GPU, runners CI, observabilité | Bordure publique : Traefik, git, cloud, démos ML |
|
||||||
|
| Orchestration | k3s (single-node) | k3s (single-node) |
|
||||||
|
|
||||||
|
La 780M est une iGPU modeste. Je fais surtout tourner des modèles **MoE** (Qwen3-30B-A3B) : ils tiennent parce qu’ils s’appuient sur la **mémoire unifiée** (GTT), pas sur une VRAM dédiée de carte discrète.
|
||||||
|
|
||||||
|
**Démo LLM** (chat temporaire, rien n’est conservé) : [Qwen3-30B MoE via Open WebUI](https://llm.gregoiremureau.com/auto-login.html?temporary-chat=true&model=qwen3:30b-a3b-q6k)
|
||||||
|
|
||||||
|
Aussi servis par le NAS : [APIs ML](https://api.gregoiremureau.com/ml/) · [MLflow](https://mlflow.gregoiremureau.com) · Forgejo (cette page).
|
||||||
|
|
||||||
|
**Infrastructure as Code** (`homelab-infra`) : en cours. Kustomize + scripts déjà dans git ; values Helm du NAS en attente de SealedSecrets. **Pas encore** à présenter comme un IaC bout-en-bout — cette page sera mise à jour quand ce chantier sera clos.
|
||||||
|
|
||||||
|
Les dépôts listés sous ce compte user sont surtout **homelab / infra**. Le Master OpenClassrooms vit dans l’organisation **[openclassroom-ai](https://git.gregoiremureau.com/openclassroom-ai)** (Forgejo n’épingle pas les repos d’org sur un profil user).
|
||||||
|
|
||||||
|
## Étude de cas — communauté migrée vers une plateforme souveraine
|
||||||
|
|
||||||
|
Communauté ~15 ans, d’abord sur une plateforme propriétaire, puis une deuxième, migrée vers un Discourse **100 % auto-hébergé et open source** : **[depiedencap.org](https://depiedencap.org/)**.
|
||||||
|
|
||||||
|
- 22 230 sujets · 424 835 messages · 7 102 comptes mappés · 93 884 images (8,8 Go)
|
||||||
|
- Plugins Discourse custom (onboarding, locale FR/PWA, citations RAG)
|
||||||
|
- Mail & RGPD : campagnes de réactivation, droit à l’effacement avec dossiers de preuve
|
||||||
|
- RAG sur le corpus des **fils** (embeddings **bge-m3** → pgvector → Qwen3-30B sur le mini PC) — l’assistant n’indexe pas les profils
|
||||||
|
|
||||||
|
Le code de scraping et les données membres restent privés. Ici : l’architecture et les résultats.
|
||||||
|
|
||||||
## Master AI Engineer — OpenClassrooms
|
## Master AI Engineer — OpenClassrooms
|
||||||
|
|
||||||
Organization: **[openclassroom-ai](https://git.gregoiremureau.com/openclassroom-ai)**
|
Organisation : **[openclassroom-ai](https://git.gregoiremureau.com/openclassroom-ai)**
|
||||||
GitHub mirrors (same names): [github.com/GrgMdmn](https://github.com/GrgMdmn)
|
Miroirs GitHub (mêmes noms) : [github.com/GrgMdmn](https://github.com/GrgMdmn)
|
||||||
|
|
||||||
| # | Project | Forgejo | Live |
|
| # | Projet | Forgejo | Live |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| 2 | Paris trees (Pandas, Folium) | [oc-p02-paris-trees](https://git.gregoiremureau.com/openclassroom-ai/oc-p02-paris-trees) | — |
|
| 2 | Paris trees (Pandas, Folium) | [oc-p02-paris-trees](https://git.gregoiremureau.com/openclassroom-ai/oc-p02-paris-trees) | — |
|
||||||
| 3 | OpenFoodFacts (cleaning, PCA, ANOVA) | [oc-p03-openfoodfacts](https://git.gregoiremureau.com/openclassroom-ai/oc-p03-openfoodfacts) | — |
|
| 3 | OpenFoodFacts (nettoyage, ACP, ANOVA) | [oc-p03-openfoodfacts](https://git.gregoiremureau.com/openclassroom-ai/oc-p03-openfoodfacts) | — |
|
||||||
| 4 | Credit scoring (LightGBM, SHAP, LIME) | [oc-p04-credit-scoring](https://git.gregoiremureau.com/openclassroom-ai/oc-p04-credit-scoring) | — |
|
| 4 | Scoring crédit (LightGBM, SHAP, LIME) | [oc-p04-credit-scoring](https://git.gregoiremureau.com/openclassroom-ai/oc-p04-credit-scoring) | — |
|
||||||
| 5 | Olist customer segmentation (RFM, K-means) | [oc-p05-customer-segmentation](https://git.gregoiremureau.com/openclassroom-ai/oc-p05-customer-segmentation) | — |
|
| 5 | Segmentation client Olist (RFM, K-means) | [oc-p05-customer-segmentation](https://git.gregoiremureau.com/openclassroom-ai/oc-p05-customer-segmentation) | — |
|
||||||
| 6 | Product classification (NLP + CV) | [oc-p06-product-classification](https://git.gregoiremureau.com/openclassroom-ai/oc-p06-product-classification) | — |
|
| 6 | Classification produits (NLP + CV) | [oc-p06-product-classification](https://git.gregoiremureau.com/openclassroom-ai/oc-p06-product-classification) | — |
|
||||||
| 7 | Sentiment analysis (LSTM, DistilBERT, FastAPI) | [oc-p07-sentiment-api](https://git.gregoiremureau.com/openclassroom-ai/oc-p07-sentiment-api) | [demo](https://api.gregoiremureau.com/ml/sentiment/) |
|
| 7 | Analyse de sentiment (LSTM, DistilBERT, FastAPI) | [oc-p07-sentiment-api](https://git.gregoiremureau.com/openclassroom-ai/oc-p07-sentiment-api) | [démo](https://api.gregoiremureau.com/ml/sentiment/) |
|
||||||
| 8 | Street vision (U-Net, FPN) | [oc-p08-street-vision](https://git.gregoiremureau.com/openclassroom-ai/oc-p08-street-vision) | [demo](https://api.gregoiremureau.com/ml/street-vision/) |
|
| 8 | Street vision (U-Net, FPN) | [oc-p08-street-vision](https://git.gregoiremureau.com/openclassroom-ai/oc-p08-street-vision) | [démo](https://api.gregoiremureau.com/ml/street-vision/) |
|
||||||
| 9 | Street vision PoC (SegFormer vs FPN) | [oc-p09-street-vision-poc](https://git.gregoiremureau.com/openclassroom-ai/oc-p09-street-vision-poc) | [demo](https://api.gregoiremureau.com/ml/street-vision-poc/) |
|
| 9 | Street vision PoC (SegFormer vs FPN) | [oc-p09-street-vision-poc](https://git.gregoiremureau.com/openclassroom-ai/oc-p09-street-vision-poc) | [démo](https://api.gregoiremureau.com/ml/street-vision-poc/) |
|
||||||
| 10 | Content recommendation | [oc-p10-content-recommendation](https://git.gregoiremureau.com/openclassroom-ai/oc-p10-content-recommendation) | — |
|
| 10 | Recommandation de contenu | [oc-p10-content-recommendation](https://git.gregoiremureau.com/openclassroom-ai/oc-p10-content-recommendation) | — |
|
||||||
| 11 | Big data fruits (PySpark, EMR) | [oc-p11-bigdata-fruits](https://git.gregoiremureau.com/openclassroom-ai/oc-p11-bigdata-fruits) | — |
|
| 11 | Big data fruits (PySpark, EMR) | [oc-p11-bigdata-fruits](https://git.gregoiremureau.com/openclassroom-ai/oc-p11-bigdata-fruits) | — |
|
||||||
| 12 | Fashion-Insta project framing | [oc-p12-fashion-insta](https://git.gregoiremureau.com/openclassroom-ai/oc-p12-fashion-insta) | — |
|
| 12 | Cadrage Fashion-Insta | [oc-p12-fashion-insta](https://git.gregoiremureau.com/openclassroom-ai/oc-p12-fashion-insta) | — |
|
||||||
|
|
||||||
ML demos landing page: [api.gregoiremureau.com/ml/](https://api.gregoiremureau.com/ml/)
|
Landing ML : [api.gregoiremureau.com/ml/](https://api.gregoiremureau.com/ml/)
|
||||||
|
|
||||||
## Stack
|
## Liens
|
||||||
|
|
||||||
| Area | Technologies |
|
- Site : [gregoiremureau.com](https://www.gregoiremureau.com)
|
||||||
|---|---|
|
- GitHub : [github.com/GrgMdmn](https://github.com/GrgMdmn)
|
||||||
| Orchestration | Kubernetes (k3s), Helm, Kustomize |
|
- LinkedIn : [gregoire-mureau](https://www.linkedin.com/in/gregoire-mureau-a7455a19b/)
|
||||||
| CI/CD | Forgejo Actions (GitHub Actions compatible) |
|
- Publications : [ResearchGate](https://www.researchgate.net/profile/Gregoire_Mureau)
|
||||||
| ML | TensorFlow, PyTorch, SegFormer, Word2Vec, MLflow |
|
- Produce Estimates (PWA React, démo anonymisée) : [demo.gregoiremureau.com/estimaciones_demo/](https://demo.gregoiremureau.com/estimaciones_demo/)
|
||||||
| Infra | Traefik, MinIO, Nextcloud, PostgreSQL, Redis |
|
|
||||||
| LLM | Ollama, Open WebUI, RAG |
|
|
||||||
|
|
||||||
## Links
|
|
||||||
|
|
||||||
- Website: [gregoiremureau.com](https://www.gregoiremureau.com)
|
|
||||||
- GitHub: [github.com/GrgMdmn](https://github.com/GrgMdmn)
|
|
||||||
- LLM demo: [llm.gregoiremureau.com](https://llm.gregoiremureau.com)
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue