Not too sure about this but ...
// Performed buffered so it goes out when internal buffering is full or flushed
printf("Fichier : %s\n",nomFichier);
...
// Performed unbuffered, so it goes out promptly
write(1,buf,nb);
To synchronism, fflush(stdout)
.
// Performed buffered so it goes out when internal buffering is full or flushed
printf("Fichier : %s\n",nomFichier);
fflush(stdout);
...
// Performed unbuffered, so it goes out promptly
write(1,buf,nb);
...
printf("\n");
fflush(stdout);
BTW: Recommend to not attempt to print a NULL.
if( nomFichier == NULL )
// printf("Erreur : %s\n",nomFichier);
printf("Erreur : (NULL)\n");