let gravure = fun (adresse:string) ->
 let date = ref 0.
 and estampille = ref 0.
 and depart = Unix.gettimeofday ()
 and oc = open_out adresse
 and c = ref 0 in
  try
   while true do
    c := input_byte stdin ;
    date := Unix.gettimeofday () ;
    estampille := !date -. depart ;
    output_string oc ( "*\n" ^ ( string_of_float !estampille ) ^ "\n" ) ;
    output_string oc ( ( string_of_int !c ) ^ "\n" ) ;
    output_byte stdout !c ;
    flush_all () ;
   done ;
  with _ ->
   close_out_noerr oc