import { drizzle } from "drizzle-orm/mysql2";
import { projects, articles } from "./drizzle/schema.ts";

const db = drizzle(process.env.DATABASE_URL);

const sampleProjects = [
  {
    slug: "aurum-co-ecommerce",
    title: "Aurum & Co. - Boutique en ligne",
    shortDescription: "Site e-commerce élégant pour une boutique d'artisanat haut de gamme",
    fullDescription: "Développement complet d'une plateforme e-commerce pour Aurum & Co., spécialisée dans les produits artisanaux de luxe. Le site propose une expérience d'achat fluide avec paiement sécurisé, gestion de stock en temps réel et interface d'administration complète.",
    category: "ecommerce",
    sector: "Retail",
    clientName: "Aurum & Co.",
    clientLogo: null,
    mainImage: "/project-1.jpg",
    images: JSON.stringify(["/project-1.jpg"]),
    technologies: JSON.stringify(["React", "Node.js", "Stripe", "MySQL"]),
    siteUrl: null,
    completionDate: new Date("2024-11-15"),
    testimonial: "Leifo a transformé notre vision en réalité. Le site est magnifique et nos ventes ont augmenté de 250% en 3 mois.",
    metrics: JSON.stringify({ traffic: "+250%", conversion: "+180%", performance: "95/100" }),
    featured: true,
    published: true,
  },
  {
    slug: "restaurant-menu-digital",
    title: "Menu Digital Restaurant",
    shortDescription: "Application web pour menu de restaurant avec commande en ligne",
    fullDescription: "Création d'une application web responsive permettant aux clients de consulter le menu, passer des commandes et effectuer des réservations. Interface élégante adaptée au secteur gastronomique avec galerie photos professionnelle.",
    category: "webapp",
    sector: "Restauration",
    clientName: "Restaurant Le Gourmet",
    clientLogo: null,
    mainImage: "/project-2.jpg",
    images: JSON.stringify(["/project-2.jpg"]),
    technologies: JSON.stringify(["React", "Express", "PostgreSQL", "Tailwind CSS"]),
    siteUrl: null,
    completionDate: new Date("2024-10-20"),
    testimonial: "Une solution moderne qui a simplifié notre gestion et ravi nos clients. Hautement recommandé!",
    metrics: JSON.stringify({ orders: "+320%", satisfaction: "4.8/5", mobile: "85%" }),
    featured: true,
    published: true,
  },
  {
    slug: "apex-corporate-website",
    title: "APEX Global Solutions",
    shortDescription: "Site vitrine corporate pour cabinet de conseil",
    fullDescription: "Développement d'un site vitrine professionnel pour APEX Global Solutions, cabinet de conseil en transformation digitale. Design épuré et moderne mettant en valeur l'expertise et les services de l'entreprise.",
    category: "vitrine",
    sector: "B2B Services",
    clientName: "APEX Global Solutions",
    clientLogo: null,
    mainImage: "/project-3.jpg",
    images: JSON.stringify(["/project-3.jpg"]),
    technologies: JSON.stringify(["React", "Next.js", "Tailwind CSS", "Vercel"]),
    siteUrl: null,
    completionDate: new Date("2024-09-10"),
    testimonial: "Un site qui reflète parfaitement notre professionnalisme. Merci Leifo!",
    metrics: JSON.stringify({ leads: "+150%", bounce: "-40%", seo: "92/100" }),
    featured: true,
    published: true,
  },
];

const sampleArticles = [
  {
    slug: "optimiser-seo-site-web-2025",
    title: "Comment optimiser le SEO de votre site web en 2025",
    excerpt: "Découvrez les meilleures pratiques SEO pour améliorer votre visibilité en ligne et attirer plus de clients qualifiés.",
    content: `# Comment optimiser le SEO de votre site web en 2025

Le référencement naturel (SEO) reste un pilier fondamental de toute stratégie digitale réussie. En 2025, les algorithmes des moteurs de recherche sont plus sophistiqués que jamais, privilégiant l'expérience utilisateur et la qualité du contenu.

## Les fondamentaux du SEO moderne

### 1. Contenu de qualité

Le contenu reste roi. Google valorise les articles approfondis, bien structurés et qui répondent réellement aux questions des utilisateurs. Visez au minimum 1500 mots pour les articles de fond, avec une structure claire utilisant des titres H2 et H3.

### 2. Performance technique

La vitesse de chargement est cruciale. Un site qui se charge en moins de 3 secondes sur mobile a 70% plus de chances de convertir ses visiteurs. Optimisez vos images, utilisez le lazy loading et minimisez votre code.

### 3. Expérience mobile

Plus de 60% du trafic web provient désormais des mobiles. Votre site doit être parfaitement responsive et offrir une navigation intuitive sur tous les appareils.

## Stratégies avancées pour 2025

### Recherche vocale

Optimisez pour les requêtes conversationnelles. Les utilisateurs posent des questions complètes à leurs assistants vocaux. Intégrez des FAQ et du contenu en langage naturel.

### E-A-T (Expertise, Autorité, Fiabilité)

Google évalue la crédibilité de votre contenu. Citez vos sources, incluez des biographies d'auteurs et obtenez des backlinks de sites reconnus dans votre domaine.

### Core Web Vitals

Ces métriques de performance sont désormais des facteurs de classement officiels. Surveillez votre LCP (Largest Contentful Paint), FID (First Input Delay) et CLS (Cumulative Layout Shift).

## Conclusion

Le SEO en 2025 demande une approche holistique combinant technique, contenu et expérience utilisateur. Investir dans ces domaines garantit une visibilité durable et un trafic qualifié.`,
    heroImage: "/blog-1.jpg",
    category: "SEO",
    tags: JSON.stringify(["SEO", "Référencement", "Google", "Marketing Digital"]),
    author: "Leifo",
    readingTime: 8,
    published: true,
    publishedAt: new Date("2024-12-01"),
    seoMetaDescription: "Guide complet pour optimiser le SEO de votre site web en 2025. Stratégies, techniques et bonnes pratiques pour améliorer votre référencement.",
    seoKeywords: JSON.stringify(["SEO 2025", "référencement naturel", "optimisation Google", "stratégie SEO"]),
  },
  {
    slug: "tendances-web-design-2025",
    title: "Les tendances du web design en 2025",
    excerpt: "Explorez les nouvelles tendances qui façonnent le design web moderne : minimalisme, animations fluides et expériences immersives.",
    content: `# Les tendances du web design en 2025

Le design web évolue constamment, et 2025 marque un tournant vers des expériences plus immersives et personnalisées. Découvrons ensemble les tendances qui définissent le web moderne.

## Minimalisme sophistiqué

Le "less is more" atteint de nouveaux sommets. Les designers privilégient les espaces blancs généreux, les typographies audacieuses et les palettes de couleurs épurées. Cette approche améliore la lisibilité et met en valeur le contenu essentiel.

## Micro-interactions et animations

Les animations subtiles enrichissent l'expérience utilisateur sans la surcharger. Des transitions fluides entre les pages, des boutons qui réagissent au survol, et des indicateurs de progression créent une interface vivante et engageante.

## Dark mode par défaut

Le mode sombre n'est plus une option mais un standard. Il réduit la fatigue oculaire, économise la batterie sur les écrans OLED et offre un look moderne et élégant.

## Typographie variable

Les polices variables permettent des ajustements dynamiques du poids, de la largeur et d'autres attributs. Cette flexibilité offre une meilleure hiérarchie visuelle et améliore la performance en réduisant le nombre de fichiers de polices.

## Accessibilité prioritaire

L'accessibilité n'est plus une réflexion après coup. Les designers intègrent dès le départ des contrastes suffisants, une navigation au clavier complète et des alternatives textuelles pour tous les contenus visuels.

## Conclusion

Ces tendances reflètent une maturation du web design, où l'esthétique sert l'expérience utilisateur plutôt que de la dominer. Un bon design en 2025 est invisible : il guide naturellement l'utilisateur vers son objectif.`,
    heroImage: "/blog-2.jpg",
    category: "Design",
    tags: JSON.stringify(["Web Design", "Tendances", "UX/UI", "Design Moderne"]),
    author: "Leifo",
    readingTime: 6,
    published: true,
    publishedAt: new Date("2024-11-25"),
    seoMetaDescription: "Découvrez les tendances web design 2025 : minimalisme, animations, dark mode et accessibilité. Guide complet pour créer des sites modernes.",
    seoKeywords: JSON.stringify(["web design 2025", "tendances design", "UX design", "interface moderne"]),
  },
  {
    slug: "reussir-site-ecommerce",
    title: "Les clés pour réussir votre site e-commerce",
    excerpt: "De la conception à la conversion : découvrez comment créer une boutique en ligne performante qui génère des ventes.",
    content: `# Les clés pour réussir votre site e-commerce

Lancer une boutique en ligne est une aventure passionnante, mais le succès nécessite bien plus qu'un simple catalogue de produits. Voici les éléments essentiels pour créer un e-commerce performant.

## Expérience utilisateur optimale

### Navigation intuitive

Vos visiteurs doivent trouver ce qu'ils cherchent en moins de 3 clics. Organisez vos produits par catégories claires, ajoutez une barre de recherche efficace et proposez des filtres pertinents.

### Fiches produits convaincantes

Chaque fiche produit est une page de vente. Incluez des photos haute qualité sous plusieurs angles, des descriptions détaillées, les dimensions, les matériaux et les avis clients. La vidéo produit augmente les conversions de 80%.

## Processus d'achat simplifié

### Checkout en une page

Réduisez les étapes entre le panier et la confirmation de commande. Chaque clic supplémentaire augmente le taux d'abandon de 10%.

### Options de paiement variées

Proposez plusieurs moyens de paiement : carte bancaire, PayPal, Apple Pay, Google Pay. Plus vous offrez d'options, plus vous convertissez.

### Livraison transparente

Affichez clairement les frais et délais de livraison dès le panier. 60% des abandons sont dus à des frais de livraison inattendus.

## Confiance et réassurance

### Sécurité visible

Certificat SSL (HTTPS), badges de sécurité, politique de retour claire : rassurez vos clients à chaque étape.

### Avis clients authentiques

Les avis augmentent les conversions de 270%. Intégrez un système d'avis vérifié et répondez aux commentaires, positifs comme négatifs.

### Service client accessible

Chat en direct, email, téléphone : offrez plusieurs canaux de contact et répondez rapidement.

## Performance technique

Un site lent perd 40% de ses visiteurs après 3 secondes de chargement. Optimisez vos images, utilisez un CDN et choisissez un hébergement performant.

## Marketing et acquisition

### SEO e-commerce

Optimisez vos fiches produits pour les moteurs de recherche. Utilisez des mots-clés pertinents dans les titres, descriptions et URLs.

### Retargeting

70% des visiteurs partent sans acheter. Le retargeting publicitaire permet de les faire revenir et augmente les conversions de 150%.

### Email marketing

Récupérez les paniers abandonnés avec des emails automatiques. Un simple rappel peut récupérer 30% des ventes perdues.

## Conclusion

Un e-commerce réussi combine design attractif, expérience utilisateur fluide et stratégie marketing efficace. Investissez dans ces domaines et mesurez constamment vos performances pour optimiser en continu.`,
    heroImage: "/blog-3.jpg",
    category: "E-commerce",
    tags: JSON.stringify(["E-commerce", "Vente en ligne", "Conversion", "Marketing"]),
    author: "Leifo",
    readingTime: 10,
    published: true,
    publishedAt: new Date("2024-11-18"),
    seoMetaDescription: "Guide complet pour créer un site e-commerce performant. Stratégies de conversion, UX, paiement et marketing pour booster vos ventes en ligne.",
    seoKeywords: JSON.stringify(["e-commerce", "boutique en ligne", "vente en ligne", "conversion e-commerce"]),
  },
];

async function seed() {
  console.log("🌱 Seeding database...");

  try {
    // Insert projects
    console.log("📦 Inserting projects...");
    for (const project of sampleProjects) {
      await db.insert(projects).values(project);
    }
    console.log("✅ Projects inserted");

    // Insert articles
    console.log("📝 Inserting articles...");
    for (const article of sampleArticles) {
      await db.insert(articles).values(article);
    }
    console.log("✅ Articles inserted");

    console.log("🎉 Database seeded successfully!");
  } catch (error) {
    console.error("❌ Error seeding database:", error);
    process.exit(1);
  }
}

seed();
