Bonjour Rufo et merci pour ta réponse.
Pour le lock, il y a bien la fonction flock() en php mais qui, semble-t-il s'utilise avec fopen. Dans mon cas, la lecture du fichier ne se fera pas en php mais via la fonction parse de Jquery donc j'imagine que Jquery ou JS ne peut pas détecter ce lock.
Sinon, j'avais pensé à quelque chose. Juste avant de modifier le fichier JSON, je duplique le fichier. Dans le JS, si le fichier dupliqué existe, je le lis, sinon je lis le fichier JSON d'origine. Ainsi, pendant l'écriture du fichier, le script utilise l'autre fichier.
Du coup, je ralenti un peu l'affichage du graphique du fait de tester l'existence du fichier dupliqué à chaque fois mais j'évite un éventuel plantage.
Qu'est-ce qui est le mieux ?