Bonjour à tous.

Cela faisait quelques temps que je n'avait sollicité votre aide !
J'espère que vous allez tous bien et que, malgré les vacances, vous pourrez m'apporter vos conseils.

Situation

Je possède un flux RSS généré par une société faisant de la veille.
Ce flux m'apporte les informations suivantes : TITRE, CHÂPO, LIEN DE L'ARTICLE

Ce dont j'ai besoin

Je souhaite pouvoir apporter des compléments d'information aux différents articles présents dans ce flux comme :
- Ajouter un second châpo personnalisé
- Ajouter une description
- Définir une image d'illustration spécifique
- etc.
Mais également apporter des modifications au flux existant comme :
- Changer des données présentes dans le châpo
- Optimiser le titre
- etc.

Ce que je souhaite faire

Je souhaite donc pouvoir intégrer les données de ce flux RSS dans une base de données mySQL à laquelle je pourrais me connecter pour y apporter les compléments/modifications nécessaires.

Il faudrait donc (si possible) que le flux RSS soit automatiquement ajouté à ma BDD dès que je le reçois.

A noter : une fois les flux RSS intégrés dans la BDD et les modifications/ajouts effectués, j'intégrerais ces données dans mon site Internet.

Questions

- Pouvez-vous m'aider à comprendre comment réaliser cette manipulation ?
- Pouvez-vous me donner des codes exemples et/ou des cours détaillés me permettant de mieux appréhender la chose ?
- Pouvez-vous m'apporter des conseils et/ou recommandations pour mener à bien ce projet ?

Je vous remercie pour aide précieuse et j'espère vous lire rapidement. Smiley confused
Bonjour à tous.

Finalement, j'ai trouvé une partie de la solution !

N'hésitez pas à apporter vos commentaires s'il y a quelque chose à modifier/optimiser dans ce code :

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Import XML -> mySQL</title>
</head>
<body>

<?php
$xmlDoc = new DOMDocument();

/* // Chargement d'un fichier XML distant */
$urlxml = "http://www.domaine.com/rss/fluxrss.xml";
$opts = array(
    'http' => array(
        'user_agent' => 'PHP libxml agent',
    )
);
$context = stream_context_create($opts);
libxml_set_streams_context($context);
$xmlDoc->load($urlxml);

$mysql_hostname = "localhost";
$mysql_user = "user";
$mysql_password = "password";
$mysql_database = "database";

$dbh = new PDO("mysql:dbname=$mysql_database;host=$mysql_hostname;port=3306", $mysql_user, $mysql_password, array( PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));

$xmlObject = $xmlDoc->getElementsByTagName('item');
$itemCount = $xmlObject->length;

print "<ul>\n";
for ($i=0; $i < $itemCount; $i++){
    $title = $xmlObject->item($i)->getElementsByTagName('title')->item(0)->childNodes->item(0)->nodeValue;
    $link = $xmlObject->item($i)->getElementsByTagName('link')->item(0)->childNodes->item(0)->nodeValue;
    $description = $xmlObject->item($i)->getElementsByTagName('description')->item(0)->childNodes->item(0)->nodeValue;
    $category = $xmlObject->item($i)->getElementsByTagName('category')->item(0)->childNodes->item(0)->nodeValue;
    $sql = $dbh->prepare("INSERT INTO table (title, link, description, category) VALUES (?, ?, ?, ?)");
    $sql->execute(array(
        $title,
        $link,
        $description,
        $category
    ));
    print "<li>Import terminé pour l'item : <em><b>$title</b></em></li>\n";
}
print "</ul>\n";
?>

</body>
</html>


Question

Avez-vous une idée pour me permettre de charger automatiquement les nouvelles données dans ma base mySQL dès que je reçoit un nouveau flux ? Un genre de "push" automatique Smiley sweatdrop !

Merci à tous.