# Coppermine Photo Gallery v1.5.x: Documentation et manuel

# Intégration du script avec une autre application (passerelle)

## Ce que fait l'intégration

Coppermine peut être intégré à d'autres applications au niveau de la gestion des utilisateurs, partageant le même identifiant pour l'ensemble de votre site; c'est ce que l'on appelle l'intégration ou passerelle. Cela facilitera l'utilisation pour les visiteurs, puisqu'ils ne devront s'identifier qu'une seule fois; leur identifiant fonctionnera avec Coppermine aussi bien qu'avec toutes les pages avec lesquelles Coppermine sera intégré.

Par défaut, l'intégration est désactivée, et ceux qui ne souhaitent pas l'utiliser peuvent oublier cette fonction sans problèmes. Il y a toutefois des problèmes lors de l'intégration à un stade plus avancé (une fois qu'il y a déjà du contenu dans Coppermine), donc, si vous souhaitez utiliser l'intégration, vous devriez l'activer avant de commencer à ajouter du contenu.

Originellement, l'intégration de Coppermine a été crée pour une intégration avec des BBS (Forums). Par la suite, des passerelles pour d'autres applications (qui n'entrent pas dans la catégorie des "BBS") ont été ajoutées - le plus souvent pour des systèmes de gestion de contenu (CMS). Néanmoins, les références aux applications BBS restent dans certains documents et chaines de caractères du fichier langue. Il n'y a pas de raison de s'inquiéter de cela.

Les passerelles n'intègrent pas votre galerie et l'application avec laquelle vous voulez appliquer cette passerelle de manière visuelle. Si vous voulez une intégration visuelle, créez un thème personnalisé pour votre galerie, qui correspond à l'aspect de l'ensemble de votre site et ajoutez un lien pointant du menu de Coppermine à l'application avec laquelle vous l'avez intégré et vice et versa.

Lorsque l'intégration est activée, Coppermine enlève la gestion des utilisateurs interne et utilise celle de l'application avec laquelle vous avez crée une passerelle (par exemple votre forum). En conséquence, vos utilisateurs devront s'enregistrer et s'identifier dans votre application avec laquelle Coppermine est intégré (BBS). Une fois fait, ils seront redirigés vers Coppermine (s’ils viennent de la page d'identification de Coppermine et que l'application avec laquelle la passerelle est faite autorise les redirections).

## Fichiers d'intégration disponibles

Coppermine peut s'intégrer avec les applications suivantes (exemple: Coppermine et votre forum vont partager la même base de données utilisateurs).

- Invision Power Board
- Mambo
- MyBB
- Phorum
- phpBB 2
- phpBB 3
- PunBB 1.15
- PunBB 1.2 (fonctionne aussi avec FluxBB 1.2)
- SMF 1.x
- SMF 2.x
- vBulletin
- XMB
- Xoops2

## Pré-requis

### Autentification par cookie

L'intégration de l'identification utilise le cookie de votre application de forum, toutefois, cela ne fonctionnera pas si les cookies de votre forum ne sont pas visibles par Coppermine. Donc, si vous n'êtes pas un expert, faites les choses simplement et installer Coppermine et votre application à bridger sur le même domaine.

Cela va fonctionner: | Cela peut fonctionner: | Cela ne va pas fonctionner:
Application intégrée: `http://votredomaine.com/forum/` Coppermine: `http://votredomaine.com/galerie/` | Application intégrée: `http://forum.votredomaine.com/` Coppermine: `http://galerie.votredomaine.com/` | Application intégrée: `http://votrepremierdomaine.com/forum/` Coppermine: `http://votreseconddomaine.com/galerie/`

Le chemin du cookie dans la configuration du forum devrait être '/' là ou l'option est disponible.

Les noms des cookies de votre application intégrée et de Coppermine ne doivent pas être les mêmes - ils doivent être différents !

Certaines applications intégrées ont une option pour activer les cookies indépendants des sous-domaines. Vous devez activer cette option si vous possédez l'ensemble du domaine.

Certaines applications intégrées utilisent un chemin de cookie par défaut qui ne rend le cookie disponible que pour l'application elle même, et pas pour les applications se trouvant dans un autre répertoire du serveur. Si c'est le cas pour vous, vous devrez revoir la configuration de votre application intégrée d'abord pour vous assurer que le cookie de votre application intégrée est bien visible par Coppermine.

Dans SMF 1.1.x, l'option est appelée "stockage local des cookies". Si elle est activée, les cookies issus de SMF ne seront accessibles que pour le forum et pas par les autres applications. C'est pourquoi, lors de l'établissement d'une passerelle entre Coppermine et SMF, vous devrez aller dans le panneau de configuration de SMF et de désactiver l'option stockage local des cookies. Dans SMF cette option peut être trouvée sous "Administrateur" → "paramètres du serveur" → "Options de configuration" → "Activer le stockage local des cookies".
Pour d'autres applications intégrables, l'option peut être nommée différemment et peut se trouver sous une autre structure de navigation, mais le résultat reste le même: le cookie généré par l'application intégrée doit être stocké de manière à ce qu'il soit accessible par les autres applications dans le même domaine.

Dans la plupart des applications BBS récentes, vous pouvez déterminer si vous voulez gérer l'authentification des utilisateurs par cookie ou par session. Si vous voulez établir une passerelle, vous devez vous assurer que l'application avec laquelle vous voulez établir une passerelle, utilise les cookies comme méthode d'authentification - Coppermine ne fonctionne pas avec les authentifications gérées par les sessions !

### Version autonome d'abord

Pour éviter les confusions, assurez vous de paramétrer les deux applications (Coppermine et l'application intégrée) de manière autonome d'abord. Assurez-vous que les deux fonctionnent correctement, sans l'intégration. Testez toutes les fonctions de Coppermine (comme le téléchargement, l'enregistrement etc...) une fois que Coppermine est installé, avant de commencer la mise en place de la passerelle.

### Les utilisateurs, groupes et images téléchargées par les utilisateurs de Coppermine sont perdus lors de l'intégration

Attention: Si vous avez déjà des utilisateurs et des groupes personnalisés dans votre base de données de Coppermine lorsque vous activez l'intégration, soyez attentifs au fait qu'ils seront perdus ! Si vous utilisateurs de Coppermine ont crées des albums privés et y ont téléchargés des fichiers, ils seront eux aussi perdus !

Explication détaillée:
Comme la plupart des applications utilisant une communauté Coppermine stocke tout ce que font les utilisateurs (y compris l'administrateur) comme le téléchargement de fichiers, les commentaires, les votes, dans la base de données. La référence à chaque action faite par un utilisateur est défini par un IDentifiant utilisateur unique. La corrélation entre les actions de l'utilisateur et le profil de l’utilisateur correspondant est faite par le biais d'un IDentifiant unique dans chaque enregistrement de la base de données qui défini les actions des utilisateurs.
Lorsque la passerelle est établie, la gestion des utilisateurs de Coppermine est remplacée par celle de l'application avec laquelle la passerelle est établie. En conséquence l'IDentifiant de l'utilisateur de l'application intégrée (qui est différent de celui de Coppermine) est pris en compte.

L'utilisateur de Coppermine "Pierre" a pour IDentifiant utilisateur Coppermine "3". Il l'a utilisé pour télécharger plusieurs fichiers qui ont été placés dans le répertoire /albums/userpics/10003/. L'URL de cette galerie personnelle est http://votresite.com/votre_repertoire_coppermine/index.php?cat=10003.
Dans l'application BBS l'utilisateur "Paul" a eu l'identifiant "3".
Après l'activation de la passerelle, l'URL http://votresite.com/votre_repertoire_coppermine/index.php?cat=10003 pointera vers la galerie personnelle de l'utilisateur "Paul". Toutes les images que Pierre avait téléchargées apparaissent comme ayant été téléchargées par Paul.

Conclusion:
La corrélation entre les actions faites par les utilisateurs de Coppermine non intégré et les "nouveaux" comptes de l'application avec laquelle vous avez crée la passerelle sont perdus. En conséquence vous n'avez actuellement pas perdus les fichiers qui ont été téléchargés auparavant, mais ils apparaissent comme ayant été téléchargés par un autre utilisateur.

### Sauvegarde

Il est particulièrement recommandé de sauvegarder aussi bien votre base de données Coppermine que vos fichiers avant d'activer la passerelle, de sorte à pouvoir revenir en arrière si l'intégration devait mal se passer.

En fait, vous êtes encouragés à sauvegarder votre base de données régulièrement, et plus particulièrement avant de faire des changements dans le code.

Cependant, ne vous alarmez pas des disfonctionnement de votre forum qui pourraient être causés par la passerelle: Coppermine n'affecte pas votre forum (ni aucune autre application). Lors de la mise en place de la passerelle, Coppermine ne lance aucune requête en écriture/modification dans la base de données de l'application intégrée, tout comme Coppermine ne modifie aucun fichier de l'application intégrée ! La pire chose qui puisse arriver si quelque chose se passait mal, serait que votre galerie Coppermine soit inaccessible. Il est tout à fait impossible que la passerelle de Coppermine affecte l'application intégrée.

## Etapes de l'intégration

Depuis cpg1.4.x vous pouvez utiliser le gestionnaire d'intégration qui propose une interface sous forme d'assistant pour activer/désactiver la passerelle.

### Utilisation du gestionnaire d'intégration

Le gestionnaire d’intégration est une nouvelle fonction de cpg1.4, il n'était pas disponible dans les versions précédentes. Au lieu de modifier manuellement le code de Coppermine, vous pouvez activer/désactiver la passerelle depuis votre navigateur, en utilisant une interface sous forme d'assistant. Pour démarrer le gestionnaire d’intégration, identifiez vous comme administrateur choisissez "Gestionnaire d'intégration" dans le menu administrateur.

Note: A chaque étape dans l'assistant, des informations sont écrites dans la base de données de Coppermine ! A l'inverse d'autres assistants (généralement sur votre ordinateur) le gestionnaire d’intégration n'a pas de bouton "annuler" ! Une fois que vous avez activé la passerelle et que tout fonctionne correctement, vous ne devriez pas changer de valeurs, juste par curiosité, puisqu'elles sont écrites dans la base de données, cela ferait que la passerelle utilisée ne fonctionnerait plus une fois que vous aurez "joué" avec.

Note complémentaire
Si vous avez crée un fichier de passerelle personnalisé, copiez simplement ce fichier de passerelle dans le répertoire bridge de Coppermine et il s'affichera dans l'interface du gestionnaire d’intégration (le fichier de passerelle doit se trouver dans le sous répertoire de Coppermine "bridge").

Si un bouton retour () est affiché après un champ d'entré, la valeur du champ n'a pas la valeur par défaut. Cela peut être tout à fait normal de ne pas avoir la valeur par défaut, néanmoins vous devez garder en mémoire que si vous avez "joué" avec le gestionnaire d'intégration avant, les paramètres précédents qui se trouvent dans un champ peuvent ne pas être correct. - ne passez pas allègrement une étape sans faire très attention à cela. Utilisez le bouton retour pour revenir à la valeur par défaut (pas nécessairement "votre" valeur par défaut).

#### Choisissez l'application avec laquelle vous voulez établir une passerelle

Dans la première étape de l'assistant "choisissez l'application avec laquelle vous voulez établir une passerelle avec Coppermine", vous devez choisir l'application que vous voulez avec Coppermine. Notez que vous devez avoir cette application installée sur votre serveur, elle doit être correctement configurée et doit être opérationnelle. N'utilisez pas le gestionnaire d'intégration si vous avez juste planifié l'intégration de Coppermine avec une autre application plus tard.

Choisissez un des fichier passerelle disponible

Cliquez sur "suivant"

#### Etapes suivantes

Les étapes suivantes dépendent de l'application avec laquelle vous voulez faire l'intégration de Coppermine: certaines applications ont besoin que l'on entre une URL ou un chemin. Certaines ont besoin que des données de cookies soient entrées, d'autres pas. L'assistant ne vous demandera que les paramètres nécessaires à votre application - si l'un ou l'autre des points décrits plus bas ne s'appliquent pas à votre application, pas de panique - ne remplissez que les informations obligatoires et cliquez sur "suivant". Toutefois, vous devez comprendre que Coppermine ne peut vérifier que certaines de vos entrées - certaines peuvent être invalidées.

#### Chemin(s) vers l'application avec laquelle vous voulez établir une passerelle

Il y a de multiples manières utilisées par le mécanisme d'intégration de Coppermine pour se connecter à une application intégrée. Généralement, les paramètres entrés dans le gestionnaire d’intégration à cette étape "demandent" à Coppermine ou se trouve votre application intégrée et ou se trouve le fichier de configuration contenant les donnée utilises par Coppermine pour "s'accrocher" à l'application à intégrée. Comme il y a différentes approches des applications intégrées sur la manière dont cela peut être fait, la méthode utilisée par l'assistant peut être différente, en fonction de l'application que vous avez choisie à la première étape de l'assistant. Lancez simplement l'assistant et regardez quels sont les paramètres nécessaires et renseignez les soigneusement.

- ##### URL de l'application intégrée

  L'URL complète du répertoire de votre application à intégrer (y compris le `http://` , exemple. `http://www.votredomaine.com/forum`).

  Notez que vous ne devez pas préciser de fichier à la fin de l'URL - si votre application se trouve à l'adresse `http://www.votredomaine.com/forum/index.php`, ne spécifiez que l'URL du répertoire qui contient le fichier index de votre application.

- ##### Chemin absolu de l'application bridgée

  C'est le chemin absolu de votre application intégrée vue depuis la racine de votre site

  - Si votre application intégré est à l'adresse http://www.exemple.com/forum/, entrez `/forum/` dans ce champ
  - Si votre application intégré est à l'adresset http://www.exemple.com/foo/bar/, enrez `/foo/bar/` dans ce champ

  Vous devez comprendre que ce paramètre n'est pas le chemin absolu d'un système de fichier sur votre serveur web, mais juste le chemin absolu vu depuis la racine de votre site.

  Dans le système de fichier de votre serveur, le chemin absolu vers la racine de votre site devrait être quelque chose comme `/var/www/votre_nom_de_compte/public_html/`. En conséquence, l'application avec laquelle vous voulez établir une passerelle doit se trouver dans un chemin absolu du système de fichier de votre serveur comme ceci: `/var/www/votre_nom_de_compte/public_html/forum/`. Votre galerie Coppermine devrait se trouver dans le chemin absolu comme ceci: `/var/www/votre_nom_de_compte/public_html/galerie/`. Toutefois, c'est le répertoire racine qui importe à ce stade - Coppermine ne va pas plonger dans le système de fichier et ne prend pas en compte le chemin absolu que vous devez utiliser avec d'autres applications ou pour inclure des fichiers - il utilise juste le chemin vu depuis la racine (ce qui peut être directement accessible depuis le navigateur). Donc, pour cet exemple, le chemin absolu vu depuis la racine de votre site devrait être `/forum/` - ni plus ni moins.

- ##### Chemin relatif vers le fichier de configuration de l'application intégrée

  C'est le chemin relatif vers l'application avec laquelle vous voulez établir une passerelle, vu depuis le répertoire de Coppermine (exemple "../forum/" si votre application intégrée se trouve à l'adresse http://www.votredomaine.com/forum/ et Coppermine à http://www.votredomaine.com/gallery/)

  Un chemin relatif ne doit pas commencer avec un slash - c'est la différence visuelle d'un chemin absolu. Vous devez penser en niveau de répertoire/sous-répertoire pour comprendre le concept de chemin relatif. Imaginez que tous les répertoires de votre serveur sont les branches d'un arbre qui sont tournées vers le bas: les racines étant en haut et les branches allant vers le sol. Le chemin relatif décrit la route que vous devez faire depuis un répertoire particulier (le répertoire dans lequel se trouve Coppermine) vers un autre répertoire (le répertoire ou se trouve l'application intégrée). La manière d'écrire un chemin relatif contient une manière spéciale de dire "un niveau plus haut": ce sont deux points suivis par un slash (`../`). Ceci dit, regardez les quelques exemples ci-dessous:

  Votre installation Coppermine | L'installation de l'appliaction intégrée | Chemin relatif
  --- | --- | ---
  `http://exemple.com/galerie/` | `http://exemple.com/forum/` | `../forum/`
  `http://exemple.com/galerie/` | `http://exemple.com/communaute/forum/` | `../communaute/forum/`
  `http://exemple.com/images/coppermine/` | `http://exemple.com/bbs/` | `../../bbs/`
  `` | `` | ``
  `http://exemple.com/galerie/` | `http://example.com/` | `../`
  `http://exemple.com/` | `http://exemple.com/forum/` | `forum/`
  `http://exemple.com/communaute/images/` | `http://exemple.com/communaute/` | `../`
  `http://exemple.com/un/repertoire/tres/complique/` | `http://exemple.com/` | `../../../../`
  `http://exemple.com/galerie/` | `http://exemple.com/communaute/forum/` | `../communaute/forum/`

- ##### Préfixe de cookie

  Ce doit être le nom du cookie de l'application avec laquelle vous souhaitez établir la passerelle. N'entrez pas le préfixe de cookie de votre galerie Coppermine ici ! Vous ne pouvez pas le définir vous-même - vous devez regarder la documentation ou les réglages de l'application avec laquelle vous voulez établir la passerelle.

  L'application populaire "phpBB2" utilise le préfixe de cookie par défaut `phpbb2mysql` - il peut être modifié par l'administrateur du forum, donc, si vous n'êtes pas sur de votre préfixe de cookie, allez dans le panneau de configuration du forum et cherchez le préfixe du cookie qui s'y trouve.

  Le préfixe de cookie ne doit pas être confondu avec le chemin du cookie - ce sont deux choses très différentes. Le préfixe de cookie (dans certaines applications est appelé "nom du cookie") fait partie intégrante de l'application - quelque chose que les développeurs de l'application ont définie.

#### Paramètres spécifiques des applications intégrées

- ##### Utiliser les groupes personnalisés de l'application bridgée ?

  Est ce que Coppermine doit importer les groupes spéciaux qui existent dans votre application intégrée ? Si vous sélectionnez Non, Coppermine utilisera uniquement les groupes standards (Administrateur, Enregistré et Anonyme) ce qui rendra l'administration plus facile. Si vous activez cette option en sélectionnant Oui, vous aurez une gestion des droits plus fine dans Coppermine et pourrez définir les droits dans Coppermine en vous appuyant sur les groupes personnalisés de votre application intégrée. Vous pouvez changer ce paramètre plus tard.

#### Activer/désactiver la passerelle

C'est la dernière étape du gestionnaire d’intégration - il résume les paramètres que vous avez défini dans les étapes précédentes - vous pouvez activer/désactiver l'intégration ici. Par défaut, l'intégration est paramétrée sur "désactivé" une fois que le gestionnaire d'intégration a été lancé pour la première fois. Vous ne devez activer l'intégration que si vous êtes sur que l'application avec laquelle vous voulez établir la passerelle est paramétrée correctement. Cliquez sur le bouton "Terminer" dans tous les cas pour finalement écrire dans la base de données, même si vous choisissez de garder les paramètres actuels (laisser l'intégration "désactivée").

- Activer l'intégration/passerelle avec XXX

## Restauration après une erreur d'intégration

Si vous avez donné de mauvais réglages lors de l'utilisation de l'assistant d'intégration, votre intégrateur peut échouer, avec pour résultat (dans la plupart des cas) dans une situation ou l'intégration est activée, mais ou vous ne pouvez pas vous identifier pour la désactiver à nouveau (exemple si vous entrez un mauvais paramètre de cookie qui empêche le fonctionnement de l'authentification). Pour parer à cette situation, un paramètre de restauration a été inclue dans le gestionnaire d'intégration: si vous n'êtes pas identifié comme administrateur dans Coppermine (en fait si vous n'êtes pas identifié du tout) et que vous accédez à l'URL du gestionnaire d'intégration depuis votre navigateur (http://votredomaine.com/votrerepertoirecoppermine/bridgemgr.php) en entrant cette adresse manuellement dans la barre d'adresse de votre navigateur, il vous est demandé d'entrer vos paramètres de compte d'administrateur (identifiant et mot de passe) - utilisez les paramètres que vous avez définis lors de l'installation de Coppermine (identifiants administrateurs pour une version autonome). Cela ne va pas vous identifier, mais va désactiver l'intégration, vous permettant de corriger les mauvais réglages. Pour éviter que d'autres essayent de trouver vos identifiants administrateurs ici, il y a un temps d'attente entre chaque essai qui augmente à chaque fois, faites donc attention lorsque vous entrez vos identifiants administrateurs.

## Synchroniser les groupes de l'application intégrée avec les groupes de Coppermine

Identifiez-vous en utilisant le compte administrateur de votre forum. Allez sur votre galerie, activez le mode administrateur et cliquez sur le bouton "Groupes". Cela va synchroniser les groupes de Coppermine avec ceux de votre forum. Les permissions que vous verrez pour chaque groupe seront totalement fausses. Prenez donc le temps de les paramétrer correctement.

Chaque fois que vous ajoutez ou effacez un groupe dans votre forum vous devrez faire l'opération ci-dessus pour garder la synchronisation des groupes.

Lorsque vous essayerez de vous identifier/déconnecter ou gérer les utilisateurs depuis Coppermine, vous serez redirigé vers la page correspondante de votre application forum. Une fois que l'identification /la déconnection sera faite, vous ne serez pas automatiquement redirigé vers votre galerie parce que votre forum n'a pas de fonctions pour cela. Il est de votre initiative d'ajouter un lien sur la page de votre forum pour retourner vers la galerie.

Il est obligatoire que vous (en tant qu'administrateur) alliez directement à la page de gestion des groupes après l'intégration ou à chaque fois que vous aurez changé quelque chose dans la configuration de l'application intégrée, parce que vous devrez refaire une resynchronisation.

## Aide à l'intégration

Avec les explications données plus haut, vous devriez être en mesure de créer une passerelle entre votre forum et Coppermine. Néanmoins, si quelque chose ne fonctionne pas correctement, vous pouvez bien entendu aller sur le Forum d'aide de Coppermine. Lorsque vous demandez de l'aide, merci de garder en mémoire que les supporteurs auront besoin de certaines informations pour pouvoir vous venir en aide:

- Cherchez sur le forum avant de poster - il y a peut être déjà quelqu'un qui a eu un problème similaire et qui a déjà été résolu
- Postez dans la section qui s'applique à votre version - les mécanismes d'intégration ont changés de version en version, c'est la raison pour laquelle il est important de bien poster dans la section qui se rapporte à votre version de Coppermine
- Ne parasitez pas des sujets existants - lorsque vous cherchez de l'aide sur l'intégration, commencez votre propre sujet
- Lisez les fils en Post-it avant de poster
- Assurez vous d'utiliser la dernière version du fichier de passerelle, ils sont mis à jour entre les publications officielles. Téléchargez les fichiers correspondants depuis le SVN. Mettez à jour udb_base.inc.php et le fichier qui correspond à l'intégration que vous utilisez et placez les dans le répertoire bridge de votre serveur, en vous assurant de bien remplacer les anciens fichiers. Bien entendu, en premier lieu, vous devez vous assurer de bien utiliser la dernière version stable de Coppermine.
- Lors d'une demande d'aide sur l'intégration, merci de poster un lien vers votre site, avec les identifiants d'un compte test, ainsi que ce que vous avez défini dans le gestionnaire d'intégration.
  Assurez-vous que le compte utilisateur test n'a pas les privilèges administrateur. Lorsque vous postez les données requises, assurez-vous de remplacer les mots de passe par des astérisques.
  Voici comment devrait se présenter votre post (avec vos données à la place de celles mises dans l'exemple - en rouge):

      J'ai le problème suivant en essayant de créer une passerelle entre Coppermine et XXX:
      [message d'erreur ou description du problème ici]

      Installation de Coppermine: http://monsite.com/mon_dossier_coppermine/
      Installation de l'application intégrée: http://monsite.com/mon_dossier_forum/
      version de Coppermine: cpg1.5.0
      Version de l'application intégrée: SuperDuper BBS app v0.8.15
      Compte utilisateur test: nom_utilisateur_test / mot_de_passe_utilisateur_test

      Paramètres du gestionnaire d'intégration:
      URL de l'application intégrée:  http://monsite.com/test/foo_bar
      Chemin relatif au fichier de configuration de l'application intégrée:  ../bla/
      Nom du cookie ou préfixe:  forum
      Utilisez les groupes personnalisés de l’application servant de passerelle ?:  1

- Les supporteurs doivent pouvoir voir les pages en question - assurez-vous que vous avez bien activé l'intégration lorsque vous demandez de l'aide
- Le compte utilisateur de test ne doit pas être un compte administrateur. Le compte utilisateur test doit évidemment avoir été créé dans l'application intégrée, pas un compte Coppermine (puisque la gestion des utilisateurs de Coppermine a été enlevée lors de l'intégration, il n'y a donc pas d'utilité d'avoir un compte test pour une installation autonome de Coppermine)

## Certaine options de la configuration sont désactivées

Comme expliqué dans cette page, Coppermine va remplacer la gestion des utilisateurs avec celle de l'application intégrée. En conséquence, les options de configuration de Coppermine ne s'appliquent plus non plus (par exemple les champs du profil utilisateur). C'est pourquoi les options de configuration qui s'appliquent uniquement aux installations autonomes, non intégrées, de Coppermine seront désactivées sur la page de configuration si l'intégration est activée.

## Fichiers d'intégration (Passerelle)

Dans le répertoire racine de Coppermine vous trouverez un sous-dossier nommé "bridge" - c'est l'emplacement ou se trouvent les fichiers d'intégration. Lorsque Coppermine est lancé (lorsque les visiteurs naviguent sur des pages pilotées par Coppermine), Coppermine inclue les fichiers passerelle relatifs à l'application avec laquelle vous avez créé une passerelle. En utilisant ce fichier, Coppermine fait ce qui est nécessaire pour l'authentification des visiteurs. Même si Coppermine n'est pas du tout intégré, il y a quand même un fichier qui est inclu depuis le répertoire bridge ("coppermine.inc.php") qui défini quelles sont les tables à utiliser.

Généralement, vous ne devez pas modifier les fichiers qui se trouvent dans le répertoire bridge - en fait, la chose la plus importante que vous devez vous rappeler est que Coppermine a besoin du répertoire bridge et de son contenu, même si vous n'avez pas activé la fonction d'intégration. Laissez donc les fichiers tels quels. Les super-utilisateurs qui savent ce qu'ils font peuvent bien évidemment modifier les fichiers passerelle pour les adapter à leurs besoins.

Il y a eu des utilisateurs qui ont essayé de "lancer" les fichiers passerelle eux-même depuis leur navigateur - cela ne fonctionne pas et ne fait rien, mais il en résulte un message d'erreur. Les fichiers passerelle ne sont pas destinés à fonctionner de manière autonome. - ils sont inclus par Coppermine pendant son fonctionnement. Si vous ne savez pas ce que cela signifie, laissez simplement ces fichiers ou ils sont. Cela ne pose pas de problèmes d'avoir des fichiers passerelle sur votre serveur même si vous n'utilisez pas de passerelle correspondant à un fichier particulier.

## Créer un fichier passerelle personnalisé

En théorie, Coppermine peut être s'intégré avec n'importe quelle application tierce qui a une gestion/authentification d'utilisateurs. Il y a des centaines d'applications qui sont des candidats potentiels. Simplement à cause du très grand nombre de passerelle possible, mais aussi à cause d'autres restrictions (applications non libres, manque de temps, manque de besoin), l'équipe de développement de Coppermine ne peut pas fournir un nombre énorme de fichiers. C'est pourquoi seul un petit nombre de fichiers passerelle sont disponibles. Si vous cherchez un fichier passerelle pour une autre application qui n'est pas disponible directement dans Coppermine, cherchez sur le forum d'aide de Coppermine s'il n'y a pas déjà un fichier passerelle issu d'une contribution d'utilisateur, ou (encore mieux), vous êtes encouragés à créer vous même votre propre fichier passerelle et à le partager sur le forum. Nous (l'équipe de développement de Coppermine) devons compter sur les contributions des utilisateurs pour la plupart des fichiers passerelles potentiels.

Malheureusement, il n'y a actuellement pas de section particulière de documentation expliquant comment créer un fichier passerelle personnalisé, la meilleure méthode est donc de regarder un fichier existant et de le modifier pour l'adapter à vos besoins.

## Philosophie de l'intégration

L'équipe de développement de Coppermine pense que le mécanise d'intégration ne doit pas interférer avec l'application à intégrer avec Coppermine. C'est pourquoi un bon fichier passerelle qui peut être considéré comme pouvant être intégré au code principal de Coppermine ne doit pas obliger à faire des modifications du code l'application à intégrer, ni de faire des changements dans la structure de la base de données de l'application intégrée depuis des requêtes envoyées par Coppermine.
La raison de notre réticence à autoriser l'intégration d'interférer avec l'application bridgée est que nous ne souhaitons pas corrompre celle ci si quelque chose ne passait mal.

Néanmoins, il y a des fichiers passerelle issus de contributions qui ne peuvent pas fonctionner de la manière non-intrusive que nous proposons (comme la passerelle de Mehdi pour Joomla). Nous ne disons pas que ces fichier passerelle sont mauvais - en fait nous apprécions que ces fichiers soient mis à disposition. Vous devez comprendre que nous ne pouvons pas apporter de l'aide sur les applications tierces. Nous vous recommandons de faire une sauvegarde avant de mettre en place une passerelle en utilisant ces applications tierces.

## Problèmes particuliers d'intégration

Il y a quelques remarques additionnelles qui s'appliquent à certains fichiers passerelle particuliers:

- ### phpBB3

  Redirection après déconnexion: pour pouvoir créer une redirection après déconnexion en utilisant le fichier passerelle phpBB3, vous devez modifier le fichier phpBB `ucp.php`:
  Trouvez

      meta_refresh(3, append_sid("{$phpbb_root_path}index.$phpEx"));
      $message = $message . '<br /><br />' . sprintf($user->lang['RETURN_INDEX'], '<a href="' . append_sid("{$phpbb_root_path}index.$phpEx") . '">', '</a> ');

  et remplacez par

      meta_refresh(3, request_var('redirect', append_sid("{$phpbb_root_path}index.$phpEx")));
      $message = $message . '<br /><br />' . sprintf($user->lang['RETURN_INDEX'], '<a href="' . request_var('redirect', append_sid("{$phpbb_root_path}index.$phpEx")) . '">', '</a> ');

  Reconnaissance de l'administrateur pour les forums mis à jour: si votre forum a été mis à jour depuis phpBB2 vers phpBB3 vous devrez faire une étape supplémentaire.

  Ouvrez phpbb3.inc.php, trouvez

      $this->admingroups = array(5);

  Changez le 5 pour le groupe administrateur dans phpBB3. Vous pouvez le trouver en faisant ce qui suit
  Allez sur votre forum, identifiez vous comme administrateur; cliquez sur l'onglet "Utilisateurs et Groupes" et allez à "Gestion des groupes". Vous verrez maintenant tous les groupes de votre forum et à côté d'eux trois liens (Paramètres/Membres/Effacer); cliquez sur "Paramètres" à côté du groupe auquel vous souhaitez donner les droits administrateur. Regardez maintenant la ligne d'adresse qui doit être similaire à ça: http://votredomaine.com/phpbb3/adm/index.php?i=groups&sid=[lettresetchiffresalléatoires]&icat=12&mode=manage&action=edit&g=64 Dans notre exemple, l'ID du groupe est 64;

- ### PunBB1.1.5

  Pour la redirection après identification/deconnexion:
  Ouvrez le fichier punbb `login.php`, trouvez:

      $page_title = pun_htmlspecialchars($pun_config['o_board_title']).' / '.$lang_common['Login'];

  et ajoutez avant

       $redirect_url = (isset($_GET['redir'])) ? $_GET['redir'] : $redirect_url;

  puis trouvez:

      redirect('index.php', $lang_login['Logout redirect']);

  et changez pour:

      redirect(isset($_GET['redir']) ? $_GET['redir'] : 'index.php', $lang_login['Logout redirect']);

- ### PunBB1.2

  Pour la redirection après identification/déconnexion:
  Ouvrez le ficher PunBB `login.php` et trouvez:

      $page_title = pun_htmlspecialchars($pun_config['o_board_title']).' / '.$lang_common['Login'];

  ajoutez juste avant

      $redirect_url = (isset($_GET['redir'])) ? $_GET['redir'] : $redirect_url;

  Puis trouvez

      redirect('index.php', $lang_login['Logout redirect']);

  et changez par

      redirect(isset($_GET['redir']) ? $_GET['redir'] : 'index.php', $lang_login['Logout redirect']);

- ### XMB

  Correction du Cookie (si votre forum n'est pas installé à la racine du site): ouvrez le fichier XMB `functions.php`, trouvez la définition de fonction pour `put_cookie` (vers la ligne 1414) et ajoutez

      $path = '/';

  juste en haut de la focntion

## Problèmes de sous-domaines

Il y a beaucoup d'utilisateurs qui demandent fréquemment sur le forum d'aide si l'intégration de Coppermine est possible entre sous-domaines: la réponse est "oui" en théorie en tout cas. Comme expliqué ci-dessus, vous ne pouvez pas crée de passerelles entre des domaines différents (utiliser le mot domaine au sens large, ce devrait être ici "un second niveau de domaine"), mais vous pouvez crée des passerelles entre différents sous-domaines si certains pré-requis sont présents, qui peuvent difficilement être influencés par les développeurs de Coppermine: les cookies du domaine ou se trouve l'application avec laquelle vous voulez créer la passerelle doit être lisible par Coppermine et les deux domaines doivent être physiquement sur le même serveur. C'est le cas pour la plupart des utilisateurs qui sont sur des serveurs mutualisés.

### Système de fichiers

La plupart des hébergeurs, paramètrent leurs serveurs de sorte que le sous-domaine soit juste un sous-répertoire du domaine parent dans le système de fichiers. Nous (l'équipe de développement de Coppermine) ne pouvons garantir que c'est le cas pour les paramètres de votre serveur, donc, en cas de doute, demandez de l'aide à votre hébergeur. Ce n'est donc ici que l'explication sur comment les sous-domaines fonctionnent sur la plupart des serveurs - ne nous en voulez pas si ce n'est pas le cas pour vous.

Votre application intégrée a l'URL `http://forum.exemple.com/`, avec comme chemin absolu dans le système de fichiers: `/var/www/votre_nom_de_compte/public_html/forum/`, avec `/var/www/votre_nom_de_compte/public_html/` représentant la racine du site (ex. `http://exemple.com/`). Votre galerie est accessible depuis l'URL `http://gallery.exemple.com/`, qui correspond au chemin absolu du système de fichier `/var/www/votre_nom_de_compte/public_html/galerie/`. Vu depuis la racine du site, les sous-domaines "forum" et "galerie" sont juste la représentation des sous-répertoires de la racine du site qui sont nommés de la même manière ("forum" et "galerie"). C'est pourquoi le gestionnaire d'intégration vous demande d'entrer le chemin relatif depuis la galerie vers l'application à intégrée, cela serait `../forum/` (qui se lit "un niveau de répertoire plus haut", puis aller dans le sous-répertoire "forum").

### Cookies

Comme indiqué à plusieurs reprises, l'authentification de Coppermine est basée sur les cookies. Si l'intégration est activée, Coppermine doit être capable de lire le cookie de l'application intégrée. Ce n'est possible que si vous n'avez pas de restrictions empêchant Coppermine de le faire. La plupart des applications tierces (et beaucoup des applications avec lesquelles Coppermine peut créer une passerelle) autorisent la définition d'un chemin de cookie. Malheureusement, toutes n'identifient pas clairement ce chemin dans leur panneau de configuration: certaines l'appellent cookie local sans vous permettre de définir un chemin particulier. Cette option existe pour des raisons historiques: autrefois, beaucoup d'utilisateurs ne pouvaient pas acquérir leur propre domaine, dons ils étaient hébergés dans un sous répertoire du domaine parent. Tout leur contenu devait se trouver dans un seul répertoire et donc devait avoir une option dans leur application pour s'assurer que leur cookie n'était pas accessible par les autres utilisateurs du domaine parent. Aujourd'hui, les universités offrent souvent à leurs étudiants un espace ressemblant à ça: `http://exemple.com/~nomutilisateur/`. Les utilisateurs de ce genre d'hébergement doivent avoir une option pour avoir un chemin de cookie qui permette de s'assurer que quelqu'un d'autre qui est hébergé à l'adresse `http://exemple.com/~un_autre_utilisateur/` n'a pas accès à son cookie.

Si votre galerie se trouve à `http://exemple.com/galerie/` et que votre application intégrée se trouve à `http://exemple.com/forum/`, ce n'est pas une bonne idée de définir le chemin du cookie de votre application intégrée comme étant `/forum` - cela signifie que seules les pages se trouvant dans le sous-répertoire `/forum` du répertoire racine du site. Comme votre galerie ne se trouve pas dans ce sous-répertoire, elle ne pourra pas lire le cookie de votre application intégrée - résultat, la passerelle ne fonctionnera pas.

Pour finir: pour 99% des utilisateurs, régler le chemin de cookie à "" (rien) sera le meilleur choix.

### sous-domaines en www

La plupart des sites internet sont accessibles avec ou sans le sous-domaine www: généralement, `http://exemple.com/` fonctionne de la même manière que `http://www.exemple.com/`. C'est très bien et facilite la vie des utilisateurs, mais avec un inconvénient: un sous-domaine est un domaine différent du point de vue des cookies. C'est pourquoi vous devrez être cohérent dans l'utilisation des sous-domaines www: intégrer `http://exemple.com/galerie/` et `http://www.exemple.com/bridge-app/` va certainement causer des problèmes de cookies.

Pour éviter cela, vérifiez les réglages de Coppermine aussi bien que de l'application intégrée: assurez-vous dans les deux panneaux de configuration que vous utilisez le même type d'URL avec le sous domaine WWW ou sans.

#### Recomandation:

Le sous-domaine www a été introduit dans les premiers jours de l'Internet. Techniquement, il n'est plus nécessaire, mais beaucoup d'utilisateur on prit l'habitude d'utiliser le sous-domaine www lorsqu'ils tapent une URL. Nous recommandons d'utiliser une URL sans le www pour la rendre plus facile à mémoriser. Pour être sûr de ne pas gêner ceux qui entreraient une URL avec le www, nous recommandons de définir une règle de réécriture dans un fichier .htaccess personnalisé qui ressemblerait à ceci:
RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.votredomaine\.com$ [NC] RewriteRule ^(.*) http://votredomaine.com/$1 [R,L]
Remplacez `votredomaine` et `com` dans les éléments de codes ci dessus. Si votre site se trouve à l'adresse exemple.fr, changez le code ci-dessus avec quelque chose comme RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.exemple\.fr$ [NC] RewriteRule ^(.*) http://exemple.fr/$1 [R,L]
Merci de noter que la définition de vos règles de réécriture n’est pas dans les attributions du forum d'aide de Coppermine - vous devez utiliser votre moteur de recherche favori pour trouver des détails à ce sujet.