[RESOLU] Importer des articles d'une autre plate-forme

SelvSelv Member
21 janv. modifié dans Entraide

Bonjour, j'ai un fichier d'export du contenu de mon ancien blog au format xml. Est-il possible d'importer ce contenu sur mon PluXml et si oui, comment ? Merci !

Réponses

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Bonjour,

    Cela dépend du C.M.S. ou gestionnaire de contenu ( WordPress ? ) de ton ancien blog.

    En général, il faut écrire une "moulinette" ou petit script spécifique en PHP, Python, ... pour faire l'intégration dans PluXml. Comme d'autres C.M.S..

    Sans connaître la structure de ton fichier XML, difficile de t'en dire plus.

  • SelvSelv Member

    J'étais sur Eklablog. Je ne sais pas quel était leur CMS... Au pire, je republierai sur PluXml les articles que je veux garder, puis supprimerai l'ancien blog. J'aurais juste voulu faire un essai en réimportant tout pour voir quelle option était la meilleure.

  • Bonjour,
    Il ne devrait pas être difficile de passer d'un format XML à un autre tant que l'on peut extraire les données de bases dont pluxml à besoin pour recréer des fichiers articles valides en les rattachant à l'administrateur.

    Un peu plus compliqué serait de recréer les catégorie et la mise à jour du fichier tag.

    Certaine de ses donnée sont stockées dans le nom de fichier et les autres dans la structure XML .
    https://pluxopolis.net/comprendre-le-nom-des-fichiers-xml-des-articles.html

    <?xml version="1.0" encoding="UTF-8"?>
    <document>
        <title><![CDATA[]]></title>
        <allow_com></allow_com>
        <template><![CDATA[article.php]]></template>
        <chapo><![CDATA[]]></chapo>
        <content><![CDATA[]]></content>
        <tags><![CDATA[]]></tags>
        <meta_description><![CDATA[]]></meta_description>
        <meta_keywords><![CDATA[]]></meta_keywords>
        <title_htmltag><![CDATA[]]></title_htmltag>
        <date_creation><![CDATA[]]></date_creation>
        <date_update><![CDATA[]]></date_update>
        <thumbnail><![CDATA[]]></thumbnail>
        <thumbnail_alt><![CDATA[]]></thumbnail_alt>
        <thumbnail_title><![CDATA[]]></thumbnail_title>
    </document>
    

    Certains champs manquant , comme template peut-être rempli avec une valeur par défaut.

    Quelle structure ont tes ou ton XML ?


    Cordialement,
    gcyrillus , simple membre du forum et utilisateur de pluxml

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • SelvSelv Member

    Merci, gcyrillus.
    Il n'y avait pas énormément de catégories, une vingtaine peut-être, dont certaines sont devenues obsolètes. Je pourrais les recréer et reclasser les articles manuellement. Je n'utilisais pas non plus de tags. Mais il y a plus de 900 articles sur le blog (il date de 2015). Ce sera un boulot énorme de les trier et recopier un par un, même si j'enlève les obsolètes. C'est peut-être plus simple de repartir de zéro.

    J'ai l'impression que la structure de mon fichier est différente de ton exemple, voilà ses 20 premières lignes. On dirait que les articles sont sauvegardés un par un, je ne vois pas de structure globale comme dans le tien :

    <?xml version="1.0"?>
    La LutiniereBlog du site www.sylvieptitsa.com

    La Lutiniere
    2013-05-05T10:12:24+02:002024-12-16T05:07:34+01:00Pas besoin de grand-chose2024/12/pas-besoin-de-grand-chose.html2OB2024-12-14T21:13:19+01:002024-12-15T20:11:00+01:002024-12-15T20:13:36+01:00Sylvie Ptitsa<![CDATA[

    <

    div class="ob-sections">

     


  • 18 janv. modifié

    Je pensais à un script pour ce faire et rendre la chose le plus aisé possible,
    D'un coté le script extrait chaque infos ou champs depuis ton fichier XML d'un article puis recréer de l'autre un nouveau fichier avec un nom et une architecture valide.

    Pour créer ce script, il est nécessaire de connaitre la structure XML de ton fichier afin d'en extraire les infos nécessaire.
    En théorie, il suffirait alors d'utiliser les fonctions de PluXml pour recréer ces articles a l'aide de cURL() je pense.

    Pour partager du code et le préserver sur le forum, il faut baliser comme suit avec en debut et seul sur une ligne : ``` avant et aprés la portion de code .

        ```
        le code ici sur plusieurs lignes ou pas 
        ex: <?php ?> 
        ou <xml>xml</xml>
        etc...
        ```
    


    Cordialement,
    gcyrillus , simple membre du forum et utilisateur de pluxml

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    @Selv ,
    En gros la structure de ta sauvegarde ressemble à cela :

    <?xml version="1.0"?>
    <root>
        <blog>
            <name>La Lutiniere</name>
            <description>Blog du site www.sylvieptitsa.com</description>
            <main_host>La Lutiniere</main_host>
            <tags></tags>
            <created_at>2013-05-05T10:12:24+02:00</created_at>
            <modified_at>2024-12-16T05:07:34+01:00</modified_at>
            <timezone></timezone>
        </blog>
        <posts>
            <post>
                <title>Pas besoin de grand-chose</title>
                <slug>2024/12/pas-besoin-de-grand-chose.html</slug>
                <tags></tags>
                <status>2</status>
                <origin>OB</origin>
                <created_at>2024-12-14T21:13:19+01:00</created_at>
                <published_at>2024-12-15T20:11:00+01:00</published_at>
                <modified_at>2024-12-15T20:13:36+01:00</modified_at>
                <author>*Sylvie Ptitsa*</author><content><![CDATA[
      <div class="ob-sections">
      <div class="ob-section ob-section-html ">
        <p style="text-align: center;">&nbsp;</p>
        <p style="text-align: center;"><iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="515" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/9eoqYb9fh8w?si=azKlHEOgQ6V4vLh7" title="YouTube video player" width="808"><br />
        </iframe></p>
       </div>
    

    Pas vraiment de difficulté pour récupérer tes articles et les injecter directement dans PluXml.

    Mais il faudrait nous donner un extrait un peu long et contenant la balise <post>.
    Autre question, tu peux gérer le status de tes articles (brouillon, publié, hors-ligne, ...) Plusieurs valeurs semblent possible 0,1,2,...
    Par exemple l'article ci-dessus a le status 2. Sais-tu s'il s'agit d'un article publié au brouillon, ... ?
    Es-tu la seule autrice sur ce site ?
    Y a -t-il des catégories d'articles ou seulement des tags ( étiquettes ) ?
    Tu parles de catégories. Je ne le vois pas sur ton extrait de sauvegarde. Il nous faut au moins un article avec une catégorie pour voir comment est stockée l'information.

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    J'ai créé un petit blog sur Eklablog "à l'arrache" pour voir la structure de la sauvegarde.
    Pas très compliqué à récupérer le contenu des articles, commentaires, auteurs,categories, tags
    Le souci viendra des images qui vont pointer vers Eklablog. Cela prendre un peu de temps pour adapter cela et garder les images sur PluXml

  • SelvSelv Member

    Bonjour, merci pour vos réponses !

    Je suis la seule autrice du site. Les articles ont comme statuts possibles : corbeille,brouillon, publié, épinglé, publié sous mot de passe (c'est pour cette raison que je cherchais comment installer LockArticles sur mon PluXml, pour garder cette rubrique confidentielle)
    Il existe aussi "soumis" que je n'utilisais pas, puisque seule autrice, et "programmé" où je n'ai pas d'article actuellement.
    Les articles sont classés par catégories. Pas de tags.
    Pour les images, oui , ce sera du travail. Mais finalement moins que de tout refaire de A à Z.
    De plus, mon blog EK avait un fond noir et je n'ai pas réussi à changer cela sur PluXml : pour le moment, le fond de page par défaut est blanc. Donc toutes les couleurs de police de l'ancien blog seraient à changer aussi pour être lisibles... d'où ma question sur l'import :
    -ou bien je commence un nouveau blog et renvoie vers l'ancien pour tous les articles 2015-2024
    -ou bien j'importe et reconfigure les articles EK sur PluXml pour tout avoir au même endroit. Mais dans ce cas, est-ce que je ne risque pas d'alourdir et ralentir mon PluXml en y important tous les documents du blog EK ?

    Pour finir, je dois trouver un nouvel hébergeur. J'ai contacté Stéphane (Petit Peyo) pour Plxmyhost, il m'a dit ok, mais je n'ai plus de nouvelles de lui depuis lundi dernier.

    Qu'est-ce qui est plus pertinent selon vous : finir le site et le mettre en ligne une fois fini, ou le mettre en ligne et travailler dessus directement depuis l'adresse de l'hébergeur ?

    Voilà, je nage un peu la brasse au milieu de toutes ces questions, mais plus je m'approprie PluXml, plus je le trouve extrêmement bien fait et plus j'ai envie de rester ici. Bon dimanche !

  • SelvSelv Member
    19 janv. modifié

    Voici un extrait plus long de la sauvegarde. Les articles concernés sont classés dans des rubriques. Est-ce que cela vous aide ?
    J'ai bien essayé de mettre le code entre "..." au début et à la fin comme me l'a expliqué Cyrillus, mais j'ai l'impression que ce n'est pas correct ainsi :-/

    <?xml version="1.0"?>
    <root><blog><name>La Lutiniere</name><description>Blog du site www.sylvieptitsa.com</description><main_host>La Lutiniere</main_host><tags></tags><created_at>2013-05-05T10:12:24+02:00</created_at><modified_at>2024-12-16T05:07:34+01:00</modified_at><timezone></timezone></blog><posts><post><title>Pas besoin de grand-chose</title><slug>2024/12/pas-besoin-de-grand-chose.html</slug><tags></tags><status>2</status><origin>OB</origin><created_at>2024-12-14T21:13:19+01:00</created_at><published_at>2024-12-15T20:11:00+01:00</published_at><modified_at>2024-12-15T20:13:36+01:00</modified_at><author>*Sylvie Ptitsa*</author><content><![CDATA[
    
    
      <div class="ob-sections">
    ...
    
    
    
      <div
        class="ob-section ob-section-html "
          >
    
    <p style="text-align: center;">&nbsp;</p>
    
    <p style="text-align: center;"><iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="515" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/9eoqYb9fh8w?si=azKlHEOgQ6V4vLh7" title="YouTube video player" width="808"><br />
    </iframe></p>
        </div>
    
    
    
    
      </div>
      ]]></content><comments></comments></post><post><title>Le petit coin de coeur (Aline de P&#xE9;tigny)</title><slug>2024/12/le-petit-coin-de-coeur-aline-de-petigny.html</slug><tags></tags><status>2</status><origin>OB</origin><created_at>2024-12-14T13:43:29+01:00</created_at><published_at>2024-12-14T13:44:00+01:00</published_at><modified_at>2024-12-14T13:49:54+01:00</modified_at><author>*Sylvie Ptitsa*</author><content><![CDATA[
    
    
      <div class="ob-sections">
    
    
    
      <div
        class="ob-section ob-section-html "
          >
    
    <figure class="image-align-center" style="margin:10px 0px 10px 0px"><img alt="" data-amp-height="658" data-amp-width="888" height="658" src="https://image.eklablog.com/HKP9mZJA_B4upCuJNN1oC5hzmLQ=/filters:no_upscale()/image%2F0651865%2F20241214%2Fob_728034_img-20230630-200039-2.jpg" width="888" /></figure>
    
    <p style="margin-left: 40px; text-align: center;"><span style="color:#008080;"><span style="font-size:12px;"><span style="font-family:Arial,Helvetica,sans-serif;">(c) Sylvie Ptitsa, tous droits r&eacute;serv&eacute;s - Extrait d&#39;une illustration pour mon prochain album pour enfants : &quot;Seize millions d&#39;&eacute;toiles&quot;</span></span></span></p>
    
    <p style="margin-left: 40px; text-align: justify;">&nbsp;</p>
    
    <p style="margin-left: 40px; text-align: justify;"><span style="font-family: georgia, palatino; color: #ff9900; font-size: 12pt;">L&#39;infolettre des <a href="https://www.pourpenser.fr/" target="_blank">Editions Pour Penser</a> m&#39;a offert une nouvelle p&eacute;pite. Comment r&eacute;sister &agrave; l&#39;envie de partager avec vous cette histoire n&eacute;e sous la plume d&#39;Aline de P&eacute;tigny, encore plus en cette p&eacute;riode l&#39;Avent o&ugrave; nous devrions tous, selon moi, nous activer &agrave; nous ouvrir le coeur plut&ocirc;t qu&#39;&agrave; courir les magasins comme des hyst&eacute;riques ? Mais je ne vais pas jeter des pierres &agrave; mon tour, et, si j&#39;en ramasse, ce sera seulement pour cr&eacute;er de jolies choses, comme avec mes perles. Yannis, Aline, je vous laisse la parole...</span></p>
    
    <p style="margin-left: 40px; text-align: justify;">&nbsp;</p>
    
    <p style="margin-left: 40px; text-align: justify;">&nbsp;</p>
    
    <div style="border: 0px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-weight: 400; font-stretch: inherit; font-size: 15px; line-height: inherit; font-family: &quot;Segoe UI&quot;, &quot;Segoe UI Web (West European)&quot;, -apple-system, BlinkMacSystemFont, Roboto, &quot;Helvetica Neue&quot;, sans-serif; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; margin: 0px auto; padding: 0px; vertical-align: baseline; color: rgb(36, 36, 36); letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; background: rgb(255, 255, 255); max-width: 600px;">
    <table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="font: inherit; border-collapse: collapse; background: rgb(255, 255, 255); width: 600px;">
        <tbody>
            <tr>
                <td style="white-space: normal !important; border-collapse: collapse; direction: ltr; font-size: 0px; padding: 0px; text-align: center;">
                <div class="x_mj-column-per-100 x_mj-outlook-group-fix" style="border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 0px; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; margin: 0px; padding: 0px; vertical-align: top; color: inherit; width: 600px; max-width: 100%; text-align: left; direction: ltr; display: inline-block;">
                <table border="0" cellpadding="0" cellspacing="0" role="presentation" style="font: inherit; border-collapse: collapse; vertical-align: top;" width="100%">
                    <tbody>
                        <tr>
                            <td align="left" style="white-space: normal !important; border-collapse: collapse; font-size: 0px; padding: 0px 25px; word-break: break-word;">
                            <div style="border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 13px; line-height: 1; font-family: Arial, sans-serif, serif, EmojiFont; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(0, 0, 0); letter-spacing: normal; text-align: left;">
                            <h3 class="x_text-build-content" style="margin-top: 10px; margin-bottom: 10px; font-weight: normal;"><span style="border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 18px; line-height: 24px; font-family: Roboto, Helvetica, Arial, sans-serif, serif, EmojiFont; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(85, 87, 93);"><b data-olk-copy-source="MessageBody">Le petit coin de c&oelig;ur.</b></span></h3>
                            </div>
                            </td>
                        </tr>
                        <tr>
                            <td align="left" style="white-space: normal !important; border-collapse: collapse; font-size: 0px; padding: 0px 25px; word-break: break-word;">
                            <div style="border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 13px; line-height: 1; font-family: Arial, sans-serif, serif, EmojiFont; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(0, 0, 0); letter-spacing: normal; text-align: left;">
                            <h3 class="x_text-build-content" style="margin-top: 10px; margin-bottom: 10px; font-weight: normal;"><span style="border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 12px; line-height: 24px; font-family: Roboto, Helvetica, Arial, sans-serif, serif, EmojiFont; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(85, 87, 93);"><b>A John et Anne</b></span></h3>
                            </div>
                            </td>
                        </tr>
                    </tbody>
                </table>
                </div>
                </td>
            </tr>
        </tbody>
    </table>
    </div>
    
    <div style="border: 0px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-weight: 400; font-stretch: inherit; font-size: 15px; line-height: inherit; font-family: &quot;Segoe UI&quot;, &quot;Segoe UI Web (West European)&quot;, -apple-system, BlinkMacSystemFont, Roboto, &quot;Helvetica Neue&quot;, sans-serif; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; margin: 0px auto; padding: 0px; vertical-align: baseline; color: rgb(36, 36, 36); letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; background: rgb(255, 255, 255); max-width: 600px;">
    <table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="font: inherit; border-collapse: collapse; background: rgb(255, 255, 255); width: 600px;">
        <tbody>
            <tr>
                <td style="white-space: normal !important; border-collapse: collapse; direction: ltr; font-size: 0px; padding: 0px; text-align: center;">
                <div class="x_mj-column-per-100 x_mj-outlook-group-fix" style="border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 0px; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; margin: 0px; padding: 0px; vertical-align: top; color: inherit; width: 600px; max-width: 100%; text-align: left; direction: ltr; display: inline-block;">
                <table border="0" cellpadding="0" cellspacing="0" role="presentation" style="font: inherit; border-collapse: collapse; vertical-align: top;" width="100%">
                    <tbody>
                        <tr>
                            <td align="left" style="white-space: normal !important; border-collapse: collapse; font-size: 0px; padding: 0px 25px; word-break: break-word;">
                            <div style="border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 13px; line-height: 1; font-family: Arial, sans-serif, serif, EmojiFont; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(0, 0, 0); letter-spacing: normal; text-align: left;">
                            <p class="x_text-build-content" style="display: block; margin: 10px 0px; line-height: 20px;"><span style="border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 14px; line-height: inherit; font-family: Roboto, Helvetica, Arial, sans-serif, serif, EmojiFont; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(73, 90, 101);">Il &eacute;tait une fois un petit gar&ccedil;on qui aimait la Paix, comme tous les enfants.</span><br />
                            <span style="border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 14px; line-height: inherit; font-family: Roboto, Helvetica, Arial, sans-serif, serif, EmojiFont; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(73, 90, 101);">Il aimait les pieds dans la rivi&egrave;re, regarder les arbres jouer avec le vent et le soleil.</span><br />
                            <span style="border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 14px; line-height: inherit; font-family: Roboto, Helvetica, Arial, sans-serif, serif, EmojiFont; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(73, 90, 101);">Il aimait les mains dans la terre, planter, semer et regarder s&#39;&eacute;panouir la nature.</span></p>
    
                            <p class="x_text-build-content" style="display: block; margin: 10px 0px; line-height: 20px;">&nbsp;</p>
    
                            <p class="x_text-build-content" style="display: block; margin: 10px 0px; line-height: 20px;"><span style="border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 14px; line-height: inherit; font-family: Roboto, Helvetica, Arial, sans-serif, serif, EmojiFont; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(73, 90, 101);">Son papa lui disait souvent :</span></p>
    
                            <p class="x_text-build-content" style="display: block; margin: 10px 0px; line-height: 20px;"><span style="border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 14px; line-height: inherit; font-family: Roboto, Helvetica, Arial, sans-serif, serif, EmojiFont; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(73, 90, 101);">- Tu es un homme mon fils ! Et un homme c&#39;est fort ! &Ccedil;a n&#39;a peur de rien !</span></p>
    
                            <p class="x_text-build-content" style="display: block; margin: 10px 0px; line-height: 20px;"><span style="border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 14px; line-height: inherit; font-family: Roboto, Helvetica, Arial, sans-serif, serif, EmojiFont; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(73, 90, 101);">Yannis &eacute;coutait, convaincu que son p&egrave;re, puisqu&#39;il &eacute;tait son p&egrave;re, avait raison.</span></p>
    
                            <p class="x_text-build-content" style="display: block; margin: 10px 0px; line-height: 20px;"><span style="border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 14px; line-height: inherit; font-family: Roboto, Helvetica, Arial, sans-serif, serif, EmojiFont; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(73, 90, 101);">Il l&#39;aimait son p&egrave;re et le tenait en haute estime et se r&eacute;p&eacute;tait :</span></p>
    
                            <p class="x_text-build-content" style="display: block; margin: 10px 0px; line-height: 20px;"><span style="border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 14px; line-height: inherit; font-family: Roboto, Helvetica, Arial, sans-serif, serif, EmojiFont; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(73, 90, 101);">- Je suis un homme et un homme est fort et n&#39;a peur de rien !</span></p>
    
                            <p class="x_text-build-content" style="display: block; margin: 10px 0px; line-height: 20px;"><span style="border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 14px; line-height: inherit; font-family: Roboto, Helvetica, Arial, sans-serif, serif, EmojiFont; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(73, 90, 101);">Tout en se disant cela, Yannis savait bien que ce n&#39;&eacute;tait pas vrai.</span></p>
    
  • Bonjour @Selv
    l'avantage avec PluXml, c'est que tu peux préparer ta migration en local sur ton ordinateur, et ensuite publier tout d'un coup quand ce sera bon pour toi. :)

    Tu peux aussi créer un site de test temporaire, sans importation des anciennes données, juste pour travailler sur le futur thème si tu as besoin d'aide en attendant de tout finaliser au niveau migration. Il suffira ensuite de récupérer le dossier du thème du site de test et l'importer dans le site à migrer.

    Concernant le fond noir à retrouver, est-ce que l’URL de l'ancien site et du nouveau sont identiques ? Ou bien est-ce que tu as aussi migré cela ? L’URL de ton exemple (https://www.sylvieptitsa.com/) renvoie sur un site créé avec WIX et non PluXml et dont le fond est blanc et les polices parfaitement lisibles. Et les liens de ce site renvoient vers une autre URL non fonctionnelle : https://www.lalutiniere.com/.

  • SelvSelv Member
    19 janv. modifié

    Bonsoir, vous êtes vraiment formidables tous !

    Alors pour expliquer : j'ai ouvert mon 1er blog sur Overblog en 2008 ou 2009. En 2015, OB a complètement changé ses conditions d'utilisation et , comme beaucoup d'autres, elles ne m'ont pas plu alors j'ai migré sur une autre plate forme. J'ai choisi Eklablog qui répondait en tout à ce que je cherchais et où l'ambiance était très conviviale. A l'époque, je n'avais que 300 articles à migrer et EK nous accompagnait dans la migration, ça s'est fait sans douleur.

    Malheureusement, en décembre 2024, OB a racheté EK et recommencé à nous imposer des conditions de m... La migration est une catastrophe, en quelques heures, je ne sais combien de sites ont été complètement démolis. Le mien était encore accessible (https://www.lalutiniere.com/), mais les commentaires ne fonctionnent plus, l'affichage est décentré, les catégories n'existent plus, et depuis l'admin c'est la galère pour retrouver un article, la seule option est l'ordre chronologique ou la recherche par mot clé. Alors pour retrouver un article d'il y a dix ans...

    J'ai attendu de voir si ça s'arrangeait, mais mes craintes de 2015 se sont confirmées : de plus en plus d'options payantes, pas ou peu d'aide pour réparer les dégâts, et par des gens qui n'ont aucune notion de code. J'ai compris que je devais partir de là, tant pis s'il faut tout refaire. Depuis la migration (5 décembre), mon site n'a pas évolué, ils n'ont même pas réussi à récupérer le nom de domaine . Ils me disent qu'il est chez OVH alors que j'ai toujours acheté le domaine à EK, je n'ai rien sur OVH. Voilà pour le tableau. Ce site "perdu" était celui sur fond noir.

    L'unique désavantage d'EK était d'être un peu ancien et, pendant longtemps, pas responsive. J'avais donc créé en parallèle l'autre site Wix, le blanc, un peu comme un portfolio avec les infos principales, ou pour les gens pressés qui n'avaient pas le temps de fouiller dans les archives. Ce site est en effet fonctionnel... à part les liens qui renvoient vers le site OB, ex EK, le noir, maintenant HS.

    J'ai cherché une alternative, essayé plusieurs plate-formes. J'étais prête à renoncer à bloguer quand je suis tombée sur un article de Petit Peyo présentant PluXml. Là j'ai eu le tilt. Je manque de compétences pour tout configurer, mais vous êtes là. Je me sens bien ici. Voilà l'historique. J'ai envie de rester sur PluXml, et si ça peut aider au passage à faire connaître la plate-forme, tant mieux.

    Je vais donc continuer à travailler en local et quand je serai arrivée à ce que je souhaite, je me pencherai sur l'hébergement. Je réfléchis concernant l'importation des anciens articles. Merci pour vos réponses !
    Personne ne m'a répondu au sujet du poids et de la fluidité : si j'importe tout, images comprises, est ce que mon PluXml ne va pas se traîner?

  • SelvSelv Member

    PS : le site EK est accessible ici, ils ont remis un domaine EK en attendant de récupérer le mien.
    https://lalutiniere.eklablog.com

  • 20 janv. modifié

    Bonjour,

    Je vais donc continuer à travailler en local et quand je serai arrivée à ce que je souhaite, je me pencherai sur l'hébergement.

    C'est la meilleur façon de faire, travaillé sur une copie locale

    Je réfléchis concernant l'importation des anciens articles. Merci pour vos réponses

    Pour 900 articles, le plus simple est d'automatiser cette partie

    Personne ne m'a répondu au sujet du poids et de la fluidité : si j'importe tout, images comprises, est ce que mon PluXml ne va pas se traîner?

    Non, il faudra simplement avoir la place pour stocker ces images sur ton nouvel hébergement.

    Par exemple pour recuperer une image distante à partir d'une page statique :

    <?php
    function downloadRessource($externalLink) {
        $file = basename($externalLink) ;
        if (!file_exists( PLX_ROOT."data/medias/".$file)) {
            //création du fichier en local 
            $fh = fopen( PLX_ROOT."data/medias/".$file , "w");
            $ch = curl_init();      
            curl_setopt($ch, CURLOPT_URL, $externalLink);
            // remplissage du fichier. !! todo : tester taille et contenu puis validé
            curl_setopt($ch, CURLOPT_FILE, $fh);
            curl_exec($ch);
            curl_close($ch); 
            }
        }
    

    Pour l'image de la page 4 :

    downloadRessource('https://ekladata.com/qiFLTatHvBcbWktAok9QiJgEuR0.jpg');
    

    En faisant le test en local, on a confirmation qu'il n'y a rien qui entrave la copie automatisé des images hébergées sur ekladata.

    en appelant cette fonction depuis un script de migration , les fichiers externes (il faut trier les extensions ou nom de domaine pour ne pas rapatrier tout et n'importe quoi) peuvent être rapatrié aussi de façon automatique et le lien récupérer depuis la sauvegarde de l'article remis à jour.

    Ta volonté de migrer vers un autre hébergeur et autre CMS est tout à fait compréhensible et tu n'est surement pas la seule à te poser cette question, écrire et mettre au point un script pour une telle migration sera probablement utile à d'autres.

    Faire et tester cette migration en locale ne présente pas de risque. Certaines choses demanderont peut-être d’adapter ou ajouter quelques JavaScript pour garder fonctionnel les options d'affichage d'un album par exemple.
    Beaucoup de chose sont similaire à PluXml et reproductibles (c'est du blog) :

    • page article
    • page statique
    • moteur de recherche (à l'aide d'un plugin ou depuis une page statique)
    • système de commentaires avec réponse à un commentaire
    • ...

    Les infos nécessaires sont apparemment toutes disponibles dans la sauvegarde, il faut seulement les lire et les stocker à nouveaux en les rangeant différemment.
    J'ai fait, il y a quelques années maintenant, un plugin qui recupere les données d'un pluxml pour en faire un ebook, le principe est le même, on lit des données d'un coté et on les restructure d'un autre dans de nouveaux fichiers.
    C'est donc possible et la réalisation d'un tel script prendra moins de temps que de reprendre les 845 articles et leur images à la main ;) Il sera de plus réutilisable par d'autres.
    Pour le passage des contenus de PluXml en ebook, j'avais commencer à partir d'un script à partir d'une page statique pour finalement en faire un plugin, là c'est pareil, un script dans une page statiques pour déposer les médias et articles régénérés dans les bons répertoires est tout à fait envisageable ;)

    Ceci dit, maintenant je vais allez bossé.
    Bonne journée


    Cordialement,
    gcyrillus , simple membre du forum et utilisateur de pluxml

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • 20 janv. modifié

    La base du script en elle même n'est pas compliqué en utilisant simplexml , par exemple pour extraire et affiché quelques infos et contenus des articles,
    ce script dans une page statique fait le travail en mettant le fichier export.xml à la racine de pluxml.

    $xml = simplexml_load_file(PLX_ROOT."export.xml");
    foreach($xml->posts->post as $article) {
        $statut ="draft";
        if($article->status > 1) $statut ="published";
        echo '<br><b>titre:</b> '.$article->title.
        '<br>Statut: '.$statut.
        '<br><b>URL </b>'.plxUtils::urlify($article->title).
        '<br><b>Categorie:</b> '.$article->tags.' <sup>(ici on verifiera si la categorie existe pour récuperer son numéro, sinon on la crée)</sup>'.
        '<br><b>date creation</b> '.date('Y-m-d', strtotime($article->created_at)).'<sup>( ici on reformatera la date aussi pour le nom de fichier)</sup>'.
        '<br><b>date publication</b> '.date('Y-m-d', strtotime($article->published_at)).
        '<br><b>date modification</b> '.date('Y-m-d', strtotime($article->modified_at)).
        '<br><b>Auteur:</b> '.$article->author.' <sup>Si vide ce sera le numero 000 de l\'admin </sup>'.
        '<br><b>Contenu de l\'article <br><sup>il faudra le casse en deux si trop long pour alimenter le chapo et content ,<br>
        et telecharger les images en réactualisant les liens , voir mettre la premiere image trouvée comme image d\'accroche.</sup></b><br>'.
        $article->content.
        '<br><b>Et maintenant extraire les commentaires si il y en a en respectant leur position/level  (avec un foreach au besion)</b>'.
        '<br> <span style="color:crimson">Ce passage fini sur l\'article va maintenant permettre de reconstruire <br>
        1. le nom de du fichier de l\'article en lui attribuant un numero valide, un numero de categorie, un numero d\'utilisateur et une date, </br>
        2. recuperer les images<br>
        3. de remplir chaque champ XML du fichier<br>
        4. reinjecter les commentaires.</span>'.
        '<hr>';
    }
    

    Ensuite on refait la même chose avec $xml->pages->page si il y en a en zappant la partie commentaire.
    il affiche seulement, ne modifie ni ne créer rien du tout. attention,** 845 articles à afficher** , ça peut être long et faire une page très très longue ;)


    Cordialement,
    gcyrillus , simple membre du forum et utilisateur de pluxml

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • SelvSelv Member

    Bonsoir,
    après 48h au lit avec la grippe, étrangement, j'y vois plus clair !
    Mon nom de domaine a enfin été récupéré et j'ai créé une page pour les catégories encore valides, ça m'a permis de voir qu'il y a un gros travail de tri à faire avant de migrer le blog.
    Le site EK est redevenu fonctionnel à 80% (reste le problème des commentaires, je vais voir avec eux) et le site Wix à 100%, il n'y a donc plus d'urgence à déménager : je peux prendre mon temps pour expérimenter PluXml et tester les 2 options, migrer le site EK une fois "allégé" (GCyrillus s'est gentiment proposé pour m'aider) ou en démarrer un nouveau.
    Merci encore pour votre patience, votre bienveillance et vos conseils.

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Bonsoir,

    Pour comprendre et faire quelques tests, j'ai créé un site basique chez EK :

    J'ai commencé l'ébauche d'un plugin pour importer la sauvegarde d'un blog chez EK dans PluXml :
    Télécharger le plugin kzEklablog

    Crée un site neuf, installe le plugin et sur le menu de gauche côté administration clique sur l'option Eklablog pour importer tes articles.

    Mais il y a encore du taf :

    • Ne gère pas les articles modérés
    • Ne gère pas les auteurs
    • Ne gère pas l'image de couverture
    • Ne gère pas la catégorie principale
    • Images téléchargées depuis EK
    • url reconstruite depuis le title
    • contenu de l'article pollué par EK à nettoyer
    • commentaires non gérés

    Je dois continuer à jouer chez EK pour comprendre leur gestion de blog

    Attends toi à faire plusieurs essais. Teste et regarde ce qui se passe
    PluXml doit gérer les 900 articles sans broncher.

    J'espère qu'on va pouvoir débaucher des floppées de blogueurs chez EK.

    La suite au prochain numéro ...

  • SelvSelv Member
    21 janv. modifié

    Bonsoir Bazooka07,

    haha, avec plaisir pour vous aider au rapatriement des EK dépités ici ! :)
    J'ai suivi ta manip, pu installer le plugin sans problème, mais au moment de l'import j'ai ce message : "Not Found.The requested URL was not found on this server. Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12 Server at localhost Port 80"
    Le fichier de sauvegarde que me fournit EK est export.xml
    C'est bien celui-là que tu veux que j'importe ?

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Bonsoir,

    Le format du fichier à importer n'est pas reconnu.
    Normalement l'erreur aurait du se produire avec l'archive zip. Je suis étonné que cela se produire avec export.xml
    Le problème survient avec certains navigateurs. Tu utilises quoi ? Edge, Chrome, Firefox, ....
    Quelles sont les tailles des fichiers export.xml et de son archive zip ?

    Il y a une mise à jour du plugin pour en savoir plus.
    En cas d'erreur, il y a un message d'erreur bref qui s'affiche en haut de la page. Reporte moi le message affiché. Recommence si tu n'as pas eu le temps de le lire.

    Télécharger la dernière version du plugin kzEklablog

    Voila le lien de la sauvegarde de mon site de test chez EK :
    https://transfert.free.fr/d1aSVOT

  • SelvSelv Member

    Je suis sous Firefox pour PluXml (j'ai aussi Chrome et Edge sur l'ordinateur, mais pour les blogs je suis en général sous Firefox).
    Le fichier zip de sauvegarde fait 1.91 Mo.
    Le fichier export.xml 11.4 Mo.
    Avant de télécharger la dernière version du plugin, je dois supprimer l'ancienne ? Où ? Depuis mon admin ou directement dans xampp ?
    Je réessayerai et te dirai. Pour ce soir je vais me coucher, grosse journée demain. Bonne nuit !

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Tu peux supprimer l'ancienne version du plugin à partir de PluXml

Connectez-vous ou Inscrivez-vous pour répondre.