Un modèle d’écriture

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Permet de modifier ponctuellement la police de caractères d’une partie d’un texte.

Le modèle écriture (au sens SPIP) est une des fonctionnalités développées pour le squelette EVA 3 attendu pour septembre 2007. Produit avec l’aide de la communauté SPIP sur IRC , il est indépendant du squelette utilisé et c’est pourquoi nous le présentons, ici, hors de son contexte original.

Attention au bout de trois ans et quasi 30000 visites cet article prend sa retraite. Il se réincarne ici

De quoi s’agit-il ?

Il s’agit pour un rédacteur de pouvoir modifier la police de caractères d’une partie d’un texte. Ceci seulement ponctuellement car ce changement n’est pas désiré dans les autres articles.

Ainsi dans EVA 3 nous voulions la possibilité d’écrire des parties de textes avec une police cursive.

Le problème

Les fonctionnalités de SPIP permettent déjà de transformer un texte en une image typographique ce qui autorise une plus grande créativité tout en étant d’une très grande souplesse.

[(#TITRE|image_typo)] transforme un titre en une image typographique.

[(#TITRE|image_typo{police=ma_police.ttf})] donne l’image d’un titre écrit dans la police mentionnée.

C’est bien ce qu’il nous faut mais il y a un inconvénient : ce traitement n’est pas possible avec la balise #TEXTE , sauf à vouloir tout transformer.

La solution

La solution vient des modèles. En effet la doc qui leur est consacrée indique qu’il est possible de faire ce que nous souhaitons grâce à un modèle.

<imagetypo|texte=Mon intertitre>

Concerne les intertitres d’un texte donc bien une partie du texte seulement.

Mise en œuvre

Pour qu’une partie du texte seulement soit concernée par la manipulation d’image typo nous allons demander à SPIP de faire ce travail ailleurs que dans le texte, ce sera le rôle du fichier ecriture.html, puis de nous retourner le produit fini.

Commençons tout d’abord par indiquer nos intentions. Si nous voulons que la première phrase d’un texte, et seulement elle, soit écrite dans un police spécifique alors nous utiliserons la syntaxe suivante :

<ecriture1|texte=Ma première phrase|police=police.ttf|left>

Ces paramètres seront transmis au fichier ecriture.html qui va les convertir en « img » grâce au code suivant, et le renvoyer au texte initial.

[(#ENV{texte}|image_typo{police=#ENV**{police}})]

En pratique

Il vous faudra mettre le fichier ecriture.html dans le répertoire modeles du squelette : /modeles/ecriture.html

Bien sûr vous n’oublierez pas de mettre les polices désirées dans le dossier polices [1]situé à la racine de site : /polices/police.ttf, ou dans votre dossier squelettes :/squelettes/polices/police.ttf

Vous créerez ces dossiers s’ils n’existent pas.

Mise à jour

Je joins une nouvelle version du modèle qui gére maintenant beaucoup plus de fonctions typographiques.

Il est prudent de respecter l’ordre des paramètres dans la syntaxe d’appel.

Ainsi

<ecriture1
|texte=testaille .
|police=SEYESNDL.TTF
|taille=36
|couleur=0000ff
|largeur=200
|align=left
>

permet de gérer, dans l’ordre, la police, la taille, la couleur, la largeur et l’alignement du texte. N’hésitez pas à adopter une écriture lisible comme dans l’exemple.

Il est tout à fait possible d’appliquer un filtre d’images classique mais la liste est trop longue et vous préfererez le mettre au coup par coup.

Notes

[1Attention : si vous ne protégez pas ce dossier (avec un htaccess par exemple), votre fichier de police sera accessible par le Web. Si vous utilisez des polices commerciales, faites attention à ne pas vous retrouver, ainsi, à diffuser des polices pour lesquelles cela n’est pas autorisé.

Discussion

8 discussions

  • Thierry

    Bonjour,

    J’ai fait un essai avec la police frscript.ttf et le résultat est le même.

    Dans l’espace publique, j’ai juste un rectangle qui s’affiche avec écrit à l’intérieur « ecriture1 ».

    Merci pour ton aide,

    Thierry

    Répondre à ce message

  • 1
    Thierry

    Bonjour, sous spip 209 cela ne marche pas.

    j’ai pourtant mis la police « champignon.ttf » dans le répertoire « polices » du dossier « squelette » et le fichier « ecriture-2.html » (version étendue) dans le répertoire « modèle » du dossier « squelette ».

    Dans le corps de l’article, j’écris :

    <ecriture1|texte=Magazine-web coopératif d'histoire et de généalogie|police=Champignon.ttf>

    mais rien ne s’affiche dans l’espace privé et dans l’espace publique j’ai une rectangle qui s’affiche avec écrit à l’intérieur « ecriture1 ».

    Que faut-il faire ?

    merci pour votre aide,

    Amicalement,

    TT

    • Bonjour, sous spip 209 cela ne marche pas. j’ai pourtant mis la police « champignon.ttf » dans le répertoire « polices » du dossier « squelette » et le fichier « ecriture-2.html » (version étendue) dans le répertoire « modèle » du dossier « squelette ». Dans le corps de l’article, j’écris : <ecriture1|texte=Magazine-web coopératif d'histoire et de généalogie|police=Champignon.ttf>

      Et avec police=champignon.ttf (en respectant la casse de ton fichier de police)...

      sinon vérifies les droits sur ce fichier ttf (peut être pas utilisable par l’utilisateur apache)

      En derniers recours essaie avec une autre police pour voir si le problème ne vient pas de ton fichier de police.

      kent1

    Répondre à ce message

  • Jean POULIQUEN

    Je me réponds à moi-même.

    Tout fonctionne bien ; j’avais commis l’erreur de mettre 2 fichiers écriture : le premier ecriture.html et le second ecriture1.html qui était celui nommé ici « étendu ».

    En fait, le système ne prennait que le premier en compte. En en mettant qu’un et en le nommant « ecriture.html » tout fonctionne bien.

    Cordialement,
    Jean

    Répondre à ce message

  • Jean Pouliquen

    SPIP vesion2.0.0 [13469]

    J’ai chargé le modèle « version étendue » dans le dossier « modeles »
    et la police :« frscript.ttf » dans le dossier « polices »

    Pour la rédaction de l’article dans l’espace privé j’écris :

    <ecriture1|texte=
    - Il est la relecture d’ateliers d’écriture auxquelles elle a participé dans le cadre d’une association de Vaulx-en-Velin. Membre de l'atelier d'écriture "Dans tous les Sens", Marie-Ghislaine Chassine livre dans "La toile rude de leur dignité" vingt ans de quotidien avec ses voisins.
    |police=frscript.ttf|taille=20|couleur=FF0000|align=left>

    La police est bien affichée dans l’espace privé et dans l’espace public mais ni la taille ni la couleur ne sont pris en compte. Quelle est mon erreur.

    Merci de votre réponse

    Jean

    Répondre à ce message

  • 1
    jean Pouliquen

    Si on met dans le squelette ce code pour image_typo :

    <h1 class="titre-texte">[(#TITRE|image_typo{police=ALGER.TTF,
    taille=15, couleur=FF00FF, largeur=600, hauteur_ligne=40, padding=40})]</h1> 

    cela fonctionne parfaitement.

    Par contre le code du fichier modèle proposé ici ne fonctionne pas avec SPIP 2.0.0

    La police est chargée mais aucun des autres critères n’est pris en compte.

    Merci de la réponse

    • Corrobori

      Que faites-vous exactement ?

      Dans quel formulaire êtes-vous ?

      <ecriture1|texte= montexte, police=ALGER.TTF, taille=15, couleur=FF00FF, largeur=600, hauteur_ligne=40, padding=40>

      devrait faire l’affaire.

    Répondre à ce message

  • 2

    Bonjour,

    J’ai decouvert spip il ya 1 mois, et je test actuellement un squelette, parmi les articles j’ai besoin d’afficher quelques articles en langue arabe ( titre + corps de l’article), peut on utiliser ce model pour modifier l’affichage, pour rappel l’arabe s’ecrit de droite à gauche.

    Est ce qu’il faut installer ce fichier tel quel dans le repertoire model ? et comment appeler ce code dans un squelette ?

    Merci à vous

    MKO

    • Spip est conçu pour gérer la langue arabe. Il faut utiliser ses fonctions dédiées au multilinguisme pour cela.

      Vous trouverez un peu d’aide ici sur ce site ou là sur spip.net à ce sujet.

      N’hésitez pas à poser votre question sur la liste spip user, je sais que certains abonnés ont déjà mis en ligne de tels sites.

    • Merci pour la réponse, avec les liens ci dessus je pense avoir trouvé la réponse à mon probléme, il me reste plus que de faire des tests.

      Bonne fêtes et bonne nouvelle année à tous. MKO

    Répondre à ce message

  • 5

    Toujours ma question : Peut-on régler la taille du texte ?

    Merci

    • C’est par et bientôt ici le temps que reçoive quelques codes.

    • Bonjour,

      Voici une de mes « contributions » :

      http://www.adrias17.org/squelettes/...

      C’est un modèle qui permet de définir la police du texte, la taille, et le sens du texte (left/right), la « largeur » du bloc.

      Cela fonctionne par introduction du code :

      <accueil-texte|police=nomdelapolice|largeur=xxx|sens=left|couleur=0028EC|taille=16|texte=le texte en question>

      La police doit être placée dans le dossier « polices » à la racine du squelettes. (éviter les noms avec accents, espaces, ...)

      J’espère que ça aidera des gens !

    • Oui bien sûr, les deux codes sont très proches. Je peux joindre votre fichier à l’article comme une varaition sur le thème.

    • Aucun problème. Cela fera une possibilité de plus !

      Il y a encore probablement des choses à améliorer : par exemple je n’ai pas trouvé comment faire du texte « centré », faire des retours à la ligne ...

    • A la place de sens j’écrirais align...

    Répondre à ce message

  • 1

    Est-ce qu’il ne faut pas mettre [(#ENV*{texte}|... ou [(#ENV*{texte}|propre|.... si on veut bénéficier de tout ce qu’il faut comme traitements typo etc ? Est-ce que ça marche avec les italiques ?

    • Est-ce que ça marche avec les italiques ?

      Après quelques tests sommaires il semble que non dans la plupart des cas.

      -  les italiques à la mode spip prêtent à confusion.
      -  le html, possible dans un modèle, ne passe pas avec imagetypo.

      Il reste la solution d’utiliser une police en italique, il y en a quelques-unes.

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom