Réaliser un forum ?

Discutez d'informatique ici !
Avatar de l’utilisateur
Rockleader
Habitué(e)
Messages: 2126
Enregistré le: 11 Oct 2011, 19:42

Réaliser un forum ?

par Rockleader » 31 Juil 2015, 15:45

Hello les gens, c'est encore moi et mes questions farfelues^^


Je me suis dis que j'allai m'intéresser à la construction des forums.

Il existe de nombreux CMS et créateurs de forums sur internet, là n'est pas le soucis.
Mais si moi, je voulais coder un forum de A à Z.

Quelles techniques faudrait il employer ?

Lorsque je me l'imagine, je me représente ça avec une base de donnée contenant un nom d'auteur et un texte. A mon simple niveau c'est ainsi que je ferais, mais...cela me semble un peu extrême comme solution et surtout pas très pratique de stocker des textes dans une base de donnée. Se poserait aussi le problème des éléments, un texte c'est pas forcement que du texte, on peut vouloir insérer une image aussi.

Bref c'était ma question probablement bête du jour =)
Cette histoire est entièrement vraie puisque je l'ai inventé du début à la fin !



Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 08:03

par ampholyte » 31 Juil 2015, 17:15

Bonjour,

En tout honneté il y a plein de façons différentes de construire un forum à partir de rien.

Peut-être que pour commencer tu pourras télécharger un CMS, non pas pour l'installer mais pour lire les sources, cela te permettra de voir comment globalement un forum est généré (au niveau de la base principalement).

Après il vaut peut-être mieux commencer très simple.

Avoir une liste de topic, pouvoir écrire un texte dans une textarea, ect...

Laisse tomber dans un premier temps le côté BBCode, il sera temps d'utiliser cela quand tu auras une base solide =).

Côté SQL, il n'y a aucun problème à stocker un texte contenant du BBcode.

Si tu as des questions n'hésite pas ^^.

Avatar de l’utilisateur
Rockleader
Habitué(e)
Messages: 2126
Enregistré le: 11 Oct 2011, 19:42

par Rockleader » 31 Juil 2015, 19:46

Vais essayer de suivre le tuto du sdz en testant tout ça en local; si j'ai des soucis je te dirais ;)
Cette histoire est entièrement vraie puisque je l'ai inventé du début à la fin !

Avatar de l’utilisateur
Rockleader
Habitué(e)
Messages: 2126
Enregistré le: 11 Oct 2011, 19:42

par Rockleader » 28 Sep 2015, 14:29

Bonjour, bonsoir

j'ai voulu tester la chose suivante, plutôt que de réaliser le forum de a à z; je me suis dis qu'il devient bien être possible de reprendre des standards tout en gardant la possibilité de modifier des choses (ce que ne permet pas mon bon vieux forumactif^^)

Miracle, j'ai trouver que c'était possible avec phpBB3.

J'ai donc "installé" ça sur mon hébergeur.

Et le résultat c'est que j'ai un forum par défaut: http://infos-studies.olympe.in/forum


Ouai, mais voilà, lorsque je navigue sur le forum, ça reste potable, mais dès que je rentre dans l'interface du PCA; à ce moment là j'ai de très sérieux lags...on va dire une dizaine de seconde pour charger une page.

Alors, si je pars du principe que je peux travailler sur le site directement sur les fichiers et les envoyer et/ou modifier par le ftp, c'est pas un problème; mais si je veux faire des modifications directement depuis le panneau d'admin ça devient invivable ou alors j'y suis pour la journée x)

J'aurais bien aimé savoir ce qui peut provoquer ce genre de ralentissement...je doute fort que cela ne vienne du traffic du site lol !
Peut être est ce le fait que je doive à chaque fois passer par la BD dépendante de l'hébergeur ? Du coup, si l'hébergeur est lent, l'administration du site l'est aussi ?

Mais ça me dérange un peu quand même, je ne vois pas pourquoi ça ne toucherait que l'administration et pas également la navigation d'un utilisateur lambda sur le forum.

Qu'en pensez-vous ?
Cette histoire est entièrement vraie puisque je l'ai inventé du début à la fin !

Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 08:03

par ampholyte » 29 Sep 2015, 08:40

Bonjour,

Ce n'est qu'une supposition mais ....

L'interface PCA nécessite un nombre certains nombres de requêtes or si tu utilises comme hébergeur olympe tu es bridé à 10 requetes mysql par seconde (dans sa version free). Or je suppose que l'interface PCA nécessite plus que 10 requetes pour l'affichage complet, cela provoque donc un lag.

En fait ça touche également la navigation du site à partir du moment où il y a plus de 10 connexions / requetes par seconde sur ton site.

Avatar de l’utilisateur
Rockleader
Habitué(e)
Messages: 2126
Enregistré le: 11 Oct 2011, 19:42

par Rockleader » 29 Sep 2015, 10:12

Ah oui, 10 requête c'est peu quand même lorsqu'il s'agit de charger une page; je pense que ça doit effectivement venir de là.


Le coté positif dans cette histoire ça veut dire que la lenteur vient principalement de l'implémentation de phpBB donc en théorie si je code moi même un pseudo forum il y a tout un tas d'information que je peux considérer inutile et donc que je n'ai pas à traiter.

Ou alors directement modifier les codes sources de phpBB du package, mais alors là vive le bordel, je ne m'y retrouve pas du tout dans leur arborescence et manière d'avoir codé...par exemple, j'ai déjà vu deux fichier index.php...

Vous connaîtriez pas des tuto basé sur le package de phpBB...tout un tas de site parle de l'installation mais après pour modifier les trucs j'ai l'impression qu'on doit se contenter du PCA sans toucher au source étant donné que je ne trouve aucun cours sur le sujet......
Cette histoire est entièrement vraie puisque je l'ai inventé du début à la fin !

Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 08:03

par ampholyte » 29 Sep 2015, 10:39

Je n'ai jamais vraiment poussé sur phpBB mais il me semble pas y avoir de tutos pour modifier les sources. Il va falloir que tu fouilles par toi-même dans l'arborescence.

Si tu es sous linux tu peux sûrement retrouver rapidement à coup de grep reccursif ^^.

Après est-ce vraiment indispensable d'avoir le côté PCA ? Ce que tu peux faire c'est installer un version de phpBB en local, la modifier et la mettre à jour sur ton site perso une fois que tu as une version qui te plait (avec le backup mysql si nécessaire).

Avatar de l’utilisateur
Rockleader
Habitué(e)
Messages: 2126
Enregistré le: 11 Oct 2011, 19:42

par Rockleader » 29 Sep 2015, 10:48

Pour faire les modifs ce sera clairement plus simple en local au niveau du temps, ça c'est clair.

Mais ça n'empêche que...faut arriver à s'y retrouver là dedans x)
Même si je cherche pour trouver un fichier rapidement...encore faut il savoir le rôle de chaque fichier...et bizarrement rien n'est commenté --'

Le plus rapide en exécution ça serait de coder tout moi même..mais je m'en sens pas vraiment capable^^Entre coder un site et coder un forum la quantité de taf n'est pas du tout la même ^^


Du coup, toi quand tu as fais des forums (si tu en as fais). Tu as procédé comment ? Tout codé toi même ou en passant par un cms ? Ou en reprenant une architecture existante comme phpBB ?
Cette histoire est entièrement vraie puisque je l'ai inventé du début à la fin !

Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 08:03

par ampholyte » 29 Sep 2015, 11:06

J'ai jamais développé un forum dans le but qu'il soit utilisé. J'avais fait un truc à la mano sans CSS mais qui fonctionnait ^^.

Peut-être que phpBB est un peu trop lourd pour ce que tu souhaites en faire, pourquoi ne pas partir sur un CMS plus léger ?

Regarde ici, il y a quelques idées de cms plus ou moins léger (je ne connais pas vraiment les cms mais il peut être intéressant de regarde^^) : http://www.scriptol.fr/cms/liste.php

FluxBB semble intéressant : http://fluxbb.fr/

Avatar de l’utilisateur
Rockleader
Habitué(e)
Messages: 2126
Enregistré le: 11 Oct 2011, 19:42

par Rockleader » 29 Sep 2015, 12:11

Oui, concrètement j'en ai pas besoin d'un forum, j'ai juste envie de bidouiller des pages de temps en temps pendant mon temps libre sans véritable but précis^^

Je m'amuse en fait x) si on peut dire ça :p

Je vais aller regarder tes liens dans la soirée.
Cette histoire est entièrement vraie puisque je l'ai inventé du début à la fin !

Avatar de l’utilisateur
Rockleader
Habitué(e)
Messages: 2126
Enregistré le: 11 Oct 2011, 19:42

par Rockleader » 02 Oct 2015, 01:11

Sa arrive souvent que les hébergeurs nous refuse l'accès par FTP ???

Parce que ça fait quand même plus de 8h que je peux plus me co avec Filezilla qui me retourne une erreur 530...et apparemment je suis pas le seul touché... Vive Olympe :ptdr:
Cette histoire est entièrement vraie puisque je l'ai inventé du début à la fin !

Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 08:03

par ampholyte » 02 Oct 2015, 08:41

Malheureusement avec les hébergeurs gratuits ça arrive assez souvent, j'ai déjà eu plusieurs le même problème avec free, mais bon il faut pas trop en demander vu que c'est gratuit :/

Avatar de l’utilisateur
Rockleader
Habitué(e)
Messages: 2126
Enregistré le: 11 Oct 2011, 19:42

par Rockleader » 02 Oct 2015, 10:47

Il semblerait qu'ils aient subi une attaque...m'enfin, faudra m'expliquer ce que ça peut apporter à quelqun de faire ça...
Cette histoire est entièrement vraie puisque je l'ai inventé du début à la fin !

Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 08:03

par ampholyte » 02 Oct 2015, 12:08

[HS]
Pour faire simple, sur un même serveur tu peux héberger plusieurs sites différents.

En fait http://infos-studies.olympe.in, est un sous-domaine de olympe.in.

De la même manière tous les sites de la forme : http://xxxxxxx.olympe.in sont des sous domaines de http://www.olympe.in

Par exemple si tu regardes un peu la conf apache, tu peux dans le httpd-vhosts.conf (par défaut) configurer autant de sous domaine que tu le souhaites.

Donc quand un site se fait attaquer, les ressources du serveur diminuent ce qui peut impliquer des problèmes sur l'ensemble des sous-domaines disponibles sur le serveur en question.

Par ailleurs si un site subit un pic de traffic, l'impact va être ressenti sur tous les sous-domaines et des latences peuvent avoir lieus.
[/HS]

Tu peux distinguer plusieurs attaques :

- Les attaques de gamin : "Ouais super je suis un hackeur professionnel" simplement parce que le mec a su appuyer sur 3 boutons d'un logiciel comme Loic.

- Les attaques pour trouver une faille et l'exploiter (à plus ou moins bonne escient)

- Les attaques pour récupérer des données utilisateurs (email, mot de passe, ...)


Parfois de simple script peuvent foutre la merde sur un site.

Je prends un exemple très simple :
http://twothirdsofaverage.creativitygames.net/

Ici le but est de trouver entre 0 et 100 les 2/3 de la moyenne que les gens ont pu trouver.

Tu ne peux jouer qu'une seule fois.

En étudiant un peu le site, on remarque 2 choses :

- La requete envoyée au serveur pour valider notre nombre est :
POST : number=0&submit=Submit&makeguess=goforit

- Deux cookies : guest / timestamp pour nous empêcher de rejouer.
En supprimant les 2 cookies et en rechargeant ta page tu peux de nouveau rejouer.

En combinant les 2 tu peux très bien faire un script qui fout à 66 (2/3 de 100) ou à 0 le compteur.

Pour cela une simple boucle while avec un curl permet de le faire. Cela te permet de balancer une requete POST sur le site aussi vite que possible (et sans récupérer de cookies) et donc de modifier très rapidement la moyenne des gens.

Avatar de l’utilisateur
Rockleader
Habitué(e)
Messages: 2126
Enregistré le: 11 Oct 2011, 19:42

par Rockleader » 02 Oct 2015, 12:49

POST : number=0&submit=Submit&makeguess=goforit


C'est pas la forme d'un get ça ? il me semblait justement que l'on utilisait des POST pour éviter de transmettre des infos via l'url et éviter ce genre de choses.

Sinon pour ce que tu as dis, j'avais jamais pensé à ça, mais du coup en pratique, ça veut dire que la plupart des sondages effectués sur internet peuvent être complètement foireux --'



Sinon pour en revenir à olympe, là c'est l'hébergeur directement qui se fait attaquer et non pas l'un des sous domaine en particulier...je me dis juste que c'est un peu con de vouloir attaquer un hébergeur qui à priori offre des services gratuits et sur lequel il n'y aura de toute façon pas d'informations très importantes...
Cette histoire est entièrement vraie puisque je l'ai inventé du début à la fin !

Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 08:03

par ampholyte » 02 Oct 2015, 13:37

Rockleader a écrit:C'est pas la forme d'un get ça ? il me semblait justement que l'on utilisait des POST pour éviter de transmettre des infos via l'url et éviter ce genre de choses.


Oui en effet les informations ne sont pas visibles depuis l'url mais tu peux aisement regarder les différentes requetes GET, POST, PUT, ... qui sont envoyés par un site (onglet net sous firebug par exemple). En revanche la requête en post est également de la forme : "number=8&submit=Submit&makeguess=goforit".

Pour prendre un exemple plus concret. On suppose également qu'on travaille en C, et que la requete est "number=8&submit=Submit&makeguess=goforit".

- En GET : la lecture de la requete se fait à l'aide d'un getenv("QUERY_STRING")

- En POST : la lecture se fait depuis stdin


Sinon pour ce que tu as dis, j'avais jamais pensé à ça, mais du coup en pratique, ça veut dire que la plupart des sondages effectués sur internet peuvent être complètement foireux --'


Exactement sauf s'il y a des checks effectués côté serveur, (par exemple check sur l'IP, vérification du UserAgent, vérification que le js s'execute bien, ....). Mais il est toujours possible de contourner la plus part (modification de l'IP, ajout d'un UserAgent, ...).

Sinon pour en revenir à olympe, là c'est l'hébergeur directement qui se fait attaquer et non pas l'un des sous domaine en particulier...je me dis juste que c'est un peu con de vouloir attaquer un hébergeur qui à priori offre des services gratuits et sur lequel il n'y aura de toute façon pas d'informations très importantes...


Dans ce cas là c'est sûrement pour récupérer les informations utilisateurs, login / pass des sites pour ensuite se connecter au ftp par exemple et mettre le bordel dessus.

Avatar de l’utilisateur
Rockleader
Habitué(e)
Messages: 2126
Enregistré le: 11 Oct 2011, 19:42

par Rockleader » 03 Oct 2015, 23:10

Je change complètement de sujet...vous n'auriez pas un tuto assez clair expliquant le passage de my_sql à my_sqli ?

Parce que, pour mes petits tests perso je fais avec ce que j'ai appris =) Mais si un jour je dois faire un truc plus sérieux, ça ne marchera surement plus quand php 6 sera là...
Cette histoire est entièrement vraie puisque je l'ai inventé du début à la fin !

Avatar de l’utilisateur
fatal_error
Modérateur
Messages: 6610
Enregistré le: 22 Nov 2007, 13:00

par fatal_error » 03 Oct 2015, 23:50

si tu veux faire du sérieux, apprensd autre chose que php...
la vie est une fête :)

Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 08:03

par ampholyte » 04 Oct 2015, 00:18

Rockleader a écrit:Je change complètement de sujet...vous n'auriez pas un tuto assez clair expliquant le passage de my_sql à my_sqli ?

Parce que, pour mes petits tests perso je fais avec ce que j'ai appris =) Mais si un jour je dois faire un truc plus sérieux, ça ne marchera surement plus quand php 6 sera là...


http://www.w3schools.com/php/php_mysql_intro.asp, il y a des explications sur mysqli et sur PDO.

Après il n'explique pas forcément la migration mysql, mysqli mais le site reprend les bases des deux méthodes. Après des tutos intéressants sur des bases de données, c'est une autre histoire.

Avatar de l’utilisateur
Rockleader
Habitué(e)
Messages: 2126
Enregistré le: 11 Oct 2011, 19:42

par Rockleader » 04 Oct 2015, 23:18

ampholyte a écrit:http://www.w3schools.com/php/php_mysql_intro.asp, il y a des explications sur mysqli et sur PDO.

Après il n'explique pas forcément la migration mysql, mysqli mais le site reprend les bases des deux méthodes. Après des tutos intéressants sur des bases de données, c'est une autre histoire.


Dac, je vais essayer de convertir petit à petit^^


Fatal: Bon sérieux c'était peut être pas le bon terme dans le cas présent^^
Mais il y a quand même beaucoup d'offre de stage orienté sur le php donc de mon point de vue c'est suffisant pour m'intéresser^^


EDIT:

Question

En procédural :

$link = mysqli_connect('IP_serveur', 'Utilisateur_mysql', 'mot_de_passe', 'nom_de_la_bbd');

Comme vous le voyez, la connexion au serveur ouvre aussi la connexion à la base de données, contrairement à l'extension mysql.


Mais...du coup si une erreur survient à la connexion on peut pas savoir si ça vient du serveur ou de la BD ???
Cette histoire est entièrement vraie puisque je l'ai inventé du début à la fin !

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 7 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite