LE FRAMEWORK QUI ENCAPSULE LE PARADYGME DE LA POO.

xuServer un FRAMEWORK PHP innovant.

Son principe fondateur est d'encapsuler les notions de programmation orientée objet ... dans des classes PHP 5.3.

  • un objet possède une architecture : propriétés collections et méthodes
  • un objet peut s'instancier.
    • ses propriétés proviennent des champs la base de données (regroupées en formulaires)
    • ses collections proviennent des relations entre les tables de la base de données (unique, multiples)
    • ses méthodes : manipulent tout ou partie des collections et propriétés pour effectuer des traitements

XUML : est la syntaxe xml propre à xuServer pour décrire l'architecture de chacun de vos objets.

L'interface d'administration du framework vous permet de gérer cette syntaxe, mais également, de générer automatiquement grâce à vos modèles de données écrit sous dbDesigner.

GESTION DES PROFILS D'UTILISATEURS INTEGREE.

Tout objet est manipulé par un utilisateur. Ce dernier possède ou non certains droits sur son architecture.

C'est pourquoi xuserver intègre un module de gestion de privilèges qui s'applique sur l'architecture des objets

  • chaque objet peut être protégé par un privilège : en listage, en visualisation, en mise à jour, en création, en suppression
  • il en va de même de son architecture interne
    • chaque formulaire (groupe de propriétés) : en visualisation, en mise à jour
    • chaque collection : en listage, en rattachement, en détachement
    • chaque méthode : en utilisation
  • les objets sur lesquels aucun privilège n'est définit restent protégés par les permissions par défaut du profil

xuServer n'est qu'un FRAMEWORK de plus qui gère des formulaires CRUD mappés sur la base de donnée, possède un système de login intégré, une interface d'administration, traduit les modèles de données dbDesigner en classes d'objets et utilise jQuery UI Framework coté client.

par exemple :

$affaire1->_icon()
$canada->_updateForm(0)

LE FRAMEWORK QUI REND PHP CHAINABLE.

La nouveauté réside dans sa syntaxe de programmation orientée métier : phpChain

Vos objets métiers héritant de la classe finale du FRAMEWORK (xuObject) disposeront automatiquement d'une syntaxe :

  • chainable et empruntée à jQuery
  • offrant de nombreux fonctionalités intégrées (envoyer par mail un objet, explorer ses documents rattachés, utiliser ses formulaires, composer ses collections)
  • donnant accès à l'architecture de vos objets (propriétés, collections, méthodes)
  • permettant ainsi d'écrire les règles métier de comportement, de calcul, propres à vos objets ...
  • "comme si l'on écrivait une phrase"

$budgetDo = function ($budget){
    
$budget->parent()->somme += $budget->property["montant"];  
};

$obj1 xuNew("xbm""affaire"1);
$obj1->sys()->icon()->flush()
    ->
collection("budget")->each($budgetDo)
    ->
parent()
    ->
property("montant_marche")
    ->
update$obj1->somme );

$obj1->updateForm("ccap")->flush();

PLUS DE DETAILS ...

developpement coté browser

Afin d'accroitre l'attractivité des sites internet qu'il permet de produire, xuServer utilise le framework jQuery User Interface et propose de nouveaux plugins, basés sur ce puissant environnement de développement (utilisé par google, dell, CBS news).

Certains composants du framework jQuery ont été améliorés avec de nouvelles fonctionnalités (onglets refermables, fenêtres épinglables), et d'autres (re)créés de manière à éliminer totalement l'emploi d'une nouvelle feuille de style pour chaque nouveau composant.

Ainsi, TOUS les gadgets mis en ligne par xuServer fonctionnent en conservant la philosophie des feuilles de style et des composants disponibles sur le site jQuery Themeroller.

voir la demo...

Ces gadgets sont disponibles par simple téléchargement et fonctionneront parfaitement sur votre site internet dans la mesure où vous utilisez les fichiers de base du framework jQuery UI.


developpement coté serveur

Si l'on se tourne du coté de la programation d'applications dynamiques, en lien avec une base de données, xuServer est une solution pensée pour construire des sites internet directement à l'aide des modèles de données.

modèles de données

Parce qu'il fournit des fichiers de sauvegarde au format xml, l'outil de modélisation sur lequel s'appuie xuServer est dbDesigner de fabforce.

modularité

Parce chaque modèle de données s'applique à différentes fonctionnalités, xuServer conçoit les modèles de données comme autant de modules du site internet.

Il s'agit donc d'un environnement modulaire, open source, qui ouvre la voie du partage de compétences entre ses utilisateurs.

fonctionnalités et règles métier

Il est certain que le simple accès aux informations stockées dans une base de données ne suffit pas pour que leurs règles de gestion soient définies, pour que les compétences de type "métier" soient décrites. C'est pourquoi :

le noyau de l'environnement xuServer est léger (1500 KO)

Le framework comporte un module natif de gestion de droits d'accès (xam : xuserver account management), ainsi qu'une interface intégrée pour l'installation et la gestion des nouveaux modules.

les règles métier sont stockées dans des classes d'objets rattachées aux modèles de données

installation et intégration

De manière à s'intégrer à votre site internet, sans aucune modification de celui-ci, l'ensemble de l'environnement xuServer s'intalle dans un répertoire unique, directement depuis internet.

installer xuServer

Une fois installé, l'environnement xuServer dispose d'un composant javascript (jquery-xuserver-1.6.1.js) qui génère automatiquement un point d'accès unique sur les pages où il est inséré, sous la forme de l'icone ci dessous :




Documentation coté Serveur

L'emploi de l'environnement Eclipse et de PHPDocumentor nous permet de mettre à jour la documentation du framework à mesure de son développement.

lire la documentation de l'API

Cette documentation donne un apperçu de la structure des objets PHP utilisés du coté serveur :

  • description UML des objets (classe, propriétés, collections, méthodes).
  • affectation de privilèges sur les objets et définitions des permissions pour leurs utilisateurs.
  • modularité ouvrant la voie du développement de nouvelles fontionnalités.
  • interface d'administration et d'installation.

Documentation coté Client

Le contrôle des formulaires et de certains effets DHTML est basé sur l'emploi des widgets de la librairie jQuery UI et le principe des classes Themeroller.

Cependant, afin de rendre l'expérience de l'uutilisateur plus agréable en terme d'ergonomie, xuServer à développé ses propres widgets dont voici une liste (non exhaustive)

L'installation de xuServer est simple et automatisée

L'arbre ci dessous vous donne accès aux instructions d'installation et de téléchargement.

  • procédure
    • 1. prérequis
    • 2. la base de données
    • 3. le dossier d'installation
    • 4. l'assistant d'installation
  • download
    • ASSISTANT D'INSTALLATION
    • API XUSERVER
    • plus de téléchargements ...

prérequis

L'environnement xuServer combine les technologies MySQL, PHP, XSL et JQuery.

Sur la base d'un serveur WAMP 2.0, il s'installe avec les paramètres additionnels suivants :

  • detail
    • MYSQL version : 5.1.36
    • PHP version : 5.2.1
      • settings
        • file uploads
        • y2k compliance
      • extensions activées
        • php_xsl.dll
        • php_mysql.dll
        • php_zip.dll

première étape : la base de données

Une fois que votre serveur PHP est en fonctionnement, il faut y disposer d'une base de données, éventuellement vierge lors d'une permière installation, ainsi que des identifiants de connection à cette base de données. A savoir :

  • le nom du serveur ou la base est installée
  • le nom de l'utilisateur de la base de donnée
  • le mot de passe de cet utilisateur
  • le nom de la base de donnée que vous allez utiliser

L'assistant d'installation de xuServer v1.6.1 ne comporte pas d'une fonction de création de base de données car tous les services d'hébergement n'activent pas l'emploi de la commande CREATE DATABASE.

Il est donc conseillé d'utiliser votre console d'administration pour cette première étape.

deuxième étape : le dossier d'installation

Une fois que votre base de donnée est prête, il est nécessaire de choisir le répertoire où installer les fichiers de l'application xuServer.

Pour que l'assistant d'intallation puisse fonctionner correctement, le répertoire d'installation doit disposer des droits d'écriture chmod(0777).

Le serveur est prêt à recevoir le fichier d'installation.

téléchargement : l'assistant d'installation

Votre base de donnée est créée et le répertoire d'installation est configuré...

Félicitations, votre serveur web est maintenant prêt à recevoir le framework xuServer.

Téléchargez le dossier compressé suivant.

Placez son contenu dans le répertoire d'installation que vous venez de configurer.

Ouvrez votre navigateur à l'adresse correspondante (*) et suivez les indications de l'assistant d'installation.

(*) http://monsite/mondossier/install.php

téléchargement : xuServer

L'assistant d'intallation vous proposera de télécharger la dernière version du framework. Vous pouvez préparer cette étape en téléchargeant dés à présent le dossier compressé suivant.

plus de téléchargements

L'environnement xuServer est modulaire et évolutif !

Vous pouvez donc visiter sa bibliothèque de téléchargements. Vous y trouverez les mises à jour du framework, ainsi que de nouveaux modules.

Vous pourrez également enrichir cette bibliothèque de partage en y déposant vos propres packages, vos propres modules.