diff --git a/Sources/config/config.php b/Sources/config/config.php index f28606cb..4d0a0f4d 100755 --- a/Sources/config/config.php +++ b/Sources/config/config.php @@ -12,10 +12,10 @@ $dotenv->safeLoad(); // const DB_PASSWORD = $_ENV['DB_PASSWORD'] ?? 'achanger'; define("APP_ENV", 'development'); -const DB_SERVER = 'mysql'; -const DB_HOST = 'localhost:3306'; -const DB_DATABASE = 'new'; -const DB_USER = 'root'; +const DB_SERVER = 'pgsql'; +const DB_HOST = 'localhost'; +const DB_DATABASE = 'sae_3'; +const DB_USER = 'Perederii'; const DB_PASSWORD = ''; //const APP_ENV = 'console'; diff --git a/Sources/src/app/controller/UserController.php b/Sources/src/app/controller/UserController.php index 6ce05f94..ca403f69 100644 --- a/Sources/src/app/controller/UserController.php +++ b/Sources/src/app/controller/UserController.php @@ -47,10 +47,26 @@ class UserController extends BaseController { $athleteGateway = new AthleteGateway(new Connexion(DSN, DB_USER, DB_PASSWORD)); $activity = $athleteGateway->getListActivity('1');//$currentUser->getId() +// Log::dd($activity); + $chart = []; foreach($activity as $act){ - $chart["act"] = $act["nbActivite"]; - $chart["mois"] = date('M', mktime(0, 0, 0, $act["mois"], 10)); + $chart[] = ['act' => $act['nbactivite'], 'mois' => date('m', $act['mois'])]; } + +// $activityGateway = new ActivityGateway(new Connexion(DSN, DB_USER, DB_PASSWORD)); +// $listSearch = $activityGateway->getActivity(); +// $map = new ActivityMapper(); +// $activityGateway = $map->activitySqlToEntity($listSearch); +// $listActivity = []; +// foreach ($activityGateway as $entity) { +// $activity = $map->activityEntityToModel($entity); +// $listActivity[] = ['idactivity' => number_format($activity->getIdActivity()), 'type' => $activity->getType(), +// 'date' => $activity->getDate()->format("D j F Y"), 'heureDebut' => $activity->getHeureDebut()->format("H\h i"), 'heureFin' => $activity->getHeureFin()->format("H\h i"), +// 'effortRessenti' => $activity->getEffortRessenti(), 'variabilite' => $activity->getVariability(), 'variance' => $activity->getVariance(), +// 'ecartType' => $activity->getStandardDeviation(), 'moyenne' => $activity->getAverage(), +// 'max' => $activity->getMaximum(), 'min' => $activity->getMinimum(), 'temperature' => $activity->getAvrTemperature()]; +// } +// Log::dd($chart); return $this->render('./page/home.html.twig',[ 'css' => $this->preference->getCookie(), 'pp' => "test2", diff --git a/Sources/src/app/views/Templates/page/home.html.twig b/Sources/src/app/views/Templates/page/home.html.twig index f75c376c..d626f45f 100755 --- a/Sources/src/app/views/Templates/page/home.html.twig +++ b/Sources/src/app/views/Templates/page/home.html.twig @@ -21,27 +21,55 @@ Stastiques globales +
- - - - + }); + +{# #}
diff --git a/Sources/src/data/core/database/AthleteGateway.php b/Sources/src/data/core/database/AthleteGateway.php index b73e9380..a6677c89 100644 --- a/Sources/src/data/core/database/AthleteGateway.php +++ b/Sources/src/data/core/database/AthleteGateway.php @@ -86,10 +86,15 @@ class AthleteGateway { return $this->connection->executeWithErrorHandling($query, $params); } - + public function getListActivity(int $idAthlete): array { - $query = "SELECT count(ac.idActivite) AS nbActivite, MONTH(ac.date) AS mois FROM Athlete at, Activite ac WHERE at.idAthlete = :idAthlete AND ac.date > DATE_SUB(date, INTERVAL 1 YEAR) AND ac.athleteId=at.idAthlete GROUP BY mois"; + $query = "SELECT count(ac.idActivite) AS nbActivite, EXTRACT(MONTH FROM ac.date) AS mois + FROM Athlete at, Activite ac + WHERE at.idAthlete = :idAthlete + AND ac.date > CURRENT_DATE - INTERVAL '1 YEAR' + AND ac.athleteId = at.idAthlete + GROUP BY mois"; $params = [ ':idAthlete' => $idAthlete, @@ -98,6 +103,7 @@ class AthleteGateway { return $this->connection->executeWithErrorHandling($query, $params); } + public function addAthlete(AthleteEntity $athlete): array { $query = "INSERT INTO Athlete (nom, prenom, email, sexe, taille, poids, motDePasse, dateNaissance, isCoach) diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..b143d20d --- /dev/null +++ b/package-lock.json @@ -0,0 +1,28 @@ +{ + "name": "Web", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "dependencies": { + "chart.js": "^4.4.1" + } + }, + "node_modules/@kurkle/color": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.2.tgz", + "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==" + }, + "node_modules/chart.js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.1.tgz", + "integrity": "sha512-C74QN1bxwV1v2PEujhmKjOZ7iUM4w6BWs23Md/6aOZZSlwMzeCIDGuZay++rBgChYru7/+QFeoQW0fQoP534Dg==", + "dependencies": { + "@kurkle/color": "^0.3.0" + }, + "engines": { + "pnpm": ">=7" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..3df43b72 --- /dev/null +++ b/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "chart.js": "^4.4.1" + } +}