from faker import Faker
import random
import asyncio

# Initialiser Faker
fake = Faker('fr_FR')

# Liste de catégories de produits
categories = ['vélo', 'raquettes', 'chaussures', 'ballons', 'sacs de sport', 'équipements de fitness']

# Liste de marques fictives
marques = ['SportMax', 'FitLife', 'AthléTech', 'VéloRapide', 'RaquettesPro', 'ChaussSport']

async def generer_produits(nombre):
    """
    Génère un nombre spécifié de produits fictifs d'articles de sport de manière asynchrone.

    Args:
        nombre (int): Le nombre de produits à générer.

    Yields:
        dict: Un dictionnaire représentant un produit.
    """
    for _ in range(nombre):
        produit = {
            'nom': fake.word() + ' ' + random.choice(categories),
            'marque': random.choice(marques),
            'prix': round(random.uniform(10, 500), 2),
            'description': fake.sentence(),
            'disponible': fake.boolean()
        }
        yield produit
