Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les tutoriels > Non-Officiels > Site Web > PHP > Systèmes complets > Créer son forum de toutes pièces > Les pages administration > Autorisations d'accès > Lecture du tutoriel

Autorisations d'accès

Vous vous apprêtez à lire un tutoriel rédigé par un membre de ce site. Malgré tout le soin que ce membre a pu apporter au tutoriel, nous ne pouvons pas garantir que les informations contenues sur cette page sont exactes à 100%. Merci de garder cela en tête lorsque vous lirez cette page ;o)
Avatar
Auteur : General Vans
Note : 16 / 20 (6 votes)
Visualisations : 12 019
Licence : Creative Commons BY


Plus d'informations Plus d'informations
On arrive à la partie la plus délicate de la création d'un forum, les pages d'administration. C'est-à-dire au final la façade qui fait la transition entre vous et votre base de données.

Dans ce chapitre (très court :) ), nous allons voir comment régler les autorisations d'accès.
Mais qu'est-ce donc qu'une autorisation d'accès o_O ? Bah, comme son nom l'indique, c'est simplement un moyen de vérifier si un membre a le droit d'être là où il est. En fait, on en a déjà mis un peu partout pour éviter qu'un membre non connecté poste un message, par exemple.
On va élargir un peu ce concept avec les modérateurs et administrateurs, grâce à un système assez simple.

Au programme :

On y va :) .
Sommaire du chapitre :
Icône du chapitre
Chapitre précédent Sommaire Chapitre suivant

Faire un forum VIP

Vous avez sûrement remarqué que, sur la plupart des forums, il existe des sessions réservés aux modérateurs et administrateurs, pour qu'ils puissent décider en paix des supplices qu'ils vont nous faire subir :D . Vous vous dites peut-être que vous n'en voyez pas l'intérêt, et pourtant il est énorme : lorsque votre forum commence à prendre un peu d'importance, il est très utile de pouvoir communiquer avec le reste de l'équipe.

Si vous avez suivi le déroulement du tuto jusqu'ici, vous pouvez remarquer qu'en fait tout est déjà mis en place.

Petit retour en arrière



Si je vous parle des cinq colonnes qu'on n'a pas encore utilisés dans la table forum_forum, vous me dites auth_view, auth_post, auth_topic, auth_annonce, et auth_modo, bien sûr :D . Je vous avais rapidement expliqué qu'ils permettaient de désigner quel groupe de membres a le droit de lire un forum, d'y poster un message ou un topic.

Vous vous souvenez aussi de la variable $_SESSION['level'], qui permet de connaître le niveau d'un visiteur (modérateur, administrateur ou membre).

Je pense que vous avez compris qu'en cumulant les deux, on peut faire des miracles. ^^

Par exemple, si je veux qu'un forum puisse n'être vu que par les membres, mais que seuls les modérateurs puissent y poster un topic, et que seuls les administrateurs puissent y laisser un post (ne cherchez pas la logique :D ) il suffit de mettre les valeurs suivantes :

ChampValeur
auth_view 1
auth_topic 2
auth_post 3


Et puis le tour est joué !

Le problème



Il y a un problème (je vous dois bien ça :-° ) : comment faire pour créer un forum visible par les modérateurs et les administrateurs?

Eh bien en fait c'est la raison pour laquelle les champs auth_bidule sont des entiers ; ce que l'on va faire, c'est attribuer un numéro pour chaque catégorie de membres (par exemple, 4 pour les admins), de façon à les classer par ordre d'importance. Ensuite, il suffit de vérifier si le niveau d'accès est supérieur au niveau nécessaire :) .

La solution !



Pour vous montrer comment faire à l'avenir, je vais utiliser un petit exemple. Nous allons créer un forum de news, c'est-à-dire que :



Sachant que quand je dis "seuls les membres", il ne faut pas penser que les modérateurs n'auront pas le droit de poster un message, il s'agit de l'exigence minimale.


Pour mon exemple, je vais prendre les autorisations suivantes :

NiveauAutorisation
Visiteur
1
Inscrit
2
Modérateur
3
Administrateur
4


Ensuite, il va falloir modifier plusieurs choses.

La base de données



La gestion des autorisations de chaque forum se fera à l'avenir via le panneau d'administration, mais en attendant, vous devez le faire manuellement. Nous allons donc modifier les champs de notre forum News.

Code : SQL
1
2
3
UPDATE forum_forum 
SET auth_view = 0, auth_post = 1, auth_topic = 2, auth_annonce = 2, auth_modo = 3 
WHERE forum_id = 2


Et si vous avez supprimé le forum depuis tout ce temps :

Code : SQL
1
2
INSERT INTO forum_forum ( forum_cat_id , forum_name , forum_desc , forum_ordre , forum_last_post_id , forum_topic , forum_post , auth_view , auth_post , auth_topic , auth_annonce, auth_modo )
VALUES ( 1, 'Les News', 'Les news du site sont ici', 50, 0, 0, 0, 0, 1, 2, 2, 3 )


Maintenant que les champs sont remplis, le plus dur est fait ; ensuite, il n'y a plus qu'à mettre des conditions un peu partout pour vérifier les droits.

Une fonction ?



Quand j'ai dit mettre des conditions un peu partout, ça a du évidemment alerter votre logique de codeur php :-° . En effet, on va pouvoir simplifier tout ça avec une fonction, celle-ci prend un paramètre : le niveau nécessaire que doit avoir un membre. Puis elle nous dira si l'utilisateur peut continuer.

Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<?php
function verif_auth($auth_necessaire)
{
//Dans un premier temps, on vérifie si le membre est connecté
if(isset($_SESSION['id'])) $auth = intval($_SESSION['level']);
else $auth = 1;
if ($auth_necessaire < $auth) return true;
else return false;
}
?>


Il ne faut pas oublier de vérifier que le membre est connecté ; en effet, dans le cas contraire la variable $_SESSION['level'] n'existerait pas, et donc la fonction ne servirait à rien.
Pour l'utilisation, c'est super simple puisqu'il suffit de faire ceci :

Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<?php
if(verif_auth(1))
{
//Afficher le forum
}
else
{
//Laisser tomber :p
}
?>


Pensez bien à l'inclure sur toutes vos pages ! Le mieux est d'utiliser la page debut.php pour cela.


Page d'index



Pour la page d'index, on pourrait utiliser la fonction, néanmoins ce n'est qu'une sécurité superflue puisque la requête va déjà chercher les forums qui satisfont les autorisations d'accès. Pour l'exemple on va quand même regarder ce que ça donne.

Si vous vous souvenez bien, il y a une grosse requête qui est suivie par ceci :

Page : index.php

Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
//Début de la boucle
        while($data2 = mysql_fetch_assoc($requete2))
        {
        //On affiche chaque catégorie
        if( $categorie != $data2['cat_id'] )
        {
        //Si c'est une nouvelle catégorie on l'affiche
       
                $categorie = $data2['cat_id'];
                ?>
                <tr>
                <th></th>
                <th class="titre"><strong><?php echo $data2['cat_nom']; ?>
                </strong></th>             
                <th class="nombremessages"><strong>Sujets</strong></th>       
                <th class="nombresujets"><strong>Messages</strong></th>       
                <th class="derniermessage"><strong>Dernier message</strong></th>   
                </tr>
                <?php
               
         }


Et juste après, un echo s'occupe d'afficher le contenu de chaque catégorie, c'est-à-dire chaque forum. C'est ici qu'on va agir :ninja: !
Ajoutez simplement après :

Code : PHP
1
2
3
4
5
<?php
if (verif_auth($data2['auth_view']))
{
//Affichage des forums
?>


Vous comprenez à présent pourquoi la requête du début de page allait chercher le champ auth_view ; par ailleurs, vous voyez que la fonction est vraiment simple à utiliser. On fait un if, on affiche les forums, puis on ferme le if. Ainsi, les forums qui apparaissent sont ceux que le membre a le droit de voir ; dans l'exemple du forum de news, tout le monde verra le forum.
Ensuite, on affiche les forums, puis on termine ici :

Code : PHP
1
2
3
4
5
6
7
<?php
else
{
echo'<td class="nombremessages">Pas de message</td></tr>';
}
} //Fin de la vérification d'autorisation
?>


A présent, le forum ne s'affiche plus si vous n'êtes pas autorisés à le voir ; en revanche, il est toujours possible de le modifier en se rendant directement sur la page voirforum.php. On va voir comment arranger ça.

Attention à ne pas inverser le signe > en < : ça peut paraître idiot de dire ça, mais c'est une erreur fréquente, surtout lorsqu'on va un peu vite. Donc, si vous avez un résultat inattendu, il est probable que ça vienne d'ici.

Attention également à ceci : la fonction vérifie si le niveau de l'utilisateur est strictement supérieur au niveau demandé. Donc, si vous voulez qu'un modérateur puisse poster, il ne faut pas mettre 3 mais 2.


Page voirforum



Maintenant que le forum s'affiche seulement pour les personnes autorisées, on va pouvoir passer à la page voirforum.php, rien de bien compliqué sur cette page puisqu'il s'agit simplement de vérifier que le visiteur ne s'est pas introduit ici en modifiant l'url. Ensuite, on va regarder si celui-ci a le droit de poster un nouveau topic. Si c'est le cas, on affiche le bouton-lien qui permet de se rendre à la page poster.php.

Pour commencer, rendez-vous en haut de la page voirforum.php, à l'endroit où vous voyez une requête dans ce style :

Page : voirforum.php

Code : PHP
1
2
3
4
5
6
<?php
//A partir d'ici, on va compter le nombre de messages 
//pour n'afficher que les 25 premiers
$requete1 = mysql_query("SELECT forum_name, forum_topic, auth_view, auth_topic FROM forum_forum WHERE forum_id = '".$forum."'") or die (mysql_error());
$data1 = mysql_fetch_assoc($requete1);
?>


Juste en dessous, nous allons utiliser la fonction pour vérifier les droits du membres : s'il y a un problème on utilise la fonction exit avant d'afficher quoi que ce soit.

Code : PHP
1
2
3
4
5
6
<?php
if (!verif_auth($data1['auth_view']))
{
exit("Vous n avez pas le droit de vous trouver ici ! (sale gosse :p )");
}
?>


Le exit c'est un peu radical, c'est même la solution de facilité et c'est pas bien parce que ça arrête le code, donc pas de pied de page et un code non valide mais je rappelle que, à moins que quelque chose ait cloché dans votre code, si cette condition est remplie, c'est qu'une personne a volontairement modifié l'url pour lire ce forum.

A présent, voyons le deuxième aspect qui est celui du bouton "nouveau topic". Recherchez un peu plus bas l'endroit où vous avez placé l'image :

Code : PHP
1
2
3
4
5
<?php
//Et le bouton pour poster
echo'<a href="./poster.php?action=nouveautopic&amp;f='.$forum.'">
<img src="./images/nouveau.gif" alt="Nouveau topic" title="Poster un nouveau topic" /></a>';
?>


Il faut cette fois vérifier l'autorisation en rapport avec le droit de créer un nouveau sujet, c'est donc le champ auth_topic qui va être utilisé :

Code : PHP
1
2
3
4
5
6
7
8
<?php
if (verif_auth($data1['auth_topic']))
{
//Et le bouton pour poster
echo'<a href="./poster.php?action=nouveautopic&amp;f='.$forum.'">
<img src="./images/nouveau.gif" alt="Nouveau topic" title="Poster un nouveau topic"></a>';
}
?>


L'idéal serait de placer une image alternative avec un else pour que le membre ne soit pas complètement perdu en ne voyant plus son image :p . Ou bien vous pouvez afficher un petit texte, pour lui expliquer qu'il n'a pas les droits.

Pour reprendre l'exemple du forum de news, un visiteur non connecté ou un simple membre ne pourrait pas voir ce bouton.

Vous voyez qu'en fait si on utilise la fonction, il ne s'agit que de légères modifications à faire ici et là ; cependant il ne faut pas non plus en oublier, sinon il suffira de connaître un peu le nom des pages pour pouvoir aller où l'on veut.

Page voirtopic.php



Dans la page voirtopic.php, il faut vérifier encore une fois une série d'autorisations.
Tout d'abord, s'assurer que le membre a bien l'autorisation de voir le forum auquel appartient le sujet en question.
Puis, s'assurer qu'il a le droit de poster un nouveau topic (auquel cas on affiche l'image en question).
Et enfin s'assurer qu'il a le droit de poster une réponse.

Heureusement pour nous, le terrain est déjà préparé puisque vous devriez avoir une requête qui s'approche de ça :

Page : voirtopic.php

Code : PHP
1
2
3
4
5
6
7
8
9
<?php
$requete1 = mysql_query("
SELECT topic_titre, topic_post, forum_topic.forum_id, 
forum_name, auth_view, auth_topic, auth_post 
FROM forum_topic 
LEFT JOIN forum_forum ON forum_topic.forum_id = forum_forum.forum_id 
WHERE topic_id = '".$topic."'") or die (mysql_error());
$data1 = mysql_fetch_assoc($requete1);
?>


Une fois encore, on ajoute sans plus attendre la première vérification :

Code : PHP
1
2
3
4
5
6
<?php
if (!verif_auth($data1['auth_view']))
{
exit("Vous n avez pas le droit de vous trouver ici ! </div></body></html>");
}
?>


Enfin, on se dirige vers les boutons 'poster' et 'répondre', qu'on entoure des conditions suivantes :

Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
<?php
if (verif_auth($data1['auth_post']))
{
//On affiche l'image répondre
echo'<a href="./poster.php?action=repondre&amp;t='.$topic.'">
<img src="./images/repondre.gif" alt="Répondre" title="Répondre à ce topic"></a>';
}

if (verif_auth($data1['auth_topic']))
{
//On affiche l'image nouveau topic
echo'<a href="./poster.php?action=nouveautopic&amp;f='.$data1['forum_id'].'">
<img src="./images/nouveau.gif" alt="Nouveau topic" 
title="Poster un nouveau topic"></a>';
}
?>


Ce n'est pas plus compliqué que ça :) . D'ailleurs on touche à la fin, il ne nous reste plus qu'à modifier une page.

Page poster.php



Comme ce qu'on fait depuis tout à l'heure est assez répétitif, et surtout assez facile, je vais vous laisser vous occuper seuls de cette page, parce qu'il est important que vous ayez compris le fonctionnement de ce système afin de pouvoir le personnaliser au maximum.

Voilà ce qu'il faut vérifier :



Encore une fois, tout est déjà mis en place grâce à une requête, celle-ci diffère selon qu'on se trouve dans le cas d'un nouveau topic ou d'une réponse.

Pensez à placer les vérifications avant d'afficher le contenu de la page : si elle n'est pas remplie, faîtes un simple exit, puis passez à la suite.

Pour ce qui est de la page postok.php, on ne peut logiquement pas s'y rendre en postant quelque chose, dans la mesure où l'accès à la page poster.php est bloqué si on n'a pas les droits. Toutefois, ça ne coûte rien de le faire quand même : faites donc exactement les mêmes modifications là-bas.

Vous pouvez maintenant enlever le if qui vérifiait si un visiteur était connecté pour poster, puisque c'est déjà fait plus haut, grâce aux champs auth_topic et auth_post.


Nous avons maintenant terminé ce système d'autorisations ; dans tous les forums, vous pouvez régler différents niveaux d'accès. Libre à vous de faire une partie réservée aux modérateurs ou aux administrateurs.

Le bannissement

Il arrive malheureusement souvent d'être confronté à des membres qui ne respectent pas les règles de votre forum, et qu'il faut donc supprimer.
Vous pouvez bien sûr l'effacer carrément de la base de données, mais s'il a déjà posté des messages, ça risque de créer des bugs. Reste donc une solution, le bannissement. Via le panneau d'administration, il est possible de choisir un membre et de le bannir, c'est-à-dire que si celui-ci essaye de se reconnecter, il sera bloqué.

La technique la plus simple est de lui mettre un niveau d'autorisation à 0. Comme ça, il ne pourra se rendre sur aucune page (je rappelle que 1 est pour un visiteur non connecté).

Cependant ça ne suffit pas : il faut faire comprendre à ce membre qu'il n'est plus le bienvenu. C'est-à-dire que sur la page de connexion, s'il entre bien ses identifiants, un message apparait et lui explique tout ^^ .
Prenez la page connexionok.php, je vous rappelle rapidement son fonctionnement :
on récupère ce qui est entré dans le formulaire, on vérifie que le pseudo et le mot de passe concordent, puis on attribue les variables de sessions.
On va simplement vérifier que la valeur du champ membre_rang est nulle ; si c'est le cas, c'est que le membre est banni, et on ne déclare pas les variables de session. Ainsi, il ne sera pas connecté.
Voyez plutôt :

Page : connexionok.php

Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
<?php
if ($data1['membre_mdp'] == md5($password)) // Acces OK !
{
        if ($data1['membre_rang'] == 0) //Le membre est banni
        {
        $message="<p>Vous avez été banni, 
        impossible de vous connecter sur ce forum</p>";
        }
        else //Sinon c'est ok, on se connecte
        {
        $_SESSION['pseudo'] = $pseudo;
        $_SESSION['level'] = $data1['membre_rang'];
        $_SESSION['id'] = $data1['membre_id'];
       
        $message = '<p>Bienvenue '.intval($_SESSION['pseudo']).', vous êtes maintenant connecté !</p> <br />
                        <p>Cliquez <a href="./index.php">ici</a> pour revenir à la page d accueil</p>';
        }
}
?>


Vous devez normalement reconnaitre ce morceau de code : ce que j'ai fait, c'est ajouter une condition comme je l'ai expliqué plus haut.

Attention toutefois, le membre est banni et ne peut donc pas se connecter : ce n'est pas pour ça qu'il lui est impossible de visiter le forum en tant que visiteur "simple", on parle d'ailleurs souvent de lecture seule pour dire bannissement.

Mais en fait, qu'est-ce qui l'empêche de recréer un compte ?


Rien... si ce n'est son adresse e-mail. A vrai dire, il est difficile de vraiment empêcher un membre de revenir : tout ce que vous pouvez espérer, c'est qu'il se rachètera ^^ .
Cependant, il existe une méthode qui vaut ce qu'elle vaut : faire une table reliant les id des membres bannis et leurs adresses IP. Ainsi, vous pouvez faire une vérification sur l'adresse IP au moment de la connexion, et surtout de l'enregistrement. Mais en aucun cas cela ne va l'empêcher de revenir, il lui suffira de changer son adresse IP. C'est simplement une vérification de plus.

Voilà, nous venons de voir un statut assez spécial qui est celui d'un membre déchu :p . Si je dis statut, c'est parce qu'il s'agit en fait, comme vous l'avez vu, du niveau d'autorisation le plus bas possible.

Avant de conclure ce chapitre, j'aimerais que nous voyons rapidement comment permettre aux modos et aux admins de poster des annonces.

Les annonces

Cette partie est très courte, je vous rassure : il faut simplement placer une petite vérification sur le formulaire de la page poster.php, et une autre sur postok.php.
Pour éviter une trop grande prolifération des annonces, seuls les modérateurs (ou les administrateurs, de toute façon, eux, ils peuvent tout faire :p ) pourront en poster. Nous allons donc reprendre la fin du formulaire de la partie du switch concernant les nouveaux topics, et la modifier comme ceci :

Page : poster.php

Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
<textarea cols=80 rows=8 id="message" name="message"></textarea>
<br />
<?php
if (verif_auth($data1['auth_annonce']))
{
?>
<label><input type="radio" name="mess" value="Annonce" />Annonce</label>
<label><input type="radio" name="mess" value="Message" checked="checked" />Topic</label><br />
<?php
}
?>
<input type="submit" name="submit" value="Envoyer" />
<input type="reset" name ="Effacer" value ="Effacer" />
</form></p>


Ainsi, un membre normal ne voit pas qu'il y a le choix, il ne peut que poster un topic "normal". La variable de $_POST['mess'] est donc nulle (je vous rappelle que, dans la base de données, sa valeur par défaut est celle d'un topic normal, c'est pourquoi il n'est pas nécessaire de préciser davantage).
En revanche, un modérateur a le choix, lui. Enfin je m'arrête là, je pense que vous avez compris l'idée.

Vous remarquez toutefois qu'il y a une séparation entre les champs auth_annonce et auth_modo, c'est-à-dire que si vous voulez, vous pouvez permettre à n'importe quelle catégorie de membres de poster une annonce sur un forum précis.

Il faut à présent se rendre sur la page postok.php : en effet, même si la valeur de $_POST['mess'] ne peut être remplie que par les personnes autorisées, il n'est pas exclu qu'un membre arrive à contourner le problème en utilisant un formulaire qui utilise postok.php comme page de traitement. Il pourrait alors poster une annonce. Pour éviter ça, on va simplement placer une vérification dans la partie nouveautopic de la page postok.
Vous pouvez par exemple faire comme ceci :

Code : PHP
1
2
3
4
5
6
<?php
if (!verif_auth($data1['auth_annonce']) && isset($_POST['mess']))
{
exit('</div></body></html>');
}
?>


Et voilà le travail. :p


Remarques

Juste quelques mots avant que je vous lâche : ce chapitre a été simplifié au maximum mais il n'est pas parfait ; je vais vous donner quelques idées pour améliorer et personnaliser ce système.

Si vous avez bien regardé, il est impossible d'attribuer des modérateurs différents sur chaque forum (comme sur phpbb), c'est-à-dire que les modérateurs ont des droits spéciaux sur tous les forums.

Ce que vous pouvez faire, c'est créer des groupes, qui ont des privilèges différents (par exemple, le groupe des newsers qui ont la possibilité de modérer le forum news, mais qui restent des membres "normaux" partout ailleurs).
Pour cela, il vous faut plusieurs tables supplémentaires :

- une table forum_groupes du style
group_id, group_name, group_logo, etc.
- une table forum_groupes_droits du style
group_id, forum_id, group_droit.

Du coup, si on reprend l'exemple des newsers (oui, j'y tiens ^^ ), on aurait :

Citation : Pas de titre

Table forum_groupes : 5, Newsers, newser.jpg
Table forum_groupes_droits : 5, 1, 3

Je rappelle que 3 équivaut au niveau de modération.
5 est l'id du groupes : Newsers et 1 est l'id du forum de news.

Il ne faudra alors plus se baser sur la variable de session $_SESSION['rang'] pour connaître le niveau d'autorisation d'un membre, mais sur le résultat d'une requête qui pourrait ressembler à ça :
Code : PHP
1
2
3
4
5
6
7
<?php
$requete = mysql_query('
SELECT group_droit FROM forum_membres
LEFT JOIN forum_groupes_droits
ON forum_groupes_droits.group_id = forum_membres.membre_rang
WHERE membre_id = '.$_SESSION['pseudo'].'');
?>


Ainsi, vous avez complexifié un peu le système d'autorisation de votre forum.
L'avantage énorme qu'on en tire est qu'on n'est plus limités dans le nombre de groupes. On peut très bien atteindre le groupe avec l'id 39 !

Oui, mais du coup les newsers (puisqu'ils ont l'id 5 dans ton exemple) seront plus importants que les admins !


C'est vrai si l'on continue à garder l'ancienne méthode (enfin, pas si ancienne quand même :p ) en utilisant la fonction verif_auth. Mais il faut sortir de ce concept, l'id d'un groupe ne sert à présent qu'à l'identifier, et la table forum_groupes_droits nous informe sur son niveau d'accès sur le forum en question.

Voilà pour cette histoire d'autorisations. On a ainsi commencé tranquillement dans les pages d'administration, puisque vous voyez qu'il ne s'agit que de petites modifications.

A l'avenir, lorsque vous voudrez créer un forum, il faudra renseigner la valeur des champs auth_view, auth_post, etc. pour une plus grande liberté.

La suite du tuto est un TP : elle concerne la partie modération, suppression de topics ou édition. Dès que vous être partants, on y va !
Chapitre précédent Sommaire Chapitre suivant
Retour en haut Retour en haut


Créé : le 13/09/2006 à 19:48:41
Modifié : le 01/09/2008 à 23:08:45
Avancement : 100%

12 commentaires

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 156 Zéros connectés | Requêtes SQL 8 requêtes | Temps de génération de la page : Total (SQL) 0.0239s (0.0116s)