Voici le code php:
Code : Tout sélectionner
<?php
ini_set('memory_limit', '512M'); 
// Configuration
$username = '';
$password = '';
$region = '1'; 
$strikes_dir = 'https://' . $username . ':' . $password . 'urldusite' . $region . '/';
$end_time = time();
$time_span = 3600; // 1 heure
$local_strikes_file = 'local.json';
// Renouvellement du fichier de données local si nécessaire
If (!file_exists($local_strikes_file) || filemtime($local_strikes_file) < $end_time - 60) {
    touch($local_strikes_file);
    
    $l_time = $end_time - $time_span;
    $tmp_strikes = [];
    $run_time = $l_time;
    While ($run_time < $end_time + 600) {
        $filename = $strikes_dir . gmdate("Y/m/d/H/", $run_time) . ($run_time / 600 % 6) . '0.json';
        error_log("Tentative d'ouverture du fichier : $filename");
        If ($file = @fopen($filename, 'r')) {
            error_log("Fichier ouvert avec succès : $filename");
            While ($line = fgets($file)) {
                $json = json_decode($line);
                If ($json && isset($json->time)) {
                    $json->time /= 1000000000;
                    If ($json->time >= $l_time) {
                        // Supprimer les signatures si nécessaire
                        If (isset($json->sig)) {
                            unset($json->sig);
                        }
                        $tmp_strikes[] = $json;
                    }
                }
                unset($json)
            }
            fclose($file);
        } Else {
            error_log("Échec de l'ouverture du fichier : $filename");
        }
        $run_time += 600;
    }
    // Écrire les données dans local.json
    file_put_contents($local_strikes_file, json_encode($tmp_strikes, JSON_PRETTY_PRINT));
}
// Chargement des données
$strikes = [];
$data = file_get_contents($local_strikes_file);
If ($data !== false) {
    $strikes = json_decode($data);
    If ($strikes === null) {
        error_log("Erreur lors du décodage JSON : " . json_last_error_msg());
        $strikes = [];
    }
} Else {
    error_log("Erreur lors de la lecture du fichier local.json");
}
// Retourner les données au format JSON
header('Content-Type: application/json');
echo json_encode($strikes);
?>Voici la partie PB que j'ai réussi à faire pour le moment:
Code : Tout sélectionner
; Définition des constantes et des variables
Define username.s = "" ; Remplacez par votre nom d'utilisateur
Define password.s = "" ; Remplacez par votre mot de passe
Define region.s = "1"  ; Exemple de région
Define strikes_dir.s = "https://" + username + ":" + password + "URLduServeur" + region + "/"
Define end_time = Date()
Define time_span = 3600 ; 1 heure
Define local_strikes_file.s = "local.json"
Define l_time = end_time - time_span
Define run_time
; Boucle pour télécharger les fichiers JSON
run_time = l_time
 If run_time < end_time + 600
  ; Vérifie que run_time n'est pas 0 avant d'effectuer la division
  Define index = (run_time / 600) % 6 ; Utiliser un index basé sur run_time
  Define filename.s = strikes_dir + FormatDate("%yyyy/%mm/%dd/%hh/", run_time) + Str(index) + "0.json"
  
EndIf
 ReceiveHTTPFile(filename, "strikes.json")