Les thèmes correspondent aux icones que l'on voit sur le côté des news. Ca permet de dire de quoi retourne la news. Ca peut être Internet, PHP, Debian, KDE, Hardware, Pirate, etc. Les sections correpondent à ce que l'on voit en haut à gauche. Par défaut les news doivent aller dans la section "Articles" mais vous pouvez créer des sections lorsque vous voyez que des news intéressantes mais sans rapport avec le sujet principal du site sont souvent postées, ou bien si nombre de news concernant un sujet sont souvent postées. Par exemple, sur linuxfr, nous avons mis une section Cinéma. Lors de la modération, le modérateur choisit s'il désire voir la news qu'il vient d'approuver sur la page principale, qui recense toutes les news qui ont le flag 'view' à 1. Ainsi, sur linuxfr, les news Cinéma ne sont jamais mises sur la page principale.
Très certainement. daCode fonctionne avec PHP 3 ou 4, ce qui est le cas avec la plupart des hébergeurs. Par contre, certains hébergeurs ont supprimé l'accès à la fontion mail() de PHP. Si c'est votre cas, voyez ci-dessous.
daCode peut fonctionner avec n'importe quelle extension. Si vous êtes sous un système de type unix, allez dans le répertoire de daCode et tapez
prompt$ perldoc scripts/dacodeconfigCela vous aidera à configurer voter daCode comme vous le souhaitez, avec les extensions que vous désirez. Votre version de daCode est alors prête à être chargée sur le serveur.
Demandez sur la liste de diffusion dacode-user@linuxfr.org si vous avez un problème.
Il faut néanmoins faire attention à deux choses : CVS ne marche qu'avec les extensions originales et ne saura pas gérer les mises à jour si vous les changez, ainsi que la configuration par « make reconf ». Il faut alors temporairement repasser en .php3 et taper:
prompt$ cvs updatepuis reconfigurer votre daCode et le repasser dans l'extension que vous désirez.
Utilisez phpMyAdmin. Souvent, votre hebergeur l'a déjà mis en place et paramétré pour vous. Voyez avec lui commment y accéder. Sinon, téléchargez-le et installez-le, ce n'est pas très compliqué.
Voici comment y accéder si vous êtes sur Free: allez sur http://phpmyadmin.free.fr/phpMyAdmin/ puis, dans la page d'accueil (il faut cliquer sur le login a gauche pour qu'elle apparaisse).
Pour créer la base: cliquez sur parcourir dans la section Exécuter une ou des requètes sur la base puis choisissez le fichier sql/dacode.mysql
On crée un paquet de tables alors il faudra peut-être insister et le faire plusieurs fois car ça a tendance à bugger selon la charge, le nombre d'utlisateurs connectés et l'âge du capitaine.
Autre remarque (spécifique à free): le fait de créer un paquet de tables peut vous pourrir un peu la vie si vous aviez déjà quelques trucs. Je ne saurais que trop vous conseiller de vous créer un sous-domaine chez free (ils le proposent gracieusement) réservé à vos pages sous daCode. N'oubliez pas de mettre en place vos bases de données sur le sous-domaine...
Oui, ça fonctionne, avec certaines limitations. Les problèmes principaux sont avec la fonction mail() qui est désactivée et la vitesse.
Voici un exemple de fichier de config:
<?php $this->sql_backend = "mysql"; $this->sql_host = "free.fr"; $this->sql_user = "monloginfree"; $this->sql_passwd = "monmotdepassefree"; $this->sql_db = "monloginfree"; $this->basehref = "http://monlogin.free.fr/news/"; $this->name = "lecastor"; $this->titledefault = "castor : le site"; $this->edito = "Bienvenue sur ma page de news.<br>Cette page tourne sous <b>daCode</b>.<br>"; $this->newsfile = "/gen.php3?"; $this->htmldir = "cache/"; $this->cachedir = "../tmp/"; $this->sql_persistant = 0; ?>Les pages HTML seront alors cachées sous \verb+/news/cache/+, et les fragments de pages (boîtes) sous /tmp. Vérifiez en vous connectant au serveur ftp après s'être baladé que vous obtenez bien des choses dans ces 2 répertoires.
Après avoir sauvé le fichier dans la racine (cf. le début du document), on fait un
make reconfet on peut tout balancer sur le site.
Dans notre cas de figure, on va mettre tout ce qu'il y a dans /src/htdocs/ dans le répertoire /news/ (c'est à dire le répertoire donné dans le champ baseref) du site et tout ce qu'il y a dans \verb+/src/phplib+ dans le répertoire /phplib du site.
La fonction mail() a probablement été désactivée (ce qui est le cas sur free.fr, par exemple). Demandez à votre hébergeur si c'est le cas et si une fonction de remplacement est disponible. Le GROS problème est que sans un moyen d'envoyer automatiquement les emails, les utilisateurs ne recevront jamais leur mot de passe, et les comptes ne seront donc pas créés.
Si une fonction de remplacement est fournie par votre hébergeur, cherchez dans le code source les appels à la fonction mail() et remplacez-les par la fonction fournie par votre hébergeur. Faites attention au nombre et à l'ordre des arguments de la fonction, qui peut être différent de celui de mail(). S'il n'y a aucune solution de remplacement proposée, ou si vous pouvez juste vous envoyer un mail à vous-même, il y a quelques façons assez laides de contourner le problème:
La première solution (proposée par Mathieu Ros): si vous avez un moyen de vous envoyer des mails à vous-même, utilisez ce moyen pour vous envoyer les mots de passe... Evidemment, vous connaîtrez les mots de passe de tous vos utilisateurs...
La seconde solution (proposée par Guillaume Postaire): affichez le mot de passe au lieu de l'envoyer par email.
Enlevez toutes les fonctionnalités dont vous ne vous servez pas. De plus, désactivez toutes les fonctions dans src/phplib/backends.php3. Ajoutez un "return;" au début de chaque fonction dans ce fichier. Une fois que la vitesse d'exécution est satisfaisante, vous pourrez peut-être réintroduire certaines fonctionnalités...
Ce que vous devez pouvoir faire c'est de mettre phplib dans htdocs/. Ensuite, dans htdocs/dacode.php3, modifiez $libdir. Bon si j'étais vous, je ne mettrai pas phplib/ mais plutôt un truc difficile à trouver (on ne sait jamais). Donc faites par exemple:
mv phplib htdocs/UoS6LzGFPuis dans dacode.php3 à la ligne 20 mettez :
$libdir = $topdir. "./UoS6LzGF";Voilà qui devrait marcher.
Ceci ne s'applique que si vous avez une ligne auto_prepend dans votre php.ini. Si vous utilisez Apache, Vous pouvez déplacer cette ligne dans un fichier nommé .htaccess (c'est un fichier que vous mettez dans vos répertoires qui utilisent phplib). Pour que ça fonctionne bien, vous devez vous assurer que ces fichiers sont pris en compte dans httpd.conf (directive directory / AllowOverride ). Ci dessous un exemple de .htaccess pour php4:
<IfModule mod_php4.c> # # local settings for php in this domain # include path is the path where PHP looks for # required and included files # #php_value include_path ".:/home/httpd/lib/externs/phplib/php/:/home/httpd/lib/php/internal/" php_value auto_prepend_file /home/httpd/lib/externs/phplib/php/prepend.php3 </IfModule>
Cela vient très certainement de la base de données qui n'est pas prise en compte par PHP. Pour s'en rendre compte, il faut regarder dans le fichier de configuration de php (php.ini ou php3.ini) si les extensions sont bien chargées. Il ne suffit pas que le programme soit installé, il faut aussi demander à PHP de l'utiliser.
Si l'extension n'est pas chargée, il faut modifier le fichier de configuration et relancer le serveur web. Une autre façon de détecter si le support de la base de données est activé est d'écrire un fichier phpinfo.php3 contenant la ligne
<?php phpinfo(); ?>et d'appeler ce fichier via le server web. Si le support de la base de données est activé, un paragraphe doit y être consacré dans l'affichage.
Le mot de passe qu'utilise MySQL n'est pas le même que le mot de passe root de la machine. Par défaut dans MySQL, il n'y a pas de mot de passe.
Il faut en spécifier un avec la commande mysqladmin:
mysqladmin -u root password motdepasse
Cette erreur apparait quand vous n'avez pas de base de données sur votre serveur ou quand daCode n'arrive pas à s'y connecter. Vérifiez que vous avez bien une base de données mySQL ou PostgreSQL qui fonctionne sur votre serveur, et que vous avez bien mis les bons paramètres s'y rapportant dans votre fichier de configuration.
Vous devez modifier l'adresse email d'admin (par défaut: "root") dans la base SQL, en la remplaçant par la votre. Vous pouvez également la modifier dans le fichier mysql.mysql AVANT de créer les tables.
Cliquez ensuite sur "Oublié votre Mot de Passe ?" et rentrez le login "admin". Validez. Vous recevrez sur l'adresse email précédemment spécifiée votre nouveau mot de passe.
En fait la procédure est de créer votre propre template. La meilleure façon d'apprendre comment faire est de lire la documentation fournie à ce propos.
Vous la trouverez dans le fichier templates-fr.html, dans le même répertoire que cette FAQ.
La meilleure façon de supprimer des boites de la homepage est d'éditer votre fichier de config et de supprimer ces boites du tableau nommé
$this->default_user_boxesEnsuite, supprimez-les également de cet autre tableau
$this->user_boxesEt elles ne seront plus jamais accessibles.
Pour changer le logo, créez votre propre logo (toujours au format PNG°, et placez-le dans le même répertoire que votre thème. Si vous utilisez un des thèmes fournis avec daCode, placez votre logo dans le répertoire de ce thème.
Editez ensuite votre fichier de config en changeant le contenu de la variable $this->logo avec le nom de votre logo (sans l'extension .png). Si votre logo est appelé "logo", vous n'avez rien à changer.
Si vous utilisez plus d'un thème, mais n'avez fait qu'un seul logo, et que vous voulez le voir sur tous vos thèmes, placez-le dans htdocs/images/.
Pour changer le sous-titre du logo, il vous suffit d'éditez la variable $this->aboutlogo dans votre fichier de config, en y mettant ce que vous souhaitez lire sous votre logo.
Notez que vous pouvez également changer le logo utilisé dans la version PDA. Placez votre petit logo dans htdocs/images, puis éditez la variable $this->minilogo de votre fichier de config, avec le nom de votre petit logo (toujours sans l'extension .png). Si votre logo est appelé "minilogo", vous n'avez rien à changer.
Tout d'abord, rappelez-vous que ce n'est pas spécifique à daCode. Maintenant, créez une image au format 16x16, avec un maximum de 256 couleurs. Enregistrez-la au nom de "favicon.ico" (obligatoirement ce nom), et transférez-la à la racine de votre site web.
Les navigateurs web qui possèdent cette fonctionnalité (Mozilla 0.9.6, Konqueror, MSIE, etc), afficheront désormais votre image à côté (généralement à gauche) de votre URI.
Les mots de passe sont effectivements cryptés. On ne peux pas les changer directement dans la base. Si l'entrée admin dans la table users a le champs email bien configuré (votre email) alors un simple 'j'ai oublié mon mot de passe' vous l'enverra à cette adresse (enfin il en envoie un nouveau en fait).