Movatterモバイル変換


[0]ホーム

URL:


Aller au contenu
Wikipédial'encyclopédie libre
Rechercher

Copix

Un article de Wikipédia, l'encyclopédie libre.
Copix

Description de l'image Copix 2 3 5 installation.png.
Informations
Développé parCopixTeam
Dernière version3.0.4 ()
Écrit enPHPVoir et modifier les données sur Wikidata
EnvironnementMultiplate-forme
TypeFramework (cadre d'applications)
LicenceGNU LGPL
Site webwww.copix.org

modifier -modifier le code -voir Wikidata(aide)

Copix est uncadriciel (framework) pour le langagePHP qui n'est plus maintenu. Il est construit en cinq couches, repose entièrement sur laprogrammation orientée objet et vise à prendre en charge le développement de tous types d'applications, des plus simples aux plus complexes. Il est distribué sous la licenceGNU LGPL. Lesystème de gestion de contenuCopixCMS a été écrit avec Copix.

Les cinq couches de Copix

[modifier |modifier le code]
  1. coordination : analyse des requêtes, lancement des processus généraux et exécution des actions (via lesservices) ;
  2. services : appel aux objets spécialisésdomaines, récupération et formatage des données ;
  3. domaines : ce sont les objets et fabriques métiers qui accèdent aux données en utilisant la couche persistance ;
  4. persistance : cette couche dialogue directement avec le système pour accéder aux bases de données, fichiers, annuaires LDAP, réseaux,... ;
  5. présentation : traitements de présentation (templates, génération du code HTML).

Installation

[modifier |modifier le code]

Les prérequis :

  • Depuis la version 3.0 alpha 1 :PHP 5
  • Versions antérieures à la 3.0 alpha 1PHP 4 : il est conseillé d'utiliser une version supérieure à PHP 4.3 pour profiter de toutes les fonctionnalités de Copix, PHP doit avoir été compilé avec l'optionlibxml activée ;
  • unebase de données : Copix peut fonctionner sans, mais l'installation par défaut en demande une ; les bases de données reconnues sont (depuis Copix 2.2) :MySQL,Oracle,ODBC,PostgreSQL,SQLite,Microsoft SQL Server ;
  • un serveur web :Apache ouMicrosoft IIS.
  • PHPUnit pour effectuer les tests unitaires ainsi queXdebug pour faire du code coverage.

Configuration de PHP

[modifier |modifier le code]
Cette section relève duguide pratique, ce qui n'est pas denature encyclopédique (juillet 2015).

Les options suivantes du fichierphp.ini sont conseillées, mais Copix marchera quelles que soient leurs valeurs. L'option la plus importante étantmagic_quotes_gpc qui doit être de préférenceoff : si ce n'est pas possible (par exemple, accès impossible au fichierphp.ini), le plugin CopixMagicQuotes annulera l'échappement des chaînes d'entrée.

magic_quote_gpc = off
# ces 3 paramètres sont utiles si vous utilisez la sessionSession.use_cookies = 1Session_autostart = 0Session.save_handler = files
# pour des raisons de sécuritéregister_globals = Off
# pour plus de sécuritédisplay_errors = Offfile_uploads = Off # si vous ne faites pas d'upload de fichierallow_url_fopen = Offsession.save_path = répertoire accessible uniquement par PHP (écriture et lecture)

Configuration de Copix

[modifier |modifier le code]
Page d'installation de Copix 2.3.5
  • Dupliquer les répertoires de l'archive de Copix dans le répertoire web :project/,temp/,utils/,var/ etwww/ pour Copix 2.3.5 ;
  • donner les droits de lecture au serveur web pour tous ces répertoires et leur contenu ;
  • donner les droits d'écriture pour le répertoiretemp/.

Si tout a été configuré correctement, une page de Copix s'affiche, proposant la configuration d'une base de données.

Configuration du serveur web

[modifier |modifier le code]

Le serveur web doit pointer sur le répertoire Copixwww/, qui contientindex.php.

Fonctionnement d'une application

[modifier |modifier le code]

Un objet Copix peut se trouver à deux niveaux distincts :

  • au niveau duprojet, dans le répertoireproject/ ;
  • dans unmodule, répertoireproject/modules/NomDuModule/ : un module est en général autonome et peut être copié directement dans un autre projet pour être utilisé immédiatement.

Un objet Copix, qu'il soit au niveau du projet ou dans un module, nécessite trois éléments pour fonctionner :

  • desobjetsCopixActionGroup qui implémentent les actions sous forme de méthodes d'une classe héritant deCopixActionGroup, chaque action correspond généralement à une URL ;
  • desfichiers de description d'actions ou fichiersdesc qui listent les actions possibles ou autorisées, sous forme de déclarations de variables instanciant chacune un objetCopixAction : le nom de la variable correspond au nom de l'action ; Depuis la version 3, ces fichiers ne sont plus nécessaires.
  • destemplates pour afficher les pages.

Exemple

[modifier |modifier le code]

Cet exemple minimal utilise le template par défautproject/templates/main.tpl spécifié par le code retourCOPIX_AR_DISPLAY.

Création d'un module

[modifier |modifier le code]

Un module minimal nécessite la création de deux fichiers :

  • une classe qui hérite de l'objetActionGroup :
<?phpclass ActionGroupTutorial extends CopixActionGroup{    function getSimpleHelloYou ()    {        $tpl = new CopixTpl();        $tpl->assign('MAIN', 'Hello You !');        return new CopixActionReturn(COPIX_AR_DISPLAY, $tpl);    }}?>

ce fichier, appelétutorial.actiongroup.php est à mettre dans le répertoireactiongroup/ d'un module :project/modules/tutorial/actiongroup/.

  • un fichier de description :
<?php$hello = & new CopixAction ('Tutorial', 'getSimpleHelloYou');?>

ce fichier, appelédefault.desc.php est à mettre dans le répertoiredesc/ du module :project/modules/tutorial/desc/.

L'appel de la page qui affichera le messageHello You ! sera alors :

index.php?action=hello&module=tutorial

Création au niveau du projet

[modifier |modifier le code]

Le même objet peut être installé au niveau du projet :

  • le fichiertutorial.actiongroup.php sera dans le répertoireproject/actiongroup ;
  • le contenu du fichierdefault.desc.php ajouté à celui qui existe :project/desc/default.desc.php ;
  • l'URL de la page sera simplement :
index.php?action=hello

Les principaux objets Copix

[modifier |modifier le code]

CopixZone

[modifier |modifier le code]

UneZone Copix représente une portion du contenu qui sera affichée dans un écran. Les zones sont appelées par lesActions Copix qui leur délèguent une partie du travail. L'utilisation de zones n'est pas obligatoire mais simplifie le développement en séparant clairement les parties d'affichage dynamique. De plus, les zones Copix gèrent nativement un cache de contenu.

CopixDAO

[modifier |modifier le code]

CopixDAO est une couche d'abstraction des bases de données utilisant comme définition un fichier XML. Ce fichier contient les données de connexion, la description des tables et de leurs champs, et optionnellement :

  • des méthodes d'accès supplémentaires (en plus des méthodes standard qui sont :get,insert,update,delete, findAll etfindBy) ;
  • des méthodes écrites en PHP qui feront partie de l'objet concret CopixDAO correspondant.

La version 3 de Copix, vous permet également d'utiliser des DAO Automatiques. Ces DAO automatiques sont automatiquement générés depuis les champs de la table demandé à la DAO.

Le nom « DAO » vient du motif de conception utilisé :Data Access Object, un motif courant pour les accès aux bases de données. CopixDAO prend en charge la construction des requêtes SQL (sauf les plus complexes) ainsi que les problèmes de sécurité (e.g. lesinjections SQL).

CopixI18N

[modifier |modifier le code]

ce module permet l'internalisation des mnémonics du framework selon le langage du site à utiliser

Histoire

[modifier |modifier le code]

Copix est né des applications réalisées par laSSIIAston absorbée en 2005 par la sociétéSQLI. Le nom « Copix » ne signifie rien en particulier.

En 2014, le framework Copix n'est plus maintenu. Si le site institutionnel reste accessible, le gestionnaire de sources et le forum ont disparu.

Liens externes

[modifier |modifier le code]
v ·m
Python
PHP
Ruby
Perl
SmalltalkSeaside
JavaScript
Côté serveur
Côté client
CSS
Java
.NET
Ce document provient de « https://fr.wikipedia.org/w/index.php?title=Copix&oldid=171848433 ».
Catégories :
Catégories cachées :

[8]ページ先頭

©2009-2025 Movatter.jp