Example #1
0
/**
 * 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;
}