Ma solution au final est bien en php et non en ajax (il n'y a vraiment pas besoin de côté client dans cette situation).
Voici le plan :
<?php
while (something is true){
//do stuff
flush(); // execute the stuff you did until now
sleep(300); // wait 5 min
// now check database and retrieve new data, if any, and insert into $result
if (isset($result)){
//do stuff with the $result
break; // get out of the loop
}
}
?>