Le journal de MahirPourquoi mon portfolio est un moteur de recherche
La plupart des portfolios se ressemblent. Un grand titre, une photo, trois cartes de projets, un formulaire de contact. C'est propre, ca marche, et ca s'oublie en deux secondes. J'avais envie d'autre chose : un site dont on se souvient parce qu'on l'a utilise, pas seulement regarde.
Du coup, mon portfolio est un moteur de recherche. La page d'accueil, c'est une barre de recherche. Vous tapez "minishell", "experience" ou "mahir disponible 2025", et vous tombez sur une page de resultats qui ressemble a une vraie SERP, avec un panneau de connaissance a droite et des recherches associees en bas.
L'idee derriere le concept
Un moteur de recherche, c'est l'interface la plus familiere du web. Tout le monde sait s'en servir. Personne n'a besoin d'un mode d'emploi. En partant de cette familiarite, je pouvais me permettre d'etre joueur sans perdre le visiteur : meme si chaque page porte la peau d'un produit web culte, on sait toujours comment naviguer.
Le pari, c'est que la metaphore tienne jusqu'au bout. Pas juste une barre de recherche decorative, mais un vrai index, une vraie autocomplete, une page "j'ai de la chance" qui fonctionne. Si un seul element sonne faux, tout l'edifice s'ecroule.
Une source unique de verite
La premiere decision technique a ete de centraliser tout le contenu dans un seul index. Projets, experiences, competences, pages : tout vit au meme endroit. La page de resultats, l'autocomplete, le sitemap et le bouton "j'ai de la chance" consomment le meme module.
Ca evite la pire des choses sur un portfolio : un projet visible quelque part mais invisible ailleurs. Une seule source, et tout reste coherent. Quand j'ajoute une entree, elle apparait partout d'un coup.
Le piege du contenu invente
Le risque d'un site qui imite un moteur de recherche, c'est de remplir les trous avec du faux. De faux projets, de faux liens, de fausses stats pour faire joli. J'ai pose une regle simple : rien d'invente.
Quand une experience n'est pas encore documentee en detail, elle porte un badge honnete plutot qu'une fiche bidon. Quand une fonctionnalite n'est pas prete, elle affiche un etat "bientot" assume au lieu d'un faux bouton qui ne mene nulle part. Un recruteur preferera toujours une lacune assumee a un mensonge bien design.
Le determinisme, ce detail qui compte
Detail technique mais important : tout ce qui pourrait sembler aleatoire est en realite deterministe. Le bouton "j'ai de la chance" ne tire pas un nombre au hasard. Il hache la requete et choisit toujours le meme resultat pour la meme entree.
Pourquoi ? Parce que le site fait du rendu cote serveur. Si le serveur et le client tiraient deux nombres differents, l'interface clignoterait au chargement. En rendant tout deterministe, le serveur et le navigateur sont toujours d'accord. Pas de surprise, pas d'hydratation cassee.
Ce que ca m'a appris
Construire ce site m'a force a penser comme un produit, pas comme une page. Il a fallu un index, une logique de recherche, du scoring, de l'autocomplete. C'est plus proche d'une petite application que d'une vitrine.
Et surtout, ca m'a rappele une chose : une contrainte forte rend les decisions plus simples. "Est-ce que ca tient la metaphore du moteur de recherche ?" a tranche la moitie de mes hesitations de design. Le reste, c'etait du soin.
Si vous etes arrive jusqu'ici, c'est que la metaphore a tenu. Merci d'avoir cherche.