Skip to content

Du Nuage de Tag aux propriétés de classe d’objet

29 octobre 2008

Ce post pour aborder un sujet un peu moins généraliste que d’habitude : « L’injection de méta-concepts dans nos modèles de données ».

Cette technique permet de booster nos structures de mémorisation traditionnelles comme les bases de données relationnelles.

J’ai choisi les thèmes classiques du Web 2.0 comme fil rouge…. 1, 2, 3, Partez !

On connaît tous la structure de stockage de systèmes tel que Youtube, Flickr ou Scribd.

On doit d’abord créer un compte dans le système qui vous donne le droit d’y placer des ressources et de les partages avec d’autres.

Ensuite, vous pouver télécharger un fichier, cela constitue une ressource et vous pourrez la documenter en y plaçant des commentaires et surtout… des Tags.

Certains systèmes sont un peu plus évolué et permettent de mémoriser différents type de ressource.

Par exemple, Flickr permet, depuis peu de mémoriser des vidéos en plus des traditionnelles photos.

Pour un type de ressource, par exemple “photo”, les types de fichiers peuvent être au format .jpg ou .png ou .gif.

A ce stage, on pourrait placer des contraintes sur la taille minimum et la taille maximum pour chaque type de fichier que le système accepte. effectivement, il est ridicule d’accepter en téléchargement une vidéo de 3 bytes ou par exemple, on désire limiter la taille d’une image à 10’000’000 bytes pour une raison qui nous est propre.

Si vous désirer disposer d’un système qui valident la cohérence des données que les utilisateurs charge dans leurs serveurs, je vous suggère d’ajouter une contraite par la relation :

“Type de ressource” accepte “type de fichier”. En effet, il n’est pas vraiment intéressant de stocker un fichier “.pdf” pour une ressource de type “Vidéo”. Par contre, cela a tout son sens pour un type de ressource “document”

la taille min ou la taille max d’un fichier pourrait également dépendre du type de ressource pour un type de fichier donné.

Nota: pour la suite on laissera tomber cette contrainte dans notre modèle. je vous laisse trouver les bonnes cardinalités 😉

Pour certains type de ressources ont aimerais pouvoir placer des tag obligatoire…. des tags qui doivent toujours être renseigné correctement… afin de valoriser le système et de lui donner une certaine qualité.

donc, pour un type de ressource ont va énumérer des type de tag “obligatoire”. Pour une carte de géographie, on ne s’intéresse pas aux mêmes type de tag que pour un morceau de musique. Pour un on s’intéressera à Pays, échelle, région et pour un autre cela sera “Auteur, compositeur, genre, année de parution, etc.

De plus, j’aimerais rester souple et j’aimerais laisser la possibilité de placer des “Tags libre”. Je pourrais donner la possibilité à un compte de lister tous les tags libre qui le concerne…. qui ne sont pas identique à ceux d’un autre utilisateur.

Par contre, j’ai la possibilité de faire des nuages de tags pour toutes les ressources placées dans mon système et de recherche toutes les ressources qui ont un Tag donné.

Finalement… Ressource c’est pas terrible…

je veux prendre un terme plus générique…. plus à la mode…. Pourquoi pas objet.

Type de ressource… je vais appeler ça “Classe” pourquoi pas.

et type de tag, ça n’a plus de sens… je crois que “propriété” irait mieux… Tag deviendra une valeur de propriété pour un objet d’une classe.

Sur la propriété… je pourrais spécifier si elle doit obligatoirement contenir une valeur pour un objet donné ou non…. cool.

Ca ouvre des perspectives intéressante…

Je pourrais avoir des sous-classe de classe et des super-classe…. et pouvoir créer ainsi des hiérarchies d’objet. dans se cas, on parle de récursivité.

je pourrais créer des types de compte et placer des droits d’accès sur type type de classe différents. Les droits d’accès… ça peut être en lecture, en écriture, en création, etc. il est bien clair que si je n’ai pas l’accès en lecture, les objets de classe non autorisé n’apparaissent pas dans le résultat de recherche 😉

Idem pour les propriétés…. selon le type de compte…. on a le droit de modifier ou de consulter des propriétés ou d’autres…. On pourrait même imaginer de donner les droits de créer, de modifier des classes d’objets à un type de compte….. Les systèmes seraient fortement personnalisable… dynamique… agile comme disait l’autre…

Bon, j’en ai assez dit…. Développeur…. Développeuse… Créer du rêve, de l’espace, de l’horizon… avec un Web 2.0 qui déchire un max.

Au boulot !

Pour ceux qui aimerait relire ce post en PDF… voici les notes de conférence et voici la présentation.

Publicités
One Comment leave one →
  1. 29 octobre 2008 9:24

    J’ai rien compris mais ça à l’air vachement intéressant, c’est déjà ça…

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

  • Poetic mind of the web... Observe technology and Lifestyle.

    I love Love. I love Art.

    Look at this little place that helps you find a way made of computational things.
    Discover my digital side…
    What I Think, Read, Ear, View, Shoot.
    Catch your mouse,
    Touch your screen,
    Be in my Web and try to feel.

  • Follow me

  • Articles récents

  • RSS instapaper à lire

  • .
  • Coup d'oeil

  • Nuage de tags

  • Commentaires récents

    Max sur Newsstand 2.0 – My favorite RS…
    nick sur One week of digital fun with…
    Manage the videos of… sur Manage the videos of the iPhon…
    What do you mean abo… sur What do you mean about spontan…
    thinklikeipat sur Promenade de juin
  • Articles les plus consultés

  • Meilleurs clics

    • Aucun
  • RSS Flux inconnu

    • Erreur, le flux RSS est probablement en panne. Essayez plus tard.