Génération de Bdd Aléatoire + vérification des requêtes et fonctions

master
Mehdi 5 years ago
parent aa386531b8
commit 3edf261a98

@ -3,19 +3,18 @@
<?php
session_start();
require_once('SqliteDb.php');
require_once('OracleDb.php');
header('Content-type: text/plain');
$db = new SqliteDb();
$conn = oci_connect('u_prems', '123456','localhost/orcl');
//$conn = oci_connect('u_prems', '123456','localhost/orcl');
$this->conn = oci_connect('meelaichao', 'meelaichao', 'kirov:1521/kirov');
$_SESSION['fi'] = array();
$cmpt = 0;
$numQuestion = 0;
foreach ($_POST['textbox'] as $textbox) {
$numQuestion++;
$ic = "$numQuestion";
@ -31,11 +30,14 @@ foreach ($_POST['textbox'] as $textbox) {
$verif =0;
//si la question attend un SELECT
if($typeRow['type'] == 'query'){
// <editor-fold desc="vérification avec la vraie BDD">
$sqliteQuery = $db->prepare('SELECT reponse FROM Correct WHERE rowid= ? ');
$sqliteQuery->bindParam(1, $numQuestion);
$result = $sqliteQuery->execute();
$sqliteRow = $result->fetchArray();
$vraiReponse = oci_parse($conn, $sqliteRow['reponse']);
$enAttente = oci_execute($vraiReponse);
@ -61,11 +63,67 @@ foreach ($_POST['textbox'] as $textbox) {
break;
}
}
// </editor-fold>
// <editor-fold desc="vérification avec bdd aléatoire">
$nv= $sqliteRow['reponse'];
$txt = $textbox;
if(strpos($sqliteRow['reponse'],"GAME")){
$nv = str_replace('GAME', ' randomgame ', $nv);
$txt = str_replace('GAME', 'randomgame', $txt);
}
if (strpos($sqliteRow['reponse'],"EQUIPE")){
$nv= str_replace('EQUIP', ' randomequipe ', $nv);
$txt = str_replace('EQUIPE', 'randomequipe', $txt);
}
if (strpos($sqliteRow['reponse'],"STATS")){
$nv= str_replace('STATS' , ' randomstats ', $nv);
$txt = str_replace('STATS', ' randomstats ', $txt);
}
if (strpos($sqliteRow['reponse'],"JOUEUR")) {
$nv = str_replace('JOUEUR', 'randomjoueur', $nv);
$txt = str_replace('JOUEUR', 'randomjoueur', $txt);
}
$UserQueryRandom = oci_parse($conn, $txt);
$reponseUser = oci_execute($UserQueryRandom);
$vraiReponseRandom = oci_parse($conn, $nv);
$enAttente = oci_execute($vraiReponseRandom);
if(oci_num_rows($UserQueryRandom) != oci_num_rows($vraiReponseRandom)){
$err=-3;
break;
}
$verif = 0;
while( ($oracleRowRandom = oci_fetch_array($UserQueryRandom, OCI_NUM)) && $err == 0 ){
$vraiReponseRowRandom = oci_fetch_array($vraiReponseRandom,OCI_NUM );
$verif = 1;
if(sizeof($oracleRowRandom) == sizeof($vraiReponseRowRandom)){
for($i=0 ; $i< sizeof($vraiReponseRowRandom) ; $i++){
if($oracleRowRandom[$i] != $vraiReponseRowRandom[$i]){
$err = -1;
break;
}
}
}
else {
$err = -2;
break;
}
}
// </editor-fold>
// <editor-fold desc="Résultat">
if($err == 0 && $verif==1){
echo "La réponse à la question " .$numQuestion. " est JUSTE ! \n";
$cmpt++;
}
else echo "La réponse à la question " .$numQuestion. " est FAUSSE ! \n";
//</editor-fold>
}
//si la question attend une modification
else if($typeRow['type'] == 'tablemodification'){
@ -137,6 +195,65 @@ foreach ($_POST['textbox'] as $textbox) {
break;
}
}
// <editor-fold desc="vérification avec bdd aléatoire">
$nv = $fonctionRow['fonctionCorrect'];
$txt = $textbox;
if(strpos($fonctionRow['fonctionCorrect'],"GAME")){
$nv = str_replace('GAME', ' randomgame ', $nv);
$txt = str_replace('GAME', 'randomgame', $txt);
}
if (strpos($fonctionRow['fonctionCorrect'],"EQUIPE")){
$nv= str_replace('EQUIP', ' randomequipe ', $nv);
$txt = str_replace('EQUIPE', 'randomequipe', $txt);
}
if (strpos($fonctionRow['fonctionCorrect'],"STATS")){
$nv= str_replace('STATS' , ' randomstats ', $nv);
$txt = str_replace('STATS', ' randomstats ', $txt);
}
if (strpos($fonctionRow['fonctionCorrect'],"JOUEUR")) {
$nv = str_replace('JOUEUR', 'randomjoueur', $nv);
$txt = str_replace('JOUEUR', 'randomjoueur', $txt);
}
$UserQueryRandom = oci_parse($conn, $txt);
$reponseUserRandom = oci_execute($UserQueryRandom);
//echo 'bbbb'.$txt;
$creationFonctionRandom = oci_parse($conn, $nv);
$creatFRandom = oci_execute($creationFonctionRandom);
// echo '154789'.$nv;
$testUserRandom = oci_parse($conn, $fonctionRow['testUser']);
$testuR = oci_execute($testUserRandom);
// echo 'aaa'.$fonctionRow['testUser'];
$testFR = oci_parse($conn, $fonctionRow['reponse']);
$testfR = oci_execute($testFR);
if(oci_num_rows($testUserRandom) != oci_num_rows($testFR)){
$err=-3;
}
$verif=0;
while( ($reponseRowRandom = oci_fetch_array($testUserRandom,OCI_NUM)) && $err == 0){
$vraiReponseRowRandom = oci_fetch_array($testFR,OCI_NUM );
$verif=1;
if(sizeof($reponseRowRandom) == sizeof($vraiReponseRowRandom)){
for($i=0 ; $i< sizeof($vraiReponseRowRandom)-1 ; $i++){
if($reponseRowRandom[$i] != $vraiReponseRowRandom[$i]){
$err = -1;
break;
}
}
}
else {
$err = -2;
break;
}
}
// </editor-fold>
if($err == 0 && $verif==1 ){
echo "La réponse à la question " .$numQuestion. " est JUSTE ! \n";
$cmpt++;

@ -0,0 +1,273 @@
<?php
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
* Description of OracleDb
*
* @author Mehdi
*/
class OracleDb {
private $conn;
function __construct() {
// $this->conn = oci_connect('u_prems', '123456', 'localhost/orcl');
$this->conn = oci_connect('meelaichao', 'meelaichao', 'kirov:1521/kirov');
$this->createRandomTables();
}
function createRandomTables() {
$this->createRandomStats();
$this->createRandomJoueur();
$this->createRandomEquipe();
$this->createRandomGame();
}
function createRandomStats(){
//Creation de la table
$drop = oci_parse($this->conn, 'DROP TABLE randomstats');
oci_execute($drop);
$q = oci_parse($this->conn, 'CREATE TABLE randomstats AS SELECT * FROM stats WHERE 1=0');
oci_execute($q);
//Insertion Stats
$tabStats = oci_parse($this->conn, 'SELECT * FROM stats');
oci_execute($tabStats);
$tabDate = array();
$tabType = array();
$tabEquipeJoueur = array();
$tabLocation = array();
$tabResultat = array();
$tabPrenom = array();
$tabStatus = array();
$tabMinutes = array();
$tabNaissance = array();
$tabPoints = array();
$tabPasses = array();
$tabBallesPerdues = array();
$tabInterceptions = array();
$tabContres = array();
$tabFautes = array();
$tabTirsPris = array();
$tabTirsMarques = array();
$tabTirsPourcent = array();
$tabTirs2Pris = array();
$tabTirs2Marques = array();
$tabTirs2Pourcent = array();
$tabTirs3Pris = array();
$tabTirs3Marques = array();
$tabTirs3Pourcent = array();
$tabLfPris = array();
$tabLfMarques = array();
$tabLfPourcent = array();
$tabRebondDef = array();
$tabRebondOff = array();
$tabRebondTotal = array();
$tabEquipeAdverse = array();
while ($statsArray = oci_fetch_array($tabStats, OCI_NUM)) {
$tabDate[] = $statsArray[0];
$tabType[] = $statsArray[1];
$tabEquipeJoueur[] = $statsArray[2];
$tabLocation[] = $statsArray[3];
$tabResultat[] = $statsArray[4];
$tabPrenom[] = $statsArray[5];
$tabStatus[] = $statsArray[6];
$tabMinutes[] = $statsArray[7];
$tabNaissance[] = $statsArray[8];
$tabPoints[] = $statsArray[9];
$tabPasses[] = $statsArray[10];
$tabBallesPerdues[] = $statsArray[11];
$tabInterceptions[] = $statsArray[12];
$tabContres[] = $statsArray[13];
$tabFautes[] = $statsArray[14];
$tabTirsPris[] = $statsArray[15];
$tabTirsMarques[] = $statsArray[16];
$tabTirsPourcent[] = $statsArray[17];
$tabTirs2Pris[] = $statsArray[18];
$tabTirs2Marques[] = $statsArray[19];
$tabTirs2Pourcent[] = $statsArray[20];
$tabTirs3Pris[] = $statsArray[21];
$tabTirs3Marques[] = $statsArray[22];
$tabTirs3Pourcent[] = $statsArray[23];
$tabLfPris[] = $statsArray[24];
$tabLfMarques[] = $statsArray[25];
$tabLfPourcent[] = $statsArray[26];
$tabRebondDef[] = $statsArray[27];
$tabRebondOff[] = $statsArray[28];
$tabRebondTotal[] = $statsArray[29];
$tabEquipeAdverse[] = $statsArray[30];
}
shuffle($tabDate);
shuffle($tabType);
shuffle($tabEquipeJoueur);
shuffle($tabLocation);
shuffle($tabResultat);
shuffle($tabPrenom);
shuffle($tabStatus);
shuffle($tabMinutes);
shuffle($tabNaissance);
shuffle($tabPoints);
shuffle($tabPasses);
shuffle($tabBallesPerdues);
shuffle($tabInterceptions);
shuffle($tabContres);
shuffle($tabFautes);
shuffle($tabTirsPris);
shuffle($tabTirsMarques);
shuffle($tabTirsPourcent);
shuffle($tabTirs2Pris);
shuffle($tabTirs2Marques);
shuffle($tabTirs2Pourcent);
shuffle($tabTirs3Pris);
shuffle($tabTirs3Marques);
shuffle($tabTirs3Pourcent);
shuffle($tabLfPris);
shuffle($tabLfMarques);
shuffle($tabLfPourcent);
shuffle($tabRebondDef);
shuffle($tabRebondOff);
shuffle($tabRebondTotal);
shuffle($tabEquipeAdverse);
for ($i = 0; $i < sizeof($tabDate); $i++) {
$insert = oci_parse($this->conn, 'INSERT INTO randomstats VALUES(\'' . $tabDate[$i] . ' \' , \''.$tabType[$i].'\' ,\'' . $tabEquipeJoueur[$i] . '\' , \'' . $tabLocation[$i] . '\' , \'' . $tabResultat[$i] . '\' , \'' . $tabPrenom[$i] . '\' , \'' . $tabStatus[$i] . '\' ,' . $tabMinutes[$i] . ' , \'' . $tabNaissance[$i] . ' \' ,'.$tabPoints[$i] . ' ,'.$tabPasses[$i] . ' ,'.$tabBallesPerdues[$i] . ' ,'.$tabInterceptions[$i] . ' ,'.$tabContres[$i] . ' ,'.$tabFautes[$i] . ' ,'.$tabTirsPris[$i] . ' ,'.$tabTirsMarques[$i] . ' ,'.$tabTirsPourcent[$i] . ' ,'.$tabTirs2Pris[$i] . ' ,'.$tabTirs2Marques[$i] . ' ,'.$tabTirs2Pourcent[$i] . ' ,'.$tabTirs3Pris[$i] . ' ,'.$tabTirs3Marques[$i] . ' ,'.$tabTirs3Pourcent[$i] . ' ,'.$tabLfPris[$i] . ' ,'.$tabLfMarques[$i] . ' ,'.$tabLfPourcent[$i] . ' ,'.$tabRebondDef[$i] . ' ,'.$tabRebondOff[$i] . ' ,'.$tabRebondTotal[$i] . ' , \'' . $tabEquipeAdverse[$i] . '\' ) ');
oci_execute($insert);
}
}
function createRandomJoueur(){
//Creation de la table
$drop = oci_parse($this->conn, 'DROP TABLE randomjoueur');
oci_execute($drop);
$q = oci_parse($this->conn, 'CREATE TABLE randomjoueur AS SELECT * FROM joueur WHERE 1=0');
oci_execute($q);
//Insertion Joueur
$tabJoueur = oci_parse($this->conn, 'SELECT * FROM joueur');
oci_execute($tabJoueur);
$tabPrenomnomj = array();
$tabAnneedebut = array();
$tabAnneefin = array();
$tabPoste = array();
$tabTaille = array();
$tabPoids = array();
$tabDateNaissanceJ = array();
while ($joueurArray = oci_fetch_array($tabJoueur, OCI_NUM)) {
$tabPrenomnomj[] = $joueurArray[0];
$tabAnneedebut[] = $joueurArray[1];
$tabAnneefin[] = $joueurArray[2];
$tabPoste[] = $joueurArray[3];
$tabTaille[] = $joueurArray[4];
$tabPoids[] = $joueurArray[5];
$tabDateNaissanceJ[] = $joueurArray[6];
}
shuffle($tabPrenomnomj);
shuffle($tabAnneedebut);
shuffle($tabAnneefin);
shuffle($tabPoste);
shuffle($tabTaille);
shuffle($tabPoids);
shuffle($tabDateNaissanceJ);
for ($i = 0; $i < sizeof($tabPrenomnomj); $i++) {
$insert = oci_parse($this->conn, 'INSERT INTO randomJoueur VALUES(\'' . $tabPrenomnomj[$i] . ' \' ,' . $tabAnneedebut[$i] . ' ,'.$tabAnneefin[$i] . ' , \'' . $tabPoste[$i] . '\', '.$tabTaille[$i] . ','.$tabPoids[$i] . ',\'' . $tabDateNaissanceJ[$i] . '\' ) ');
oci_execute($insert);
}
}
function createRandomEquipe(){
//Creation de la table
$drop = oci_parse($this->conn, 'DROP TABLE randomequipe');
oci_execute($drop);
$q = oci_parse($this->conn, 'CREATE TABLE randomequipe AS SELECT * FROM equipe WHERE 1=0');
oci_execute($q);
//Insertion Joueur
$tabEquipe = oci_parse($this->conn, 'SELECT * FROM equipe');
oci_execute($tabEquipe);
$tabId = array();
$tabVille = array();
$tabNom = array();
$tabConference = array();
while ($equipeArray = oci_fetch_array($tabEquipe, OCI_NUM)) {
$tabId[] = $equipeArray[0];
$tabVille[] = $equipeArray[1];
$tabNom[] = $equipeArray[2];
$tabConference[] = $equipeArray[3];
}
shuffle($tabId);
shuffle($tabVille);
shuffle($tabNom);
shuffle($tabConference);
for ($i = 0; $i < sizeof($tabId); $i++) {
$insert = oci_parse($this->conn, 'INSERT INTO randomequipe VALUES(\'' . $tabId[$i] . '\' ,\'' . $tabVille[$i] . '\', \'' . $tabNom[$i] . '\', \'' . $tabConference[$i] . '\' ) ');
oci_execute($insert);
}
}
function createRandomGame(){
//Creation de la table
$drop = oci_parse($this->conn, 'DROP TABLE randomgame');
oci_execute($drop);
$q = oci_parse($this->conn, 'CREATE TABLE randomgame AS SELECT * FROM game WHERE 1=0');
oci_execute($q);
//Insertion Joueur
$tabGame = oci_parse($this->conn, 'SELECT * FROM game');
oci_execute($tabGame);
$tabDate = array();
$tabHoraire = array();
$tabIdDomicile = array();
$tabIdExterieur = array();
$tabResultatDomicile = array();
$tabResultatExterieur = array();
$tabScoreDomicile = array();
$tabScoreExterieur = array();
while ($gameArray = oci_fetch_array($tabGame, OCI_NUM)) {
$tabDate[] = $gameArray[0];
$tabHoraire[] = $gameArray[1];
$tabIdDomicile[] = $gameArray[2];
$tabResultatDomicile[] = $gameArray[3];
$tabScoreDomicile[] = $gameArray[4];
$tabIdExterieur[] = $gameArray[5];
$tabResultatExterieur[] = $gameArray[6];
$tabScoreExterieur[] = $gameArray[7];
}
shuffle($tabDate);
shuffle($tabHoraire);
shuffle($tabIdDomicile);
shuffle($tabResultatDomicile);
shuffle($tabScoreDomicile);
shuffle($tabIdExterieur);
shuffle($tabResultatExterieur);
shuffle($tabScoreExterieur);
for ($i = 0; $i < sizeof($tabDate); $i++) {
$insert = oci_parse($this->conn, 'INSERT INTO randomgame VALUES(\'' . $tabDate[$i] . '\' ,' . $tabHoraire[$i] . ', \'' . $tabIdDomicile[$i] . '\', \''.$tabResultatDomicile[$i].'\', \''.$tabScoreDomicile[$i].'\', \''.$tabIdExterieur[$i].'\', \''.$tabResultatExterieur[$i].'\',' .$tabScoreExterieur[$i].' ) ');
oci_execute($insert);
}
}
public function getConn(){
return $conn;
}
}

@ -19,7 +19,7 @@ class SqliteDb extends SQLite3
$type = 'query';
$fonctionCorrect = null;
$testU = null;
$reponse = 'SELECT count(*) FROM stats WHERE prenomnoms=\'Kevin Durant\' ';
$reponse = 'SELECT count(*) FROM STATS WHERE prenomnoms=\'Kevin Durant\' ';
$q = "INSERT INTO Correct VALUES ('Trouver le nombre de matchs joués par Kevin Durant', ? ,?,?,?)";
$stmt = $this->prepare($q);
$stmt->bindParam(1,$reponse);
@ -32,7 +32,7 @@ class SqliteDb extends SQLite3
$type = 'query';
$fonctionCorrect = null;
$testU = null;
$reponse = ' SELECT prenomnoms,datematch,points,equipeadverse FROM stats WHERE points = (SELECT max(points) FROM stats)';
$reponse = ' SELECT prenomnoms,datematch,points,equipeadverse FROM STATS WHERE points = (SELECT max(points) FROM STATS)';
$q = "INSERT INTO Correct VALUES ('Lister le(s) joueur(s) ayant marqué le plus de points dans la saison en indiquant son nom, la date du match, le nombre de points, l équipe adverse et le nombre de points marqués ', ? ,?,?,?)";
$stmt = $this->prepare($q);
$stmt->bindParam(1,$reponse);
@ -45,7 +45,7 @@ class SqliteDb extends SQLite3
$type = 'query';
$fonctionCorrect = null;
$testU = null;
$reponse = ' SELECT prenomnoms, COUNT(*) FROM stats GROUP BY prenomnoms HAVING count(*) = (SELECT MAX(c) FROM (SELECT COUNT(*) AS c FROM stats GROUP BY prenomnoms))';
$reponse = ' SELECT prenomnoms, COUNT(*) FROM STATS GROUP BY prenomnoms HAVING count(*) = (SELECT MAX(c) FROM (SELECT COUNT(*) AS c FROM STATS GROUP BY prenomnoms))';
$q = "INSERT INTO Correct VALUES ('Lister le(s) joueur(s) ayant joué le plus de match pendant la saison', ? ,?,?,?)";
$stmt = $this->prepare($q);
$stmt->bindParam(1,$reponse);
@ -58,7 +58,7 @@ class SqliteDb extends SQLite3
$type = 'query';
$fonctionCorrect = null;
$testU = null;
$reponse = 'SELECT nom FROM Equipe, Stats WHERE datematch = \'30-OCT-17\' AND prenomnoms = \'Kevin Durant\' AND idequipe = CASE WHEN locationjoueur = \'Away\' THEN equipeadverse WHEN locationjoueur = \'Home\' THEN equipejoueur END ';
$reponse = 'SELECT nom FROM EQUIPE, STATS WHERE datematch = \'30-OCT-17\' AND prenomnoms = \'Kevin Durant\' AND idequipe = CASE WHEN locationjoueur = \'Away\' THEN equipeadverse WHEN locationjoueur = \'Home\' THEN equipejoueur END ';
$q = "INSERT INTO Correct VALUES ('Déterminer pour Kevin Durant pour le match du 30-oct-17 quelle est l équipe qui joue à domicile', ?,?,?,? )";
$stmt = $this->prepare($q);
$stmt->bindParam(1,$reponse);
@ -71,7 +71,7 @@ class SqliteDb extends SQLite3
//Question 6
$this->joueurEtDateRandom($joueurRandom, $dateRandom);
$type = 'fonction';
$fonctionCorrect = 'CREATE OR REPLACE FUNCTION fpointsmarques(date_match IN VARCHAR2, joueur IN VARCHAR2 ) RETURN NUMBER IS nbPoints NUMBER ; BEGIN SELECT points INTO nbPoints FROM stats WHERE datematch = date_match AND prenomnoms=joueur; RETURN nbPoints; END;' ;
$fonctionCorrect = 'CREATE OR REPLACE FUNCTION fpointsmarques(date_match IN VARCHAR2, joueur IN VARCHAR2 ) RETURN NUMBER IS nbPoints NUMBER ; BEGIN SELECT DISTINCT points INTO nbPoints FROM STATS WHERE datematch = date_match AND prenomnoms=joueur; RETURN nbPoints; END;' ;
$reponse = 'SELECT fpointsmarques(\''.$dateRandom.'\', \''.$joueurRandom.'\') FROM DUAL';
$testU = 'SELECT pointsmarques(\''.$dateRandom.'\', \''.$joueurRandom.'\') FROM DUAL' ;
$q = "INSERT INTO Correct VALUES ('Ecrire une fonction pointsmarques qui détermine pour une date de match et un joueur donnés quelle est le nombre de points marqués par ce joueur', ?,?,?,? )";
@ -111,7 +111,7 @@ class SqliteDb extends SQLite3
function joueurEtDateRandom(&$nomRandom, &$dateRandom){
$conn = oci_connect('u_prems', '123456','localhost/orcl');
$listeJoueurQuery = oci_parse($conn, 'SELECT prenomnoms,datematch FROM stats');
$listeJoueurQuery = oci_parse($conn, 'SELECT prenomnoms,datematch FROM STATS INTERSECT SELECT prenomnoms,datematch FROM randomstats ');
oci_execute($listeJoueurQuery);
$listeJoueurRows = oci_fetch_all($listeJoueurQuery, $listeJoueurArray);
//print_r($listeJoueurArray);
@ -120,5 +120,20 @@ class SqliteDb extends SQLite3
$dateRandom = $listeJoueurArray['DATEMATCH'][$rand_keys];
}
function joueurEtDateRandom2(&$nomRandom, &$dateRandom){
$conn = oci_connect('u_prems', '123456','localhost/orcl');
$listeJoueurQuery = oci_parse($conn, 'SELECT prenomnoms,datematch FROM STATS');
oci_execute($listeJoueurQuery);
$listeJoueurRows = oci_fetch_all($listeJoueurQuery, $listeJoueurArray);
//print_r($listeJoueurArray);
$rand_keys = array_rand($listeJoueurArray['PRENOMNOMS'], 1);
$nomRandom = $listeJoueurArray['PRENOMNOMS'][$rand_keys];
$dateRandom = $listeJoueurArray['DATEMATCH'][$rand_keys];
}
function createRandomTable(){
}
}

@ -18,6 +18,7 @@ and open the template in the editor.
require_once(__DIR__.'/config/Autoload.php');
Autoload::charger();
$oraDb = new OracleDb;
$cont = new Controleur();
//phpinfo();

@ -3,12 +3,9 @@
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
<group>
<file>file:/C:/xampp/htdocs/BddCorrect/index.php</file>
<file>file:/C:/xampp/htdocs/BddCorrect/controleur/Controleur.php</file>
<file>file:/C:/xampp/htdocs/BddCorrect/SqliteDb.php</file>
<file>file:/C:/xampp/htdocs/BddCorrect/modeles/Modele.php</file>
<file>file:/C:/xampp/htdocs/BddCorrect/vues/VuePrincipale.php</file>
<file>file:/C:/xampp/htdocs/BddCorrect/DAL/QuestionsGateway.php</file>
<file>file:/C:/xampp/htdocs/BddCorrect/OracleDb.php</file>
<file>file:/C:/xampp/htdocs/BddCorrect/Correcteur.php</file>
</group>
</open-files>

Binary file not shown.
Loading…
Cancel
Save