Raccourcis : Contenu - rubriques - sous rubriques
FR

Piste :

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
jelix_vs_copix [2006/01/02 11:02] bballizlifejelix_vs_copix [2006/03/19 23:16] – (old revision restored) 127.0.0.1
Ligne 8: Ligne 8:
  
    * Entièrement optimisé pour PHP 5 : utilise donc au maximum les concepts objets de PHP5 et toutes les fonctionnalités de PHP5 : exceptions, autoload... Il n'existe pas de version pour PHP 4.    * Entièrement optimisé pour PHP 5 : utilise donc au maximum les concepts objets de PHP5 et toutes les fonctionnalités de PHP5 : exceptions, autoload... Il n'existe pas de version pour PHP 4.
-   * Ce qui a été réutilisé de Copix a été optimisé et "dépoussiéré" : le code mort ainsi que des fonctionnalités inutiles ont été supprimées, du code a été refactorisé etc.. +   * Ce qui a été réutilisé de Copix a été optimisé et "dépoussiéré" : le code mort ainsi que des fonctionnalités inutiles ont été supprimées, du code a été refactorisé etc... 
    * Meilleures performances générales : avec toutes les modifications apportées, Jelix est en théorie plus performant. Ainsi le code du coeur de Jelix (3000 lignes de code) est 40% moins important que celui de Copix (5000 lignes, sans compter les 2000 lignes de smarty)    * Meilleures performances générales : avec toutes les modifications apportées, Jelix est en théorie plus performant. Ainsi le code du coeur de Jelix (3000 lignes de code) est 40% moins important que celui de Copix (5000 lignes, sans compter les 2000 lignes de smarty)
    * Réorganisation au niveau de l'organisation des fichiers : nouvelle arborescence des répertoires, meilleure aptitude à être intégré dans un système de paquet comme celui d'une distribution Linux etc...    * Réorganisation au niveau de l'organisation des fichiers : nouvelle arborescence des répertoires, meilleure aptitude à être intégré dans un système de paquet comme celui d'une distribution Linux etc...
Ligne 14: Ligne 14:
    * Il n'y a plus CopixSimpleXml (remplacé par le simplexml de PHP5)    * Il n'y a plus CopixSimpleXml (remplacé par le simplexml de PHP5)
    * Système de thèmes de templates    * Système de thèmes de templates
-   * Meilleures prises en charges des services web grâce au nouveau coeur : XMLRPC, JSONRPC..+   * Meilleures prises en charges des services web grâce au nouveau coeur : XMLRPC, JSONRPC, ...
  
 ===== Le coeur ===== ===== Le coeur =====
Ligne 21: Ligne 21:
      * Il n'y a plus de paramètres "desc". Restent donc uniquement les paramètres "module" et "action"      * Il n'y a plus de paramètres "desc". Restent donc uniquement les paramètres "module" et "action"
      * Il n'y a plus de fichier *.desc.php. Ils sont remplacés par un unique fichier action.xml par module. Ainsi, toutes les actions sont déclarées dans un fichier XML (un peu comme dans struts, mais simplifié)      * Il n'y a plus de fichier *.desc.php. Ils sont remplacés par un unique fichier action.xml par module. Ainsi, toutes les actions sont déclarées dans un fichier XML (un peu comme dans struts, mais simplifié)
-     * Il y a un controle sur le type contenu d'une réponse en fonction de la requête. Par exemple, on ne peut pas générer du html si il s'agit d'une requête formatée en XMLRPC. La réponse devra être en XMLRPC. Il y a ainsi des objets de traitements de requêtes dediés à des requêtes spécifiques et n'autorisant que des réponses spécifiques.+     * Il y a un controle sur le type contenu d'une réponse en fonction de la requête. Par exemple, on ne peut pas générer du html s'il s'agit d'une requête formatée en XMLRPC. La réponse devra être en XMLRPC. Il y a ainsi des objets de traitements de requêtes dediés à des requêtes spécifiques et n'autorisant que des réponses spécifiques.
      * Les erreurs techniques qui pourraient apparaître (par trigger_error ou exceptions) sont générées dans le format approprié à la requête/réponse ! (pas de retour d'erreur formatées en HTML quand on attend du JSONRPC par exemple)      * Les erreurs techniques qui pourraient apparaître (par trigger_error ou exceptions) sont générées dans le format approprié à la requête/réponse ! (pas de retour d'erreur formatées en HTML quand on attend du JSONRPC par exemple)
      * les plugins de templates sont dédiés à un format de sortie spécifique. On ne peut donc pas utiliser un format      * les plugins de templates sont dédiés à un format de sortie spécifique. On ne peut donc pas utiliser un format
Ligne 37: Ligne 37:
 ===== DAO et Db ===== ===== DAO et Db =====
  
-Jelix réutilise le concept de DAO de Copix et le connecteur de bases de données CopixDb. Cependant, le format de DAO a un peu changé, étendu et le moteur totalement refait. Les méthodes PHP sont maintenant à intégrer dans le fichier XML, il n'y a donc plus la possibilité de faire des classes PHP annexes.+Jelix réutilise le concept de DAO de Copix et le connecteur de bases de données CopixDb. Cependant, le format de DAO a un peu changé, a été étendu et le moteur a été totalement refait. Les méthodes PHP sont maintenant à intégrer dans le fichier XML, il n'y a donc plus la possibilité de faire des classes PHP annexes.
  
 CopixDb (jDb dans Jelix) a subit un gros nettoyage et il ne reste que ce qui est utile (il n'y a plus par exemple les QueryWidget et il ne reste que l'indispensable dans le DbWidget). De plus, des méthodes ont été renommées afin d'apporter une similitude entre les classes jDbConnection, jDbResultset, avec les classes de PDO, la nouvelle couche d'abstraction de base de données de PHP5.  CopixDb (jDb dans Jelix) a subit un gros nettoyage et il ne reste que ce qui est utile (il n'y a plus par exemple les QueryWidget et il ne reste que l'indispensable dans le DbWidget). De plus, des méthodes ont été renommées afin d'apporter une similitude entre les classes jDbConnection, jDbResultset, avec les classes de PDO, la nouvelle couche d'abstraction de base de données de PHP5. 
  
-D'ailleurs, si un profil design le driver pdo, jDb (ex CopixDbFactory) instancie une classe PDO au lieu de jDbConnection.+D'ailleurs, si un profil désigne le driver pdo, jDb (ex CopixDbFactory) instancie une classe PDO au lieu de jDbConnection.
  
 À terme, jDbConnection/jDbResultSet devraient devenir obsolète, une fois que PDO sera suffisement répandu sur les serveurs. À terme, jDbConnection/jDbResultSet devraient devenir obsolète, une fois que PDO sera suffisement répandu sur les serveurs.
Ligne 55: Ligne 55:
 Jelix embarque donc un moteur de template inédit, bien plus léger. Il utilise une syntaxe de balise similaire à Smarty mais les expressions utilisées dans les balises sont en php. On peut aussi utiliser des plugins comme dans smarty (en fait, on peut réutiliser les plugins smarty sans trop de modifications pour les plus simples d'entre eux). Jelix embarque donc un moteur de template inédit, bien plus léger. Il utilise une syntaxe de balise similaire à Smarty mais les expressions utilisées dans les balises sont en php. On peut aussi utiliser des plugins comme dans smarty (en fait, on peut réutiliser les plugins smarty sans trop de modifications pour les plus simples d'entre eux).
  
-Il ajoute aussi une notation syntaxique spécifique pour les locales : @module~my.locale@ , permettant de récuperer une locale à l'intérieur même d'une expression, ou bien de faciliter son affichage : {@module~my.locale@}+Il ajoute aussi une notation syntaxique spécifique pour les locales : @module~my.locale@ , permettant de récupérer une locale à l'intérieur même d'une expression, ou bien de faciliter son affichage : {@module~my.locale@}
  
 ===== Authentification et Droits ===== ===== Authentification et Droits =====
Ligne 63: Ligne 63:
 La gestion de droits de Copix n'a pas été reprise et Jelix proposera dans la version finale un nouveau système plus clair et plus performant. La gestion de droits de Copix n'a pas été reprise et Jelix proposera dans la version finale un nouveau système plus clair et plus performant.
  
-===== Système évenmentiels =====+===== Système évènementiel =====
  
 Peu de choses ont été modifiées de l'original CopixEvent. Seul CopixEvent et CopixEventNotifier ont été fusionnés. Il y a eu quelques modifications mineures. Peu de choses ont été modifiées de l'original CopixEvent. Seul CopixEvent et CopixEventNotifier ont été fusionnés. Il y a eu quelques modifications mineures.
Ligne 70: Ligne 70:
  
 Jelix fournis des scripts php à utiliser en ligne de commande, facilitant la création des divers fichiers et arborescences dans une application, permettant donc un développement rapide. Jelix fournis des scripts php à utiliser en ligne de commande, facilitant la création des divers fichiers et arborescences dans une application, permettant donc un développement rapide.
 +
 +===== Urls =====
 +
 +Jelix contient un système de mapping d'url sur les actions. Deux moteurs de génération / parsing d'urls sont disponibles : un moteur simple, et un moteur permettant l'usage des urls significatives (plus puissant que celui proposé dans Copix 2.3).

fr/jelix_vs_copix.txt · Dernière modification : 2008/12/08 22:27 de 127.0.0.1

Fils rss des changements récents dans le wiki Creative Commons License