Attention : vous consultez actuellement la documentation dédiée aux versions 1.x de Moodle. La documentation pour les versions 2.x de Moodle est consultable ici : FAQ d'installation, celle pour les versions 3.x de Moodle est consultable ici : FAQ d'installation et celle pour Moodle 4.x est consultable là : FAQ d'installation.



Est-ce que PHP est installé et si oui quelle version ?

Créez dans votre site web un nouveau fichier appelé info.php, contenant le texte suivant uniquement, et appelez-le depuis votre navigateur :

 <?php phpinfo() ?>

Si rien ne se passe (page blanche), PHP n'est pas installé, ou votre serveur web n'est pas configuré correctement pour prendre en charge les fichiers .php. Voyez le Guide d'installation pour des informations sur son installation.

Comment vérifier l'état du serveur ?

Moodle contient un script qui vous aidera à identifier des problèmes communs de php et de configuration du serveur web, ainsi que des problèmes de configuration. Il peut être utile de lancer ce script pour vérifier que vous n'ayez pas de problèmes après l'installation. Ouvrez la page suivante :

http://www.monmoodle.com/moodle/admin/health.php

Modifiez la ligne en fonction de votre adresse, et en supprimant éventuellement moodle/ si vous l'avez installé à la racine.

Informations systèmes nécessaires à poster dans le forum des problèmes d'installation

Si vous postez des questions sur le forum d'installation, essayez de fournir un maximum d'informations sur votre environnement technique Moodle. Utilisez le modèle ci dessous (en anglais, comme le forum) pour le copier-coller dans votre message, en le complétant :

  • Server OS name (version also if possible):
  • Browser name (version also if possible):
  • Moodle version:
  • Moodle config.php attached?(Y/N):
  • Phpinfo attached? (Y/N):

Pour les deux derniers éléments, essayez d'inclure comme fichier attaché :

  • Une copie des informations de phpinfo comme affiché par votre navigateur (voir les informations ci-dessus sur la manière de les obtenir).
  • Une copie du fichier de configuration de Moodle. Il est situé dans le dossier Moodle et est nommé config.php
Attention : éditez le fichier, et supprimez les mots de passe et noms d'utilisateur avant de poster sur le forum.

Copiez-collez ces deux éléments dans un fichier texte unique (avec vi, le Bloc note, etc) et attachez ce fichier à votre message.

Si vous ne pouvez pas fournir le résultat de phpinfo, essayez au moins de fournir dans votre message :

  • Apache version:
  • MySQL version:
  • PHP version:

Pour l'installation chez des hébergeurs web : contactez votre support technique qui devrait pouvoir vous fournir ces informations.

Où et comment sont stockés les paramètres de configuration de Moodle ?

Les paramètres de configuration sont stockés dans le fichier config.php de votre dossier Moodle. Ce fichier est créé lors du processus d'installation. S'il y a un problème et que l'installeur ne peut pas créer ce fichier, vous pouvez essayer de le créer manuellement à partir de la documentation sur le fichier de configuration. Souvenez vous qu'éditer manuellement ce fichier n'est pas recommandé, et peut mener à des pages vides, notamment s'il subsiste des espaces et/ou des lignes après la balise de fermeture "?>".

Télécharger une ancienne version de Moodle

Si votre serveur ne remplit pas les prérequis pour la version courante de Moodle, vous pouvez télécharger une ancienne version en utilisant l'adresse suivante :

http://download.moodle.org/stable[numero_version]

Par exemple : pour télécharger Moodle version 1.5, utilisez http://download.moodle.org/stable15. Vous verrez un affichage de dossier et des fichiers contenus. Cliquez sur celui qui vous intéresse pour le télécharger. Si vous voulez les dernières mises à jour de cette version, descendez et téléchargez le fichier "moodle-latest". Les changements fait le dernier mois sont listés dans le fichier "CHANGES".

Les fichiers contiennent le code Moodle, et ne sont pas les paquetages complets prêts à l'emploi pour Windows ou Mac OS. Vous aurez donc besoin d'un serveur web, un serveur de bases de données et PHP déjà installés. La version la plus ancienne disponible est Moodle 1.3.

Vous pouvez également utiliser CVS pour télécharger d'anciennes versions et les versions incrémentales, comme 1.5.4 - voir la documentation CVS.

Les textes que j'ajoute et qui contiennent une apostrophe (') ou des guillemets droits (") causent des erreurs ou alors sont transcrits avec une barre oblique

Les problèmes causés par les apostrophes sont dus à un mauvais réglage des "magic quotes". Moodle requiert les réglages suivants (qui sont généralement en vigueur par défaut) :

magic_quotes_gpc = On
magic_quotes_runtime = Off

Veuillez consulter le Guide d'installation pour plus de détails.

Aucune copie des messages des forums n'est envoyée par courriel

Vous devez mettre en place un cron, si vous désirez que Moodle envoie automatiquement des copies des messages des forums, devoirs, etc. Ce même processus effectue en outre certaines tâches de nettoyage, comme supprimer les utilisateurs non confirmés, désinscrire les anciens étudiants des cours, etc.

Le principe est de mettre en place un processus qui appelle régulièrement le script http://votresite/admin/cron.php. Pour plus d'informations, voyez la mise en place du cron.

Astuce : essayez d'abord le réglage par défaut dans la page des paramètres techniques de Moodle. Laissez la variable smtphost vide. Cela fonctionnera correctement pour la plupart des utilisateurs.

Error: database connection failed

Si vous obtenez des erreurs du type "database connection failed" ou "could not connect to the database you specified", voici quelques raisons possibles et quelques solutions à envisager :

  • Votre serveur de base de données n'est pas installé ou ne fonctionne pas. Pour vérifier cela avec MySQL, tapez la commande suivante :
 $telnet adresse_du_serveur_base_de_données 3306
Si le serveur fonctionne, vous devez recevoir en retour une réponse contenant le numéro de version de votre serveur MySQL.
  • Les extensions mysql ou postgresql du PHP de votre serveur ne sont pas installées (veuillez vous référer à l'installation de PHP).
  • Vous n'avez pas créé une base de données pour Moodle ou n'avez pas configuré un utilisateur avec les privilèges adéquats pour y accéder.
  • Le nom de la base de données, celui de l'utilisateur ou son mot de passe ne sont pas corrects dans le fichier de configuration de Moodle config.php. Utilisez phpMyAdmin pour configurer et vérifier votre installation MySQL.
  • Vérifiez qu'il n'y a pas d'apostrophe ou de caractère non-alphabétique dans votre nom d'utilisateur ou mot de passe de MySQL.
  • Vous utilisez une version de MySQL numéro 4.1 ou ultérieure, dont l'algorithme de hachage des mots de passe est incompatible avec les versions de PHP numéro 4.x.x. Voir http://dev.mysql.com/doc/refman/5.0/fr/old-client.html pour de plus amples informations à ce sujet.
  • Vous utilisez Fedora core 3 ou un autre système Linux avec SELinux installé et activé. Voir l'adresse suivante (en anglais) pour désactiver SELinux : http://fedora.redhat.com/projects/selinux/. Si vous ne voulez pas désactiver SELinux, vous devrez autoriser le processus httpd à créer des connexions réseau :
 setsebool httpd_can_network_connect true
  • Vous utilisez Mac OSX avec MySQL, essayez de changer $CFG->dbhost de 'localhost' à '127.0.0.1'

Je ne peux pas me connecter à mon site Moodle : je reste coincé sur la page de connexion

La cause la plus courante de ce problème est que votre ordinateur (et non le serveur sur lequel est installé Moodle) a un programme pare-feu (firewall) actif, qui filtre des informations (referrer) de votre navigateur. Voici quelques instructions (en anglais) pour corriger cela avec le programme Norton firewall.

L'administrateur du serveur Moodle peut aussi corriger cela en réglant sur la page de configuration des paramètres le réglage secureforms sur 'Non' dans la section Sécurité de Administration >> Configuration >> Paramètres techniques (jusqu'à Moodle 1.6).

Une autre cause possible de ce problème est une mauvaise configuration des sessions sur le serveur, par exemple des droits d'écriture insuffisants. Vous pouvez tester cela en appelant le script http://votreserveur/moodle/lib/session-test.php.

J'obtiens toujours cette erreur : « A server error that affects your login session was detected »

Veuillez consulter la discussion suivante sur les forums.

J'obtiens toujours cette erreur : « Failed opening required '/web/moodle/lib/setup.php' »

Dans votre fichier config.php, le réglage de la variable dirroot doit être le chemin complet du dossier du serveur web, depuis le sommet de la hiérarchie (la racine) du disque dur.

Parfois, certains utilisent le chemin de leur dossier personnel, ou encore le chemin relatif du dossier du serveur web.

Je me connecte, mais le lien pour se connecter ne change pas, alors que suis effectivement dans Moodle et peux naviguer librement dans le site

Vérifiez que l'URL spécifié dans le réglage $CFG->wwwroot est exactement identique à celui que vous utilisez pour accéder au site.

Mes pages affichent des erreurs comme : « Parse error, call to undefined function: get_string() »

Si vous voyez des messages comme ceux-ci :

Parse error: parse error, unexpected T_VARIABLE in chemin/vers/moodle/config.php on line 94
Fatal error: Call to undefined function: get_string() in chemin/vers/moodle/mod/resource/lib.php on line 11

il est probable que vous avez oublié un point-virgule ou un guillemet à la fin d'une ligne de votre fichier config.php (avant la ligne 94 dans cet exemple).

Il est aussi possible que votre script PHP utilise les balises abrégées, c'est-à-dire, au lieu de <?php ?>, il utilise <? ?>. Pour corriger ceci, soit remplacez les balises abrégées par les balises normales, soit ajoutez cette ligne dans votre fichier php.ini :

short_open_tag = On

Une autre raison possible est la suivante : vous avez modifié config.php dans un programme de traitement de texte comme Word, et l'avez enregistré en format HTML au lieu du format texte.

Quand je veux ouvrir ou afficher un fichier que j'ai déposé, j'obtiens l'erreur « File not found »

Par exemple : Not Found: The requested URL /moodle/file.php/2/myfile.jpg was not found on this server.

Votre serveur web doit être configuré de manière que la partie de l'URL après le nom du script soit passée directement au script. Ce réglage est en général activé par défaut sur Apache 1, mais désactivé sur Apache 2. Pour l'activer, ajoutez cette ligne à votre fichier httpd.conf, ou à un fichier .htaccess dans votre dossier moodle (voir pour plus de détails le Guide d'installation) :

 AcceptPathInfo on

Il est à noter que cela ne fonctionnera QUE pour Apache version 2.x.

Si vous avez ce problème et n'utilisez pas Apache 2 (c'est très improbable), vous pouvez indiquer à Moodle d'utiliser une autre méthode. Les inconvénients sont une légère perte de performance pour vos utilisateurs et qu'il sera impossible d'utiliser des liens relatifs dans vos ressources HTML.

Pour utiliser cette alternative, connectez-vous comme administrateur, allez sur la page Administration >> Configuration >> Paramètres techniques et modifiez le réglage pour slasharguments. Le problème devrait alors être réglé.

Quand je veux afficher la page d'administration, on me dit d'effacer dirroot !

Si vous voyez des messages comme ceux-ci :

Please fix your settings in config.php:
You have:
  $CFG->dirroot = "/home/users/fred/public_html/moodle";
but it should be:
  $CFG->dirroot = "";

c'est que vous êtes victime d'un petit bogue survenant sur certains serveurs. Le problème est dû au mécanisme de vérification des erreurs, et non au chemin du fichier lui-même. Pour corriger ce problème, localisez cette ligne (la ligne 66) du fichier admin/index.php :

if ($dirroot != $CFG->dirroot) {

et remplacez-la par celle-ci :

if (!empty($dirroot) and $dirroot != $CFG->dirroot) {

Quand j'essaie d'ajouter une ressource, je reçois des messages d'erreur

En admettant que vous utilisez Apache, il est probable que votre réglage de $CFG->wwwroot dans le fichier config.php est différent de l'URL que vous utilisez pour accéder au site. Essayez aussi de désactiver le réglage secureforms dans la configuration des paramètres du site, section sécurité : Administration >> Configuration >> Paramètres techniques.

Pourquoi toutes mes pages sont vides ?

Vérifiez que la variable dirroot de votre fichier config.php soit réglée correctement. Vous devez utiliser un chemin absolu et complet, par exemple :

 $CFG->dirroot = "d:\inetpub\sites\www.yoursite.com\web\moodle";

Ce problème peut aussi arriver si PHP n'a pas été configuré pour supporter MySQL. C'est assez habituel sur Redhat Linux et OpenBSD. Dans ce cas, une erreur est générée, mais comme l'affichage des erreurs est souvent désactivé par défaut, tout ce que voit l'utilisateur est une page blanche. Pour vous assurer que c'est bien ce problème, ajouter ceci comme deuxième ligne de votre fichier config.php

phpinfo();

et rafraîchissez la page web. Examinez attentivement le résultat obtenu pour voir si MySQL est supporté. Dans le cas contraire, installez le paquet qui vous manque.

Pourquoi ne puis-je pas déposer une nouvelle image dans mon profil ?

Si vous ne pouvez pas voir quoi que ce soit dans votre profil qui vous permette de déposer une image, c'est habituellement parce que GD n'est pas activé sur votre serveur. GD est une librairie qui permet le traitement des images.

1. Assurez-vous que GD a bien été inclus dans votre installation PHP. Vous pouvez le vérifier en allant sur Administration > Serveur > Chemins système (Administration > Configuration > Paramètres techniques dans les versions anciennes) et lisant la variable gdversion. Ce paramètre est automatiquement réglé chaque fois que vous visitez cette page. S'il affiche GD version 1 ou version 2, tout devrait être correct. Enregistrez la page de configuration et retournez à votre profil.

2. Si Moodle ne détecte pas GD, vous devrez l'installer.

  • Sur Unix, il vous faudra vraisemblablement recompiler PHP avec comme arguments quelque chose comme cela :
./configure --with-apxs=/usr/local/apache/bin/apxs --with-xml --with-gd
--with-jpeg-dir=/usr/local --with-png-dir=/usr --with-ttf
--enable-gd-native-ttf --enable-magic-quotes
--with-mysql --enable-sockets --enable-track-vars
--enable-versioning --with-zlib
  • Sous Windows il suffit généralement d'activer le module dans PHP en modifiant le fichier php.ini. Pour cela, supprimez le ";" pour l'extension php_gd2.dll - vérifiez avant que vous avez bien ce fichier dans votre dossier d'extensions PHP (cherchez dans php.ini extension_dir pour déterminer le dossier concerné). Vous devriez obtenir une ligne comme celle-ci :
extension=php_gd2.dll

Les utilisateurs de Windows devraient voir les instructions d'installation pour plus d'aide.

3. Rappelez-vous de re-visiter la configuration de Moodle après avoir effectué toute modification à PHP afin qu'il prenne en compte la version correct de GD.

Pourquoi obtiens-je toujours des messages mentionnant headers already sent ?

Si vous voyez des messages comme ceux-ci :

Warning: Cannot add header information - headers already sent by (output started at /webs/moodle/config.php:87)
in /webs/moodle/lib/moodlelib.php on line 1322
Warning: Cannot add header information - headers already sent by (output started at /webs/moodle/config.php:87)
in /webs/moodle/lib/moodlelib.php on line 1323
Warning: Cannot add header information - headers already sent by (output started at /webs/moodle/config.php:87)
in /webs/moodle/login/index.php on line 54

Vous avez vraisemblablement des lignes ou des espaces vides après la balise ?> finale de votre fichier config.php. Certains éditeurs de texte (comme Notepad sous Windows) ajoutent de tels caractères. Essayez de supprimer totalement ces caractères avec un autre programme.

Pourquoi mon site Moodle n'affiche pas correctement l'heure et la date ?

Chaque langue nécessite un code de langue spécifique (appelé un locale) qui permet d'afficher les heures et dates dans le format adéquat. Les fichiers de langue contiennent un certain nombres de codes standard, mais ceux-ci ne fonctionnent pas toujours sur les serveurs Windows.

Vous trouverez le fichier locale correct pour Windows sur ces deux pages : Language codes et Country/region codes.

Ces nouveaux fichiers locale peuvent être entrés sur la page de configuration des paramètres de Moodle. Ils remplaceront ceux qui sont fournis dans le paquetage de la langue choisie.

Pourquoi mes messages envoyés dans les forums n'arrivent pas aux destinataires ?

Il peut y avoir plusieurs raisons expliquant le fait que les personnes ne reçoivent pas les copies des messages envoyés sur les forums. Plusieurs vérifications sont donc à effectuer.

Si certaines personnes seulement ne reçoivent pas les copies :

  • Ces personnes sont-elles bien abonnées au forum concerné ?
  • Leur profil est-il configuré pour recevoir un courriel par message (et pas un courriel quotidien) ?
  • Leur adresse de courriel est-elle activée (et valide) ?

Si personne ne reçoit de copie par courriel :

  • Vérifier que le forum est ouvert et que les personnes y sont inscrites
  • Le cron n'est-il pas bloqué ? vous pouvez le vérifier dans la page d'administration
  • Le serveur SMTP est il bien renseigné dans Administration / Paramètres techniques/ Courriel /smtphosts ?

J'ai de nombreux problèmes, mon hébergeur est 1&1

En effet, de nombreux problèmes ont été signalés pour les Moodle hébergés sur 1&1.

Pour régler ces problèmes, il est nécessaire d'ajouter dans le dossier de votre Moodle (là ou se trouve le fichier config.php) un fichier .htaccess, qui contiendra une ligne de la forme :

 AddType x-mapp-php5 .php

Pour plus d'informations, faites une recherche sur "addtype htaccess" dans l'espace Moodle francophone.

J'ai l'erreur "500:Internal Server Error"

Vous obtenez ce message d'erreur s'il y a une erreur de syntaxe dans votre fichier .htaccess ou httpd.conf. Vous aurez également cette erreur si votre serveur ne supporte pas les fichiers .htaccess, notamment s'il utilise PHPsuexec. De plus, vous pouvez avoir une directive dans votre fichier .htaccess ou httpd.conf qui n'est pas compatible avec la version de votre serveur web.

Comment désinstaller Moodle ?

Paquet Moodle: si vous avez téléchargé un paquet Moodle, désinstallez simplement en utilisant vos commandes système. Sur les PC Windows, vous devriez accéder à Panneau de configuration -> Ajout/Suppression de programme. Sélectionnez le nom du paquet, et cliquez sur Modifier ou supprimer le programme.

Hébergeur/installation manuelle: si vous avez installé Moodle manuellement ou chez un hébergeur, suivez ces étapes :

  • Supprimez la base de données moodle avec cette commande mysql (ou depuis votre client mysql, comme PHPMyAdmin):
sql>DROP DATABASE moodle;
Remplacez dans cet exemple 'moodle' par le nom de la base de données que vous avez utilisé à l'installation.
  • Supprimez le dossier moodledata. Si vous, ou vos utilisateurs, aviez déposé du contenu dans ce dossier, prévoyez d'en faire une sauvegarde/copie avant de tout supprimer.
  • Supprimez le dossier moodle. Cela supprimera tous les fichiers scripts PHP de Moodle.

Comment mettre à jour Moodle ? Dois-je juste écraser les fichiers ?

Non, n'écrasez pas simplement les fichiers, ce qui pourrait provoquer des erreurs inattendues. Lisez plutôt la documentation sur la Mise à jour.

Fatal error allowed memory size exhausted. Comment augmenter la limite mémoire de php ?

Vous verrez parfois des erreurs comme :

Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate xx bytes) in /var/www/moodle/yyyy.php

Cette erreur signifie que la valeur php memory_limit n'est pas suffisante pour le script php. La valeur memory_limit est la "taille mémoire autorisée" - 64Mo dans l'exemple ci-dessus (67108864 octets / 1024 = 65536 Ko. 65536 Ko / 1024 = 64 Mo). Vous devrez augmenter la valeur php memory_limit jusqu'à ce que le message n'apparaisse plus. Il y a deux façons de faire cela :

  • Chez un hébergeur, ajoutez cette ligne dans votre fichier .htaccess (ou créez le s'il n'existe pas) :
php_value memory_limit <valeur>M
Exemple: php_value memory_limit 40M
  • Si vous avez votre propre serveur avec un accès en ligne de commande, modifiez votre fichier php.ini (assurez vous que ce soit le bon en vérifiant les informations affichées par phpinfo) comme cela :
memory_limit <valeur>M
Exemple: memory_limit 40M

Attention : vous devez relancer votre serveur web pour que les changements à php.ini soient pris en compte. Une alternative est de supprimer memory_limit en utilisant la commande memory_limit 0.

Comment migrer Moodle vers un nouveau site ou serveur ?

Vous trouverez toutes les informations nécessaires pour cela dans Migration de Moodle.

L'installation bloque lors de l'installation des tables de la base de données interne

  • Lors d'une mise à jour de Moodle, il vaut mieux passer par les versions intermédiaires pour éviter ce problème (ne pas passer directement de 1.6 à 1.8 par exemple).
  • Voir les détails en anglais