Création CMS et Site Web

Création CMS et Site Web - Divers - Programmation

Marsh Posté le 28-08-2013 à 14:46:27    

Easy and Modulable Website (EMWebsite) est un CMS gratuit et Open-Source (licence CeCILL V2). Le but est de concevoir un système à la fois puissant, rapide et simple à l'utilisation comme au codage.
Pour ce faire, le site se divise suivant trois parties : le noyau, les modules et les thèmes.

 

La personnalisation est de mise ; par exemple, il est possible d'avoir un thème sur une page, un autre sur une autre, cela étant rendu possible par le système de gestion des thèmes mais aussi la séparation des différents éléments constituant les pages (que se soit structurellement ou au niveau codage).

 

Les pages ne sont pas une simple succession de données comme habituellement avec les éléments fixés sur leur position. Ici, les pages sont régis par le gestionnaire de blocs. Ce dernier ayant pour but de réaliser un découpage, par défaut 4 blocs sont créés : l'en-tête, le pied de page, le corps de la page et les menus.
Les positions ne sont pas fixes sauf pour l'en-tête et le pied de page ; pour le reste le menu peut par exemple être passé d'un menu vertical à un menu horizontal sans rien changer dans le code. Simplement, au moment de la composition du menu, le bloc lui indique qu'il doit être afficher horizontalement.

 

Un gestionnaire de langue par fichiers INI (mais peut être configuré pour utiliser du XML), permet de gérer plusieurs langues en même temps. L'avantage par rapport à ce qui se fait habituellement à savoir disposer d'un document PHP ayant une (ou plusieurs) variables pour la langue, c'est qu'ici si dans la langue choisie le texte n'est pas présent, il essayera par défaut d'afficher en anglais (internationalisation oblige). La langue de référence est donc l'anglais, même si pendant le développement, le français sera privilégié. La langue anglaise, sera la langue la plus à jour (le français devrait normalement l'être aussi car ces deux langues sont gérés officiellement et ce dès le début).

 

Au niveau de la sécurité, la personnalisation est aisée ; il est possible de choisir parmi plusieurs niveaux de sécurité pour les captcha et même de les personnaliser. Pour les mots de passe, il est possible de choisir entre plusieurs algorithmes de hashage, cependant faire un changement d'algorithme implique alors une remise à zéro de tout les mots de passe, un code de validation est alors généré et envoyé aux inscrits (administrateurs compris) pour en recréer un ; cela impliquant aussi une déconnexion totale de toute les personnes présentes (sauf les visiteurs qui ne sont pas des inscrits).

 

Pour la rapidité, 3 cliques seulement sont nécessaires pour installer un module : le premier consiste à fournir une URL vers un fichier ZIP ou le fournir depuis votre ordinateur, le second c'est de valider (une fois la récupération terminée) son installation, enfin le dernier consiste en son activation (sauf si coché à l'installation).

 

Au niveau de la rapidité, chaque élément du site, est écrit spécifiquement pour lui, ceci impliquant beaucoup d'interaction entre les classes composants le kernel. Ceci permet alors de n'avoir que des fonctionnalités dont le site a besoin, il vaut mieux rajouter au besoin que trop mettre au départ et alourdir.

 

Un système de cache par exemple permet de réduire les temps de chargements. Ce dernier ayant deux fonctions : cache template et cache BDD.
Le cache template, prend le contenu de ce dernier une fois parsé sauf les données de la base de donnée (si plusieurs connectés ont une langue différente indiquée dans leurs options, il y aura deux caches, un pour chacune des langues), ainsi tout le parsage traditionnel pour intégrer la langue notamment, n'aura pas lieux, seul la BDD travaillera encore.
Le cache BDD lui, s'occupe de stocker sous une forme sécurisée (encore à définir), les informations de la page concernée une fois récupérées. Ceci permet alors d'économiser du temps et des requêtes.
Le couplage des deux caches, permet alors à une page de n'avoir aucun traitement. Par exemple une page affichant la liste des membres, n'a pas besoin d'être réécrite à chaque fois. On peut très bien mettre en cache les données BDD et le template ; il suffira alors à la demande de la page, de prendre les données BDD en cache, de les placer au sein du templates et envoyer le résultat ; le tout prenant donc très peu de temps et consommant beaucoup moins de ressources processeurs.

 

Il est même possible de lui faire générer les templates au lieu de les écrire, pour cela il suffit d'utiliser le générateur de template fonctionnant avec des documents XML lui indiquant quoi faire. Très utile surtout pour générer un formulaire sans avoir un template fixe.

 

Les possibilités sont extrêmement nombreuses et le tout permet d'allier rapidité, simplicité et puissance.
Je passerais régulièrement pour indiquer l'avancement du projet.

 

Les différentes versions seront déclinées en 4 étapes :
- Alpha, version de teste interne à l'équipe mais montrer officiellement via screenshots et vidéos ; les choses ne sont pas fixes et peuvent changer.
- CBT, version de teste privée, des volontaires seront donc recrutés au moment en question et dont le travail sera de trouver les bugs les plus gênants et critiques ; les choses peuvent encore pas mal changée.
- OBT, version de teste publique, n'importe qui pourra donc télécharger et utiliser cette version ; les testeurs ont comme rôles de débusquer les derniers bugs les plus critiques et trouver les plus les moins gênants ; les choses ne changeront pas spécialement, visuellement c'est possible mais peu probable.
- RC (Release Candidate), version considérée comme la plus stable au sein du développement, le but étant de trouver les derniers bugs ; rien d'autres ne bouge. Cette version peut être utilisée en production sans soucis ; les corrections sont appliquées plus rapidement.
- Release, version finale et donc considérée comme stable ; utilisable en production.

 

Chaque étape dispose de son propre numéro de version, permettant de savoir donc à quoi on fait référence. Si on dit : version 1.0, c'est la Release. Si maintenant on dit : version CBT 2.5, cela veut dire que c'est la cinquième version modifiée de la version 2 du site.

 

Pour l'instant, nous sommes trois personnes : moi même (christophedlr) pour tout le travail ainsi que Aatom et MrDorian72 du site Millenium.org et Iplay4you.fr qui veulent créer un site sur le Hardware, et qui du coup utiliseront dès le début le CMS, ils sont donc testeurs officiels (et disposeront donc du site en exclu et ce dès la version Alpha, un lien sera ajouté quand il sera en ligne).

 

J'ai donc besoin d'un petit peut d'aide, voici donc les postes à pourvoir :
- un codeur PHP, ce dernier devra s'occuper des différentes classes du kernel au besoin, mais surtout des différents modules ;
- un graphiste, ce dernier devra créer les différents designs (thèmes) du site, cela passe par le CSS mais aussi les templates au format XHTML ou XML pour les templates générés automatiquement ;
- un ou plusieurs traducteurs, en effet le site sera en français et anglais à sa sortie. Si des traducteurs nous rejoignent dans cette aventure, il est alors prévu de gérer l'espagnol et l'allemand en priorité (en plus du français et de l'anglais) ; d'autres langues viendront au fur et à mesure.

 

Pour les candidats, je vous demanderais de mettre simplement un message pour m'en informer et de me contacter à cette adresse : effacé par elmoricq pour me donner de quoi vous recruter (montrer votre motivation, éventuellement montrer quelque chose de fait en rapport avec le poste visé, vivement conseillé mais non obligatoire et tout ce que vous jugerez utile de me dire).
Les postes ne sont pas rémunérés, le projet étant totalement gratuit, aucune rémunération de prévue à moins que les futurs utilisateurs du site nous fasse des dons (ce qui sera possible dès la sortie de la première version), alors ces derniers seront répartis équitablement entre les différentes personnes composants l'équipe.

 

Ce post sera mis à jour au fur et à mesure.

 

P.S. : ce n'est pas parce qu'il n'y a que certains postes et un certain nombre que vous ne pouvez pas postuler, soit vous êtes pris soit votre candidature est gardée sous le coude en cas de besoin.


Message édité par Elmoricq le 29-08-2013 à 09:47:28
Reply

Marsh Posté le 28-08-2013 à 14:46:27   

Reply

Marsh Posté le 29-08-2013 à 09:46:59    

Mauvaise catégorie.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed