<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://dotclear.watch/feed/rss2/xslt" ?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>DotclearWatch / Blog - Mot-clé - update</title>
    <link>https://dotclear.watch/</link>
    <atom:link href="https://dotclear.watch/feed/tag/update/rss2" rel="self" type="application/rss+xml" />
    <description>Suivez l'évolution du moteur de blogs Dotclear.</description>
    <language>fr</language>
    <pubDate>Thu, 30 Apr 2026 05:42:22 +0200</pubDate>
    <copyright>Tous droits réservés © Jean-Christian Denis</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>Dotclear</generator>
          <item>
        <title>Mise à jour bloquée</title>
        <link>https://dotclear.watch/Billet/Mise-%C3%A0-jour-bloqu%C3%A9e</link>
        <guid isPermaLink="false">urn:md5:f9b82e9b784eccf25b4bdd6c1bb62191</guid>
        <pubDate>Sun, 27 Oct 2024 09:22:00 +0100</pubDate>
        <dc:creator>Jean-Christian Denis</dc:creator>
                  <category>Articles</category>
                          <category>digests</category>
                  <category>update</category>
                <description>&lt;p&gt;Il se peut que la mise à jour de Dotclear ne puisse aboutir si des fichiers de votre installation ont été modifiés. Ce n'est pas forcément grave, un outil est là pour palier à ce problème.&lt;/p&gt; &lt;a href=&quot;https://dotclear.watch/public/Articles/sshot-update-digests.png&quot; title=&quot;Ouvrir le média&quot;&gt;&lt;figure class=&quot;media-center&quot;&gt;&lt;img src=&quot;https://dotclear.watch/public/Articles/.sshot-update-digests_m.png&quot; alt=&quot;Mise à jour forcée&quot;&gt;&lt;figcaption&gt;Mise à jour bloquée par le digests&lt;/figcaption&gt;&lt;/figure&gt;&lt;/a&gt;&lt;p&gt;La mise à jour de Dotclear compare les fichiers de son installation pour vérifier qu'ils n'ont pas été modifiés. Si c'est le cas la mise à jour est alors impossible. Cela est normal, vous pouvez avoir volontairement modifié des choses sur votre installation et cela évite d'écraser ces modifications. Mais cela peut également être dû à votre hébergeur qui ferait des blagues ou encore un fausse manipulation de votre part.&lt;br&gt;
Lors de la mise à jour, Dotclear vous prévient que certains fichiers ont été modifiés et empêche la mise à jour, le nouveau &lt;strong&gt;Tableau de bords de mise à jour&lt;/strong&gt; contient un outil permettant de passer outre cette restriction, il suffit de se rendre dans l'onglet &lt;strong&gt;Digests&lt;/strong&gt; et de suivre les instructions, une liste des fichiers potentiellement modifiés est présente permettant de vérifier ce qui va être écrasé. On peut alors ensuite forcer Dotclear à ignorer ces modifications et faire la mise à jour. A noter que tous ces fichiers seront écrasés.&lt;br&gt;
&lt;br&gt;
Voici une petite animation pour voir le processus dans son entier:&lt;br&gt;&lt;/p&gt;&lt;a href=&quot;https://dotclear.watch/public/Articles/dotclear-update-digests.gif&quot; title=&quot;Ouvrir le média&quot;&gt;&lt;figure class=&quot;media-center&quot;&gt;&lt;img src=&quot;https://dotclear.watch/public/Articles/.dotclear-update-digests_m.jpg&quot; alt=&quot;Forcer la mise à jour&quot;&gt;&lt;figcaption&gt;Forcer la mise à jour&lt;/figcaption&gt;&lt;/figure&gt;&lt;/a&gt;</description>
        
                  <comments>https://dotclear.watch/Billet/Mise-%C3%A0-jour-bloqu%C3%A9e#comment-form</comments>
          <wfw:comment>https://dotclear.watch/Billet/Mise-%C3%A0-jour-bloqu%C3%A9e#comment-form</wfw:comment>
          <wfw:commentRss>https://dotclear.watch/feed/atom/comments/54</wfw:commentRss>
              </item>
          <item>
        <title>Gestion de mises à jour</title>
        <link>https://dotclear.watch/Billet/Gestion-de-mises-%C3%A0-jour</link>
        <guid isPermaLink="false">urn:md5:a670c013197ed2809ebe4f1651145568</guid>
        <pubDate>Sun, 11 Feb 2024 10:10:00 +0100</pubDate>
        <dc:creator>Jean-Christian Denis</dc:creator>
                  <category>2.29</category>
                          <category>2.29</category>
                  <category>dashboard</category>
                  <category>update</category>
                <description>&lt;p&gt;La &lt;a href=&quot;https://dotclear.watch/Billet/Release-2.29&quot;&gt;version 2.29&lt;/a&gt; de Dotclear embarque un nouveau tableau de bord exclusivement dédié à la gestion des mises à jour.&lt;/p&gt; &lt;p&gt;Tout ce qui est lié aux mises à jour de Dotclear (et des plugins) est désormais disponible dans un tableau de bord à part où il est possible de vider les différents caches de Dotclear, de choisir des mises à jour intermédiaires (si disponibles), de rejouer des mises à jour, de gérer les sauvegardes, de passer outre les fichiers altérés, de mettre à jour des plugins. Ce tableau de bord fonctionne exclusivement comme le mode sans échec des versions précédentes, c'est à dire qu'il ne charge aucun plugin.&lt;br&gt;&lt;/p&gt;&lt;a href=&quot;https://dotclear.watch/public/2.29/dc_2.29_update_b.png&quot; title=&quot;Ouvrir le média&quot;&gt;&lt;figure class=&quot;media-center&quot;&gt;&lt;img src=&quot;https://dotclear.watch/public/2.29/.dc_2.29_update_b_m.png&quot; alt=&quot;Tableau de bord&quot;&gt;&lt;figcaption&gt;Tableau de bord de mises à jour, févr. 2024&lt;/figcaption&gt;&lt;/figure&gt;&lt;/a&gt;&lt;p&gt;&lt;br&gt;
Ce tableau de bord est disponible en suivant le lien depuis le menu &quot;Mise à jour&quot; du tableau de bord normal. Vous serez également redirigé vers ce tableau de bord si une mise à jour est disponible.&lt;br&gt;&lt;/p&gt;&lt;a href=&quot;https://dotclear.watch/public/2.29/dc_2.29_update_a.png&quot; title=&quot;Ouvrir le média&quot;&gt;&lt;figure class=&quot;media-center&quot;&gt;&lt;img src=&quot;https://dotclear.watch/public/2.29/.dc_2.29_update_a_m.png&quot; alt=&quot;Page de lien&quot;&gt;&lt;figcaption&gt;Liens vers le tableau de bord de mises à jour, févr. 2024&lt;/figcaption&gt;&lt;/figure&gt;&lt;/a&gt;&lt;p&gt;&lt;br&gt;
Une fois la mise à jour effectuée vous êtes déconnecté de l'interface d'administration comme auparavant à ceci près que vous atterrissez sur la page de login du tableau de bord de mises à jour. Un lien en bas de cette page permet de revenir au tableau de bord normal.&lt;br&gt;&lt;/p&gt;&lt;a href=&quot;https://dotclear.watch/public/2.29/dc_2.29_update_c.png&quot; title=&quot;Ouvrir le média&quot;&gt;&lt;figure class=&quot;media-center&quot;&gt;&lt;img src=&quot;https://dotclear.watch/public/2.29/.dc_2.29_update_c_m.png&quot; alt=&quot;Page connexion&quot;&gt;&lt;figcaption&gt;Connexion au tableau de bord de mises à jour, févr. 2024&lt;/figcaption&gt;&lt;/figure&gt;&lt;/a&gt;&lt;p&gt;&lt;br&gt;
Un lien en haut du tableau de bord de mises à jour permet également de revenir au tableau de bord normal.&lt;br&gt;
&lt;br&gt;
&lt;em&gt;&lt;q&gt;Le contenu de ce document a été écrit suivant le code de la version 2.29 de Dotclear.&lt;/q&gt;&lt;/em&gt;&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>Fichier Install d'un module</title>
        <link>https://dotclear.watch/Billet/Fichier-Install-d-un-module</link>
        <guid isPermaLink="false">urn:md5:374cf218364b206c7b7fe9a6bba42317</guid>
        <pubDate>Sun, 16 Jul 2023 20:51:00 +0100</pubDate>
        <dc:creator>Jean-Christian Denis</dc:creator>
                  <category>2.27</category>
                          <category>2.27</category>
                  <category>admin</category>
                  <category>install</category>
                  <category>module</category>
                  <category>plugin</category>
                  <category>structure</category>
                  <category>theme</category>
                  <category>update</category>
                <description>&lt;p&gt;Le fichier &lt;strong&gt;Install.php&lt;/strong&gt;, placé dans &lt;a href=&quot;https://dotclear.watch/Billet/Structure-d-un-module&quot;&gt;le dossier src&lt;/a&gt; du module, permet d'effectuer ses opérations d'installation et de mise à jour.&lt;/p&gt; &lt;p&gt;Le fichier &lt;strong&gt;Install.php&lt;/strong&gt; fait partie du processus reconnu par le gestionnaire de modules, il est donc automatiquement pris en compte coté admin si il existe.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Il est placé dans le sous dossier &lt;code&gt;src&lt;/code&gt; du module,&lt;/li&gt;
&lt;li&gt;Il contient une classe du nom de &lt;code&gt;Install&lt;/code&gt;,&lt;/li&gt;
&lt;li&gt;Il est dans l'espace de nom PHP &lt;code&gt;Dotclear\Plugin\monPlugin&lt;/code&gt; ou &lt;code&gt;Dotclear\Theme\monTheme&lt;/code&gt;,&lt;/li&gt;
&lt;li&gt;La classe doit étendre &lt;a href=&quot;https://dotclear.watch/Billet/La-class-Process&quot;&gt;la classe Process&lt;/a&gt;,&lt;/li&gt;
&lt;li&gt;Seules les méthodes &lt;code&gt;init()&lt;/code&gt; et &lt;code&gt;process()&lt;/code&gt; sont utilisées,&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ce fichier est chargé en préambule de la page d'accueil de l'admin, de la page de gestion de l'apparence du blog, et de la page de gestion des plugins. Généralement il permet d'enregistrer des paramètres, de créer des tables, etc.&lt;br /&gt;
La méthode &lt;code&gt;init()&lt;/code&gt; de la classe &lt;strong&gt;doit&lt;/strong&gt; vérifier que la version installée n'existe pas ou qu'elle est à mettre à jour, elle doit renvoyer &lt;code&gt;false&lt;/code&gt; si il n'y a pas besoin d'effectuer ces opérations d'installation / mise à jour. Pour aider, &lt;a href=&quot;https://dotclear.watch/Billet/Les-classes-de-module-My&quot;&gt;la classe My&lt;/a&gt; embarque un contexte qui permet cela &lt;code&gt;My::checkContext(My::INSTALL)&lt;/code&gt;.&lt;br /&gt;
&lt;br /&gt;
Exemple du plugin blogroll de la distribution qui ajoute une table à la base de données :&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-php&quot;&gt;&amp;lt;?php
declare(strict_types=1);

namespace Dotclear\Plugin\blogroll;

use dcCore;
use Dotclear\Core\Process;
use Dotclear\Database\Structure;
use initBlogroll;

class Install extends Process
{
    public static function init(): bool
    {
        return self::status(My::checkContext(My::INSTALL));
    }

    public static function process(): bool
    {
        if (!self::status()) {
            return false;
        }

        $schema = new Structure(dcCore::app()-&amp;gt;con, dcCore::app()-&amp;gt;prefix);

        $schema-&amp;gt;{initBlogroll::LINK_TABLE_NAME}
            -&amp;gt;link_id(&amp;#039;bigint&amp;#039;, 0, false)
            -&amp;gt;blog_id(&amp;#039;varchar&amp;#039;, 32, false)
            -&amp;gt;link_href(&amp;#039;varchar&amp;#039;, 255, false)
            -&amp;gt;link_title(&amp;#039;varchar&amp;#039;, 255, false)
            -&amp;gt;link_desc(&amp;#039;varchar&amp;#039;, 255, true)
            -&amp;gt;link_lang(&amp;#039;varchar&amp;#039;, 5, true)
            -&amp;gt;link_xfn(&amp;#039;varchar&amp;#039;, 255, true)
            -&amp;gt;link_position(&amp;#039;integer&amp;#039;, 0, false, 0)

            -&amp;gt;primary(&amp;#039;pk_link&amp;#039;, &amp;#039;link_id&amp;#039;)
            -&amp;gt;index(&amp;#039;idx_link_blog_id&amp;#039;, &amp;#039;btree&amp;#039;, &amp;#039;blog_id&amp;#039;)
            -&amp;gt;reference(&amp;#039;fk_link_blog&amp;#039;, &amp;#039;blog_id&amp;#039;, &amp;#039;blog&amp;#039;, &amp;#039;blog_id&amp;#039;, &amp;#039;cascade&amp;#039;, &amp;#039;cascade&amp;#039;)
        ;

        (new Structure(dcCore::app()-&amp;gt;con, dcCore::app()-&amp;gt;prefix))-&amp;gt;synchronize($schema);

        return true;
    }
}&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;br /&gt;
&lt;em&gt;&lt;q&gt;Le contenu de ce document a été écrit suivant le code de la version 2.27 de Dotclear.&lt;/q&gt;&lt;/em&gt;&lt;/p&gt;</description>
        
              </item>
      </channel>
</rss>
