Application de gestion d’activités (GACTI)

HTML/CSS, PHP, SQL

Contexte

Page d’accueil

Conception


Cahier de charges

Base de données

Partie Encadrant


Selon le cahier de charges, l’encadrant est une personne qui propose, encadre, supervise une animation et
qui élabore le planning des activités.

Page d’accueil

Les animations


Une animation est un concept de temps de loisirs proposée par le village. Chaque village propose des animations liées à son environnement et elles ont toutes une description précise et sont classées par type.

Ajout d’une animation

Les activités


Une activité correspond à la session d’une animation. Une
activité est une animation proposée à une date précise. On peut
également utiliser le vocable de planning des activités.

Gestion des activités

Partie Vacanciers


Selon le cahier de charges, le vacancier est une personne qui est hébergée pour un séjour sur une période donnée et qui réside dans le village de vacances. Le vacancier bénéficie d’un profil de connexion. A chaque nouveau séjour, correspond un nouveau vacancier.

Page d’accueil

Inscription à une activité


Selon le cahier des charges,

L’utilisateur ne peut pas inscrire le vacancier à une activité dont la date ne correspond pas à ses dates de début et fin de séjour.

L’application vérifie la disponibilité des places, il s’agit du différentiel entre le nombre de places maximum et le nombre des inscrits.

Vérification des dates

Ici, le vacancier a un séjour du 11 mars au 21 mars.
Ici, l’activité se passe le 13 mars

Le vacancier peut donc s’inscrire à l’activité.

Voici une partie du code que j’ai dû faire

$_SESSION['code'] = $_GET['code'];
    $_SESSION['date'] = $_GET['date'];
    $_SESSION['date'] = date('Y-m-d',strtotime($_SESSION['date']));
    $_SESSION['message'] = "Il n'y a plus de place pour cette activité";
    
    $query = "SELECT NBREPLACEANIM-COUNT(*) AS PLACESDISPO FROM inscription 
    INNER JOIN animation 
    WHERE inscription.CODEANIM = animation.CODEANIM AND DATEACT = '$_SESSION[date]' AND 
    inscription.CODEANIM = '$_SESSION[code]'";
    $result = mysqli_query($con,$query);
    $placesDispo = mysqli_fetch_array($result);

    
    if($placesDispo['PLACESDISPO']=="0")
    {
        echo "<h2>Il n'y a malheureusement plus de places pour cette activité.</h2>";
        echo "<a href='activites.php?code=".$_SESSION['code']."&date=".$_SESSION['date']."&nom=".$_SESSION['nomAnim']."'><button>Choisir une autre date</button></a>";
        echo "<a href='choixanim.php'><button>Choisir une autre animation</button>";
    }
    
    else
    {
        header("location:validinscription.php");
    }

Si les dates sont valides, l’utilisateur est redirigé vers une page qui vérifie la disponibilité des places

Vérification de la disponibilité des places

$_SESSION['code'] = $_GET['code'];
    $_SESSION['date'] = $_GET['date'];
    $_SESSION['date'] = date('Y-m-d',strtotime($_SESSION['date']));
    $_SESSION['message'] = "Il n'y a plus de place pour cette activité";
    
    $query = "SELECT NBREPLACEANIM-COUNT(*) AS PLACESDISPO FROM inscription 
    INNER JOIN animation 
    WHERE inscription.CODEANIM = animation.CODEANIM AND DATEACT = '$_SESSION[date]' AND 
    inscription.CODEANIM = '$_SESSION[code]'";
    $result = mysqli_query($con,$query);
    $placesDispo = mysqli_fetch_array($result);

    
    if($placesDispo['PLACESDISPO']=="0")
    {
        echo "<h2>Il n'y a malheureusement plus de places pour cette activité.</h2>";
        echo "<a href='activites.php?code=".$_SESSION['code']."&date=".$_SESSION['date']."&nom=".$_SESSION['nomAnim']."'><button>Choisir une autre date</button></a>";
        echo "<a href='choixanim.php'><button>Choisir une autre animation</button>";
    }
    
    else
    {
        header("location:validDate.php");
    }
Ici, l’animation peut avoir que deux participants.
Ici, il y a déjà deux vacanciers d’inscrits dans la table inscription de la base de données.
Ici, on va essayer de s’inscrire à cette activité avec un autre compte.
Mais vu que les deux places ont été prises, un message d’erreur apparaît.

Désinscription à une activité

Selon le cahier des charges,

L’utilisateur saisit un numéro d’inscription et accède à une inscription au planning des activités.

L’utilisateur vérifie toutes les données de l’inscription.

L’utilisateur averti que l’activité est annulée.

Nous allons essayer de désinscrire Vac1 de son activité.