developer.jelix.org is not used any more and exists only for history. Post new tickets on the Github account.
developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.

Changes between Version 20 and Version 21 of fr/sources


Ignore:
Timestamp:
Aug 20, 2011, 11:09:32 AM (9 years ago)
Author:
laurentj
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • fr/sources

    v20 v21  
    22= Travailler avec les sources =
    33
    4 Cette page contient des informations nécessaires à toutes personnes voulant, soit créer une version personnalisée de Jelix, soit proposer des patchs corrigeant des bugs ou apportant des amélioration.
     4Cette page contient des informations nécessaires à toutes personnes voulant, soit créer une version personnalisée de Jelix, soit proposer des patchs corrigeant des bugs ou apportant des améliorations.
    55
    66
     
    99Travailler avec les sources de Jelix est assez différent des projets PHP traditionnels, en ce sens que les sources que l'on trouve dans le dépôt des sources, n'est pas directement utilisable par PHP. En clair, le contenu qui est proposé dans les archives en téléchargement, est légèrement différent de ce qui est dans le dépôt.
    1010
    11 En effet, certains fichiers sources de Jelix contiennent des directives spéciales permettant à un pré-processeur, de générer un fichier source final qui sera différent selon des paramètres qu'on lui fournit. Ce pré-processeur est piloté par un script, que l'on appelera un "générateur" de sources finales (le résultat, les sources finales, sont appelées aussi un "build"). Cela permet de fournir des versions différentes de Jelix
     11En effet, certains fichiers sources de Jelix contiennent des directives spéciales permettant à un pré-processeur, de générer un fichier source final qui sera différent selon des paramètres qu'on lui fournit. Ce pré-processeur est piloté par un script, que l'on appellera un "générateur" de sources finales (le résultat, les sources finales, sont appelées aussi un "build"). Cela permet de fournir des versions différentes de Jelix
    1212
    1313 * en fonction d'une version de PHP
    14  * optimisée selon le context : optimisée pour un environnement en production, ou contenant des outils et fonctions supplémentaires pour aider au développement.
     14 * optimisée selon le contexte : optimisée pour un environnement en production, ou contenant des outils et fonctions supplémentaires pour aider au développement.
    1515 * etc..
    1616
     
    1919Ainsi, quand on travail sur jelix, on suit ces étapes :
    2020
    21  1. récupération de la dernière version de jelix à partir du dépôt principal des sources Mercurial (hg clone etc)
     21 1. récupération de la dernière version de jelix à partir du dépôt principal des sources Git (git clone etc)
    2222 1. création d'un fichier de paramètres pour le générateur (un fichier ini)
    2323 1. modification des fichiers sources de jelix (correction de bug, amélioration, nouvelle  fonctionnalité etc..)
     
    2828Pour ceux qui veulent juste avoir une version optimisée/personnalisée, seules ces étapes sont nécessaires :
    2929
    30  1. récupération de la dernière version de jelix dans le dépôt mercurial
     30 1. récupération de la dernière version de jelix dans le dépôt git
    3131 1. création d'un fichier de paramètres pour le générateur afin d'obtenir la version souhaitée
    3232 1. lancement du générateur de sources finales.
     
    3636== Récupérer les sources ==
    3737
    38 Jusqu'en juillet 2009, les sources étaient gérés par l'outil  [http://subversion.tigris.org/ Subversion]. Depuis, nous utilisons [http://hg-scm.org Mercurial].
    3938
    40 Pour récupérer les sources, il vous faut donc installer Mercurial sur votre machine, et ensuite cloner l'un des dépôts disponibles. Il y en a plusieurs, suivant les branches. Le dépôt principal étant jelix-trunk.
     39Nous utilisons [http://git-scm.com/ Git] pour gérer les sources de Jelix. Vous devez donc installer git sur votre machine et ensuite cloner le dépôt git de jelix. le dépôt est stocker sur le site github.com. Voir les instructions sur https://github.com/jelix/jelix pour récupérer les sources.
    4140
    42 Pour rappel, Mercurial est outil de contrôle de version : il permet d'enregistrer et d'historier toutes les modifications faites sur les fichiers sources d'un projet.
    43 
    44 Voici l'adresse du dépôt principal de Jelix, pour les contributeurs "anonymes" :
    45 
    46 {{{
    47    http://bitbucket.org/jelix/jelix-trunk/
    48 }}}
     41Par le passé, nous avons d'abord utilisé Subversion (janvier 2006 - juin 2009), puis Mercurial hébergé sur notre propre serveur (juin 2009 - mars 2010) puis sur [http://bitbucket.org/jelix/ on Bitbucket] (Mars 2010 - aout 2011).
    4942
    5043
    51 Adresse du dépôt, pour les contributeurs qui ont un accès en écriture sur le dépôt :
    52 
    53 {{{
    54    ssh://hg@bitbucket.org/jelix/jelix-trunk
    55 }}}
    56 
    57 
    58 Cela donne donc en ligne de commande :
    59 
    60 
    61 {{{
    62 hg clone http://bitbucket.org/jelix/jelix-trunk/
    63 }}}
    64 ou
    65 {{{
    66 hg clone ssh://hg@bitbucket.org/jelix/jelix-trunk
    67 }}}
    68 
    69 
    70 jelix-trunk constitue la branche principale du framework : il contient la prochaine version majeure en cours de développement (1.2, 1.3 etc.). Si vous voulez récupérer d'autres branches ou versions officielles, en particulier les branches de maintenances des versions sorties comme la branche 1.0.x (1.0, 1.0.1, 1.0.2...), leurs noms sont jelix-1.0.x, jelix-1.1.x etc. Voir la liste sur [http://bitbucket.org/jelix/ la page du projet sur bitbucket].
    71 
    72 === Récupération des sources sous Windows pour les contributeurs "officiels" ===
    73 
    74 Sous windows, !TortoiseHg risque fort de ne pas trouver votre clé SSH, donc pour l'y aider on exécute le programme suivant {{{C:\Program Files\TortoiseHg\Pageant.exe}}}.
    75 Ensuite fournissez votre clé privée (et éventuellement votre passphrase) puis procédez comme ci dessus pour cloner
     44Le dépôt git sur github contient les branches des version 1.2.x et supérieurs. Pour les branches plus anciennes, les dépôts sont restés sur https://bitbucket.org/jelix/
    7645
    7746== Arborescence ==
    7847
    7948Voici les différents répertoires que vous récupérez :
    80 
    8149
    8250{{{
     
    9058== Les outils de constructions ==
    9159
    92 Les sources obtenues via le dépôt mercurial ne peuvent pas être utilisable directement par PHP. Pour pouvoir utiliser Jelix, il faut générer les sources finales interprétables par PHP. Pour ce faire il y a un script build/buildjelix.php. C'est le fameux "générateur". C'est une sorte de makefile. Il prend en argument un nom de fichier ini qui déclare des paramètres de génération. Vous en avez quelques exemples dans le repertoire build/config/.
     60Les sources obtenues via le dépôt ne peuvent pas être utilisable directement par PHP. Pour pouvoir utiliser Jelix, il faut générer les sources finales interprétables par PHP. Pour ce faire il y a un script build/buildjelix.php. C'est le fameux "générateur". C'est une sorte de makefile. Il prend en argument un nom de fichier ini qui déclare des paramètres de génération. Vous en avez quelques exemples dans le repertoire build/config/.
    9361
    9462
     
    9765Avant de faire des modifications, il faut préparer votre environnement. Vous devez avoir le répertoire contenant les sources du dépôt, et le répertoire qui contiendra une version utilisable du framework. Par exemple :
    9866
    99 Pour le répertoire du dépot, et contenant donc lib/ etc. :
     67Pour le répertoire du dépôt, et contenant donc lib/ etc. :
    10068{{{
    101    /home/laurent/projets/jelix/hg/jelix-trunk
     69   /home/laurent/projets/jelix/src/
    10270}}}
    10371
     
    192160=== Utilisation du Makefile ===
    193161
    194 Il existe un fichier makefile, utilisable par la commande Make, qui appel les scripts de build pour jelix et autres applications stockées dans le dépot. Le Makefile accepte différentes cibles, qui permettent de générer des repertoires de travail ou des paquets à distribuer avec les paramètres standards. Tapez simplement make pour en avoir la liste.
     162Il existe un fichier makefile, utilisable par la commande Make, qui appel les scripts de build pour jelix et autres applications stockées dans le dépôt. Le Makefile accepte différentes cibles, qui permettent de générer des répertoires de travail ou des paquets à distribuer avec les paramètres standards. Tapez simplement make pour en avoir la liste.
    195163
    196 Toutefois, il n'est en principe pas à utiliser et est en fait surtout utilisé sur le serveur de jelix.org, pour générer chaque jour des paquets téléchargeables de la toute dernière version de Jelix, et générer la documentation de réference.
     164Toutefois, il n'est en principe pas à utiliser et est en fait surtout utilisé sur le serveur de jelix.org, pour générer chaque jour des paquets téléchargeables de la toute dernière version de Jelix, et générer la documentation de référence.
    197165
    198166----