Skip to content

Commit 4638ec1

Browse files
committed
feat: tier the about page's tech stack by usage level (v0.7.8)
- reorganize the flat 21-item stack list on /about into 4 tiers (principal, backend/data, product/infrastructure, experimentation), matching the redesign plan's recommended structure — same 21 technologies, none added or removed, pure reorganization - close out phase 9 of the portfolio redesign roadmap; phase 7 (infralens rewrite integration) stays explicitly deferred until the rest of the portfolio is done
1 parent d5a0a70 commit 4638ec1

4 files changed

Lines changed: 55 additions & 37 deletions

File tree

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Changelog
22

3+
## [0.7.8] — 2026-08-08
4+
5+
### Contenu
6+
7+
- **Stack technique** (`app/about/page.tsx`) — passe d'une liste plate de 21 technologies à 4 niveaux hiérarchisés (Principal, Backend et données, Produit et infrastructure, Expérimentations), conformément au master plan (section 10.2). Mêmes 21 technologies, aucune ajoutée ni retirée — pure réorganisation.
8+
39
## [0.7.7] — 2026-08-08
410

511
### Contenu

app/about/page.tsx

Lines changed: 46 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -9,28 +9,31 @@ export const metadata: Metadata = {
99
"Randy Rimbault, développeur fullstack TypeScript freelance. Parcours, vision, stack technique et contact.",
1010
};
1111

12-
const stack = [
13-
"Next.js",
14-
"React",
15-
"TypeScript",
16-
"Tailwind CSS",
17-
"shadcn/ui",
18-
"Node.js",
19-
"Prisma",
20-
"PostgreSQL",
21-
"Upstash",
22-
"Mux",
23-
"Inngest",
24-
"Better Auth",
25-
"Zod",
26-
"Resend",
27-
"Stripe",
28-
"Vercel",
29-
"Scaleway",
30-
"Neon",
31-
"OpenAI",
32-
"Mistral",
33-
"Anthropic",
12+
const stackTiers = [
13+
{
14+
label: "Principal",
15+
items: ["TypeScript", "React", "Next.js", "Tailwind CSS", "shadcn/ui"],
16+
},
17+
{
18+
label: "Backend et données",
19+
items: ["Node.js", "Prisma", "PostgreSQL", "Neon", "Upstash", "Zod"],
20+
},
21+
{
22+
label: "Produit et infrastructure",
23+
items: [
24+
"Better Auth",
25+
"Stripe",
26+
"Resend",
27+
"Mux",
28+
"Inngest",
29+
"Vercel",
30+
"Scaleway",
31+
],
32+
},
33+
{
34+
label: "Expérimentations",
35+
items: ["OpenAI", "Mistral", "Anthropic"],
36+
},
3437
];
3538

3639
const values = [
@@ -284,18 +287,27 @@ export default function AboutPage() {
284287
<h2 className="mb-4 text-xl font-semibold text-white">
285288
Stack technique
286289
</h2>
287-
<div className="flex flex-wrap gap-2">
288-
{stack.map((tech) => (
289-
<span
290-
key={tech}
291-
className="rounded-lg border px-3 py-1.5 text-xs font-medium text-zinc-300"
292-
style={{
293-
borderColor: "#ec489918",
294-
background: "oklch(0.13 0.012 252)",
295-
}}
296-
>
297-
{tech}
298-
</span>
290+
<div className="flex flex-col gap-4">
291+
{stackTiers.map((tier) => (
292+
<div key={tier.label}>
293+
<h3 className="mb-2 text-xs font-semibold uppercase tracking-wider text-zinc-500">
294+
{tier.label}
295+
</h3>
296+
<div className="flex flex-wrap gap-2">
297+
{tier.items.map((tech) => (
298+
<span
299+
key={tech}
300+
className="rounded-lg border px-3 py-1.5 text-xs font-medium text-zinc-300"
301+
style={{
302+
borderColor: "#ec489918",
303+
background: "oklch(0.13 0.012 252)",
304+
}}
305+
>
306+
{tech}
307+
</span>
308+
))}
309+
</div>
310+
</div>
299311
))}
300312
</div>
301313
</section>

docs/roadmap.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ Ces écarts réels remplacent les hypothèses génériques du master plan pour p
4141
| 6 | Étude de cas InfraLens | Profondeur technique InfraLens | ✅ **Terminée (2026-08-08)** : `caseStudy` (8 sections, "Difficultés" volontairement omise faute de contenu narratif source) ajouté à InfraLens. Sourcé sur le dépôt InfraLens en local (README.md très complet : 18 checks/6 catégories, scoring pondéré, architecture Server Actions/CheckRunner) et son propre plan maître (`~/Dev/Projects/refactor/INFRALENS_MASTER_PLAN.md`) pour les formulations à éviter (pas "scanner de sécurité certifié"/"outil de pentest"/"plateforme de monitoring"). | — | Phase 4 |
4242
| 7 | Espace Outils | InfraLens = 1er outil utilisable | Créer `/tools`, `/tools/infralens`, décider sous-domaine vs rewrite (**décision humaine**, section 9.2) | **B6 — Intégration InfraLens** (signature "by Randy Code") | Phase 2, 6 |
4343
| 8 | Amélioration propre InfraLens | Renforcer avant/pendant migration | Hors dépôt `randy-code` (dépôt InfraLens séparé, règle 3.6) — SSRF, rate limiting distribué, etc. à traiter côté InfraLens | — | Phase 7 |
44-
| 9 | À propos, Background, stack | Profil cohérent et crédible | Fusion `/background` déjà identifiée en Phase 2 ; contenu à rédiger | — | Phase 2 |
44+
| 9 | À propos, Background, stack | Profil cohérent et crédible | ✅ **Terminée (2026-08-08)** : fusion `/background` déjà faite en Phase 2, méthode et CTA déjà présents. Écart réel restant traité : stack technique passée d'une liste plate de 21 technos à 4 niveaux hiérarchisés (Principal/Backend et données/Produit et infrastructure/Expérimentations, section 10.2 du master plan) — même 21 technos, aucune ajoutée ni retirée. | — | Phase 2 |
4545
| 10 | Articles et contenu technique | Knowledge Base = preuve d'expertise | 7 articles déjà présents dans `content/posts/` — travail de structuration/mise en avant, pas de création ex nihilo | — | Phase 2 |
4646
| 11 | SEO technique et migrations | Finaliser indexation | Ajouter le champ `openGraph` explicite (absent de `app/layout.tsx`), redirections `/apps`, `/background`, `/blog` | **B5 — Logo Randy Code** (favicon, OG) | Phases 1-10 |
4747
| 12 | Accessibilité, performance, QA finale | Valider la qualité production | Corriger le `color-contrast` Lighthouse, ajouter une analyse de bundle (absente sous Turbopack Next 16), re-vérifier les CVE `sharp`/`postcss` | **B7 — QA branding** | Phases 1-11 |
@@ -64,4 +64,4 @@ Rappelées pour mémoire, à ne pas anticiper : refonte InfraLens (dépôt sépa
6464

6565
## 5. Prochaine étape
6666

67-
Les deux études de cas phares (Liflow, InfraLens) sont terminées. Prochaine étape logique : **Phase 7 Espace Outils** (créer `/tools/infralens`, décision déjà actée : rewrite sous `randy-code.dev/tools/infralens/*`, checklist section 9.2 du master plan avant implémentation — basePath, assets, PWA, cookies, CSP, CORS). Alternative : **Phase 9À propos, Background et stack** (déjà partiellement couvert par la fusion Background en Phase 2) ou **Phase 10Articles** (les 7 articles existants à mieux relier/structurer). À confirmer avec Randy avant de choisir.
67+
Phases 5, 6 et 9 terminées. La Phase 7 (Espace Outils / rewrite InfraLens) est explicitement repoussée — Randy veut finir le reste du portfolio avant de toucher à l'intégration InfraLens (2026-08-08). Reste réaliste à court terme : **Phase 10Articles** (les 7 articles existants à mieux relier/structurer, RSS éventuel) ou **Phase 11SEO technique** (champ `openGraph` explicite manquant sur `app/layout.tsx`, données structurées `SoftwareApplication` pour Liflow/InfraLens). À confirmer avec Randy avant de choisir.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "randy-code",
3-
"version": "0.7.7",
3+
"version": "0.7.8",
44
"private": true,
55
"packageManager": "pnpm@10.7.0",
66
"scripts": {

0 commit comments

Comments
 (0)