IPB

Bienvenue invité ( Connexion | Inscription )

> Télecharger une archive personelle contenant tous les fils de discussions auxquels le membre a participé
Options
Twisell
posté 26 May 2016, 09:18
Message #1


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 148
Inscrit : 5 Jan 2004
Lieu : Argentoratum
Membre no 13 063



Bonjour,

Depuis 2004 Macbidouille c'est un peu mon groupe de réflexion favori. Je réagis quasi exclusivement dans les news parfois c'est du partage, parfois de l’engueulade mais souvent c'est intéressant.
Et si dans l'idéal on aimerait que Macbidouille dure 10 000 ans les vicissitudes du monde réel viendront peut être un jour contrarier cette ambition.

J'aimerais donc poser ici la question de la mémoire personnelle numérique dans cette forme d'échange finalement assez récente que sont les forums.
Comment réaliser une sauvegarde locale de mes échanges épistolaires afin de conserver cette mémoire même si Macbidouille disparait un jour?

On dis souvent si je peux l'afficher c'est que je peut le télécharger. Et dans le cas qui nous occupe c'est sans doute particulièrement vrai. Mais comment?

Je vois deux approches possibles:

  1. Demander aux admins/dev des forums de co-écrire une requête SQL ad-hoc.
    • C'est peut être déjà prévu par la plateforme (je rêve sans doute)
    • La démarche pourrait être réutilisable pour d'autre utilisateurs en faisant la demande
    • Voir automatisable (possibilité de restreindre à l'utilisateur actif?)
    • Dans l'idéal le fichier de sortie convertirait le BBCode pour rendre le résultat plus lisible

  2. Utiliser un aspirateur de site basé sur du machine learning (type import.io)
    • Aucun besoin de l’assistance des admins
    • Nécessitera une approche en plusieurs étapes pour d'abord identifier les sujets cibles
    • Le résultat sera dur à standardiser et à réutiliser
    • Risque de surcharger le serveur si plusieurs personnes font cela avec des délais irréalistes entre les requêtes (une sécurité existe peut-être déjà?)
Voilà l'état de ma réflexion pour l'instant, qu'en pensez-vous?

Ce message a été modifié par Twisell - 26 May 2016, 09:19.


--------------------
Télecharger une archive personelle contenant tous les fils de discussions auxquels le membre a participé? (... ou pas malgré la RGPD)[/size]
Membre du club des AIPBP (Anciens Inscrits Pas Beaucoup de Posts) Voir la règle d'éligibilité[/size]
Go to the top of the page
 
+Quote Post
 
Start new topic
Réponse(s)
Twisell
posté 6 Jun 2016, 23:44
Message #2


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 148
Inscrit : 5 Jan 2004
Lieu : Argentoratum
Membre no 13 063



Point d'avancement:
-La version actuelle d'import.io ne permet pas un contrôle assez fin des informations collectées
-Je pourrais me baser sur la version desktop que j'ai sous le coude mais ce ne serait ni reproductible pour d'autres utilisateurs, ni pérenne, le logiciel n'étant plus distribué

Deux options semblent donc possibles:
-Écrire un parseur spécifique, pourquoi pas en utilisant Swift pour le fun: J'ai trouvé ce tutoriel dont les sources sont dispo sur Github et qui pourrait m'inspirer : https://grokswift.com/htmlanddownloads/

-Tenter une approche basée sur du SQL avec le soutien de l'équipe Macbidouille:
Je ne connait évidemment pas le schéma de la base IP.Board, mai si la structure ressemble plus ou moins à ça:
"threads" contient les sujets
"post" contient les posts
"users" contient le utilisateurs

Cette requête devrait marcher avec une table temporaire pour récupérer la liste des sujets, et une seconde requête pour récupérer tout les post

Code
CREATE TEMPORARY TABLE my_threads AS
SELECT distinct posts.threads_id,
FROM post JOIN users
ON post.user_id=users.id
WHERE users.name='Twisell’;

SELECT post.thread_id, threads.name, post.number, users.name, post.content
FROM post
LEFT JOIN my_threads
ON post.thread_id=my_threads.threads_id
LEFT JOIN users
ON post.user_id=users.id
LEFT JOIN threads
ON post.threads_id=threads.id;


Evidement il y aurait un minimum de recherche à faire pour trouver les bon noms de table et de champs.
Et concernant la rapidité de la requête il y a sans doute moyen d’améliorer les performances en l'écrivant en fonction des indexes.
Encapsuler des sous-requêtes pour forcer les jointures dans un certains ordre pourrait aussi aider, mais sans avoir la main dans le camboui c’est difficile de prévoir.

Ce message a été modifié par Twisell - 6 Jun 2016, 23:45.


--------------------
Télecharger une archive personelle contenant tous les fils de discussions auxquels le membre a participé? (... ou pas malgré la RGPD)[/size]
Membre du club des AIPBP (Anciens Inscrits Pas Beaucoup de Posts) Voir la règle d'éligibilité[/size]
Go to the top of the page
 
+Quote Post

Les messages de ce sujet


Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 18th June 2025 - 12:50