<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" 
	xmlns:atom="http://www.w3.org/2005/Atom" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/" 
	xmlns:dc="http://purl.org/dc/elements/1.1/" 
	xmlns:georss="http://www.georss.org/georss" 
	xmlns:icbm="http://postneo.com/icbm" 
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/" 
	xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" 
	xmlns:wfw="http://wellformedweb.org/CommentAPI/" >

<channel>
	<title>Yacs</title>
	<link>https://yacs.fr/</link>
	<atom:link href="https://yacs.fr/feeds/articles?"  rel="self" type="application/rss+xml" />
	<description>Yacs est un logiciel de gestion de contenu simple, robuste, facilement programmable et facile d'accès pour ses utilisateurs</description>
	<language>fr</language>
	<copyright>Yacs - Actupro</copyright>
	<managingEditor>christian@actupro.fr</managingEditor>
	<webMaster>christian@actupro.fr</webMaster>
	<lastBuildDate>Fri, 17 Apr 2026 22:18:24 GMT</lastBuildDate>
	<generator>yacs</generator>
	<docs>http://blogs.law.harvard.edu/tech/rss</docs>
	<ttl>70</ttl>

 <item>
		<title>Évolution de l'overlay &quot;fusion&quot;</title>
		<link>https://yacs.fr/article-8292-evolution-de-l-overlay-fusion</link>
		<guid isPermaLink="true">https://yacs.fr/article-8292-evolution-de-l-overlay-fusion</guid>
		<description>  l'overlay fusion.php  est conçu pour combiner (fusionner) les fonctionnalités de plusieurs autres overlays (par exemple, day, multi_category, geoloc).  
  L'overlay fusion.php est un outil de configuration qui permet à une section YACS d'hériter et d'exécuter les logiques de plusieurs autres overlays simultanément.L'objectif principal est d'appliquer les traitements spécifiques de plusieurs modules (gestion des dates, gestion des catégories multiples, gestion de la géolocalisation, etc.) à la même liste d'éléments de section.    Le Problème du no_render      Contexte : L'option no_render est un paramètre hérité de l'overlay Day (ou event.php).      Fonctionnement de no_render : Normalement, un overlay peut surcharger la fonction render pour afficher les éléments d'une section différemment (ex: calendrier, carte). L'option no_render est un cas tordu qui, lorsqu'elle est présente, annule cette surcharge et force le rendu à utiliser le mécanisme de listage par défaut du layout de la section.      Le correctif  : Dans la configuration de fusion (fusion overlay1 overlay2 ...), le paramètre no_render était interprété à tort comme un nom d'overlay à fusionner, ce qui pouvait entraîner une erreur. L'ajout proposé par Christian et Alexis dans fusion.php consiste à ignorer ce paramètre s'il est utilisé au niveau de la section  Le Mécanisme de Fusion des Fonctions      Fonction render : L'overlay fusion.php interroge les fonctions &quot;infusionnables&quot; (comme render) des overlays fusionnés dans l'ordre où ils sont déclarés.      Priorité : Il utilise la première réponse non-NULL qu'il reçoit et s'arrête là.  L'ordre des overlays peut être important, notamment pour la fonction get_field (implicitement mentionnée pour la saisie des dates).  Évolution de la Syntaxe    Exemples de nouvelle syntaxe proposée :  fusion (days no_render) multi_category (geoloc no_map)    Cette nouvelle syntaxe clarife que no_render est un paramètre pour days et non un overlay.  Configuration dans YACS  Vous devez définir l'overlay fusion dans les options de la section concernée, suivi des noms des overlays à fusionner, séparés par des espaces. Élément de Configuration Syntaxe à Utiliser Description Section Options / Overlay fusion overlay1 overlay2   Déclaration de l'overlay fusion et de la liste des overlays à exécuter. Exemple (selon la discussion) fusion day multi_category geoloc Combine les fonctions de l'overlay days, l'overlay multi_category et l'overlay geoloc.  Cas Particulier du no_render  Si vous utilisez l'option no_render pour l'un des overlays fusionnés (comme days ou event), vous le placez directement dans la liste des paramètres  Grâce à la modification mentionnée, il ignore l'option no_render lors de la recherche des noms d'overlays, mais cette option sera ensuite prise en compte par l'overlay days (ou event) s'il est programmé pour cela. </description>
		<image><url>https://yacs.fr//images/section/427/blog-128.png</url></image>
		<content:encoded><![CDATA[ <div class="introduction"> <p>l'overlay fusion.php  est conçu pour combiner (fusionner) les fonctionnalités de plusieurs autres overlays (par exemple, day, multi_category, geoloc).</p></div>
 <p>L'overlay fusion.php est un outil de configuration qui permet à une section YACS d'hériter et d'exécuter les logiques de plusieurs autres overlays simultanément.<br><br>L'objectif principal est d'appliquer les traitements spécifiques de plusieurs modules (gestion des dates, gestion des catégories multiples, gestion de la géolocalisation, etc.) à la même liste d'éléments de section.</p><p><br></p><h2>Le Problème du no_render</h2><p>&nbsp; &nbsp; Contexte : L'option no_render est un paramètre hérité de l'overlay Day (ou event.php).</p><p>&nbsp; &nbsp; <b>Fonctionnement de no_render</b> : Normalement, un overlay peut surcharger la fonction render pour afficher les éléments d'une section différemment (ex: calendrier, carte). L'option no_render est un cas tordu qui, lorsqu'elle est présente, annule cette surcharge et force le rendu à utiliser le mécanisme de listage par défaut du layout de la section.</p><br><p>&nbsp; &nbsp; <b>Le correctif&nbsp;</b> : Dans la configuration de fusion (fusion overlay1 overlay2 ...), le paramètre no_render était interprété à tort comme un nom d'overlay à fusionner, ce qui pouvait entraîner une erreur. L'ajout proposé par Christian et Alexis dans fusion.php consiste à ignorer ce paramètre s'il est utilisé au niveau de la section</p><h2>Le Mécanisme de Fusion des Fonctions</h2><p>&nbsp; &nbsp; <b>Fonction render </b>: L'overlay fusion.php interroge les fonctions "infusionnables" (comme render) des overlays fusionnés dans l'ordre où ils sont déclarés.</p><p>&nbsp; &nbsp; <b>Priorité</b> : Il utilise la première réponse non-NULL qu'il reçoit et s'arrête là.</p><p>L'ordre des overlays peut être important, notamment pour la fonction get_field (implicitement mentionnée pour la saisie des dates).</p><h3>Évolution de la Syntaxe</h3><br><h4>&nbsp; &nbsp;Exemples de nouvelle syntaxe proposée :&nbsp; fusion (days no_render) multi_category (geoloc no_map)</h4><p>&nbsp; &nbsp;Cette nouvelle syntaxe clarife que no_render est un paramètre pour days et non un overlay.</p><br><h2>Configuration dans YACS</h2><p>Vous devez définir l'overlay fusion dans les options de la section concernée, suivi des noms des overlays à fusionner, séparés par des espaces. Élément de Configuration Syntaxe à Utiliser Description Section Options / Overlay fusion overlay1 overlay2 [overlay3 ...] Déclaration de l'overlay fusion et de la liste des overlays à exécuter. Exemple (selon la discussion) fusion day multi_category geoloc Combine les fonctions de l'overlay days, l'overlay multi_category et l'overlay geoloc.</p><h3>Cas Particulier du no_render</h3><p>Si vous utilisez l'option no_render pour l'un des overlays fusionnés (comme days ou event), vous le placez directement dans la liste des paramètres</p><p>Grâce à la modification mentionnée, il ignore l'option no_render lors de la recherche des noms d'overlays, mais cette option sera ensuite prise en compte par l'overlay days (ou event) s'il est programmé pour cela.</p><br> ]]></content:encoded>
		<dc:creator>Christian</dc:creator>
		<category>Le blog de yacs</category>
		<pubDate>Wed, 10 Dec 2025 15:24:03 GMT</pubDate>
		<comments>https://yacs.fr/section-427-le-blog-de-yacs#comments</comments>
		<slash:comments>0</slash:comments>
		<wfw:comment>https://yacs.fr/comments/post.php/article/8292</wfw:comment>
		<wfw:commentRss>https://yacs.fr/comments/feed.php/article/8292</wfw:commentRss>
		<trackback:ping>https://yacs.fr/links/trackback.php?anchor=article%3A8292</trackback:ping>
	</item>

 <item>
		<title>Event et Day</title>
		<link>https://yacs.fr/article-8291-event-et-day</link>
		<guid isPermaLink="true">https://yacs.fr/article-8291-event-et-day</guid>
		<description>  Ces fichiers constituent un système de gestion d'événements (overlay Event), avec une version simplifiée pour des événements d'une journée (overlay Day), et un  ensemble de scripts &quot;contrôleurs&quot; (le dossier events/) qui gèrent les actions du cycle de vie d'un événement.  
  Synthèse Générale  C'est un framework très complet qui gère :   * Un cycle de vie complet pour un événement (préparation, inscriptions, en cours, terminé).   * Plusieurs modes d'inscription (ouvert, sur validation, manuel).   * Des notifications par email pour les participants et les organisateurs.   * L'intégration avec les agendas externes via la génération de fichiers .ics (iCalendar).1. @overlays/event.php - Le Framework d'Événements  C'est la pièce maîtresse, une classe de base extrêmement complète pour tout ce qui est événementiel. On peut le voir comme un mini-framework.* Rôle : Définir la structure, le comportement et le cycle de vie d'un événement complexe.* Cycle de vie (State Machine) : L'overlay gère un état (status) qui évolue dans le temps :       1. created (par défaut) : L'événement est en préparation.       2. open : Les inscriptions sont ouvertes.       3. lobby : L'événement est sur le point de commencer (salle d'attente virtuelle).       4. started : L'événement est en cours.       5. stopped : L'événement est terminé.      Les transitions entre ces états peuvent être automatiques (basées sur l'heure) ou manuelles (déclenchées par le propriétaire).* Fonctionnalités Clés :       * Gestion des inscriptions (`with_enrolment`) : Propose 3 modes :           * none : Inscription ouverte à tous.           * validate : Les utilisateurs postulent et le propriétaire doit valider.           * manual : Le propriétaire inscrit les participants manuellement.       * Interface d'édition (`get_tabs`) : Ajoute un onglet &quot;Management&quot; très complet lors de l'édition de la page, permettant de configurer tous les messages du cycle         de vie (message d'accueil, de bienvenue, de suivi, etc.) et le mode d'inscription.       * Affichage dynamique (`get_view_text`) : C'est une grosse méthode qui agit comme une machine à états. En fonction du status actuel de l'événement, elle affiche         les informations, les messages et les boutons d'action appropriés (&quot;S'inscrire&quot;, &quot;Rejoindre&quot;, &quot;Gérer les inscriptions&quot;, etc.).       * Intégration Calendrier (`get_ics`, `get_invite_attachments`) : Génère un fichier .ics standard que les utilisateurs peuvent importer dans leur agenda (Google,         Outlook, etc.). Ce fichier est automatiquement attaché aux emails d'invitation ou de confirmation.       * Notifications (`remember`, `invite`) : S'intègre profondément au système de YACS pour envoyer des emails lors de la création, la mise à jour, l'annulation, ou         l'inscription à un événement.       * URLs d'action (`get_url`) : Centralise la création des URLs pour toutes les actions possibles (apply, enroll, join, start, stop...), pointant vers les scripts         du dossier events/.event.php est un moteur très puissant conçu pour être la base de tout type d'événement en ligne ou physique.2. @overlays/day.php - L'Événement Simplifié (Journée)  Cette classe hérite de Event (class Day extends Event). Son but est de simplifier radicalement l'interface pour des cas d'usage plus simples.* Rôle : Gérer des événements qui durent toute une journée et ne nécessitent pas de gestion complexe (ex: jour férié, anniversaire, date limite d'un projet).* Simplifications (ce qu'il change par rapport à `Event`) :       * Formulaire simplifié (`get_fields`) : Il ne demande que la date (date_stamp). L'heure est forcée à &quot;12:00&quot; et la durée à &quot;1440&quot; minutes (24h) via des champs         cachés.       * Pas d'inscription (`with_enrolment`) : Il désactive complètement le système d'inscription en retournant false.       * Pas de gestion (`get_tabs`) : Il supprime l'onglet &quot;Management&quot;, cachant ainsi toute la complexité des messages de cycle de vie.       * Pas d'action &quot;Rejoindre&quot; (`get_join_url`) : Il retourne NULL, car on ne &quot;rejoint&quot; pas un &quot;jour&quot;.  C'est un excellent exemple d'utilisation de l'héritage pour spécialiser et simplifier une classe complexe pour un besoin spécifique, offrant une bien meilleure expérience utilisateur.  3. @overlays/events/** - Les Contrôleurs d'Action  Ce dossier contient une série de petits scripts PHP qui ont chacun une seule et unique responsabilité : exécuter une action sur un événement. Ils sont les &quot;points  d'entrée&quot; pour toutes les interactions de l'utilisateur avec le cycle de vie de l'événement. * Pattern commun à tous les scripts :       1. Récupérer l'ID de l'objet (l'ancre).       2. Charger l'objet Anchors::get($id).       3. Charger son overlay Overlay::load(...).       4. Vérifier les permissions (est-ce le propriétaire ? l'utilisateur a-t-il le droit de voir la page ?).       5. Appeler la méthode correspondante sur l'objet $overlay (ex: $overlay-&amp;gt;start_meeting()).       6. Rediriger l'utilisateur vers la page de l'événement. * Rôle de chaque script :       * apply.php : Gère la demande d'inscription d'un utilisateur.       * enroll.php : Fournit au propriétaire l'interface pour valider ou refuser les inscriptions.       * fetch_ics.php : Script spécial qui ne fait que générer et servir le fichier .ics pour le téléchargement.       * join.php : Redirige l'utilisateur vers l'URL de la réunion en ligne (ex: lien Zoom/Teams/BBB).       * open.php, start.php, stop.php : Permettent au propriétaire de forcer manuellement les transitions d'état de l'événement.  Conclusion et Vision d'Ensemble  Le système fonctionne comme suit :   1. Un administrateur crée une page avec un overlay event ou day.   2. La page d'événement (get_view_text) affiche des boutons (&quot;S'inscrire&quot;, &quot;Démarrer l'événement&quot;...) dont les liens pointent vers les scripts du dossier events/.   3. Quand un utilisateur clique, le script correspondant est exécuté.   4. Le script charge l'overlay et lui délègue l'exécution de la logique métier (inscrire l'utilisateur, changer le statut, envoyer un email...).   5. L'utilisateur est redirigé vers la page de l'événement, qui affiche maintenant le nouvel état.   6. En arrière-plan, le système gère les notifications, les emails, et la synchronisation avec les calendriers externes.  C'est une architecture très robuste, modulaire et extensible qui sépare bien les responsabilités :   - `event.php` : La logique métier et l'état (le &quot;Modèle&quot;).   - `get_view_text()` dans `event.php` : La logique d'affichage (la &quot;Vue&quot;).   - Le dossier `events/` : La gestion des actions utilisateur (les &quot;Contrôleurs&quot;). </description>
		<content:encoded><![CDATA[ <div class="introduction"> <p>Ces fichiers constituent un système de gestion d'événements (overlay Event), avec une version simplifiée pour des événements d'une journée (overlay Day), et un  ensemble de scripts "contrôleurs" (le dossier events/) qui gèrent les actions du cycle de vie d'un événement.</p></div>
 <p>Synthèse Générale<br><br>&nbsp; C'est un framework très complet qui gère :<br>&nbsp; &nbsp;* Un cycle de vie complet pour un événement (préparation, inscriptions, en cours, terminé).<br>&nbsp; &nbsp;* Plusieurs modes d'inscription (ouvert, sur validation, manuel).<br>&nbsp; &nbsp;* Des notifications par email pour les participants et les organisateurs.<br>&nbsp; &nbsp;* L'intégration avec les agendas externes via la génération de fichiers .ics (iCalendar).<br><br>1. @overlays/event.php - Le Framework d'Événements<br><br>&nbsp; C'est la pièce maîtresse, une classe de base extrêmement complète pour tout ce qui est événementiel. On peut le voir comme un mini-framework.<br><br>* Rôle : Définir la structure, le comportement et le cycle de vie d'un événement complexe.<br>* Cycle de vie (State Machine) : L'overlay gère un état (status) qui évolue dans le temps :<br>&nbsp; &nbsp; &nbsp; &nbsp;1. created (par défaut) : L'événement est en préparation.<br>&nbsp; &nbsp; &nbsp; &nbsp;2. open : Les inscriptions sont ouvertes.<br>&nbsp; &nbsp; &nbsp; &nbsp;3. lobby : L'événement est sur le point de commencer (salle d'attente virtuelle).<br>&nbsp; &nbsp; &nbsp; &nbsp;4. started : L'événement est en cours.<br>&nbsp; &nbsp; &nbsp; &nbsp;5. stopped : L'événement est terminé.<br>&nbsp; &nbsp; &nbsp; Les transitions entre ces états peuvent être automatiques (basées sur l'heure) ou manuelles (déclenchées par le propriétaire).<br><br>* Fonctionnalités Clés :<br>&nbsp; &nbsp; &nbsp; &nbsp;* Gestion des inscriptions (`with_enrolment`) : Propose 3 modes :<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* none : Inscription ouverte à tous.<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* validate : Les utilisateurs postulent et le propriétaire doit valider.<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* manual : Le propriétaire inscrit les participants manuellement.<br>&nbsp; &nbsp; &nbsp; &nbsp;* Interface d'édition (`get_tabs`) : Ajoute un onglet "Management" très complet lors de l'édition de la page, permettant de configurer tous les messages du cycle<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;de vie (message d'accueil, de bienvenue, de suivi, etc.) et le mode d'inscription.<br>&nbsp; &nbsp; &nbsp; &nbsp;* Affichage dynamique (`get_view_text`) : C'est une grosse méthode qui agit comme une machine à états. En fonction du status actuel de l'événement, elle affiche<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;les informations, les messages et les boutons d'action appropriés ("S'inscrire", "Rejoindre", "Gérer les inscriptions", etc.).<br>&nbsp; &nbsp; &nbsp; &nbsp;* Intégration Calendrier (`get_ics`, `get_invite_attachments`) : Génère un fichier .ics standard que les utilisateurs peuvent importer dans leur agenda (Google,<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Outlook, etc.). Ce fichier est automatiquement attaché aux emails d'invitation ou de confirmation.<br>&nbsp; &nbsp; &nbsp; &nbsp;* Notifications (`remember`, `invite`) : S'intègre profondément au système de YACS pour envoyer des emails lors de la création, la mise à jour, l'annulation, ou<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;l'inscription à un événement.<br>&nbsp; &nbsp; &nbsp; &nbsp;* URLs d'action (`get_url`) : Centralise la création des URLs pour toutes les actions possibles (apply, enroll, join, start, stop...), pointant vers les scripts<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;du dossier events/.<br><br>event.php est un moteur très puissant conçu pour être la base de tout type d'événement en ligne ou physique.<br><br>2. @overlays/day.php - L'Événement Simplifié (Journée)<br><br>&nbsp; Cette classe hérite de Event (class Day extends Event). Son but est de simplifier radicalement l'interface pour des cas d'usage plus simples.<br><br>* Rôle : Gérer des événements qui durent toute une journée et ne nécessitent pas de gestion complexe (ex: jour férié, anniversaire, date limite d'un projet).<br><br>* Simplifications (ce qu'il change par rapport à `Event`) :<br>&nbsp; &nbsp; &nbsp; &nbsp;* Formulaire simplifié (`get_fields`) : Il ne demande que la date (date_stamp). L'heure est forcée à "12:00" et la durée à "1440" minutes (24h) via des champs<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;cachés.<br>&nbsp; &nbsp; &nbsp; &nbsp;* Pas d'inscription (`with_enrolment`) : Il désactive complètement le système d'inscription en retournant false.<br>&nbsp; &nbsp; &nbsp; &nbsp;* Pas de gestion (`get_tabs`) : Il supprime l'onglet "Management", cachant ainsi toute la complexité des messages de cycle de vie.<br>&nbsp; &nbsp; &nbsp; &nbsp;* Pas d'action "Rejoindre" (`get_join_url`) : Il retourne NULL, car on ne "rejoint" pas un "jour".<br><br>&nbsp; C'est un excellent exemple d'utilisation de l'héritage pour spécialiser et simplifier une classe complexe pour un besoin spécifique, offrant une bien meilleure expérience utilisateur.<br><br>&nbsp; 3. @overlays/events/** - Les Contrôleurs d'Action<br><br>&nbsp; Ce dossier contient une série de petits scripts PHP qui ont chacun une seule et unique responsabilité : exécuter une action sur un événement. Ils sont les "points&nbsp; d'entrée" pour toutes les interactions de l'utilisateur avec le cycle de vie de l'événement.<br>&nbsp;* Pattern commun à tous les scripts :<br>&nbsp; &nbsp; &nbsp; &nbsp;1. Récupérer l'ID de l'objet (l'ancre).<br>&nbsp; &nbsp; &nbsp; &nbsp;2. Charger l'objet Anchors::get($id).<br>&nbsp; &nbsp; &nbsp; &nbsp;3. Charger son overlay Overlay::load(...).<br>&nbsp; &nbsp; &nbsp; &nbsp;4. Vérifier les permissions (est-ce le propriétaire ? l'utilisateur a-t-il le droit de voir la page ?).<br>&nbsp; &nbsp; &nbsp; &nbsp;5. Appeler la méthode correspondante sur l'objet $overlay (ex: $overlay-&gt;start_meeting()).<br>&nbsp; &nbsp; &nbsp; &nbsp;6. Rediriger l'utilisateur vers la page de l'événement.<br>&nbsp;* Rôle de chaque script :<br>&nbsp; &nbsp; &nbsp; &nbsp;* apply.php : Gère la demande d'inscription d'un utilisateur.<br>&nbsp; &nbsp; &nbsp; &nbsp;* enroll.php : Fournit au propriétaire l'interface pour valider ou refuser les inscriptions.<br>&nbsp; &nbsp; &nbsp; &nbsp;* fetch_ics.php : Script spécial qui ne fait que générer et servir le fichier .ics pour le téléchargement.<br>&nbsp; &nbsp; &nbsp; &nbsp;* join.php : Redirige l'utilisateur vers l'URL de la réunion en ligne (ex: lien Zoom/Teams/BBB).<br>&nbsp; &nbsp; &nbsp; &nbsp;* open.php, start.php, stop.php : Permettent au propriétaire de forcer manuellement les transitions d'état de l'événement.<br><br>&nbsp; Conclusion et Vision d'Ensemble<br><br>&nbsp; Le système fonctionne comme suit :<br>&nbsp; &nbsp;1. Un administrateur crée une page avec un overlay event ou day.<br>&nbsp; &nbsp;2. La page d'événement (get_view_text) affiche des boutons ("S'inscrire", "Démarrer l'événement"...) dont les liens pointent vers les scripts du dossier events/.<br>&nbsp; &nbsp;3. Quand un utilisateur clique, le script correspondant est exécuté.<br>&nbsp; &nbsp;4. Le script charge l'overlay et lui délègue l'exécution de la logique métier (inscrire l'utilisateur, changer le statut, envoyer un email...).<br>&nbsp; &nbsp;5. L'utilisateur est redirigé vers la page de l'événement, qui affiche maintenant le nouvel état.<br>&nbsp; &nbsp;6. En arrière-plan, le système gère les notifications, les emails, et la synchronisation avec les calendriers externes.<br><br>&nbsp; C'est une architecture très robuste, modulaire et extensible qui sépare bien les responsabilités :<br>&nbsp; &nbsp;- `event.php` : La logique métier et l'état (le "Modèle").<br>&nbsp; &nbsp;- `get_view_text()` dans `event.php` : La logique d'affichage (la "Vue").<br>&nbsp; &nbsp;- Le dossier `events/` : La gestion des actions utilisateur (les "Contrôleurs").<br><br><br></p> ]]></content:encoded>
		<dc:creator>Christian</dc:creator>
		<category>Comment écrire un overlay ?</category>
		<pubDate>Thu, 06 Nov 2025 16:56:09 GMT</pubDate>
		<comments>https://yacs.fr/section-322-comment-ecrire-un-overlay#comments</comments>
		<slash:comments>0</slash:comments>
		<wfw:comment>https://yacs.fr/comments/post.php/article/8291</wfw:comment>
		<wfw:commentRss>https://yacs.fr/comments/feed.php/article/8291</wfw:commentRss>
		<trackback:ping>https://yacs.fr/links/trackback.php?anchor=article%3A8291</trackback:ping>
	</item>

 <item>
		<title>L'overlay &quot;mutable&quot;</title>
		<link>https://yacs.fr/article-8290-l-overlay-mutable</link>
		<guid isPermaLink="true">https://yacs.fr/article-8290-l-overlay-mutable</guid>
		<description>  Analyse de @overlays/fusion.php - L'Overlay Composite  
    Ce fichier définit l'overlay Fusion, qui est un &quot;méta-overlay&quot; ou un &quot;overlay composite&quot;. Son rôle n'est pas de fournir du contenu directement, mais de combiner  plusieurs overlays en un seul.   C'est une implémentation très puissante du pattern de conception Composite. Il permet d'appliquer les effets de plusieurs overlays différents à un seul et même  contenu (un article, une section, etc.) sans avoir à créer un nouvel overlay spécifique pour chaque combinaison.  Concept Clé  L'idée est simple : vous déclarez l'overlay fusion suivi des noms des autres overlays que vous voulez combiner.  Exemple d'utilisation (dans les options d'une page) :  fusion overlay_A overlay_B overlay_C  Quand cette page sera affichée, YACS chargera l'overlay Fusion, qui à son tour chargera des instances de overlay_A, overlay_B et overlay_C. Lorsque le système  demandera à Fusion de produire du contenu (par exemple, avec get_view_text()), Fusion interrogera ses &quot;enfants&quot; (overlay_A, B, C) et combinera leurs réponses de  manière intelligente.  Fonctionnement Interne  La classe Fusion surcharge la plupart des méthodes de la classe Overlay de base (get_fields, get_view_text, get_id, etc.). Pour chaque méthode, elle applique une  stratégie de fusion spécifique.  Le cœur du système repose sur 3 stratégies principales, implémentées dans des méthodes privées :  1. fusion_chain_method (Stratégie d'Agrégation / Concaténation)  Cette stratégie exécute la même méthode sur tous les overlays enfants et combine leurs résultats.      Pour du texte (string) : elle concatène les résultats.     Pour des tableaux (array) : elle fusionne les tableaux (array_merge).     Pour des booléens (boolean) : elle fait un ET logique (&amp;amp;&amp;amp;). Un seul false rend tout le résultat false.     Pour des nombres (integer/float) : elle les additionne.     Utilisé pour :      get_fields(): Pour afficher les champs de formulaire de tous les overlays.     get_view_text(), get_list_text(), get_trailer_text(): Pour afficher les contenus de tous les overlays les uns à la suite des autres.     get_tabs(): Pour fusionner les onglets de tous les overlays.     remember(), parse_fields(): Pour que chaque overlay puisse traiter les données du formulaire et se sauvegarder.   2. fusion_first_reply (Stratégie &quot;Le Premier qui Répond Gagne&quot;)  Cette stratégie exécute la méthode sur chaque overlay enfant, dans l'ordre de leur déclaration, et s'arrête dès que l'un d'eux retourne un résultat non-`null`. Le  résultat de ce premier overlay est alors retourné.  Utilisé pour :    get_id(): L'ID de la fusion sera l'ID du premier overlay enfant qui en possède un.   get_label(), get_live_title(): Le titre ou le libellé sera celui défini par le premier overlay qui souhaite le surcharger. L'ordre est donc crucial ici.   render(): La première surcouche capable de gérer le rendu l'emporte.     3. fusion_pipe_method (Stratégie de &quot;Pipeline&quot; / Filtre en chaîne)  Cette stratégie est plus rare mais très puissante. Le résultat d'un overlay est passé comme argument au suivant.   overlay_A reçoit la valeur initiale et retourne valeur_A.  overlay_B reçoit valeur_A et retourne valeur_B.  overlay_C reçoit valeur_B et retourne valeur_C.  Le résultat final est valeur_C.   Utilisé pour :   get_live_description(), get_live_introduction(): Permet à chaque overlay de modifier successivement la description ou l'introduction de la page.   Stockage des Données  Le mécanisme de sauvegarde est également très malin. Quand le formulaire est soumis (parse_fields), l'overlay Fusion :     1. Demande à chaque overlay enfant de traiter le formulaire.     2. Récupère les attributs de chaque enfant.     3. Stocke ces attributs dans son propre tableau $this-&amp;gt;attributes, en utilisant le nom de l'overlay enfant comme clé.    Le résultat sérialisé ressemble à ça :     1 array(     2   'overlay_type' =&amp;gt; 'fusion',     3   'overlay_parameters' =&amp;gt; 'overlay_A overlay_B',     4   'overlay_A' =&amp;gt; array( ... attributs de A ... ),     5   'overlay_B' =&amp;gt; array( ... attributs de B ... )     6 )  Lors du chargement, fusion_load_overlays utilise ces données pour &quot;réhydrater&quot; chaque overlay enfant avec son état précédent.  Points d'Attention (mentionnés dans le code)  L'auteur prévient à juste titre :   Conflits de noms : Si deux overlays fusionnés utilisent un champ de formulaire avec le même nom (ex: &amp;lt;input name=&quot;titre&quot;&amp;gt;), cela créera des conflits.  Conflits d'ID : De même pour les ID des onglets dans get_tabs().  L'ordre est important : Pour la stratégie fusion_first_reply, l'ordre dans lequel vous déclarez les overlays (fusion A B vs fusion B A) change le comportement.     Conclusion    L'overlay Fusion est un outil d'architecture logicielle extrêmement puissant et élégant. Il offre une modularité et une flexibilité incroyables aux administrateurs    du site, qui peuvent désormais &quot;construire&quot; une page en assemblant des briques de fonctionnalités (les overlays) sans avoir besoin d'une seule ligne de code    supplémentaire. C'est la quintessence d'un système bien conçu, permettant de créer des combinaisons complexes à partir de composants simples. </description>
		<content:encoded><![CDATA[ <div class="introduction"> <p>Analyse de @overlays/fusion.php - L'Overlay Composite</p></div>
 <p>&nbsp; Ce fichier définit l'overlay Fusion, qui est un "méta-overlay" ou un "overlay composite". Son rôle n'est pas de fournir du contenu directement, mais de combiner&nbsp; plusieurs overlays en un seul.</p><p>&nbsp;C'est une implémentation très puissante du pattern de conception Composite. Il permet d'appliquer les effets de plusieurs overlays différents à un seul et même&nbsp; contenu (un article, une section, etc.) sans avoir à créer un nouvel overlay spécifique pour chaque combinaison.<br><br></p><h2>Concept Clé</h2><p>L'idée est simple : vous déclarez l'overlay fusion suivi des noms des autres overlays que vous voulez combiner.</p><p>Exemple d'utilisation (dans les options d'une page) :&nbsp; fusion overlay_A overlay_B overlay_C</p><br><p>Quand cette page sera affichée, YACS chargera l'overlay Fusion, qui à son tour chargera des instances de overlay_A, overlay_B et overlay_C. Lorsque le système&nbsp; demandera à Fusion de produire du contenu (par exemple, avec get_view_text()), Fusion interrogera ses "enfants" (overlay_A, B, C) et combinera leurs réponses de&nbsp; manière intelligente.<br><br></p><h2>Fonctionnement Interne</h2><p>La classe Fusion surcharge la plupart des méthodes de la classe Overlay de base (get_fields, get_view_text, get_id, etc.). Pour chaque méthode, elle applique une&nbsp; stratégie de fusion spécifique.</p><p>Le cœur du système repose sur 3 stratégies principales, implémentées dans des méthodes privées :</p><p>1. fusion_chain_method (Stratégie d'Agrégation / Concaténation)</p><p>Cette stratégie exécute la même méthode sur tous les overlays enfants et combine leurs résultats.</p><ul><li>&nbsp; &nbsp;Pour du texte (string) : elle concatène les résultats.</li><li>&nbsp; &nbsp;Pour des tableaux (array) : elle fusionne les tableaux (array_merge).</li><li>&nbsp; &nbsp;Pour des booléens (boolean) : elle fait un ET logique (&amp;&amp;). Un seul false rend tout le résultat false.</li><li>&nbsp; &nbsp;Pour des nombres (integer/float) : elle les additionne.</li></ul><p>&nbsp; Utilisé pour :</p><ul><li>&nbsp; &nbsp;get_fields(): Pour afficher les champs de formulaire de tous les overlays.</li><li>&nbsp; &nbsp;get_view_text(), get_list_text(), get_trailer_text(): Pour afficher les contenus de tous les overlays les uns à la suite des autres.</li><li>&nbsp; &nbsp;get_tabs(): Pour fusionner les onglets de tous les overlays.</li><li>&nbsp; &nbsp;remember(), parse_fields(): Pour que chaque overlay puisse traiter les données du formulaire et se sauvegarder.</li></ul><br><p>2. fusion_first_reply (Stratégie "Le Premier qui Répond Gagne")</p><p>Cette stratégie exécute la méthode sur chaque overlay enfant, dans l'ordre de leur déclaration, et s'arrête dès que l'un d'eux retourne un résultat non-`null`. Le&nbsp; résultat de ce premier overlay est alors retourné.</p><p>Utilisé pour :</p><ul><li>&nbsp;get_id(): L'ID de la fusion sera l'ID du premier overlay enfant qui en possède un.</li><li>&nbsp;get_label(), get_live_title(): Le titre ou le libellé sera celui défini par le premier overlay qui souhaite le surcharger. L'ordre est donc crucial ici.</li><li>&nbsp;render(): La première surcouche capable de gérer le rendu l'emporte.</li></ul><p>&nbsp; 3. fusion_pipe_method (Stratégie de "Pipeline" / Filtre en chaîne)</p><p>Cette stratégie est plus rare mais très puissante. Le résultat d'un overlay est passé comme argument au suivant.</p><ul><li>overlay_A reçoit la valeur initiale et retourne valeur_A.</li><li>overlay_B reçoit valeur_A et retourne valeur_B.</li><li>overlay_C reçoit valeur_B et retourne valeur_C.</li><li>Le résultat final est valeur_C.</li></ul><br><p>Utilisé pour :</p><ul><li>get_live_description(), get_live_introduction(): Permet à chaque overlay de modifier successivement la description ou l'introduction de la page.</li></ul><br><h2>Stockage des Données</h2><p>Le mécanisme de sauvegarde est également très malin. Quand le formulaire est soumis (parse_fields), l'overlay Fusion :</p><p>&nbsp; &nbsp;1. Demande à chaque overlay enfant de traiter le formulaire.</p><p>&nbsp; &nbsp;2. Récupère les attributs de chaque enfant.</p><p>&nbsp; &nbsp;3. Stocke ces attributs dans son propre tableau $this-&gt;attributes, en utilisant le nom de l'overlay enfant comme clé.</p><p>&nbsp; Le résultat sérialisé ressemble à ça :</p><p>&nbsp; &nbsp;1 array(</p><p>&nbsp; &nbsp;2&nbsp; &nbsp;'overlay_type' =&gt; 'fusion',</p><p>&nbsp; &nbsp;3&nbsp; &nbsp;'overlay_parameters' =&gt; 'overlay_A overlay_B',</p><p>&nbsp; &nbsp;4&nbsp; &nbsp;'overlay_A' =&gt; array( ... attributs de A ... ),</p><p>&nbsp; &nbsp;5&nbsp; &nbsp;'overlay_B' =&gt; array( ... attributs de B ... )</p><p>&nbsp; &nbsp;6 )</p><p>Lors du chargement, fusion_load_overlays utilise ces données pour "réhydrater" chaque overlay enfant avec son état précédent.</p><p>Points d'Attention (mentionnés dans le code)</p><p>L'auteur prévient à juste titre :</p><ul><li>Conflits de noms : Si deux overlays fusionnés utilisent un champ de formulaire avec le même nom (ex: &lt;input name="titre"&gt;), cela créera des conflits.</li><li>Conflits d'ID : De même pour les ID des onglets dans get_tabs().</li><li>L'ordre est important : Pour la stratégie fusion_first_reply, l'ordre dans lequel vous déclarez les overlays (fusion A B vs fusion B A) change le comportement.</li></ul><p>&nbsp; Conclusion</p><p>&nbsp; L'overlay Fusion est un outil d'architecture logicielle extrêmement puissant et élégant. Il offre une modularité et une flexibilité incroyables aux administrateurs</p><p>&nbsp; du site, qui peuvent désormais "construire" une page en assemblant des briques de fonctionnalités (les overlays) sans avoir besoin d'une seule ligne de code</p><p>&nbsp; supplémentaire. C'est la quintessence d'un système bien conçu, permettant de créer des combinaisons complexes à partir de composants simples.</p> ]]></content:encoded>
		<dc:creator>Christian</dc:creator>
		<category>Comment écrire un overlay ?</category>
		<pubDate>Thu, 06 Nov 2025 16:36:50 GMT</pubDate>
		<comments>https://yacs.fr/section-322-comment-ecrire-un-overlay#comments</comments>
		<slash:comments>0</slash:comments>
		<wfw:comment>https://yacs.fr/comments/post.php/article/8290</wfw:comment>
		<wfw:commentRss>https://yacs.fr/comments/feed.php/article/8290</wfw:commentRss>
		<trackback:ping>https://yacs.fr/links/trackback.php?anchor=article%3A8290</trackback:ping>
	</item>

 <item>
		<title>Analyse de la classe Overlay dans YACS</title>
		<link>https://yacs.fr/article-8289-analyse-de-la-classe-overlay-dans-yacs</link>
		<guid isPermaLink="true">https://yacs.fr/article-8289-analyse-de-la-classe-overlay-dans-yacs</guid>
		<description>  La classe Overlay est un composant central du CMS YACS qui permet d'étendre les fonctionnalités des pages web de manière modulaire. Voici une analyse approfondie de son fonctionnement :  
  Fonctionnalités principales  1. Extension des pages : Permet de transformer des articles standards en types spécifiques (recettes, événements, etc.)2. Stockage des données : Les données des overlays sont sérialisées et stockées avec l'objet parent3. Interface unifiée : Fournit des méthodes standardisées pour interagir avec les overlays  Méthodes clés  Création et chargement  - `bind()` : Crée une nouvelle instance d'overlay à partir d'un type- `load()` : Restaure un overlay à partir des données sérialisées d'un objet parent  Gestion des données  - `get_fields()` : Récupère les champs du formulaire spécifiques à l'overlay- `parse_fields()` : Traite les données soumises via un formulaire- `save()` : Sérialise les données de l'overlay pour stockage- `set_values()` : Modifie les attributs de l'overlay  Affichage et rendu  - `get_text()` : Point d'entrée principal pour le contenu affiché- `get_view_text()`, `get_list_text()`, etc. : Méthodes spécifiques pour différents contextes d'affichage- `render()` : Permet de rendre des composants personnalisés  Personnalisation  - `get_label()` : Permet de surcharger les libellés standards- `get_tabs()` : Ajoute des onglets supplémentaires à l'interface- `allows()` : Contrôle les permissions d'accès  Points techniques intéressants  1. Système de variants : La méthode `get_text()` utilise un système de variants ('view', 'list', etc.) pour adapter l'affichage selon le contexte2. Gestion Unicode : La classe inclut des mécanismes pour gérer proprement l'encodage Unicode lors de la sérialisation3. Chargement dynamique : Les overlays sont chargés à la volée depuis des fichiers PHP dans le dossier overlays/4. Mécanisme de snapshot : Permet de détecter les changements dans les attributs5. Support des scripts et styles : Méthode `load_scripts_n_styles()` pour charger les dépendances CSS/JS  Bonnes pratiques d'implémentation  Pour créer un overlay personnalisé, il faut généralement :1. Créer un fichier dans le dossier overlays/ avec le nom de la classe2. Étendre la classe Overlay de base3. Implémenter les méthodes nécessaires selon les besoins :   - `get_fields()` et `parse_fields()` pour la gestion des formulaires   - Méthodes d'affichage comme `get_view_text()`   - Éventuellement `allows()` pour les permissions4. Utiliser `set_values()` pour modifier les attributs persistantsCette classe montre une conception soignée avec une bonne séparation des préoccupations, permettant une extensibilité importante du CMS tout en maintenant une interface cohérente. </description>
		<content:encoded><![CDATA[ <div class="introduction"> <p>La classe Overlay est un composant central du CMS YACS qui permet d'étendre les fonctionnalités des pages web de manière modulaire. Voici une analyse approfondie de son fonctionnement :</p></div>
 <h2>Fonctionnalités principales</h2><p>1. <strong>Extension des pages</strong> : Permet de transformer des articles standards en types spécifiques (recettes, événements, etc.)<br>2. <strong>Stockage des données</strong> : Les données des overlays sont sérialisées et stockées avec l'objet parent<br>3. <strong>Interface unifiée</strong> : Fournit des méthodes standardisées pour interagir avec les overlays<br><br></p><h2>Méthodes clés</h2><h3>Création et chargement</h3><p>- `bind()` : Crée une nouvelle instance d'overlay à partir d'un type<br>- `load()` : Restaure un overlay à partir des données sérialisées d'un objet parent<br><br></p><h3>Gestion des données</h3><p>- `get_fields()` : Récupère les champs du formulaire spécifiques à l'overlay<br>- `parse_fields()` : Traite les données soumises via un formulaire<br>- `save()` : Sérialise les données de l'overlay pour stockage<br>- `set_values()` : Modifie les attributs de l'overlay<br><br></p><h3>Affichage et rendu</h3><p>- `get_text()` : Point d'entrée principal pour le contenu affiché<br>- `get_view_text()`, `get_list_text()`, etc. : Méthodes spécifiques pour différents contextes d'affichage<br>- `render()` : Permet de rendre des composants personnalisés<br><br></p><h3>Personnalisation</h3><p>- `get_label()` : Permet de surcharger les libellés standards<br>- `get_tabs()` : Ajoute des onglets supplémentaires à l'interface<br>- `allows()` : Contrôle les permissions d'accès<br><br></p><h2>Points techniques intéressants</h2><p>1. <strong>Système de variants</strong> : La méthode `get_text()` utilise un système de variants ('view', 'list', etc.) pour adapter l'affichage selon le contexte<br><br>2. <strong>Gestion Unicode</strong> : La classe inclut des mécanismes pour gérer proprement l'encodage Unicode lors de la sérialisation<br><br>3. <strong>Chargement dynamique</strong> : Les overlays sont chargés à la volée depuis des fichiers PHP dans le dossier overlays/<br><br>4. <strong>Mécanisme de snapshot</strong> : Permet de détecter les changements dans les attributs<br><br>5. <strong>Support des scripts et styles</strong> : Méthode `load_scripts_n_styles()` pour charger les dépendances CSS/JS<br><br></p><h2>Bonnes pratiques d'implémentation</h2><p>Pour créer un overlay personnalisé, il faut généralement :<br><br>1. Créer un fichier dans le dossier overlays/ avec le nom de la classe<br>2. Étendre la classe Overlay de base<br>3. Implémenter les méthodes nécessaires selon les besoins :<br>&nbsp;&nbsp; - `get_fields()` et `parse_fields()` pour la gestion des formulaires<br>&nbsp;&nbsp; - Méthodes d'affichage comme `get_view_text()`<br>&nbsp;&nbsp; - Éventuellement `allows()` pour les permissions<br><br>4. Utiliser `set_values()` pour modifier les attributs persistants<br><br>Cette classe montre une conception soignée avec une bonne séparation des préoccupations, permettant une extensibilité importante du CMS tout en maintenant une interface cohérente.</p> ]]></content:encoded>
		<dc:creator>Christian</dc:creator>
		<category>Les différents outils de création de contenu</category>
		<pubDate>Thu, 15 May 2025 12:34:53 GMT</pubDate>
		<comments>https://yacs.fr/section-343-les-differents-outils-de-creation-de-contenu#comments</comments>
		<slash:comments>0</slash:comments>
		<wfw:comment>https://yacs.fr/comments/post.php/article/8289</wfw:comment>
		<wfw:commentRss>https://yacs.fr/comments/feed.php/article/8289</wfw:commentRss>
		<trackback:ping>https://yacs.fr/links/trackback.php?anchor=article%3A8289</trackback:ping>
	</item>

 <item>
		<title>Enrichir l'éditeur de texte 
Trumbowyg</title>
		<link>https://yacs.fr/article-8288-enrichir-l-editeur-de-texte-trumbowyg</link>
		<guid isPermaLink="true">https://yacs.fr/article-8288-enrichir-l-editeur-de-texte-trumbowyg</guid>
		<description>  Depuis quelques années Trumbowyg est devenu l'éditeur de Yacs.  
  La version installée est simplifiée. Elle correspond à 90% des usages constatés par les professionnels qui ont le logiciel actif chez leurs clients.  Afin de pouvoir personnaliser au mieux l'éditeur nous avons fait évoluer le code.  Trumbowyg dispose de multiples plugins et permet aussi de créer les siens.  Les paramètres par défaut dans Yacs  Les paramètres par défaut sont définis dans le panneau de contrôle / lien Fabrication des pages / onglet &quot;éditeur&quot;.  les valeurs sont : &quot;blockFormat|strong em|link|justifyLeft justifyCenter justifyRight|unorderedList orderedList specialChars preformatted | viewHTML| fullscreen&quot;   blockFormat : permet de définir les paragraphes, les titres H2 à H4 et les citations  strong em : mise en gras ou italique  link : insérer un lien (vous pouvez sélectionner une zone de texte auparavant.  justifyLeft justifyCenter justifyRight : justificationn gauche, centre et droite  unorderedList orderedList : liste à puce ou liste ordonnée   viewHTML : vue en mode &quot;code&quot;   fullscreen : plein écran   C'est rudimentaire mais c'est un choix qui permet de limiter les &quot;débordements&quot; des utilisateurs que ne respectent pas la charte graphique et qui évite les digressions.  Le webmaster a maintenant la possibilité d'ajouter des plugins  Comment ajouter un plugin ?  1. Ajouter le dossier du plugin dans le répertoire /included/trumbowyg/plugins/  2. Dans ce nouveau dossier ajouter le fichier  custom.pluginName.js/ Par exemple custom.table.js  3. ajouter l'appel du plugin via le panneau de contrôle en utilisant la syntaxe p-nomDuPlugin dans la définition de la toolbar de l'éditeur par exemple p-table  4. ensuite après faut mettre le nom du bouton, qui n'est pas toujours le nom du plugin. Pour table on aurait donc p-table table  



 </description>
		<image><url>https://yacs.fr//images/article/8288/trumbowyg.jpg</url></image>
		<content:encoded><![CDATA[ <div class="introduction"> <p>Depuis quelques années Trumbowyg est devenu l'éditeur de Yacs.</p></div>
 <p>La version installée est simplifiée. Elle correspond à 90% des usages constatés par les professionnels qui ont le logiciel actif chez leurs clients.</p><p>Afin de pouvoir personnaliser au mieux l'éditeur nous avons fait évoluer le code.</p><p>Trumbowyg dispose de multiples plugins et permet aussi de créer les siens.</p><h2>Les paramètres par défaut dans Yacs</h2><p>Les paramètres par défaut sont définis dans le panneau de contrôle / lien Fabrication des pages / onglet "éditeur".</p><p>les valeurs sont : "blockFormat|strong em|link|justifyLeft justifyCenter justifyRight|unorderedList orderedList specialChars preformatted | viewHTML| fullscreen"</p><ul><li>blockFormat : permet de définir les paragraphes, les titres H2 à H4 et les citations<br></li><li>strong em : mise en gras ou italique<br></li><li>link : insérer un lien (vous pouvez sélectionner une zone de texte auparavant.<br></li><li>justifyLeft justifyCenter justifyRight : justificationn gauche, centre et droite<br></li><li>unorderedList orderedList : liste à puce ou liste ordonnée<br></li><li>&nbsp;viewHTML : vue en mode "code"<br></li><li>&nbsp;fullscreen : plein écran<br></li></ul><p>C'est rudimentaire mais c'est un choix qui permet de limiter les "débordements" des utilisateurs que ne respectent pas la charte graphique et qui évite les digressions.<br></p><p>Le webmaster a maintenant la possibilité d'ajouter des plugins</p><h2>Comment ajouter un plugin ?</h2><p>1. Ajouter le dossier du plugin dans le répertoire /included/trumbowyg/plugins/</p><p>2. Dans ce nouveau dossier ajouter le fichier&nbsp; custom.pluginName.js/ Par exemple custom.table.js<br></p><p>3. ajouter l'appel du plugin via le panneau de contrôle en utilisant la syntaxe p-nomDuPlugin dans la définition de la toolbar de l'éditeur par exemple p-table<br></p><p>4. ensuite après faut mettre le nom du bouton, qui n'est pas toujours le nom du plugin. Pour table on aurait donc p-table table<br></p><p><br />
<br />
<figure class="y-inline-image y-large" ><img src="https://yacs.fr/images/article/8288/trumbowyg.jpg" alt=""  class="reflect rheight10" /></figure></p> ]]></content:encoded>
		<dc:creator>Christian</dc:creator>
		<category>Guide de développement</category>
		<pubDate>Tue, 14 Jan 2025 20:01:55 GMT</pubDate>
		<comments>https://yacs.fr/section-60-guide-de-developpement#comments</comments>
		<slash:comments>0</slash:comments>
		<wfw:comment>https://yacs.fr/comments/post.php/article/8288</wfw:comment>
		<wfw:commentRss>https://yacs.fr/comments/feed.php/article/8288</wfw:commentRss>
		<trackback:ping>https://yacs.fr/links/trackback.php?anchor=article%3A8288</trackback:ping>
	</item>

 <item>
		<title>Améliorations et corrections 2024</title>
		<link>https://yacs.fr/article-8285-ameliorations-et</link>
		<guid isPermaLink="true">https://yacs.fr/article-8285-ameliorations-et</guid>
		<description>  Alexis a effectué quelques améliorations cette année. en voici un bref résumé  
  Novembre 2024  
     Optimisation du chargement des plugins Trumbowyg : Meilleure gestion des plugins pour cet éditeur, optimisant leur intégration et leur performance. 
     Initialisation des tableaux : Prévention des avertissements PHP en initialisant correctement les tableaux avant leur utilisation. 
 



 Août 2024  
     Reconstruction des fichiers de localisation (i18n) : Mise à jour des outils pour une meilleure gestion des langues et traductions. 
     Outil de correction des catégorisations : Ajout d’une fonctionnalité pour rectifier facilement les erreurs dans la catégorisation des éléments. 
 



 Juillet 2024  
     Mise à jour des requêtes SQL avec tripleslash : Introduction de &quot;tripleslash&quot; pour améliorer les recherches par mot-clé et résoudre des bugs liés aux catégories. 
     Retrait de la compatibilité Piwik : Suppression des anciennes compatibilités Piwik et mise à jour de la bibliothèque Matomo pour des statistiques modernes. 
     Amélioration des mises en page avec accordéon : Ajout d’une option d’affichage des catégories sans liens dans le format accordéon. Support natif des catégories pour le layout accordéon. 
 



 Juin 2024  
     Nettoyage du code : Suppression des instructions inutiles, rendant le code plus léger et lisible. 
     Amélioration des bases de données :
         
             Ajout de valeurs par défaut pour les champs  NOT NULL . 
             Utilisation de guillemets autour des noms de colonnes pour une meilleure compatibilité. 
         
     
     Support FontAwesome : Correction des appels d'icônes FontAwesome (notamment pour les icônes de marques). 
     Compatibilité MySQL 8 : Ajustements des expressions régulières et requêtes pour les bases de données MySQL 8. 
 



 Mai 2024  
     Optimisation des requêtes SQL : Révision des mots-clés comme  RANK  pour éviter les conflits avec MySQL 8. 
 



 Février 2024  
     Amélioration du robot stopper : Support des réponses multiples pour les questions anti-robot, renforçant l’expérience utilisateur. 
     Prévention des avertissements : Gestion des index vides pour éviter les erreurs ou messages inutiles. 
 



 Janvier 2024  
     Compatibilité PHP 8 : Mise à jour des variables statiques et corrections des avertissements liés aux valeurs  null . 
     Amélioration des menus mobiles : Introduction d'un léger délai à l'ouverture des menus sur petits écrans pour une meilleure expérience tactile. 
     Amélioration des emails : Correction du format des retours à la ligne dans les emails pour plus de compatibilité avec différents clients. 
     Nettoyage du code : Suppression de variables inutilisées, réduisant la complexité et les risques d'erreurs. 
 </description>
		<image><url>https://yacs.fr//images/section/427/blog-128.png</url></image>
		<content:encoded><![CDATA[ <div class="introduction"> <p>Alexis a effectué quelques améliorations cette année. en voici un bref résumé</p></div>
 <h2>Novembre 2024</h2><ul>
    <li><strong>Optimisation du chargement des plugins Trumbowyg :</strong> Meilleure gestion des plugins pour cet éditeur, optimisant leur intégration et leur performance.</li>
    <li><strong>Initialisation des tableaux :</strong> Prévention des avertissements PHP en initialisant correctement les tableaux avant leur utilisation.</li>
</ul><br />
<br />
<h2>Août 2024</h2><ul>
    <li><strong>Reconstruction des fichiers de localisation (i18n) :</strong> Mise à jour des outils pour une meilleure gestion des langues et traductions.</li>
    <li><strong>Outil de correction des catégorisations :</strong> Ajout d’une fonctionnalité pour rectifier facilement les erreurs dans la catégorisation des éléments.</li>
</ul><br />
<br />
<h2>Juillet 2024</h2><ul>
    <li><strong>Mise à jour des requêtes SQL avec tripleslash :</strong> Introduction de "tripleslash" pour améliorer les recherches par mot-clé et résoudre des bugs liés aux catégories.</li>
    <li><strong>Retrait de la compatibilité Piwik :</strong> Suppression des anciennes compatibilités Piwik et mise à jour de la bibliothèque Matomo pour des statistiques modernes.</li>
    <li><strong>Amélioration des mises en page avec accordéon :</strong> Ajout d’une option d’affichage des catégories sans liens dans le format accordéon. Support natif des catégories pour le layout accordéon.</li>
</ul><br />
<br />
<h2>Juin 2024</h2><ul>
    <li><strong>Nettoyage du code :</strong> Suppression des instructions inutiles, rendant le code plus léger et lisible.</li>
    <li><strong>Amélioration des bases de données :</strong>
        <ul>
            <li>Ajout de valeurs par défaut pour les champs <code>NOT NULL</code>.</li>
            <li>Utilisation de guillemets autour des noms de colonnes pour une meilleure compatibilité.</li>
        </ul>
    </li>
    <li><strong>Support FontAwesome :</strong> Correction des appels d'icônes FontAwesome (notamment pour les icônes de marques).</li>
    <li><strong>Compatibilité MySQL 8 :</strong> Ajustements des expressions régulières et requêtes pour les bases de données MySQL 8.</li>
</ul><br />
<br />
<h2>Mai 2024</h2><ul>
    <li><strong>Optimisation des requêtes SQL :</strong> Révision des mots-clés comme <code>RANK</code> pour éviter les conflits avec MySQL 8.</li>
</ul><br />
<br />
<h2>Février 2024</h2><ul>
    <li><strong>Amélioration du robot stopper :</strong> Support des réponses multiples pour les questions anti-robot, renforçant l’expérience utilisateur.</li>
    <li><strong>Prévention des avertissements :</strong> Gestion des index vides pour éviter les erreurs ou messages inutiles.</li>
</ul><br />
<br />
<h2>Janvier 2024</h2><ul>
    <li><strong>Compatibilité PHP 8 :</strong> Mise à jour des variables statiques et corrections des avertissements liés aux valeurs <code>null</code>.</li>
    <li><strong>Amélioration des menus mobiles :</strong> Introduction d'un léger délai à l'ouverture des menus sur petits écrans pour une meilleure expérience tactile.</li>
    <li><strong>Amélioration des emails :</strong> Correction du format des retours à la ligne dans les emails pour plus de compatibilité avec différents clients.</li>
    <li><strong>Nettoyage du code :</strong> Suppression de variables inutilisées, réduisant la complexité et les risques d'erreurs.</li>
</ul> ]]></content:encoded>
		<dc:creator>Christian</dc:creator>
		<category>Le blog de yacs</category>
		<pubDate>Tue, 03 Dec 2024 10:15:54 GMT</pubDate>
		<comments>https://yacs.fr/section-427-le-blog-de-yacs#comments</comments>
		<slash:comments>0</slash:comments>
		<wfw:comment>https://yacs.fr/comments/post.php/article/8285</wfw:comment>
		<wfw:commentRss>https://yacs.fr/comments/feed.php/article/8285</wfw:commentRss>
		<trackback:ping>https://yacs.fr/links/trackback.php?anchor=article%3A8285</trackback:ping>
	</item>

 <item>
		<title>Acilya Resto</title>
		<link>https://yacs.fr/article-8284-acilya-resto</link>
		<guid isPermaLink="true">https://yacs.fr/article-8284-acilya-resto</guid>
		<description>  Hôtel restaurant cuisine marocaine à Roussillon en Isère  
  Le site internet de cet hôtel restaurant a évolué dans différentes versions de Yacs depuis février 2010.  la page d'accueil est gérée via l'article &quot;cover&quot; sur lequel est positionné l'overlay &quot;jssor_galery&quot;. Cet overlay est très souvent utilisé car il permet de multiples combinaisons et une grande personnalisation.  Le site internet a été crée par Christian  Christian, via son activité Actupro développe des sites internet avec Yacs depuis 2008  
Acilya resto 
 </description>
		<image><url>https://yacs.fr//images/article/8284/acilya-resto.jpg</url></image>
		<content:encoded><![CDATA[ <div class="introduction"> <p>Hôtel restaurant cuisine marocaine à Roussillon en Isère</p></div>
 <div class="my_actu has-gutter grid-2-small-1"><div class="my_desc"><p>Le site internet de cet hôtel restaurant a évolué dans différentes versions de Yacs depuis février 2010.</p><p>la page d'accueil est gérée via l'article "cover" sur lequel est positionné l'overlay "jssor_galery". Cet overlay est très souvent utilisé car il permet de multiples combinaisons et une grande personnalisation.</p><p>Le site internet a été crée par <a href="https://yacs.fr/user-515-christian" title="Voir le profil de cette personne" class="user">Christian</a></p><p>Christian, via son activité <a href="https://actupro.fr/section-10-creation-site-internet-professionnel" target="_blank">Actupro développe des sites internet</a> avec Yacs depuis 2008<br></p></div>
<div class="my_desc"><figure class="y-inline-image y-large" ><a href="https://acilyaresto.fr/?" onclick="window.open(this.href); return false;" ><img src="https://yacs.fr/images/article/8284/acilya-resto.jpg" alt="acilya resto"  class="reflect rheight10" /></a><figcaption class="y-image-caption" >Acilya resto</figcaption></figure></div>
</div> ]]></content:encoded>
		<dc:creator>Christian</dc:creator>
		<category>Yacs Showroom</category>
		<pubDate>Sun, 07 Jan 2024 10:34:47 GMT</pubDate>
		<comments>https://yacs.fr/section-412-yacs-showroom#comments</comments>
		<slash:comments>0</slash:comments>
		<wfw:comment>https://yacs.fr/comments/post.php/article/8284</wfw:comment>
		<wfw:commentRss>https://yacs.fr/comments/feed.php/article/8284</wfw:commentRss>
		<trackback:ping>https://yacs.fr/links/trackback.php?anchor=article%3A8284</trackback:ping>
	</item>

 <item>
		<title>Améliorations Yacs en 2023</title>
		<link>https://yacs.fr/article-8286-ameliorations-yacs</link>
		<guid isPermaLink="true">https://yacs.fr/article-8286-ameliorations-yacs</guid>
		<description>  Les évolutions et corrections de l'année 2023  
  Décembre 2023  
     Amélioration de la réactivité du menu principal : Le menu principal a été optimisé pour s’adapter aux écrans de différentes tailles. 
     Correction des avertissements liés aux valeurs nulles : Gestion des valeurs nulles pour éviter des messages d’erreurs. 
     Support du layout mosaïque avec masonry : Amélioration de l'affichage des images dans ce type de mise en page. 
     Nettoyage des métadonnées des titres HTML : Les titres de page contiennent désormais un HTML nettoyé. 
     Ajout d'un attribut alt pour les images : Génération automatique d’une balise alt pour les images si le titre est renseigné. 
     Filtrage des noms de fichiers image : Les noms de fichiers image sont désormais mieux contrôlés. 
     Suppression des vues inutilisées : Nettoyage de la base de données pour supprimer les vues non utilisées. 
     Correction de l'affichage des catégories : Les catégories avec des fichiers liés ou attachés sont désormais affichées correctement. 
     Amélioration des icônes FontAwesome : Corrections apportées pour certains appels incorrects des icônes. 
 



 Novembre 2023  
     Correction des avertissements lors de la création d’un utilisateur : Résolution des problèmes liés aux avertissements. 
 



 Octobre 2023  
     Amélioration automatique des choix de couleurs pour les onglets : Ajustement des couleurs pour une meilleure lisibilité et esthétique. 
 



 Juin 2023  
     Suppression du débogage inutile : Nettoyage des fonctions de développement superflues. 
     Mise à niveau de FontAwesome : Passage à la version 5.14 pour bénéficier des nouvelles icônes. 
     Filtrage des caractères des fichiers téléversés : Contrôle renforcé pour éviter les caractères non valides. 
 



 Mai 2023  
     Correction des avertissements PHP 8 : Gestion des erreurs dues aux changements dans la version 8 de PHP. 
     Ajout de l’autocomplétion des mots-clés des fichiers : Meilleure expérience utilisateur lors de la gestion des mots-clés. 
 



 Avril 2023  
     Amélioration de la gestion des mots-clés dans les catégories : Optimisation du suivi des mots-clés et des sous-catégories. 
     Correction des liens des catégories enfants : Résolution des problèmes lors de la modification des catégories associées à des mots-clés. 
 



 Mars 2023  
     Rendu des fichiers audio et vidéo : Possibilité de lire directement des fichiers audio ou vidéo sur la page de vue. 
     Amélioration de l’analyse des métadonnées ID3 : Optimisation lors de la gestion des fichiers en streaming. 
     Correction des avertissements liés aux fichiers audio ou vidéo : Meilleure gestion des erreurs lors de l’ajout de ces fichiers. 
     Ajout d'une catégorisation par mots-clés pour les fichiers : Les fichiers peuvent désormais être classés à l’aide de mots-clés. 
     Choix du système de cache dans le panneau de contrôle : Introduction d’une fonctionnalité permettant de sélectionner un système de mise en cache. 
 



 Janvier 2023  
     Utilisation de types int pour les dimensions d'image : Les dimensions des images sont désormais correctement gérées comme des entiers. 
     Suppression de la bibliothèque zipfile obsolète : Nettoyage du code pour retirer une dépendance inutilisée. 
     Correction des avertissements avec des paramètres nuls : Gestion appropriée des valeurs nulles pour éviter des erreurs. 
 </description>
		<image><url>https://yacs.fr//images/section/427/blog-128.png</url></image>
		<content:encoded><![CDATA[ <div class="introduction"> <p>Les évolutions et corrections de l'année 2023</p></div>
 <h2>Décembre 2023</h2><ul>
    <li><strong>Amélioration de la réactivité du menu principal :</strong> Le menu principal a été optimisé pour s’adapter aux écrans de différentes tailles.</li>
    <li><strong>Correction des avertissements liés aux valeurs nulles :</strong> Gestion des valeurs nulles pour éviter des messages d’erreurs.</li>
    <li><strong>Support du layout mosaïque avec masonry :</strong> Amélioration de l'affichage des images dans ce type de mise en page.</li>
    <li><strong>Nettoyage des métadonnées des titres HTML :</strong> Les titres de page contiennent désormais un HTML nettoyé.</li>
    <li><strong>Ajout d'un attribut alt pour les images :</strong> Génération automatique d’une balise alt pour les images si le titre est renseigné.</li>
    <li><strong>Filtrage des noms de fichiers image :</strong> Les noms de fichiers image sont désormais mieux contrôlés.</li>
    <li><strong>Suppression des vues inutilisées :</strong> Nettoyage de la base de données pour supprimer les vues non utilisées.</li>
    <li><strong>Correction de l'affichage des catégories :</strong> Les catégories avec des fichiers liés ou attachés sont désormais affichées correctement.</li>
    <li><strong>Amélioration des icônes FontAwesome :</strong> Corrections apportées pour certains appels incorrects des icônes.</li>
</ul><br />
<br />
<h2>Novembre 2023</h2><ul>
    <li><strong>Correction des avertissements lors de la création d’un utilisateur :</strong> Résolution des problèmes liés aux avertissements.</li>
</ul><br />
<br />
<h2>Octobre 2023</h2><ul>
    <li><strong>Amélioration automatique des choix de couleurs pour les onglets :</strong> Ajustement des couleurs pour une meilleure lisibilité et esthétique.</li>
</ul><br />
<br />
<h2>Juin 2023</h2><ul>
    <li><strong>Suppression du débogage inutile :</strong> Nettoyage des fonctions de développement superflues.</li>
    <li><strong>Mise à niveau de FontAwesome :</strong> Passage à la version 5.14 pour bénéficier des nouvelles icônes.</li>
    <li><strong>Filtrage des caractères des fichiers téléversés :</strong> Contrôle renforcé pour éviter les caractères non valides.</li>
</ul><br />
<br />
<h2>Mai 2023</h2><ul>
    <li><strong>Correction des avertissements PHP 8 :</strong> Gestion des erreurs dues aux changements dans la version 8 de PHP.</li>
    <li><strong>Ajout de l’autocomplétion des mots-clés des fichiers :</strong> Meilleure expérience utilisateur lors de la gestion des mots-clés.</li>
</ul><br />
<br />
<h2>Avril 2023</h2><ul>
    <li><strong>Amélioration de la gestion des mots-clés dans les catégories :</strong> Optimisation du suivi des mots-clés et des sous-catégories.</li>
    <li><strong>Correction des liens des catégories enfants :</strong> Résolution des problèmes lors de la modification des catégories associées à des mots-clés.</li>
</ul><br />
<br />
<h2>Mars 2023</h2><ul>
    <li><strong>Rendu des fichiers audio et vidéo :</strong> Possibilité de lire directement des fichiers audio ou vidéo sur la page de vue.</li>
    <li><strong>Amélioration de l’analyse des métadonnées ID3 :</strong> Optimisation lors de la gestion des fichiers en streaming.</li>
    <li><strong>Correction des avertissements liés aux fichiers audio ou vidéo :</strong> Meilleure gestion des erreurs lors de l’ajout de ces fichiers.</li>
    <li><strong>Ajout d'une catégorisation par mots-clés pour les fichiers :</strong> Les fichiers peuvent désormais être classés à l’aide de mots-clés.</li>
    <li><strong>Choix du système de cache dans le panneau de contrôle :</strong> Introduction d’une fonctionnalité permettant de sélectionner un système de mise en cache.</li>
</ul><br />
<br />
<h2>Janvier 2023</h2><ul>
    <li><strong>Utilisation de types int pour les dimensions d'image :</strong> Les dimensions des images sont désormais correctement gérées comme des entiers.</li>
    <li><strong>Suppression de la bibliothèque zipfile obsolète :</strong> Nettoyage du code pour retirer une dépendance inutilisée.</li>
    <li><strong>Correction des avertissements avec des paramètres nuls :</strong> Gestion appropriée des valeurs nulles pour éviter des erreurs.</li>
</ul> ]]></content:encoded>
		<dc:creator>Christian</dc:creator>
		<category>Le blog de yacs</category>
		<pubDate>Tue, 03 Dec 2024 10:15:36 GMT</pubDate>
		<comments>https://yacs.fr/section-427-le-blog-de-yacs#comments</comments>
		<slash:comments>0</slash:comments>
		<wfw:comment>https://yacs.fr/comments/post.php/article/8286</wfw:comment>
		<wfw:commentRss>https://yacs.fr/comments/feed.php/article/8286</wfw:commentRss>
		<trackback:ping>https://yacs.fr/links/trackback.php?anchor=article%3A8286</trackback:ping>
	</item>

 <item>
		<title>Yacs prêt pour PHP8</title>
		<link>https://yacs.fr/article-8283-yacs-pret-pour-php8</link>
		<guid isPermaLink="true">https://yacs.fr/article-8283-yacs-pret-pour-php8</guid>
		<description>  De plus en plus d'hébergeurs vont obliger le passage de vos logiciels vers php8. Yacs est prêt.  
  Depuis quelques semaines, Alexis et Christian ont travaillé pour adapter et tester Yacs afin qu'il fonctionne sans alertes avec php8. Cette version de php est beaucoup moins permissive que les précédentes et il a fallu consolider certaines fonctions.  Les dernières retouches ont été délivrées sur Github le 12 janvier 2023.  Il reste encore surement quelques &quot;warning&quot; dans des fonctionnalités très peu exploité mais la revue de code va encore continuer quelques temps.  Vous pouvez également nous soumettre vos remarques via le formulaire de contact  La version de Yacs utilisée pour yacs.fr est celle du 12 janvier 2023 également. Nous sommes toujours en version 7.3 sur ce serveur car tous les sites présents ne sont pas encore migrés 



</description>
		<image><url>https://yacs.fr//images/article/8283/php-8-released.png</url></image>
		<content:encoded><![CDATA[ <div class="introduction"> <p>De plus en plus d'hébergeurs vont obliger le passage de vos logiciels vers php8. Yacs est prêt.</p></div>
 <p>Depuis quelques semaines, Alexis et Christian ont travaillé pour adapter et tester Yacs afin qu'il fonctionne sans alertes avec php8. Cette version de php est beaucoup moins permissive que les précédentes et il a fallu consolider certaines fonctions.</p><p>Les dernières retouches ont été délivrées sur Github le 12 janvier 2023.</p><p>Il reste encore surement quelques "warning" dans des fonctionnalités très peu exploité mais la revue de code va encore continuer quelques temps.</p><p>Vous pouvez également nous soumettre vos remarques via le <a href="https://yacs.fr/query.php" target="_blank">formulaire de contact</a></p><p>La version de Yacs utilisée pour yacs.fr est celle du 12 janvier 2023 également. Nous sommes toujours en version 7.3 sur ce serveur car tous les sites présents ne sont pas encore migrés<br></p><br />
<br />
<figure class="y-inline-image" ><img src="https://yacs.fr/images/article/8283/php-8-released.png" alt="" /></figure> ]]></content:encoded>
		<dc:creator>Christian</dc:creator>
		<category>Le blog de yacs</category>
		<pubDate>Fri, 27 Jan 2023 16:30:52 GMT</pubDate>
		<comments>https://yacs.fr/section-427-le-blog-de-yacs#comments</comments>
		<slash:comments>0</slash:comments>
		<wfw:comment>https://yacs.fr/comments/post.php/article/8283</wfw:comment>
		<wfw:commentRss>https://yacs.fr/comments/feed.php/article/8283</wfw:commentRss>
		<trackback:ping>https://yacs.fr/links/trackback.php?anchor=article%3A8283</trackback:ping>
	</item>

 <item>
		<title>Améliorations Yacs en 2022</title>
		<link>https://yacs.fr/article-8287-ameliorations-yacs</link>
		<guid isPermaLink="true">https://yacs.fr/article-8287-ameliorations-yacs</guid>
		<description>  les corrections et améliorations de Yacs durant l'année 2022  
  Décembre 2022  
     Correction des avertissements PHP 8 : Gestion des avertissements liés aux versions récentes de PHP. 
     Mise à jour de SCSSPHP : Passage de la version 1.5.6 à 1.11 pour de meilleures performances. 
     Gestion des paramètres nuls : Prévention des avertissements lors de l’utilisation de paramètres non définis. 
     Correction des titres non fournis : Résolution des erreurs liées à l’absence de titres dans la fonction  build_box . 
     Amélioration du cache : Désactivation du cache et du suivi des scripts si le serveur est inactif. 
 



 Octobre 2022  
     Simplification des requêtes SQL : Optimisation des requêtes pour une meilleure performance. 
     Correction des avertissements PHP 8 : Gestion des paramètres nuls pour éviter les erreurs. 
 



 Septembre 2022  
     Vérification des indices avant utilisation : Prévention des erreurs liées à des indices de tableau non définis. 
 



 Août 2022  
     Correction des fonctions obsolètes : Suppression des fonctionnalités non supportées par les nouvelles versions de PHP. 
     Amélioration des arguments des fonctions : Déclaration correcte des paramètres pour éviter des erreurs. 
 



 Juillet 2022  
     Prise en charge des images WebP : Ajout de la compatibilité pour le format d’image WebP. 
     Correction des paramètres facultatifs : Meilleure gestion des paramètres optionnels pour éviter les avertissements. 
     Mise à jour de FontAwesome : Remplacement des fonctions obsolètes pour la compatibilité avec PHP 8.1. 
 



 Juin 2022  
     Mise à jour des bibliothèques : Migration de  pathconverter  à 1.1.3 et de  minifier  à 1.3.68. 
     Prune des bibliothèques obsolètes : Suppression des anciennes dépendances inutilisées. 
     Mise à jour de Trumbowyg : Passage à la version 2.25.1 pour une meilleure édition de texte. 
 



 Mai 2022  
     Ajout d’un hook sur la navigation principale : Personnalisation accrue de la barre de navigation. 
     Amélioration des liens YouTube : Transformation automatique des liens en vidéos intégrées. 
 



 Avril 2022  
     Correction des arguments incomplets : Résolution des erreurs liées aux sections aléatoires avec des paramètres manquants. 
 



 Mars 2022  
     Vérification des permissions pour les images : Meilleure gestion des droits d'accès pour les images. 
 



 Février 2022  
     Ajout d’une bibliothèque PHP pour Matomo : Intégration des fonctionnalités de suivi analytique. 
     Introduction d’un hook heartbeat : Ajout d'une fonctionnalité permettant de surveiller les activités. 
 



 Janvier 2022  
     Possibilités accrues pour le menu supérieur : Meilleure personnalisation des entrées du menu. 
     Amélioration de l’interface : Ajout d’un menu principal à deux niveaux avec un panneau déroulant. 
     Contrôle des arguments pour  go.php  : Syntaxe améliorée pour la gestion des arguments. 
     Modifications mineures du HTML : Améliorations subtiles pour un rendu plus propre. 
 </description>
		<image><url>https://yacs.fr//images/section/427/blog-128.png</url></image>
		<content:encoded><![CDATA[ <div class="introduction"> <p>les corrections et améliorations de Yacs durant l'année 2022</p></div>
 <h2>Décembre 2022</h2><ul>
    <li><strong>Correction des avertissements PHP 8 :</strong> Gestion des avertissements liés aux versions récentes de PHP.</li>
    <li><strong>Mise à jour de SCSSPHP :</strong> Passage de la version 1.5.6 à 1.11 pour de meilleures performances.</li>
    <li><strong>Gestion des paramètres nuls :</strong> Prévention des avertissements lors de l’utilisation de paramètres non définis.</li>
    <li><strong>Correction des titres non fournis :</strong> Résolution des erreurs liées à l’absence de titres dans la fonction <code>build_box</code>.</li>
    <li><strong>Amélioration du cache :</strong> Désactivation du cache et du suivi des scripts si le serveur est inactif.</li>
</ul><br />
<br />
<h2>Octobre 2022</h2><ul>
    <li><strong>Simplification des requêtes SQL :</strong> Optimisation des requêtes pour une meilleure performance.</li>
    <li><strong>Correction des avertissements PHP 8 :</strong> Gestion des paramètres nuls pour éviter les erreurs.</li>
</ul><br />
<br />
<h2>Septembre 2022</h2><ul>
    <li><strong>Vérification des indices avant utilisation :</strong> Prévention des erreurs liées à des indices de tableau non définis.</li>
</ul><br />
<br />
<h2>Août 2022</h2><ul>
    <li><strong>Correction des fonctions obsolètes :</strong> Suppression des fonctionnalités non supportées par les nouvelles versions de PHP.</li>
    <li><strong>Amélioration des arguments des fonctions :</strong> Déclaration correcte des paramètres pour éviter des erreurs.</li>
</ul><br />
<br />
<h2>Juillet 2022</h2><ul>
    <li><strong>Prise en charge des images WebP :</strong> Ajout de la compatibilité pour le format d’image WebP.</li>
    <li><strong>Correction des paramètres facultatifs :</strong> Meilleure gestion des paramètres optionnels pour éviter les avertissements.</li>
    <li><strong>Mise à jour de FontAwesome :</strong> Remplacement des fonctions obsolètes pour la compatibilité avec PHP 8.1.</li>
</ul><br />
<br />
<h2>Juin 2022</h2><ul>
    <li><strong>Mise à jour des bibliothèques :</strong> Migration de <code>pathconverter</code> à 1.1.3 et de <code>minifier</code> à 1.3.68.</li>
    <li><strong>Prune des bibliothèques obsolètes :</strong> Suppression des anciennes dépendances inutilisées.</li>
    <li><strong>Mise à jour de Trumbowyg :</strong> Passage à la version 2.25.1 pour une meilleure édition de texte.</li>
</ul><br />
<br />
<h2>Mai 2022</h2><ul>
    <li><strong>Ajout d’un hook sur la navigation principale :</strong> Personnalisation accrue de la barre de navigation.</li>
    <li><strong>Amélioration des liens YouTube :</strong> Transformation automatique des liens en vidéos intégrées.</li>
</ul><br />
<br />
<h2>Avril 2022</h2><ul>
    <li><strong>Correction des arguments incomplets :</strong> Résolution des erreurs liées aux sections aléatoires avec des paramètres manquants.</li>
</ul><br />
<br />
<h2>Mars 2022</h2><ul>
    <li><strong>Vérification des permissions pour les images :</strong> Meilleure gestion des droits d'accès pour les images.</li>
</ul><br />
<br />
<h2>Février 2022</h2><ul>
    <li><strong>Ajout d’une bibliothèque PHP pour Matomo :</strong> Intégration des fonctionnalités de suivi analytique.</li>
    <li><strong>Introduction d’un hook heartbeat :</strong> Ajout d'une fonctionnalité permettant de surveiller les activités.</li>
</ul><br />
<br />
<h2>Janvier 2022</h2><ul>
    <li><strong>Possibilités accrues pour le menu supérieur :</strong> Meilleure personnalisation des entrées du menu.</li>
    <li><strong>Amélioration de l’interface :</strong> Ajout d’un menu principal à deux niveaux avec un panneau déroulant.</li>
    <li><strong>Contrôle des arguments pour <code>go.php</code> :</strong> Syntaxe améliorée pour la gestion des arguments.</li>
    <li><strong>Modifications mineures du HTML :</strong> Améliorations subtiles pour un rendu plus propre.</li>
</ul> ]]></content:encoded>
		<dc:creator>Christian</dc:creator>
		<category>Le blog de yacs</category>
		<pubDate>Tue, 03 Dec 2024 10:14:47 GMT</pubDate>
		<comments>https://yacs.fr/section-427-le-blog-de-yacs#comments</comments>
		<slash:comments>0</slash:comments>
		<wfw:comment>https://yacs.fr/comments/post.php/article/8287</wfw:comment>
		<wfw:commentRss>https://yacs.fr/comments/feed.php/article/8287</wfw:commentRss>
		<trackback:ping>https://yacs.fr/links/trackback.php?anchor=article%3A8287</trackback:ping>
	</item>

 <item>
		<title>Yacs s'adapte au RGPD</title>
		<link>https://yacs.fr/article-8193-yacs-s-adapte-au-rgpd</link>
		<guid isPermaLink="true">https://yacs.fr/article-8193-yacs-s-adapte-au-rgpd</guid>
		<description>  Suite à la mise en place du Règlement européen concernant la sécurité des données personnelles, nous allons bientôt vous proposer une nouvelle version de Yacs  
  Si vous allez consulter le dépôt Github de Yacs vous constaterez que Yacs évolue tous les mois. Afin de vous proposer une version stable, Alexis, le développeur principal de Yacs, va intégrer les procédures obligatoires pour être compatible avec le RGPD. Il s'agit principalement : 
 
 d'un recueil de consentement sur le formulaire de contact 
 d'un recueil de consentement sur le formulaire d'inscription 
 d'une possibilité de réglage d'acceptation des cookies (intégration du script tarteaucitron : https://opt-out.ferank.eu/fr/) 
 d'un formulaire de demande d'extraction des données personnelles 
 d'un formulaire pour exprimer son droit à l'oubli (dans la limite des autres lois à respecter car si vous êtes client ou prospect on effacera pas forcement toutes vos données !) 
 
 Toutes es fonctionnalités seront paramétrable au maximum dans la mesure du possible. 
 Système de mise à jour  le système de mise à jour par &quot;archive&quot; va être progressivement abandonné après la publication de la version &quot;RGPD&quot;. La mise à jour se fera sous forme de &quot;patch&quot;. Le patch étant très proche d'une archive dans son utilisation sur le CMS. 
 Aide à la migration  Les évolutions de Yacs étant importantes ces derniers mois, Alexis et Christian vont vous proposer une aide à la migration. Selon les cas il s'agira d'une prestation ou d'une aide bénévole sur notre temps libre. N'hésitez pas d'ores et déjà à nous solliciter afin de prévoir au maximum le travail a effectuer. 
Yacs est toujours vivant. Tous les mois de nouveaux sites sont mises en ligne. 
 Si des infographistes veulent nous rejoindre nous les guideront avec plaisir. De même les experts SEO peuvent nous donner leur avis sur Yacs. 
 Dépot github : https://github.com/yacs/yacs </description>
		<image><url>https://yacs.fr//images/section/427/blog-128.png</url></image>
		<content:encoded><![CDATA[ <div class="introduction"> <p>Suite à la mise en place du Règlement européen concernant la sécurité des données personnelles, nous allons bientôt vous proposer une nouvelle version de Yacs</p></div>
 <p>Si vous allez consulter le d&eacute;p&ocirc;t Github de Yacs vous constaterez que Yacs &eacute;volue tous les mois. Afin de vous proposer une version stable, Alexis, le d&eacute;veloppeur principal de Yacs, va int&eacute;grer les proc&eacute;dures obligatoires pour &ecirc;tre compatible avec le RGPD. Il s'agit principalement :</p>
<ul>
<li>d'un recueil de consentement sur le formulaire de contact</li>
<li>d'un recueil de consentement sur le formulaire d'inscription</li>
<li>d'une possibilit&eacute; de r&eacute;glage d'acceptation des cookies (int&eacute;gration du script tarteaucitron : <a href="https://opt-out.ferank.eu/fr/" title="Lire dans une autre fenêtre" class="external"  onclick="window.open(this.href); return false;">https://opt-out.ferank.eu/fr/</a>)</li>
<li>d'un formulaire de demande d'extraction des donn&eacute;es personnelles</li>
<li>d'un formulaire pour exprimer son droit &agrave; l'oubli (dans la limite des autres lois &agrave; respecter car si vous &ecirc;tes client ou prospect on effacera pas forcement toutes vos donn&eacute;es !)</li>
</ul>
<p>Toutes es fonctionnalit&eacute;s seront param&eacute;trable au maximum dans la mesure du possible.</p>
<h2>Syst&egrave;me de mise &agrave; jour</h2><p>le syst&egrave;me de mise &agrave; jour par "archive" va &ecirc;tre progressivement abandonn&eacute; apr&egrave;s la publication de la version "RGPD". La mise &agrave; jour se fera sous forme de "patch". Le patch &eacute;tant tr&egrave;s proche d'une archive dans son utilisation sur le CMS.</p>
<h2>Aide &agrave; la migration</h2><p>Les &eacute;volutions de Yacs &eacute;tant importantes ces derniers mois, Alexis et Christian vont vous proposer une aide &agrave; la migration. Selon les cas il s'agira d'une prestation ou d'une aide b&eacute;n&eacute;vole sur notre temps libre. N'h&eacute;sitez pas d'ores et d&eacute;j&agrave; &agrave; nous solliciter afin de pr&eacute;voir au maximum le travail a effectuer.</p>
<p style="text-align: center;"><strong>Yacs est toujours vivant. Tous les mois de nouveaux sites sont mises en ligne.</strong></p>
<p>Si des <strong>infographistes</strong> veulent nous rejoindre nous les guideront avec plaisir. De m&ecirc;me les experts <strong>SEO</strong> peuvent nous donner leur avis sur Yacs.</p>
<p>D&eacute;pot github : <a href="https://github.com/yacs/yacs" title="Lire dans une autre fenêtre" class="external"  onclick="window.open(this.href); return false;">https://github.com/yacs/yacs</a></p> ]]></content:encoded>
		<dc:creator>Christian</dc:creator>
		<category>Le blog de yacs</category>
		<pubDate>Wed, 20 Jun 2018 07:46:54 GMT</pubDate>
		<comments>https://yacs.fr/section-427-le-blog-de-yacs#comments</comments>
		<slash:comments>0</slash:comments>
		<wfw:comment>https://yacs.fr/comments/post.php/article/8193</wfw:comment>
		<wfw:commentRss>https://yacs.fr/comments/feed.php/article/8193</wfw:commentRss>
		<trackback:ping>https://yacs.fr/links/trackback.php?anchor=article%3A8193</trackback:ping>
	</item>

 <item>
		<title>Attention à la migration d'Apache</title>
		<link>https://yacs.fr/article-8190-attention-a-la-migration-d-apache</link>
		<guid isPermaLink="true">https://yacs.fr/article-8190-attention-a-la-migration-d-apache</guid>
		<description>  si vous êtes concerné par un migration d'apache de 2.2 à 2.4, vous devrez intervenir sur le fichier .htaccess de votre yacs  
  En tout cas c'est fort probable. OVH a en tout cas entrepris cette évolution. Si votre site internet tombe en erreur 500 il vous faudra alors modifier votre fichier .htaccess soit via ftp soit en ligne de commande ssh. 
 Il vous faut enlever toute la partie concernant le module DEFLATE soit environ 30 lignes 
 La version de Yacs est en cours de mise à jour afin de tenir compte de cette nouvelle version d'Apache 
 plus d'informations : http://travaux.ovh.net/?do=details&amp;amp;id=25601 </description>
		<image><url>https://yacs.fr//images/section/427/blog-128.png</url></image>
		<content:encoded><![CDATA[ <div class="introduction"> <p>si vous êtes concerné par un migration d'apache de 2.2 à 2.4, vous devrez intervenir sur le fichier .htaccess de votre yacs</p></div>
 <p>En tout cas c'est fort probable. OVH a en tout cas entrepris cette &eacute;volution. Si votre site internet tombe en erreur 500 il vous faudra alors modifier votre fichier .htaccess soit via ftp soit en ligne de commande ssh.</p>
<p>Il vous faut enlever toute la partie concernant le module DEFLATE soit environ 30 lignes</p>
<p>La version de Yacs est en cours de mise &agrave; jour afin de tenir compte de cette nouvelle version d'Apache</p>
<p>plus d'informations :&nbsp;http://travaux.ovh.net/?do=details&amp;id=25601</p> ]]></content:encoded>
		<dc:creator>Christian</dc:creator>
		<category>Le blog de yacs</category>
		<pubDate>Tue, 24 Oct 2017 16:21:39 GMT</pubDate>
		<comments>https://yacs.fr/section-427-le-blog-de-yacs#comments</comments>
		<slash:comments>0</slash:comments>
		<wfw:comment>https://yacs.fr/comments/post.php/article/8190</wfw:comment>
		<wfw:commentRss>https://yacs.fr/comments/feed.php/article/8190</wfw:commentRss>
		<trackback:ping>https://yacs.fr/links/trackback.php?anchor=article%3A8190</trackback:ping>
	</item>

 <item>
		<title>Yacserie d'été</title>
		<link>https://yacs.fr/article-8179-yacserie-d-ete</link>
		<guid isPermaLink="true">https://yacs.fr/article-8179-yacserie-d-ete</guid>
		<description>  du 28 au 30 août, les deux principaux développeurs se sont réunis dans le Pays Viennois afin de préparer une archive &quot;Release Candidat&quot; avec des corrections et des nouveautés.  
  A cette occasion le site yacs.fr va aussi subir quelques corrections et réorganisation. Non yacs n'est pas mort et on espère, avec cette nouvelle version, avoir de nouveaux contributeurs 
 Merci de votre patience  
 Attention : les inscriptions sont temporairement fermées  </description>
		<image><url>https://yacs.fr//images/section/427/blog-128.png</url></image>
		<content:encoded><![CDATA[ <div class="introduction"> <p>du 28 au 30 août, les deux principaux développeurs se sont réunis dans le Pays Viennois afin de préparer une archive "Release Candidat" avec des corrections et des nouveautés.</p></div>
 <p>A cette occasion le site yacs.fr va aussi subir quelques corrections et r&eacute;organisation. Non yacs n'est pas mort et on esp&egrave;re, avec cette nouvelle version, avoir de nouveaux contributeurs</p>
<p>Merci de votre patience&nbsp;</p>
<p>Attention : les inscriptions sont temporairement ferm&eacute;es&nbsp;</p> ]]></content:encoded>
		<dc:creator>Christian</dc:creator>
		<category>Le blog de yacs</category>
		<pubDate>Tue, 05 Sep 2017 06:56:40 GMT</pubDate>
		<comments>https://yacs.fr/section-427-le-blog-de-yacs#comments</comments>
		<slash:comments>0</slash:comments>
		<wfw:comment>https://yacs.fr/comments/post.php/article/8179</wfw:comment>
		<wfw:commentRss>https://yacs.fr/comments/feed.php/article/8179</wfw:commentRss>
		<trackback:ping>https://yacs.fr/links/trackback.php?anchor=article%3A8179</trackback:ping>
	</item>

 <item>
		<title>droits d'accès</title>
		<link>https://yacs.fr/article-8188-droits-d-acces</link>
		<guid isPermaLink="true">https://yacs.fr/article-8188-droits-d-acces</guid>
		<description>  La gestion des droits d'accès - Avec Yacs, la gestion des droits utilisateurs, c'est le principe du pouvoir nomade. </description>
		<image><url>https://yacs.fr/fa:fa-universal-access,3x</url></image>
		<content:encoded><![CDATA[  <p>La gestion des droits d'acc&egrave;s - Avec Yacs, la gestion des droits utilisateurs, c'est le principe du pouvoir nomade.</p> ]]></content:encoded>
		<dc:creator>Christian</dc:creator>
		<category>Gadget Boxes</category>
		<pubDate>Tue, 05 Sep 2017 07:17:22 GMT</pubDate>
		<comments>https://yacs.fr/section-29-gadget-boxes#comments</comments>
		<slash:comments>0</slash:comments>
		<wfw:comment>https://yacs.fr/comments/post.php/article/8188</wfw:comment>
		<wfw:commentRss>https://yacs.fr/comments/feed.php/article/8188</wfw:commentRss>
		<trackback:ping>https://yacs.fr/links/trackback.php?anchor=article%3A8188</trackback:ping>
	</item>

 <item>
		<title>Et bien plus…</title>
		<link>https://yacs.fr/article-8187-et-bien-plus</link>
		<guid isPermaLink="true">https://yacs.fr/article-8187-et-bien-plus</guid>
		<description>  -Grille Knacss embarquée
-Un modèle de données robuste
-Font awesome
-jssor
etc ... </description>
		<image><url>https://yacs.fr/fa:fa-caret-square-o-down,3x</url></image>
		<content:encoded><![CDATA[  <p>-Grille Knacss embarqu&eacute;e<br />-Un mod&egrave;le de donn&eacute;es robuste<br />-Font awesome<br />-jssor<br />etc ...</p> ]]></content:encoded>
		<dc:creator>Christian</dc:creator>
		<category>Gadget Boxes</category>
		<pubDate>Tue, 05 Sep 2017 07:22:07 GMT</pubDate>
		<comments>https://yacs.fr/section-29-gadget-boxes#comments</comments>
		<slash:comments>0</slash:comments>
		<wfw:comment>https://yacs.fr/comments/post.php/article/8187</wfw:comment>
		<wfw:commentRss>https://yacs.fr/comments/feed.php/article/8187</wfw:commentRss>
		<trackback:ping>https://yacs.fr/links/trackback.php?anchor=article%3A8187</trackback:ping>
	</item>

 <item>
		<title>Un site en libre-service</title>
		<link>https://yacs.fr/article-8186-un-site-en-libre-service</link>
		<guid isPermaLink="true">https://yacs.fr/article-8186-un-site-en-libre-service</guid>
		<description>  Yacs permet l'auto-enregistrement des internautes par eux-mêmes depuis déjà longtemps. Et on a soigné particulièrement les fiches des utilisateurs et leurs possibilités d'interactions. </description>
		<image><url>https://yacs.fr/fa:fa-users,3x</url></image>
		<content:encoded><![CDATA[  <p>Yacs permet l'auto-enregistrement des internautes par eux-m&ecirc;mes depuis d&eacute;j&agrave; longtemps. Et on a soign&eacute; particuli&egrave;rement les fiches des utilisateurs et leurs possibilit&eacute;s d'interactions.</p> ]]></content:encoded>
		<dc:creator>Christian</dc:creator>
		<category>Gadget Boxes</category>
		<pubDate>Tue, 05 Sep 2017 14:49:09 GMT</pubDate>
		<comments>https://yacs.fr/section-29-gadget-boxes#comments</comments>
		<slash:comments>0</slash:comments>
		<wfw:comment>https://yacs.fr/comments/post.php/article/8186</wfw:comment>
		<wfw:commentRss>https://yacs.fr/comments/feed.php/article/8186</wfw:commentRss>
		<trackback:ping>https://yacs.fr/links/trackback.php?anchor=article%3A8186</trackback:ping>
	</item>

 <item>
		<title>Composer sa page d'accueil</title>
		<link>https://yacs.fr/article-8185-composer-sa-page-d-accueil</link>
		<guid isPermaLink="true">https://yacs.fr/article-8185-composer-sa-page-d-accueil</guid>
		<description>  La construction de pages d'accueil très diverses est l'un des points forts de YACS </description>
		<image><url>https://yacs.fr/fa:desktop,3x</url></image>
		<content:encoded><![CDATA[  <p>La construction de pages d'accueil tr&egrave;s diverses est l'un des points forts de YACS</p> ]]></content:encoded>
		<dc:creator>Christian</dc:creator>
		<category>Gadget Boxes</category>
		<pubDate>Tue, 05 Sep 2017 07:17:41 GMT</pubDate>
		<comments>https://yacs.fr/section-29-gadget-boxes#comments</comments>
		<slash:comments>0</slash:comments>
		<wfw:comment>https://yacs.fr/comments/post.php/article/8185</wfw:comment>
		<wfw:commentRss>https://yacs.fr/comments/feed.php/article/8185</wfw:commentRss>
		<trackback:ping>https://yacs.fr/links/trackback.php?anchor=article%3A8185</trackback:ping>
	</item>

 <item>
		<title>Un seul paquetage</title>
		<link>https://yacs.fr/article-8184-un-seul-paquetage</link>
		<guid isPermaLink="true">https://yacs.fr/article-8184-un-seul-paquetage</guid>
		<description>  L'intégration des fonctions dans yacs, c'est par exemple la possibilité de compléter un site de publication par un blog, un wiki, un forum de bonne facture, une zone de tchat à la demande, le tout sans changer de logiciel, ni d'ajout de module particulier. </description>
		<image><url>https://yacs.fr/fa:fa-suitcase,3x</url></image>
		<content:encoded><![CDATA[  <p>L'int&eacute;gration des fonctions dans yacs, c'est par exemple la possibilit&eacute; de compl&eacute;ter un site de publication par un blog, un wiki, un forum de bonne facture, une zone de tchat &agrave; la demande, le tout sans changer de logiciel, ni d'ajout de module particulier.</p> ]]></content:encoded>
		<dc:creator>Christian</dc:creator>
		<category>Gadget Boxes</category>
		<pubDate>Tue, 05 Sep 2017 07:17:00 GMT</pubDate>
		<comments>https://yacs.fr/section-29-gadget-boxes#comments</comments>
		<slash:comments>0</slash:comments>
		<wfw:comment>https://yacs.fr/comments/post.php/article/8184</wfw:comment>
		<wfw:commentRss>https://yacs.fr/comments/feed.php/article/8184</wfw:commentRss>
		<trackback:ping>https://yacs.fr/links/trackback.php?anchor=article%3A8184</trackback:ping>
	</item>

 <item>
		<title>Un modèle simple</title>
		<link>https://yacs.fr/article-8183-un-modele-simple</link>
		<guid isPermaLink="true">https://yacs.fr/article-8183-un-modele-simple</guid>
		<description>  Visualiser pour modifier : YACS ne sépare pas les opérations d'administration de la consultation du site. </description>
		<image><url>https://yacs.fr/fa:power-off,3x</url></image>
		<content:encoded><![CDATA[  <p>Visualiser pour modifier : YACS ne s&eacute;pare pas les op&eacute;rations d'administration de la consultation du site.</p> ]]></content:encoded>
		<dc:creator>Christian</dc:creator>
		<category>Gadget Boxes</category>
		<pubDate>Tue, 05 Sep 2017 07:39:59 GMT</pubDate>
		<comments>https://yacs.fr/section-29-gadget-boxes#comments</comments>
		<slash:comments>0</slash:comments>
		<wfw:comment>https://yacs.fr/comments/post.php/article/8183</wfw:comment>
		<wfw:commentRss>https://yacs.fr/comments/feed.php/article/8183</wfw:commentRss>
		<trackback:ping>https://yacs.fr/links/trackback.php?anchor=article%3A8183</trackback:ping>
	</item>

 <item>
		<title>Yacs, un CMS + framework léger !</title>
		<link>https://yacs.fr/article-8182-yacs-un-cms-framework-leger</link>
		<guid isPermaLink="true">https://yacs.fr/article-8182-yacs-un-cms-framework-leger</guid>
		<description>  Yacs est un outil de déploiement de serveurs Web de différentes natures. Ce CMS offre une palette d'outils (blog, wiki, chat, etc.) qui peuvent être aisément combinés pour répondre précisément aux besoins, et ceci de façon spécifique et évolutive. 
 Il s'agit d'un outil libre (LGPL), respectueux des standards, et basé sur PHP et MySQL. Facile à utiliser, Yacs se démarque par une grande modularité, une puissance, un code simple et structuré. 
 Utilisé par des professionnels comme framework pour leurs développements spécifiques, Yacs permet aussi aux webmasters amateurs ou utilisateurs finaux d'administrer leur site web avec autonomie. 
Yacs est distribué librement sur Github sous licence LGPL, toutes contributions sont bienvenues. </description>
		<content:encoded><![CDATA[  <p>Yacs est un outil de déploiement de serveurs Web de différentes natures. Ce CMS offre une palette d'outils (blog, wiki, chat, etc.) qui peuvent être aisément combinés pour répondre précisément aux besoins, et ceci de façon spécifique et évolutive.</p>
<p>Il s'agit d'un outil libre (LGPL), respectueux des standards, et basé sur PHP et MySQL. Facile à utiliser, Yacs se démarque par une grande modularité, une puissance, un code simple et structuré.</p>
<p>Utilisé par des professionnels comme framework pour leurs développements spécifiques, Yacs permet aussi aux webmasters amateurs ou utilisateurs finaux d'administrer leur site web avec autonomie.</p>
<p class="fab fa-github-alt mtm"><strong>Yacs est distribué librement <a href="https://github.com/yacs/yacs/">sur Github</a> sous <a href="http://www.gnu.org/licenses/lgpl.html">licence LGPL</a>, toutes contributions sont bienvenues.</strong></p> ]]></content:encoded>
		<dc:creator>Christian</dc:creator>
		<category>Couvertures</category>
		<pubDate>Thu, 02 Jan 2025 17:13:24 GMT</pubDate>
		<comments>https://yacs.fr/section-413-couvertures#comments</comments>
		<slash:comments>0</slash:comments>
		<wfw:comment>https://yacs.fr/comments/post.php/article/8182</wfw:comment>
		<wfw:commentRss>https://yacs.fr/comments/feed.php/article/8182</wfw:commentRss>
		<trackback:ping>https://yacs.fr/links/trackback.php?anchor=article%3A8182</trackback:ping>
	</item>

</channel>
</rss>