Navigation

    aide prestashop

    PrestaHelp

    • S'inscrire
    • Se connecter
    • Recherche
    • Catégories
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Recherche
    1. Accueil
    2. herve_02
    3. Messages
    • Profil
    • Abonnements
    • Abonnés
    • Sujets
    • Messages
    • Meilleur sujets
    • Groupes

    Messages postés par herve_02

    • la classe search

      Bon
      je n'ai peut être pas les yeux en face des trous... et parfois il y a des subtilités que je ne comprends pas (le truc des images, je ne suis pas d'accord sur le break, mais je relirais après 2 jours de calme).
      donc de ce que j'ai compris la classe search

      find(....) {
      blablabla

      1. ajout éola recherche sur les refs on cherche si le/les termes de recherches donnent qqchose sur les références
        ==> donne une liste de produits
        1b) ajouté par moi on fait la même chose recherche nom des fournisseurs si rien sur les refs
        ==> donne une liste de produit

      SI LISTE DE PRODUITS

      • SI AJAX -> une requête => return
      • sinon une autre requête => return
        (ce qui n'est pas idiot, on devrait pouvoir avec des résultats différents entre la recherche auto-complétive et le résultat sur la page)

      SI PAS LISTE DE PRODUITS (suite ref - et fournisseurs)
      travail sur les termes avec poids de recherche blablabla

      • SI AJAX -> une requête
        et une autre requête
        et une intersections que je ne comprends pas
        => donne liste de produits

      SI LISTE DE PRODUITS
      ---> Product::getProductsProperties(...) => return

      Pourquoi on ne peut pas faire un truc un peu plus simple du style

      1. recherche ref -> pool_result
      2. si pas 1 recherche fournisseurs -> pool_result
      3. si pas 2 recherche termes -> pool result
      4. recherche (pool_result) ==> return produits

      Ok, ce fonctionnement semble impliquer que si le chercheur veut trouver dans les termes qqchose qui est une référence, il n'aura que des références et pas le produits. ex j'ai une référence "rose" s'il cherche l livre "la rose" (qui n'a pas rose comme référence) c'est mort, mais j'ai l'impression que c'est déjà le cas.

      Le truc le plus "compliqué. on me demande de pouvoir trouver un livre sur son titre (impossible pour moi).
      par exemple si le livre "parcours du combattant" existe alors la recherche "parcours du combattant" ne doit donner que cette réponse MAIS s'il n'existe pas alors oui tout les titres qui ont combattant et/ou parcours doivent sortir. Dans le temps (il y a 20 ans) j'avais pour un de mes sites un trucs ressemblant avec la fonctionnalité search full text qui exist(ait?) dans mysql et qui donnait un indice de concordance (je n'ai pas lu le code qui déterminait l'indice de concordance) ainsi sans avoir fait de test, parce que autre temps, autres besoins.... je pense que "parcours du combattant" le livre serait sorti en bonne position, sinon en premier. (de mémoire il calculait la présence des mots dans les champs de recherche en pondérant par le nombre d'apparitions des mots dans tous les enregistrements ainsi si rose est présent que dans un seul enregistrement il avait un poids très fort et sir fleur était présent dans tous les enregistrements il avait un poids null)

      je n'ai pas de solutions, je ne fais que poser des questions qui soulevent plus de question encore. - on ne se refait pas.

      Autant rếver , le rếve est gratuit pour le moment, cela pourrait ouvrir à des insertions de blocs de recherche conditionnels, celui qui veut une recherche sur la marque il y a juste un bloc à ajouter (ou un switch de conf...) sans rien toucher d'autres.

      posté dans Bugs & Améliorations
      herve_02
    • RE: Images produit qui disparaissent

      @eolia
      moi si je ne fais pas enregistrer, elle "disparait" (je crois me souvenir, mais je ne manipule pas cette partie là) je me bats avec mondial relay et la livraison à domicile.

      posté dans Bugs & Améliorations
      herve_02
    • [resolu] Le module mondial relay 3.4.5

      je cherche à activer la livraison à domicile du module mondial relay.

      dans l'interface de configuration, il est demandé 4 infos (les 3 normales + culture api2)
      Cette 4ème info n'existe pas dans notre interface mondial relay et le tech (??? ) que j'ai eu par mail dit que cela n'existe pas. pourtant c'est bien la réponse de l'api mondial relay qui me dit qu'il manque cette info...

      <ShipmentCreationResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.example.org/Response">
      <StatusList>
      <Status Code="10003" Level="Critical error" Message="Une erreur générale est survenue lors de la vérification de la configuration. Vérifiez que le champ culture est bien rempli." />
      </StatusList>
      </ShipmentCreationResponse>
      

      quelqu'un sait où chercher ?

      LE CODE CULTURE EST ( pour la france au moins ??) fr-FR, trouvé ici

      https://www.mondialrelay.be/media/68250/mondial-relay-web-api.rar

      includes/MondialRelay.API.Class.php: $xml_context->appendChild($xml->createElement( "Culture", "fr-FR" ));

      posté dans Bugs & Améliorations
      herve_02
    • RE: Images produit qui disparaissent

      il me semble que moi assis cela le fait , mais je ne manipule pas beaucoup. si je refais çà passe. À un moment j'ai pensé à des problèmes de droits parce que je bidouille pas mal.

      posté dans Bugs & Améliorations
      herve_02
    • RE: controlleur fournisseurs.

      @eolia la je pînaile et je suis même pas certain de comprendre toutes les subtilités...

      if(!file_exists(_PS_SUPP_IMG_DIR_.$this->supplier->id.'-'.stripslashes($image_type['name']).'.jpg')) {
                             if(!$this->generateFormats($this->supplier->id, $images_types)) {
                                 $image = $this->context->language->iso_code.'-default';
                             }
                             break;
                         }
      

      De ce que je comprends si j'ai pas l'image de base directement ==> défault.
      si j'ai une image de base on va boucler sur toutes les images censée exister ImageType::getImagesTypes('suppliers') et tenter de les fabriquer... si elles n'existent pas.

      je n'ai pas compris le break on fabrique la première image qui n'existe pas ou on fait rien si elle existe et on sort de la boucle foreach ?

      de ce que je crois comprendre, si on enlève la break, la boucle va continuer avec le prochain cycle du foreach au lieu de sortir à la fin de la première image générée

      d'ailleurs comme on a déjà affecté $image = $this->supplier->id; je pense qu'on peit potentiellement gagner un micoîème de pouillième de millisecondes avec file_exists(PS_SUPP_IMG_DIR. $image.

      Mais peut être pas... je ne suis pas assez calé en objet pour savoir si il doit reparcourir l'objet ou si accerder à $îmage n'est pas mieux que d'acceder à $this->supplier->id, auquel cas, $this->supplier->id peut être plus parlant au niveau de lecture du code. et autrant de pas utiliser $image...

      je ne suis pas assez fort en proga objet. (et puis il est tard :_)

      edit : j'ai même l'impression qu'un continue ne servirait à rien puisqu'on est déjà la fin de la boucle

      posté dans Bugs & Améliorations
      herve_02
    • RE: controlleur fournisseurs.

      @eolia

      mais du coup, comme les images existent à chaque fois, puisque à chaque vérification d'images on les crée toutes (enfin celles qui manqueraient) est-ce que cela vaut la peine de garder le(s) rewrite apache (et le script php) qui fabrique l'image si elle n'existe pas?
      Il y aurait peut être une race conditions : l'image qui serait fabriquée après avoir été appelé dans le tpl ? même si j'ai l'impression que dans le contrôleur , les choses étant séquentielles, elles seraient fabriquées avant de donner la main au tpl ?

      est-ce que ce gain de temps et de cpu serait significatif ? Probablement pas à notre niveau de fréquentation où les robots fréquentent plus que les humains (d'ailleurs je suis presque certain que la fabrication des images manquantes se fait à la visite des robots) et le secteur de marché est "restreint" et une large majorité des visiteurs sont des acheteurs (ce site doit exister depuis 10-15 ans au moins) .Je pense, comme lu dans une de vos interventions, c'est surtout les appels mariadb qui occupent la majeure partie du temps. (je n'ai pas encore activé le cache (recompilation à chaque fois) ET le concaténation des JS et CSS)
      j'ai encore quelques millisecondes à gagner, sans efforts ;-)

      posté dans Bugs & Améliorations
      herve_02
    • RE: controlleur fournisseurs.

      @eolia
      je trouve cela parfait..

      posté dans Bugs & Améliorations
      herve_02
    • RE: J'en profite (la fougue de la jeunesse) (ah ah ah)

      @eolia
      Le soucis avec le système actuel est que toutes les images doivent avoir les même dimensions et pour des livres ce n'est pas possible, il y a du portrait, du paysage, des carrés et donc la génération automatique des images fait qu'on se retrouve avec des bandes blanches partout pour que ca rentre dans le format. oui je sais png et la transparence, je vais refaire l('image de mon "client")

      Le script devient tellement compliqué avec des if partout que je me demandais si ce ne serait pas plus simples avec quelques options imagemagick. J'ai tellement pris l'habitude en 25 ans de linux à tout faire par des scripts et des outils que c'est devenu une sorte de seconde nature.
      Pour les photos des auteurs(fournisseurs) , comme c'est le même dossiers (et pas sous dossiers) j'ai fais mon script avec imagemagick (3 lignes). pour les produits comme c'est 3/4/5/6/3456.jpg je suis pas chaud avec un script qui parcours... pour le moment.

      J'ai un apache-php-mariadb sur un debian et dans mes trucs j'utilise exec dès que je peux. le code est petit très court et très rapide puisque du compilé.
      En ce moment s'execute un script qui va watermarquer 2770 fichiers avec les infos de la base de données sur chaque page c'est moins de 200 lignes de code, y compris lecture de la base de données, lecture de la taille des pdf le positionnement centré haut et bas à X mil. du bord de pages de watermarck, la gestion de la police, sa taillle et sa couleur, individualisé sur toutes les pages et compression des fichiers.

      Et sur un fichier pdf de 20 pages de texte cela prends 1.5 secondes.

      On peut même dans ps_configuration enregistrer les options à passer aux scripts. avec les options "de bases" dès l'install. Mon idée est pourquoi écrire du code qui réinvente en php (ou autre, c'est pareil avec python) ce que le système sous-jacent fait en 3 lignes. MAIS c'est vrai que cela implique un(ou des) systèmes sous-jacent qu'il faut connaître et pratiquer. delivengo utilise ghostscript. mondial relay (je crois) à besoin de soap et curl (peut être à travers php) je me souviens pas, je fais trop de choses. Les choix sont toujours difficiles à faire et quand les choix impliquent d'autres c'est encore plus compliqués. Mais de mon point de vue, il vaut mieux utiliser les outils qui existent déjà et se concentrer sur d'autres choses que de réinventer la roue.

      Maintenant je comprends parfaitement le soucis de rétro-compatibilité avec l'existant et avec les modules qui s'installent et attendent probablement certains choses...

      Pour l'exemple du contrôleur produits et l'image médium. si on en n'a pas besoin, de cette image, il faut l'avoir qd même sinon ca ne marche pâs ;-) je me suis arraché les cheveux un paire d'heures avant de comprendre pourquoi j'avais perdu toutes les images, juste parce que pour gagner du temps et de la place, j'avais décoché les images dont je ne me servais pas. et je ne comprenais pas puisque les images devaient se régénérer toutes seules (il m'a aussi fallu du temps pour comprendre avec les rewrites d'apache et ma conf qui ne permettait pas les .htaccess) . comme medium n'existait pas c'est comme s'il n'y avait pas d'images.

      Mais je ne veux rien révolutionner, juste arriver à faire ce qu'on me demande et si possible sans bouzin ou les lignes se comptent en paquet de 1000.

      Je vais devoir des catalogues thématiques pdf.. se sera bien entendu latex qui le fera et mes scripts écriront du code latex. qui compilera tout seul les pdf.

      C'est dur d'être "chef" et la critique étant super facile... mais mon "client" est ravi du choix de phénix, C'est un super produit et je veux aider autant que je peux. je commencerais (à part ce que je dois faire pour que cela fasse ce qu'on me demande) par gérer les warning php et alléger les errors_logs .
      C'est un tout petit début.

      posté dans Bugs & Améliorations
      herve_02
    • RE: Bon dernier du jour mais cela me turlupine classe search

      @herve_02

      Maintenant peut être qu'on gagnerais pas grand chose, Mariadb a peut être un système de cache..

      posté dans Bugs & Améliorations
      herve_02
    • se connecter comme un client idntifié

      je croyais avoir déjà posée la question.. la tête.

      dans le presta 1.7x , il y avait la possibilité de se connecter comme client (depuis sa fiche) cela permettait de faire du sav pour ceux qui ont du mal.
      C'était un module ? c'est compliqué à faire ? je suppose qu'il suffirait juste de switcher l'id non ?

      posté dans Bugs & Améliorations
      herve_02
    • RE: Bon dernier du jour mais cela me turlupine classe search

      j'ai bien vu le if, je me disais que l'on pouvait supprimer la clause and reférence.... dans les 2 requêtes suivantes puisqu'elle ne sortent déjà QUE les produits pré-triés dans $eligible_products

      $eligible_products = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql, true, false);
      
      et dans la reqête qui suis
      
          WHERE p.`id_product` IN('.implode(',', $product_pool).')
      AND (p.`reference` LIKE "%'.pSQL($expr).'%"
                                  OR pa.`reference` LIKE "%'.pSQL($expr).'%")
      

      D'ailleurs je pense même qu'on peut déjà sur alléger cette requête car plein de choses ont déjà été discriminées

      posté dans Bugs & Améliorations
      herve_02
    • RE: J'en profite (la fougue de la jeunesse) (ah ah ah)

      @eolia

      je me demande s'il n'est pas plus simple de faire un if sur la version ou se taper 300 lignes de codes...

      mmm pas de réponse à la question, mais en vieillissant je devins plus "roots"

      posté dans Bugs & Améliorations
      herve_02
    • RE: controlleur fournisseurs.

      @eolia
      le seul truc c'est que si l'image n'existe pas on ne le sait pas, on affiche à l'aveugle. là le controleur répond image ou pas d'image.

      si on modifie juste une fonction dans une classe et/ou un contrôleur est qu'on peut mettre en overide la classe et le contoleur avec juste la fonction qui a bougée ? je re-regarderais dans le bouquin prestashop 1.6

      posté dans Bugs & Améliorations
      herve_02
    • Bon dernier du jour mais cela me turlupine classe search

      Je dois faire des modifications dans la classe search
      je regarde la function find(qui nous interesse). si je la symbolise j'ai un truc comme ça.

      recherche sur ref { //add by eolia
           select ... blabla where ref(s) = blabla
           // une seule ref sinon ça marche pas mais bon 
           ==> total et ids des produits
      }
      si total{
         si ajax {
                select ... blablabla 
                where p.id in (ids des produits) //  ok normal
               and reférence.... <=== inutil car déjà discriminées dans rechercher sur ref
                 }
          sinon {
                select ... blablabla 
                where   blabla <== on ne récupère pas les ids déjà trouvés, 
                               la recherche n'aura pas le même résultats que l'ajax
               and reference = blablabla  //et encore la référence.....
                    }
      
      } // fin de si total
      
      puis recherche sur les mots
      

      je pense qu'on pourrait supprimer les références dans les clauses where dans le if ($total) et qu'on devrait ajouter
      p.id in (ids des produits)
      dans le where de la requête pas ajax.

      posté dans Bugs & Améliorations
      herve_02
    • J'en profite (la fougue de la jeunesse) (ah ah ah)

      là c'est une question largement plus "philosophique". Pourquoi on n'utilise pas plus intensément le système sous-jacent. Effectivement cela le rend moins "portable" (sous windows on peut ne pas avoir les même outils) et je parle pas de bsd ou autres. enfin quoi que. Maintenant le module delivengo utilise gs pour générer des pdf...

      Je pense notamment à la fonctions des images. pourquoi avoir 200 ou plus lignes de codes php qui tape dans imagemagick alors qu'on pourrait avoir une seule ligne imagemagick.

      par exemple

      convert 1.jpg -resize 125x125^ -gravity Center -crop 125x125+0+0 +repage new1.jpg

      cela redimensionne une image à 125x125px sans anamorphose et en "recadrant" pour que le centre de l'image soit encore au centre.

      Cela ferait gagner pas mal de lignes de code et de rapidité.

      posté dans Bugs & Améliorations
      herve_02
    • controlleur fournisseurs.

      Je suis un tout newbie au code de phenix, mais je dois faire des modifications pour faire tomber en marche comme "on" (ah ah) veut (on a tous un chef au dessus). L'objectif avoué étant d'avoir les photos des fournisseurs (qui sont des auteurs chez nous) Nous utilisons un dérivé du thème default-bootstrap car, même si cela demande plus de travail qu'en trouver un qui ressemble plus à ce que nous voulons, au moins nous sommes le plus proche possible du main stream.
      donc pour revenir à nos moutonnssss.

      Je me suis penché sur le controller front SupplierController qui regarde s'il y a des images

      $row['image'] = (!file_exists(_PS_SUPP_IMG_DIR_.'/'.$row['id_supplier'].'-'.ImageType::getFormatedName('medium').'.jpg')) ?
                         $this->context->language->iso_code.'-default' :
                         $row['id_supplier'];
      

      La question est pourquoi tester sur 'medium' alors que naturellement si une image existe il y a obligatoirement $id_supplier.'.jpg' ret maintenant ( ???) $id_supplier.'.png' pour les transparence - ceci dit c'est eut être que sur les produits la transparence.

      Alors peut être y-a-t-il une raison à cela ?

      en renvoyant juste l'id_supplier (ce qui est fait) cela permet au thème de choisir l'image qui veut être affichée et qui est donc core-agnostique.
      j'ai téléchargé un zip vanilla pour vérifier que ce n'était pas moi qui avait fait cette modif il y a longtemps pour faire tomber en marche un truc que je ne comprenais pas.

      Ce code sert à suppler-list.tpl (assignAll) mais je vais le "dupliquer" dans assignOne pour avoir l'image dans la page du fournisseur.

      Et c e n'est pas idiot non plus cela permettrait à un fabricant ou petit artisan de montrer dans quels boutiques (avec une photo) ou ses produits sont vendus, les boutiques étant du coup attachées aux produits et pas à l'artisan. proposant différentes filières : des produits vendus là et pas ailleurs et d'autre vendus ailleurs et pas là.
      Il suffit juste de traduire supplier différemment.

      posté dans Bugs & Améliorations
      herve_02
    • RE: la bonne blague

      @ecommerce2025

      symphony c'était pas suffisant comme usine, il y a maintenant typescript.

      C'est pas comme si on avait l'impression que le but est de remettre à zéro toutes les compétences des gens qui travaillent sur prestashop.

      posté dans Discussion générale
      herve_02
    • RE: Solutions de paiement...

      @eolia

      cooollll

      de toute façon tout sera mieux que le presta 1.7.7.x qui gère la boutique actuelle. Le BO est cassé en mille morceaux (il parait que la migration 1.4 -> 1.7.7 a été violente et douloureuse... peut être plus de 20 modules de tous zorizons) parfois lorsque l'on active ou désactive un module, on arrive sur une page .json pour faire tomber en marche comme je voulais la nouvelle version de paypal (oui je suis un malade mental d'avoir mis a jour un module sur une boutique au BO un peu cassé (il manque des icones cela casse toute la mise en page, il faut plus de 10 secondes pour acceder à une page de config) donc pour le faire tomber en marche j'ai du lire du code et taper directement dans ps_configuration et tenter de trouver les bonnes variables.

      tout le reste sera un parcours de santé

      ;-)

      posté dans Discussion générale
      herve_02
    • RE: Petit code pour les descriptions de produits

      @eolia

      Oui on n'aura plus les balises mais on aura perdu la "sémantique", ce qui est un bien grand mot puisque ce n'est que de la mise en forme pour le cas du CD si tout le temps on a
      cd
      titre
      titre

      C'est facile mais ce n'est pas toujours le cas.. je vais m'arracher les cheveux (ce qu'il en reste)

      Disons que le l'on peut faire des "modèles" et utiliser 'ou pas' les modèles. Ceux qui vendent des cd, des dvd, des produits dérivés, peut faire un modèle cd, un modèle dvd et laisser le reste en "normal" ensuite si on fait tourner et qu'il n'y a rien à faire on a juste un return après le document.querySelectorAll(tag) s'il ne ramène rien, vue comment presta tourne, cela ne se verra même pas.

      je vais le mettre en œuvre sur notre boutique. je vais "hardcoder" dans le javascript la mise en forme et la récup des tags et laisser le javascript dans le bon dossier d'un module product par exemple. cela devrait le faire ;-)

      L'avantage de cela est qu'il est moins chronophage de rentrer ses produits et cela "oblige" à être sémantique. on est certains d'avoir la même mise en forme partout. c'est un peu du html sémantique

      posté dans Discussion générale
      herve_02
    • Petit code pour les descriptions de produits

      bonjour,
      je vous livre mon petit code (sous licence WTFL) mais j'aimerais bien qu'il ne soit pas à la base d'un module payant.

      Historique du pourquoi.

      Je travaille sur un prestashop d'un client-ami, sa migration de 1.7.7 vers phenix suite. ET (sinon ce n'est pas drôle) je doit mettre en place un crm pour gérer diverses choses comme la facturation, les droits d'auteurs et autres joyeuseté.

      Il a été convenu d'utiliser le crm (tryton pour être précis - parce que je le connais un peu, j'avais développé il y a plus de 10 ans un produit pour un esat basé sur openerp.), le crm comme base arrière. en clair : tout est sur le crm et phenixsuite est juste consacré à la vente. Je suis largement plus à l'aise à "développer " (bien grand mot) sur tryton que sur presta/phenix. Oui je suis long.

      Et donc je dois récupérer toutes les infos de presta pour les passer sur tryton. (et accessoirement son ancien logiciel de gestion des droits) Et lors de la récup-traitment-import des produits je me suis aperçu que pour les cd, on avait le droit à des choses comme ça

      <p style="text-align: left;"> </p>
      <p style="text-align: center;"><span style="font-size: 12pt; color: #800000;"><strong>Contenu du CD</strong></span></p>
      <p style="text-align: left;"> </p>
      <p style="text-align: left;"><strong><span style="color: #800000;">1. Chacha Latino</span></strong>  2'56</p>
      

      j'ai abrégé. donc dans la base de donnée il y a ET des infos ET de la mise en forme. Beaucoup de bruit (outre la difficulté à récupérer avec du csv entre les sauts de ligne et les fins de lignes...) mais c'est un détail.
      Cela veut dire qu'à CHAQUE fois on doit entrer tout le décorum html dans la base et donc avec la mise en forme. (même si on peut css-er une bonne partie.)

      Et comme je suis un rationaliste tétu et entêté. je me suis dit, ce serait vachement plus cool de rentrer un truc comme ça

      <cd titre="Le bal musette en france du 18ème siècle" auteurs="Duchmol Jean yves & josette Pierre" duree="45'32">
      <piste no="1" duree="3'45" titre=" Ah le petit vin blanc"/>
      <piste no="2" duree="2'58" titre=" Il est des nôtres"/>
      </cd> 
      <cd titre="Le bal musette en france du 19ème siècle" auteurs="Lataupe rené & the crazy fogg" duree="45'32">
      <piste no="1" duree="3'45" titre=" Il faut le voir"/>
      <piste no="2" duree="2'58" titre=" Pour le croire"/>
      </cd>
      

      et gérer son affichage. alors j'ai un peu taffé et écrit quelques lignes de plain javascript, que les puristes trouveront peut être horrible. (n'hésitez pas à proposer des améliorations)

      <script>
      window.onload	= function (){
      do_convert('cd');
      }
      
      var dF = document.createDocumentFragment();
      // dans cds le 1 est l'attribut du tag du cd, le 2 le tag a créer et le 3 la la classe du tag créé
      const cds=[['titre','h3','vert jaune'],['auteurs','h4',''],['duree','h5','']];
      // idem dessus sans style (facile à rajouter) comme on parcours ces array
      // le ['','br',''] permet un saut de ligne
      const tis=[['no','span',''],['titre','span',''],['duree','span',''],['','br','']];
      
      function $$(t,e){
      	if (!e) return document.querySelectorAll(t);
      	else return e.querySelectorAll(t);
      }
      
      function do_liste(what,item){
      for (const el of item) {
      	my_tag=document.createElement(el[1]);
      	if (el[0])  my_tag.textContent= what.attributes[el[0]].value;
      	if (el[2])  my_tag.className=el[2];
      	dF.appendChild(my_tag);
      	}
      }
      
      function do_convert(t){
      let list_cd=$$(t);
      if (list_cd.length<1) return;
      for(var i = 0; i < list_cd.length; i++) {
      	do_liste(list_cd[i],cds)
      	let list_titres=$$('piste',list_cd[i]);
      	for(var j = 0; j < list_titres.length; j++) {
      		do_liste(list_titres[j],tis)
      	}
      list_cd[i].replaceWith(dF);
      }
      }
      </script>
      

      le code est simpliste, je ne vais pas vous faire l'affront de le commenter. J'ai mis des balises html pour le voir tomber en marche. Il n'a pas besoin des sauts de ligne dans les éléments et, par nature, les <cd></cd> et <piste/> ne sont pas affichés et ensuite remplacé par le code fabriqué pour le plain javascript. On est certain du coup d'avoir partout la même présentation mise en forme te on gagne beaucoup de temps à saisir les trucs.

      je ne l'ai pas encore mis dans phenix, je suis juste en phase de construction de l'ensemble.

      j'espère que cela donnera des idées et aidera certains.

      posté dans Discussion générale
      herve_02