iGalerie

Documentation d'iGalerie 3

Foire aux questions

Je ne peux plus me connecter à l'administration !

Vous n'arrivez pas à vous connecter à l'interface d'administration, ou bien vous avez perdu votre mot de passe ? Pas de panique, il y a toujours une solution !

Attention à la casse !

Tout d'abord, vérifiez que le mot de passe que vous avez entré dans la console de connexion respecte bien la casse du mot de passe que vous avez enregistré, c'est à dire de bien faire la distinction majuscules / minuscules. Vérifiez également que les majuscules ne sont pas verrouillées par votre clavier (touche "Caps Lock" ou "Verr Maj").

Mot de passe oublié

Si vous avez perdu votre mot de passe, iGalerie possède une procédure pour en générer un nouveau, via le lien Mot de passe oublié de la console de connexion. Cependant, pour que cette procédure fonctionne, il faut que vous ayez enregistré une adresse de courriel valide dans votre compte super-administrateur.

Changer de mot de passe

Si tout ce qui précède n'a pas fonctionné, il existe une dernière solution : générer un nouveau nom d'utilisateur et un nouveau mot de passe. Pour cela, il faudra créer un fichier avec l'extension .php contenant le code suivant :

<?php
require_once(__DIR__ . '/includes/prepend.php');

// Connexion à la base de données.
if (!DB::connect())
{
   die('Impossible de se connecter à la base de données.');
}

// Nom d'utilisateur.
$login = 'admin';

// Mot de passe.
$password = Utility::passwordHash('votre mot de passe');

// Mise à jour de la base de données.
$sql = 'UPDATE {users} SET user_login = ?, user_password = ? WHERE user_id = 1';
if (!DB::execute($sql, [$login, $password]))
{
   die(DB::getError());
}

echo 'Modifications enregistrées !';
?>

Ce fichier devra être placé dans le répertoire d'iGalerie, puis être exécuté depuis votre navigateur. Et n'oubliez pas bien sûr de modifier les lignes $login = 'admin'; et $password = App::passwordHash('votre mot de passe'); pour indiquer votre nouveau nom d'utilisateur et votre nouveau mot de passe.

Changer de mot de passe (avec iGalerie 2)

Voici le code équivalent pour iGalerie 2 dans le cas où vous utiliseriez encore cette version :

<?php
require_once(dirname(__FILE__) . '/includes/prepend.php');

// Nom d'utilisateur.
$login = 'admin';

// Mot de passe.
$password = 'votre mot de passe';

// Connexion à la base de données.
utils::$db = new db();
if (utils::$db->connexion === NULL)
{
   die('Unable to connect to the database.');
}
utils::getConfig();

// Date de création.
$sql = 'SELECT user_crtdt FROM ' . CONF_DB_PREF . 'users WHERE user_id = 1';
if (utils::$db->query($sql, 'value') === FALSE)
{
   die(utils::$db->msgError);
}
$user_crtdt = utils::$db->queryResult;

// Mise à jour de la base de données.
$hash = hash_hmac('sha1', $password, CONF_KEY . '|' . $user_crtdt . '|' . utils::$config['key']);
$sql = 'UPDATE ' . CONF_DB_PREF . 'users SET user_login = ?, user_password = ? WHERE user_id = 1';
if (utils::$db->prepare($sql) === FALSE || utils::$db->executeExec([$login, $hash]) === FALSE)
{
   die(utils::$db->msgError);
}

echo 'Modifications enregistrées !';
?>
Cherchez l'erreur

Si le script précédent ne fonctionne pas, et si toutes vos tentatives de connexion ont échouées, allez vérifier s'il existe des fichiers .xml dans le répertoire errors d'iGalerie. Si oui, ouvrez une discussion dans le forum et rapportez le contenu de ces fichiers.

Si le répertoire errors contient beaucoup de fichiers .xml, supprimez-les tous et essayez à nouveau de vous connecter afin de vérifier si un message d'erreur est généré par votre tentative de connexion.

L'ajout de fichiers par FTP ne fonctionne pas !

Vous avez ajouté des fichiers par FTP, mais lorsque vous cliquez sur le bouton Scanner le répertoire des albums de la section Ajout de fichiers aucun fichier n'est ajouté ?

Tout d'abord, assurez-vous d'avoir respecté l'organisation des fichiers d'iGalerie, car dans le cas contraire vos fichiers ne seront pas détectés lors du scan.

Si c'est le cas, alors il est probable que votre problème sera résolu par l'une des solutions suivantes.

Vérifiez votre client FTP !

Vérifiez que vous envoyez bien vos fichiers en mode binaire (ou en mode automatique) avec votre client FTP. Si vous envoyez vos fichiers en mode ASCII, iGalerie pourrait ne pas les détecter et les ajouter à la galerie.

Choix du type de transfert dans le logiciel libre FileZilla
Choix du type de transfert dans le logiciel libre FileZilla.

Vérifiez également qu'il ne reste aucun fichier en attente d'envoi dans votre client FTP.

Vos fichiers sont-ils valides ?

Si vos fichiers ne sont pas dans un format reconnu par iGalerie, ils seront rejetés lors du scan. Vos fichiers peuvent aussi être rejetés à cause d'une extension incorrecte ou parce que vos images ou vidéos sont corrompues.

Fichiers rejetés pour différentes raisons lors du scan du répertoire des albums
Fichiers rejetés pour différentes raisons lors du scan du répertoire des albums.

J'ai un message "Échec de l'envoi du fichier" !

Si vous obtenez ce message lorsque vous envoyez des fichiers par le navigateur, ouvrez les outils de développement du navigateur (touche F12) et allez à l'onglet "Console". Vous devriez voir un message d'erreur en provenance du fichier upload.js. Voici les messages d'erreurs les plus courants :

Problème avec mod_security

Le message qui s'affiche est :

413 Request Entity Too Large.

ou :

406 Not Acceptable.

Le problème vient probablement du mod_security d'Apache. La solution est de le désactiver uniquement pour iGalerie en plaçant les lignes suivantes dans le fichier .htaccess situé dans le répertoire d'iGalerie :

<IfModule mod_security.c>
SecFilterEngine Off
</IfModule>

Certaines vignettes ne s'affichent pas !

Certaines des vignettes de vos photos ne s'affichent pas ? Pour savoir d'où vient le problème, allez dans la section Albums de l'interface d'administration et sélectionnez le fichier dont la vignette ne s'affiche pas. Faites un clic droit sur l'emplacement de la vignette, puis choisissez "Ouvrir l'image dans un nouvel onglet", ou bien "Afficher l'image" (avec les anciennes versions de Firefox). Dans la plupart des cas, un message d'erreur devrait s'afficher. Nous allons maintenant aborder les messages d'erreurs les plus courants.

Vignette d'une image qui ne s'affiche pas dans le mode d'affichage en 'grille' de la section Albums
Vignette d'une image qui ne s'affiche pas dans le mode d'affichage en "grille" de la section Albums.
Dépassement de mémoire

Vous obtenez un mesage d'erreur de ce type :

Fatal error: Allowed memory size of 63806182 bytes exhausted (tried to allocate 78540 bytes) in /.../includes/core/GD.class.php on line 28 

Ce message d'erreur signife que la mémoire allouée pour le script est insuffisante pour générer la vignette, car l'image est trop grande.

Si vous avez un hébergement mutualisé, vous ne pouvez rien faire à part réduire la taille de l'image originale. N'oubliez pas que tout le monde ne dispose pas d'une connexion haut débit et que vos images doivent avoir une taille raisonnable pour le Web.

Si vous avez accès au serveur, vous devez augmenter la valeur de la directive "memory_limit" du fichier de configuration de PHP (php.ini), pour la mettre par exemple à "128M" (valeur par défaut avec PHP 7), ce qui devrait suffire dans la majorité des cas.

Image corrompue

Vous obtenez l'un de ces messages d'erreur :

Invalid image.

ou

Cannot create image (2).

Le problème vient probablement du fait que l'image n'est pas valide, qu'elle est corrompue, ce qui fait que GD n'arrive pas à lire l'image et à générer la vignette. La seule solution est de remplacer ou de supprimer le fichier.

GD non activé

Vous obtenez ce message :

GD is not activated.

Ce qui signifie que l'extension GD n'est pas activée. Cette extension est indispensable au fonctionnement d'iGalerie, donc vous devez faire en sorte qu'elle soit activée.

Autre message d'erreur

Si vous obtenez un message d'erreur différent de ceux évoqués précédemment, alors vous pouvez ouvrir une nouvelle discussion dans le forum en recopiant en entier le message d'erreur qui s'affiche, ainsi que ceux éventuellement présents dans la section Incidents, et en indiquant le maximum de détails comme votre configuration serveur disponible dans la section Système.

L'envoi de courriel ne fonctionne pas !

Vous avez correctement renseigné votre adresse de courriel pour les notifications dans votre page de profil, mais vous ne recevez pourtant aucun courriel ? Vous avez ce message d'erreur qui apparaît dans la section Incidents ?

PHP_WARNING : "mail(): SMTP server response: 501 Must specify to address"
Adresse du destinataire principal

La première chose à essayer est de remplir le champ Adresse du destinataire principal dans Options / Courriel. Le champ "Pour" (ou "To" en anglais) des courriels automatique est vide par défaut. Mais certains hébergeurs, pour des raisons de lutte contre le spam, ne l'acceptent pas et bloquent l'envoi de courriel si ce champ est vide. Dans ce cas, il vous faudra donc obligatoirement renseigner une adresse de courriel.

SMTP

Par défaut, c'est la fonction mail() de PHP qui est utilisée pour l'envoi de courriel. Mais si elle ne fonctionne pas ou que vous voulez une alternative, il est possible de passer par le protocole SMTP en remplissant les constantes avec le préfixe CONF_SMTP_ dans le fichier config/conf.php.

Tester avec la page "Contact"

Même si vous n'en avez pas besoin, vous pouvez activer temporairement la page Contact pour tester l'envoi de courriel. N'oubliez pas cependant d'indiquer une adresse de courriel valide dans les réglages de cette page.

J'ai une erreur 500 ou une page blanche avant la fin de l'installation !

Ce problème peut se produire si votre hébergeur a désactivé certaines options de configuration du serveur. La solution pour résoudre ce problème est de désactiver les lignes qui posent problèmes dans le fichier .htaccess d'iGalerie. Si vous ne savez pas quelles lignes sont en cause, supprimez purement et simplement ce fichier, ou bien renommez-le en .htaccess_bak par exemple.

Une erreur 406 s'affiche lorsque j'ajoute des fichiers !

Si, lorsque vous tentez d'ajouter des fichiers dans la section Ajout de fichiers de l'interface d'admininstration, ou que l'envoi de fichiers par un membre affiche un message d'erreur 406 de ce type :

406 Not Acceptable.

ou bien encore :

406 Client browser does not accept the MIME type of the requested page.

Le problème provient probablement de règles de filtrage trop restrictives du mod_security d'Apache. Pour y remédier, la solution la plus simple est de désactiver ce module seulement pour iGalerie, en plaçant les lignes suivantes dans le fichier .htaccess situé dans le répertoire d'iGalerie :

<IfModule mod_security.c>
SecFilterEngine Off
</IfModule>

J'ai une erreur du type "Parse error: syntax error" !

Si, lorsque vous affichez la galerie, vous obtenez ce message d'erreur :

Warning: Unsupported declare 'strict_types' in index.php on line 2

ou celui-ci :

Parse error: syntax error, unexpected ':', expecting '{' in prepend.php on line 114

Cela signifie que vous ne disposez pas de PHP 7 ou que PHP 7 n'est pas activé. Si vous êtes en hébergement mutualisé, regardez du coté de la documentation de votre hébergeur pour savoir comment activer PHP 7.

Sinon, si vous avez PHP 7.2+ et que le message d'erreur est différent, alors il s'agit sans doute d'un fichier qui n'a pas été chargé en entier sur le serveur lors du transfert FTP. Téléversez à nouveau les fichiers d'iGalerie en vous assurant qu'ils ont tous bien été envoyé correctement.

J'ai une erreur "Database is locked" !

C'est une erreur qui peut survenir avec SQLite et qui est liée au mécanisme de transactions utilisé par iGalerie. Si cette erreur revient trop fréquemment, vous avez la possibilité de désactiver les transactions avec le paramètre CONF_DB_TRAN du fichier de configuration config/conf.php. Par défaut, la valeur de ce paramètre est 1. Pour le désactiver, il faut le mettre à 0 :

define('CONF_DB_TRAN', 0);

Les transactions sont surtout utilisées pour fiabiliser les statistiques sur les catégories et fichiers, mais ne sont pas indispensables au fonctionnement d'iGalerie. Par ailleurs, en cas d'incohérences sur les statistiques, iGalerie possède un outil permettant de les vérifier et de les corriger dans la section Maintenance.

Où se trouvent les informations de connexion à la base de données ?

Les informations de connexion à votre base de données se trouvent dans le fichier config/conf.php, sous le commentaire :

// Base de données.

Comment lancer un diaporama au chargement d'une page ?

Pour que le diaporama se lance automatiquement au chargement d'une page, il suffit de rajouter une ancre #diapo à la fin de l'URL de cette page. Voici un exemple :

https://www.igalerie.org/demo/album/2-voyage#diapo

Si l'URL possède déjà une ancre (avec #top par exemple), il faudra remplacer cette ancre par #diapo, car une URL avec deux ancres ne sera pas valide et le diaporama ne se lancera pas.

Comment changer de répertoire d'installation ?

Après l'installation, il est possible de déplacer iGalerie dans un autre répertoire, ou de renommer le répertoire d'installation. Mais pour que la procédure fonctionne, vous devrez modifier les constantes CONF_DB_NAME (uniquement avec SQLite), CONF_ALBUMS_PATH et CONF_GALLERY_PATH dans le fichier config/conf.php, ainsi que la directive RewriteBase dans le fichier .htaccess.

Puis-je retirer la mention "Propulsé par iGalerie" ?

Il est préférable de laisser cette mention, qui est une forme de soutien au projet iGalerie. Mais sinon, rien ne vous interdit de l'enlever. En revanche, vous n'avez pas l'autorisation de remplacer cette mention par "propulsé par X" (ou expression équivalente), où X serait une société ou une personne n'ayant aucun rapport avec le projet iGalerie. Donc vous pouvez soit laisser cette mention, soit l'enlever, mais pas la modifier.

Dernière modification : 18/03/2024