/** * Utile pour trouver le projet en cours à la date du jour * */ function lireFichierProjet() { // Construction du chemin absolu du fichier $cheminAbsolu = dirname(__FILE__); $cheminAbsolu = str_replace("/archi", "", $cheminAbsolu); $cheminAbsolu = str_replace("\\archi", "", $cheminAbsolu); $nomFichier = $cheminAbsolu . "/parametres/projets.yml"; // Lecture du fichier yaml $array = Spyc::YAMLLoad($nomFichier); // Exploitation des données $projetManager = new ProjetManager(); // on commence par le noeud racine: le projet foreach ($array as $noeudRacine) { $projet = new Projet(); $projetManager->ajouteUnProjet($projet); // prise en compte des caractéristiques du projet $projet->titre = $noeudRacine["titre"]; $projet->dateDebut = $noeudRacine["dateDebut"]; $projet->dateEcheance = $noeudRacine["echeance"]; $projet->description = $noeudRacine["description"]; $projet->repertoire = $noeudRacine["repertoire"]; // Prise en compte de toutes les pages du projet $presentation = $noeudRacine["presentation"]; foreach ($presentation as $numPage => $detailPage) { // Création d'une page avec ses caractéristiques $page = new Page(); $page->image = isset($detailPage["image"]) ? $detailPage["image"] : null; $page->titre = isset($detailPage["titre"]) ? $detailPage["titre"] : null; $page->contact = isset($detailPage["contact"]) ? $detailPage["contact"] : null; $page->nouvelles = isset($detailPage["nouvelles"]) ? $detailPage["nouvelles"] : null; $page->avancement = isset($detailPage["avancement"]) ? $detailPage["avancement"] : null; $page->descriptif = isset($detailPage["descriptif"]) ? $detailPage["descriptif"] : null; $page->lien = isset($detailPage["lien"]) ? $detailPage["lien"] : null; // On pousse la page dans le tableau de page du projet array_push($projet->listePages, $page); } } return $projetManager; }