Go Down

Topic: [Projet/Idée] Rendre le forum plus agréable pour tout le monde (Read 12876 times) previous topic - next topic

zoroastre

Yep!

En inspectant un peu la charge du site, on se rend vite compte qu'il y a largement moyen d'optimiser tout çà : trop de scripts éparses, règles css inutiles pour certaine partie du forum (au moins 80%), les scripts js externes sont appelés avant les feuilles de style, cache pas trés bien géré surtout du point de vue expiration, chargement parallèle des images à travers plusieurs répertoires, certaines images n'ont même pas de dimension, etc.

Bref.

@+

Zoroastre.
Gné! ;)

Jean-François


Yep!

En inspectant un peu la charge du site, on se rend vite compte qu'il y a largement moyen d'optimiser tout çà : trop de scripts éparses, règles css inutiles pour certaine partie du forum (au moins 80%), les scripts js externes sont appelés avant les feuilles de style, cache pas trés bien géré surtout du point de vue expiration, chargement parallèle des images à travers plusieurs répertoires, certaines images n'ont même pas de dimension, etc.

Bref.

@+

Zoroastre.


On est foutu.....  :smiley-mr-green:
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

skywodd

Moi de mon coté je continu de faire mon script pour dump les topic.

La partie récup d'une page web selon son numéro de page est ok.
Par contre je vais revoir la partie traitement des données, ma version à grand coup de regex est mégaaa leeenttte ... 12 secondes pour parser 1 topic ... ya 20 topic par page ... et 78 pages ...

Donc en résumé regex -> beautiful Soup
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

infobarquee

bonjour,
petite idée comme ca, pourquoi ne pas utiliser un flux RSS et parser le résultat?
ca alllègerait la charge de traitement.

parce que chercher avec regex, c'est bien, mais vu le nombre de pages, pfffff, à moins de faire une première passe qui va prendre vraiment du temps, puis chaque jour faire une comparaison en bash par exemple pour voir s'il y a des changements.
si changement, alors on approfondit les niveaux de posts concernés, sinon ca continue.
on utilise ca sur le forum ou je suis admin pour vérifier des maj sur un site tiers d'assistance pour ressortir les nouveaux messages.

skywodd


petite idée comme ca, pourquoi ne pas utiliser un flux RSS et parser le résultat?
ca alllègerait la charge de traitement.

Tout simplement parce qu'il n'y a pas de flux RSS spécifique à un topic/forum, le seul flux disponible c'est celui global à tout arduino.cc


parce que chercher avec regex, c'est bien, mais vu le nombre de pages, pfffff, à moins de faire une première passe qui va prendre vraiment du temps, puis chaque

Mon systéme n'est plus basé sur des regex mais sur un parseur xml-html (BeautifulSoup4).
Parser une page demande moins de 2sec, par contre récupérer la page depuis arduino.cc demande ~7-8sec :smiley-roll:


jour faire une comparaison en bash par exemple pour voir s'il y a des changements.
si changement, alors on approfondit les niveaux de posts concernés, sinon ca continue.
on utilise ca sur le forum ou je suis admin pour vérifier des maj sur un site tiers d'assistance pour ressortir les nouveaux messages.

C'est ce que je suis en train de faire, un gros checkout de toute les page, puis une mise à jour partielle par la suite.
Par contre on va avoir de gros problémes avec les suppression de topic et les edit de message :/
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

skywodd

Bon voila un premier apercu de ce que génère actuellement mon script sur la page 1 du forum :

Une liste des topics :
Code: [Select]
DROP TABLE topic PURGE;

CREATE TABLE topic(
topicId INT(10) CONSTRAINT topic_pk PRIMARY KEY,
title VARCHAR(255) NOT NULL,
sticky CHAR(1) DEFAULT 'N' CONSTRAINT sticky_ck CHECK(sticky IN('Y', 'N')),
locked CHAR(1) DEFAULT 'N' CONSTRAINT locked_ck CHECK(locked IN('Y', 'N')),
nbPages INT(10) DEFAULT 1,
authorId INT(10) CONSTRAINT topicAuthor_ref REFERENCES member(memberId),
nbReplies INT(10),
nbViews INT(10),
lpId INT(10),
lpDate DATE,
lpAuthor INT(10) CONSTRAINT lpAuthor_ref REFERENCES member(memberId)
);

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('94992', '[Projet/Idée] Rendre le forum plus agréable pour tout le monde', 'Y', 'N', '2', '3813', '18', '79', '714382', '55046', '5/3/2012 04:09:47');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('94783', 'Rédaction d\'une Charte (réglement) du forum', 'Y', 'N', '1', '3813', '7', '117', '713460', '50392', '04/03/2012 10:25:13');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('88176', '[Phase 3 : mise en forme] Des catégories pour le forum', 'Y', 'N', '4', '23095', '49', '807', '710916', '50392', '02/03/2012 07:37:03');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('92160', 'Atelier Arduino Morbihan (Vannes, Lorient)', 'Y', 'N', '1', '59226', '5', '248', '709723', '59226', '01/03/2012 06:44:23');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('81512', 'Le Guide Arduino', 'Y', 'Y', '1', '3813', '0', '1757', '0', '3813', '04/12/2011 08:07:44');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('81511', 'Pas de lien Ebay dans les messages SVP', 'Y', 'Y', '1', '3813', '0', '776', '0', '3813', '04/12/2011 08:06:31');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('80422', 'Aidez nous ! Projet - Gestion domotique', 'N', 'N', '17', '58439', '247', '5187', '714398', '67935', '5/3/2012 04:36:34');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('95105', 'Question sur l\'Atmega + la ram ?', 'N', 'N', '1', '37767', '4', '25', '714396', '34399', '5/3/2012 04:33:23');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('95117', 'Indicateur de charge de batterie + anti-buée via résistances chauffantes (astro)', 'N', 'N', '1', '67992', '0', '4', '0', '67992', '5/3/2012 04:29:17');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('95065', 'Problème d\'horloge interne???', 'N', 'N', '1', '54768', '3', '33', '714393', '54768', '5/3/2012 04:29:12');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('94867', 'Attiny85 - pb timer & I2c slave', 'N', 'N', '1', '34399', '6', '107', '714392', '34399', '5/3/2012 04:28:00');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('94777', 'Autoguidage astronomique', 'N', 'N', '4', '67992', '58', '287', '714388', '67992', '5/3/2012 04:22:53');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('93856', 'projet couveuse ventilée', 'N', 'N', '3', '55046', '31', '265', '714387', '55046', '5/3/2012 04:22:34');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('94981', 'Comment lire 2 valeurs par Xbee sur Arduino ?', 'N', 'N', '1', '68122', '9', '43', '714384', '68122', '5/3/2012 04:13:26');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('95046', '[résolu] [c++] tableau de constantes dans class', 'N', 'N', '1', '4667', '8', '55', '714369', '4667', '5/3/2012 03:43:22');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('94966', '[aide] OSC + VirtualWire = conflit ?', 'N', 'N', '1', '8192', '1', '24', '714354', '8192', '5/3/2012 03:09:10');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('94894', 'Keypad sur ecran LCD série (web4robot.com)', 'N', 'N', '1', '67798', '2', '38', '714022', '67798', '04/03/2012 17:09:22');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('91010', '[help] Soulager Arduino Page Web', 'N', 'N', '3', '56754', '37', '612', '714002', '36713', '04/03/2012 16:56:11');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('95003', '[résolu] linux: script pour ouvrir un fichier.pde avec arduino', 'N', 'N', '1', '55600', '4', '40', '714000', '55600', '04/03/2012 16:55:47');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('89413', '[Projet] Montage de mesure de stabilité', 'N', 'N', '19', '3813', '270', '1819', '713988', '3813', '04/03/2012 16:48:00');


Et une liste de membres répertoriés lors du scan :
Code: [Select]
DROP TABLE member PURGE;

CREATE TABLE member(
memberId INT(10) CONSTRAINT member_pk PRIMARY KEY,
name VARCHAR(255) NOT NULL,
);

INSERT INTO member(memberId, name)
VALUES('3813', 'Jean-François');

INSERT INTO member(memberId, name)
VALUES('55046', 'infobarquee');

INSERT INTO member(memberId, name)
VALUES('50392', 'osaka');

INSERT INTO member(memberId, name)
VALUES('23095', 'zoroastre');

INSERT INTO member(memberId, name)
VALUES('59226', 'tytouf');

INSERT INTO member(memberId, name)
VALUES('58439', 'Skuzmitoo');

INSERT INTO member(memberId, name)
VALUES('67935', 'jplaville');

INSERT INTO member(memberId, name)
VALUES('37767', 'Tealcoune');

INSERT INTO member(memberId, name)
VALUES('34399', 'skywodd');

INSERT INTO member(memberId, name)
VALUES('67992', 'yonafunu');

INSERT INTO member(memberId, name)
VALUES('54768', 'electricircus');

INSERT INTO member(memberId, name)
VALUES('68122', 'Striker');

INSERT INTO member(memberId, name)
VALUES('4667', 'churchill');

INSERT INTO member(memberId, name)
VALUES('8192', 'Vortof');

INSERT INTO member(memberId, name)
VALUES('67798', 'mnssylvain');

INSERT INTO member(memberId, name)
VALUES('56754', 'trigger');

INSERT INTO member(memberId, name)
VALUES('36713', 'Brisebee');

INSERT INTO member(memberId, name)
VALUES('55600', 'youplop');


Voila voila !
J-F t'en pense quoi ?
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

infobarquee

#21
Mar 05, 2012, 11:00 am Last Edit: Mar 05, 2012, 11:03 am by infobarquee Reason: 1
beau boulot, j'aurais rajouté un champs TAG default 0  par exemple afin de tagger les topics suivant 3 niveaux
0->pas de modif
1->new reply
2->introuvable donc supprimé

par contre pour les EDIT, là pas trop de solution vu que ca ne remonte pas le topic lors d'un EDIT.
à moins de parser le mot EDIT dans les topics, ce qui demande plus de temps ou une autre passe du parser.

EDIT : une petite chose pour les Résolu
afin de ne pas mettre en vrac le référencement ou le parser, on a sur notre forum l'habitude de mettre [Résolu] en fin de titre.
pour les topics sans réponse, on les place dans une rubrique "Echec", ceci afin de ne pas les supprimer.

skywodd


beau boulot, j'aurais rajouté un champs TAG default 0  par exemple afin de tagger les topics suivant 3 niveaux
0->pas de modif
1->new reply
2->introuvable donc supprimé

J'avais pensé à un truc dans le genre ... je vais ajouter ça dans le create table.
Pour le moment il parse sans vraiment réfléchir, il faut que j'ajoute un algo pour la màj partielle.
Pour les news reply je dois pouvoir me baser sur le petit icône "new" à coté des titre des topics.
Pour les topics supprimé ou les post édité je vois vraiment pas de solution ...


par contre pour les EDIT, là pas trop de solution vu que ca ne remonte pas le topic lors d'un EDIT.
à moins de parser le mot EDIT dans les topics, ce qui demande plus de temps ou une autre passe du parser.

Parser les edit équivaut à refaire l'intégralité de la bdd :/
Faudrait pouvoir avoir un mail ou un truc dans le genre avertissant d'un edit, comme c'est le cas pour un topic supprimer/ajouter.
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

Jean-François

#23
Mar 05, 2012, 11:01 pm Last Edit: Mar 05, 2012, 11:03 pm by Jean-François Reason: 1

Bon voila un premier apercu de ce que génère actuellement mon script sur la page 1 du forum :

Une liste des topics :
Code: [Select]
DROP TABLE topic PURGE;

CREATE TABLE topic(
topicId INT(10) CONSTRAINT topic_pk PRIMARY KEY,
title VARCHAR(255) NOT NULL,
sticky CHAR(1) DEFAULT 'N' CONSTRAINT sticky_ck CHECK(sticky IN('Y', 'N')),
locked CHAR(1) DEFAULT 'N' CONSTRAINT locked_ck CHECK(locked IN('Y', 'N')),
nbPages INT(10) DEFAULT 1,
authorId INT(10) CONSTRAINT topicAuthor_ref REFERENCES member(memberId),
nbReplies INT(10),
nbViews INT(10),
lpId INT(10),
lpDate DATE,
lpAuthor INT(10) CONSTRAINT lpAuthor_ref REFERENCES member(memberId)
);

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('94992', '[Projet/Idée] Rendre le forum plus agréable pour tout le monde', 'Y', 'N', '2', '3813', '18', '79', '714382', '55046', '5/3/2012 04:09:47');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('94783', 'Rédaction d\'une Charte (réglement) du forum', 'Y', 'N', '1', '3813', '7', '117', '713460', '50392', '04/03/2012 10:25:13');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('88176', '[Phase 3 : mise en forme] Des catégories pour le forum', 'Y', 'N', '4', '23095', '49', '807', '710916', '50392', '02/03/2012 07:37:03');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('92160', 'Atelier Arduino Morbihan (Vannes, Lorient)', 'Y', 'N', '1', '59226', '5', '248', '709723', '59226', '01/03/2012 06:44:23');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('81512', 'Le Guide Arduino', 'Y', 'Y', '1', '3813', '0', '1757', '0', '3813', '04/12/2011 08:07:44');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('81511', 'Pas de lien Ebay dans les messages SVP', 'Y', 'Y', '1', '3813', '0', '776', '0', '3813', '04/12/2011 08:06:31');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('80422', 'Aidez nous ! Projet - Gestion domotique', 'N', 'N', '17', '58439', '247', '5187', '714398', '67935', '5/3/2012 04:36:34');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('95105', 'Question sur l\'Atmega + la ram ?', 'N', 'N', '1', '37767', '4', '25', '714396', '34399', '5/3/2012 04:33:23');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('95117', 'Indicateur de charge de batterie + anti-buée via résistances chauffantes (astro)', 'N', 'N', '1', '67992', '0', '4', '0', '67992', '5/3/2012 04:29:17');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('95065', 'Problème d\'horloge interne???', 'N', 'N', '1', '54768', '3', '33', '714393', '54768', '5/3/2012 04:29:12');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('94867', 'Attiny85 - pb timer & I2c slave', 'N', 'N', '1', '34399', '6', '107', '714392', '34399', '5/3/2012 04:28:00');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('94777', 'Autoguidage astronomique', 'N', 'N', '4', '67992', '58', '287', '714388', '67992', '5/3/2012 04:22:53');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('93856', 'projet couveuse ventilée', 'N', 'N', '3', '55046', '31', '265', '714387', '55046', '5/3/2012 04:22:34');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('94981', 'Comment lire 2 valeurs par Xbee sur Arduino ?', 'N', 'N', '1', '68122', '9', '43', '714384', '68122', '5/3/2012 04:13:26');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('95046', '[résolu] [c++] tableau de constantes dans class', 'N', 'N', '1', '4667', '8', '55', '714369', '4667', '5/3/2012 03:43:22');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('94966', '[aide] OSC + VirtualWire = conflit ?', 'N', 'N', '1', '8192', '1', '24', '714354', '8192', '5/3/2012 03:09:10');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('94894', 'Keypad sur ecran LCD série (web4robot.com)', 'N', 'N', '1', '67798', '2', '38', '714022', '67798', '04/03/2012 17:09:22');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('91010', '[help] Soulager Arduino Page Web', 'N', 'N', '3', '56754', '37', '612', '714002', '36713', '04/03/2012 16:56:11');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('95003', '[résolu] linux: script pour ouvrir un fichier.pde avec arduino', 'N', 'N', '1', '55600', '4', '40', '714000', '55600', '04/03/2012 16:55:47');

INSERT INTO topic(topicId, title, sticky, locked, nbPages, authorId, nbReplies, nbViews, lpId, lpAuthor, lpDate)
VALUES ('89413', '[Projet] Montage de mesure de stabilité', 'N', 'N', '19', '3813', '270', '1819', '713988', '3813', '04/03/2012 16:48:00');


Et une liste de membres répertoriés lors du scan :
Code: [Select]
DROP TABLE member PURGE;

CREATE TABLE member(
memberId INT(10) CONSTRAINT member_pk PRIMARY KEY,
name VARCHAR(255) NOT NULL,
);

INSERT INTO member(memberId, name)
VALUES('3813', 'Jean-François');

INSERT INTO member(memberId, name)
VALUES('55046', 'infobarquee');

INSERT INTO member(memberId, name)
VALUES('50392', 'osaka');

INSERT INTO member(memberId, name)
VALUES('23095', 'zoroastre');

INSERT INTO member(memberId, name)
VALUES('59226', 'tytouf');

INSERT INTO member(memberId, name)
VALUES('58439', 'Skuzmitoo');

INSERT INTO member(memberId, name)
VALUES('67935', 'jplaville');

INSERT INTO member(memberId, name)
VALUES('37767', 'Tealcoune');

INSERT INTO member(memberId, name)
VALUES('34399', 'skywodd');

INSERT INTO member(memberId, name)
VALUES('67992', 'yonafunu');

INSERT INTO member(memberId, name)
VALUES('54768', 'electricircus');

INSERT INTO member(memberId, name)
VALUES('68122', 'Striker');

INSERT INTO member(memberId, name)
VALUES('4667', 'churchill');

INSERT INTO member(memberId, name)
VALUES('8192', 'Vortof');

INSERT INTO member(memberId, name)
VALUES('67798', 'mnssylvain');

INSERT INTO member(memberId, name)
VALUES('56754', 'trigger');

INSERT INTO member(memberId, name)
VALUES('36713', 'Brisebee');

INSERT INTO member(memberId, name)
VALUES('55600', 'youplop');


Voila voila !
J-F t'en pense quoi ?


Excellent tout ça !

Tu arrives à dater le premier la création du topic ?



pour les topics sans réponse, on les place dans une rubrique "Echec", ceci afin de ne pas les supprimer.


Ah... ça c'est pas mal.... mais ça vient un jour trop tard  :smiley-mr-green:
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

schizophrene

Outre la bonne idée, je voulais souhaiter à Skywodd un bon 1664ème post :)

skywodd


Excellent tout ça !

Tu arrives à dater le premier la création du topic ?

Pour la date de création il faut que je fasse un second parser pour les pages de topic, je vais regarder ça demain.

Pour les edit, le plus simple c'est de pas s'en occuper.
Le but c'est pas de faire un clone parfait de la bdd mais juste d'avoir une mini bdd pour pouvoir travailer ?

Quote
Outre la bonne idée, je voulais souhaiter à Skywodd un bon 1664ème post

Merci :smiley-mr-green: encore 500 posts et je détronne jean-Francois XD

Bon je propose la mise en place d'un cahier des charges.
Moi je suis parti pour faire un truc pour J-F pour le moment.
Mais si il y en a qu'il veullent partir sur un projet de moteur de recherche + bdd décentralisé + client, alors je stop mon truc en python et je pars sur du php 5, DOM, et curl.
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

skywodd

Bon je suis en train de regarder pour la partie parsing des topics.

Je crois que je vais reprendre mon code déja fait pour en faire des classes sinon se sera la galére ...

Sinon j'ai remarqué que suivant l'user agent du navigateur le code source de la page (et surtout le format de la date et des liens) sont modifié ce qui pose probléme.

Autre truc je viens de me rendre compte qu'il était possible d'avoir un flux rss sur un forum ou une catégories uniquement :
http://wiki.simplemachines.org/smf/XML_feeds
C'est peut être une solution à envisager ...
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

cyberfred91

Moi je trouve le choix des couleurs pas tres judicieux. Trop de blanc.

Et il y a trop d'orange :/

Sinon, pour le contenu, ca a l'air au top.

papybricol

Bonsoir,

plus c'est agréable, sympa----------------->     résultat je passe de plus en plus de temps au bar : :smiley-red:

Et mon projet de "Mille-pattes géomètre" avance au ralenti  :smiley-sleep:


La francophonie n'est pas morte, continuons le combat!


...ils embarquèrent la logique, coupèrent les cordons, alors, libérés de leurs chaînes, une immensité s'ouvrait devant eux...

jplaville

Salut à tous.

Je parle pas très bien Anglais, du coups, je le propose ici.
Il faudrait installer le module pour Tapatalk.
Qui permet de suivre ces forums favoris (donc celui-ci) facilement sur sont Smartphone.
Il suffit de télécharger et installer ce module sur le site :
http://tapatalk.com/activate_tapatalk.php?plugin=smf
Mais il faut bien entendu les droits, donc si quelqu'un qui les as ou faire remonté la demande, ça serait bien.

Merci.

Go Up