Aller au contenu
  • Veuillez ne pas poster de message pour but d'insulter, incitation à la haine, propos sexuels et tout autre qui ne respecte pas nos conditions générales !

Créer son propre CMS de zéro


Don Salamanca

Messages recommandés

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:

Pour avoir accès à ce lien, merci de vous connecter.

 

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

2bNP.png&key=db98c2451c5d47b3c9fdc4ce7e9

  • J'aime 1
Lien à poster
Partager sur d’autres 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:!

 

 

 

 

 

Lien à poster
Partager sur d’autres sites

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

2bNP.png&key=db98c2451c5d47b3c9fdc4ce7e9

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

Lien à poster
Partager sur d’autres sites

  • 2 semaines plus tard...

Salut,

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

__________________________________________________________________________________________________________________________________

           AKRINO

__________________________________________________________________________________________________________________________________

 

Lien à poster
Partager sur d’autres sites

  • 1 mois plus tard...
  • 2 semaines plus tard...
  • 2 semaines plus tard...
  • 1 mois plus tard...
  • 3 ans plus tard...
  • 3 semaines plus tard...
  • 4 semaines plus tard...
  • 1 mois plus tard...

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
×
×
  • Créer...