Précédent   Forum des professionnels en informatique > PHP > Scripts > Forum > phpBB
phpBB Avant de poster -> Cours phpBB, FAQ phpBB et Sources phpBB2
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/02/2006, 15h56   #1
Invité de passage
 
Inscription : octobre 2005
Messages : 12
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 12
Points : 2
Points : 2
Par défaut Réutiliser les classes du forum phpBB sur son site

bonjour,

Comment fait-on pour utiliser les fonctions de phpBB sur le reste de son site ?

Par exemple, j'ai un forum dans le dossier /forum/ et je souhaite utiliser ses fonctions de connexion à la base (sql_db, sql_query) ainsi que la fonction template dans le reste de mon site.

Comment dois-je procéder pour ne pas avoir une erreur ? Dois-je réécrire les fonctions dans d'autres fichiers sous un nom différent (c'est ce que je fais actuellement) ?

PS: je sais pas si ça a son importance mais j'utilise aussi le mod phpbb_fetch_all qui permet d'insérer les messages du forum n'importe où sur mon site.
SebOmaX est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2006, 22h12   #2
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Salut

En gros, il te suffit d'inclure le code suivant au début de chacune de tes pages :


Code :
1
2
3
4
5
6
7
8
9
//
// phpBB-specific settings
//
define('IN_PHPBB', true);
$phpbb_root_path = './../'; // Attention à cette variable, tu dois la modifier selon ton script
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_INDEX); // Si tu veux personnaliser ceci, ne te gêne pas
init_userprefs($userdata);
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2006, 23h34   #3
Invité de passage
 
Inscription : octobre 2005
Messages : 12
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 12
Points : 2
Points : 2
Super, merci beaucoup, je vais essayer cette solution. Ca va sacrément me facilter la vie !

Une question toutefois au sujet de ces lignes :

Code :
1
2
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
Quelles possibilités ce code peut-il m'offrir si je l'insère dans mes pages en dehors du forum ?
SebOmaX est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2006, 23h55   #4
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Cela te permet surtout de ne pas te prendre la tête avec la gestion des sessions. Tu conserves notamment la variable $userdata qui contient tout le profil utilisateur, c'est bigrement pratique. J'ai écrit une paire de Mods pour phpBB (cf. mon site) et tous l'utilisent extensivement.

Concernant PAGE_INDEX, c'est une constante définie dans includes/constants.php. Tu peux définir tes propres contantes de navigation, tout dépend de ce que tu souhaites. Cela dit, c'est relativement peu utile (uniquement pour savoir où est chaque membre dans les users en ligne) donc ce n'est vraiment pas prioritaire, à mon avis.

Au passage, ce code que je t'ai donné initialise également les objets $template et $db... Tu disposes donc directement du template spécifié dans le profil utilisateur de ton membre connecté (ou du template par défaut de ton forum s'il s'agit d'un invité) et d'une connexion à MySQL.
Il ne te reste plus qu'à appeler $template->set_filenames(); pour lui dire quel fichier utiliser.

Voilà voilà.
Si tu as besoin d'autres infos, je suis de bonne humeur ^^
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2006, 00h20   #5
Invité de passage
 
Inscription : octobre 2005
Messages : 12
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 12
Points : 2
Points : 2
Tu sembles sacrément bien maitriser les fonctionnalités de phpBB ! Faudra que je refasse un tour par ton forum pour regarder tes tutos de plus près .

Dans l'immédiat, il y a un détail qui m'interpèle quand tu dis :
Citation:
Tu disposes donc directement du template spécifié dans le profil utilisateur de ton membre connecté (ou du template par défaut de ton forum s'il s'agit d'un invité) et d'une connexion à MySQL.
Cela signifie-t-il qu'on peut accéder au template(s) utilisé(s) par un membre à un instant t ? Si oui, en quoi cela a-t-il un intérêt ?
SebOmaX est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2006, 00h26   #6
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
J'ai dû mal m'exprimer.

Je voulais dire que la sélection du dossier template correct est déjà faite par l'un des scripts appelés.

J'imagine que tu as remarqué cette possibilité d'installer plusieurs templates sur un même forum et d'en permettre la sélection par le profil de membre. Vu qu'il y a un choix, il faut faire ce choix à un moment... Eh bien en fait non car ça se fait tout seul

Bref, je me comprends, le seul truc à retenir est que tu n'as pas besoin de t'en occuper : c'est d'autant mieux si ça ne t'avait pas inquiété ^^
En effet, cela n'a pas grand intérêt de savoir quel template est utilisé par quel utilisateur...

[Edit] Ah, j'oubliais, j'ai effectivement deux ou trois tutos sur mon site mais rien de transcendant pour le moment, c'était surtout pour m'essayer à l'écriture de tutos. Personne n'y répond car ce n'est pas un forum orienté informatique.
J'ai préparé un tuto URL Rewriting un peu plus costaud mais j'attends de savoir si ça fonctionne bien avant de le publier. Si tu veux me donner ton avis, tu es le bienvenu. Temps d'installation de mon Mod URL Rewriting : 2 minutes maximum.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2006, 00h51   #7
Invité de passage
 
Inscription : octobre 2005
Messages : 12
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 12
Points : 2
Points : 2
Citation:
Envoyé par Kirkis
J'ai préparé un tuto URL Rewriting un peu plus costaud mais j'attends de savoir si ça fonctionne bien avant de le publier. Si tu veux me donner ton avis, tu es le bienvenu. Temps d'installation de mon Mod URL Rewriting : 2 minutes maximum.
Ca m'intéresse effectivement, j'ai installé le mod keyword URLs SEO ce weekend, ce qui m'a donné l'occasion de me livrer aux joies de l'url rewriting... quand ça marche . Je suis curieux de voir comment fonctionne ton mod !
SebOmaX est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2006, 03h33   #8
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Eh bien, navigue mon ami, navigue et n'hésite pas à me donner du feedback. C'est visiblement notre sujet ici alors balance tout dedans si tu veux, ce n'est pas moi que ça dérangera.
Cela dit, je te déconseille de changer d'URLR toutes les semaines... Nous l'avons déjà fait quelques fois (il fallait bien essuyer les pots cassés) et c'est catastrophique pour le référencement... Surtout quand tu commences à être référencé à nouveau et qu'on t'annonce un bug qui t'oblige à encore tout modifier :/

Compare ce que j'ai fait avec ce dont tu disposes chez toi et décide-toi rapidement.
Suivant tes remarques, je posterai le Mod sur les divers forums de la communauté phpBB rapidement ou après corrections.
http://www.thisisnotawebsite.com/forumrnz/sujet-3678,tuto-l-url-rewriting-reecriture-de-liens.htm
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2006, 11h05   #9
Invité de passage
 
Inscription : octobre 2005
Messages : 12
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 12
Points : 2
Points : 2
J'ai posté quelques commentaires sur ton forum. J'aime beaucoup la présentation de ton tuto, en particulier sa structure : super pratique la table des matières, les "avertissements" dans l'intro et les liens que tu as mis tout au long !!

J'ai mis quelques remarques, n'hesite pas à me demander des precisions si elles ne sont pas tres claires.
SebOmaX est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2006, 12h38   #10
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Merci beaucoup pour le feedback et pour les encouragements !
Je modifie quelques trucs suivant tes recommandations et je publie ^^

Pour les avantages de ma solution par rapport aux autres, j'en connais un radical : je réécris même les liens qui se situent dans les messages du forum... Fais un test avec l'un des liens que j'ai donnés dans le post, tu verras. Écris simplement l'adresse complète dans un nouveau message, fais "prévisualisation" et tu auras ta démonstration.
Tu as raison, je vais probablement ajouter un comparatif quelque part...

Lorsque je parle de "mes choix", je parle du cas par cas des combinaisons de paramètres... Rien de bien folichon.

En effet, la partie sur le tampon (et non le cache car ce sont des concepts différents) est de trop.

Finalement, je vais peut-être lancer un sujet séparé pour expliquer le détail du code. Je vire tout le code de ce tuto.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2006, 14h52   #11
Invité de passage
 
Inscription : octobre 2005
Messages : 12
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 12
Points : 2
Points : 2
Citation:
je réécris même les liens qui se situent dans les messages du forum...
Ah ouais, ça c'est vraiment excellent !! Mais tu l'as fait par principe, ou parce que cela a une réelle influence au niveau du référencement ? En tout cas, j'avais pas compris que ton mod pouvait faire ça en lisant le tuto.

Citation:
Je vais peut-être lancer un sujet séparé pour expliquer le détail du code. Je vire tout le code de ce tuto.
Je pense que ce serait sympa de séparer effectivement le code du mod, de l'explication théorique. Ce serait beaucoup plus agréable à la lecture.
Tu pourrais ainsi placer des liens vers chaque référence technique pour expliquer en détail la partie qui intéresse le lecteur (je pense notamment aux explications qui concernent l'utilisation des expressions reguliere qui est tres bien décrite).
SebOmaX est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2006, 15h37   #12
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Je l'ai fait ainsi en partie par principe : je voulais tout modifier d'un seul passage, mais également parce que cela a un réel impact sur le référencement (cf. le duplicate content). L'objectif était de totalement supprimer les anciennes URLs.
Quoique, normalement, à la longue, les URLs classiques devraient disparaître (je ne connais personne qui écrit les URLs à la main : tout le monde copie/colle) mais peu importe.
J'avais précisé dans le tuto que le Mod peut le faire mais, vu que l'on ne s'y attend pas forcément, cela peut en effet passer inaperçu.

Je vais quand même éviter de faire des liens incessants entre deux posts, ce serait trop galère à lire.
Deux articles ok mais pas de liens dans tous les sens...

Ah, autre possibilité de mon Mod : en changeant la regex du départ, on peut choper les liens écrits sous diverses formes, notamment les flux RSS... J'ai réécrit les flux RSS de RNZ en deux temps trois mouvements avec ça
Théoriquement, on peut aussi changer les liens des formulaires mais ça devient plus chaud. Je dois me documenter un peu plus sur les regex pour le faire...
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2006, 16h14   #13
Invité de passage
 
Inscription : octobre 2005
Messages : 12
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 12
Points : 2
Points : 2
L'idéal serait aussi de soumettre ton mod aux forums de phpbb-fr.com et/ou de phpbb.biz, non ? As-tu créé un fichier "install.txt" ou un truc dans le genre qui indique la marche à suivre pour installer ton mod ?
SebOmaX est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2006, 16h48   #14
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Le temps d'installation prévu est de 2 minutes, grosso modo. Le install.txt n'est as prêt car je voulais terminer le tuto mais il sera fait en deux temps trois mouvements. J'ai déjà fait des tests sur une install vierge, ça fonctionne.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2006, 23h19   #15
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Yup

Pour clore :
http://g-rossolini.developpez.com/tu...url-rewriting/

Merci de m'avoir laissé tes remarques, je pense en avoir tenu compte !


[Edit] La discussion se poursuit ici : phpBB et la SEO
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h26.


 
 
 
 
Partenaires

Hébergement Web