Go Down

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

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 tuto et plein de bonne chose 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 tuto et plein de bonne chose 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
 eMac PPc G4  os X Leopard 10.5
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 :)

Go Up