Jump to content
  • Please do not post a message for the purpose of insulting, incitement to hatred, sexual remarks and any other which does not respect our terms of use !
Sign in to follow this  
Don Salamanca

 tutoriel Créer son propre CMS de zéro

Recommended Posts

VIP

Bonjour à tous,

 

Pas mal de personnes et de petits ou même grands rétros sont dépendant(e)s d'autres CMS, bien que je n'ai rien contre le fait d'utiliser des ressources venant de quelqu'un d'autre (on remerciera bien Sulake hein), j'ai toujours préféré concevoir mes CMS moi-même, et aujourd'hui je vais vous "apprendre" à concevoir le votre :p

 

Tout d'abord, voici ce dont vous aurez besoin pour se faire:

  • Un cerveau en état de fonctionner correctement
  • Un minimum de compétences en développement
  • Un serveur local (xampp, wamp, ect)

 

Première étape: le fichier cœur!

 

Un fichier cœur, c'est ce fichier qui regroupe tout ce dont votre CMS aura besoin pour fonctionner

Ce fichier ne vous dit rien? pourtant il est présent sous différents noms dans différents CMS: global, core, init, ect.

Vous pouvez le nommer comme vous le souhaitez, ce n'est pas une obligation de le nommer comme ci-dessus 

 

Ce fichier regroupera la connexion à votre base de données, la configuration de l'hôtel et les fonctions nécessaires au bon fonctionnement de votre CMS!

 

Concernant la connexion à la base de données je recommande fortement d'utiliser PDO, si vous utilisez encore mysql_connect (qui est totalement obsolète), rendez-vous vite sur ce lien et apprenez (et comprenez, c'est important :)) comme il se doit:

Please login or register to see this link.

 

Une fois la connexion à votre base de données faite, on passe à la configuration

 

Deuxième étape: la configuration!

 

Pour une configuration de base, vous indiquerez le nom de l'hôtel, le lien d'accès et la configuration des comptes à l'inscription

 

Voici un petit exemple d'une configuration basique préparée pour ce tutoriel, vous pouvez changer/rajouter des choses comme bon vous semble:

define('sitename', 'Habbo');
define('siteurl', 'http://localhost');

define('startmission', 'Je suis nouveau sur '.sitename);
define('startcredits', '1000');
define('startduckets', '500');
define('startpoints', '0');

sitename -> le nom de votre hôtel

siteurl -> le lien d'accès à votre hôtel

 

startmission -> la mission de l'utilisateur à l'inscription

startcredits -> le nombre de crédits à l'inscription

startduckets -> le nombre de duckets à l'inscription

startpoints -> le nombre de points/jetons à l'inscription

 

Vous y êtes toujours? Très bien, maintenant on passe aux fonctions :)

 

Troisième étape: les fonctions!

 

Tout d'abord, vous devrez mettre une fonction permettant de créer une session utilisateur, sans ça, il vous sera impossible de permettre la connexion à un compte utilisateur et de pouvoir naviguer sur le site correctement, pour vous aider un petit peu, il faudra que cette fonction vérifie s'il y a une session en cours et si le nom d'utilisateur existe bien, s'il n'existe pas, il faudra détruire cette session, tout simplement

 

Il vous faudra ensuite une fonction de sécurité, un htmlentities fera l'affaire et vous protégera notamment contre les failles XSS

Ce type de faille est bien connu et pour rappel, elle permet d'afficher du code HTML dans vos résultats, si un utilisateur entre un simple <script>alert('Bonjour');</script>, il n'y aura absolument rien de grave, ça sera sûrement un peu chiant mais à ce stade là, ce n'est pas considéré comme quelque chose de grave

 

Là où ça peut devenir grave, c'est si un utilisateur ajoute entre les balises script un code JavaScript permettant de rediriger vers un site et de conserver les informations d'authentification de l'utilisateur qui passera par là, ennuyeux n'est-ce pas? alors protégez-vous, la fonction que j'ai donné juste au dessus vous permettra d'éviter ça :)

 

Après ça, il vous faudra une autre fonction de sécurité permettant d'hasher les mots de passe des utilisateurs qui sont stockés dans la base de données

De nombreuses méthodes de hashage existe mais je vous recommande de lire ce topic: (cc @R4x0r3 :p)

 

Pas mal d'autres fonctions peuvent être rajoutées, à vous de faire comme vous le souhaitez, je ne vous donne que le plus basique :)

Une fois ceci fait, on va passer à la partie qui demandera le plus de travail: le site!

 

Quatrième étape: le site!

 

Pour cette étape, c'est vous qui êtes libre de faire ce que vous voulez!

Commencez par prendre une template, incluez votre fichier cœur en haut de chaque page (require_once) ainsi qu'une fonction permettant de savoir si l'utilisateur a une session ouverte ou non, si oui il sera redirigé vers la page d'accueil, si non il sera redirigé vers la page de connexion ;) (vous pouvez aussi faire un mode hors-ligne sur votre CMS pour que les invités puissent y avoir accès de façon restreinte, s'il veulent en voir plus il leur suffira tout simplement de s'inscrire)

 

A vous de vous débrouiller tous seuls pour le reste, ce tutoriel consistait uniquement à vous donner des informations de base sur la conception d'un CMS de zéro, et puis si je vous donnait absolument tout sans que vous ayez à en baver un peu ça servirait à rien, ce type d'exercice vous permettra d'apprendre de vous et de vos erreurs et à ne plus dépendre des autres et j'espère que ça servira à ceux qui débutent encore et qui n'ont jamais encore tentés de faire leur propre CMS :)

 

N'hésitez pas à me faire part de votre avancement et de ce que vous avez pu faire en commentaire

En espérant vous avoir aidé, je vous souhaite une agréable journée et une bonne continuation :p

Share this post


Link to post
Share on other sites
il y a 7 minutes, Rick a dit :

Salut,

 

Tutoriel intéressant, merci pour ceux qui cherche à créer leur CMS de A à Z.

 

- Rick

Rick t'es chaud pour lire un tuto en 3min mdr

Edit : Sympas le tuto , une bonne base pour débuter , mais il y a encore tellement de sujet à aborder aha :c8y0tr65-1d9a39:!

Share this post


Link to post
Share on other sites
VIP
il y a 14 minutes, R4x0r3 a dit :

Rick t'es chaud pour lire un tuto en 3min mdr

Edit : Sympas le tuto , une bonne base pour débuter , mais il y a encore tellement de sujet à aborder aha :c8y0tr65-1d9a39:!

 

Comme j'ai dis, si je donnais tout y'aurait rien à faire, faut que les gens se débrouillent un peu tout seul aussi :p

et puis c'est la meilleure manière d'apprendre, si on te donne tout pour réussir tu seras incapable de refaire ça tout seul

Share this post


Link to post
Share on other sites
il y a 30 minutes, R4x0r3 a dit :

Rick t'es chaud pour lire un tuto en 3min mdr

Edit : Sympas le tuto , une bonne base pour débuter , mais il y a encore tellement de sujet à aborder aha :c8y0tr65-1d9a39:!

Je lis très vite :ah:

Share this post


Link to post
Share on other sites
Vétéran

merci à toi snoop dog ;)

Share this post


Link to post
Share on other sites
Donateur

Salut,

Merci pour cette aide, ça peut vraiment servir :=) !

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...