Messages recommandés

Thispy    53

Pour la police d'écriture "Display"

Je ne suis pas sûr que c'est nécessaire de remplacer l'index.php puisque je n'ai rien effectué comme maj dessus.

Je pense qu'il faut uniquement changer le dossier "core" et sont contenu...

 

A voir ce que dit @PeterRabbit

Modifié par Thispy
Rectification
  • Haha 1

Partager ce message


Lien à poster
Partager sur d’autres sites
Thispy    53
Il y a 15 heures, PeterRabbit a dit :

 

Pour les "leçons", on continue, non ?

 

 

Laisse le temps aux autres de faire les exercices @PeterRabbit

Prochain atelier Lundi prochain !
Suggestion sans obligation !

Cela permet aux élèves de ne pas se décourager et surtout d'apprendre à un rythme correct.
Pas tous les jours faciles quand nous sommes dans la vie active.

Partager ce message


Lien à poster
Partager sur d’autres sites
PeterRabbit    371
Il y a 20 heures, Rich_ a dit :

Concernant  "utf8_encode_install" et "utf8_encode_restaure", on parle bien de deux plugin distinct ? :

  • Le premier dit original
  • Le deuxième comportant les modifs réalisé"s.

C'est bien ça ?

 

Désolé, j'ai eu une journée active. o.O Du coup, je suis submergé sous les messages.

Non @Rich_ "install" pour le module qui installe les modifications, "restaure" pour celui qui restaure le site dans son état initial, pour le cas où ça ne plaîrait pas.

Partager ce message


Lien à poster
Partager sur d’autres sites
PeterRabbit    371
Il y a 9 heures, herve a dit :

Bonjour;

 

Je me suis inscris  :-)

 

Mes occupations et ma dispo sont fluctuantes, je vais essayer de suivre.

 

Bonne journée

 

Hervé

 

C'est sympa, @herve! Bienvenue au club. T'inquiète, c'est dans tes cordes ! :)

Partager ce message


Lien à poster
Partager sur d’autres sites
PeterRabbit    371
Il y a 7 heures, Thispy a dit :

Re,

 

Voici une nouvelle police d'écriture pour Zwii 

L'écriture "Display"

Install et Erase effectif 

 

Merci @Thispy ! On valide la première étape et ton esprit d'entreprise. :beer::beer:

Modifié par PeterRabbit

Partager ce message


Lien à poster
Partager sur d’autres sites
PeterRabbit    371
Il y a 7 heures, Thispy a dit :

Pour la police d'écriture "Display"

Je ne suis pas sûr que c'est nécessaire de remplacer l'index.php puisque je n'ai rien effectué comme maj dessus.

Je pense qu'il faut uniquement changer le dossier "core" et sont contenu...

 

A voir ce que dit @PeterRabbit

 

@PeterRabbit il dit qu'il ne voit pas pourquoi tu as mis "index.php" dans ton archive, puisqu'il n'y avait qu'un seul fichier à modifier, et encore pour une seule ligne.

Et il ajoute que, tant qu'à faire, tu aurais pu mettre ta nouvelle police au bon endroit, par ordre alphabétique. Oui, il est tatillon, le lapin, mais il corrige se copies.

Mais tu m'offres une excellente transition pour la deuxième partie de l'atelier. On va essayer une technique autrement plus efficace.

Oui, je sais, ces profs, ils sont tordus : ils vous enseignent des trucs pour vous dire après qu'il y a beaucoup mieux... xD

 

Mais c'est d'accord, la suite lundi. 

in_progress.png.aad12174c248ba6961954fdd6d56fdb6.png

Modifié par PeterRabbit

Partager ce message


Lien à poster
Partager sur d’autres sites
PeterRabbit    371
il y a 5 minutes, Rich_ a dit :

Je ne suis pas sur que ce sois dans mes cordes, je ne vois pas trop par où commencer pourtant je suis ton TP mais je suis un peu perdu :(

 

Et comme tu ne dis pas ce que tu voudrais faire, je ne risque pas de te mettre sur la voie, @Rich_

Partager ce message


Lien à poster
Partager sur d’autres sites
Rich_    11

effectivement, je reste sur mon idée de départ du coup si ce n'est pas trop dur : pouvoir retirer librement l'image de couverture de l'article mais pas l'icone de l'article

Dur ou pas pour un débutant ?

J'ai créé l'arborescence sur mon ordi repris plus haut dans le fil du forum

A tte

Modifié par Rich_

Partager ce message


Lien à poster
Partager sur d’autres sites
PeterRabbit    371

idee.png.1eb43b84f7fbc00c5fbeadadab044d28.pngDisons que c'est ambitieux, mais intéressant.

Mais ce serait le sujet d'un nouvel atelier : comment ajouter un bouton dans les pages de configuration ?

Si nous (vous et moi) tenons jusque là, je retiens l'idée. :)

 

 

 

 

Modifié par PeterRabbit

Partager ce message


Lien à poster
Partager sur d’autres sites
Thispy    53
il y a 46 minutes, PeterRabbit a dit :

Et il ajoute que, tant qu'à faire, tu aurais pu mettre ta nouvelle police au bon endroit, par ordre alphabétique. Oui, il est tatillon, le lapin, mais il corrige se copies.

 

Oups, j'ai mis les "D" ensembles sans vraiment faire attention à l'alphabet. :(

il y a 53 minutes, PeterRabbit a dit :

 

Merci @Thispy ! On valide la première étape et ton esprit d'entreprise. :beer::beer:

 

Merci pour la bière, sauf que je n'aime pas la bière :P

Voir mon avatar...

 

Ok, pour lundi, et merci, les autres peuvent essayer la première partie de l'atelier ..

Partager ce message


Lien à poster
Partager sur d’autres sites
Thispy    53

@PeterRabbit

 

Sans mettre les bœufs avant la charrette, j'ai compris certaines choses et d'autres pas ...
J'explique :

J'ai créé une nouvelle police...
J'ai juste noté dans un fichier en php (je ne donne pas d'indice, seul le prof @PeterRabbit nous dirigent.) le nom d'une police pour qu'elle soit en plus dans notre cms zwii

Si je désire une police dans mon Windows, je dois la télécharger.
Ici pas la peine...
Juste le nom
Comment fonctionne ce système !
Là, je ne comprends pas…
Je suppose que nous allons voir cela plus tard...

Partager ce message


Lien à poster
Partager sur d’autres sites
PeterRabbit    371

 

tip.png.f41172169bf49c74f1ecffce50189adc.png@Thispy Non, je n'avais pas prévu d'en parler, mais ta question (te) donne une piste de recherche : trouve l'autre fichier et la ligne qui t'ont permis de faire ce petit miracle, tu comprendras.

Autre conseil : ne pas hésiter à abuser de la combinaison de touches "Ctrl F" suivie de mots clefs réfléchis ! Avec un peu de pratique, c'est comme pour les champignons, on ne cherche plus, on trouve : F comme "find".

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites
PeterRabbit    371
Il y a 3 heures, Rich_ a dit :

[...] je reste sur mon idée de départ du coup si ce n'est pas trop dur : pouvoir retirer librement l'image de couverture de l'article mais pas l'icone de l'article

Dur ou pas pour un débutant ?

 

@Rich_ La solution rapidement imaginée de mon post du 7 juillet était radicale : six lignes d'un coup ! Sur ces six lignes, réfléchis aux lignes qu'il ne faudrait pas supprimer pour obtenir ce que tu voudrais.

Je n'ai pas essayé et je n'essaierai pas avant que tu aies trouvé, mais j'ai mon idée. Réfléchis, fais des essais et quand tu auras trouvé, dis--_-le nous ! 

 

Après, pour ajouter une case à cliquer, c'est un peu plus compliqué, mais je l'ai déjà fait et je te promets d'y réfléchir.

Modifié par PeterRabbit
  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites
creatifmen    21

Coucou tout le monde @PeterRabbit @Thispy @Rich_ @herve

1.pour le tools ont oublie j'ai auto enterré le Project, (apparemment aucun codeur n'est intéressée),et comme mon cerveau n'écrit po bien le français je peux comprendre .
mais bon si jamais il y aura au moins une idée en ligne...
www.eweb.epizy.com/
2.j'ai rajouter quelques patch pour la v8.4.5 l'ont peut faire quelque test en ligne.
(patch très mal optimisé mais ça fonctionne ,normale j y connais rien suis pas codeur)

si ça intéresse quelques personnes sur les patch (fichier ori fichier patcher , genre comme comme l'a  fait Thispy). je peux les ajouter dans le repositories.

ps: pour le patch logo   (n'essayer pas de ,trouver, de télécharger, les images logo de zwii ou le cadenas vous allez pas y arriver....

a++ tout bon week :glasses: + :heart:  gilets jaunes courage
 

Modifié par creatifmen

Partager ce message


Lien à poster
Partager sur d’autres sites
PeterRabbit    371

Tu exagères, @creatifmen et tu conclus très vite ! Ce soir, j'essaie de répondre à tout le monde, et je sens que j'ai tort : déjà que chacun veut réaliser son désir, ton impatience ne fait que s'ajouter, et c'est le bololo, d'autant que d'autres trouvent que ça va trop vite. En attendant, on multiplie les pages.

Désolé, je ne suis pas modérateur, mais les gilets jaunes n'ont rien à faire ici.

 

 

 

 

Modifié par PeterRabbit
  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites
PeterRabbit    371
Il y a 14 heures, Rich_ a dit :

[...] je reste sur mon idée de départ [...] : pouvoir retirer librement l'image de couverture de l'article mais pas l'icone de l'article

 

@Rich_ Tes désirs sont des ordres ! :)

  • Index des articles

hidepicture-1.jpg.645038e01044fb7caee4d525b75d93b6.jpg

  • Edition de l'article

hidepicture-2.jpg.13860ef35aa21b8e8191cc21d7b3e5cf.jpg

  • Affichage de l'article

hidepicture-3.jpg.5fbd6881dc9334f01c4d9a022d28a887.jpg

 

L'image de couverture s'affiche par défaut dans l'article. 

Je ne te donne pas le code pour ne pas que tu me reproches d'avoir fait le boulot à ta place... mais je t'envoie un lien en MP pour que tu puisses essayer. :mrgreen:

 

 

 

Modifié par PeterRabbit

Partager ce message


Lien à poster
Partager sur d’autres sites
PeterRabbit    371
Il y a 10 heures, creatifmen a dit :

Oups @PeterRabbit Sorry voulais pas te blesser tu fais un travaille exemplaire..no soucis je suis fan de toi:love:

 

T'inquiète : comme je n'étais pas chez moi hier, les posts et les messages se sont accumulés et j'ai été submergé, d'où ma crispation.

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites
herve    8

Bonjour;

 

Beaucoup de chose s’entre choc dans mon cerveau  :-O

 

Les termes correctifs, plugins et modules.

Pour moi le terme correctifs est clair, je corrige donc j'écrase, plugins et module n'est ce pas la même chose ?

 

Le premier travail demandé est, pour moi un correctif, la solution proposé est l'écrasement des fichiers concernés par la proposition d'un zip, que l'on dézippe et que l'on envoi par FTP.

Un plus est proposé par la possibilité de revenir en arrière.

 

C'est bien, mais le retour en arrière ce fait sur la base des fichiers présents dans l'arborescence à l'instant où le créateur crée ses archives.

 

Si celui qui applique ce correctif a déjà appliqué d'autres correctifs, il se retrouve, en cas de retour en arrière, avec les fichiers de l'arborescence initiale du créateur et non les siens.

 

Ouf, avez vous saisie ma réflexion.

 

Nous avons donc besoin d'un module "application de correctif", et je crois que c'est ce que demande Monsieur le prof.

 

Ce module doit prendre en compte :

 

- la situation de départ chez l'utilisateur final

- les modifs proposées

- la création d'une sauvegarde dans une archive des fichiers qui seront écrasés par ce correctif.

- une jolie interface qui propose :

    - de charger et exécuter un correctif.

    - de charger et exécuter le retour en arrière.

 

Suis je hors sujet ?

 

Merci

 

Hervé

 

 

 

 

 

 

Modifié par herve
essai de correction des fautes

Partager ce message


Lien à poster
Partager sur d’autres sites
PeterRabbit    371

Non non, @herve, tu es en plein dans le sujet !

Le problème, c'est que les échanges diluent ce fil de discussion : j'ai mentionné plus haut ce dont tu as pris conscience. Cette technique n'est pas du tout la bonne, mais il fallait bien commencer doucement – et encore, j'ai failli en lâcher quelques-uns... :|

 

Je suis d'accord avec toi sur (presque) tout : 

  • Au début, je mettais des guillemets au mot "plugin" parce que ce n'en sont pas vraiment et que je voulais y mettre un peu d'auto-dérision, mais je les ai progressivement oubliés par paresse dactylographique : je tape de plus en plus mal.
  • Dans l'archive du "plugin", je mets systématiquement deux "modules", l'un pour installer et l'autre pour restaurer. Cette appellation me semblait convenable et je l'utilise depuis le début dans mes fichiers "readme".
  • Enfin par rapport à leur fonction, @creatifmen a abordé ce sujet plus haut : ils peuvent aussi bien servir à corriger un défaut de Zwii (ce seraient plutôt des "patchs") ou à apporter une amélioration qui n'existe pas encore (cf : la fonction "Hide picture" ci-dessus), ou encore à intégrer des scripts trouvés ici ou là, comme ceux que je propose dans la rubrique "Téléchargements", auquel cas on serait plus proche du sens que l'on donne ordinairement à ce mot.

Bref, ce que j'appelle "plugin" (avec des guillemets), c'est un moyen pratique de partager quelque chose que l'on a mis au point en permettant à l'utilisateur de l'installer sans aucune compétence : les tutos qui demandent d'éditer ici ou là en rebutent ou découragent certains, on le constate dans le début de cet atelier.

 

En revanche, pour la jolie interface, n'y compte pas : contrairement à ce que vous imaginez peut-être, je ne suis absolument pas codeur. De plus, ces "plugins" ne proposent pas de réglages : pour aller plus loin et personnaliser l'effet obtenu, il faut soulever le capot, et j'explique comment  faire dans la rubrique "Téléchargements". Et pourquoi y aurait-il besoin d'interface, vu que Filezilla se charge du dialogue pendant l'installation ?

En cela, je veux aussi rester fidèle à "l'esprit de Zwii". PluXml propose quelque chose de plus léché, mais comme @simon511000 le souhaitait, il faudrait une autre conception, avec des hooks, orientée plugins depuis le début. Et il n'y aura certainement pas de version 9, @Rémi s'étant retiré du développement et étant passé à un autre projet de CMS.

 

En revanche, tu me fournis toi aussi une ouverture pour la prochaine "leçon" – je mets des guillemets xD – qui cherchera à corriger le défaut rédhibitoire de cette première technique. Elle est prête.

 

Merci pour ta réflexion ! 

 

Modifié par PeterRabbit

Partager ce message


Lien à poster
Partager sur d’autres sites
Thispy    53
Il y a 23 heures, PeterRabbit a dit :

idee.png.1eb43b84f7fbc00c5fbeadadab044d28.pngDisons que c'est ambitieux, mais intéressant.

Mais ce serait le sujet d'un nouvel atelier : comment ajouter un bouton dans les pages de configuration ?

Si nous (vous et moi) tenons jusque là, je retiens l'idée. :)

 

 

 

 

 

Pourquoi nous ne tenons pas ?
Je ne dis pas que j'ai facile, je pédale même grave, mais soit...
On s'inscrit, on participe, du moins, on essaie :P

Il y a 21 heures, PeterRabbit a dit :

 

tip.png.f41172169bf49c74f1ecffce50189adc.png@Thispy Non, je n'avais pas prévu d'en parler, mais ta question (te) donne une piste de recherche : trouve l'autre fichier et la ligne qui t'ont permis de faire ce petit miracle, tu comprendras.

Autre conseil : ne pas hésiter à abuser de la combinaison de touches "Ctrl F" suivie de mots clefs réfléchis ! Avec un peu de pratique, c'est comme pour les champignons, on ne cherche plus, on trouve : F comme "find".

 

Faut que je regarde demain...

Aujourd'hui je suis HS :fearful:

Partager ce message


Lien à poster
Partager sur d’autres sites
Thispy    53
Il y a 20 heures, creatifmen a dit :

Coucou tout le monde @PeterRabbit @Thispy @Rich_ @herve

1.pour le tools ont oublie j'ai auto enterré le Project, (apparemment aucun codeur n'est intéressée),et comme mon cerveau n'écrit po bien le français je peux comprendre .
mais bon si jamais il y aura au moins une idée en ligne...
www.eweb.epizy.com/
2.j'ai rajouter quelques patch pour la v8.4.5 l'ont peut faire quelque test en ligne.
(patch très mal optimisé mais ça fonctionne ,normale j y connais rien suis pas codeur)

si ça intéresse quelques personnes sur les patch (fichier ori fichier patcher , genre comme comme l'a  fait Thispy). je peux les ajouter dans le repositories.

ps: pour le patch logo   (n'essayer pas de ,trouver, de télécharger, les images logo de zwii ou le cadenas vous allez pas y arriver....

a++ tout bon week :glasses: + :heart:  gilets jaunes courage
 

 

Ce n'est pas que je ne suis pas intéressée, c'est que je suis ici sur l'atelier pour apprendre et je me suffis de zwii comme il est actuellement.
D'ailleurs le site qui tourne avec zwii est toujours sur la branche 8.1
Tant qu'il ne s'agit pas de faille de sécurité, je ne vois pas pourquoi changer.
Par contre, je suis l'évolution de zwii !
Et j'apprends, des idées pour l'évolution de zwii, franchement aucune en ce qui me concerne, mais si j'apprends et que je me débrouille, pourquoi pas aider les autres utilisateurs.
J'ai soif d'apprendre, sans autres prétentions !

 

Tu te débrouilles pas mal pour un bleu au fait. :D
Je sais que tu n'en n'ai pas un !

Partager ce message


Lien à poster
Partager sur d’autres sites
PeterRabbit    371
Il y a 1 heure, Thispy a dit :

[...] Tu te débrouilles pas mal pour un bleu au fait. :D
Je sais que tu n'en n'ai pas un !

 

Oui, ça fait longtemps que je pense comme toi. :)

 

@Thispy La version importe peu : mes anciens "plugins" qui étaient conçus sur la 8.10 fonctionnent parfaitement, et ce n'est pas du remplacement de fichiers. Quoi qu'il en soit, j'actualise, ne serait-ce que pour voir si tout va bien.

Allez, la suite lundi : je poste dimanche et vous faites dans la semaine. xD

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

  • Contenu similaire

    • Par PeterRabbit
      ATELIER #2
      Où les choses vont légèrement se compliquer...
       
       
       
       
      A la fin du premier atelier, je vous ai laissés sur une impression insatisfaisante : "Pourquoi nous enseigner quelque chose pour nous dire après que ce à quoi nous sommes laborieusement parvenus n'est pas la bonne méthode ? " – Pour préparer progressivement les compétences nécessaires à l'atelier #3 à venir...
      Mais pour l'instant nous n'en sommes qu'à l'atelier #2 : apprendre quelques rudiments de PHP pour réécrire ponctuellement les fichiers au lieu de les écraser, sans toucher au reste du code.

      Grâce à Google pour mes recherches et à l'incontournable volumineux manuel officiel de PHP, j'ai peu à peu appris à remplacer une ligne de code par une autre en utilisant ces quelques instructions :
      $file="core/layout/main.php";  $filecontent=file_get_contents($file); $replace=str_replace('<header', '<header class="img<?php echo rand(1, 6);?>"', $filecontent); file_put_contents($file, $replace); Ne vous laissez pas impressionner par le code de la troisième ligne, c'est juste pour vous donner un vrai exemple.
       
      Je vous commente les instructions :
      $file="core/layout/main.php";  On associe le fichier que l'on veut modifier à la variable $file.
       
      $filecontent=file_get_contents($file); On ouvre le fichier $file, on lit son contenu et on le place dans la variable $filecontent.
       
      $replace=str_replace('<header', '<header class="img<?php echo rand(1, 6);?>"', $filecontent); On remplace le code d'origine par le nouveau code dans $filecontent et on associe le contenu modifié à la variable $replace.
      La syntaxe de cette instruction est simple : str_replace('code à remplacer', 'modification à apporter', $filecontent);
       
      file_put_contents($file, $replace); On écrit le contenu modifié dans le fichier $file et on le referme.
      Et on répète cette opération autant de fois qu'il le faut en fonction du nombre de modifications à apporter et du nombre de fichiers concernés.

      NB : Il existe des techniques plus sophistiquées et plus condensées qui relèvent de ce qu'on appelle "codage" – merci à @EBS01 pour l'exemple qu'il me fournit très à propos ! 
      Mais puisque celle-ci donne de bons résultats, pourquoi la compliquer, d'autant que le débutant s'y retrouvera plus facilement et qu'on peut faire du copier-coller à partir d'une maquette qu'on conservera dans un coin de son disque dur ?
       
      Mise en pratique
      Cette technique de remplacement peut être utilisée pour corriger un code. Nous aurions pu ainsi corriger le bug d'encodage de cette façon au lieu de remplacer les fichiers. Mais on peut aussi l'employer pour ajouter du code à certains endroits. C'est ce que nous allons voir.
      Je vous propose de partir du travail pratique que je vous avais demandé et que @Thispy m'a envoyé. Nous allons ajouter une police aux 27 dont dispose Zwii. Bien sûr, il suffirait d'expliquer comment faire, vu qu'il n'y a qu'une ligne à ajouter. Mais ce n'est pas notre propos et  comme l'exemple est simple, il sera plus parlant.
       


      Une étude de l'arborescence de Zwii (cf ; "README.md") vous amènerait à constater la présence d'un répertoire "theme" parmi les "modules du cœur" de Zwii ("core/module") : vous vous doutez que c'est là que se définissent les différents paramètres qui entreront dans la composition de la feuille de style qui définit l'apparence de Zwii  ("site/data/theme.css").
       
      Rendez-vous dans ce répertoire et éditez le fichier "core/module/theme/theme.php".
       
      Il va s'agir d'ajouter la police "Display" par ordre alphabétique (@Thispy ) entre les polices "Dancing script" et "Droid sans".
       
      Procédons pas à pas :
      Créez un nouveau fichier texte sur votre bureau et copiez-collez le code que j'ai commenté : $file="core/layout/main.php";  $filecontent=file_get_contents($file); $replace=str_replace('<header', '<header class="img<?php echo rand(1, 6);?>"', $filecontent); file_put_contents($file, $replace); Copier-coller minimise les risques de "fautes d'orthographe" : si vous oubliez la moindre virgule, c'est fichu...
      Nous ne mettrons qu'une instruction par ligne pour que le code soit plus facile à lire et surtout à relire.
       
       
       
       
      Adaptons maintenant ces lignes à ce que nous voulons faire. Il suffit juste de changer le chemin et le nom du fichier (ligne 1) ainsi que le code à remplacer et la modification à apporter (ligne 3). Je vous montre, vous appliquerez ensuite : $file="core/module/theme/theme.php";  $filecontent=file_get_contents($file); $replace=str_replace(''Dancing+Script' => 'Dancing Script',', ''Dancing+Script' => 'Dancing Script',         'Display' => 'Display',', $filecontent); file_put_contents($file, $replace); La ligne 1 ne soulevant pas de questions, je vous explique le principe de la ligne 3.
      En fait, pour ajouter la police "Display" à cet endroit précis, on remplace la ligne de la police précédente ("Dancing script") par deux lignes : la ligne de la police "Dancing script" à laquelle on ajoute celle de la nouvelle police "Display", sans oublier le passage à la ligne entre les deux. J'ai aussi ajouté un espace au début de la nouvelle ligne pour respecter la présentation du code.
       
      Si j'ai été clair, vous avez compris qu'il faut chercher dans le script des repères précis pour s'en servir comme de points d'ancrage pour les modifications. C'est le principe des hooks (crochets) dans des CMS conçus pour recevoir de vrais plugins. On aurait d'ailleurs pu prendre appui sur la ligne suivante, celle de la police "Droid sans".
       
      Exercice : Réécrivez la ligne 3 pour faire ce que je viens de dire !
       
       
       
       
       
      Voilà, votre script est prêt !
      C'est bien joli tout ça, me direz-vous, mais comment faire pour l'exécuter ?
      On pourrait le placer dans un fichier spécifique, "display.php" par exemple, qu'on placerait sur le site et qu'on appellerait depuis son navigateur, mais je me suis dit que ce serait plus élégant de l'ajouter au fichier "index.php" à la racine du site de façon qu'il s'exécute juste avant que Zwii ne se lance.
       
      Mise en pratique
      Faites une copie du fichier "index.php" à la racine de la 8.45 que vous avez téléchargée pour cet atelier (on continue à travailler sur cette version) et placez-la sur votre bureau (elle s'appellera toujours "index.php"). Éditez-la. Copiez-collez vos quatre lignes de code au niveau de la ligne 22, juste après la vérification de la version de PHP. Faites-les précéder d'un petit commentaire. Vous avez le choix de la syntaxe : /* Ceci est un commentaire dans un fichier PHP ou dans une feuille de style css */ // Ceci est un commentaire dans un fichier PHP Comme ceci :
      <?php /**  * This file is part of Zwii.  *  * For full copyright and license information, please see the LICENSE  * file that was distributed with this source code.  *  * @author Rémi Jean <remi.jean@outlook.com>  * @copyright Copyright (C) 2008-2018, Rémi Jean  * @license GNU General Public License, version 3  * @link http://zwiicms.com/  */ /**  * Vérification de la version de PHP  */ if(version_compare(PHP_VERSION, '5.6.0', '<')) {     exit('PHP 5.6+ required.'); } /* Installation de la police Display */ Vos quatre lignes de code [...] Enregistrez votre fichier et copiez-le à la racine de votre site d'essais. Validez le remplacement que vous propose Filezilla. Tatatan ! Le verdict va tomber : connectez-vous à votre site ou rafraîchissez la page d'accueil.  
      En fait, c'est plutôt le couperet qui est tombé 
      Parse error: syntax error, unexpected 'Dancing' (T_STRING) in /home/thgfrfo/public_html/8.45tp/index.php on line 25
      Une erreur d'interprétation du code due à une faute de syntaxe a bloqué le lancement de Zwii.
       
      Ne vous fiez pas aux explications des messages d'erreur, elles n'identifient pas toujours/souvent la cause première du problème. Dans le cas présent, ce n'est pas le "Dancing" qui est responsable du blocage, mais une erreur d'interprétation du code due à un petit détail que je vais vous expliquer.
       
      J'en profite pour vous conseiller d'utiliser un éditeur à coloration syntaxique (NotePad++ sur Windows ou Linux, ou Geany sur Linux par exemple – désolé, je n'ai pas croqué la pomme... 
       
       
       
       
      Ce qui aurait dû attirer votre regard, c'est que les parties de la ligne comprises entre des apostrophes sont en noir (sur Geany), couleur réservée aux instructions PHP. C'est donc là qu'est le problème.
      En effet, pour certains caractères, il faut expliquer à l'interpréteur PHP qu'il doit les considérer comme des caractères à écrire dans un fichier, et pas comme une partie d'une instruction à exécuter. Suis-je clair ? 
      Pour cela, il faut les faire précéder d'un antislash (Alt Gr 8). En jargon, on appelle cela "échapper" un caractère.
      Parmi ces caractères, il y a justement l'apostrophe dont votre ligne 3 fait un grand usage.
      Vous allez donc "échapper" ces apostrophes, mais pas toutes ! Celles qui encadrent la ligne à remplacer ou les deux lignes de remplacement appartiennent au script !
       
      Pour cette tâche, vous pouvez travailler indifféremment sur votre bureau ou en éditant le fichier en ligne.
      Faites précéder la première apostrophe 'Dancing d'un antislash, comme ceci : \'Dancing. Miracle, la suite se colore en orange... mais le problème se décale d'une apostrophe... Échappez donc une à une les 11 apostrophes restantes.  Cette fois, la ligne a une couleur plus homogène et vous voyez bien les deux virgules qui structurent le code.
      $replace=str_replace('\'Dancing+Script\' => \'Dancing Script\',', '\'Dancing+Script\' => \'Dancing Script\',         \'Display\' => \'Display\',', $filecontent); Au passage, ce travail de bénédictin vous a peut-être fait prendre conscience qu'il aurait été plus rapide d'échapper les apostrophes du code à remplacer, de copier ce code "échappé", puis d'ajouter la seconde ligne...
       
       
       
       
      Opérez le remplacement du fichier "index.php" de votre site, soit en le copiant à nouveau, soit en enregistrant les modifications avec Filezilla. Rafraîchissez la page. Ça marche, Zwii se lance !  
      Et si nous allions vérifier la bonne exécution de notre réécriture ?
      Éditez le fichier "core/module/theme/theme.php" de votre site.
      Bravo, la police "Display" apparaît à la ligne 44, entre "Dancing script" et "Droid Sans" ! 
      Et mince ! Elle y est deux fois ! 
      Eh oui, aussi bizarre que ça puisse paraître, même si votre erreur de syntaxe avait bloqué le lancement de Zwii, le script s'était pourtant exécuté et le remplacement avait été fait !
       
      Vous voyez donc que notre technique n'est pas parfaite  : si nous avions corrigé une ligne de code,  à la seconde exécution le script n'aurait plus trouvé le texte à remplacer. Mais dans le cas présent, la ligne qui sert d'ancrage est toujours là, et on la multiplierait à chaque connexion au site.
       
      La solution au prochain épisode ?
      Nous avons bien travaillé.
       
      J'ai oublié de donner le travail à faire !
      Envoyez-moi par MP un fichier "index.php" qui installe la police "Permanent Marker" en utiisant la technique que vous avez apprise.
      Indice : Zwii se fait livrer ses polices par Google Fonts.