UNPKG

jcms

Version:

un cms utilisant node.js et mongoDB

252 lines (217 loc) 7.78 kB
API JCMS ==================================================================================== ============================== Liste des modules NPM =============================== ==================================================================================== tout ces modules sont utiliser par jcms et sont donc disponible via la fonction require. ex: var laVariable = require("nomDuModule"); - backbone - backbone-orm - backbone-validation - bluebird - body-parser - bootstrap - bson - cluster - ejs - express - method-overdrive - mongoose - mongoose-gen - mysql - rsvp - socket.io - underscore ==================================================================================== =================================== Coté Serveur =================================== ==================================================================================== accecible via la variable $ Classe Framework Variable Module Template Modele Controleur Route Fonction Fin Classe ==================================================================================== Classe Serveur Variable CONFIG Objet: contient toute la config du site express Objet: contient le module express app objet: objet initialisé à partir d'express bodyparser pour les formulaire methodeoverdrive cluster module cluster isMultiThread Boolean: si le serveur doit fonctionner sur plusieurs thread ou non args contient les argument passer au lancement du script core contient le module core module contient les autres modules info contient les info sur le serveur/site (ip, port, env) about contient des info sur JCMS(nom, version, auteur) Fonction start demare le serveur startWorker(idWorker) demare un nouveau worker Fin Classe ===================================================================================== Classe Module Variable nom chaine: nom du module version chaine: version du module Fonction addToPanelAdmin ajoute un element dans le menu du panneau admin removeToPanelAdmin enleve l'element du menu correspondant au module start demarre le module stop arrete le module restart redemarre le module install execute des traitements au premier lancement du module desinstall execute des traitements pour supprimer tout ce qui a rapport avec le modi initDatabase initialise la base de donnée removeDatabase supprime la table initRoute créer d'eventuelle route selon le schemma de modele (utile pour créer automatiquement les route pour les sous-modele) new créer une nouvelle entitée get(id) recupere une entitée getAll recupere toute les entitée update(id, donnee) met a jour une entitée del(id) supprime une entitée Fin Classe ===================================================================================== Classe Noeud Variable Fonction Fin Classe ===================================================================================== Classe Page Variable Fonction Fin Classe ===================================================================================== Classe Template(filePath, option, callback) Variable rsvp fs ejs Fonction ajouterBloc(bloc) generer init(filePath) loadFile(path) supprimerBloc(id) Fin Classe ===================================================================================== Classe Modele Variable Fonction Fin Classe ===================================================================================== Classe Controleur Variable Fonction Fin Classe ===================================================================================== Classe Route Variable Fonction Fin Classe ===================================================================================== FICHIER CONFIG.json { "variable": "appli", "titre": "the world online project", "identifiant-site": "twop", "admin": "nomAdmin", "mdp_admin": "motDePasseAdmin", "favicon": "public/favicon.ico", "view_engine": "ejs", "db": "mongodb", "bdd": { "mysql": { "host": "addresseDuServeur.com", "user": "nomUtilisateur", "mdp": "motDePasse", "database": "nomDeLaBase" }, "mongodb": { "host": "addresseDuServeur.com", "database": "nomDeLaBase" } } } ==================================================================================== =================================== Coté Client ==================================== ==================================================================================== ==================================================================================== =================================== API REST Ful =================================== ==================================================================================== module core GET /core/restart redemare jcms GET /core/info recupere les info sur l'appli et le serveur GET /core/module liste des modules GET /core/module/nom recupere le schemma du module module noeud GET /noeud Liste les nœud chargé GET /noeud/id Afficher un nœud spécifique POST /noeud Créer un nouveau nœud à partir d’un modele/schemma PUT /noeud/id Modifie un nœud DELETE /noeud/id Supprime un nœud GET /noeud/nom liste les entitées d'un noeud GET /noeud/nom/id recupere une entitée d'un noeud POST /noeud/nom ajoute une entitée à un noeud PUT /noeud/nom/id modifie une entitée d'un noeud DELETE /noeud/nom/id supprime une entitée d'un noeud /!\ en cas de sous-modele (ex: des commentaire pour un article) GET /noeud/nom liste les entitées d'un noeud GET /noeud/nom/nomDuChamp/id recupere un sous-modele d'une entitée d'un noeud POST /noeud/nom ajoute un sous-modele d'une entitée à un noeud PUT /noeud/nom/nomDuChamp/id modifie un sous-modele d'une entitée d'un noeud DELETE /noeud/nom/nomDuChamp/id supprime un sous-modele d'une entitée d'un noeud module page GET /page Liste les page chargé GET /page/id Afficher une page spécifique POST /page Créer une nouvelle page à partir de données PUT /page/id Modifie une page DELETE /page/id Supprime une page ==================================================================================== ============================= Framework (coté serveur) ============================= ==================================================================================== $$, Framework : variable global contenent le framework Object // classe affectant les objet toType renvoie le type de l'objet Singleton // classe pour créer les singleton create sert à créer une classe singleton Promises // un Pollyfill pour les promises Modele // la classe modele Controleur // la classe controleur Module // la classe module