🚀 Migration d'une App vers une Mini App Base

Présentateur : Eric - Base Team

Durée : 10:51

Plateforme : Base (Coinbase L2 Blockchain)

📹 Vidéo originale : Voir sur YouTube

📋 Résumé Exécutif

🎯 Objectif de la vidéo

Ce tutoriel démontre comment convertir une application web existante en une mini app qui s'intègre directement dans l'application Base. Le processus complet prend environ 10 minutes et permet de rendre votre application découvrable et utilisable au sein de l'écosystème Base.

Exemple utilisé : Une simple application "Hello World" Next.js hébergée sur Vercel

Prérequis :

  • Une application web existante
  • Un compte Base App
  • Connaissance de base en React/Next.js

🎓 Points Clés d'Apprentissage

1. SDK Mini App

Installation et utilisation du SDK Farcaster pour envelopper votre application avec les fonctionnalités nécessaires aux mini apps.

2. Cycle de Vie de l'App

Gestion du déclenchement d'affichage avec la fonction ready() pour contrôler quand l'app est prête à être affichée.

3. Manifest File

Création et hébergement du fichier manifest pour identifier votre app et fournir les métadonnées essentielles.

4. Vérification d'Identité

Utilisation de credentials cryptographiques pour prouver la propriété de l'application via signature.

5. Embed Metadata

Configuration des métadonnées pour contrôler l'apparence de votre app dans le feed Base.

6. Workflow CI/CD

Intégration avec Vercel pour déploiement automatique et prévisualisation avant publication.

📝 Guide Étape par Étape

  1. Installation du SDK Mini App

    Installer le package qui enveloppe votre app avec les fonctionnalités mini app.

    npm install @farcaster/miniapp-sdk
  2. Déclenchement de l'affichage de l'app

    Implémenter la logique pour signaler quand l'app est prête à être affichée. Utiliser un hook React useEffect pour éviter les rendus multiples.

    import { sdk } from '@farcaster/miniapp-sdk'; import { useEffect } from 'react'; export default function Page() { useEffect(() => { sdk.actions.ready(); }, []); return <div>Hello World</div>; }
  3. Hébergement du fichier Manifest

    Créer un fichier manifest accessible à votre-domaine.com/.well-known/farcaster.json. Ce fichier contient les informations sur votre mini app.

    Pour Next.js : Créer un route handler dans app/.well-known/farcaster.json/route.ts

  4. Création des credentials d'association de compte

    Utiliser l'outil Base Build (basebuild.base.dev) pour :

    • Se connecter avec votre compte Base
    • Soumettre l'URL de votre app
    • Signer le manifest avec votre passkey
    • Copier les credentials générés dans votre manifest
  5. Ajout des métadonnées Embed

    Configurer les métadonnées fc:miniapp pour contrôler l'affichage dans le feed.

    export async function generateMetadata() { return { title: "Hello World", description: "My mini app", other: { "fc:miniapp": "true", "fc:miniapp:name": "Hello World", "fc:miniapp:image": "https://...", "fc:miniapp:button": "Launch Hello World", "fc:miniapp:url": "https://your-app.com" } }; }
  6. Déploiement en production

    Pousser tous les changements vers la production (automatique avec Vercel).

  7. Prévisualisation avec Base Build Console

    Utiliser l'outil de prévisualisation pour vérifier :

    • L'association de compte
    • Les métadonnées du manifest
    • L'affichage de l'embed dans le feed
    • Le fonctionnement de la mini app
  8. Publication sur Base App

    Poster l'URL de votre application sur Base App. Elle sera indexée et deviendra découvrable dans le feed et la recherche.

🛠️ Outils et Ressources Mentionnés

📚

Documentation Base

Guide de Migration
🔧

Base Build Console

Outil de Développement
💬

Base Discord

Communauté des Builders
📦

Farcaster Mini App SDK

Package NPM
⚛️

Next.js

Framework React

📖 Documentation Complémentaire

💡 Cas d'Usage

🎮 Mini-jeux intégrés
🛒 E-commerce décentralisé
📊 Outils d'analyse DeFi
🎨 Galeries NFT
💰 Portefeuilles & Paiements
📝 Applications de productivité
🎵 Streaming de contenu
🤝 Réseaux sociaux décentralisés

🌟 Pourquoi c'est important ?

  • Distribution : Accès direct à l'audience Base sans téléchargement d'app
  • Découvrabilité : Votre app devient recherchable et partageable dans l'écosystème
  • UX fluide : Intégration native dans l'interface Base App
  • Web3 Ready : Connexion automatique au wallet de l'utilisateur
  • Réduction des frictions : Pas besoin de quitter l'application Base
  • Monétisation : Possibilité d'intégrer des transactions gasless

🎯 Défis d'Apprentissage Recommandés

Défi 1 : Première Mini App Facile

Objectif : Créer une mini app "Todo List" simple et la publier sur Base.

Compétences : React, Next.js, SDK Mini App

Temps estimé : 2-3 heures

Critères de succès :

  • ✅ App fonctionnelle avec ajout/suppression de tâches
  • ✅ Manifest correctement configuré
  • ✅ Verification réussie sur Base Build
  • ✅ Publication dans le feed Base

Défi 2 : Intégration Wallet Intermédiaire

Objectif : Créer une mini app qui interagit avec le wallet Coinbase de l'utilisateur.

Compétences : Web3.js/Ethers.js, Smart Contracts, Account Abstraction

Temps estimé : 4-6 heures

Critères de succès :

  • ✅ Connexion automatique au wallet
  • ✅ Affichage du solde de l'utilisateur
  • ✅ Transaction gasless via Coinbase Paymaster
  • ✅ Gestion des erreurs et états de chargement

Défi 3 : Mini App Avancée Avancé

Objectif : Créer une mini app complète avec backend, base de données, et interactions blockchain.

Exemple : Une place de marché NFT simplifiée

Compétences : Full Stack, Smart Contracts, IPFS, Analytics

Temps estimé : 2-3 semaines

Critères de succès :

  • ✅ Architecture scalable (API + Database)
  • ✅ Smart contract déployé sur Base
  • ✅ Upload et stockage de médias (IPFS)
  • ✅ Analytics via Coinbase Developer Platform
  • ✅ Tests unitaires et d'intégration
  • ✅ Performance optimisée (< 2s chargement)

🎯 Prêt à Construire ?

Transformez votre application en mini app Base dès aujourd'hui !