← Retour au catalogue
Solo Épisode #8 54:45

Clone de Tumblr en Ruby on Rails

Alexis développe un clone personnel de Tumblr en Ruby on Rails via Cursor et Gemini 2.5 Pro, partant de zéro (sans environnement Ruby installé) jusqu'à obtenir un MVP fonctionnel avec interface publique et back-office d'administration en environ 1 heure.

Stack technique

Outils utilisés

Résumé de la session

Alexis commence par analyser Tumblr pour comprendre les fonctionnalités à reproduire, se concentrant sur l'aspect micro-blogging personnel plutôt que réseau social. Il utilise Claude en mode vocal pour spécifier le projet, demandant explicitement à l'IA de poser des questions pour affiner le cadrage.
Claude génère une spécification complète avec user stories, phases de développement et recommandations techniques. Alexis insiste sur l'importance de cette étape de cadrage avant d'utiliser les outils de vibe coding.
Dans Cursor, Alexis lance un projet en mode agent avec Gemini 2.5 Pro. Le premier défi survient immédiatement : l'absence d'environnement Ruby sur sa machine Ubuntu. L'agent guide l'installation complète (Ruby, RubyGems, Rails) en expliquant les bonnes pratiques système.
L'installation rencontre plusieurs obstacles : conflits de dépendances, problèmes de permissions, packages manquants. L'agent résout chaque problème en proposant les commandes appropriées et en expliquant les enjeux de sécurité.
Une fois l'environnement configuré, l'agent génère la structure Rails avec scaffolding, crée les modèles (Post, Tag), configure les migrations de base de données et implémente les contrôleurs. Le code suit les conventions Rails avec une séparation claire des responsabilités.
Le premier test révèle une erreur de routing. L'agent analyse l'erreur depuis les logs et corrige rapidement le problème. Le MVP fonctionne : timeline publique avec posts de test et interface d'administration basique.
Alexis teste la création de contenus (texte, images, citations) et découvre des bugs d'ergonomie : pas de gestion des tags multiples, images mal dimensionnées, retour utilisateur insuffisant après création. L'agent corrige progressivement ces problèmes.
La session se termine avec un prototype fonctionnel incluant une interface publique stylée néo-brutaliste, un back-office d'administration, la gestion des types de posts multiples et un système de tags opérationnel.