import asyncio

async def task1():
    print("Task 1 démarre")
    for i in range(5):
        print(f"Task 1 iteration {i}")
        await asyncio.sleep(1)
    print("Task 1 termine")

async def task2():
    print("Task 2 démarre")
    for i in range(5):
        print(f"Task 2 iteration {i}")
        await asyncio.sleep(1)
    print("Task 2 termine")

async def main():
    print("Création des tasks...")
    t1 = asyncio.create_task(task1())
    t2 = asyncio.create_task(task2())
    print("Lancement gather...")
    results = await asyncio.gather(t1, t2, return_exceptions=True)
    print(f"Gather terminé, résultats: {results}")

if __name__ == "__main__":
    asyncio.run(main())
