Skip to content

Commit 816e249

Browse files
authored
update (#711)
* fix * fix * fix
1 parent 1b51f47 commit 816e249

13 files changed

Lines changed: 94 additions & 24 deletions

content/blog/api-rest-les-bonnes-pratiques.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "API REST en PHP : bonnes pratiques pour concevoir des applications professionnelles"
33
date: "2023-07-18"
44
author: "Efficience IT"
5-
category: "Formation"
5+
category: "PHP"
66
excerpt: "Dans le monde du web, API est l'acronyme d'Application Programming Interface, traduit en français par interface de programmation d'application."
77
image: "/images/blog/api-rest.webp"
88
updatedAt: "2026-01-13"

content/blog/arrives-au-max-des-id-int-2147483647.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "Arrivés au max des ID INT (2 147 483 647) : comment migrer vers BIGINT"
33
date: "2022-02-11"
44
author: "Louis-Arnaud Catoire"
5-
category: "Formation"
5+
category: "Architecture"
66
excerpt: "Les développeurs rencontrent le défi d'atteindre la limite maximale des identifiants INT dans MySQL. Quand cela se produit, tout se bloque."
77
image: "/images/blog/mysql-max-id.webp"
88
proficiencyLevel: "Expert"

content/blog/guide-de-migration-dans-un-projet-symfony.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "Guide pratique : réussir une montée de version Symfony"
33
date: "2023-07-17"
44
author: "Efficience IT"
5-
category: "Formation"
5+
category: "Symfony"
66
excerpt: "Le framework Symfony est en constante évolution comme de nombreux aspects du développement web. Efficience IT surveille ces changements de près."
77
image: "/images/blog/migration-symfony.webp"
88
proficiencyLevel: "Expert"

content/blog/les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "Bundles Symfony les plus utilisés : incontournables pour vos projets"
33
date: "2023-07-18"
44
author: "Efficience IT"
5-
category: "Formation"
5+
category: "Symfony"
66
excerpt: "Les bundles, ou packages en français, désignent un regroupement de plusieurs fichiers ou logiciels livrés comme un ensemble logique de fonctionnalités."
77
image: "/images/blog/bundles-symfony.webp"
88
updatedAt: "2026-01-13"

content/blog/monter-en-competence-claude-code.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "Comment monter en compétence sur Claude Code"
33
date: "2026-03-29"
44
author: "Efficience IT"
5-
category: "Formation"
5+
category: "IA"
66
excerpt: "CLAUDE.md, skills, hooks, serveurs MCP : les fonctionnalités clés de Claude Code et les bonnes pratiques pour devenir un utilisateur avancé."
77
image: "/images/blog/monter-en-competence-claude-code.webp"
88
proficiencyLevel: "Beginner"

content/blog/que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "Que vaut REST face à son nouveau challenger GraphQL ?"
33
date: "2022-02-11"
44
author: "Louis-Arnaud Catoire"
5-
category: "Formation"
5+
category: "Architecture"
66
excerpt: "REST s'est imposé comme un style architectural dominant pour la transmission de données via HTTP. GraphQL est positionné comme son remplaçant."
77
image: "/images/blog/rest-vs-graphql.webp"
88
updatedAt: "2026-01-13"

content/blog/quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: "Symfony Messenger vs PHP Enqueue : le verdict en 2026"
33
date: "2026-03-10"
44
updatedAt: "2026-03-26"
55
author: "Louis-Arnaud Catoire"
6-
category: "Formation"
6+
category: "Symfony"
77
excerpt: "PHP Enqueue est quasi abandonné depuis 2023. Symfony Messenger s'est imposé comme le standard du messaging asynchrone en PHP."
88
image: "/images/blog/messenger-vs-enqueue.webp"
99
---

content/blog/symfony-pour-les-moldus.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "Symfony pour les moldus"
33
date: "2022-02-11"
44
author: "Louis-Arnaud Catoire"
5-
category: "Formation"
5+
category: "Symfony"
66
excerpt: "Symfony est un framework écrit en PHP. Découvrez pourquoi les développeurs l'utilisent et quels sont ses avantages pour vos projets web."
77
image: "/images/blog/symfony-moldus.webp"
88
proficiencyLevel: "Beginner"

content/blog/tout-savoir-sur-la-mise-en-cache-tips.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "Tout savoir sur la mise en cache"
33
date: "2022-11-23"
44
author: "Louis-Arnaud Catoire"
5-
category: "Formation"
5+
category: "Architecture"
66
excerpt: "Le cache fonctionne comme la RAM : c'est un type de mémoire conçu pour booster les performances. Découvrez les principes, usages et bonnes pratiques."
77
image: "/images/blog/mise-en-cache.webp"
88
updatedAt: "2026-01-13"

src/__tests__/lib/blog.test.ts

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ import {
88
getCategories,
99
getPostsByCategory,
1010
extractHeadings,
11+
isSymfonyAuditCategory,
12+
isTechCategory,
1113
readingTime,
1214
} from "@/lib/blog";
1315

@@ -152,6 +154,44 @@ describe("extractHeadings", () => {
152154
});
153155
});
154156

157+
describe("isTechCategory", () => {
158+
it.each([
159+
"Symfony",
160+
"PHP",
161+
"Architecture",
162+
"DevOps",
163+
"Qualité de code",
164+
"Sécurité",
165+
"IA",
166+
"JavaScript",
167+
])("classifies %s as tech", (category) => {
168+
expect(isTechCategory(category)).toBe(true);
169+
});
170+
171+
it.each(["Formation", "Projet", "Green IT", "Agence", ""])(
172+
"classifies %s as non-tech",
173+
(category) => {
174+
expect(isTechCategory(category)).toBe(false);
175+
},
176+
);
177+
});
178+
179+
describe("isSymfonyAuditCategory", () => {
180+
it.each(["Symfony", "PHP", "Architecture", "Qualité de code"])(
181+
"matches %s",
182+
(category) => {
183+
expect(isSymfonyAuditCategory(category)).toBe(true);
184+
},
185+
);
186+
187+
it.each(["IA", "JavaScript", "DevOps", "Sécurité", "Formation", "Projet", ""])(
188+
"does not match %s",
189+
(category) => {
190+
expect(isSymfonyAuditCategory(category)).toBe(false);
191+
},
192+
);
193+
});
194+
155195
describe("readingTime", () => {
156196
it("returns 1 min for very short articles", () => {
157197
expect(readingTime(50)).toBe(1);

0 commit comments

Comments
 (0)