Tu apprends à coder, tu sais aligner des fonctions, et au moment de choisir ce que tu vas construire pour le montrer, tu hésites. Trop simple, ça fait scolaire. Trop ambitieux, tu ne finis jamais et tu te retrouves avec un dépôt à moitié mort sur GitHub.
L'hésitation vient du fait qu'un projet de portfolio ne répond pas aux mêmes règles qu'un exercice de cours. On le choisit pour ce qu'il prouve à quelqu'un qui ne te connaît pas, en deux minutes, depuis un onglet ouvert entre deux candidatures.
Cet article donne une méthode pour choisir ce premier projet, le calibrer pour qu'il soit fini avant la fin du mois, et l'aménager pour qu'il parle à un recruteur. Avec des exemples précis et les erreurs qui font perdre des semaines.
La situation que tu reconnais
Tu finis ton parcours, bootcamp ou auto-formation. Tu as suivi des cours, fait des exercices guidés, et tu te dis qu'il te faut un projet personnel pour le CV. Tu ouvres ton éditeur, tu crées un dossier, et là, plus rien. Soit tu ne sais pas quoi faire, soit tu lances une idée énorme qui s'effondre au bout de trois soirées.
Le scénario classique ressemble à ça : tu pars sur un réseau social, ou un clone de plateforme connue. Tu codes l'authentification, tu commences les profils utilisateurs, tu attaques le fil d'actualité, et tu te perds dans la gestion des relations entre tables. Trois semaines plus tard, l'enthousiasme est retombé, le projet stagne à 40 %, et tu n'oses plus l'ouvrir. C'est le terrain naturel de ce que décrit l'article sur le syndrome du tutoriel infini, où l'on multiplie les cours sans jamais livrer quelque chose de complet.
L'autre version du blocage est plus discrète. Tu fais un projet propre mais sans relief : une to-do list de plus, un site vitrine statique, un convertisseur de devises. Rien de cassé, mais rien qui retient l'attention non plus. Le recruteur voit le même exercice depuis des années et passe au candidat suivant sans même cliquer sur le lien.
Ce que prouve un bon premier projet
Un projet de CV a une fonction simple : convaincre quelqu'un que tu sais mener un travail de bout en bout. Pas écrire la ligne la plus astucieuse, pas empiler les technologies à la mode. Mener du début à la fin. Cette nuance change tout dans le choix.
Un recruteur technique qui regarde ton dépôt cherche trois signaux. Premier signal : est-ce que ça tourne ? Un projet qui se lance, qui répond, qui fait ce qu'il annonce vaut plus que dix dépôts inachevés. Deuxième signal : est-ce que c'est lisible ? Un README clair, des commits qui racontent une progression, une structure de fichiers qui se comprend sans aide. Troisième signal : est-ce que tu as résolu un vrai morceau de problème toi-même, ou recopié un tutoriel ligne par ligne ?
Sur ces trois critères, un petit projet terminé bat systématiquement un gros projet abandonné. C'est la règle à graver avant de choisir quoi que ce soit. Un junior qui livre une application modeste mais complète, déployée et documentée, montre exactement la compétence qu'une équipe cherche chez un débutant : la capacité à finir.
La bonne taille pour un premier projet : quelque chose que tu peux finir, déployer et documenter en deux à quatre semaines de travail régulier. Au-delà, le risque d'abandon grimpe plus vite que la valeur ajoutée sur le CV.
Le bon réflexe est de partir d'un besoin réel, même minuscule. Un outil que tu utiliserais toi-même, ou qui résout un problème que tu as déjà rencontré. Un projet né d'un usage concret a une histoire à raconter en entretien, ce qu'un clone générique n'a jamais.
Des idées de projets calibrés selon ton profil
Voici des pistes qui tiennent dans le bon format. Chacune se termine en quelques semaines, montre une compétence identifiable, et laisse de la place pour aller plus loin si tu en as l'envie. Choisis selon le poste que tu vises.
Si tu vises le frontend
Une application qui consomme une API publique et l'affiche de façon soignée. Par exemple un tableau de bord météo par ville, un explorateur de films branché sur l'API TMDB, ou un suivi de cryptomonnaies. L'intérêt : tu manipules des appels réseau, de la gestion d'état, du responsive, et tu produis une interface qu'on peut juger d'un coup d'œil. Si tu travailles en React, ce genre de projet se prépare bien avec la formation React : développer des interfaces modernes.
Si tu vises le backend
Une API REST autour d'un domaine simple : gestion de bibliothèque personnelle, suivi de dépenses, catalogue de recettes. Tu construis les routes, la validation des données, la persistance en base, et tu documentes les endpoints. Un projet comme celui-là montre que tu sais structurer un service, gérer des erreurs et penser les données. Pour la partie base de données, le choix entre relationnel et non relationnel mérite réflexion, et l'article SQL ou NoSQL pour son premier projet aide à trancher sans se tromper.
Si tu vises le fullstack
Une application complète mais resserrée : un gestionnaire de signets avec catégories, un mini-blog avec authentification, un outil de prise de notes synchronisées. Le mot d'ordre reste la sobriété du périmètre. Une seule entité métier, une authentification basique, un déploiement en ligne. Ça suffit à prouver que tu relies un front, un back et une base. La formation Fullstack React + Symfony couvre exactement cette chaîne complète.
Si tu vises Python et la donnée
Un script d'automatisation qui résout une corvée réelle, ou une petite API qui expose un traitement de données. Récupérer des annonces immobilières et les filtrer, nettoyer un fichier de comptes, exposer un endpoint qui renvoie des statistiques sur un jeu de données public. Ce type de livrable parle directement aux postes orientés data et automatisation.
Dans tous les cas, un point commun : le périmètre tient sur une seule phrase. Si tu ne peux pas décrire ton projet en quinze mots, il est probablement trop gros pour un premier jet.
Comment cadrer le périmètre dès le départ
La méthode qui marche tient en une habitude : écris la version minimale avant de coder. Note sur une feuille ce que ton projet fait, et rien d'autre. Tout ce qui n'est pas sur cette feuille devient une idée pour plus tard, pas pour maintenant.
Prenons un gestionnaire de dépenses personnel. La version minimale tient en trois actions : ajouter une dépense, lister les dépenses, voir un total par catégorie. Voilà le projet. Pas de comptes partagés, pas de graphiques animés, pas d'export PDF, pas d'application mobile. Ces ajouts viendront si le cœur fonctionne et que l'envie reste.
Un fichier README écrit en premier aide énormément. Décrire le projet avant de l'avoir codé force à clarifier le périmètre. Voici un squelette qui tient la route :
# Suivi de dépenses
Application web pour enregistrer ses dépenses et voir un total par catégorie.
## Fonctionnalités
- Ajouter une dépense (montant, date, catégorie)
- Lister les dépenses
- Afficher un total par catégorie
## Stack
- Backend : Python / FastAPI
- Base : SQLite
- Frontend : HTML, CSS, JavaScript
## Lancer le projet
pip install -r requirements.txt
uvicorn main:app --reload
Ce README de départ devient ta boussole. Chaque fois que tu hésites à ajouter une fonctionnalité, tu reviens à cette liste. Si l'idée n'y est pas, elle attend.
Côté code, une structure lisible vaut mieux qu'une architecture sophistiquée que tu ne maîtrises pas. Pour une petite API, quelques fichiers suffisent :
depenses/
main.py # routes et démarrage
models.py # tables de la base
database.py # connexion
requirements.txt
README.md
Un recruteur qui ouvre ce dépôt comprend l'organisation en dix secondes. C'est exactement le genre de lisibilité qui rassure sur un profil débutant. Et tenir un dépôt propre fait partie des automatismes décrits dans l'article sur les habitudes qui font progresser plus vite.
Les pièges qui font perdre des semaines
Quelques erreurs reviennent chez presque tous les juniors qui se lancent. Les connaître à l'avance fait gagner un temps précieux.
Viser le clone d'une plateforme connue
Refaire Twitter, Netflix ou Airbnb semble valorisant. En pratique, ces produits cachent des années de travail d'équipe et des problèmes que tu n'as aucune raison de résoudre en premier projet. Tu vas t'enliser dans la gestion des relations, des notifications, des flux temps réel, et abandonner avant la moitié. Un produit modeste et fini envoie un meilleur signal.
Empiler les technologies pour impressionner
Ajouter Docker, Kubernetes, une file de messages et trois bases de données sur un projet de débutant ne convainc personne. Un recruteur expérimenté repère immédiatement la sur-ingénierie, et se demande si tu sais doser. Maîtriser une stack simple de bout en bout marque davantage que survoler une stack complexe.
Négliger le déploiement
Un projet qui ne tourne que sur ta machine perd une grande partie de sa valeur. Mettre l'application en ligne, même sur un hébergement gratuit, prouve que tu sais franchir l'étape qui sépare le code de l'usage réel. Un lien cliquable dans ton CV vaut bien plus qu'une capture d'écran.
Oublier le README et l'historique des commits
Un dépôt sans description, avec un seul commit nommé "final version", inquiète plus qu'il ne rassure. Des commits réguliers qui montrent une progression, et un README qui explique comment lancer le projet, font partie du livrable autant que le code. C'est souvent ce que regarde un recruteur en premier.
Mal présenter le projet sur le CV lui-même
Un projet excellent mal décrit sur le CV passe inaperçu, d'autant que beaucoup de candidatures sont d'abord lues par un logiciel de tri avant d'arriver sous des yeux humains. Nomme clairement le projet, décris-le en une phrase, liste la stack, et mets le lien vers le dépôt et la démo. Le sujet du filtrage automatique est traité en détail dans l'article sur les CV de développeur et les filtres ATS.
Aucune de ces erreurs n'est définitive, mais chacune coûte des jours, parfois des semaines. Les éviter dès le départ laisse l'énergie là où elle compte : finir et déployer.
Un dernier mot sur le rythme
Un premier projet fini en trois semaines vaut mieux qu'un projet ambitieux qui traîne six mois. Et une fois ce premier livrable terminé, le deuxième part beaucoup plus vite, parce que tu connais déjà le chemin complet : cadrer, coder, déployer, documenter.
Deux ou trois projets de cette taille, bien finis et bien présentés, suffisent à remplir une section portfolio qui tient face à un recruteur. Le délai pour décrocher un premier poste dépend de beaucoup de facteurs, détaillés dans l'article sur le temps réel pour trouver son premier job de dev, mais un portfolio crédible reste l'un des leviers que tu contrôles réellement.