<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE faq SYSTEM "faq.dtd"><faq> 
<section titlefr="Général" titleen="General issues">
<faqitem>
<question>
<en>
What are the differences between topics and sections?
</en>
<fr>
Quelles sont les différences entre les topics et sections?
</fr>
</question>
<answer date="20010331" author="Fabien Penso">
<en>
Well, the topics tell you what the news is about. The sections allow
you to move off-topic news out of the front page. For exemple, on
Linuxfr.org, all news about cinema are put in a special section. Very
seldomly does one of this news appear on the front page (only if it
has a direct connexion with Linux). There is also a section to allow
users to ask their questions: these news concern about any topic, but
their type is inherently different from the standard, informative
news. Thus they have been grouped in a section.
</en>
<fr>
<para>
En faite les topics c'est les icones que tu vois à coté des news. Ca
permet de dire de quoi retourne la news. Ca peut etre Internet, PHP,
Debian, KDE, Hardware, Pirate, etc. Ensuite il y a la section. Par
défaut les news doivent aller dans Articles mais tu peux créer des
sections lorsque tu vois que des news sont souvent postées et
intéressantes mais qui n'ont pas de rapport avec le sujet principal du
site, ou bien si le news de news concernant un sujet viennent souvent.
Par exemple sur linuxfr j'ai mis une section Cinéma. Aprés le modérateur
lors de la modération 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 par exemple les news cinéma n'y
sont jamais mises.
</para>
<para>Les topics correspondent aux icones qu'on voit sur le coté des news. Le
sections correpondent à ce qu'on voit en haut à gauche. Quand tu veux
donner de l'importance à un sujet genre Cinéma, Debian, etc, tu peux
créer une section. Ou quand tu veux parler d'un sujet sans polluer le
site principal qui est sans doute au départ nonprévu pour celui ci.
Genre section cinéma dans linuxfr. Le flag view permet ensuite de dire
si tu veux la news sur la page principale ou non. Par exemple pour la
section RTFM sur linuxfr (celle qui sert aux gens pour poser leurs
questions) on ne met pas systematiquement les news sur la page
principale. C'est bon ? :)
</para>
</fr>
</answer>
</faqitem>
</section>
<section titlefr="Hebergement" titleen="Hosting">
<faqitem>
<question>
<en>Can daCode be installed on my.provider.com?
</en>
<fr>Puis-je installer daCode sur mon.hebergeur.amoi ?
</fr>
</question>
<answer date="20010231" author="unknown">
<en>Most probably, yes. daCode is known to run with PHP on safe mode,
which is the case of most hosting providers. Some providers also have
forbidden the use of the mail function. If you're in this case, see below.
</en>
<fr> Très certainement. daCode fonctionne avec PHP en safe mode, 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.
</fr></answer>
</faqitem>
<faqitem>
<question>
<en>
My provider uses PHP4 and only allows for .php exentsions. How can I
get daCode to run?
</en>
<fr>
Mon hébergeur est en PHP4 et n'accepte que les extensions .php,
comment puis-je faire tourner daCode ?        
</fr>
</question>
<answer date="20010703" author="Denis Barbier"
email="barbier@imacs.polytechnique.fr">
<en>
<para>
daCode can work with any extension. For common extensions, if you arev
running a Unix-like operationg system, just cd to the daCode directory
and type <code>$ make php</code> to change the extensions as well as
the links inside the files. This will work with php, php3 and php4
extensions. 
</para>
<para>
If you need some excentric extension, you'll have to modify the
makefile. Ask on dacode-user list if you have a problem.
</para>
<para>Warning (big one in red, with flashing lights): CVS will only work
with original extensions, thus you'll have to switch back to .php3
(make php3) before getting the last changes with CVS.
</para>
</en>
<fr>
   daCode peut fonctionner avec n'importe quelle extension. Pour les
   extensions usuelles (.php, .php3 et .php4), il suffit dans le
   répertoire daCode de taper (sous Unix)
      prompt$ make php
   pour transformer toutes les extensions ainsi que les liens à
   l'intérieur des fichiers. Votre version de daCode est alors prête à
   être chargée sur le serveur.
   Si vous avez besoin d'extensions exotiques, il est facile de modifier
   le Makefile en conséquence, demandez sur la liste de diffusion
   <email>dacode-user@linuxfr.org</email> si vous n'y arrivez pas.
   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 :
      prompt$ make php3
      prompt$ cvs update
   éventuellement, si vous avez défini un fichier daCode/config.site
      prompt$ make reconf
   puis
      prompt$ make php                  
</fr> 
</answer>
</faqitem>
<faqitem>
<question>
<en>I don't have acces to the mysql client program. How can I create
the database? </en>
<fr>Je n'ai pas accès à la commande mysql. Comment puis-je créer ma
base de données?</fr>
</question>
<answer date="20010231" author="Matthieu Ros" email="mros@toulouse.inra.fr">
<en><para>Simply use phpMyAdmin. Probably your provider has already set this
up for you. See with him how to acces the database adminstration
interface. Alternatively, you can download a copy (it' free software,
too) and install it.</para><para>
Once you are in the administration interface of phpMyAdmin, select
your database, then "run queries on database". Choose the file
sql/daCode.mysql and validate the form.</para></en>
<fr>
<para>Utilisez phpMyAdmin. Souvent, votre hebergeur l'a déja mis en place
et paramétré pour vous. Voyez avec lui commment y accéder. Sinon,
téléchargez et installez-le, ce n'est pas très compliqué.</para>
<para>Voici comment y accéder si vous êtes sur Free:
 aller sur http://www.phpmyadmin.free.fr/phpMyAdmin/ puis,
dans la page d'accueil (il faut cliquer sur le login a gauche pour
qu'elle apparaisse).</para>
<para>Pour créer la base:  cliquer sur parcourir dans la section
  Executer une ou des requètes sur la base puis choisir le fichier
sql/dacode.mysql</para>
<para>
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'age du capitaine.</para>
<para>
Autre remarque (spécifique à free): le fait de créer un paquet de base
peut vous pourrir un peu la vie si vous aviez déjà quelques trucs. Je
ne saurais 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...</para>  
</fr>
</answer>
</faqitem>
<faqitem>
<question>
<en>Can I use daCode on Free.fr (french-centric question:-) )?
</en>
<fr>Puis-je utiliser daCode sur Free?
</fr>
</question>
<answer date="20010231" author="Matthieu Ros">
<en>Yes, it works... If you've got an account on Free.fr, we can
assume you're french, so got read to french version.
Maybe there are the same problems on non-french hosting
providers... if so, please let us know.
</en>
<fr><para>Oui, ça fonctionne, avec certaines limitations. Les problèmes
principaux sont avec la fonction mail() qui est désactivée et la
vitesse.</para>
<para>Voici un exemple de fichier de config:
<code>
&amp;lt;?     
            $this-&amp;gt;sql_backend  = "mysql";

	    $this-&amp;gt;sql_host     = "free.fr";
	    $this-&amp;gt;sql_user     = "monloginfree";
            $this-&amp;gt;sql_passwd   = "monmotdepassefree";
	    $this-&amp;gt;sql_db       = "monloginfree";

	    $this-&amp;gt;basehref     = "http://monlogin.free.fr/news";
            $this-&amp;gt;name         = "lecastor";
            $this-&amp;gt;titledefault = "castor : le site";

	    $this-&amp;gt;edito = "Bienvenue sur ma page de
            news.&amp;lt;br&amp;gt;Cette page tourne sous
            &amp;lt;b&amp;gt;daCode&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;";  

            $this-&amp;gt;newsfile = "/gen.php3?";
            $this-&amp;gt;htmldir = "cache/";
            $this-&amp;gt;cachedir = "../tmp/";
            $this-&amp;gt;sql_persistant = 0;
&amp;&gt;
</code>
Les pages HTML seront alors cachées sous \verb+/news/cache/+, et les
fragments de pages (boites) sous /tmp. Vérifier en se connectant au
serveur ftp après s'être baladé que l'on obtient bien des choses dans
ces 2 répertoires.
</para><para>
Après avoir sauvé le fichier dans la racine (cf le début du document),
on fait un  
<code>
make reconf 
</code>
et on peut tout balancer sur le site.</para><para>
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. </para>
</fr>
</answer>
</faqitem>
<faqitem>
<question>
<en>There is a problem with the mail() function. Seems like it does
not work.
</en>
<fr>J'ai un problème avec la fonction mail. Il semblerait qu'elle ne
fonctionne pas.
</fr>
</question>
<answer date="20010231" author="Matthieu Ros">
<en><para>Probably the mail() function has been disabled. Ask your provider
to find out, and to find if a replacement is available. The BIG
problem is that without a way to automatically send mails, users will
never get their passwords, and thus will never be created at all...</para>
<para>If there is a replacement function, seach the calls to the mail
function in the source and replace it with the specific function for
your provider. Be careful: the number of arguments an their order may
not be the same.</para>
<para>If there's no replacement available, or if you can just send a mail
to yourself, there are some ugly turnarounds, described below.
</para>
<para>First solution (by Matthieu Ros): if you have a way to send mails
to yourself, use this to send the passwords to yourself... Of course
you will know the passwords of all your users...
</para>
<para>Second solution (by Guillaume Postaire): you print the password
instead of sending it. 
</para>
</en>
<fr>
<para>   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.</para>
<para>   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:</para>
<para>   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...</para>
<para>   La seconde solution (proposée par Guillaume
   Postaire): affichez le mot de passe au lieu
   de l'envoyer par email.
</para>
</fr>
</answer>
</faqitem>
<faqitem>
<question>
<en>I get many "Maximum execution time exceeded" errors. What can I do?
</en>
<fr>J'obtiens souvent une erreur "Maximum execution time
exceeded". Qu'est-ce que je peux faire?
</fr>
</question>
<answer date="20010231" author="Fabien Penso">
<en>Drop out any feature you don't really use. Also disable all
functions in src/phplib/backends.php3. Just add "return;" at the
begining of every function there. Once you are satisfied with the
speed, you may reintroduce some features...
</en>
<fr>Enlevez toutes les fonctionnalités dont vous ne vous servez
pas. De plus,n 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'execution est
satisfaisante, vous pourrez peut-être réintroduire certaines
fonctionnalités... 
</fr>
</answer>
</faqitem>
<faqitem>
<question> 
<en>
daCode displays : Fatal error: Forbidden port in your script on line 97
</en>
<fr>daCode m'affiche: Fatal error: Forbidden port in your script on
line 97.
</fr>
</question>
 <answer date="20010305" author="Fabien Penso">
<en>
<para>
A classical problem. In the file newsindex.tmpl of the linuxfr theme,
daCode calls a fonction which gets the latest versions of the Linux
kernel. This uses finger(???) <!-- FIXME: really? -->and your provider
may very well forbid any outgoing connexion on this port.
</para>
<para>
Just comment (with a hash mark on the begining of the line) the
offending line in the template.
</para>
</en>
<fr>
Problème connu. Dans le thème linuxfr dans newsindex.tmpl il appelle une
fonction qui affiche les dernières version du noyau Linux. Il faut
commenter (diese
en début de ligne) dans le template du thème, car free refuse les accès
finger
de son réseau vers l'exterieur.
</fr>
</answer>
</faqitem>
</section>
<section titlefr="Configuration" titleen="Configuration">
<faqitem>
<question date="20010305">
<en>
Is there a way to configure the location of the daCode files?
</en>
<fr>
Y un moyen pour configurer l'emplacement des fichiers de dacode ?
</fr>
</question>
<answer author="Fabien Penso">
<en>
What you can do is to put phplib into htdocs/. Better put someting
hard to guess (for the exemple sake, secret):
<code>
mv phplib htdocs/secret
</code>
And then edit htdocs/daCode.php3 to change $libdir:
<code>$libdir = $topdir . "./secret";</code>
and this should work.
</en>
<fr>
Ce que tu dois pouvoir faire c'est de mettre phplib dans htdocs/. Ensuite dans
htdocs/dacode.php3 tu modifies $libdir. Bon si j'étais toi je ne mettrai pas
phplib/ mais plutôt un truc difficile à trouver (on ne sait jamais).

Donc tu fais par exemple:
<code>
mv phplib htdocs/UoS6LzGF
</code>
Puis dans dacode.php3 à la ligne 14 tu mets:
<code>
        $libdir = $topdir. "./UoS6LzGF";
</code>
Voilà qui devrait marcher.
</fr>
</answer>
</faqitem>

</section>
<section titlefr="Problemes divers" titleen="Various problems"> 
<faqitem>
<question>
<en><para>I get an error "Cannot redefine class ..."</para>
<para> I use phplib. Can I use dacode with it?</para>
</en>
<fr><para> J'ai une erreur "Cannot redefine class ..."</para>
<para>J'utilise phplib. Puis je quand même utiliser daCode?</para>
</fr>
</question>
<answer date="20010711" autor="steph" email="shuther@bigfoot.com">
<en>This applies only if there's a auto_prepend statement in php.ini file.
If you are using Apache, you can move the statement to .htaccess (that
is a
file that you put into your directories that are using phplib). To work
properly, you need to check the directory tag/AllowOverride from
httpd.conf
to be sure that the file .htaccess is parsed.
Exemple .htacces file for php4
<code>
&amp;lt;IfModule mod_php4.c&amp;gt;
    #
    # 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
&amp;lt;/IfModule&amp;gt;
</code>

</en>
<fr>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 dans httpd.conf (directive directory /
AllowOverride ) pour être bien sur que ces fichiers sont pris en
compte. Ci dessous un exemple de .htaccess pour php4:
<code>
&amp;lt;IfModule mod_php4.c&amp;gt;
    #
    # 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
&amp;lt;/IfModule&amp;gt;
</code>
</fr>
</answer>
</faqitem>
<faqitem>
<question>
<en> I can only get empty pages. What happend?
</en>
<fr>
Je n'obtiens que des pages blanches.
</fr>
</question>
<answer author="Raph" email="raph@r4f.org" date="20010307">
<en>
<para>
This comes probably from the database, which is ignored by PHP. Just
look at the file php.ini or php3.ini to see if the database extensions
are loaded. 
</para>
<para>If the extension is not loaded, you'll have to modify the config
file, and restart the web server. 
</para><para>
ANother way to see if the extension is loaded is to create a small
file containing only &lt;? phpinfo() ?$gt; and to call this file
throug a web server. If there is support for a database, there should
be a paragraph about it.
</para>
</en>
<fr>
<para>
      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.
</para>
<para>
      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
        &lt;? phpinfo(); ?&gt;
      et d'appeler ce fichier. Si le support de la base de données est
      activé, un paragraphe doit y être consacré dans l'affichage.             
</para>
</fr>
</answer>
</faqitem>
<faqitem>
<question>
<en>I cannot connect to MySQL as root. Still I'm pretty sure of the
root password.
</en>
<fr>
Je n'arrive pas à me connecter à MySQL en tant que root. Je suis pourtant sûr
du mot de passe du root.
</fr>
</question>
<answer date="20010305" author="Aurélien Beaujean">
<en>The root password for MySQL is different from the unix root
password. By default, the MySQL root password is empty. You may want
to specify one with mysqladmin -u root password new_password
</en>
<fr>
<para>
Le mot de passe qu'utilise le MySQL n'est pas le même que le mot de
passe root de la machine. Par défaut MySQL, il n'y a pas de mot de
passe.
</para><para>
Il faut en spécifier un avec la commande mysqladmin:
mysqladmin -u root password motdepasse               
</para>
</fr>
</answer>
</faqitem>
</section>
<section titleen="Customization" titlefr="Personalisation">
<faqitem>
<question>
<en>How can I change the site's look? How can suppress some elements
on the pages?
</en>
<fr>Comment changer l'apparence du site? Comment supprimer certains
élements de la page?
</fr>
</question>
<answer date="20010307" author="Paul Gonin" email="pgonin@cs.uno.edu">
<en>You'll have to create your own template. If you can read french,
you should definitively have a look at the template.html file in the
doc/html directory. (and maybe you could also translate it...)
</en>
<fr><para>
En fait la procedure est de creer ton propre template. Je te conseille
de lire le fichier template.txt dans le repertoire doc, il devrait
t'aider sur la question...
</para><para>
Pour l'agenda par exemple il faut retirer la ligne
&amp;lt;!-- daCode: $backends-&amp;gt;agenda() --&amp;gt;
dans le fichier newsindex.tmpl et tous les autres fichiers ou elle
pourrait apparaitre...
 </para><para>
Pour customiser le sous titre du logo, il suffit d'editer la fonction
header() du html.php3 dans le reperetoire phplib/themes/montheme ...
 </para><para>
Mais encore une fois, je ne peux que te recommander TRES vivement la
lecture de templates.html            
</para>
</fr>
</answer>
</faqitem>
</section>
<section titleen="Using daCode" titlefr="Utilisation de daCode">
<faqitem>
<question>
<en>I changed te admin password in the database, and I cannot log in anymore.
</en>
<fr>J'ai changé le mot de âsse dans la base de données, et je ne peux
plus m'identifier en tant qu'admin.
</fr>
</question>
<answer date="20010713" author="Fabien Penso">
<en>The passwords are crypted. You cannot change it directly in the
database. If the admin email in the table "users" has a valid email
field, just use "I forgot my password" on the front page. A new one
will be mailed to you.
</en>
<fr>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é (ton email) alors
un simple 'j'ai oubli? mon mot de  passe' te l'enverra  à cette
adresse (enfin il envoie un nouveau en fait). 
</fr>
</answer>
</faqitem>
</section>
</faq>
