Aller au contenu

Templates

Huit pages de yoanengassam.com. Bureau et mobile 390 côte à côte. Les blocs restent en surface 1. Le filet cyan ne sert qu'au survol ou au choix.

Lecture des gabarits

Les noms sont ceux de l'inventaire. Aucune couleur de catégorie. Survolez ou choisissez un bloc pour lier l'annotation.

Organismes

Header .yc-header Hero .yc-hero Grille projets .yc-project-grid Liste d'articles .yc-article-list Timeline .yc-timeline Bande CTA .yc-cta-band Formulaire .yc-contact-form Footer .yc-footer Intervention .yc-talk Galerie .yc-gallery

Molécules dans les pages

Fil d'Ariane .yc-breadcrumb Pagination .yc-pagination Table des matières .yc-toc Suivre .yc-follow Canal .yc-channel Citation .yc-quote

Accueil

Page cinéma. Un seul bouton WhatsApp, dans le hero. La bande du bas reprend le même libellé, hors de la même vue.

Gabarit accueil
Bureau, dès 1024
Mobile 390
01 Header
Rôle : navigation fixe. Sanity : siteSettings.nav et contactCta. Dès 1024px, liens visibles. En dessous, burger 44px et feuille opaque. « Me contacter » est le bouton blanc, pas le vert.
02 Hero
Rôle : promesse. Sanity : hero (title, titleAccent, lede, stats, secondaryCta). H1 « Je construis des systèmes » puis « qui tiennent en production. » Photo hero-desktop.webp, puis hero-mobile.webp sous 768px. Les panneaux flottants sont le seul verre hors header, et ils ne couvrent pas le visage. Mobile : deux puces au plus. Un halo cyan, opacité 0.06, derrière la photo.
03, 04, 06 Sections
Bandes de page, surfaces opaques. La citation reprend la phrase validée. L'aide nomme l'assistant IA, l'automatisation n8n et le CRM. La stack nomme n8n, Supabase et Docker, avec le même tag neutre.
05 Grille projets
Organisme .yc-project-grid. Sanity : références project. Bento : Doc4Geeks en grande carte, Doc4Shop à côté, Campus Cloud et Assistant IA en dessous. Même filet --yc-line sur chaque carte. Sous 768px, une colonne. Campus Cloud montre trois sous-domaines *.campus.doc4geeks.com, point cyan « En ligne ».
07 Intervention
Rôle : preuve publique. Sanity : event, status past. CITS26 se raconte au passé seulement.
08 Liste d'articles
Trois cartes puis .yc-btn--link « Tous les articles ». Pas un second bouton plein.
09 Bande CTA
Répète « Écrire sur WhatsApp » une fois en bas de page longue. Même href https://wa.me/, commentaire siteSettings.whatsappUrl.
10 Footer
Organisme .yc-footer, identique sur chaque template. Bureau : marque, pages, projets, puis e-mail et LinkedIn en boutons ghost. Mobile : marque pleine largeur, pages et projets en deux colonnes, contact en dessous, ligne légale « Yoane Ngassam. Automatisation et IA. » en bas.
  • Un seul h1. La seconde ligne seule porte le dégradé blanc vers cyan.
  • Le bouton .yc-btn--wa n'apparaît qu'une fois dans la première vue.
  • Les panneaux chiffrés, comme ui-analytics.webp, ont un alt vide.
<header class="yc-header"></header>
<section class="yc-hero yc-hero--cinema"></section>
<section class="yc-project-grid"></section>
<section class="yc-article-list"></section>
<section class="yc-cta-band"></section>
<footer class="yc-footer"></footer>

À propos

Parcours d'abord. La galerie pose la légende sous la photo. Le rappel de contact est un contour, pas un second WhatsApp.

Gabarit page
Bureau
Mobile 390
02 Hero
H1 « À propos », une phrase. Bande 42svh minimum, scrim bas, pas de panneaux. Pas de bouton vert : le header a déjà « Me contacter ».
03 Galerie
Photos portrait-about, portrait-work, portrait-speaker, portrait-contact. Alt descriptif. Légende sous l'image. Ratio déclaré, object-fit: cover dans le cadre. Rien n'est posé sur le visage.
04 Timeline
Sanity : documents experience. Ordre : Inperfect, Lead Technical Engineer, févr. 2026 à aujourd'hui, Yaoundé, hybride. Puis ingénieur système, août 2025 à janv. 2026. Doc4Geeks, fondateur, 2024 à aujourd'hui. Lasylab, une ligne de stage. Esmata, licence IGL, 2025 à 2026. Esmata, BTS, 2023 à 2025, « Major BTS 2025 ». Aucun client, aucun chiffre d'employeur.
05 Citation
Molécule .yc-quote. Phrase validée : transformer une tâche répétitive en un système qui tourne tout seul, et voir des gens s'en servir vraiment.
06 Bande CTA
Outline vers Contact. Le vert reste sur l'accueil.
  • Le fil de la timeline est décoratif. Le contenu est dans les cartes, dans l'ordre du parcours.
  • Aucune pastille posée sur un visage.
<header class="yc-header"></header>
<section class="yc-hero yc-hero--page"></section>
<section class="yc-gallery"></section>
<section class="yc-timeline"></section>
<section class="yc-cta-band"></section>
<footer class="yc-footer"></footer>

Projets

Index des systèmes. Doc4Geeks en grande carte, Doc4Shop à côté, Campus Cloud et l'assistant en dessous.

Gabarit page
Bureau
Mobile 390
03 Grille projets
Chaque carte est un lien .yc-project. Doc4Geeks occupe quatre colonnes sur deux rangs, Doc4Shop les deux colonnes restantes, Campus Cloud et Assistant IA une rangée de trois colonnes chacun. Surface 1, filet --yc-line. Doc4Geeks peut dire « en veille ». Sous 768px, une colonne.
  • La carte entière est le lien. Le titre de la carte n'est pas un h1.
  • Les seuls comptes repris sont « 10+ projets » et « 9 secteurs », s'ils figurent en stats.
<header class="yc-header"></header>
<section class="yc-hero yc-hero--page"></section>
<section class="yc-project-grid"></section>
<footer class="yc-footer"></footer>

Projet

Fiche d'un système, ici Doc4Geeks. Fil d'Ariane, hero court, corps, rappel de contact en contour.

Gabarit page
Bureau
Mobile 390
02 Fil d'Ariane
Molécule .yc-breadcrumb. Dernier item aria-current="page", sans lien. Sanity : array yc.crumb. Sous 390px, les items passent à la ligne.
03 Hero
H1 du projet. Doc4Geeks : formations, puis campus cloud pour héberger les projets étudiants. Lancé en 2024. On peut dire « en veille ».
04 Corps
Tags neutres, résumé project.summary, .yc-callout et .yc-terminal si une commande est utile, par exemple docker compose up -d. Pas de champ de teinte.
05 Bande CTA
Contour vers Contact. Doc4Shop, sur sa propre fiche, explique le catalogue WhatsApp sans poser un second bouton vert.
  • Un h1 : le nom du projet. Le fil d'Ariane est un nav.
  • La couverture a un alt requis par project.cover.
<header class="yc-header"></header>
<nav class="yc-breadcrumb" aria-label="Fil d'Ariane"></nav>
<section class="yc-hero yc-hero--page"></section>
<article></article>
<footer class="yc-footer"></footer>

Blog

Cinq notes, aux dates réelles. Le suivi se fait sur LinkedIn.

Gabarit page
Bureau
Mobile 390
03 Liste d'articles
Sanity : documents post. Titres : « yoanengassam.com est en ligne » (9 oct. 2026), « Ce que le CITS26 m'a appris sur l'adoption », « Un catalogue WhatsApp, pas un site e-commerce », « Mettre une automatisation en production, pas en démo », « Héberger les projets étudiants : leçons du campus cloud Doc4Geeks ». Deux colonnes dès 768px.
04 Pagination
Molécule .yc-pagination. Page courante en texte 1 sur surface 2. Pas de lien vide. Sous 390px, elle passe sous la liste.
05 Suivre
Une phrase et un bouton outline « Suivre sur LinkedIn ». Sanity : siteSettings.linkedin. Pas de formulaire d'inscription.
  • Pagination dans un nav nommé « Pagination ».
  • La date est en méta mono, pas le titre de la carte.
<header class="yc-header"></header>
<section class="yc-hero yc-hero--page"></section>
<section class="yc-article-list"></section>
<nav class="yc-pagination" aria-label="Pagination"></nav>
<aside class="yc-follow"></aside>
<footer class="yc-footer"></footer>

Article

Lecture. La table des matières passe au-dessus du texte sous 1024px. Le partage ne crée pas un second bouton plein.

Gabarit article
Bureau
Mobile 390
04 Table des matières
Titre visible « Sur cette page ». Liens vers les id des h2. Colonne à droite dès 1024px, bloc en tête en dessous.
05 Prose
Corps en texte 2, puis .yc-callout « À retenir », puis .yc-share (copier le lien, LinkedIn). Boutons ghost. « Lien copié » pendant 1,2 s. Le retour du CITS26 reste général, sans contenu propriétaire.
06 Suite
Trois cartes maximum, lien « Tous les articles ». Pas de bouton vert.
  • Hiérarchie : h1 de l'article, h2 des sections, pas de saut vers h3.
  • Le partage ne porte pas l'information seul. Le texte reste dans l'article.
<header class="yc-header"></header>
<nav class="yc-breadcrumb"></nav>
<section class="yc-hero yc-hero--page"></section>
<nav class="yc-toc" aria-label="Sur cette page"></nav>
<article></article>
<footer class="yc-footer"></footer>

Interventions

La masterclass du CITS26, au passé, puis une invitation sans date.

Gabarit page
Bureau
Mobile 390
03 Intervention
CITS26, Palais des Congrès de Yaoundé, 15 au 17 octobre 2026, Mountain Hub. Masterclass « 75 % organisation, 25 % outil : préparer votre PME à l'automatisation et à l'IA au Cameroun », avec Yvan Tondji et Grâce Aurélie Leatitia. Badge neutre « Passé ». Photo event-stage.webp ou portrait-speaker.webp. Texte à côté, jamais sur le visage. Sous 768px, la photo passe au-dessus.
04 Invitation
Même organisme .yc-talk, status: invite. Copie : « Vous organisez un événement tech ? Écrivez-moi. » Lien outline vers Contact. Aucune date n'accompagne cette invitation.
  • Le badge « Passé » n'est pas la seule indication : la phrase est au passé.
  • Le partage de la scène ne pose aucun libellé sur un visage.
<header class="yc-header"></header>
<section class="yc-hero yc-hero--page"></section>
<article class="yc-talk"></article>
<article class="yc-talk"></article>
<footer class="yc-footer"></footer>

Contact

Canaux puis formulaire. Le bouton plein de la page est « Envoyer ». WhatsApp reste un lien texte.

Gabarit contact
Bureau
Mobile 390
Repos

Labels au-dessus des champs.

Erreur

Indiquez un domaine.

Succès

Message reçu. Je réponds à hello@doc4geeks.com.

Envoi

.is-loading, aria-busy, spinner neutre.

03 Canal de contact
Trois cartes .yc-channel. E-mail hello@doc4geeks.com. LinkedIn du profil public. WhatsApp en lien texte, href https://wa.me/, commentaire Sanity. Pas de .yc-btn--wa ici. Au mobile, les cartes s'empilent.
04 Formulaire
Ordre fixe : nom, e-mail, type de demande, message. Types : projet personnel ou étudiant, formation en programmation, Doc4Shop, invitation à intervenir, échange technique. Label au-dessus, exemple « Votre nom ». Bouton primary « Envoyer ». Succès : « Message reçu. Je réponds à hello@doc4geeks.com. »
  • Chaque champ a un label for. L'erreur est liée par aria-describedby et aria-invalid.
  • autocomplete sur le nom et l'e-mail. Cibles 44px, bouton d'envoi 48px.
  • Un seul bouton plein : « Envoyer ». Le header « Me contacter » pointe déjà vers cette page.
<header class="yc-header"></header>
<section class="yc-hero yc-hero--page"></section>
<ul class="yc-channel"></ul>
<form class="yc-contact-form"></form>
<footer class="yc-footer"></footer>