Voici le type de problématique :

 

Un site d'albums Photos d'une Famille.

 

Nous avons les photos qui concernent :

  • Les Amis
  • La Famille directe (nous et nos enfants), avec des images un peu pus 'intimes'
  • Nos parents et frères, sœurs et leur famille (descendance comprise), il y a donc 2 familles
    • La mienne
    • Celle de mon épouse

 

On va donc créer de base plusieurs groupes d'utilisateur Joomla qui auront accès à des images communes et à des images spécifiques.

  • Amis (accès aux images spécifiques 'amis')
  • Famille du côté du Père (accès au images communes 'famille' et 'côté Père')
  • Famille du côté de la Mère (accès au images communes 'famille' et 'côté Mère')
  • Notre famille et descendants (accès à toutes les images)

 

Après avoir crée les groupes d'utilisateur avec leur niveau d'accès, on va s'occuper des catégories de Phocagallery.

 

Je crée une catégorie principale (facultatif), et une sous catégorie par année.

A ce niveau, à vous d'adapter selon vos besoins, par exemple une sous catégorie par mois, ou par évènement.

 

Au dernier niveau je crée un catégorie par niveau d'accès.
Phoca n'accepte pas de mettre des niveau d'accès aux images, et de plus la gestion sera plus rapide.

 

 A niveau local, sur mon ordinateur, je garde la numérotation chronologique des images.

C'est à dire que le nom des mes fichiers images sera du type 1998_001 à 1998_999 pour l'année complète, ou 1998_01_001 à 1998_12_999 pour une ventilation par mois.

Mais il faut que le tri croissant sur le nom de fichier respecte la chronologie temporelle des images.

 

Après avoir préparer toutes les photos d'une année (compression, recadrage, etc...), j'utilise le navigateur (sous Windows) evec l'affichage des grandes vignettes, et je ventille mes images dans les sous dossiers correspondant à mes accès (amis, famille, cote_pere, cote_mere, nous).

Je peux même rajouter des dossiers pour des accès futurs (par exemple judo_club, ski_club, nos_amis_dupont, etc...)

 

Je crée les mêmes dossiers dans phocagallery (en passant par la catégorie racine (par exemple 1998) et j’effectue les transfert par FTP.

 

Le principe est alors d'utiliser le menu images/ajouts multiples, de parcourir chacun des ses dossiers, et de les affecter un par un à la catégorie correspondant aux autorisation d'accès.

 

Ainsi on lie :

  • la catégorie 1998 - amis au dossier 1998/amis, et aussi éventuellement à 1998/judo_club et 1998/ski_club
  • la catégorie 1998 / côté Père au dossier 1998/famille (images communes) et au dossier 1998/cote_pere
  • la catégorie 1998 / côté Père au dossier 1998/famille (images communes) et au dossier 1998/cote_mere
  • La catégorie 1998 / Nous à tous les dossiers (1998/amis, 1998/judo_club, 1998/ski_club, 1998/famille, 1998/cote_pere, 1998/cote/mere, 1998/nous

 

Les vignettes sont générées à la première utilisation du dossier, et avec ce système on ne duplique pas les images, ni les miniatures sur le serveur.

 

Reste un problème.
Dans l'état actuel les images n'apparaissent pas chronologiquement.
Pire, à ce jour, PhocaGallery a un bug, et chaque fois que l'on rajoute un dossier à une catégorie par "ajout multiples", Phoca affecte un rang 1 à la première image du dossier.
L'affichage est donc complètement fantaisiste (1ere image du 1er dossier, 1ere image du 2ème dossier, etc...).

 

Pour solutionner ce problème nous allons devoir applique une requête SQL dans la base de donnée.

Il vous faudra donc un accès type phpMyAdmin à votre base.

 

Il vous faut aussi connaitre :

  • le nom du préfixe de vos table Joomla (menu administration / serveur),
  • l'ID des catégories (dans la vue catégorie de phocagallery.

 

L'objectif de cette requête est de :

  • ordonner (trier) dans chaque catégorie (album) les images selon leur chronologie (donc leur nom de fichier)
  • donner un nom commun à toute la catégorie suivit du numéro de l'image  (par exemple : 1998 (1), 1998 (2), etc...)

 

Voici le code de la requête :

 

SET @rownumber = 0;
SET @annee = '1998';
SET @categorie = 01;
update '#_phocagallery' set ordering= 0 WHERE 'catid' = @categorie;
update '#_phocagallery' set ordering= (@rownumber:=@rownumber+1), title = CONCAT(@annee ,' (',FORMAT(@rownumber,0), ')'), alias = CONCAT(@annee ,'-',FORMAT(@rownumber,0)) WHERE 'catid' = @categorie ORDER BY SUBSTRING_INDEX('filename','/', -1) asc;

 

  • # est à remplacer par votre préfixe de tables
  • 1998 par le texte que vous souhaitez placer sous vos images
  • 01 par le numéro de chaque catégories.

 

Pour m'aider dans mon travail, j'utilise un petit tableau type Excel :

 

Accès ID Cat. /amis /judo_club /ski_club /famille /cote_pere /cote_mere /nous total img renum
Amis                    
 Côté Père                    
 Côté Mère                    
 Nous