Blog de Yoan De Macedo http://yoandemacedo.com/blog Les articles du blog de Yoan De Macedo Le télétravail, et vous ? http://yoandemacedo.com/blog/le-teletravail-et-vous Je viens de relire la semaine de 4h de Tim Ferriss et je dois dire que ce livre est toujours aussi stimulant.
Je ne suis pas d'accord avec tous les éléments notamment la partie concernant l'externalisation utilisant du personnel à moindre coût à l'autre bout du monde. J'avoue avoir un peu de mal avec ça.
La création d'une muse, aussi, parait simple mais la réalité est tout autre, surtout aujourd'hui (le livre a quelques années). Toutefois, il est encore possible de réaliser de beaux projets grâce à Internet et ce mode de travail permet de s'approcher de son propre "art de vivre." L'ouvrage est très bien "marketé" (dont le titre) et il ne faut pas tout prendre à la lettre non plus. Mais, globabement, en le lisant avec un peu de recul et en intégrant sa propre philosophe, ce livre est plein de conseils, d'ouverture d'esprit.

Je l'ai lu pour la première fois en 2013 et je voulais voir si après 5 ans et pas mal de nouvelles expériences je le verrai sous un autre angle. Je m'intéresse beaucoup au mouvement minimaliste, à la méditation pleine conscience par exemple depuis quelques années. En 2013, je n'avais pas encore étudié ces domaines là et je ne me souvenais pas que Tim Ferriss les mentionne finalement à sa façon. J'ai redécouvert cette partie de l'ouvrage.

Depuis 2012, je travaille la plupart du temps en télétravail (80% du temps) et le travail à distance est une des clés pour l'auteur bien sûr. Je dois dire qu'aujoud'hui, c'est un point très important pour moi. Je ne suis pas certain de pouvoir facilement me réintégrer dans un travail "classique" demandant une présence dans un bureau chaque jour de la semaine. Je ne sais pas si j'y serai confronté un jour mais j'espère bien que ce ne sera pas le cas. C'est inenvisageable pour moi aujourd'hui. Rien que le fait d'y penser me met mal à l'aise.
Si vous n'avez jamais essayé et que le télétravail vous tente, vous devriez expérimenter. Si vous êtes entrepreneur, c'est plus simple mais si vous êtes salarié, ce n'est pas perdu. Tim Ferriss donne pas mal de pistes à ce sujet. Si vous amenez la demande intelligemment et que vous montrez à votre "responsable" (j'ai vraiment du mal avec cette terminologie hiérarchique) que votre productivité pourrait être grandement améliorée, c'est probablement négociable.

Si vous n'avez jamais lu ce livre, je vous le conseille vraiment. Lisez-le avec un peu de recul et vous verrez qu'il vous fera beaucoup réfléchir. Me concernant, je pense qu'il s'est passé quelque chose après voir lu ce livre et encore autre chose en le relisant.

Je crois que le message le plus important concerne l'art de vivre (lifestyle chez les Anglo-Saxons). Ce n'est pas parce que la majorité des gens vivent d'une certaine façon que l'on doit faire de même. C'est vrai dans beaucoup de domaine. Etre à contre-courant n'est pas toujours une mauvaise chose, c'est même parfois bien plus intéressant. Chacun peut placer le curseur où il le souhaite et expérimenter.

]]>
Premier retour d'expérience sur la vente d'un plugin WordPress http://yoandemacedo.com/blog/premier-retour-dexperience-sur-la-vente-dun-plugin-wordpress Vendre son propre produit est une envie souvent présente lorsqu'on propose de la prestation de services. J'ai fait plusieurs tests et j'ai finalement décidé de tenter l'aventure des modules WordPress en commençant par un plugin lié au e-commerce.

Une de mes questions était la suivante : "peut-on encore aujourd'hui décider de vendre des plugins et en vivre ?". Avant d'aller plus loin, sachez que je n'ai pas encore la réponse me concernant mais certains sont encore récemment passés d'un modèle "agence" vers un modèle "produit". Je vous propose de lire un article à ce sujet.

Concernant mon retour d'expérience, je n'ai (pour l'instant) pas beaucoup communiqué sur ce premier produit à part sur ce blog. Mais, rien qu'avec cette petite communication, j'en vends régulièrement. Alors, clairement, ça ne suffit pas et ma principale activité est toujours la prestation de services. D'ailleurs je ne dis pas qu'il faut absolument passer d'un métier de prestation de services à la vente d'un (ou plusieurs) produit(s). Tout dépend ce que l'on souhaite (et ce qu'on aime) faire. Personnellement, pouvoir dissocier revenu et temps passé et ne pas seulement "vendre du temps" est quelque chose qui me questionne depuis longtemps et j'ai clairement envie de m'orienter progressivement vers la partie produit. Pour cela, j'ai encore besoin d'expérimenter, de trouver d'autres produits mais ce premier retour est positif.

Je vais donc ressortir le même conseil que j'ai lu (et entendu maintes fois) et que j'ai pourtant mis beaucoup de temps à suivre : il ne faut pas attendre et tester rapidement. Sinon, on hésite, on tatonne, on ressasse et on ne passe pas à l'action.

]]>
La dématérialisation n'est pas forcément écologique http://yoandemacedo.com/blog/la-dematerialisation-nest-pas-forcement-ecologique On a souvent tendance à penser que la dématérialisation est écologique. Il est clair que remplacer le papier par des flux numériques est souvent plus intéressant pour la planète.

Toutefois, si on pousse à l'extrême opposé, les risques existent aussi. Le numérique consommerait 10% de l'électricité mondiale. Incroyable, non ?

Lorsqu'on envoie un email, on consomme de l'énergie. Quand on poste une info quelque part aussi, ... A l'échelle mondiale, c'est énorme. Qui pense à son emprunte carbone lorsqu'il glisse son doigt vers le bas pour recharger un flux d'actualité ?

Nous devrions repenser nos usages numériques en n'oubliant pas cette facette. Il est très facile de réaliser des gestes simples pour limiter notre impact mais pour cela, il faut avoir conscience de celui-ci.

Toute le monde peut donner un coup de main. Ceux qui hébergent nos données, en créant des datacenters plus propres, utilisant de l'énergie renouvelable (on en trouve de plus en plus), en les installant intelligemment et en réutilisant la chaleur générée pour chauffer des bâtiments par exemple. Les concepteurs d'applications web, en intégrant cet aspect dans le développement. La scalabilité horizontale (ajouter des machines pour absorber la charge) est massivement utilisée car le coût du matériel est de plus en plus faible. N'oublions pas que tous les composants consomment beaucoup de métaux rares. Si rien ne change, les conséquences seront dramatiques (elles sont déjà très problématiques). Nous devrions davantage optimiser le code et limiter certaines surcouches consommatrices de ressources.

L'utilisateur, lui aussi, à travers un usage raisonné peut grandement participer à cette amélioration générale. Finalement, on peut tous améliorer notre impact, moi le premier. Autant nous avons intégré des gestes simples dans la vie quotidienne (le tri par exemple), autant il est difficile d'avoir les bons réflexes lorsqu'il s'agit du numérique.

]]>
Adopter une approche MVC pour un plugin WordPress http://yoandemacedo.com/blog/adopter-une-approche-mvc-pour-un-plugin-wordpress Le pattern MVC est très utilisé en développement web pour structurer proprement un projet et faciliter sa maintenance.

Lorsqu'on développe des plugins WordPress, il est donc tentant d'appliquer ce pattern ou plutôt de s'en approcher.

Je vais vous expliquer la méthode que j'utilise.

Dans le répertoire de mon plugin, je créé les sous-répertoires suivant :

  • view
  • controllers

J'ajoute aussi un répertoire qui contiendra mes classes métiers.

Dans le fichier principal du plugin imposé par WordPress, nomduplugin.php, j'appelle les constructeurs de mes vues et de mes controlleurs.

Par exemple :

    public function __construct(){
        /* Du code ici */

        /* Déclaration des vues et des controlleurs */
        new MonPlugin_view_xxx();
        new MonPlugin_view_yyy();

        new MonPlugin_controller_xxx();
        new MonPlugin_controller_yyy();

        /* Du code ici */
    }

Il est d'ailleurs possible d'ajouter une condition pour ne charger que les vues et les controlleurs adaptés à la page courante.

Dans les constructeurs de mes vues, je connecte les hook nécessaires.

    public function __construct(){
      add_filter('woocommerce_checkout_before_order_review', array($this,      
      'afterCheckoutReview'), 10, 1);
    }

Pareil pour les controlleurs.

    public function __construct(){
        add_action('woocommerce_save_product_variation', array($this, 'save_variation_settings_fields'), 10, 2);
    }

Bien sûr, cette astuce permet de s'approcher de la logique MVC. Je suis tout à fait conscient que ce n'est pas impeccable mais il faut s'intégrer dans la logique du fonctionnement de WordPress. Nous n'avons pas une liberté totale.

Cette architecture donne des plugins faciles à maintenir et lorsqu'on travaille sur un plugin qui commence à grossir, c'est bien plus agréable.

]]>
Infopreneurs, proposez un paiement fractionné  pour vos formations http://yoandemacedo.com/blog/nfopreneurs-proposez-un-paiement-fractionne-pour-vos-formations Préparer une formation et la vendre sur le web est un travail conséquent. Il n'est pas rare de vendre un tel travail 150, 200 euros ou plus.

Ce n'est pas une somme énorme pour se former et acquérir de nouvelles connaissances  / compétences.

Toutefois, pour un internaute n'ayant pas l'habitude de payer pour se former, 200 euros peut être un frein.

Proposer un paiement fractionné à vos clients peut être un excellent levier pour développer vos conversions. Payer 200 euros sur 5 mois par exemple permet au client d'étaler son paiement. Son investissement a un impact beaucoup plus faible sur son budget mensuel. 

J'ai développé un module woocommerce pour ajouter cette possibilité.

Vous pouvez acheter le module en vous rendant sur cette page.

]]>
Détecter la mise à jour d'un plugin WordPress http://yoandemacedo.com/blog/detecter-la-mise-a-jour-dun-plugin-wordpress Si vous développez des modules WordPress, il est probable qu'entre deux versions d'un plugin, vous souhaitiez modifier la base ou réaliser un traitement particulier. WordPress ne dispose pas de mécanisme à ma connaissance permettant de détecter le changement de version d'un plugin. Il n'y a pas de hook pour ça.

Il est donc nécessaire de réaliser son propre système afin de résoudre ce problème.

Tout d'abord, il suffit de mettre en place une constante dans votre code définissant la version actuelle. De mon côté mes plugins sont des classes avec un squelette du type (je vous passe les headers de WP) :

    class MonPlugin(){

        /* Mes attributs */

        public function __construct(){
            register_activation_hook( __FILE__, array($this, 'install'));

            /* Je déclare ici les connexions aux autres hooks ... */

        }

        public function install(){
            /* Je réalise ici ce qui doit être fait à l'activation du module */
        }

        public function methode1(){

        }

        public function methode2(){

        }

        /* etc ... */
    }

Imaginons maintenant que dans ma version 1.0, je ne dispose pas d'une table dans la base de données dans mon plugin mais qu'une table soit nécessaire pour la 1.1. On ne pas utiliser la methode install() puisque qu'elle n'est appelée qu'à l'activation du plugin. Si l'utilisateur remplace le répertoire du plugin puis le désactive et le réactive à nouveau, c'est bon. Mais il ne fera peut-être que remplacer le répertoire. Dans ce cas, aucun traitement ne sera réalisé.

Nous allons utiliser le hook plugins_loaded qui est appelé au chargement du plugin. Nous réaliserons ici le traitement nécessaire pour vérifier la version et la mettre à jour si nécessaire. Il est donc indispensable d'avoir une constante dans le code pour stocker la version en cours (celle du plugin disponible sur le serveur) et la version connue par WorPress (stockée en base).

    class MonPlugin(){

        const PLUGIN_VERSION = '1.1.0';

        /* mes attributs */

        public function __construct(){
            register_activation_hook( __FILE__, array($this, 'install'));
            add_action('plugins_loaded', array($this, 'load_plugin'));  

            /* Je déclare ici les connexions aux autres hooks ... */

        }

        public function install(){
            /* Je réalise ici ce qui doit être fait à l'activation du module */
        }

        public function load_plugin(){

                if(self::PLUGIN_VERSION != get_option('monplugin_version')){
                    /* La version a changé */
                    /* On réalise les traitements nécessaires en fonction des versions ... */

                    update_option('monplugin_version', self::PLUGIN_VERSION);
                }
        }

        public function methode1(){

        }

        public function methode2(){

        }
        /* etc ... */
    }

Si la version en base n'est pas la même que la constante définie dans le code alors on réalise un traitement particulier puis on met à jour la version dans la base. Avec cette méthode, vous pourrez traiter les mises à jours de vos plugins lorsqu'ils ont besoin de traitement entre deux versions.

Si le mécanisme n'était pas présent dans la première version, ce n'est pas très grave puisque l'appel à get_option('monplugin_version') ne vous retournera rien. Vous pourrez alors fixer la version manuellement car le plugin est forcément antérieur à l'ajout du mécanisme.

De mon côté, j'ai poussé le système un peu plus loin en appliquant des patchs à la chaîne. En effet, il est possible qu'un traitement soit nécessaire entre la 1.0 et la 1.1 mais aussi entre la 1.1 et la 1.2 et la 1.2 et 1.3. Que faire si un utilisateur passe directement de la 1.1 à la 1.3 ? Il ne faut pas appliquer les changements de la 1.3 seulement mais tous les changements précédents. Je définis donc les changements entre 1.0 et 1.1, 1.1 et 1.2, 1.2 et 1.3 et j'applique tous les patchs nécessaires entre la version installée et la nouvelle.

]]>
Calmer la pompe à dopamine http://yoandemacedo.com/blog/calmer-la-pompe-a-dopamine J'ai commencé la méditation fin 2013. J'en ai parlé à plusieurs reprises sur ce blog.

J'utilisais une application dédiée sur mon téléphone qui me servait de compte à rebours avec un petit son en début et fin de séance.

L'application donne tout un tas de statistiques et propose une fonctionnalité spécifique sur laquelle je souhaite m'attarder. Après chaque séance, elle incrémente un compteur affichant le nombre de sessions consécutives réalisées. Si vous manquez une journée, il repasse à zéro.

Il m'est arrivé depuis 2013 de manquer peut-être quatre, cinq séances (je ne sais plus exactement). Bref, le compteur était autour de 1300/1500 il y a quelques jours. Puis, lundi dernier, je vois "1". J'ai raté une session le week-end qui précédait ou j'ai eu un souci avec l'application (j'avoue que je ne sais pas et ce n'est pas très important).

Au moment où j'ai vu ce "1", j'ai ressenti une frustration importante. J'avais "brisé" la chaîne. Cette technique est bien connue et elle est plutôt efficace lorsqu'on souhaite créer une nouvelle habitude. Une fois que le compteur a été suffisamment incrémenté, notre cerveau déteste le voir repasser à 0.

Toutefois, je n'ai pas apprécié ce ressenti. La méditation est un moment qui doit apporter une certaine sérénité. Finalement, j'ai simplement besoin d'avoir une notion de temps pour arrêter la séance quand je le souhaite.

J'ai décidé de ne plus utiliser d'application dédiée pour ça et le compte à rebours natif de mon téléphone conviendra très bien.

Cette histoire ne va pas changer le monde, j'en conviens. Je voulais juste mettre en avant les réactions que peuvent induire une application simplement à travers son design. Se sentir hyper frustré en voyant un compteur se mettre à 0 est-il nécessaire ? Normal ?

Ce phénomène est souvent utilisé pour rendre les utilisateurs addicts à des jeux, des apps diverses. C'est la dopamine générée par le cerveau à travers la stimulation du circuit de la récompense qui explique ces sensations. On pourrait se dire que lorsqu'il s'agit d'une activité bonne pour la santé : méditation, sport, etc ... C'est plutôt positif. Chacun placera le curseur où il le souhaite mais je crois qu'il est important d'en avoir conscience.

On peut aimer la technologie mais aussi en refuser certaines facettes même en étant développeur web. L'arrivée du smartphone a été une véritable révolution avec de nombreux points très positifs.

Toutefois, en prenant du recul, on peut difficilement nier que certains comportements engendrés peuvent aussi être néfastes. Il est, je crois, nécessaire de reprendre le contrôle.

A ce sujet, je vous invite à regarder ce reportage diffusé sur France 2 la semaine dernière.

]]>
Pourquoi je ne m'intéresse pas vraiment au bitcoin ? http://yoandemacedo.com/blog/pourquoi-je-ne-minteresse-pas-vraiment-au-bitcoin On m'a plusieurs fois demandé si j'avais des bitcoins, si je m'intéressais au sujet. Je n'ai jamais acheté de Bitcoin et je n'ai pas l'intention d'en acheter pour l'instant (ni une autre cryptomonnaie par ailleurs).

Clairement, l'idée derrière les cryptomonnaies me plaît. Le fait d'avoir des monnaies décentralisées, une éthique différente est un sujet forcément intéressant surtout pour un informaticien passionné par le web. Cependant, je n'aime pas ce qui se passe actuellement et ce dont on entend parler. On met rarement la cryptomonnaie en avant pour des projets de qualité mais surtout pour l'argent que récolte ceux qui l'échangent. Pour l'instant, je n'entends que "levée de fond", "le bitcoin vaut 10 000$", "le bitcoin vaut 12 000$" ... mais pas grand chose de très novateur. D'ailleurs la volatilité de cette monnaie ne me rassure pas.

Le problème, c'est que j'ai l'impression qu'il se passe plus ou moins la même chose que dans la finance traditionnelle mais avec encore moins de règles. On pourrait aussi parler de la consommation électrique nécessaire pour "miner" cette monnaie. C'est assez inquiétant. Cependant, je ne connais pas à fond le sujet, loin de là et c'est peut-être un ressenti dû aux articles qui circulent sur le sujet qui pointent beaucoup le côté spéculatif. J'attend de voir des projets vraiment intéressants utilisant la blockchain et les cryptomonnaies avec une éthique derrière. Ils sont probablement déjà là et encore méconnus.

Le jour où je pourrai utiliser une monnaie différente dans ma vie quotidienne, pratique, et avec un vrai projet derrière, je verrai les choses diféremment.

]]>
Ethique à la Silicon Valley http://yoandemacedo.com/blog/ethique-a-la-silicon-valley Décidément, on ne compte plus les tentatives de rédemption chez d'anciens salariés / dirigeants ayant oeuvré chez un géant de la Silicon Valley.

Cette fois, il s'agit d'un ancien haut placé chez Facebook. (Lire l'article de Usbek & Rica).

Il regrette ce qu'est devenu le réseau social et semble par ailleurs parler du système en général et va très loin dans sa critique.

Pour lui, « les boucles de rétroaction court-termistes stimulées par la dopamine que nous avons créées détruisent la façon dont notre société fonctionne ». Oui il va loin.

Je me demande si cette prise de conscience chez toutes ces personnes est complètement honnête mais si elle l'est, c'est appréciable. J'espère qu'elle aboutira à modifier certains services en donnant au design éthique la place qu'il devrait occuper.

Ces outils ont un pouvoir de plus en plus grand sur nos vies et donc une grande responsabilité.

Personnellement je n'utilise plus les réseaux sociaux depuis longtemps maintenant et franchement ils ne me manquent pas. Il m'arrive de jeter un oeil de temps en temps à une info précise via la colonne dédiée du moteur de recherche Qwant. Clairement, j'ai été accro durant une période et j'ai compris que ce n'était pas bon pour moi. Cet affollement général dans l'utilisation des réseaux sociaux a probablement échappé à leurs créateurs. Certains s'en rendent compte et regrettent. Ce n'est pas une affirmation mais un ressenti de ma part.

]]>
La neutralité du net menacée http://yoandemacedo.com/blog/la-neutralite-du-net-menacee Aimeriez-vous que votre opérateur internet (ou mobile) limite l'accès à quelques sites pour un forfait de base avec un surplus pour accéder à l'ensemble du web ? Que certains services soient plus lents que d'autres en fonction de votre forfait ?

Moi, non.

Aux États-Unis, le risque est de plus en plus grand. La FCC (commission fédérale des communications américaines) est bien partie pour faire disparaître ce principe de neutralité du net en vigueur jusqu'à aujourd'hui. C'est bien triste.

En Europe, pour l'instant, ce n'est pas le cas et ce n'est pas d'actualité. Toutefois, des opérateurs ont déjà tenté quelques actions un peu obscures à ce sujet. Certaines ont été interdites mais d'autres sont encore en suspens. Au Portugal, par exemple, une récente polémique a vu le jour. Un opérateur propose des forfaits "messagerie" , "réseaux sociaux", "musique" ...

Un précédent encore plus inquiétant a eu lieu en Inde (Voir un article à ce sujet). Heureusement le régulateur a refusé.

Sur le principe, on pourrait se dire pourquoi pas ? Laissons les opérateurs proposer les forfaits qu'ils veulent et si quelqu'un n'utilise le web que pour les réseaux sociaux alors pourquoi ne pourrait-il pas prendre un forfait adapté ? Si on s'arrête là, effectivement pourquoi pas.

Sauf que derrière cette idée se cache de grands dangers. Que se passerait-il si un géant du web offre un forfait aux utilisateurs en donnant accès à l'ensemble de ses propres services et à quelques services partenaires et bloque le reste du web ? Grâce la puissance marketing dont dispose ce géant, il pourrait populariser son offre très rapidement. De nombreux utilisateurs se disant qu'ils n'utilisent finalement pas grand chose sur le net à part les services du géant se diraient : "Ok tant pis pour les quelques sites auxquels je n'aurai plus accès, j'opte pour un forfait gratuit". Ces utilisateurs se retrouveraient donc enfermés dans un "pseudo web". Il serait donc relativement facile de leur afficher les actualités qu'on souhaite leur mettre en avant, la musique qu'ils doivent écouter, les livres intéressants ou pas, etc ... Les algorithmes de classement sur de nombreux services, ont déjà ce pouvoir. Si l'utilisateur est en plus limité à quelques sources d'informations, l'effet est démultiplié.

Je ne parle même pas des difficultés pour de nouvelles entreprises (startups ou autres) qui souhaiteraient se faire une place (sachant déjà qu'aujourd'hui une grande partie de leur trafic dépend des géants) sur la toile (qui n'aurait plus guère ressemblance avec une toile d'ailleurs).

Personnellement, je trouve ça effrayant. C'est le contraire des fondations d'Internet, de son ouverture. J'espère vraiment qu'une prise de conscience aura lieu sur tous ces sujets qui parfois semblent secondaires pour les internautes mais dont les conséquences sont très loin d'être négligeables.

]]>