Résoudre le timeout des scans de sécurité en basculant vers une approche asynchrone
Résoudre le timeout des scans de sécurité en basculant vers une approche asynchrone
Cette vidéo explique comment contourner les limites de temps des serveurs web lors de tâches longues, comme un scan de sécurité qui peut durer 5 à 10 minutes. Le problème principal est que les navigateurs et les hébergeurs (comme Render) coupent automatiquement les connexions inactives après environ une minute. Attendre la fin du traitement côté client est donc techniquement impossible sans erreur de timeout.
La solution consiste à adopter une approche asynchrone. Au lieu de bloquer l'interface utilisateur, le système fonctionne ainsi :
- L'utilisateur lance la demande.
- Le serveur confirme immédiatement le démarrage de la tâche.
- L'utilisateur peut fermer la page ou naviguer ailleurs.
- Le serveur continue de traiter la tâche en arrière-plan.
- Le résultat est ensuite communiqué via un canal séparé, ici une notification.
Exemple : Imaginez que vous commandiez un plat dans un restaurant. Le serveur note votre commande (lancement du scan) et vous dit que c'est parti. Vous n'avez pas à rester assis à la table à attendre que le cuisinier finisse (traitement serveur). Vous pouvez aller faire autre chose. Quand le plat est prêt, on vous appelle ou vous le trouvez sur votre table (notification). C'est exactement le même principe : découpler le lancement de la tâche de la réception du résultat pour éviter le blocage technique.