Liens hypertexte

On en a parlé rapidement en fin de réunion donc je reprécise ici mon interrogation globale.
Utilisant beaucoup 4D write pour en faire des exports HTML qui sont assez “bornés” pour éviter des affichages bizarres sur le site, j’attendais de 4D Write pro, la possibilité d’avoir plus de latitude.

Clairement, y’a pas photo MAIS, même si je ne m’attends pas à faire du WIX avec 4D write Pro, j’aimerais offrir un max de possibilité à mes utilisateurs.
Avez vous une base démo pour gérer ces utilisations HTML ?
Avez vous déjà essayé d’insérer un lien embed style vimeo, youtube ou autre ?

De manière général, je trouve l’insertion d’un lien hypertexte plus complexe qu’avant mais j’avoues ne pas avoir fouillé ni développé d’outil propre à ce sujet.

Merci par avance

Olivier

Bonjour Olivier

Insérer des liens dans un doc 4DWP c’est plutot simple

soit avec l’interface

[]34757069;“Interface”[/]

Soit par programmation (ici via la sélection courante de l’utilisateur)

<code 4D>
$range:=WP Selection range(WParea)
If ($range.start#$range.end)
WP SET ATTRIBUTES($range;wk link url;“https://youtu.be/THaFkiAdf_8”)
End if

</code 4D>

Note : un lien peut etre mis sur une image “inline” aussi, mais elle ne sera pas “soulignée” comme un lien sur du texte.

Une fois exporté en HMTL,

<code 4D>
WP EXPORT DOCUMENT(WParea;“test.html”;wk web page complete;wk normal)

</code 4D>

les liens sont (évidemment) conservés.

Voir cet exemple :

https://forums.4d.com/4DBB_Main/x_User/4028/files/34757140.zip

J’espère que ça vous aidera !

Cordialement

Roland Lannuzel

Bonjour Roland,

merci pour ton retour.
En fait, je me suis mal exprimé sur le sujet. Lorsque je parlais d’un lien embed, c’était la possibilité de voir un lien en prévisu associé à un player qui permette à un utilisateur de voir, avant la conversion en HTML, le lien qu’il vient d’insérer.
Petit exemple de lien viméo : https://www.film-documentaire-ecrits.fr/florenciadiconcilio

Merci

Olivier

Ou a minima, pouvoir récupérer un iFrame depuis viméo ou autre et le coller sur un document 4D Write Pro pour que ça garde l’info propre et lors de l’export html, ça puisse correctement charger l’élément.
J’ai tenté d’insérer cet iframe :

via la commande WP FIXER ATTRIBUTS mais ça me sort une erreur d’url non valide, ce que je conçois totalement mais du coup, avoir la possibilité d’effectuer ce genre d’opération serait vraiment top !!

Peut être est-ce d’ailleurs possible ?

bonjour Olivier

ok, avec un exemple je comprends mieux…
Peu de chances de voir une video dans 4D Write Pro, mais cela dit, une image (preview) liée via une URL c’est possible…

<code 4D>
C_PICTURE($Pict)
WParea:=WP New

WP SET TEXT(WParea;“bla bla bla”;wk append)
WP INSERT BREAK(WParea;wk paragraph break;wk append)

WP INSERT PICTURE(WParea;$Pict;wk append) // insertion d’une image quelconque

$textRange:=WP Text range(WParea;wk end text;wk end text)
$textRange:=WP Text range(WParea;$textRange.end-1;$textRange.end)// position du dernier “caractere” (ici une image inline)

$pictureRange:=WP Picture range($textRange) // range de l’image correspondante

// on fixe l’URL de l’image et l’alternate text sur l’image
WP SET ATTRIBUTES($pictureRange;wk image url;“https://fr.4d.com/sites/all/themes/bactency/logo.png”)
WP SET ATTRIBUTES($pictureRange;wk image alternate text;“Logo 4D”)

// on fixe le lien sur le texte…(même si c’est une image inline :slight_smile:
WP SET ATTRIBUTES($textRange;wk link url;“https://youtu.be/THaFkiAdf_8”)

WP INSERT BREAK(WParea;wk paragraph break;wk append)
WP SET TEXT(WParea;“bla bla bla”;wk append)

</code 4D>

Roland

Bonjour Roland,

merci pour ton retour.
Effectivement, j’avais dans l’idée de faire quelque chose du genre et du coup, de permettre un export instantané de la zone en HTML avec au passage une conversion du lien “viméo” ou autre que je taguerais, par un iframe.

C_TEXTE($path;$text,$find)
C_ENTIER LONG($p)
C_OBJET($range;$link)

C_OBJET($WP_Export)
$WP_Export:=WP Nouveau([Contact17]WP_Auteur)

C_COLLECTION($links)
$links:=WP Lire liens($WP_Export)

Pour chaque ($link;$links)
Si ($link.url="@vimeo@") //ceci est un lien URL
$aiFrame:="<iframe src="+$link.url+" width=“480” height=“360” frameborder=“0” allow=“autoplay; fullscreen” >"
WP FIXER TEXTE($link.range;$aiFrame;wk replace)
WP RÉINITIALISER ATTRIBUTS($link.range;wk link url)
Fin de si
Fin de chaque

$path:=Dossier système(Bureau)+“test.html”
WP EXPORTER DOCUMENT($WP_Export;$path;wk page web complète;wk normal)

Bon, ça peut être très largement amélioré évidemment mais ça fonctionne bien sauf que les caractères supériéurs et inférieurs sont codés en html donc mon iframe ne s’active pas mais un remplacer chaine rapide solutionne la chose.

Avec ton code supplémentaire d’une image préview, je vais avoir l’odeur + le goût d’un iframe façon WIX et c’est plutôt très bien ma foi :wink:

Merci pour ton aide en tout cas

Olivier

Autre toute petite chose Roland,

Y’a-t-il moyen d’ajouter des options sur les liens du genre un target="_blank" ?

Je ne trouve pas ça dans la doc mais je cherche pas bien peut être.

Merci

Bonjour

Je ne pense pas.
Il ne faut pas prendre 4D Write Pro pour un éditeur HTML, ce n’est pas sa vocation.

Une piste peut-être : Combiner 4DWP suivi d’un export HTML suivi d’un “process 4D Tags” sur le fichier généré ?

je ne peux pas en dire plus… bon courage !

Effectivement, j’utilise déjà ce genre de choses avec des zones de texte multistyle et ça marche plutôt bien.
4D write pro a déjà beaucoup d’éléments permettant la “simulation” d’un éditeur HTML même si je sais que ça n’est pas sa vocation.
En l’état, avec un peu d’huile de coude, on peut arriver à en faire un bel outil ressemblant.

La finalité de son utilisation pour un de mes clients, c’est de leur laisser un maximum de liberté pour pouvoir envoyer le contenu d’une zone 4D Write Pro sur leur site afin qu’ils aient une éditorialisation efficace de leur contenu : insérer des images, des liens, mettre en forme (sans dépasser les fonctionnalités web) etc…

Merci pour tes conseils en tout cas, ça m’a été bien utile :wink: