Présentation
La gestion personnelle des données a pris un nouveau virage
grâce à la popularisation de systèmes basés non
plus sur une catégorisation fixe, mais effectuée par l'utilisateur lui-même. Face aux
contraintes des systèmes de guide, les internautes font plutôt confiance
aux résultats proposés par les moteurs de recherche.
L'étape suivante ? La possibilité
pour l'internaute de classer les données au moyen de mots-clefs qu'il a lui-même
choisis, et d'agréger ceux de centaines d'autres internautes.
Les services en ligne de ce type font florès : GMail
pour trier ses messages, Flickr
pour classer ses photos, del.icio.us
et le français BlogMarks
pour cataloguer ses liens
Englobant tout cela, le moteur
de recherche dédié aux blogs Technorati
permet de lancer des recherches sur tous les services publics,
sur un ou plusieurs mots-clefs. Si l'on ajoute à cela la mise
à disposition, pour les développeurs, d'APIs complètes permettant
de tirer des résultats en XML des bases de données de ces
sites, et même de s'abonner via RSS aux nouveautés par service
pour un mot-clef, le Web actuel devient réellement dynamique
et proche de l'internaute.
Avant
de se pencher sur quelques API proposées, nous allons étudier
le système en créant un clone simple (mono-utilisateur) du
service del.icio.us. Par la suite, nous
relierons notre système à l'API del.icio.us pour faire une
sauvegarde du contenu.
Mise en place
Notre système tourne autour d'une seule table (eut-il été
multi-utilisateur, il aurait fallu prévoir une table pour
les utilisateurs, une table pour les liens, et une table pour
créer la liaison entre utilisateur et lien). Celle-ci se construit
comme suit dans MySQL
CREATE TABLE `delicieux` (
`id` INT NOT NULL AUTO_INCREMENT ,
`url` VARCHAR( 255 ) NOT NULL ,
`titre` VARCHAR( 255 ) NOT NULL ,
`description` TEXT,
`mots` VARCHAR( 255 ) NOT NULL ,
`datation` DATETIME NOT NULL ,
PRIMARY KEY ( `id` ) ,
INDEX ( `mots` )
);
Comme pour le système original, tous les champs sont obligatoires,
sauf le descriptif. On remarquera que les mots-clefs sont
simplement enregistrés sous forme de chaîne dans la table,
pour chaque URL. C'est PHP qui se chargera ensuite de les
dissocier et de les afficher correctement. Les mots-clefs
doivent être entrés séparés par un espace (pas de virgule).
La connexion MySQL est triviale :
$conn = mysql_connect("localhost", "root",
"")
or die("Impossible de se connecter");
$db = mysql_select_db("test", $conn)
or die(mysql_error());
$table = "delicieux";
|
Forum |
|
Réagissez
dans les forums
de JDN Développeurs
|
Trois possibilités sont à prendre en compte pour le déroulement
du programme : l'affichage de tous les liens, l'affichage
des liens attachés à un mot-clef (un seul pour le moment),
et l'enregistrement d'un nouveau lien. Nous ne prévoyons pas
pour le moment de pouvoir modifier la fiche d'une URL, mais
cela est assez trivial à partir du moment où l'on sait créer
une fiche.
Voici d'ailleurs notre formulaire de création de fiche
:
que nous avons placé dans une fonction afficherFormulaire()
:
function afficherFormulaire() {
?>
// code HTML du formulaire ci-dessus
<?php
}
|