Quoi de neuf avec xili-language 2.23.11 ?

La dernière version intègre une meilleure gestion de la metabox des traductions dans le nouvel univers Gutenberg qui bouleverse considérablement l’interface et son mode de dialogue avec la base de données.

Certes, on peut facilement faire des colonnes (par exemple).

Mais, pour le développeur, il faut reconsidérer tous les interfaces qu’on ajoutait pour assister l’éditeur, le rédacteur.

Impossible d’ajouter un simple “input” par quelques lignes de php :

De solides connaissances en JS (réact) sont nécessaires. De plus, c’est d’abord un block a minima qu’il faut ajouter.

Exemple : il était facile d’ajouter la case à cocher pour que le permalien soit adapté selon le titre modifié de l’article traduit. En mode classique, elle était non loin du bouton de mise à jour, mise en ligne. Or, ce n’est plus possible, elle a donc mise sous la liste des traductions. Comme les autres cases de la liste, le mode gutenberg, détecte un changement (cocher, décocher,…) et alors enclanche le processus js, json et met à jour les contenus (et liens entre les diverses traductions).

Exemple illustré

l’image est prise en bas de l’éditeur

la case à cocher est en bas à gauche

où est le wiki xili ?

Le wiki xiki est pour le moment suspendu car son contenu était devenu obsolète compte tenu des évolutions de WP et de la trilogie xili-language.

Maintenant motorisé par WP 5.2 et la trilogie xili-language 2.23+

Maintenant fonctionnant avec les derniers WP 5.2 et Xili-language 2.23, le site nécessite PHP 7.1+ pour intégrer le renommage des classes et les nouvelles sources réécrites avec les dernières règles WP. Lors d’un travail de plusieurs semaines, cela a été possible avec l’extension WP coding standards pour PHP Code Sniffer pour Sublime !

Les extensions Xili-dictionary (2.14.03) et xili-tidy-tags (1.12.01) ont aussi été réécrites avec les recommandations WPCS. (Et comme xili-language, disponible dans GitHub et SVN ( derniers dossiers tags) du ‘repository WP’.

PHP 7.2 : comment remplacer la DEPRECATED create_function pour passer une variable dans add_action() ?

create_function est maintenant obsolète avec PHP 7.2. Comment le réécrire avec une fonction anonyme pour passer une variable dans add_action() à la fin d’une fonction calculant cette var? Dans ce cas, l’action ‘admin_notices’ affiche un message lorsque le thème est activé.

Remplacer

add_action( 'admin_notices', create_function( '', 'echo "' . addcslashes( $msg, '"' ) . '";' ) );

par

add_action(
    'admin_notices',
    function() use ( &$msg ) {
       echo $msg;
    }
);

Noter que la variable est passé en référence ( &$msg ) dans function.
Voir dans le fichier functions.php de ce thème dans GitHub ( line 148 ).

Faites en bonne usage !

WordCamp Lille 2018 – Compte-rendu partiel et partial

Comme chaque année précédente depuis 2009, voici ici un compte-rendu partial et partiel du Wordcamp de Lille.
En relisant celui de 2013 placé sous la variable locale $wp_giraffe, il est presque évident de placer celui-ci sous la classe wp_chti avec toutes ses composantes, variables, méthodes et fonctions dans le fichier class-wp-chti.php.

Abbaye de St Amand Les Eaux
Abbaye de St Amand Les Eaux

Né il y 65 ans à Saint-Amand les Eaux ville thermale du nord non loin de la source qui a remplit les bouteilles d’eau (non) gazeuses mis à disposition des gosiers (stressés parfois) des orateurs et oratrices, dans mes souvenirs, j’ai, en mémoire, (comme me l’a confirmé Daniel un ouvrier à la retraite) que “ch’timi” , né dans les tranchées de la Grande Guerre 1914-18 était plutôt réservé aux habitants des cités minières / ouvrières mais le succès du film a élargi le sens et a redoré une région qui est maintenant dans les hauts de la France depuis Louis XIV il y a 450 ans.

Artois, Hainaut (région trans-frontalière avec la Belgique), Flandre maritime, Wallonie, Picardie, (Boulonnais, côte d’Opale.) : Il existe même des livres et dictionnaires pour chacune des variantes des patois au sein de ces parties (ex-comtés des hauts de France).

Lille - Grand-Place
Lille – Grand-Place

Habitant à 45 km de Lille, je me lève donc à 6h40 pour attraper le TER de 7h40 afin d’être au petit-déjeuner annoncé dès 8h30. Sous le vent très frais, au Nouveau Siècle, nous attendrons 8h50 que la sécurité en rouge (pompiers) et en cravate bleue cyan ouvre le nouveau-siècle et fouille (avec méthode) nos sacs… et nous montons dans les galeries bien chauffées et éclairées (pas besoin de casque et de lampe) avec notre badge programme couleur+photo autour du cou et la musette rouge plein de goodies (merci les sponsors) y compris une mini-torche décapsuleur (de bière du nord bien-sûr) pour les prochains soirs) – le tout remis par le porion souriant au maillot rouge qui nous pointe sur sa liste.

Lampe de mineur
Lampe de mineur

Dans le vestiaire, nos manteaux ne sont pas suspendus à des fils mais sur des cintres numérotés (on est à Lille pas sur le carreau de la mine).

Avant de rejoindre les zones d’extraction, un sérieux encas avec notamment des vrais croissants/pains au chocolat de bonne taille comme chez le boulanger dans le coron ou la cité.

Heureux de retrouver les potes (now named contributor or lead !!) dont les premiers nous ont accueillis il y a presque 10 ans en février 2009 à Paris lors du 2ème barcamp qu’ils avaient organisés… que de galeries creusées, que de fossiles trouvés. En fait de vrais ingénieurs – géologues qui avaient deviné l’immense capacité du sous-sol du bassin minier WordPress.

Les topos, les ateliers

quelques notes sur ceux où j’étais – (programme officiel)

Coder par Sylvie Clément

Un C.V. déjà long et on ne peut que partager son enthousiasme à continuer de programmer avec poésie (“Code is Poetry” est la baseline choisi Matt M.)

Design par Thomas

Thomas, qui est (re)connu pour la qualité de son travail bien fait, nous rappelle avec détails et conviction combien ce n’est pas le vieux internet-explorer qui doit nous soucier dans le code html ou le css mais bien le visiteur moins habile qui ne dispose pas des capacités de chacun. De quoi penser aux premières maisons inventées dans le nord pour les handicapés mentaux par les Papillons blancs devenu APEI.

Immersive

une présentation menée comme un sketch / dialogue.

Avec Dylan et Yannis, dans un dialogue sur scène tourbillonnant et aux images “flashantes”, envahissantes et vibrantes (au bord du déclenchement de la crise d’épilepsie), je retiens l’invitation insistante à être la brebis qui sort du troupeau pour explorer de nouveau espace, signature, look, identité qui affirme le message à mettre en ligne via le Web et WP.  Vaste défi quand on connaît les algorithmes des robots de recherche et leurs listes “suggestives” que l’on ne peut plus désactiver !

Au mess/estaminet près des stands, les échanges avec le binôme avant leur départ vers les plages du débarquement confirment que leurs batailles seront gagnantes.

Innovation interface utilisateurs

Repas

Bravo au choix des organisateurs et au traiteur :

La farandole de la cuisine du nord avec en plat central Carbonade était un carnaval/ducasse (festival) de goût Nord Pas de Calais.

Gutenberg par Michael Gout

Michael, qui n’est pas développeur mais communiquant et utilisateur averti de WordPress, a réussi à me convaincre de continuer à explorer le nouvel interface d’édition Gutenberg. Et bien, chapeau (de cuir de mineur) à lui, je vais le mettre en place et en action pour un nouveau site d’une association. Car c’est puissant, pour le moment limité à la zone “content” qui est en dessous de la zone “title” pour un post mais facile (et semble-t-il sans bug). Ai pu combiner slider-diaporama (extension metaslider), texte en colonne, image etc etc… dans une page composite de présentation.

Roubaix

Ici c’est la grande ville (et sa magnifique piscine musée), donc c’est du grand WordPress en contexte “grosse production” avec 4 présentateurs habiles et compréhensibles. Fini la pelle et le piolet, tous les acquis technologiques dans et autour de WordPress sont en action (comme ces énormes machines dans les galeries pilotées par un mineur mais construites par d’innombrables contributeurs de par le monde.)

Si l’on regardait par les baies vitrées de cette belle grande salle “Québec”, une puissante “drache” ( pluie battante comme on dit dans le nord ) a inondé le quartier.

Dans les galeries pour clore la journée

O2Switch : j’ai découvert des serveurs gonflés d’énergie (et non d’air) qui viennent de Clermont-Ferrand…

WYSIJA devenu MailPoet : ai revu KIM que j’avais vu pour la première fois au 2eme BarCamp de 2009

Be Api fondé par Amaury à qui en 2009, je demandais après ses topos très clairs, où est la doc ? il a répondu de lire les sources. Et bien je confirme, même si aujourd’hui le codex est très très riche.

Amaury en 2013
Amaury en 2013

et bien-sûr les organisateurs qui ont initié le meetup et ce Camp. (merki merki – dirait la comédienne douaisienne capitaine Marleau !)

Belges

En ce lendemain de Saint-Nicolas, c’est comme le père Noël en Belgique (nos voisins étaient nombreux et bien contents d’être venus. ) comme c’est le 6 décembre et non le 25, nos parents nous emmenaient à Bruxelles ou Courtrai dès novembre pour rêver devant les vitrines de jouets  !

La drache

Selon WIKI De l’allemand dreschen (« battre au fléau »). S’applique à une pluie battante.

toutes les photos n’ont pas été prises ce vendredi car il ne faudrait pas croire que dans le nord comme dans l’ouest il pleut tout le temps !

Le retour avant la nuit

En évitant ce “dernier bar de la fin du monde” face au Nouveau Siècle  et sans laisser le temps à la pluie de mouiller min kapio, j’attrape le TER bondé avec Rouen et je descendrais au premier arrêt dans la nuit.

Bar Avant la fin du monde
Bar Avant la fin du monde

Je passe devant le siège social des Charbonnages de France (non loin de l’hôtel de ville qui a vu Louis XIV car  lui ne fut détruit pas par les guerres) siège devenu copropriété immobilière… la variable Transcient chti_camp_active est close et disparait de la table wp_options.

Hôtel de ville de DOUAI
Hôtel de ville de DOUAI

Le concept bar camp

Comme évoqué à plusieurs reprises, je repense à la formule plus interactive et active de (demi-)journée barcamp qui a ses avantages pour chacun des participants… nous y reviendrons lors du prochain meetup à Lille si les valeureux animateurs nous y invitent…

Bonne nouvelle année 2019 et au prochain meetup ( 6 février 2019 à Lille ) sous le regard de Gutenberg 😉

Les photos sont prises par l’auteur Michel. Les liens ici ou là viennent du sympathique site : https://mineurdefond.fr/

 

WordCamp 2018 à Lille

Ce vendredi 7 décembre 2018 : premier wordcamp sur les terres des Hauts de France. A l’évidence cela discutera ferme sur Gutenberg et les bouleversements occasionnés (ainsi que l’immense travail pour les développeurs d’extension. L’occasion sera aussi ouverte pour discuter autour des extensions multilingues et surtout les spécifications de base de description des langues et de leurs attributs.

Réactiver FTP sur Mac OSX high Sierra (10.3.x)

Régulièrement, chaque fois que mon iMac de dév. est mis à jour (maintenant high Sierra 10.3.6), chaque fois, le protocole ftp est désactivé : impossible d’utiliser le client Fetch and FTP pour mettre à jour WordPress sur le serveur du localhost ou sur les instances de MAMP.
Après quelques heures à rechercher à nouveau les infos, de les tester, voici donc une synthèse des éléments à mettre en place pour retrouver un protocole ftp ou plutôt sftp.

Etape n°1 : mettre à jour le protocole ftp avec brew

En supposant que brew est déjà installé, sur terminal taper la commande :
brew install inetutils
soyez patient, le processus est long et ne sera bavard qu’en fin d’achèvement.

Etape n°2 : test ftp – la connexion

utiliser alors la commande terminal

bash-3.2$ ftp localhost
ftp: connect to address ::1: Connection refused
ftp: Trying 127.0.0.1 …
ftp: connect to address 127.0.0.1: Connection refused
ftp: Trying fe80::1%lo0 …
ftp: connect to address fe80::1%lo0: Connection refused
ftp: no response from host
ftp>

taper alors quit pour retrouver bash

A ce stade, il est impossible d’utiliser ftp (port 21) avec le couple username/password 🙁 !

Etape n°3 : authentification via ssh (merci au support MAMP)

• Ouvrir les Préférences Système Mac OSX => Sharing.
• Activer Remote Login.
Vous verrez
Remote Login: On
To log in to this computer remotely, type “ssh username@xxx.xxx.x.xx”.

Etape n°4 : configurer le client FTP (ici fetch)

Dans le client FTP, créer une nouvelle connexion SFTP avec les éléments suivants:
• Server: xxx.xxx.x.xx
• User Name: username
• Password: your user password for the system

Etape n°5 : configuration de wp-config pour les mises à jour automatiques internes de WordPress

Lignes à ajouter :

define(“FTP_HOST”, “xxx.xxx.x.xx:22”);
define(“FTP_USER”, “username”);
define(“FTP_PASS”, “your user password for the system”);
define(“FTP_SSL”, true);
define(“FS_METHOD”, “ssh2” ); // need ssh-sftp-updater-support plugin in localhost wp server if php server don’t have ssh2 extension

Cette extension – ssh-sftp-updater-support – disponible dans le dépot WordPress est indispensable si le php du serveur local n’a pas l’extension ssh2 (comme le montre les messages d’erreur lors des tests de mise à jour).

Et maintenant tout est enfin en place et va fonctionner… jusqu’à la prochaine mise à jour du Mac !

Taxinomie et Objet WP_term

xili-tidy-tags

Mémo pour faire la synthèse de l’approche originale du modèle de données utilisé dans xili-tidy-tags créé en 2019 (WP 2.3) et toujours opérant dans WP 4.8 Evans en 2017 !

de la naissance des idées

En 2009, lors de la construction progressive de l’extension multilingue xili-language basée sur la taxonomie (WP 2.3), s’est posé la question : comment gérer les mots-clés (étiquettes, post-tag) et leur traduction ? A l’analyse, il est paru évident que d’une langue à l’autre, il n’y a pas de lien bi-univoque entre un mot et sa traduction (et inversement). En élargissant la réflexion, il est apparu aussi que des mots pouvaient être regroupés selon un ensemble sémantique (marque / trademark) – pas traduisible. Des noms, des couleurs. Et que donc l’extension ne concernait pas uniquement les sites bi ou multilingues. D’où la mise au point une extension indépendante dénommée xili-tidy-tags. Comme l’ont fait certains sites, ils ont pu créer des nuages selon des thématiques sémantiques. A noter que cette approche taxinomique permet à un mot clé d’appartenir à plusieurs ensembles (donc d’apparaître dans plusieurs nuages).

Sur le plan technique et selon les possibilités et contraintes présentes dans WP, le choix s’est porté pour lier la taxinomie à un groupe de termes. Cela va donc demander de créer des requêtes spécifiques (puisque non liées à un objet autre de type post ou custom post type). De même, il ne sera pas possible d’utiliser les tax_queries telles qu’elles furent définies lors de l’évolution de WP.

Puis sont apparus les taxonomies type mots-clés mais spécifiques comme celles présentes dans bbPress (topic-tag). S’est donc posé aussi le problème de la réalisation notamment dans l’interface admin, une ou plusieurs extensions ? En fait, le choix s’est porté sur le mode d’une instantiation avec donc un interface dédié à chaque taxonomie. A titre d’exemple pour les développeurs, la gestion des “topic-tag” se met en place quand bbPress est détecté. Avec quelques lignes de code, une nouvelle instantiation peut-être mise en place si une taxonomie est ajoutée (custom taxonomy).

un peu technique

Les échanges via le tracs WordPress ne sont pas toujours aisés mais il y a été fait allusion à la colonne de la table term_group (“alias”). versus l’approche taxinomique. En fait, xili-tidy-tags a besoin des deux notamment dans un contexte multilingue. La taxinomie language des mots clés les groupe par langue et la colonne de la table “term_group” permet de passer d’une langue à l’autre pour un mot-clé.

A suivre…

Que retenir du WordCamp Europe Paris de Juin 2017 ?

Si tout a été parfaitement organisé, ce qui frappe le plus ce sont les quantités (par milliers), les nombres de personnes, de nationalité (80 !), de bénévoles… Quel contraste depuis le barcamp de 2009 où Matt est venu rencontrer les dizaines de participants du 2ième barcamp en France. L’orientation du monde WordPress autour des affaires (business) et de la professionnalisation se confirme d’années en années. Y aura-t-il encore de la place pour les “passionnés” – de la nuit ou des week-end – qui ont été à l’origine de très nombreuses contributions au sein de la “communauté” ? En tout cas, la grande majorité utilise du matériel MacOS.

Que ce soit lors d’exposés (en anglais), de rencontres formelles ou non, de visites sur les stands des sponsors, différents sujets abordés feront l’objet de recherches documentaires, d’approfondissement et de mise en application voire publication  :

  • WP Rest API.
  • relecture des modifications présentes et à venir du bootstrap, intégration dans les extensions.
  • Css Grid.
  • Réorganisation des publications (et mise en valeur de moins récentes mais toujours d’actualité).
  • Extension de la taxinomie des objets type post (menu, CPT) à des objets comme WP term (tel que mis en oeuvre dans l’extension xili-tidy-tags depuis 2009).
  • Impact de php7.
  • Les démarches sécurité – relecture des codes source anciens.
  • Réflexions autour d’une base de référence unique (comme dans JetPack) des centaines de langues disponibles et de leurs nombreux attributs (noms, codes,  po rules – plurals, …).

et enfin développer les contacts initiés lors de ces denses journées.

M.