<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[L'Agora sur Chronica – Piwigo]]></title>
	<link rel="self" href="https://agora.chauvigne.info/extern.php?action=feed&amp;fid=4&amp;type=atom" />
	<updated>2026-04-16T21:15:48Z</updated>
	<generator>PunBB</generator>
	<id>https://agora.chauvigne.info/index.php</id>
		<entry>
			<title type="html"><![CDATA[Ajouter un carrousel en page d'accueil]]></title>
			<link rel="alternate" href="https://agora.chauvigne.info/viewtopic.php?id=599&amp;action=new" />
			<summary type="html"><![CDATA[<p>Pré-requis :plugins Extended description et PWG-Stuff. Organisation en albums virtuels (/upload et pas /Galerie)</p><p>Avec le carrousel d&#039;Extended description, on ne peut pas spécifier plusieurs albums d&#039;où seraient issues les photos sélectionnées. On crée donc un album auquel vont être associées les photos sélectionnées dans plusieurs autres albums.<br />Cet album ne sera dédié qu&#039;au carrousel, et donc ne doit pas être accessible dans la page des catégories, ni via le menu.<br />Pour cela, on indique ainsi son titre : Diapo &lt;!--hidden--&gt; &lt;!--mb-hidden--&gt; ainsi qu&#039;e spécifié dans Extended Description</p><p>Depuis la gestion par lots des photos, on va choisir les photos destinées au carrousel et les associer à l&#039;album diapo.</p><p>Créer le code d&#039;insertion du carrousel à partir du mode d&#039;emploi d&#039;Extended Description, ce qui, pour un album avec l&#039;ID 749 peut ressembler à : <br />[slider album=749 random=true size=XL speed=5 nb_images=25 title=true effect=fade elastic=false]</p><p>Ouvrir le plugin PWGStuff. Y créer un bloc personnel où l&#039;on entre en mode source&nbsp; le code ci-dessus. Toujours dans PWGStuff, placer ce bloc où l&#039;on souhaite dans la page d&#039;accueil.</p>]]></summary>
			<author>
				<name><![CDATA[Katryne]]></name>
				<uri>https://agora.chauvigne.info/profile.php?id=2</uri>
			</author>
			<updated>2026-04-16T21:15:48Z</updated>
			<id>https://agora.chauvigne.info/viewtopic.php?id=599&amp;action=new</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Pas de vignette pour les fichiers non images.]]></title>
			<link rel="alternate" href="https://agora.chauvigne.info/viewtopic.php?id=596&amp;action=new" />
			<summary type="html"><![CDATA[<p>Selon Damien c&#039;est la faute à l&#039;hébergeur qui ne permet pas la création de vignettes en ce cas. Pour les vidéos, le plugin VideoJS me dit en effet :<br /></p><div class="quotebox"><blockquote><p>La création de posters et de vignettes est désactivée car FFmpeg n&#039;est pas installé ou son chemin d&#039;accès est incorrect.<br />Les métadonnées ne peuvent pas être récupérées car ExifTool, FFprobe ou MediaInfo ne sont pas installés ou leurs chemins d&#039;accès sont incorrects.</p></blockquote></div><p>La solution pour les pdf passe par le plugin Photo Update : on crée la miniature en local, et on l&#039;installe via l&#039;onglet Mettre à jour de la photo.</p><p>Sauf que pour la vidéo, on n&#039;a beau avoir préparé la miniature en local, pas moyen de l&#039;uploader : l&#039;onglet ne s&#039;affiche pas en mode édition de la vidéo, car le plugin VideoJS, nécessaire pour visionner et faire quelques éditions de la vidéo, désactive l&#039;onglet <strong>Mettre à jour</strong>.<br />Solution (parait que c&#039;est moi qui avais trouvé, m&#039;en souvenais plus) : désactiver temporairement le plugin VideoJS pour voir s&#039;afficher l&#039;onglet <strong>Mettre à jour</strong> et uploader la vignette.</p>]]></summary>
			<author>
				<name><![CDATA[Katryne]]></name>
				<uri>https://agora.chauvigne.info/profile.php?id=2</uri>
			</author>
			<updated>2026-04-08T18:46:44Z</updated>
			<id>https://agora.chauvigne.info/viewtopic.php?id=596&amp;action=new</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Proportions de la vignette gpx d'open street map]]></title>
			<link rel="alternate" href="https://agora.chauvigne.info/viewtopic.php?id=595&amp;action=new" />
			<summary type="html"><![CDATA[<p>Je n&#039;ai pas beaucoup de fichier gpx, mais quand j&#039;en ai, la vignette carrée produite par OpenStreetMap (plugins/piwigo-openstreetmap/mimetypes/gpx.png) dézingue un peu le bel agencement de mon album aux vignettes rectangulaires (Bootstrap Darkroom).<br />Alors, il m&#039;arrive de penser à forker le plugin avec une vignette que j&#039;ai fabriquée aux proportions plus adaptées à mon thème. Mais bien sûr, elle sera écrasée à la prochaine maj d&#039;OpenStreetMap.<br />Je suppose que je pourrais aussi à l&#039;aide du plugin Photo Update charger une vignette représentante plus adaptée (celle que j&#039;ai fabriquée ou une belle photo représentative du tracé).<br />Comment faites-vous ? Que me conseillez-vous ? Y aurait-il moyen que la vignette contenue dans OSM s&#039;adapte en proportion au thème ?</p><p>Question sans réponse sur forum Piwigo : <a href="https://fr.piwigo.org/forum/viewtopic.php?id=30886" target="_blank" rel="noopener noreferrer nofollow">https://fr.piwigo.org/forum/viewtopic.php?id=30886</a></p>]]></summary>
			<author>
				<name><![CDATA[Katryne]]></name>
				<uri>https://agora.chauvigne.info/profile.php?id=2</uri>
			</author>
			<updated>2026-04-08T18:31:32Z</updated>
			<id>https://agora.chauvigne.info/viewtopic.php?id=595&amp;action=new</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Extended description : appliquer une class à une photo insérée]]></title>
			<link rel="alternate" href="https://agora.chauvigne.info/viewtopic.php?id=585&amp;action=new" />
			<summary type="html"><![CDATA[<p>J&#039;utilise avec bonheur le code du plugin extended description pour insérer une photo de mon piwigo dans la description d&#039;une autre.<br />J&#039;ai aussi créé depuis des lustres une class de css pour encadrer une photo et l&#039;ombrer.<br />Mais je n&#039;arrive pas à appliquer le css à la photo citée via extended description : cela encadre tout le paragraphe et l&#039;effet css s&#039;étale d&#039;une marge à l&#039;autre au lieu d&#039;encadrer la photo, comme pour un paragraphe qui contiendrait la photo.</p><p>Solution Polowigo :<br />- ajouter le sélecteur <strong><span style="color:red">img-ed img</span></strong> aux sélecteurs de la class (ed pour extended description, non mais, yen a qui suivent au moins ?)<br /></p><div class="codebox"><pre><code>.img-cadre, #theImage img, .img-ed img {
  display: block;
  padding:1%;
  margin: 1rem auto;
  margin-top: 10px;
  text-align:center;
  box-shadow: 5px 5px 20px #151515;
}</code></pre></div><p>-Puis insérer ainsi le code d&#039;insertion Extended Description en mode source dans le texte :<br /></p><div class="codebox"><pre><code>&lt;span class=&quot;img-ed&quot;&gt;[photo id=10453]&lt;/span&gt;</code></pre></div><p>Et voilà le résultat : <a href="https://album.chauvigne.info/picture?/20140528_sf7/category/209-le_musee_a_flot_de_san_francisco" target="_blank" rel="noopener noreferrer nofollow">https://album.chauvigne.info/picture?/2 … _francisco</a></p><p>PS : ça marche mieux et du 1er coup si l&#039;on met le css du cadre dans le champ Custom du thème, plutôt que dans LFE.<br />Et toussa, grâce à Polowigo, sans qui je ne suis rien.</p>]]></summary>
			<author>
				<name><![CDATA[Katryne]]></name>
				<uri>https://agora.chauvigne.info/profile.php?id=2</uri>
			</author>
			<updated>2026-03-04T11:56:16Z</updated>
			<id>https://agora.chauvigne.info/viewtopic.php?id=585&amp;action=new</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Piwigo, plus qu'une galerie de photos en ligne]]></title>
			<link rel="alternate" href="https://agora.chauvigne.info/viewtopic.php?id=584&amp;action=new" />
			<summary type="html"><![CDATA[<p>On découvre de jour en jour sur la planète Piwigo des astuces et techniques innovantes, des déclinaisons de styles très variés pour des usages classiques ou des concepts originaux, Ce peuvent être les créations de fidèles ou celles de têtes nouvelles, pas nécessairement de l&#039;équipe officielle. Les idées viennent souvent de la base, des utilisateurs au quotidien, car l&#039;usage fait évoluer l&#039;outil. Et l&#039;outil Piwigo stimule l&#039;inspiration des créateurs de contenu, tant pour ce qu&#039;ils présentent au monde que pour la manière de le présenter. La diversité des usages et des besoins fait la richesse de ce qui n&#039;aurait pu être qu&#039;une &quot;galerie de photos de plus&quot;. L&#039;imagination est dans la rue, stimulée par la liberté de la licence.</p>]]></summary>
			<author>
				<name><![CDATA[Katryne]]></name>
				<uri>https://agora.chauvigne.info/profile.php?id=2</uri>
			</author>
			<updated>2026-02-25T20:03:40Z</updated>
			<id>https://agora.chauvigne.info/viewtopic.php?id=584&amp;action=new</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[css filter]]></title>
			<link rel="alternate" href="https://agora.chauvigne.info/viewtopic.php?id=582&amp;action=new" />
			<summary type="html"><![CDATA[<p>Les effets filter en css, voir ce site : <a href="https://outils-css.aliasdmc.fr/generateur-de-css-filter.php" target="_blank" rel="noopener noreferrer nofollow">https://outils-css.aliasdmc.fr/generate … filter.php</a></p><p>Différents effets filter avec exemples :<br />Click the property values below to see the result:<br />filter: none;<br />filter: blur(5px);<br />filter: brightness(200%);<br />filter: contrast(200%);<br />filter: drop-shadow(8px 8px 10px gray);<br />filter: grayscale(100%);<br />filter: hue-rotate(90deg);<br />filter: invert(100%);<br />filter: opacity(30%);<br />filter: saturate(8);<br />filter: sepia(100%);<br />filter: contrast(200%) brightness(150%);</p>]]></summary>
			<author>
				<name><![CDATA[Katryne]]></name>
				<uri>https://agora.chauvigne.info/profile.php?id=2</uri>
			</author>
			<updated>2026-02-16T20:13:10Z</updated>
			<id>https://agora.chauvigne.info/viewtopic.php?id=582&amp;action=new</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[L'énigme du Plugin Personnel]]></title>
			<link rel="alternate" href="https://agora.chauvigne.info/viewtopic.php?id=578&amp;action=new" />
			<summary type="html"><![CDATA[<p>Je cherchais désespérément à installer le &quot;Plugin personnel&quot; depuis le magasin d&#039;extension Piwigo. Sur mes sites anciens, je le vois bien dans la liste des plugins activés, bien que le lien vers sa page d&#039;extension mène à une page générale de doc sur l&#039;administration d&#039;un Piwigo.<br />Alors j&#039;ai demandé à ddtddt. Et il vient de me répondre, disponible, patient et pertinent comme toujours, dans son style minimaliste légendaire :<br /></p><div class="quotebox"><blockquote><p>Un plugin personnel comme son nom l&#039;indique est personnel donc il n&#039;apparait pas sur le site des extensions c&#039;est normal.<br />Il apparait dans les plugins à activer uniquement quand avec LFE (ou par FTP en manuel) il existe. Donc en l&#039;ayant fait, il apparait.<br />Si via LFE tu n&#039;as pas de plugin perso c&#039;est normal qu&#039;il ne te propose pas de l&#039;activer.</p></blockquote></div><p>Il m&#039;a fallu un petit moment pour réaliser, après 10 ans de Piwigo au compteur, pourquoi on ne trouvait pas ce plugin en magasin. Et soudain : Fiat lux !</p><p>Donc voilà le principe d&quot;utilisation:<br />1 - Je copie le code<br />2 - J&#039;ouvre Local File Editor dans la page des plugins de mon Piwigo<br />3 - Dans son onglet &quot;Plugin Personnel&quot;, je colle le code et j&#039;enregistre<br />4 - Dans mon lot de plugins désactivés, je vois alors que Plugin Personnel est apparu. Je l&#039;active.<br />5 - Et tada ... mon code est actif (enfin quand le dis &quot;mon&quot;, je veux dire celui dont on m&#039;a aimablement gratifiée : car moi, je ne crée pas de plugin personnel, je copie-colle le code de ceux qu&#039;on me donne quand je mendie sur les forums. Par ex. quand je voulais obtenir un ordre aléatoire des albums en accueil.)</p>]]></summary>
			<author>
				<name><![CDATA[Katryne]]></name>
				<uri>https://agora.chauvigne.info/profile.php?id=2</uri>
			</author>
			<updated>2026-01-24T08:20:13Z</updated>
			<id>https://agora.chauvigne.info/viewtopic.php?id=578&amp;action=new</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Rétrospective Piwigo]]></title>
			<link rel="alternate" href="https://agora.chauvigne.info/viewtopic.php?id=574&amp;action=new" />
			<summary type="html"><![CDATA[<p><em><strong>La newsletter, pour tout savoir sur le projet Piwigo ! (Publié par Piwigo tout au long de décembre 2025)</strong></em></p><p>Retrospective sur le calendrier de l&#039;Avent 2025</p><p>En décembre 2025, nous avons publié un calendrier de l&#039;Avent sur LinkedIn sous la forme d&#039;une anecdote/information/statistique chaque jour. Un message par jour à nos 8.3k abonnés à la newsletter francophone aurait été trop lourd... et aussi &quot;trop cher&quot;. On voulait quand même vous faire profiter des ces histoires, alors on a décidé de vous envoyer tout ce calendrier mais d&#039;un seul coup :-) Le voici ! On espère que vous prendrez plaisir à lire ce qui sera sûrement le plus long article de l&#039;histoire de la newsletter !</p><p><strong>🎄 Jour 1 — Les débuts de Piwigo</strong></p><p>Retour en 2001, mais sans odyssée de l&#039;espace. Pierrick est étudiant en école d’ingénieur 👨💻.</p><p>Il vient d’acheter son premier appareil photo numérique 📷 et cherche un moyen simple de partager ses photos avec sa famille à distance.</p><p>Il décide d’allier ses deux passions : le développement web et la photographie. Contrairement à ses projets d&#039;école par nature éphémère, Pierrick a voulu concevoir quelque chose d’utile, utilisé par de vraies personnes, et pensé pour durer ⏳.</p><p>En 2002, il franchit une étape décisive 🎉 : publier le projet en open source.</p><p>Un choix guidé par l’envie de construire un outil ouvert, pérenne et collaboratif.</p><p>C’est ainsi que naît Piwigo 🌱.</p><p><strong>🎄 Jour 2 — Les plugins Piwigo, podium</strong></p><p>Il existe plus de 200 plugins disponibles pour Piwigo 16. Mais savez-vous lesquelles sont les plus utilisés ?</p><p>&nbsp; &nbsp; 🥇 VideoJS pour le support des vidéos, activé sur 18.6% des installations<br />&nbsp; &nbsp; 🥈 BatchDownloader pour le téléchargement par lot dans la galerie, 11.9%<br />&nbsp; &nbsp; 🥉 AdditionalPages pour créer des pages de contenu libre, 10.7%<br />&nbsp; &nbsp; 4eme place : OpenStreetMap pour la cartographie, 9.5%<br />&nbsp; &nbsp; 5eme place : ExtendedDescription pour les shortcodes, 9.0%<br />&nbsp; &nbsp; 6eme place : Fotorama pour un diaporama plein écran, 8.7%<br />&nbsp; &nbsp; 7eme place : AMenuManager pour personnaliser le menu, 8.7%<br />&nbsp; &nbsp; 8eme place : community pour créer des contributeurs, 8.6%<br />&nbsp; &nbsp; 9eme place : GThumb pour un affichage alternatif des miniatures, 7.8%<br />&nbsp; &nbsp; 10eme place : exif_view pour optimiser l&#039;affichage des EXIF, 7.8%</p><p>PS : pour des résultats les moins biaisés possibles, on a retiré de ces statistiques les plugins qui sont embarqués par défaut dans toute installation de Piwigo et les plugins “techniques”. Sinon pour info, LocalFiles Editor est activé sur 57.3% des installations 😉</p><p><strong>🎄 Jour 3 — Un illustre contributeur à Piwigo</strong></p><p>Il y a quelques années, nous avons été surpris, en bien, de recevoir des patches correctifs de la part… du créateur de PHP en personne, Rasmus Lerdorf ! Ces correctifs visaient à rendre Piwigo compatible avec les dernières versions de PHP, le langage de programmation principalement utilisé dans Piwigo.</p><p>Rasmus utilise-t-il lui-même Piwigo? ça on ne le sait pas mais on va envisager que oui ! (parce qu&#039;il faut être optimiste dans la vie)</p><p>Une belle marque de reconnaissance pour Piwigo et une grande fierté pour l&#039;équipe.</p><p><strong>🎄 Jour 4 — changement de nom en 2009</strong></p><p>De 2002 à 2009, le projet Piwigo s&#039;appelait PhpWebGallery. Ce nom avait été choisi car Pierrick s&#039;était inspiré du forum PhpBB qu&#039;il avait mis en place dans le département informatique de son école, l&#039;INSA de Lyon.</p><p>Pierrick était peut-être correctement doué pour le code (ça va les chevilles ?) mais certainement pas pour choisir le nom du projet ! C&#039;était un très mauvais nom car inutilement lié à son langage de programmation, difficile à écrire et à se rappeler. Une personne sur deux disait “PHP my gallery”…</p><p>On a gardé les 3 lettres PWG et on a intercallé des voyelles. La combinaison qui sonnait le mieux était “Piwigo”.</p><p>Le projet est exactement le même, ce n&#039;est pas un fork, juste un changement de nom.<br /><strong><br />🎄 Jour 5 — quelles langues parlent les utilisateurs de Piwigo ?</strong></p><p>Si Piwigo est traduit dans plus de 70 langues, en passant par le breton et le québecois, quelles sont les langues qui ont le plus de poids parmi la communauté des utilisateurs ? C&#039;est parti pour un top 10 !</p><p>&nbsp; &nbsp; 🥇 l&#039;anglais (inclus l&#039;américain et le britannique) sur 35.5% des installations<br />&nbsp; &nbsp; 🥈 l&#039;allemand pour 23.3%<br />&nbsp; &nbsp; 🥉 le français pour 23.1%</p><p>… on est déjà à 81.9% des installations ! après ça chute très vite…</p><p>&nbsp; &nbsp; le néerlandais pour 3.1%<br />&nbsp; &nbsp; le polonais pour 2.1%<br />&nbsp; &nbsp; le tchèque pour 1.8%<br />&nbsp; &nbsp; le chinois pour 1.6%<br />&nbsp; &nbsp; l&#039;italien pour 1.5%<br />&nbsp; &nbsp; l&#039;espagnol pour 1.5%<br />&nbsp; &nbsp; le russe pour 1.0%</p><p>… nous voilà déjà à 94.5% sur les 10 premières langues. Il y a donc une très forte concentration linguistique.</p><p>Si l&#039;anglais a rapidement dépassé le français dans l&#039;histoire du projet, la présence de l&#039;allemand devant le français est une phénomène beaucoup plus récent. Les allemands, pour des raisons historiques, sont très attachés à la maîtrise de leurs données personnelles. C&#039;est donc beaucoup plus naturel pour nos voisins géographiques de se tourner vers des logiciels comme Piwigo. La communauté Piwigo germanophone est très active !</p><p>Note : nous avons pris en compte uniquement la langue par défaut. Il est possible qu&#039;un administrateur soit en grec alors qu&#039;il a choisit l&#039;anglais comme langue par défaut.</p><p><strong>🎄 Jour 6 — quand l’innovation naît de la communauté</strong></p><p>En 2005, seulement 3 ans après le lancement de Piwigo, le gestionnaire d’extensions voit le jour. A l’époque, une extension était un “MOD” : l&#039;ajout d&#039;une fonctionnalité signifiait bricoler manuellement le code – un casse-tête à chaque mise à jour, sans parler des conflits entre MODs. Un bon début mais pas pas encore la solution aboutie !<br />💡 2007 : l’année du grand virage</p><p>Inspirés par WordPress mais repensés pour Piwigo, les plugins font leur apparition. Leur force ? Zéro modification du code du noyau : ils s’intègrent comme des briques indépendantes, stables et faciles à maintenir. Une vrai révolution pour les contributeurs et donc pour Piwigo !<br />🌍 Une communauté en mouvement</p><p>Avec l’arrivée de PEM (Piwigo Extension Manager), la dynamique change radicalement. Plus besoin de “demander la permission” : chacun peut proposer sa fonctionnalité, et les utilisateurs, en activant leurs plugins préférés, votent avec leurs clics. Résultat ? Des centaines d’idées inédites, une bibliothèque de plus de 200 plugins, et un projet qui s’enrichit chaque jour grâce à sa communauté.<br />🍯 En 2025, les plugins sont indissociables de Piwigo</p><p>Pour beaucoup, utiliser Piwigo sans plugins, c’est comme déguster une tartine sans confiture : techniquement possible, mais bien moins savoureux 😉.</p><p><strong>🎄 Jour 7 — L’évolution du site web de Piwigo</strong></p><p>Saviez-vous que le site web de Piwigo a connu plusieurs métamorphoses techniques et visuelles depuis sa création ? Retour sur son histoire, entre innovations et apprentissages :</p><p>&nbsp; &nbsp; 🔹 2002-2008 : Des pages HTML statiques et trois esthétiques différentes. Une époque où le web se construisait page par page ! Les choses étaient plutôt simples mais seuls un développeur pouvait modifier le site.<br />&nbsp; &nbsp; 🔹 2009-2017 : Passage à Drupal, avec un premier thème graphique… ambitieux mais illisible ! Après un an de feedbacks, retour à un design plus sobre : moins créatif, mais enfin lisible. Une leçon d’humilité et d’ergonomie ! Notre façon d&#039;utiliser Drupal n&#039;a pas été satisfaisante et s&#039;est révélée très lourde. On réfléchit donc à un changement radical…<br />&nbsp; &nbsp; 🔹 2017-2025 : le site devient un plugin de Piwigo, utilisant le logiciel comme un framework. On se croirait dans Inception. Les évolutions sont suivies et déployées via Git, et nous en sommes déjà à la 2ème version graphique de cette ère. Comme dans l&#039;équipe Piwigo on maîtrise parfaitement le développement de plugin Piwigo, ce choix s&#039;avère pour le moment très efficace techniquement. Il n&#039;est cependant pas très pratique pour un non-développeur de modifier une page !</p><p>7 chartes graphiques plus tard, la 8ème est en préparation pour 2026. Une aventure où chaque étape a permis d’allier technique, design et expérience utilisateur !</p><p><strong>🎄 Jour 8 — Comment ajoute-t-on ses photos sur Piwigo ?</strong></p><p>L’analyse des statistiques collectées anonymement nous permet de comprendre les usages des utilisateurs de Piwigo. Aujourd’hui, zoom sur une question clé : quelles sont les méthodes préférées des utilisateurs pour ajouter leurs photos ?<br />🔍 Le constat en chiffres</p><p>L’ajout via le formulaire web (directement depuis l’administration) reste de loin la méthode la plus populaire — une preuve de simplicité et d’efficacité ! Bon OK, y&#039;a pas de chiffres. On ne sait pas dissocier l&#039;ajout par API avec des applications tierces et l&#039;ajout par API avec le formulaire web. Mais comme on voit qu&#039;il y a près de 70% des Piwigo qui n&#039;utilisent que l&#039;API et seulement environ 14% qui utilisent des apps tierces, on en déduit que l&#039;ajout par formulaire est largement majoritaire.</p><p>13,7 % des installations utilisent la synchronisation par scan du système de fichiers, une méthode historique que nous pensions moins plébiscitée. Un signal fort pour nous : cette fonctionnalité mérite d’être maintenue et même améliorée.</p><p>Les applications mobiles sont aussi très prisées : 13,6 % ajoutent des fichiers via l&#039;application iOS et 14,7 % depuis l&#039;app Android.</p><p>Enfin, les outils spécialisés comme Lightroom (1,3 %), darktable (0,5 %) ou Piwigo Remote Sync (0,4 %) montrent une diversité d’usages, même s’ils restent marginaux.<br />💡 Pourquoi ces chiffres nous inspirent ?</p><p>Ils reflètent la richesse des besoins et des habitudes de nos utilisateurs. Que vous soyez adepte du web, du mobile ou d’outils pro, Piwigo s’adapte à votre workflow !<br /><strong><br />🎄 Jour 9 — L’évolution du public de Piwigo : d’outil technique 🛠️ à solution professionnelle 💼</strong></p><p>En 2002, Piwigo s’adressait surtout à un public de geeks passionnés 👨💻, prêts à plonger dans les détails techniques de l’installation et de la configuration. À l’époque, l’ajout de photos uniquement par synchronisation limitait son adoption par un public plus large.</p><p>En 2009, le tournant 🔄 : consciente de ce frein, l&#039;équipe a repensé l&#039;architecture de Piwigo pour permettre l’ajout de photos via une API 🔌, puis directement depuis le navigateur web 🌐. C&#039;était un pré-requis pour qu&#039;en 2010, on puisse lancer Piwigo.com (l’offre hébergée clé en main 🔑). Finie l&#039;installation et ajout de photos ultra-simple = Piwigo accessible sans compétences techniques !</p><p>Sur ces 23 années d&#039;existence, le public de Piwigo a bien changé :</p><p>&nbsp; &nbsp; 🔹 D’abord adopté par des particuliers 👨👩 et des petites associations (clubs photo 📷, clubs sportifs ⚽),<br />&nbsp; &nbsp; 🔹 Puis par des photographes professionnels 👨🎨,<br />&nbsp; &nbsp; 🔹 Et désormais par des organisations de toutes tailles — publiques (mairies 🏛️, offices de tourisme 🗺️, ministères 🏢) comme privées (entreprises 🏭, fondations 🤝, fédérations 🏆).</p><p>Etat des lieux en 2025 : Piwigo.com (l&#039;offre SaaS), qui représente 10 % des installations de Piwigo, génère plus de 80 % de son chiffre d’affaires grâce à ses offres dédiées aux entreprises ! 📈</p><p><strong>🎄 Jour 10 — Où sont les clients de Piwigo Cloud ?</strong></p><p>Si nous ne connaissons pas le pays de chaque installation de Piwigo (contrairement à la langue, que l&#039;on a décortiqué il y a quelques jours), nous connaissons en revanche le pays de nos clients sur l&#039;offre SaaS/Cloud, car cette information est comptablement indispensable. Alors voyons ça !</p><p>Pour chaque pays, voici le pourcentage qu&#039;il représente parmi l&#039;ensemble des clients :</p><p>&nbsp; &nbsp; 🇫🇷 La France en large tête avec 56.0%. C&#039;est historique et plutôt logique.<br />&nbsp; &nbsp; 🇩🇪 L&#039;Allemagne se place 2eme avec 7.6%<br />&nbsp; &nbsp; 🇺🇸 Les USA, ex-aequo avec l&#039;Allemagne à 7.6%<br />&nbsp; &nbsp; 🇬🇧 Le Royaume-Uni en 4eme place avec 5.2%<br />&nbsp; &nbsp; 🇧🇪 La Belgique, 5eme à 4.3%<br />&nbsp; &nbsp; 🇨🇭 La Suisse, 6eme à 4.0%<br />&nbsp; &nbsp; 🇳🇱 Les Pays-Bas en 7eme place à 2.2%<br />&nbsp; &nbsp; 🇮🇹 L&#039;Italie 8eme à 1.3%<br />&nbsp; &nbsp; 🇨🇦 Le Canada 8eme ex-aqueo à 1.3%<br />&nbsp; &nbsp; 🇪🇸 L&#039;Espagne 10eme à 1.0%</p><p>En tout, il y a 64 pays représentés donc on peut dire que Piwigo est présent “un peu partout dans le monde” même si la concentration est forte est Europe/Occident et surtout en France. J&#039;ajouterais même que la francophonie est particulièrement présente si on cumule France+Belgique+Suisse+Canada = 65.6%</p><p>Ses chiffres montrent qu&#039;il y a beaucoup de place pour progresser sur certains pays, comme en Allemagne, un pays particulièrement réceptif aux valeurs proposées par nos offres Cloud : respect de la vie privée, maîtrise de ses données, réversibilité…</p><p><strong>🎄 Jour 11, quels sont les thèmes Piwigo populaires ?</strong></p><p>On fait le point sur les thèmes graphiques les plus utilisés parmi les installations de Piwigo. Vous savez peut-être que plusieurs thèmes peuvent être activés simultanément sur une installation, mais là on parle du thème “par défaut”.</p><p>&nbsp; &nbsp; 🥇 Modus sur 55.9% des installations. C&#039;est le thème activé par défaut à l&#039;installation depuis 2019 donc normal et prévisible.<br />&nbsp; &nbsp; 🥈 elegant sur 16.9%, ancien thème par défaut de Piwigo de 2012 à 2019, donc explication historique.<br />&nbsp; &nbsp; 🥉 Bootstrap Darkroom aussi à 16.9%. Celui-là n&#039;est ni activé par défaut ni même présent à l&#039;installation. C&#039;est donc une énorme performance !</p><p>Ensuite on chute très vite, Stripped à 1.3%, SmartPocket à 1.1%…</p><p>Cela cache cependant une réalité intéressante : SmartPocket est activé sur 69.6% des installations. C&#039;est une paramétrage par défaut. Lorsque Piwigo détecte que le visiteur est sur mobile, c&#039;est SmartPocket qui s&#039;affiche. En 2025 cela pose problème : Modus et BootstrapDarkroom sont déjà responsive, donc inutile de passer en thème mobile spécifique. SmartPocket repose sur une technologie spécifique qui le rend incompatible avec l&#039;écrasante majorité des plugins qui modifient la galerie.</p><p>On prévoit donc des changements : ne plus activer SmartPocket à l&#039;installation (changement appliqué dès la 16.1.0 sortie la semaine passée), ne plus embarquer SmartPocket ni “elegant” et ajouter de BootstrapDarkroom dans le zip d&#039;installation (discussion en cours avec la communauté).</p><p><strong>🎄 Jour 12, Piwigo dans l&#039;enseignement supérieur</strong></p><p>Saviez-vous que Piwigo est adopté par des universités et établissements d’enseignement supérieur à travers le monde ? Son approche flexible, sécurisée et personnalisable en fait un outil de choix pour les institutions qui souhaitent centraliser, partager et valoriser leurs ressources visuelles. En voici quelques exemples, mais on est très loin d&#039;être exhaustifs…</p><p>En France 🇫🇷, Piwigo est utilisé par de nombreuses universités comme celles de Nantes, de Rennes, de Paris 1 Panthéon-Sorbonne, du Havre, mais aussi des écoles d&#039;ingénieur comme l’ICAM, ou encore Ensae-Ensai. Ces institutions l’utilisent pour gérer des photothèques institutionnelles, des archives de projets étudiants, ou encore des galeries d’événements universitaires.</p><p>Aux États-Unis 🇺🇸, Piwigo a séduit des universités telles que l’University of Wisconsin, Southeast Missouri State University, Marquette University, Oklahoma State University, University of Alabama at Birmingham, University of Minnesota, University of Virginia, UC Santa Barbara, et University of Illinois. Ces établissements l’intègrent souvent dans leurs plateformes de communication ou de recherche, pour faciliter l’accès aux ressources visuelles.</p><p>En Europe 🇪🇺, Piwigo est présent dans des institutions variées : University of West Bohemia in Pilsen (République Tchèque 🇨🇿), LAL Schools (Royaume-Uni 🇬🇧), Faculty of Electrical Engineering and Computing (Croatie 🇭🇷), ou encore Thomas More (Belgique 🇧🇪). Ces exemples illustrent la polyvalence de Piwigo, capable de s’adapter aux besoins spécifiques de chaque pays et discipline.</p><p>À l’international, Piwigo est également adopté par des universités comme Alfaisal University (Arabie Saoudite 🇸🇦), University of the Free State (Afrique du Sud 🇿🇦), Queen&#039;s University (Canda 🇨🇦) ou Hindy College of Engineering (Inde 🇮🇳), prouvant son utilité dans des contextes éducatifs très divers.</p><p>Chez Piwigo on est très fiers de voir une telle adoption à travers le monde. Notre logiciel rend un véritable service à des vrais utilisateurs !</p><p><strong>🎄 Jour 13, combien de photos sur un Piwigo ?</strong></p><p>J&#039;espère que vous aimez les stats 🤓 Cette fois on va parler du nombre de photos sur chaque installation.</p><p>Voici la répartition des installations Piwigo selon le nombre de photos hébergées :</p><p>&nbsp; &nbsp; 🐜 Moins de 1 000 photos : 31,8%<br />&nbsp; &nbsp; 🐅 De 1 000 à 5 000 photos : 31,8%<br />&nbsp; &nbsp; 🐪 De 5 000 à 10 000 photos : 12,6%<br />&nbsp; &nbsp; 🐘 De 10 000 à 100 000 photos : 21,9%<br />&nbsp; &nbsp; 🐳 Plus de 100 000 photos : 1,9%</p><p>On voit bien que Piwigo est utilisé aussi bien par les petits projets que par les très grandes collections.</p><p>En moyenne, c&#039;est 14.9k photos par Piwigo avec une médiane à 2.5k. Pour ceux qui se souviennent de leurs cours de statistiques, on a donc un grand écart-type, avecles grosses installations qui “tirent” la moyenne très fort vers le haut. En effet, certaines dépassent les 5 millions de photos ! C&#039;est beaucoup et Piwigo sait gérer cela 🥳</p><p><strong>🎄 Jour 14, Piwigo, l’outil qui a transformé un village en musée vivant</strong></p><p>Le village anglais de Swanland utilise Piwigo pour raconter son histoire à travers ses 5k photos ? Grâce à sa photothèque, habitants et visiteurs peuvent explorer le passé et le présent du village, comme un véritable registre visuel de sa mémoire collective.</p><p>Que ce soit pour préserver un patrimoine, partager des souvenirs familiaux ou organiser des milliers de clichés, Piwigo s’adapte à tous les projets.</p><p><strong>🎄 Jour 15, au cimetière des fonctionnalités des Piwigo : les serveurs multiples ou “sites distants”</strong></p><p>Très tôt dans l&#039;histoire de Piwigo en 2002 avec la version 1.2, nous avons introduit la fonctionnalité des serveurs multiples ou “sites distants” 🕸️. A cette époque des hébergements Multimania ou Free limités à 100Mo (la taille de 20 à 50 photos d&#039;iPhone aujourd&#039;hui) nous avons eu l&#039;idée de pouvoir agréger les données hébergées sur plusieurs hébergements au sein d&#039;un seul Piwigo et de les présenter comme si elles étaient toutes au même endroit grâce au “hotlinking”.</p><p>Le fonctionnement était basé sur la génération d&#039;un fichier XML sur le serveur d&#039;hébergement qui était ensuite lu par Piwigo pour remplir sa base de données centrale. Efficace ✅. La solution permettaient alors d&#039;utiliser 3 ou 4 hébergements gratuits pour étendre la capacité de son Piwigo.</p><p>Saluée par la presse technique internationale (dans mes rêves 💭), et par la communauté d&#039;utilisateurs (ça oui 👍) la fonctionnalité multi-serveurs sera pourtant abandonnée ☠️ 10 ans plus tard en 2012 et la version 2.4 car incompatible avec le nouveau système de tailles multiples. Il faut dire aussi qu&#039;en 2012, le marché de l&#039;hébergement avait totalement changé et le stockage n&#039;était plus autant limité.</p><p><strong>🎄 Jour 16, Piwigo = 1 logiciel pour 2 interfaces</strong></p><p>Dès sa création, Piwigo a fait un choix stratégique : séparer clairement l&#039;expérience visiteur de l’espace administrateur. Pourquoi ? Parce que cette dualité est au coeur de sa puissance et de sa flexibilité.</p><p>&nbsp; &nbsp; 🔹 La galerie (ou “front-office”) : c&#039;est l&#039;espace que voient vos visiteurs. Ils y explorent vos albums, naviguent par mots-clés, effectuent des recherches… et accèdent aux contenus en fonction des permissions que vous avez définies.<br />&nbsp; &nbsp; 🔹 L&#039;administration (ou “back-office”) : c&#039;est votre atelier. Ici, vous gérez, modifiez, organisez vos photos, albums, utilisateurs, mots-clés, etc. Un espace conçu pour l&#039;efficacité, réservé aux administrateurs.</p><p>Pourquoi cette séparation est-elle si cruciale ?</p><p>L&#039;interface d&#039;administration, avec ses formulaires avancés et ses interactions JavaScript, est techniquement bien plus complexe que la galerie. Personnaliser l&#039;administration demanderait des ressources et une expertise bien plus importantes.</p><p>En séparant les deux, Piwigo permet aux utilisateurs de créer une galerie sur-mesure, visuellement unique et adaptée à leur charte graphique, sans impacter la stabilité ou la simplicité de l’administration.</p><p><strong>🎄 Jour 17, au cimetière des fonctionnalités des Piwigo : le support de PostgreSQL</strong></p><p>Le support de PostgreSQL, à titre expérimental, a été ajouté dans Piwigo en 2010 avec la version 2.1. Piwigo était alors compatible avec 3 moteurs de base de données : MySQL, PostgreSQL et SQLite. Cette compatibilité multibases ne sera que de courte durée. En effet, ce support sera abandonné 18 mois plus tard en version 2.3.</p><p>Pourquoi cet abandon ?</p><p>Le problème était que seule une infime partie des utilisateurs s&#039;intéressait à ce “détail technique” et que seul le développeur du multibase avait rendu ses plugins compatibles. Cela signifiait que la grande majorité des plugins n&#039;étaient pas compatibles avec PostgreSQL.</p><p>L&#039;expérience utilisateur était très mauvaise, car même si vous réussissiez à installer Piwigo sur PostgreSQL, vous rencontriez des erreurs fatales presque à chaque fois que vous essayiez d&#039;utiliser un plugin. Les autres développeurs ne voyaient pas l&#039;intérêt de rendre Piwigo compatible avec PostgreSQL (davantage de travail, davantage de tests à effectuer, presque aucun utilisateur intéressé).</p><p>La décision a donc été prise d&#039;abandonner cette compatibilité afin d&#039;éviter la frustration des utilisateurs et de se concentrer sur MySQL.</p><p>PostgreSQL est un excellent gestionnaire de base de données. Peut-être, sans doute, meilleur que MySQL. Mais ce dernier est largement disponible sur tous les hébergements, ce qui constitue un avantage majeur.</p><p><strong>🎄 Jour 18, quels types de fichiers heberge-t-on sur Piwigo ?</strong></p><p>On repart sur des statistiques aujourd&#039;hui. Cette fois on parle des types de fichiers que les utilisateurs décident d&#039;héberger sur leur Piwigo. Top 10 des extensions les plus présentes :</p><p>&nbsp; &nbsp; 🥇 JPG bien sûr, sur 99.3% des installations<br />&nbsp; &nbsp; 🥈 PNG ensuite, sur 46.9%<br />&nbsp; &nbsp; 🥉 MP4 sur 19.9%<br />&nbsp; &nbsp; GIF sur 15.9%<br />&nbsp; &nbsp; PDF sur 6.3%<br />&nbsp; &nbsp; AVI sur 5.5%<br />&nbsp; &nbsp; WEBP sur 5.0%<br />&nbsp; &nbsp; TIF sur 4.0%<br />&nbsp; &nbsp; HEIC sur 3.7%<br />&nbsp; &nbsp; M4V sur 2.7%</p><p>Le format JPEG reste roi. C&#039;est le format historique et universellement compatible pour enregistrer des photos. Logique de le trouver en 1ere place. Le “nouveau” format HEIC, par défaut sur les iPhone/Android modernes, est encore un peu timide mais présent. Belle présence du format WEBP, sans doute celui qui a le plus de chance de remplacer JPEG/PNG/GIF dans le futur.</p><p>Un Piwigo, en moyenne, héberge entre 2 et 3 types d&#039;extensions différentes. Il est donc “classique” d&#039;héberger à la fois photos et vidéos et documents.</p><p><strong>🎄 Jour 19, La “clause du grand-père” chez Piwigo : quand la fidélité a du prix !</strong></p><p>Chez Piwigo, nos offres payantes évoluent depuis 15 ans… et continueront de le faire ! Mais saviez-vous que nous pratiquons une tradition rare dans le SaaS : la “clause du grand-père” (ou grandfathering) ?</p><p>Concrètement, cela signifie que nos clients peuvent renouveler leur abonnement au tarif d’origine. Oui oui, même celui de 2010 pour nos premiers clients fidèles ! Seule exception : un ajustement de +10% en 2023, pour tenir compte de l’inflation. La seule augmentation en 15 ans. Contactez le guinness book 😉<br />🎄 Jour 20, optimiser ce qui compte vraiment</p><p>On parle un peu code aujourd&#039;hui ! Et plus particulièrement les optimisations.</p><p>Si tous les développeurs connaissent l&#039;adage “Early optimization is the root of all evil” (en français : “L’optimisation prématurée est la source de tous les maux”), on a pu constater un autre phénomène récurrent : optimiser ce qui est déjà rapide 🤪</p><p>Par exemple : chercher ce qui est le plus performant entre un “for”, un “foreach”, une suite de “if”. Et à côté de ça lancer 3 requêtes SQL par itération dans la boucle 🤨</p><p>Tous les développeurs qui ont fait du Piwigo savent que l&#039;optimisation “de base” c&#039;est de maîtriser le nombre de requêtes SQL. Il est interdit de mettre du SQL dans une boucle dont on ne connaît pas le nombre d&#039;itérations. Par exemple si on doit récupérer les titres de 50 photos, on fait 1 requête SQL pour les 50 photos et pas 50 requêtes SQL.</p><p>Bien sûr, il y a potentiellement pire que les requêtes SQL : les requêtes HTTP. Mais ça, c&#039;est une autre histoire.</p><p><strong>🎄 Jour 21, comment le Covid a (involontairement) boosté Piwigo ?</strong></p><p>Il y a 6 ans, la pandémie a chamboulé nos vies… et aussi, de manière inattendue, accéléré la croissance de Piwigo. Pas grâce au virus lui-même, mais bien “grâce” aux confinements.<br />1️⃣ Le télétravail, enfin accepté</p><p>Chez Piwigo, le télétravail a toujours été le mode de travail normal : un projet open source, initialement porté par des bénévoles qui contribuent sur leur temps libre. Pourtant, quand nous accueillions des stagiaires ou alternants, les écoles refusaient catégoriquement cette modalité. Résultat : des bureaux, des horaires fixes, et une organisation peu flexible.</p><p>Avec le confinement, tout a changé. Les écoles, contraintes de s&#039;adapter, ont enfin accepté nos conditions. Notre stagiaire de l&#039;époque a pu poursuivre son expérience à distance, et depuis, plus de blocages ! Un vrai gain pour Piwigo, et une liberté appréciée pour nos équipes. Enfin pour certains stagiaires, c&#039;était un peu difficile quand même.<br />2️⃣ Les organisations en quête de solutions</p><p>Les entreprises et institutions, habituées à gérer leurs photothèques sur des disques durs externes (oui, ça existe encore !), se sont retrouvées coincées. Comment partager et organiser des milliers de photos à distance, sans formation obligatoire et avec un budget maîtrisé ?</p><p>Piwigo a pu répondre à ce besoin : simple d&#039;utilisation, collaboratif, abordable. Résultat ? Une croissance de +30% en 2020, puis à nouveau en 2021, contre +15% en moyenne les autres années.<br />💡 Alors bien ou pas bien ?</p><p>On ne se réjouit pas de cette période, difficile pour tant de monde. Mais force est de constater que ces bouleversements ont aussi ouvert des portes, accéléré des transitions, et permis à Piwigo de se renforcer.</p><p><strong>🎄 Jour 22, Pourquoi nous refusons les appels d’offres (et comment nous travaillons quand même avec le secteur public)</strong></p><p>En France, les administrations publiques sont tenues, au-delà d&#039;un certain seuil, de passer par des appels d&#039;offres. Sur le papier, la démarche est logique : transparence, équité, optimisation des dépenses publiques 💰.<br />Mais dans la pratique ?</p><p>La réalité est souvent bien différente. Entre la lourdeur administrative, le temps nécessaire pour analyser et répondre (parfois plusieurs jours pour un dossier ⏳), le système peut devenir contre-productif 🤯.</p><p>Un coût disproportionné : répondre à un appel d&#039;offres pour un marché de 500 € ou 5 000 € ? Le jeu n’en vaut pas la chandelle, sauf à intégrer des “frais administratifs” qui alourdissent inutilement la facture 💸.</p><p>Des biais inévitables : malgré les bonnes intentions, les appels d&#039;offres ne sont pas toujours neutres. Les critères, les délais, ou même la rédaction du cahier des charges peuvent avantager (voire “désigner”) certains répondants… A ce moment là, on perd totalement notre temps. Ce coût se répercute alors sur les autres clients. Notre mission de proposer un service “abordable” en souffrirait.<br />Notre choix ?</p><p>Nous avons décidé de ne pas répondre aux appels d’offres. Pourtant, nous comptons parmi nos clients des ministères, des mairies, des départements et d’autres acteurs publics qui sont avec nous depuis de nombreuses années 🤝.</p><p><strong>🎄 Jour 23, l&#039;évolution des applications Android pour Piwigo</strong></p><p>Saviez-vous que l’aventure des applications mobiles Piwigo a commencé en novembre 2015 ? La première version, développée par Patrice (membre de l’équipe Piwigo) avec le framework multiplateforme PhoneGap, permettait simplement d’ajouter des photos. Une fonctionnalité basique, mais efficace !</p><p>En octobre 2019, Raphaël Mack a complètement repensé l’application, cette fois en Java natif pour Android. Beaucoup plus complète que la première app, celle-ci permettait de naviguer dans les albums. Malgré ses qualités, la maintenance s’est avérée complexe, poussant l’équipe à se tourner vers une nouvelle solution : Piwigo NG.</p><p>Depuis avril 2021, Piwigo NG (développée par Rémi, puis reprise par Lana) est l’application officielle, basée sur Flutter. Bien qu’elle ne soit pas encore aussi aboutie que la version iOS, Lana travaille activement pour la faire évoluer ! 🚀</p><p><strong>🎄 Jour 24, l&#039;évolution de l’application iOS pour Piwigo</strong></p><p>Après avoir évoqué hier l’histoire des applications Android, penchons-nous aujourd’hui sur l’app iOS de Piwigo, dont le parcours est à la fois plus simple et tout aussi passionnant.</p><p>Dès 2011, Patrice, membre de l’équipe Piwigo, développe une première version : un formulaire d’upload permettant de sélectionner plusieurs photos depuis sa galerie iPhone, une fonctionnalité alors impossible via Safari.</p><p>En 2015, Spencer Baker, étudiant, contacte Piwigo pour proposer de créer une application native iOS dans le cadre de ses études. L’équipe accepte avec enthousiasme. Cette nouvelle app offre une expérience complète : navigation fluide dans les galeries, upload simplifié, et bien plus.</p><p>Depuis 2017, Eddy a repris le flambeau et continue d’enrichir l’application, en ajoutant de nouvelles fonctionnalités et en s’adaptant aux évolutions de Piwigo côté serveur.</p><p>Une belle aventure collaborative, au service des utilisateurs et de la photographie open source !<br /><strong><br />🎄 25ème et dernier jour du Calendrier de l’Avent Piwigo : l’indépendance comme force 💪</strong></p><p>Piwigo, le logiciel open source, existe depuis 2001. Piwigo.com, la plateforme d’hébergement dédiée, depuis 2010 🚀. Soit près de 25 ans d’existence pour un projet qui continue d’évoluer et de satisfaire des dizaines, voire des centaines de milliers d’utilisateurs à travers le monde 🌍.</p><p>Mais ce qui rend cette aventure encore plus remarquable, c’est que nous n’avons jamais levé de fonds 💸. Un appel à la communauté en 2019 a permis de financer les frais de piwigo.org, mais pour la société commerciale, ce sont uniquement les clients et leurs abonnements qui assurent notre pérennité. Une fierté partagée par toute l’équipe 😊.</p><p>Aucun business angel, aucun investisseur externe. Notre croissance est peut-être plus douce, mais elle est surtout sereine et maîtrisée 🌱. Cela ne signifie pas pour autant que nous rejetons le principe de levée de fonds : c’est un levier puissant pour accélérer, vers le succès comme vers l’échec. Si c’était à refaire, qui sait ? Mais aujourd’hui, nous sommes fiers de cette indépendance, symbole de notre engagement envers nos utilisateurs et notre vision à long terme 🌟.</p><p>Un immense merci à tous ceux qui nous font confiance depuis toutes ces années ! 🙏 À très vite pour de nouvelles aventures en 2026 🎉.</p>]]></summary>
			<author>
				<name><![CDATA[Katryne]]></name>
				<uri>https://agora.chauvigne.info/profile.php?id=2</uri>
			</author>
			<updated>2026-01-06T18:36:40Z</updated>
			<id>https://agora.chauvigne.info/viewtopic.php?id=574&amp;action=new</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Config OSM Piwigo]]></title>
			<link rel="alternate" href="https://agora.chauvigne.info/viewtopic.php?id=573&amp;action=new" />
			<summary type="html"><![CDATA[<p>Chaque fois que j&#039;installe le plugin OSM dans Piwigo, c&#039;est tellement long, compliqué , avec des titres de section que je ne comprends pas, que j&#039;ouvre un de mes sites où ça marche et que je copie ligne à ligne. Ensuite, ça marche si bien que c&#039;est un bonheur.</p><p><span class="postimg"><img src="https://agora.chauvigne.info/uploads/images/2025/12/31/config_osm_piwigo.png" alt="https://agora.chauvigne.info/uploads/images/2025/12/31/config_osm_piwigo.png" /></span></p>]]></summary>
			<author>
				<name><![CDATA[Katryne]]></name>
				<uri>https://agora.chauvigne.info/profile.php?id=2</uri>
			</author>
			<updated>2025-12-31T09:16:28Z</updated>
			<id>https://agora.chauvigne.info/viewtopic.php?id=573&amp;action=new</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Admin geo-tag mode clair]]></title>
			<link rel="alternate" href="https://agora.chauvigne.info/viewtopic.php?id=571&amp;action=new" />
			<summary type="html"><![CDATA[<p><span class="postimg"><img src="https://agora.chauvigne.info/uploads/images/2025/12/29/admin_geo-tag-mode-clair.png" alt="https://agora.chauvigne.info/uploads/images/2025/12/29/admin_geo-tag-mode-clair.png" /></span></p><p><a href="https://agora.chauvigne.info/misc.php?action=pan_download&amp;item=863&amp;download=1" onclick="countDownloadFile(863);" title=""><span>geo_tag_modal.zip</span></a><span>&nbsp; 1.9&nbsp; &nbsp;</span>(<span id="pan_load_counter_863" title="">34</span>)</p>]]></summary>
			<author>
				<name><![CDATA[Katryne]]></name>
				<uri>https://agora.chauvigne.info/profile.php?id=2</uri>
			</author>
			<updated>2025-12-29T15:17:49Z</updated>
			<id>https://agora.chauvigne.info/viewtopic.php?id=571&amp;action=new</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Supprimer l'affichage du nom des jours de la semaine,]]></title>
			<link rel="alternate" href="https://agora.chauvigne.info/viewtopic.php?id=570&amp;action=new" />
			<summary type="html"><![CDATA[<p>C&#039;est un fork&nbsp; à recommencer à chaque maj de Piwigo de include/functions.inc.php :Pour la version 15.7 de Piwigo, ligne 816 supprimer &#039;day_name&#039;, </p><p>Commenter les lignes 823 et 824 :<br /> // if (in_array(&#039;day_name&#039;, $show))<br />//&nbsp; $print.= $lang[&#039;day&#039;][ $date-&gt;format(&#039;w&#039;) ].&#039; &#039;;</p><p>Ce qui donne</p><p>&nbsp; if ($show === null || $show === true)<br />&nbsp; {<br />&nbsp; //&nbsp; $show = array(&#039;day_name&#039;, &#039;day&#039;, &#039;month&#039;, &#039;year&#039;);<br />&nbsp; &nbsp; $show = array(&#039;day&#039;, &#039;month&#039;, &#039;year&#039;);<br />&nbsp; }</p><p>&nbsp; // TODO use IntlDateFormatter for proper i18n</p><p>&nbsp; $print = &#039;&#039;;<br /> // if (in_array(&#039;day_name&#039;, $show))<br />//&nbsp; $print.= $lang[&#039;day&#039;][ $date-&gt;format(&#039;w&#039;) ].&#039; &#039;;</p>]]></summary>
			<author>
				<name><![CDATA[Katryne]]></name>
				<uri>https://agora.chauvigne.info/profile.php?id=2</uri>
			</author>
			<updated>2025-12-26T19:10:14Z</updated>
			<id>https://agora.chauvigne.info/viewtopic.php?id=570&amp;action=new</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Géolocaliser]]></title>
			<link rel="alternate" href="https://agora.chauvigne.info/viewtopic.php?id=566&amp;action=new" />
			<summary type="html"><![CDATA[<p>Pour trouver les photos non géolocalisées et les traiter : En mode administration, dans photos &gt; Gestion par lot &gt; Filtre prédéfini &gt; &quot;OSM not geottaged&quot; retrouve les photos sans géolocalisation (global pas par album). Selon JPD s/forum Piwigo</p>]]></summary>
			<author>
				<name><![CDATA[Katryne]]></name>
				<uri>https://agora.chauvigne.info/profile.php?id=2</uri>
			</author>
			<updated>2025-11-26T19:17:22Z</updated>
			<id>https://agora.chauvigne.info/viewtopic.php?id=566&amp;action=new</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Problèmes avec nouvelle installation]]></title>
			<link rel="alternate" href="https://agora.chauvigne.info/viewtopic.php?id=563&amp;action=new" />
			<summary type="html"><![CDATA[<p>Bonjour Katryne,</p><p>J&#039;espère que tu vas bien!</p><p>Je viens d&#039;installer Piwigo version 15.7.0 et je vois beaucoup d&#039;erreur.</p><p>As-tu eu ce genre de problèmes et que faut-il faire pour régler ces problèmes? </p><p>Voici les erreurs rencontrés:</p><p>Deprecated: Smarty::_getTemplateId(): Implicitly marking parameter $template as nullable is deprecated, the explicit nullable type must be used instead in /home/cnlglaca/domains/cnl-gla.ca/public_html/photos/include/smarty/libs/Smarty.class.php on line 1048</p><p>Deprecated: Smarty_Internal_Data::getTemplateVars(): Implicitly marking parameter $_ptr as nullable is deprecated, the explicit nullable type must be used instead in /home/cnlglaca/domains/cnl-gla.ca/public_html/photos/include/smarty/libs/sysplugins/smarty_internal_data.php on line 193</p><p>Deprecated: Smarty_Internal_Data::_mergeVars(): Implicitly marking parameter $data as nullable is deprecated, the explicit nullable type must be used instead in /home/cnlglaca/domains/cnl-gla.ca/public_html/photos/include/smarty/libs/sysplugins/smarty_internal_data.php on line 203</p><p>Deprecated: Smarty_Internal_Template::__construct(): Implicitly marking parameter $_parent as nullable is deprecated, the explicit nullable type must be used instead in /home/cnlglaca/domains/cnl-gla.ca/public_html/photos/include/smarty/libs/sysplugins/smarty_internal_template.php on line 149</p><p>Deprecated: Smarty_Resource::source(): Implicitly marking parameter $_template as nullable is deprecated, the explicit nullable type must be used instead in /home/cnlglaca/domains/cnl-gla.ca/public_html/photos/include/smarty/libs/sysplugins/smarty_resource.php on line 175</p><p>Deprecated: Smarty_Resource::source(): Implicitly marking parameter $smarty as nullable is deprecated, the explicit nullable type must be used instead in /home/cnlglaca/domains/cnl-gla.ca/public_html/photos/include/smarty/libs/sysplugins/smarty_resource.php on line 175</p><p>Deprecated: Smarty_Resource::populate(): Implicitly marking parameter $_template as nullable is deprecated, the explicit nullable type must be used instead in /home/cnlglaca/domains/cnl-gla.ca/public_html/photos/include/smarty/libs/sysplugins/smarty_resource.php on line 199</p><p>Deprecated: Smarty_Template_Source::load(): Implicitly marking parameter $_template as nullable is deprecated, the explicit nullable type must be used instead in /home/cnlglaca/domains/cnl-gla.ca/public_html/photos/include/smarty/libs/sysplugins/smarty_template_source.php on line 158</p><p>Deprecated: Smarty_Template_Source::load(): Implicitly marking parameter $smarty as nullable is deprecated, the explicit nullable type must be used instead in /home/cnlglaca/domains/cnl-gla.ca/public_html/photos/include/smarty/libs/sysplugins/smarty_template_source.php on line 158</p><p>Deprecated: Smarty_Internal_Resource_File::populate(): Implicitly marking parameter $_template as nullable is deprecated, the explicit nullable type must be used instead in /home/cnlglaca/domains/cnl-gla.ca/public_html/photos/include/smarty/libs/sysplugins/smarty_internal_resource_file.php on line 28</p><p>Deprecated: Smarty_Internal_Resource_File::buildFilepath(): Implicitly marking parameter $_template as nullable is deprecated, the explicit nullable type must be used instead in /home/cnlglaca/domains/cnl-gla.ca/public_html/photos/include/smarty/libs/sysplugins/smarty_internal_resource_file.php on line 101</p><p>Deprecated: Smarty_Internal_Method_GetTemplateVars::getTemplateVars(): Implicitly marking parameter $_ptr as nullable is deprecated, the explicit nullable type must be used instead in /home/cnlglaca/domains/cnl-gla.ca/public_html/photos/include/smarty/libs/sysplugins/smarty_internal_method_gettemplatevars.php on line 34</p><p>Deprecated: Smarty_Internal_Method_GetTemplateVars::_getVariable(): Implicitly marking parameter $_ptr as nullable is deprecated, the explicit nullable type must be used instead in /home/cnlglaca/domains/cnl-gla.ca/public_html/photos/include/smarty/libs/sysplugins/smarty_internal_method_gettemplatevars.php on line 87</p><p>Warning: Cannot modify header information - headers already sent by (output started at /home/cnlglaca/domains/cnl-gla.ca/public_html/photos/include/smarty/libs/sysplugins/smarty_internal_method_gettemplatevars.php:87) in /home/cnlglaca/domains/cnl-gla.ca/public_html/photos/include/page_header.php on line 99</p><p>Merci beaucoup à l&#039;avance et passe une belle journée!</p>]]></summary>
			<author>
				<name><![CDATA[lapierre-amerique]]></name>
				<uri>https://agora.chauvigne.info/profile.php?id=24</uri>
			</author>
			<updated>2025-11-18T14:45:39Z</updated>
			<id>https://agora.chauvigne.info/viewtopic.php?id=563&amp;action=new</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Traduction française du fichier de config de Local Files Editor]]></title>
			<link rel="alternate" href="https://agora.chauvigne.info/viewtopic.php?id=562&amp;action=new" />
			<summary type="html"><![CDATA[<p>// +-----------------------------------------------------------------------+<br />// | Divers&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br />// +-----------------------------------------------------------------------+<br />// order_by : comment changer l&#039;ordre d&#039;affichage des images dans une&nbsp; &nbsp;&nbsp; <br />// catégorie ?<br />//<br />// Il y a plusieurs champs qui peuvent servir à ordonner l&#039;affichage :<br />//<br />//&nbsp; - date_available : date d&#039;ajout dans la galerie<br />//&nbsp; - file : le nom du fichier<br />//&nbsp; - id : l&#039;identifiant unique de l&#039;image<br />//&nbsp; - date_creation : la date de création<br />//&nbsp; - rank : position manuel des photos<br />//<br />//&nbsp; ATTENTION: avec date_creation si votre APN ne renseigne pas l&#039;heure<br />//&nbsp; Piwigo classera vos photo différemment en l&#039;absence de ce<br />// renseignement. <br />// <br />// Une fois que vous avez choisi quels champs utiliser, vous devez choisir<br />// l&#039;ordre croissant ou décroissant sur chaque champ. Exemples :<br />//<br />// 1. $conf[&#039;order_by&#039;] = &quot; order by date_available desc, file asc&quot;;<br />//&nbsp; &nbsp; va ordonner selon la date d&#039;ajout par ordre croissant, puis sur le<br />// nom du fichier par ordre croissant<br />//<br />// 2. $conf[&#039;order_by&#039;] = &quot; order by file asc&quot;;<br />//&nbsp; &nbsp; va ordonner selon le nom du fichier par ordre croissant<br />$conf[&#039;order_by&#039;] = &#039; ORDER BY date_available DESC, file ASC, id ASC&#039;;<br />//<br />// 3. $conf[&#039;order_by_inside_category&#039;] = $conf[&#039;order_by&#039;];<br />//&nbsp; &nbsp; Cette ligne &quot;obligatoire&quot; pour appliquer vos paramètres aux<br />//&nbsp; &nbsp; sous albums.<br />$conf[&#039;order_by_inside_category&#039;] = $conf[&#039;order_by&#039;];<br />// file_ext : extensions des fichiers autorisés, sensible à la casse<br />$conf[&#039;file_ext&#039;] = array(&#039;jpg&#039;,&#039;JPG&#039;,&#039;jpeg&#039;,&#039;JPEG&#039;,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;png&#039;,&#039;PNG&#039;,&#039;gif&#039;,&#039;GIF&#039;,&#039;mpg&#039;,&#039;zip&#039;,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;avi&#039;,&#039;mp3&#039;,&#039;ogg&#039;);</p><p>// picture_ext : extensions pour les fichiers de type image, doit être un<br />// sous ensemble de $conf[&#039;file_ext&#039;]<br />$conf[&#039;picture_ext&#039;] = array(&#039;jpg&#039;,&#039;JPG&#039;,&#039;jpeg&#039;,&#039;JPEG&#039;,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&#039;png&#039;,&#039;PNG&#039;,&#039;gif&#039;,&#039;GIF&#039;);</p><p>// top_number : nombre d&#039;éléments à afficher pour les catégories spéciales<br />// &quot;les plus visitées&quot;, &quot;les mieux notées&quot;.<br />$conf[&#039;top_number&#039;] = 15;</p><p>// anti-flood_time : nombre de secondes entre 2 commentaires,<br />// 0 pour désactiver<br />$conf[&#039;anti-flood_time&#039;] = 60;</p><p>// comment_spam_reject : les commentaires considérés comme des spam<br />// ne sont pas enregistrés (false permet de les enregistrer malgré tout<br />// mais ils nécessiteront<br />// une validation de l&#039;administrateur)<br />$conf[&#039;comment_spam_reject&#039;] = true;</p><p>// comment_spam_max_links :<br />// nombre maximum de liens dans les commentaires avant de les considérer<br />// comme des spams ( 0 : alors 1 lien, c&#039;est déjà considéré comme du spam).<br />$conf[&#039;comment_spam_max_links&#039;] = 3;</p><p>// calendar_datefield : champs date de la table &quot;images&quot; utilisé pour le<br />// calendrier.<br />$conf[&#039;calendar_datefield&#039;] = &#039;date_creation&#039;;<br />// calendar_show_any : Le calendrier dispose d&#039;une option &#039;tout&#039; dans<br />// la barre de navigation année/mois/semaine/jour<br />$conf[&#039;calendar_show_any&#039;] = true;</p><p>// calendar_show_empty : Le calendrier montre les semaines/mois et autres <br />// même vides<br />$conf[&#039;calendar_show_empty&#039;] = true;</p><p>// calendar_month_cell_width, calendar_month_cell_height : défini<br />// la hauteur et largeur des cellules de la vue mensuelle.<br />// Un 0 indiquera que la vue ne sera pas affichée.<br />// Recommandation largeur et hauteur égales et inférieures à celles des<br />// miniatures. REMARQUE tn_width et tn_height<br />// DEVRAIENT CORRESPONDRE APPROXIMATIVEMENT A LA TAILLE REELLE DES<br />// MINIATURES, AUTREMENT LES IMAGES NE SERAIENT ÊTRE AFFICHÉES CORRECTEMENT.<br />$conf[&#039;calendar_month_cell_width&#039;] =80;<br />$conf[&#039;calendar_month_cell_height&#039;]=80;</p><p>// newcat_default_commentable : lors de sa création, une catégorie doit être<br />// commentable ou non ?<br />$conf[&#039;newcat_default_commentable&#039;] = true;</p><p>// newcat_default_visible : lors de sa création, une catégorie doit être<br />// visible ou non ? Attention, si la catégorie parente est invisible, la<br />// catégorie fille est automatiquement invisible (invisible = verrouillée)<br />$conf[&#039;newcat_default_visible&#039;] = true;</p><p>// newcat_default_status : lors de sa création, une catégorie doit être<br />// publique ou privée ? Attention, si la catégorie parente est privée,<br />// alors la catégorie fille est automatiquement privée.<br />$conf[&#039;newcat_default_status&#039;] = &#039;public&#039;;</p><p>// level_separator : chaîne de caractères séparant 2 niveaux<br />// decatégorie. Suggestions : &#039; / &#039;, &#039; » &#039;, &#039; → &#039;, &#039; - &#039;, &#039; &gt;&#039;<br />$conf[&#039;level_separator&#039;] = &#039; / &#039;;</p><p>// paginate_pages_around : sur les barre de pagination, combien de pages<br />// afficher avant et après la page courante ?<br />$conf[&#039;paginate_pages_around&#039;] = 2;</p><p>// tn_width : largeur par défaut pour la création des miniatures<br />$conf[&#039;tn_width&#039;] = 128;</p><p>// tn_height : hauteur par défaut pour la création des miniatures<br />$conf[&#039;tn_height&#039;] = 96;</p><p>// tn_compression_level : niveau de compression lors de la création<br />// des miniatures.<br />// 0 est très petit, 100 est la meilleur qualité.<br />$conf[&#039;tn_compression_level&#039;] = 75;</p><p>// show_version : afficher le numéro de version de Piwigo en bas de<br />// chaque page ?<br />$conf[&#039;show_version&#039;] = false;</p><p>// meta_ref : to reference multiple sets of incorporated pages or elements<br />// Set it false to avoid referencing in google, and other search engines.<br />$conf[&#039;meta_ref&#039;] = true;</p><p>// links : liste de liens externes à ajouter dans le menu. Un exemple valant<br />// mieux qu&#039;une longue explication (cas simple):<br />//<br />// $conf[&#039;links&#039;] = array(<br />//&nbsp; &nbsp;&#039;<a href="http://fr.piwigo.org" target="_blank" rel="noopener noreferrer nofollow">http://fr.piwigo.org</a>&#039; =&gt; &#039;Site Français Piwigo&#039;,<br />//&nbsp; &nbsp;&#039;<a href="http://fr.piwigo.org/forum/" target="_blank" rel="noopener noreferrer nofollow">http://fr.piwigo.org/forum/</a>&#039; =&gt; &#039;Forum Français de Piwigo&#039;,<br />//&nbsp; &nbsp;&#039;<a href="http://fr.piwigo.org/doc/" target="_blank" rel="noopener noreferrer nofollow">http://fr.piwigo.org/doc/</a>&#039; =&gt; &#039;Wiki Français de Piwigo&#039;<br />//&nbsp; &nbsp;);<br />//<br />//&nbsp; Chaque lien est référencé par une étiquette.<br />//<br />// Utilisation avancée:<br />// Vous pouvez utiliser des options. Au lieu de donner une simple étiquette <br />// en paramètre, vous allez transmettre un tableau de plusieurs paramètres&nbsp; <br />//&nbsp; Exemple:<br />//&nbsp; $conf[&#039;links&#039;] = array(<br />//&nbsp; &nbsp; &#039;<a href="http://fr.piwigo.org" target="_blank" rel="noopener noreferrer nofollow">http://fr.piwigo.org</a>&#039; =&gt; <br />//&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; array(&#039;label&#039; =&gt; &#039;PWG website&#039;, <br />//&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;new_window&#039; =&gt; false, <br />//&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;eval_visible&#039; =&gt; &#039;return true;&#039;),<br />//&nbsp; &nbsp; &#039;<a href="http://fr.piwigo.org/forum/" target="_blank" rel="noopener noreferrer nofollow">http://fr.piwigo.org/forum/</a>&#039; =&gt; <br />//&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; array(&#039;label&#039; =&gt; &#039;For ADMIN&#039;, <br />//&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;new_window&#039; =&gt; true, <br />//&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;eval_visible&#039; =&gt; &#039;return is_admin();&#039;),<br />//&nbsp; &nbsp; &#039;<a href="http://fr.piwigo.org/doc/" target="_blank" rel="noopener noreferrer nofollow">http://fr.piwigo.org/doc/</a>&#039; =&gt; <br />//&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; array(&#039;label&#039; =&gt; &#039;For Guest&#039;, <br />//&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;new_window&#039; =&gt; true, <br />//&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;eval_visible&#039; =&gt; &#039;return $user[\&#039;is_the_guest\&#039;];&#039;),<br />//&nbsp; &nbsp; &#039;<a href="http://fr.piwigo.org/basics/downloads" target="_blank" rel="noopener noreferrer nofollow">http://fr.piwigo.org/basics/downloads</a>&#039; =&gt; <br />//&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; array(&#039;label&#039; =&gt; &#039;PopUp&#039;, <br />//&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;new_window&#039; =&gt; true, <br />//&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;nw_name&#039; =&gt; &#039;PopUp&#039;, <br />//&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;nw_features&#039; =&gt;<br />// &#039;width=800,height=450,location=no,status=no,toolbar=no,scrollbars=no,menubar=no&#039;),<br />//&nbsp; &nbsp; );<br />//<br />// Explications des paramètres :<br />//&nbsp; &#039;label&#039;:<br />//&nbsp; &nbsp; &nbsp; l&#039;étiquette à afficher dans le menu pour ce lien, obligatoire<br />//&nbsp; &#039;new_window&#039;:<br />//&nbsp; &nbsp; &nbsp; si true alors Piwigo ouvrira une nouvelle fenêtre ou un onglet<br />//&nbsp; &nbsp; &nbsp; [true, si le paramètre est absent]<br />//&nbsp; &#039;nw_name&#039;:<br />//&nbsp; &nbsp; Nom de la fenêtre si &#039;new_window&#039; =&gt; true<br />//&nbsp; &nbsp; [Pas de nom pour cette fenêtre, si le paramètre est absent]<br />//&nbsp; &#039;nw_features&#039;:<br />//&nbsp; &nbsp; options complémentaires si &#039;new_window&#039; =&gt; true<br />//&nbsp; &nbsp; [Pas d&#039;option particulière, si le paramètre est absent]<br />//&nbsp; &#039;eval_visible&#039;:<br />//&nbsp; &nbsp; return d&#039;une expression php afin de déterminer si le lien est à<br />//&nbsp; &nbsp; afficher ou non<br />//&nbsp; &nbsp; [return true, si le paramètre est absent]<br />//<br />// Equivalence:<br />//&nbsp; $conf[&#039;links&#039;] = array(<br />//&nbsp; &nbsp; &#039;<a href="http://fr.piwigo.org/" target="_blank" rel="noopener noreferrer nofollow">http://fr.piwigo.org/</a>&#039; =&gt; &#039;PWG website&#039;,<br />//&nbsp; &nbsp; );<br />//&nbsp; $conf[&#039;links&#039;] = array(<br />//&nbsp; &nbsp; &#039;<a href="http://fr.piwigo.org/" target="_blank" rel="noopener noreferrer nofollow">http://fr.piwigo.org/</a>&#039; =&gt; <br />//&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; array(&#039;label&#039; =&gt; &#039;PWG website&#039;, <br />//&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;new_window&#039; =&gt; false, <br />//&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;eval_visible&#039; =&gt; &#039;return true;&#039;),<br />//&nbsp; &nbsp; );<br />//<br />// Conseil : Faites valider votre &#039;Links&#039; par un spécialiste php sur<br />// notre forum<br />//<br />// Si la liste est vide, le sous menu &quot;liens&quot; n&#039;apparaît pas.<br />$conf[&#039;links&#039;] = array();<br />// random_index_redirect : redirection aléatoire en cas d&#039;absence de<br />// paramètre sur le lien index.php Un petit exemple en guise d&#039;explication :<br />//<br />//&nbsp; A chaque lien est associé une condition php en sachant que<br />//&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#039;&#039; sera equivalent à &#039;return true;&#039;<br />//&nbsp; $conf[&#039;random_index_redirect&#039;] = array(<br />//&nbsp; &nbsp; PHPWG_ROOT_PATH.&#039;index.php?/best_rated&#039; =&gt; &#039;return true;&#039;,<br />//&nbsp; &nbsp; PHPWG_ROOT_PATH.&#039;index.php?/recent_pics&#039; =&gt; &#039;return $user[\&#039;is_the_guest\&#039;];&#039;,<br />//&nbsp; &nbsp; PHPWG_ROOT_PATH.&#039;random.php&#039; =&gt; &#039;&#039;,<br />//&nbsp; &nbsp; PHPWG_ROOT_PATH.&#039;index.php?/categories&#039; =&gt; &#039;&#039;,<br />//&nbsp; &nbsp; );<br />// Conséquences : l&#039;accueil sera aléatoire entre les quatres options<br />// (sauf pour les membres qui n&#039;auront pas l&#039;accueil sur les dernières<br />// images (c&#039;est un exemple). <br />$conf[&#039;random_index_redirect&#039;] = array();<br />// reverse_home_title : Si Piwigo is votre page d&#039;acceuil.<br />// C&#039;est un bon paramètre pour les robots indexeurs.<br />// Nous vous recommandons de la mettre a &quot;true&quot; seulement la page &quot;index&quot;<br />// changera de titre.<br />$conf[&#039;reverse_home_title&#039;] = false;</p><p>// Un petit message en haut de chaque page où l&#039;header est affiché<br />// example $conf[&#039;header_notes&#039;]&nbsp; = array(&#039;Test&#039;, &#039;Hello&#039;);<br />$conf[&#039;header_notes&#039;]&nbsp; = array();</p><p>// show_thumbnail_caption : sur la page des miniatures, afficher une légende<br />// sous chaque miniature ?<br />$conf[&#039;show_thumbnail_caption&#039;] = true;</p><p>// show_picture_name_on_title : sur la page de visualisation d&#039;une image,<br />// afficher le nom de l&#039;image en titre ?<br />$conf[&#039;show_picture_name_on_title&#039;] = true;<br />// display_fromto : display the date creation bounds of a category.<br />$conf[&#039;display_fromto&#039;] = false;<br />// allow_random_representative : pour représenter un album,<br />// souhaitez-vous que Piwigo recherche parmi les éléments un nouveau<br />// représentant toutes les X minutes ?<br />// Si ce paramètre est à &quot;false&quot;, un élément est choisi au hasard ou bien<br />// manuellement pour chaque album et reste le représentant tant que<br />// l&#039;administrateur ne change pas de représentant.<br />// Attention : mettre ce paramètre à &quot;true&quot; va être consommateur de<br />// ressources serveur.</p>]]></summary>
			<author>
				<name><![CDATA[Katryne]]></name>
				<uri>https://agora.chauvigne.info/profile.php?id=2</uri>
			</author>
			<updated>2025-11-15T21:17:21Z</updated>
			<id>https://agora.chauvigne.info/viewtopic.php?id=562&amp;action=new</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Jalons pour la création d'un thème admin]]></title>
			<link rel="alternate" href="https://agora.chauvigne.info/viewtopic.php?id=558&amp;action=new" />
			<summary type="html"><![CDATA[<p>Le thème admin ne peut être modifié par Local File Editor ou par template extension. Et pour rendre confortable l&#039;édition, je forke habituellement le thème Default, avec l&#039;inconvénient que les modifs sont écrasées quand les fichiers concernés sont impactés par une maj de Piwigo. Voilà donc ce que je forke :</p><p>1 - <strong>Modifier la largeur d&#039;affichage en gestion par lot des photos.</strong><br />Comme je trouve inconfortable la largeur d&#039;affichage des paramètres, notamment de la carte OSM, j&#039;ai modifié le thème admin.</p><p>en admin/themes/default le fichier <span style="color:red">admin/themes/default/theme.css</span> lignes 4618 à 4620 en 11.5 ou lignes 4933 à 4935 dans PWG 12.1 , 4934&nbsp; à 4936 en pwg 12.3.0 (chercher les bonnes lignes dans les autres versions de Piwigo En 15.5 : lignes 6742 et 6744))</p><div class="codebox"><pre><code>.permitActionItem {margin-left: 30px; width: 800px;}
.permitActionItem .selectize-control.single.plugin-remove_button {width: auto !important;}
.permitActionItem .selectize-input.items.full.has-options.has-items {width: 800px !important; line-height: 23px;}</code></pre></div><p>au lieu de<br /></p><div class="codebox"><pre><code>.permitActionItem {margin-left: 30px; width: 225px;}
.permitActionItem .selectize-control.single.plugin-remove_button {width: auto !important;}
.permitActionItem .selectize-input.items.full.has-options.has-items {width: 500px !important; line-height: 23px;}</code></pre></div><p>2 - <strong>Apparence et confort de la page d&#039;édition des albums</strong><br />&nbsp; &nbsp;2a - <span class="bbu">faire un saut de ligne entre l&#039;image représentante et le reste de l&#039;édition</span> pour que les 2 zones soient l&#039;une au-dessous de l&#039;autre au lieu de côte à côte : dans /<span style="color:red">admin/themes/default/template/cat-modify.tpl</span>, ajouter un &lt;br&gt; ligne 131<br />&nbsp; &nbsp;2b- <span class="bbu">augmenter la hauteur du champ de saisie pour la description d&#039;album</span> : dans <span style="color:red">/admin/themes/default/template/cat-modify.tpl</span>, ligne 140, modifier le nombre de lignes en passant rows de 5 à 50.<br />&nbsp; &nbsp;2c-<span class="bbu"> élargir la zone d&#039;édition et la centrer</span> : ligne 553 de /<span style="color:red">admin/themes/default//theme.css</span>, passer la classe .cat-modify-content de grid-template-columns: 350px 400px;&nbsp; à grid-template-columns: 80 %;<br />Avec la largeur en pourcentage, cela devient aussi responsive.</p><p>3 - <strong>admin photo pleine largeur de page</strong><br />Dans admin<span style="color:red">/themes/default/theme.css</span> commenter le display:flex pour #pictureModify ligne 4436<br />Et modifier #picture-content ligne 4496 pour que le conteneur soit à 95 %<br />ce qui donne <br /></p><div class="quotebox"><blockquote><p>#pictureModify {<br />&nbsp; /*display: flex;*/<br />&nbsp; margin: 0;<br />&nbsp; justify-content: space-evenly;<br />&nbsp; margin-top: 30px;<br />}</p></blockquote></div><p>et <br /></p><div class="quotebox"><blockquote><p>#picture-content {<br />&nbsp; width: 100%;<br />&nbsp; margin-left: 23px;<br />&nbsp; margin-right: 23px;<br />&nbsp; max-width: 95%;<br />}</p></blockquote></div><p><em>FCK editor n&#039;est pas pleine largeur, mais il existe un coin pour étirer le text area en largeur et en hauteur.</em></p><p>4 - <strong>Pour augmenter la hauteur de la carte en admin de photo</strong><br />Dans <span style="color:red">plugins/piwigo-openstreetmap/admin/admin_photo.tpl </span>ligne 14 passer la hauteur de 400px à 800px. (peut-on mettre la modif dans LFE, un nouveau thème admin ou dans add head Element&nbsp; pour éviter le fork ?<br /></p><div class="quotebox"><blockquote><p><em><strong><span style="color:green">EDIT : Le plugin de Charles Geo Tag Editor est une alternative très efficace au fork. Plus besoin de forker pour ça. <a href="https://fr.piwigo.org/ext/index.php?eid=1057" target="_blank" rel="noopener noreferrer nofollow">https://fr.piwigo.org/ext/index.php?eid=1057</a></span></strong></em></p></blockquote></div><p>NB Autre solution, pour le css :&nbsp; <strong>Modification pérenne du thème admin. Solution par Pierrick</strong>.<br />Utiliser [extension by ddtddt] Add &lt; head &gt; Element <a href="https://piwigo.org/ext/extension_view.php?eid=582" target="_blank" rel="noopener noreferrer nofollow">https://piwigo.org/ext/extension_view.php?eid=582</a><br />&lt;style&gt;<br />ici le css à modifier<br />&lt;/style&gt;<br />et c&#039;est bon. Il n&#039;est pas nécessaire de le réimplémenter après chaque mise à jour de Piwigo. Applicable pour les modifs 1, 2c et peut-être pour 3. Pour 2a et 2 b, come les TE ne marchent pas pour l&#039;admin, faut des forks ou un nouveau thème admin.</p>]]></summary>
			<author>
				<name><![CDATA[Katryne]]></name>
				<uri>https://agora.chauvigne.info/profile.php?id=2</uri>
			</author>
			<updated>2025-11-01T05:06:55Z</updated>
			<id>https://agora.chauvigne.info/viewtopic.php?id=558&amp;action=new</id>
		</entry>
</feed>
