parser fonctionnel côté serveur

feature/merging_branch
maxime.point2 1 year ago
parent 06c440591e
commit d1d3bb829f

@ -10,15 +10,9 @@ use metier\Flux;
use model\AdminModel; use model\AdminModel;
use model\ArticleModel; use model\ArticleModel;
use model\FluxModel; use model\FluxModel;
use model\Parser;
class AdminControleur class AdminControleur
{ {
/*public function __construct()
{
$this->init();
}*/
public function init(){ public function init(){
global $twig; // nécessaire pour utiliser variables globales global $twig; // nécessaire pour utiliser variables globales
//debut //debut
@ -148,13 +142,8 @@ class AdminControleur
public function ajoutFlux(){ public function ajoutFlux(){
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['fluxAdd'])){ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['fluxAdd'])){
$con = new Connection('mysql:host=londres.uca.local;dbname=dbrorossetto','rorossetto','tpphp');
$gwArticle = new ArticleGateway($con);
$gwFlux = new FluxGateway($con);
$parser = new Parser($gwFlux,$gwArticle);
$fluxModel = new FluxModel(); $fluxModel = new FluxModel();
$fluxModel->addFluxBySrc($_POST['fluxAdd']); $fluxModel->addFluxBySrc($_POST['fluxAdd']);
$parser->addAllArticles();
$_REQUEST['action'] = 'listFlux'; $_REQUEST['action'] = 'listFlux';
unset($_POST['fluxAdd']); unset($_POST['fluxAdd']);
$this->init(); $this->init();

@ -10,6 +10,7 @@ use DOMDocument;
use Exception; use Exception;
use metier\Article; use metier\Article;
use metier\Flux; use metier\Flux;
use Twig\Error\Error;
class Parser class Parser
{ {
@ -24,7 +25,9 @@ class Parser
{ {
$dom = new DOMDocument(); $dom = new DOMDocument();
$tabArticle = array(); $tabArticle = array();
try {
if ($dom->load($flux->getFlux())) { if ($dom->load($flux->getFlux())) {
var_dump($flux);
$items = $dom->getElementsByTagName('item'); $items = $dom->getElementsByTagName('item');
foreach ($items as $item) { foreach ($items as $item) {
$title = $item->getElementsByTagName('title')[0]->nodeValue; $title = $item->getElementsByTagName('title')[0]->nodeValue;
@ -55,6 +58,13 @@ class Parser
// En cas d'erreur lors du chargement du flux RSS, lever une exception // En cas d'erreur lors du chargement du flux RSS, lever une exception
throw new Exception("Erreur lors du chargement du flux RSS"); throw new Exception("Erreur lors du chargement du flux RSS");
} }
}catch (Error $e){
echo $e->getMessage();
return $tabArticle;
}catch (Exception $e2){
echo $e2->getMessage();
return $tabArticle;
}
} }

@ -0,0 +1,34 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="refresh" content="5">
<title>Server</title>
<script src="https://code.jquery.com/jquery-3.6.4.min.js"></script>
</head>
<body>
<div id="testContent">
</div>
<script>
// Fonction pour charger dynamiquement le contenu de test.php
function loadTestContent() {
$.ajax({
url: 'test.php', // Chemin vers test.php
type: 'GET',
success: function(response) {
$('#testContent').html(response); // Mettre à jour le contenu
},
error: function() {
console.error('Erreur lors du chargement de test.php');
}
});
}
// Appeler la fonction pour charger le contenu au chargement initial
loadTestContent();
// Actualiser la page toutes les 5 secondes
setInterval(loadTestContent, 5000);
</script>
</body>
</html>

@ -10,6 +10,5 @@ require '../../vendor/autoload.php';
$gwArt = new ArticleGateway(new Connection('mysql:host=londres.uca.local;dbname=dbrorossetto', 'rorossetto', 'tpphp')); $gwArt = new ArticleGateway(new Connection('mysql:host=londres.uca.local;dbname=dbrorossetto', 'rorossetto', 'tpphp'));
$gwFl = new FluxGateway(new Connection('mysql:host=londres.uca.local;dbname=dbrorossetto', 'rorossetto', 'tpphp')); $gwFl = new FluxGateway(new Connection('mysql:host=londres.uca.local;dbname=dbrorossetto', 'rorossetto', 'tpphp'));
$pars = new Parser( $gwFl,$gwArt); $pars = new Parser( $gwFl,$gwArt);
$pars->addAllArticles();; $pars->addAllArticles();
var_dump($pars); var_dump($pars);
Loading…
Cancel
Save