Limiter la concurrence
Avancéuse tokio::sync::Semaphore;
let semaphore = Arc::new(Semaphore::new(10)); // 10 tâches simultanées max
for url in urls {
let permis = semaphore.clone().acquire_owned().await.unwrap();
tokio::spawn(async move {
telecharger(url).await;
drop(permis); // libère la place
});
}