diff --git a/.gitattributes b/.gitattributes old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/SRC/DATA/Data.sql b/SRC/DATA/Data.sql old mode 100644 new mode 100755 diff --git a/SRC/DATA/Structure.sql b/SRC/DATA/Structure.sql old mode 100644 new mode 100755 index 9a77c44..ad443a8 --- a/SRC/DATA/Structure.sql +++ b/SRC/DATA/Structure.sql @@ -1,32 +1,8 @@ -- phpMyAdmin SQL Dump --- version 5.2.3-1.fc43 --- https://www.phpmyadmin.net/ --- --- Hôte : localhost --- Généré le : lun. 04 mai 2026 à 21:24 --- Version du serveur : 10.11.16-MariaDB --- Version de PHP : 8.4.20 - SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; START TRANSACTION; SET time_zone = "+00:00"; - -/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; -/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; -/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; -/*!40101 SET NAMES utf8mb4 */; - --- --- Base de données : `OpenPlanetsMaps` --- - --- -------------------------------------------------------- - --- --- Structure de la table `EARTH` --- - CREATE TABLE `EARTH` ( `id` int(11) NOT NULL, `date` date DEFAULT NULL, @@ -40,12 +16,6 @@ CREATE TABLE `EARTH` ( `planete_nom` varchar(20) DEFAULT 'Earth' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; --- -------------------------------------------------------- - --- --- Structure de la table `JUPITER` --- - CREATE TABLE `JUPITER` ( `id` int(11) NOT NULL, `date` date DEFAULT NULL, @@ -59,12 +29,6 @@ CREATE TABLE `JUPITER` ( `planete_nom` varchar(20) DEFAULT 'Jupiter' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; --- -------------------------------------------------------- - --- --- Structure de la table `MARS` --- - CREATE TABLE `MARS` ( `id` int(11) NOT NULL, `date` date DEFAULT NULL, @@ -78,12 +42,6 @@ CREATE TABLE `MARS` ( `planete_nom` varchar(20) DEFAULT 'Mars' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; --- -------------------------------------------------------- - --- --- Structure de la table `MERCURY` --- - CREATE TABLE `MERCURY` ( `id` int(11) NOT NULL, `date` date DEFAULT NULL, @@ -97,12 +55,6 @@ CREATE TABLE `MERCURY` ( `planete_nom` varchar(20) DEFAULT 'Mercury' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; --- -------------------------------------------------------- - --- --- Structure de la table `NEPTUNE` --- - CREATE TABLE `NEPTUNE` ( `id` int(11) NOT NULL, `date` date DEFAULT NULL, @@ -116,12 +68,6 @@ CREATE TABLE `NEPTUNE` ( `planete_nom` varchar(20) DEFAULT 'Neptune' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; --- -------------------------------------------------------- - --- --- Structure de la table `SATURN` --- - CREATE TABLE `SATURN` ( `id` int(11) NOT NULL, `date` date DEFAULT NULL, @@ -135,12 +81,6 @@ CREATE TABLE `SATURN` ( `planete_nom` varchar(20) DEFAULT 'Saturn' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; --- -------------------------------------------------------- - --- --- Structure de la table `URANUS` --- - CREATE TABLE `URANUS` ( `id` int(11) NOT NULL, `date` date DEFAULT NULL, @@ -154,12 +94,6 @@ CREATE TABLE `URANUS` ( `planete_nom` varchar(20) DEFAULT 'Uranus' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; --- -------------------------------------------------------- - --- --- Structure de la table `VENUS` --- - CREATE TABLE `VENUS` ( `id` int(11) NOT NULL, `date` date DEFAULT NULL, @@ -173,111 +107,89 @@ CREATE TABLE `VENUS` ( `planete_nom` varchar(20) DEFAULT 'Venus' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; --- --- Index pour les tables déchargées --- +CREATE TABLE `SUN` ( + `id` int(11) NOT NULL, + `date` date DEFAULT NULL, + `explanation` text DEFAULT NULL, + `hdurl` varchar(255) DEFAULT NULL, + `media_type` varchar(50) DEFAULT NULL, + `service_version` varchar(10) DEFAULT NULL, + `title` varchar(255) DEFAULT NULL, + `url` varchar(255) DEFAULT NULL, + `copyright` varchar(255) DEFAULT NULL, + `planete_nom` varchar(20) DEFAULT 'Sun' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +CREATE TABLE `MOON` ( + `id` int(11) NOT NULL, + `date` date DEFAULT NULL, + `explanation` text DEFAULT NULL, + `hdurl` varchar(255) DEFAULT NULL, + `media_type` varchar(50) DEFAULT NULL, + `service_version` varchar(10) DEFAULT NULL, + `title` varchar(255) DEFAULT NULL, + `url` varchar(255) DEFAULT NULL, + `copyright` varchar(255) DEFAULT NULL, + `planete_nom` varchar(20) DEFAULT 'Moon' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; --- --- Index pour la table `EARTH` --- ALTER TABLE `EARTH` ADD PRIMARY KEY (`id`); --- --- Index pour la table `JUPITER` --- ALTER TABLE `JUPITER` ADD PRIMARY KEY (`id`); --- --- Index pour la table `MARS` --- ALTER TABLE `MARS` ADD PRIMARY KEY (`id`); --- --- Index pour la table `MERCURY` --- ALTER TABLE `MERCURY` ADD PRIMARY KEY (`id`); --- --- Index pour la table `NEPTUNE` --- ALTER TABLE `NEPTUNE` ADD PRIMARY KEY (`id`); --- --- Index pour la table `SATURN` --- ALTER TABLE `SATURN` ADD PRIMARY KEY (`id`); --- --- Index pour la table `URANUS` --- ALTER TABLE `URANUS` ADD PRIMARY KEY (`id`); --- --- Index pour la table `VENUS` --- ALTER TABLE `VENUS` ADD PRIMARY KEY (`id`); --- --- AUTO_INCREMENT pour les tables déchargées --- +ALTER TABLE `SUN` + ADD PRIMARY KEY (`id`); + +ALTER TABLE `MOON` + ADD PRIMARY KEY (`id`); --- --- AUTO_INCREMENT pour la table `EARTH` --- ALTER TABLE `EARTH` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; --- --- AUTO_INCREMENT pour la table `JUPITER` --- ALTER TABLE `JUPITER` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; --- --- AUTO_INCREMENT pour la table `MARS` --- ALTER TABLE `MARS` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; --- --- AUTO_INCREMENT pour la table `MERCURY` --- ALTER TABLE `MERCURY` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; --- --- AUTO_INCREMENT pour la table `NEPTUNE` --- ALTER TABLE `NEPTUNE` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; --- --- AUTO_INCREMENT pour la table `SATURN` --- ALTER TABLE `SATURN` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; --- --- AUTO_INCREMENT pour la table `URANUS` --- ALTER TABLE `URANUS` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; --- --- AUTO_INCREMENT pour la table `VENUS` --- ALTER TABLE `VENUS` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; + +ALTER TABLE `SUN` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; + +ALTER TABLE `MOON` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; COMMIT; - -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; -/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; diff --git a/SRC/admin.php b/SRC/admin.php old mode 100644 new mode 100755 index 10807b8..ac811aa --- a/SRC/admin.php +++ b/SRC/admin.php @@ -43,7 +43,7 @@ if (isset($_SESSION['admin_logged_in']) && $_SESSION['admin_logged_in'] === true if (array_key_exists($planete, $tablesAutorisees)) { $nomTable = $tablesAutorisees[$planete]; - $stmt = $pdo->prepare("INSERT INTO $nomTable (nom, date, url, description) VALUES (?, ?, ?, ?)"); + $stmt = $pdo->prepare("INSERT INTO $nomTable (title, date, url, explanation) VALUES (?, ?, ?, ?)"); $stmt->execute([$nom, $date, $url, $description]); $message = "

Ligne ajoutée avec succès dans la table $nomTable !

"; diff --git a/SRC/api.php b/SRC/api.php old mode 100644 new mode 100755 index b70f9d4..15b47d1 --- a/SRC/api.php +++ b/SRC/api.php @@ -23,6 +23,54 @@ try { 'neptune' => 'NEPTUNE' ]; + if ($planetId === 'quizz') { + $queries = []; + $seed = date('Ymd'); + foreach ($tablesAutorisees as $key => $table) { + $queries[] = "(SELECT explanation, planete_nom FROM $table WHERE explanation IS NOT NULL AND explanation != '' ORDER BY RAND($seed) LIMIT 3)"; + } + $unionQuery = implode(' UNION ALL ', $queries); + + $stmt = $pdo->prepare("SELECT * FROM ($unionQuery) as all_data ORDER BY RAND($seed) LIMIT 10"); + $stmt->execute(); + $results = $stmt->fetchAll(PDO::FETCH_ASSOC); + + $questions = []; + $allPlanets = ['Mercury', 'Venus', 'Earth', 'Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune']; + + $traductions = [ + 'Mercury' => 'Mercure', 'Venus' => 'Vénus', 'Earth' => 'Terre', + 'Mars' => 'Mars', 'Jupiter' => 'Jupiter', 'Saturn' => 'Saturne', + 'Uranus' => 'Uranus', 'Neptune' => 'Neptune' + ]; + + foreach ($results as $row) { + $correctEn = $row['planete_nom']; + $correctFr = isset($traductions[$correctEn]) ? $traductions[$correctEn] : $correctEn; + + $optionsEn = [$correctEn]; + $others = array_diff($allPlanets, [$correctEn]); + shuffle($others); + $optionsEn = array_merge($optionsEn, array_slice($others, 0, 3)); + + $optionsFr = array_map(function($p) use ($traductions) { + return isset($traductions[$p]) ? $traductions[$p] : $p; + }, $optionsEn); + shuffle($optionsFr); + + $text = substr($row['explanation'], 0, 200) . '...'; + + $questions[] = [ + 'q' => "De quel astre parle cette description ? « " . $text . " »", + 'options' => $optionsFr, + 'a' => $correctFr + ]; + } + + echo json_encode($questions); + exit; + } + if (!array_key_exists($planetId, $tablesAutorisees)) { echo json_encode([]); exit; diff --git a/SRC/index.html b/SRC/index.html old mode 100644 new mode 100755 index ba243ae..d60d741 --- a/SRC/index.html +++ b/SRC/index.html @@ -18,6 +18,7 @@ @@ -249,6 +255,73 @@ + +
+ +
+ +
+
Le Soleil est l'étoile au centre de notre système solaire. Il représente à lui seul environ 99,8 % de la masse du système solaire et fournit l'énergie nécessaire au maintien de la vie sur Terre.
+
+
Type : Naine jaune  •  Température de surface : 5 500°C  •  Distance à la Terre : 150 millions de km (1 UA)  •  Âge : 4,6 milliards d'années
+
+
+ + + + + + + + + + + +
NomImageDate
En attente des données...
+
+
+ +
+ +
+ +
+
La Lune est l'unique satellite naturel de la Terre. Elle est le cinquième plus grand satellite du système solaire et le seul astre non terrestre à avoir été visité par des êtres humains.
+
+
Distance à la Terre : 384 400 km  •  Température : de -173°C à 127°C  •  Gravité : 1,62 m/s²  •  Durée de l'orbite : 27,3 jours
+
+
+ + + + + + + + + + + +
NomImageDate
En attente des données...
+
+
+ +
+
Testez vos connaissances sur le système solaire ! Répondez aux questions ci-dessous pour voir si vous êtes un véritable expert de l'espace.
+ +
+ ◈ DÉFI QUOTIDIEN +

Chaque jour à minuit, l'ordinateur de bord compile nos archives pour générer un nouveau Quizz unique de 10 questions. Entraînez-vous quotidiennement pour parfaire vos connaissances !

+
+ +
+

Chargement du Quizz...

+
+
+

+ +
+