Le thème par défaut est disponible en temps que thème sombre (Dark).

NOTE: Ce thème est une version BETA, des modifications seront apportées au fil du temps.

Aller au contenu

Cloudfordream
  • Veuillez ne pas poster de message pour but d'insulter, incitation à la haine, propos sexuels et tout autre qui ne respecte pas nos conditions d'utilisation !
Don Salamanca

 tutoriel Créer son propre CMS de zéro

Messages recommandés

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:

Vous devez avoir 7 jours d'ancienneté ainsi que 10 message pour débloquer ce lien.

 

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

  • J'aime 1

Partager ce message


Lien à poster
Partager sur d’autres sites
Bad Dev

Salut,

 

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

 

- Rick

Partager ce message


Lien à poster
Partager sur d’autres sites
Modérateur
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:!

Partager ce message


Lien à poster
Partager sur d’autres 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

Partager ce message


Lien à poster
Partager sur d’autres sites
Bad Dev
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:

Partager ce message


Lien à poster
Partager sur d’autres sites
Premium

merci à toi snoop dog ;)

Partager ce message


Lien à poster
Partager sur d’autres sites
VIP

Salut,

 

Merci c'est vraiment utile :dance: :d: 

Partager ce message


Lien à poster
Partager sur d’autres sites
Donateur

Salut,

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Super tutoriel!

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci beaucoup, je me rappel à l'époque c'était assez chiant cette faille XSS.

Partager ce message


Lien à poster
Partager sur d’autres sites

Il serait intéressant de faire une série de tutoriels de ce genre non ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

Bienvenue invité !

Inscrit-toi ou connecte-toi pour une navigation sans restriction.

×