Advertisement:

Schéma relationnel des tables SMF

Aloittaja shaitanfr, heinäkuu 02, 2009, 03:21:03 IP

« edellinen - seuraava »

shaitanfr

Bonjour à tous,

J'avoue n'avoir pas vraiment cherché ce dont j'ai besoin sur le forum, mais peut être l'un de vous pourra t'il me donner une réponse rapide.
Voila, actuellement nous développons sur mon forum un script extrêmement complexe et qui requiert des optimisations importantes. L'un des développeurs qui a pris en main ce projet souhaiterait disposer d'un Schéma relationnel de la base de donnée de SMF1.x que nous utilisons. Toute informations à ce niveau est bonne à prendre.

Avec mes remerciements anticipés

Dragmire

J'en avais cherché un il y a un temps mais sans trouver.

Ce que je recommande ce serait d'installer un SMF en local et d'utiliser une autre appli web ou logiciel qui peut recréer de l'UML par exemple à partir d'un export de la structure des tables de SMF.

GravuTrad

Je vais demander si ils en ont un.

Sinon avec ce tool tu peux peut être voir comme indiqué par dragmire:

http://sourceforge.net/projects/dbuml/
On a toujours besoin d'un plus petit que soi! (Petit!Petit!)


Think about Search function before posting.
Pensez à la fonction Recherche avant de poster.

GravuTrad

On a toujours besoin d'un plus petit que soi! (Petit!Petit!)


Think about Search function before posting.
Pensez à la fonction Recherche avant de poster.

shaitanfr

Bonjour et tout d'abord merci à vous deux. Je vais parler de cette solution d'UML avec dbuml au développeur en charge d'optimiser les scripts.

C'est compliqué à expliquer, je vais tenter d'être concis.

L'idée est de localiser sur notre site toute une base de donnée composées d'éléments se trouvants sur divers sites.
Notre site traite de Xbmc qui est un Media Center. Les gens indiquent leurs sources vidéos et lancent un scan afin de rapatrier dans leur base de donnée locale les résumés, critiques et diverses infos de chaque film, le casting, les jaquettes, Fanarts.

C'est là que nous intervenons. Le scan qu'ils effectuent lance un script qui lui va activer un script php sur notre serveur. Ce script va aller cherchez les informations sur plusieurs sites et les rappatrier dans la base de donnée de l'utilisateur puis dans la notre sur le site. La prochaine fois qu'une personne cherchera le même film, ce sera très rapide puisque le scraper trouvera toutes les informations du film directement sur notre site.

Les images sont postées par notre scraper dans notre galerie: http://passion-xbmc.org/mgallery/ et les autres informations sont en base de donnée.

Il y a pleins de problèmes, d'une part un robot fait des erreurs, ensuite il y a des soucis de timeout, de limitation cache Mysql, enfin bref pleins d'embuches.

Mais c'est en bonne voie quand même.



Dragmire

D'accord, mais là de la manière dont je vois ça (au passage l'idée m'a l'air très bonne, bien dans l'esprit web 2.0 donc bon courage!), je ne vois pas le rapport avec SMF...!!!

shaitanfr

La personne qui vient de prendre le projet au vol s'est mise au php dans la foulée mais est surtout quelqu'un qui travaille de façon professionnelle sur des bases de donnée et qui a besoin d'avoir une vue d'ensemble. C'est surtout SMG qu'il lui a fallu comprendre mais il y a tout un tas d'interaction à réaliser, par exemple nous allons développer des interfaces qui permettrons à des groupes de membres d'éditer la base de donnée. Nous allons utiliser ajaxcrud entre autres. http://www.ajaxcrud.com/
Nous avons aussi un scraper en ligne qui lui fait intervenir l'humain dans la création de la base de donnée, ce qui cause beaucoup moins d'erreurs lorsque plusieurs choix sont proposés par les sites consultés pour un titre donné et qui crée une base de donnée sous forme de Xmls.  Les deux projets sont d'ailleurs en train de fusionner.  Nfo-crator en ligne était une idée à part qui crée un zip contenant un nfo avec les images jointes que Xbmc sait utiliser pour alimenter sa base de donnée (si un nfo est présent avec des fanarts.jpg et jaquette.tbn à coté d'une vidéo du même nom, ils sont prioritaires lors d'un scan par Xbmc)

Il va aussi y avoir des éditeurs logiciels qui pourront aussi dans certaines versions s'interconnecter à la base de donnée. J'ai du mal à expliquer tout ça car même si je suis l'initiateur de beaucoup des projets dingues que nous avons réalisés les choses ont souvent tendances à m'échapper rapidement. :)

Vu que tu aimes bien ce genre de choses, ce schéma devrait te parler: http://passion-xbmc.org/scraper/workflow_scraper.txt

GravuTrad

ca d'accord, mais que va t'il rechercher sur smf?

les médias en bbcode? en pièces jointes? sur les mods dédiés ou sur tout le forum? qu'est ce qui est voulu?
On a toujours besoin d'un plus petit que soi! (Petit!Petit!)


Think about Search function before posting.
Pensez à la fonction Recherche avant de poster.

Dragmire

Il l'a dit, il va se servir de groupes de membres (donc de SMF je présume). Là forcément maintenant je vois le rapport! :)

GravuTrad

pour éditer la bdd? c'est vague et dangereux à la fois...
On a toujours besoin d'un plus petit que soi! (Petit!Petit!)


Think about Search function before posting.
Pensez à la fonction Recherche avant de poster.

shaitanfr

Pas si les choses sont bien faite, c'est le principe de nombreux sites comme themoviedb.org ou tout le monde peut contribuer pour constituer une grosse base de donnée. D'ailleurs quand les gens utilisent xbmc la base de donnée grossit et c'est sans risque.

Voila le code du scraper coté client:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<scraper name="speedallocinev2.fr" content="movies" thumb="allocine.jpg">
   <GetSettings dest="3">
      <RegExp input="$$5" output="&lt;settings&gt;\1&lt;/settings&gt;" dest="3">
         <expression noclean="1"></expression>
      </RegExp>
   </GetSettings>


   <CreateSearchUrl dest="3">
      <RegExp input="$$1" output="http://passion-xbmc.org/scraper/index.php?search=\1" dest="3">
         <expression></expression>
      </RegExp>
   </CreateSearchUrl>

   <GetSearchResults dest="2">
      <RegExp input="$$5" output="&lt;?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot; standalone=&quot;yes&quot;?&gt;&lt;results&gt;\1&lt;/results&gt;" dest="2">
         <RegExp input="$$1" output="\1" dest="5">
            <expression trim="1" noclean="1">(.*)</expression>
         </RegExp>
         <expression noclean="1"></expression>
      </RegExp>
   </GetSearchResults>

   <GetDetails clearbuffers="no" dest="3">
      <RegExp input="$$5" output="\1" dest="3">
         <RegExp input="$$1" output="\1" dest="5">
            <expression trim="1" noclean="1">(.*)</expression>
         </RegExp>
         <expression noclean="1"></expression>
      </RegExp>
   </GetDetails>


</scraper>

Dragmire

Ouais alors je sais pas ce que fait exactement ajaxcrud mais il y a un monde entre permettre à des utilisateurs d'entrer des infos/éditer/supprimer via une interface dévellopée pour ça et leur donner accès directement à la BDD. Il faudra surtout pas qu'ils puissent s'amuser avec toutes les tables, ni même avec tout les champs des tables concernées.
Enfin de toute façon, je ne connais pas les tech que vous employez (ajaxcrud et le scrapper avec son joli morceau de XML juste au-dessus), mais vous avez quand même l'air de savoir ce que vous faites, donc une fois encore, bonne continuation!

GravuTrad

donc en résumé vous auriez besoin d'un plan de la bdd pour pouvoir faire de l'édition perso par un autre tool correct?
On a toujours besoin d'un plus petit que soi! (Petit!Petit!)


Think about Search function before posting.
Pensez à la fonction Recherche avant de poster.

shaitanfr

Lainaus käyttäjältä: GravuTrad - heinäkuu 04, 2009, 10:27:35 AP
donc en résumé vous auriez besoin d'un plan de la bdd pour pouvoir faire de l'édition perso par un autre tool correct?

Oui et aussi avoir un maximum d'informations pour ces personnes qui développent des projets et qui ne connaissent pas SMF, justement, la personne qui a repris le projet vient de me dire ça ce matin:

LainaaJ'ai deja extrait le modele physique, mais j'en suis a deviner les liens entre les tables.


Lainaus käyttäjältä: Dragmire - heinäkuu 04, 2009, 08:31:47 AP
Ouais alors je sais pas ce que fait exactement ajaxcrud mais il y a un monde entre permettre à des utilisateurs d'entrer des infos/éditer/supprimer via une interface dévellopée pour ça et leur donner accès directement à la BDD. Il faudra surtout pas qu'ils puissent s'amuser avec toutes les tables, ni même avec tout les champs des tables concernées.
Enfin de toute façon, je ne connais pas les tech que vous employez (ajaxcrud et le scrapper avec son joli morceau de XML juste au-dessus), mais vous avez quand même l'air de savoir ce que vous faites, donc une fois encore, bonne continuation!

Non c'est de l'édition pure qui est prévue, pas de pouvoir ajouter des tables ou des champs.
Le premier développeur du projet lui avait prévu une interface complètement intégrée avec la gestion des groupes de membres et tout mais il est aux abonnés absent depuis plusieurs semaines, c'est quelqu'un qui est vraiment doué avec tous les langages et pour qui cela ne posait pas de problèmes. La personne qui a repris le truc actuellement et qui a proposé ajaxcrud est en train d'apprendre sur le tas.
Nous avons des dizaines de projets dans le genre, par exemple il est possible avec Xbmc d'utiliser notre galerie d'images HD en écran de veilles ou en Backdrops des différents écrans, nous sommes en train d'envisager un bridge avec Trac et SMF, de reprendre le Mod Zcommunity pour en faire un Wiki, d'utiliser le Mod Download comme dépot de l'un de nos plus gros projets .. Bref, le pauvre Webmaster que je suis supervise mille truc et n'a jamais le temps de terminer son site depuis un an. :)

GravuTrad

attention aux devs en herbe pour la sécu.

vous avez déja regardé ici?:

http://support.simplemachines.org/function_db/
On a toujours besoin d'un plus petit que soi! (Petit!Petit!)


Think about Search function before posting.
Pensez à la fonction Recherche avant de poster.

shaitanfr

Ah je n'avais jamais vu cette page, merci GravuTrad, cela sera sans doute fort utile.

Advertisement: