Quand tu arrive chez toi en retard et que tu as 15 min pour dire discuter avec ta femme et tes enfants, t’amuser avec bébé, te détendre et manger avant d’enchainer 2h de call max (en théorie car demain levé à 5h30) avec tes associés …. et qu’il est déjà…. 21h30 ?!
J’imagine qu’il y a parmi vous beaucoup de personnes passionnées et curieuses de pleins de choses et qui, tout naturellement, n’hésitent pas à s’essayer dans des domaines différents (ou pas) de sa profession.
Que ce soit avoir une activité professionnelle secondaire, plus ou moins confidentielle, ou bien un domaine qui n’a strictement rien à voir avec son full time job, il reste difficile d’être sur tous les fronts à la fois. C’est d’ailleurs pour ça, qu’on se « contente » de les enchainer les unes après les autres…
L’année dernière j’ai mis en veille mon side projet (et profiter d’une pause nécessaire pour comprendre le qui/quoi/ou/quand/comment/pourquoi de tout ce sur quoi je travaillais en parallèle depuis 3 ans) pour me consacrer un peu plus à cet art martial que j’affectionne tant : Le Taekwondo.
Finalement, après une année 2017 consacrée à mes premières expériences de compétiteur (j’ai remporté le titre de vice champion de France de Taekwondo en catégorie -80kg vétéran 2), j’ai eu l’opportunité de me replonger dans mon side projet. Et depuis septembre, mes associés et moi-même travaillons à la refonte complète du projet, en parallèle de nos autres projets ou de nos autres obligations (personnelles et professionnelles).
Entre les obligations personnelles, professionnelles et les envies diverses et variées de soi-même et des autres, une chose est sûr : je me refuse à courir, à foncer tête baissée. J’ai parfois l’impression qu’il s’agit de rester alerte, comme lors d’un combat, où chaque position, chaque mouvement, chaque respiration aura une conséquence sur la demi seconde qui va suivre et qu’il faut agir d’instant en instant, en gardant un regard aussi détaché que possible sur la trame en cours, pour pouvoir se mouvoir tout en « gardant le cap » comme disait Wayne Dyer.
Comme le dit si bien le Grand Maître Lee Kwan Young « Quand on garde en tête l’objectif, le résultat vient tout seul«
Comme il n’existe pas de voie ultime qui mène au bonheur, tout comme il n’existe pas de méthode toute faite garantissant le succès, je suis certains que vous avez un point de vue, une astuce à partager.
si lors de la création de votre nouveau projet Laravel, et notamment lorsque vous souhaitez créer les tables de votre base de données via artisan en ligne de commande, vous rencontrez le message suivant :
In Connection.php line 458:
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
C’est que vous êtes probablement sous MariaDB ou bien sous MySQL version inférieur à 5.7.7
Depuis la version 5.4 de Lavarel, le charset par défaut est utf8mb4 qui permet de stocker les emojis 💩
Pour résoudre ce soucis en conservant votre configuration serveur, la solution est toute simple :
Dans votre projet Lavarel, rendez-vous dans le fichier app/Providers/AppServiceProvider.php et ajoutez les deux lignes suivantes :
use Illuminate\Support\Facades\Schema;
au niveau de l’en-tête du fichier comme suit :
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;
class AppServiceProvider extends ServiceProvider
{
et
Schema::defaultStringLength(191);
dans la fonction public « boot » pour définir une longueur de caractère par défaut, comme suit :
Ce n’est pas une blague ! Microsoft propose l’installation de plusieurs distribution Linux à l’intérieur de Windows 10. Pourquoi faire ? Et bien, si comme moi vous avez besoin de faire quelques opérations basiques comme vous connecter en SSH sur un serveur et que l’utilisation de PuTTY vous ennuie et que vous trouvez que c’est tellement plus simple et naturel sur un CLI Linux alors ça peut être carrément bien utile ! Il y a bien entendu très probablement moult raisons d’installer un GNU/Linux dans un Windows sans passer par VirtualBox ou Docker mais là tout de suite, j’en ai aucune idée…
Les étapes à suivre pour installer et exécuter Linux dans Windows 10
Attention, Microsoft permet l’installation d’une distribution Linux sans interface graphique (GNOME, MATE, etc..). Si vous souhaitez avoir un vrai bureau, orientez vous sur une machine virtuelle (à l’aide de VirtualBox (tutoriel) par ex).
Activer le Subsystem Linux :
Lancer le « PowerShell » de Windows en tant qu’administrateur
entrez la commande suivante : Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Vous devriez avoir une fenêtre comme ça :
Redémarrez votre ordinateur
Choisissez votre distribution Linux
Allez dans le Microsoft Store et tapez « Linux », on vous invitera à voir tous les Linux que propose le Store de Microsoft
On vous proposera plusieurs distributions dont : Ubuntu, Kali, Debian ou encore OpenSUSE et SUSE Linux Enterprise Server (!?!)
Personnellement j’ai l’habitude d’Ubuntu et Debian, donc je prends Ubuntu
On clique sur « Obtenir » et une fois que c’est fait on a plus qu’à lancer notre système Linux !
Un CLI s’ouvre et vous demande de patienter :
Après un certain moment (près de 10 min pour moi), Linux vous demandera un nom d’utilisateur :
Puis un mot de passe pour votre session Linux :
Et voilà votre session Ubuntu Linux sous Windows prête à être utilisée :
Dans BootStrap, il arrive que la vidéo qu’on insère s’affiche parfaitement sur mobile et qu’elle apparaisse trop petite sur un ordinateur (ou l’inverse). Heureusement il existe une astuce toute simple pour résoudre ce problème proportion.
En effet, les templates responsive permettent d’adapter un site à l’écran du visiteur en utilisant des formes fluides. Quand on ajoute une iframe, cette dernière a en général une taille fixe, du coup, quand on change d’écran, la taille de l’iframe ne bouge pas.
On se retrouve ainsi avec une vidéo qui selon les cas, déborde de l’écran du mobile ou est trop petite sur un écran d’ordinateur.
Pour résoudre ce problème, rien de plus simple.
Avec BootStrap, il suffit d’insérer son code iframe à l’intérieur d’un div avec une class spécifique qui se chargera de redimensionner l’iframe à l’écran en conservant son ratio.
Ainsi au lieu d’utiliser le code iframe tel quel, fourni par Youtube :
On utilisera le code suivant
Un dernier point : si vous souhaite adopter un aspect 4:3 au lieu de 16:9, remplacez 16by9 par 4by3 comme suit : embed-responsive-16by9 par embed-responsive-4by3
J’espère que ça vous aidera, n’hésitez pas à partager !
Il m’est arrivé quelque chose de surprenant et de totalement inédit à mon niveau. Du jour au lendemain il était devenu impossible de faire une recherche sur Google ou de me rendre sur certains sites web utilisant le protocole sécurisé « HTTPS ». Je partage avec vous la procédure pour résoudre ce bug.
le fameux bug « SSL_ERROR_NO_CYPHER_OVERLAP » sous Firefox
Le même bug sous Chrome « ERR_SSL_VERSION_OR_CIPHER_MISMATCH »
Après quelques recherches personnelles pour tenter de comprendre et de résoudre le problème, il s’avère que c’était BitDefender Antivirus qui provoquait le problème.
En effet, s’agissant d’un bug présent sur l’ensemble des navigateurs, ça ne pouvait pas être un paramétrage à changer sur chacun d’entre eux. En outre, le bug était apparu subitement, sans mise à jour de l’un ou de l’autre, ni même du système. C’est tout naturellement que j’ai orienté mes recherches sur le seul logiciel qui se mette à jour tous les jours (et parfois même plusieurs fois par jour) : l’antivirus.
Il s’agit d’un bug provoqué par le module « Scan SSL » de BitDefender. Depuis la mise à jour de début janvier 2017, quand il est activé, il est impossible de faire une recherche sur Google ou de se connecter à certains sites web en « HTTPS ». Le bug est présent sur tous les navigateurs présents sous Windows 10 (Edge, Firefox, Chrome, etc.).
Voici les 3 étapes pour résoudre le bug « SSL_ERROR_NO_CYPHER_OVERLAP » sous Firefox et « ERR_SSL_VERSION_OR_CIPHER_MISMATCH » sous Chrome sous Windows 10:
Se rendre dans BitDefender
Afficher tous les modules et cliquer sur la roue dentelée du panneau « WEB PROTECTION »
Désactiver l’option « Scan SSL »
Ci-dessous en images :
Etape 1
Etape 2
Etape 3
Sur plusieurs sites web, j’ai vu des procédures qui touchait au fichier de configuration des navigateurs ou des paramètres réseaux. Mais rien au sujet de l’antivirus.
Ce qu’il faut retenir finalement, c’est qu’avant de se lancer dans des modifications qui pourraient engendrer encore plus de problème, pour résoudre un bug, il faut avant toute chose, le comprendre.
J’espère que ça vous aidera, n’hésitez pas à partager !
Que faire quand on programme avec Pyttsx et qu’on a un problème avec libespeak.so?
En travaillant sur un petit projet qui me permettrait de faire parler mon Rasberry Pi 3, je me suis penché ce que me permettait de faire python en la matière.
C’est grâce à la bibliothèque Pyttsx, que vous pouvez faire parler votre petit ordinateur.
Alors voici le code source du petit programme en question (à exécuter avec Python2 et non Python3) que j’ai récupéré depuis le net et modifié :
voices = engine.getProperty(‘voices’)
for voice in voices:
print (« Using voice: », repr(voice))
engine.setProperty(‘voice’, voice.id)
engine.say(« Hey! Do you want to make music with you phone ? »)
engine.say(« so download Shyne in your iphone at GoShyne.com »)
engine.runAndWait()
Quant je lançais le code avec Python3 rien ne fonctionnait, normal: pyttsx n’a pas été porté sur la version 3 de python.
Donc en lançant le script avec Python2, j’ai eu le message d’erreur suivant :
OSError: libespeak.so.1: cannot open shared object file: No such file or directory
Le problème n’était pas résolu même en installant pyttsx avec pip, c’est donc après quelques recherches que j’ai pu trouver la solution à mon problème.
Pour résoudre le problème de bibliothèque partagée quand on souhaite utiliser pyttsx il suffit d’exécuter la commande suivante :
sudo apt-get install espeak
Donc voilà le fin mot du problème, pour faire de la synthèse vocale avec Python, il faut pyttsx mais en plus il vous faudra installer Espeak sur votre système.
J’espère que ça vous aidera, n’hésitez pas à partager !
Dans le cadre de mon apprentissage de la programmation en Python et à l’occasion de l’acquisition d’un Raspberry 3 pour Noël (^_^), je me suis heurté à un soucis dès les premières minutes : impossible de charger une bibliothèque pourtant fraîchement installée :/
C’est à l’occasion de la découverte de mon tout nouveau Raspberry Pi 3 et des pages de ressources qui lui sont dédiées que je me suis retrouvé bloqué dès les premières minutes du tutoriel sur la programmation Python et la récupération via une API de données météorologiques.
En effet, pour suivre ce fameux cours intitulé « Graphing the weather » j’ai du installer deux bibliothèques Python non pré installées dans le pi, grâce à la commande suivante :
sudo apt-get install python3-matplotlib -y
sudo apt-get install python3-requests -y
Le hic c’est que j’ai eu un petit soucis avec matplotlib, Python m’indiquait systématiquement « ImportError: No module named matplotlib.pyplot« .
Après avoir passé plusieurs longues minutes à surfer sur le net, sans trouver de solution propre à mon cas de figure (je veux dire par là, ma configuration, je programme sur Raspberry Pi 3).Sur d’autres systèmes (mac par ex.) il fallait vérifier si la bibliothèque était installée au bon endroit (selon qu’on utilise Pthon 2 ou 3). Même « pip install » n’a pas fonctionné (problème de compilation de code, du coup j’ai regardé du côté des outils de compilation à installer ou mettre à jour… ça n’a pas résolu mon problème de matplotlib….). En regardant du côté du Shell Python j’ai voulu vérifier si malgré tout matplotlib était installé via la commande « help() » puis après avoir valider avec le paramètre « modules » : il était bien présent
Finalement j’ai pu finalement trouver la solution à ce problème de matplotlib. La méthode consiste à corriger un problème d’installation.
sudo apt-get install python-matplotlib
Et oui, après avoir installé matplotlib pour python 3, on l’installe à nouveau mais pour …. ben python tout court.
J’espère que ça vous aidera, n’hésitez pas à partager autour de vous!
Quand on souhaite mettre en place des boutons de partages en générale on se tourne vers des codes généré par les plateformes comme Facebook, Twitter ou Google+. Mais ils impliques souvent l’utilisation d’autres bouts de codes qui finissent par alourdir votre site.
Générer des liens sans utiliser les codes fournis par les différentes plateforme de réseaux sociaux est possible. Cela a plusieurs avantages, au hasard :
vous savez ce qu’il se passe
étant court le code est léger
vous ne faites pas appel à d’autres ressources qui pourraient ralentir le chargement de votre page.
Donc pour ce faire, nous partons du principe que vous avez déjà les boutons Twitter, Facebook etc et que vous souhaitez permettre le partage de votre page en cliquant sur ces fameux boutons.
Derrière chaque bouton, nous allons placer un lien qui ouvrira une nouvelle fenêtre qui permettra le partage.
Étape 1 : on définit la phrase de partage
par ex. « Créer votre propre musique en quelques secondes »
Étape 2 (non obligatoire) : on utilise des émojis
Ca peut etre intéressant d’insérer un emoji (attention à ne pas en abuser) pour faire ressortir votre message sur les flux de réseaux sociaux et attirer l’attention.
On se rend sur emojipedia.org et on chercher un jolie soleil (attention faites vos recherches en anglais) 🌞 (sun) et on rajoute des notes de musique 🎶
ça donne : « Créer votre propre musique sur votre iPhone en quelques secondes 🌞🎶 »
et on ajouter le lien vers votre page web et des hashtags, ce qui donne :
« Créer votre propre musique sur votre iPhone en quelques secondes 🌞🎶 http://goshyne.com #appli #music #iphone »
Étape 3 : on se rend sur un super site web dédié à la création de lien de partage
on récupère la phrase et on la colle dans les zone réservé à cet effet et relatif à chaque réseau social
Hyper simple !
A noter que ça fonctionne pour les réseaux sociaux suivants :
Facebook
Twitter
Google Plus
LinkedIn
Pinterest
Et la génération d’un lien « mailto » est également possible (avec remplissage automatique de l’objet et du corps évidemment) : seul bémol pour cette fonction, le destinataire du mail est défini à l’avance
Et voilà vous pouvez tester le résultat :
Si vous avez apprécié ce post, merci de le partager, ça pourrait aider d’autres personnes
To be authentic is, I guess, the best challenge in someone’s life. It’s not so easy to express yourself honestly. But it’s worth it, for you and for the world.
To do so, (in fact we can say when you are authentic you never do, you only be, and all the things you do is only a consequence of who you truly are), I have some great sources (Podcasts, blogs, books etc.)
I share with you some of them:
OutlierMagazine.co : It’s a great podcast about people (most of them are entrepreneurs) who decided to realize their dream, sometimes despite their fear, their doubts etc. They talk about their path, the choices they made, what they achieve professionally and personally. With each interview you have a takeaway. Even if you don’t like podcast, you can read the itws 😉
Because, if you want to be authentic, you cannot content yourself reading/listening to/watching mainstream media, trends and so on. You have to admit that your vision, like life itself, is constantly evolving, and your education and mainstream media cannot lead you to freedom. You must have other kind of information, this is why I personally recommend Collectiv Evolution, and the Mind Unleashed
Seth Godin sends you daily (very) short blog posts about personal thoughts and tips on life and work:
I recommend you his (for today) last post about empathy: http://sethgodin.typepad.com/seths_blog/2015/08/empathy.html
“… if you want to know why someone does what they do, start with what they know, what they believe and where they came from…”
Jiddu Krishnamurti, was …. well I don’t know how to qualify him (is it useful), I would say he is the most authentic person I know (ok I don’t know him personally and he past away).
Watch this video below (with french subtitles) and if you want to know more about him, a lot of books were publish based on his public talks.
I recommend you the book “Commentaries on Living”
“Sorrow has to be understood and not ignored. To ignore it is to give continuity to suffering; to ignore it is to escape from suffering. To understand suffering needs an operational, experimental approach. To experiment is not to seek a definite result. If you seek a definite result, experiment is not possible. If you know what you want, the going after it is not experimentation. If you seek to get over suffering, which is to condemn it, then you do not understand its whole process; when you try to overcome suffering, your only concern is to avoid it. To understand suffering, there must be no positive action of the mind to justify or to overcome it: the mind must be entirely passive, silently watchful, so that it can follow without hesitation the unfolding of sorrow. Mind cannot follow the story of sorrow if it is tethered to any hope, conclusion or remembrance. To follow the swift movement of what is, the mind must be free; freedom is not to be had at the end, it must be there at the very beginning. « What is the meaning of all this sorrow?’’
Because to be able to understand this world and to take action you need a balance between the right information and silence, you need to meditate and there are a lot of ways to meditate : walk (just walk, without thinking, just observing what’s surrounding you), observe your thoughts or your breath, etc…
The key in meditation is observation. And you can say you don’t have time to meditate, but maybe you can consider meditation like an activity and you need to schedule in your todo list. That’s ok. But you can meditate everywhere, so personally, I meditate everyday when I lay down on my bed, and finally I fall asleep and that’s ok 🙂 Give it a try!
Of course, sometime I am too exhausted and I simply sleep and that’s fine, it’s not a competition and you don’t do it for anyone else but you. And remember, you need both, silence and information.
Too much information without practice is useless and it’ll increase thoughts in your brain and finally you won’t find balance and authenticity.
In the end of your life, when you’ll look back to see what happened, you’ll realize that the choices you made were the expression of who you were at this moment, and you won’t have regrets because you’ll understand that people (and you) do what they do along their understanding of the moment.
Understanding this fact, leads you to see life in a better way.
You’ll become wiser. You’ll be authentic. You’ll be your own master and your own student.
If you want to share some of your best sources you use in your journey, don’t be shy and share them in the comment section below!
I use Divi premium template for some of the websites I built. Divi is very powerful template by ElegantTheme, it allows you to make very beautiful and trendy website, whatever the kind of website you want to build: e-commerce, blog, magazine, portfolio, landing startup page, etc.
For one of my clients, I wanted to change the height of all sliders.
I found a lot of pages talking about it, and we have different ways to do it.
We can download a plugin to help us to customize the theme: Divi Booster.
We can change the code using Custom CSS
I didn’t want to install another plugin (too many plugins make your website heavier, and it is more complicated when you have to keep all this plugins up to date: compatible with each other and with wordpress itself). Furthermore, I only wanted to change 1 thing and using a plugin just for that is stupid.
Eventually I did not want to buy the update of the template for now and all resources I found on the Internet were for the latest versions of Divi tempate.
So I created a Custom CSS code fo Divi 2.1.12
I pasted the following code in the Divi Theme Options screen :
I changed the height of sliders and the position of their contents (descriptions and images). When you change the « max-height » do not forget to change « padding » and « margin-top« .
Of course, it is a temporary solution, and it’s crucial when you have a website to maintain it up to date.
Commentaires récents