jcms
Version:
un cms utilisant node.js et mongoDB
252 lines (217 loc) • 7.78 kB
Plain Text
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