Page suivante Page précédente Table des matières

## 2. Partager ses thèmes

## 2.1 Création d'une archive

Une fois qu'on a mis au point son nouveau thème, on peut vouloir en faire profiter les autres. La méthode est très simple : il suffit de définir dans le fichier de configuration `src/phplib/config.php3` la variable `$this->create_tar_dir` contenant le nom d'un répertoire dans lequel PHP peut écrire, d'utiliser son compte d'administrateur sur sa version de daCode, et de cliquer sur les « Thèmes » de la boîte d'administration. La page suivante montre la liste des thèmes actuellement installés, et cliquer sur un lien produit une archive.

Par exemple, si `$this->create_tar_dir` vaut `"/tmp/"` et que le thème s'appelle "print", le fichier `/tmp/daCode-print-0.1.tar.gz` est créé. Le numéro de version est pris dans le fichier `src/phplib/themes/print/VERSION` comme expliqué ci-dessous.

## 2.2 Contenu de l'archive

Voici par exemple quel pourrait être le contenu de l'archive du thème « print » :

> `

>     daCode-print-0.1.1
>     |-- html
>     |   |-- images
>     |   |   |-- image1.png
>     |   |   |-- image2.png
>     |   |   |-- logoprint.png
>     |   |   |-- section
>     |   |   |   |-- dacode.png
>     |   |   |   |-- topic1.png
>     |   |   |   `-- topic2.png
>     |   |   `-- text-plain.png
>     |   `-- print.css
>     `-- templates
>         |-- VERSION
>         |-- admin.tmpl
>         |-- basic.tmpl
>         |-- board.tmpl
>         |-- doc.tmpl
>         |-- html.php3
>         |-- myposts.tmpl
>         |-- news.tmpl
>         |-- newsindex.tmpl
>         |-- newssection.tmpl
>         |-- poll.tmpl
>         |-- search.tmpl
>         |-- submit.tmpl
>         |-- submitcom.tmpl
>         |-- submitpoll.tmpl
>         |-- thread.tmpl
>         |-- users.tmpl
>         `-- webcam.tmpl

> `

Le fichier daCode-print-0.1/templates/VERSION est composé des trois lignes suivantes:

> `

>            1
>            print
>            0.1

> `

Il s'agit tout simplement du nom du thème, et du numéro de version, la première ligne indiquant le numéro du format utilisé (actuellement seule la valeur 1 est reconnue par daCode). Ce fichier est nécessaire pour créer ou extraire les archives avec l'interface de daCode.

Comme on le voit, il est facile de créer cette archive à la main, sans utiliser daCode. Il faut mettre les templates dans un sous-répertoire templates/, y ajouter un fichier VERSION contenant le nom et le numéro de version du thème, et mettre sous html/ les fichiers qui sont sous src/htdocs/themes/print/.

## 2.3 Proposer un thème à un serveur daCode

Cette partie n'est pas encore écrite dans daCode, il suffit d'ajouter une page permettant à l'internaute d'uploader son archive. Cette archive sera mise dans le répertoire défini dans la variable

    $this->upload_tar_dir

du fichier de configuration.

Vous pouvez également, si vous le souhaitez, soumettre directement ce thème au site officiel de daCode

## 2.4 Installer un nouveau thème

Quand un internaute propose un thème, ou quand on met une archive dans le répertoire défini dans la variable $this->upload_tar_dir du fichier de configuration, l'administrateur du serveur daCode peut installer ce nouveau thème. Pour cela, il doit cliquer sur le même lien « Thèmes » de la boîte d'administration. La page suivante montre la liste des thèmes actuellement installés, ainsi que les archives prêtes à installer. En cliquant sur une de ces archives, une nouvelle page apparait qui donne la liste des fichiers contenus dans l'archive, ainsi que l'endroit où ils seront placés. On peut visualiser le contenu des fichiers en cliquant sur le nom du fichier. Après avoir vérifié le contenu des fichiers, l'administrateur peut choisir d'installer ce thème en cliquant sur "installer", et/ou d'effacer l'archive.

Cette procédure automatique installe les fichiers au bon endroit, même si les répertoires htdocs/ ou phplib/ ont été renommés ou déplacés.

Il faut que PHP ait le droit d'écrire dans les répertoires `src/htdocs/themes/` et `src/phplib/themes/` pour extraire les fichiers. Afin de ne pas mettre ces répertoires en écriture pour PHP, il est préférable de donner dans la variable `$this->theme_subdir` le nom d'un sous-répertoire, qui, lui, sera le seul à être accessible en écriture par PHP. Ainsi, si `$this->theme_subdir="contrib/"`, l'administrateur doit créer les répertoires src/htdocs/themes/contrib/ et src/phplib/themes/contrib/ et les mettre en écriture pour PHP.

Le thème "print" sera alors désarchivé dans les répertoires `src/htdocs/themes/contrib/print/` et `src/phplib/themes/contrib/print/`

Enfin, pour que ce thème puisse être utilisé, il faut ajouter ce thème dans la variable `$this->listofthemes` du fichier de configuration, comme nous l'avons vu plus haut.

Page suivante Page précédente Table des matières