# SkyMinds.Net > Tribulations d’un développeur WordPress et sysadmin à l’accent geek avec un zeste d’interactivité prof-élèves - le tout arrosé de culture libre. ## About This Site - **Organization**: SkyMinds — https://www.skyminds.net - **Founded**: 1999-01-01 - **Contact**: skyminds@gmail.com | 0649685665 - **Location**: Treillières, France ## Authors - **Matt Biscay** — Développeur WordPress Expertise: WordPress, Développement Web, Formation Credentials: Certified WordPress Expert: https://www.credential.net/817fcdb2-3529-4331-8fef-99c3a9db5f4b#acc.HhZVP38b Certificate of Proficiency in English (University of Cambridge) CAPES Anglais (Education Nationale) LinkedIn: https://www.linkedin.com/in/matt-biscay/ - **Cécile Guimard** — Agrégée de Lettres Classiques Expertise: Français, Latin, Grec, HLP Credentials: Agrégation de Lettres Classiques. ## Articles ### Synology : corriger “rsync permission denied” - **URL**: https://www.skyminds.net/nas-synology-rsync-permission-denied/ Après une mise à jour de DSM sur un NAS Synology, une commande rsync qui fonctionnait parfaitement peut soudainement échouer avec une erreur Permission denied. Le réflexe naturel consiste alors à vérifier le mot de passe, la clé SSH, les droits du dossier ou les permissions DSM. C’est utile, mais ce n’est pas toujours la vraie cause. Sur Synology, l’erreur peut aussi venir du chemin du binaire rsync côté NAS. Après certaines mises à jour DSM, le binaire peut changer d’emplacement, ou ne plus être trouvé correctement dans l’environnement SSH utilisé par rsync. Dans ce cas, la solution consiste à indiquer explicitement à rsync où se trouve le binaire distant grâce à l’option --rsync-path. Voici comment diagnostiquer et corriger proprement l’erreur rsync Permission denied sur un NAS Synology, sans bricoler les permissions au hasard ni sortir le grand classique chmod -R 777. Le symptôme : rsync échoue après une mise à jour DSM Vous lancez une commande rsync depuis un serveur Linux vers votre NAS Synology, par exemple pour sauvegarder un site, des fichiers ou un dossier système : rsync -avz --delete \ -e "ssh -p 22222" \ /home/www/ \ user@nas.example.local:/volume1/Backups/www/ Et vous obtenez une erreur du type : Permission denied, please try again. rsync: connection unexpectedly closed Ou encore : rsync error: unexplained error (code 255) at io.c Si l’accès SSH fonctionne, que le compte est correct, et que les droits du dossier sont bons, le problème peut venir du chemin de rsync sur le NAS. La solution : ajouter --rsync-path La correction consiste à préciser le chemin complet du binaire rsync sur le NAS Synology avec l’option --rsync-path. Depuis DSM 6, et encore avec DSM 7 dans la majorité des configurations, le chemin standard est : /usr/bin/rsync La commande devient donc : rsync -avz --delete \ --rsync-path=/usr/bin/rsync \ -e "ssh -p 22222" \ /home/www/ \ user@nas.example.local:/volume1/Backups/www/ Dans beaucoup de cas, cette option suffit à faire repartir une sauvegarde rsync qui échouait après une mise à jour DSM. DSM 5, DSM 6 et DSM 7 : le chemin de rsync Le point important de l’article d’origine est celui-ci : le chemin du binaire rsync a changé selon les versions de DSM. Version DSMChemin courant de rsyncOption à testerDSM 5/usr/syno/bin/rsync--rsync-path=/usr/syno/bin/rsyncDSM 6/usr/bin/rsync--rsync-path=/usr/bin/rsyncDSM 7/usr/bin/rsync--rsync-path=/usr/bin/rsync Sous DSM 5, rsync pouvait se trouver dans /usr/syno/bin/rsync. À partir de DSM 6, Synology utilise généralement /usr/bin/rsync, un emplacement plus standard sous Linux. Même si DSM 6 et DSM 7 trouvent souvent rsync sans aide, il reste pertinent d’ajouter --rsync-path=/usr/bin/rsync dans les scripts de sauvegarde. C’est explicite, stable, et cela évite les surprises lors d’une mise à jour. Vérifier le chemin de rsync sur le NAS Pour confirmer le bon chemin, connectez-vous au NAS en SSH : ssh -p 22222 user@nas.example.local Puis cherchez le binaire rsync : which rsync command -v rsync ls -l /usr/bin/rsync ls -l /usr/syno/bin/rsync Si which rsync ne retourne rien, mais que /usr/bin/rsync existe, utilisez explicitement : --rsync-path=/usr/bin/rsync Si vous êtes sur un très vieux DSM et que le binaire existe dans /usr/syno/bin/rsync,... --- ### Mettre à jour Ubuntu vers la dernière version disponible - **URL**: https://www.skyminds.net/mettre-a-jour-ubuntu-derniere-version-disponible/ Mettre Ubuntu à jour peut vouloir dire deux choses différentes : installer les mises à jour de paquets, ou passer à une nouvelle version d’Ubuntu. Ce n’est pas le même niveau de risque, ni le même niveau de préparation. Pour mettre à jour les paquets installés, on utilise apt update et apt upgrade. Pour passer d’une version d’Ubuntu à une autre, par exemple d’Ubuntu 24.04 LTS à Ubuntu 26.04 LTS, on utilise do-release-upgrade. Voici une méthode propre pour mettre Ubuntu à niveau vers la dernière version disponible, sans transformer votre serveur en escape game système. Mise à jour ou mise à niveau : la différence Avant de lancer des commandes, il faut distinguer deux opérations. OpérationCommande principaleEffetMise à jour des paquetsapt upgradeMet à jour les logiciels de la version actuelleMise à niveau de versiondo-release-upgradePasse à une nouvelle version d’Ubuntu Si vous êtes en Ubuntu 24.04 et que vous lancez apt upgrade, vous restez en Ubuntu 24.04. Vous recevez simplement les mises à jour disponibles pour cette version. Si vous lancez do-release-upgrade, Ubuntu peut vous proposer de passer à la version suivante autorisée par votre canal de mise à niveau. Quelle version d’Ubuntu choisir ? Ubuntu propose deux grands types de versions : les versions LTS et les versions intermédiaires. LTS signifie Long Term Support. Ces versions sortent tous les deux ans et reçoivent cinq ans de support standard. Interim releases : ces versions sortent entre deux LTS et sont supportées environ neuf mois. Pour un serveur, une machine de production, un site WordPress ou un poste stable, choisissez une version LTS. Pour tester du matériel récent ou des logiciels plus frais, une version intermédiaire peut se justifier, mais elle demande des mises à niveau plus fréquentes. Ubuntu ne permet pas de sauter directement plusieurs versions LTS avec do-release-upgrade. Il faut avancer par étapes : 20.04 vers 22.04, puis 22.04 vers 24.04, puis 24.04 vers 26.04. Vérifier la version Ubuntu actuelle Commencez par vérifier la version installée : lsb_release -a Ou, plus simplement : cat /etc/os-release Vous pouvez aussi vérifier le noyau Linux actuellement utilisé : uname -a Le noyau ne suffit pas à identifier proprement la version Ubuntu, mais il aide à contrôler l’état du système après la mise à niveau. Vérifier le canal de mise à niveau Ubuntu utilise le fichier /etc/update-manager/release-upgrades pour savoir quelles versions proposer. cat /etc/update-manager/release-upgrades La ligne importante est Prompt. Prompt=lts Avec Prompt=lts, Ubuntu ne propose que les versions LTS. C’est le bon réglage pour un serveur ou une machine stable. Prompt=normal Avec Prompt=normal, Ubuntu peut proposer les versions intermédiaires. À réserver aux machines où vous acceptez des mises à niveau plus fréquentes. Pour modifier ce fichier : sudo nano /etc/update-manager/release-upgrades Avant toute mise à niveau : sauvegarder Avant une mise à niveau Ubuntu, sauvegardez. Pas “si possible”. Pas “plus tard”. Maintenant. Sur un serveur, sauvegardez au minimum : les fichiers des sites ; les bases de données ; les fichiers de configuration dans /etc ; les certificats TLS ; les tâches cron ; les fichiers... --- ### Récupérer l’ID d’un article, d’une page ou de n’importe quel objet WordPress - **URL**: https://www.skyminds.net/recuperer-id-post-page-wordpress/ WordPress attribue un identifiant à presque tous les objets qu’il enregistre : articles, pages, médias, catégories, utilisateurs, commentaires, menus, produits ou commandes. Pour trouver rapidement cet ID, ouvrez généralement l’élément dans l’administration et inspectez son URL. Pour un développement fiable, utilisez ensuite l’API correspondant au type d’objet recherché. Vous devez parfois renseigner un ID dans un shortcode, une extension, une règle d’exclusion ou un snippet PHP. Le besoin paraît simple. Pourtant, WordPress utilise plusieurs familles d’identifiants. Un article et une page partagent le même système. Une catégorie utilise un autre espace. Un utilisateur peut donc porter l’ID 42, tandis qu’une page et un commentaire utilisent également 42. Aucun conflit ne se produit. Ces objets vivent dans des tables et des API différentes. Ce guide explique comment identifier le bon objet, puis récupérer son ID depuis l’administration, PHP, WP-CLI, l’API REST ou la base de données. Comment trouver rapidement un ID dans WordPress ? Dans la majorité des cas, la méthode la plus rapide consiste à ouvrir l’élément dans l’administration WordPress. Repérez ensuite le nombre présent dans l’URL. https://example.com/wp-admin/post.php?post=486&action=edit Dans cet exemple, l’ID du contenu est 486. Le nom du paramètre change selon l’objet recherché : ObjetParamètre fréquentExempleArticle, page, CPT ou médiapostpost=486Terme de taxonomietag_IDtag_ID=37Utilisateuruser_iduser_id=12Commentairecc=538Menu classiquemenumenu=14 Cette méthode répond au besoin immédiat. Cependant, elle ne suffit pas pour comprendre la nature de l’identifiant récupéré. Qu’est-ce qu’un ID dans WordPress ? Un ID WordPress est un identifiant interne qui permet de désigner précisément un enregistrement. Un article peut utiliser l’ID 1257. Une catégorie peut utiliser le term_id 31. Un utilisateur peut utiliser l’ID 4. Un commentaire peut utiliser le comment_ID 982. Un site multisite peut utiliser le blog_id 6. Les articles, pages, médias et plusieurs objets techniques sont enregistrés comme des contenus WordPress. Les termes, commentaires et utilisateurs utilisent leurs propres systèmes. Un ID n’est pas un slug Le slug est la partie lisible d’une URL : /recuperer-id-wordpress/ L’ID correspondant pourrait être : 4872 Vous pouvez modifier le slug sans changer l’ID. En revanche, une importation peut recréer le contenu avec un nouvel identifiant. Une migration qui copie intégralement la base conserve normalement les IDs. Un export suivi d’une réimportation peut les réattribuer. Un ID n’est pas forcément global Les contenus enregistrés comme des posts partagent une même séquence d’identifiants. Cela concerne notamment : les articles ; les pages ; les custom post types ; les médias ; les révisions et sauvegardes automatiques ; les éléments de menus classiques ; les compositions synchronisées ; les modèles et parties de modèles de thèmes blocs ; les navigations de l’éditeur de site ; les produits, variations et coupons WooCommerce. Ainsi, une page et un article ne peuvent pas posséder simultanément le même post ID sur un même site. En revanche, une page, un utilisateur, un terme et un commentaire peuvent tous porter l’ID 25. Ils n’appartiennent pas au même espace de stockage. Les principaux identifiants WordPress ObjetIdentifiant courantNature de l’objetArticleIDContenu de type postPageIDContenu de type pageCustom post typeIDContenu portant le slug du CPTMédiaIDContenu de type attachmentRévisionIDContenu de type revisionSauvegarde automatiqueIDRévision associée à son contenu parentÉlément de menu classiqueIDContenu de type... --- ### Windows : désactiver la vérification du disque au démarrage - **URL**: https://www.skyminds.net/desactiver-chkdsk-demarrage-windows/ Si Windows lance une vérification du disque à chaque démarrage, ce n’est pas forcément un bug. C’est souvent le signe qu’un volume a été marqué comme potentiellement incohérent après un arrêt brutal, une erreur du système de fichiers, un plantage, une coupure de courant ou un problème matériel. Sur les anciens Windows, on parlait souvent de Scandisk. Sur Windows NT, XP, 7, 10 et 11, l’outil concerné est plutôt CHKDSK, lancé automatiquement par autochk au démarrage lorsque Windows estime qu’un volume doit être vérifié. L’ancien article expliquait comment supprimer un Scandisk récurrent au démarrage de Windows XP en corrigeant la clé de registre BootExecute. Aujourd’hui, la bonne approche consiste d’abord à comprendre pourquoi Windows veut vérifier le disque. Ensuite seulement, on peut désactiver la vérification automatique si elle est inutile ou bloquée en boucle. Pourquoi Windows vérifie le disque au démarrage ? Windows peut lancer une vérification automatique du disque quand il détecte un problème potentiel sur un volume. Le cas classique : le volume est marqué comme dirty, c’est-à-dire que le système de fichiers n’a pas été fermé proprement ou qu’une incohérence a été détectée. Les causes fréquentes sont : arrêt brutal du PC ; coupure de courant ; plantage Windows ; redémarrage forcé ; débranchement d’un disque externe sans éjection propre ; erreurs du système de fichiers ; secteurs défectueux ; disque dur ou SSD en fin de vie. Donc, si CHKDSK se lance une fois après un incident, laissez-le travailler. Si la vérification revient à chaque démarrage, là, il faut diagnostiquer. Le disque essaie peut-être de vous dire quelque chose. Et les disques parlent rarement pour raconter une bonne nouvelle. Ne désactivez pas CHKDSK trop vite Désactiver la vérification automatique peut faire disparaître le symptôme, mais pas la cause. Si le système de fichiers est réellement corrompu, ou si le disque a des erreurs matérielles, vous risquez simplement de repousser le problème. La bonne méthode est donc : sauvegarder les fichiers importants ; vérifier l’état du disque ; lancer une réparation propre avec CHKDSK ; redémarrer ; désactiver seulement si la vérification reste bloquée sans raison valable. Sur un disque qui contient des données importantes, commencez toujours par la sauvegarde. Une réparation de système de fichiers n’est pas censée détruire vos données, mais quand un support commence à faiblir, chaque opération intensive peut aggraver la situation. Étape 1 : ouvrir l’invite de commandes en administrateur Pour les commandes suivantes, ouvrez une invite de commandes avec les droits administrateur. Cliquez sur le menu Démarrer. Tapez cmd. Faites un clic droit sur Invite de commandes. Cliquez sur Exécuter en tant qu’administrateur. Vous pouvez aussi utiliser Windows Terminal ou PowerShell en administrateur, mais les exemples ci-dessous utilisent les commandes Windows classiques. Étape 2 : vérifier si le disque est marqué dirty Pour vérifier si le volume C: est marqué comme sale, utilisez : fsutil dirty query C: Si Windows répond que le volume est dirty, cela explique pourquoi une vérification peut être programmée au démarrage. Vous pouvez tester un autre volume... --- ### WordPress : corriger l’erreur “Missing zlib extensions” - **URL**: https://www.skyminds.net/wordpress-missing-zlib-extensions/ Lors de l’installation manuelle d’un plugin ou d’un thème WordPress, vous pouvez tomber sur cette erreur : Unpacking the package… Abort class-pclzip.php : Missing zlib extensions Le message apparaît généralement au moment où WordPress tente de décompresser une archive .zip. En clair : WordPress a bien reçu le fichier, mais PHP ne dispose pas des extensions nécessaires pour l’ouvrir correctement. Dans mon cas, l’erreur était apparue avec Local, anciennement Local by Flywheel, après une mise à jour. Tous mes sites locaux utilisaient alors PHP 7.4.1, et l’installation manuelle de plugins ZIP échouait. Le problème venait des services PHP fournis par Local, qui devaient être réinstallés. Voici comment diagnostiquer et corriger proprement l’erreur Missing zlib extensions dans WordPress, que vous utilisiez Local, Docker, MAMP, Valet, DDEV ou un serveur Linux. Ce que signifie l’erreur “Missing zlib extensions” WordPress utilise PHP pour télécharger, lire et décompresser les archives ZIP des plugins, thèmes et mises à jour. Quand l’extension PHP zip est disponible, WordPress peut utiliser les fonctions ZIP natives. Si zip n’est pas disponible, WordPress peut se rabattre sur PclZip, une bibliothèque PHP historique. Mais cette solution de repli dépend notamment de fonctions liées à zlib, comme gzopen(). Si ces fonctions ne sont pas disponibles, WordPress échoue avec : Abort class-pclzip.php : Missing zlib extensions Autrement dit, le vrai problème n’est pas le fichier class-pclzip.php. Le problème est l’environnement PHP. Ne modifiez pas les fichiers du core WordPress. Le souci se règle côté PHP, pas dans wp-admin/includes/. Vérifier si zip et zlib sont actifs Commencez par vérifier les modules PHP disponibles. php -m | grep -Ei 'zip|zlib' Un résultat correct devrait afficher au moins : zip zlib Vous pouvez aussi vérifier directement les fonctions utiles : php -r 'var_dump(extension_loaded("zip"));' php -r 'var_dump(extension_loaded("zlib"));' php -r 'var_dump(function_exists("gzopen"));' Si zip ou zlib retourne false, vous avez trouvé la cause probable. Attention toutefois : la commande php teste le PHP en ligne de commande. WordPress, lui, utilise souvent PHP-FPM, Apache module PHP ou le runtime PHP fourni par un outil local. Les deux peuvent être différents. La suite du diagnostic sert justement à éviter ce piège classique. Vérifier dans WordPress avec Site Health Dans l’administration WordPress, allez dans : Outils → Santé du site → Informations → Serveur Vérifiez les extensions PHP chargées. Si WordPress signale que zip ou zlib manque, l’installation de thèmes et plugins depuis des archives ZIP peut échouer. WordPress considère zip comme une extension requise pour ces opérations, tandis que zlib sert notamment de solution de repli dans certains cas. Le bon correctif consiste donc à activer au minimum zip, et idéalement les deux extensions. Cas Local : réinstaller les services PHP Si l’erreur apparaît dans Local après une mise à jour, le problème peut venir du service PHP embarqué. C’était le cas avec certaines versions de PHP 7.4.1 fournies par Local, où certains plugins ZIP échouaient alors qu’ils fonctionnaient avec d’autres versions de PHP. La solution consiste à forcer Local à retélécharger le service PHP concerné. Sur macOS, quittez Local, puis... --- ### Couper une vidéo sans perte de qualité avec FFmpeg - **URL**: https://www.skyminds.net/couper-video-sans-reencodage/ Couper une vidéo ne devrait pas forcément impliquer une conversion complète. Si vous voulez simplement extraire un passage, retirer le début, supprimer la fin ou découper un fichier en plusieurs morceaux, il est souvent possible de le faire sans réencoder. L’avantage est simple : le traitement est très rapide, la qualité reste identique, et le processeur ne transforme pas votre ordinateur en radiateur d’appoint. Aujourd’hui, les formats les plus courants sont plutôt MP4, MKV, MOV et WebM. Oublions donc les vieux fichiers Flash Video et les outils d’un autre âge. Pour couper une vidéo proprement, les meilleures solutions actuelles sont FFmpeg, LosslessCut et Avidemux. Couper une vidéo sans réencodage : qu’est-ce que ça veut dire ? Une vidéo contient généralement plusieurs flux : un flux vidéo, un ou plusieurs flux audio, parfois des sous-titres, des chapitres et des métadonnées. Ces flux sont placés dans un conteneur, par exemple MP4, MKV, MOV ou WebM. Quand on réencode une vidéo, on décode les flux, puis on les compresse à nouveau. Cela prend du temps et peut réduire la qualité. Quand on coupe sans réencoder, on copie simplement les flux existants dans un nouveau fichier. Avec FFmpeg, cette méthode s’appelle le stream copy. Elle utilise l’option -c copy. ffmpeg -i input.mp4 -c copy output.mp4 Cette commande ne coupe encore rien. Elle montre simplement l’idée : copier les flux sans les réencoder. Les avantages du découpage sans réencodage Le traitement est beaucoup plus rapide. La qualité vidéo reste identique à l’original. La qualité audio reste identique à l’original. La charge CPU reste faible. Le fichier peut être traité sur un petit ordinateur ou un serveur. La méthode se script facilement pour traiter plusieurs vidéos. C’est la méthode idéale pour couper une conférence, un tutoriel, un enregistrement d’écran, une vidéo de smartphone, un export de caméra ou une capture OBS sans recalculer tout le fichier. La limite importante : les images clés La coupe sans réencodage n’est pas toujours précise à l’image près. La raison vient des images clés, aussi appelées keyframes. Dans beaucoup de codecs modernes, toutes les images ne sont pas complètes. Certaines dépendent des images précédentes ou suivantes. Pour couper sans réencoder, FFmpeg doit souvent commencer sur une image clé. Sinon, le début du segment peut être approximatif, figé ou légèrement décalé. En pratique : si vous voulez une coupe très rapide, utilisez -c copy ; si vous voulez une coupe parfaite à l’image près, il faudra parfois réencoder ; si la précision à quelques dixièmes de seconde suffit, le découpage sans réencodage est généralement parfait. C’est le compromis classique : rapidité maximale ou précision chirurgicale. Le montage vidéo aime rarement offrir les deux gratuitement. Installer FFmpeg FFmpeg est l’outil le plus polyvalent pour couper, convertir, inspecter et remuxer des fichiers audio/vidéo. Il fonctionne sous Linux, macOS et Windows. Ubuntu ou Debian sudo apt update sudo apt install ffmpeg macOS avec Homebrew brew install ffmpeg Windows Sous Windows, téléchargez FFmpeg depuis le site officiel, décompressez l’archive, puis ajoutez le dossier bin au PATH... --- ### WordPress : optimiser les requêtes SQL des plugins - **URL**: https://www.skyminds.net/optimiser-requetes-sql-plugins-wordpress/ Un plugin WordPress peut ajouter une fonctionnalité indispensable. Il peut aussi ajouter dix requêtes SQL sur chaque page, trois appels AJAX, une option autoloadée énorme, un cron bavard, et une petite migraine en cadeau. Réduire les requêtes SQL des plugins ne consiste pas à supprimer tout ce qui bouge. Il faut mesurer, identifier les vrais coupables, comprendre pourquoi les requêtes partent en vrille, puis décider : configurer, remplacer, optimiser, mettre en cache ou supprimer. Voici une méthode moderne pour analyser et optimiser les requêtes SQL générées par les plugins WordPress, sans casser le site et sans partir en chasse au plugin au hasard. Pourquoi les plugins ajoutent des requêtes SQL ? Un plugin WordPress peut avoir besoin de la base de données pour beaucoup de raisons légitimes : lire ses réglages ; charger des données personnalisées ; récupérer des métadonnées ; afficher des contenus liés ; gérer des formulaires ; afficher des produits WooCommerce ; charger des règles SEO, sécurité ou cache ; traiter des tâches planifiées ; stocker des logs, statistiques ou événements. Le problème commence quand ces requêtes sont trop nombreuses, trop lourdes, dupliquées, exécutées sur toutes les pages, ou lancées même quand la fonctionnalité n’est pas utilisée. Ne pas confondre nombre de requêtes et lenteur réelle Le nombre de requêtes SQL reste un bon indicateur, mais il ne dit pas tout. Une page avec 30 petites requêtes rapides peut être plus saine qu’une page avec 8 requêtes très lentes. Surveillez plutôt plusieurs métriques ensemble : nombre total de requêtes SQL ; temps total passé en SQL ; requêtes lentes ; requêtes dupliquées ; plugin ou composant responsable ; requêtes lancées sur toutes les pages ; impact sur utilisateur connecté et anonyme ; effet du cache objet ; impact des requêtes AJAX et REST. Le but n’est pas de gagner un concours de “moins de requêtes”. Le but est de supprimer le travail inutile et de raccourcir le temps serveur. Étape 1 : installer Query Monitor sur staging Le premier outil à utiliser est Query Monitor. Il permet de voir les requêtes SQL, leur durée, leur origine, les requêtes dupliquées, les erreurs PHP, les appels HTTP, les hooks, les scripts et les styles chargés. Installez-le sur un environnement de développement ou de staging : wp plugin install query-monitor --activate Ensuite, ouvrez une page représentative du site, puis regardez l’entrée Query Monitor dans la barre d’administration. Analysez au minimum : Database Queries pour les requêtes SQL ; Duplicate Queries pour les requêtes répétées ; Queries by Component pour identifier les plugins responsables ; HTTP API Calls pour les appels externes ; Hooks & Actions pour les callbacks coûteux ; Scripts & Styles pour les assets chargés par les plugins. Ne testez pas uniquement la page d’accueil. Testez aussi un article, une archive, une recherche, une page produit, le panier, le checkout, une page compte, et une page vue par utilisateur connecté. Étape 2 : comparer avec et sans certains plugins Une méthode simple consiste à mesurer une page, désactiver... --- ### Lire des fichiers APE et CUE sous Windows, Linux et macOS - **URL**: https://www.skyminds.net/lire-fichiers-ape-cue-windows-linux-macos/ J’avais récupéré un album remasterisé encodé au format APE, aussi appelé Monkey’s Audio, accompagné d’un fichier CUE. À l’époque, mon réflexe était simple : ouvrir le tout dans Winamp. Sauf que Winamp ne lisait plus le fichier. Les anciens albums passaient encore, mais les fichiers APE plus récents refusaient de se lancer. Le coupable était probablement un plugin Monkey’s Audio trop ancien. En 2005, réinstaller un plugin Winamp était une bonne réponse. Aujourd’hui, l’approche doit être plus large : on peut lire des fichiers APE sous Windows, Linux et macOS avec plusieurs lecteurs modernes, ou convertir ces fichiers en FLAC pour une compatibilité plus durable. APE, c’est quoi ? APE est l’extension des fichiers audio compressés avec Monkey’s Audio. C’est un format audio sans perte. Contrairement au MP3, à l’AAC ou à l’Ogg Vorbis, il ne supprime pas d’informations audio pour réduire la taille du fichier. En théorie, un fichier APE contient donc une copie fidèle de la source originale, comme un fichier FLAC. La différence principale se joue sur la compatibilité. FLAC est beaucoup mieux pris en charge par les lecteurs audio, les systèmes, les baladeurs, les serveurs multimédias, les applications mobiles et les outils d’archivage. APE reste lisible, mais il demande parfois le bon lecteur ou le bon plugin. C’est un format sérieux, mais un peu plus exigeant. À quoi sert le fichier CUE ? Un fichier .cue, ou Cue Sheet, décrit le découpage d’un album. Il indique les pistes, les titres, les durées et les points de départ dans un gros fichier audio unique. On rencontre souvent cette paire : album.ape album.cue Le fichier .ape contient l’audio complet. Le fichier .cue sert de table des matières. Si votre lecteur le prend en charge, ouvrez plutôt le fichier .cue. Vous aurez ainsi accès aux pistes séparées au lieu d’un seul long fichier audio. Quelle solution choisir selon votre système ? SystèmeLecteurs conseillésMeilleure optionWindowsfoobar2000, Winamp, VLCfoobar2000LinuxVLC, DeaDBeeF, FFmpegVLC ou conversion FLACmacOSCog, VLC, foobar2000, FFmpegCog ou conversion FLACArchivage long termeFFmpeg, FLACConversion vers FLAC Si vous voulez juste lire un fichier APE rapidement, testez d’abord VLC ou foobar2000. Si vous gérez une discothèque complète, foobar2000 sous Windows ou Cog sous macOS seront souvent plus confortables. Si vous archivez, convertissez en FLAC. Lire des fichiers APE sous Windows Option 1 : foobar2000 Sous Windows, foobar2000 est aujourd’hui l’une des meilleures solutions pour lire des fichiers APE et CUE. Les versions récentes de foobar2000 prennent en charge Monkey’s Audio nativement. Pour les anciennes versions, il existe un composant officiel nommé Monkey’s Audio Decoder. Téléchargez foobar2000 depuis le site officiel. Installez-le normalement. Ouvrez le fichier .cue si votre album est composé d’un fichier APE unique avec CUE. Ouvrez directement le fichier .ape si chaque piste existe déjà séparément. Si une vieille version ne lit pas APE, installez le composant Monkey’s Audio Decoder. foobar2000 est particulièrement adapté aux bibliothèques musicales, aux fichiers CUE, aux tags, aux conversions et aux formats lossless. Ce n’est pas toujours le plus sexy au premier lancement, mais il fait le... --- ### Meld sur macOS : installer, réparer et relancer l’outil de comparaison - **URL**: https://www.skyminds.net/installer-reparer-meld-macos/ Meld est un outil de comparaison visuelle très pratique pour les développeurs. Il permet de comparer deux ou trois fichiers, deux dossiers, ou encore les modifications d’un projet versionné avec Git. Sur Linux, Meld fonctionne généralement sans histoire. Sur macOS, en revanche, l’expérience peut varier selon la version du système, le paquet utilisé, GTK, les permissions macOS et l’état des préférences locales. En 2026, le bon réflexe n’est donc plus de supprimer trois fichiers liés à une ancienne version de macOS. La bonne approche consiste plutôt à vérifier l’installation, lancer Meld depuis le Terminal pour lire les erreurs, réinitialiser proprement les préférences, puis réinstaller l’application si nécessaire. Installer Meld sur macOS avec Homebrew La méthode la plus simple aujourd’hui consiste à utiliser Homebrew. Le cask meld installe Meld for macOS, un port macOS de l’application. Commencez par mettre Homebrew à jour : brew update Installez ensuite Meld : brew install --cask meld Vous pouvez vérifier les informations du paquet avec : brew info --cask meld Homebrew référence Meld comme un outil de comparaison et fusion visuelle pour macOS. La fiche du cask indique aussi la commande d’installation actuelle : brew install --cask meld. Une fois installé, lancez Meld depuis Spotlight, le dossier Applications, ou directement depuis le Terminal : open -a Meld Lancer Meld depuis le Terminal pour voir les erreurs Si Meld s’ouvre mal, reste bloqué, affiche seulement la barre de menu, ou ne montre aucune fenêtre, lancez-le depuis le Terminal. Cela permet souvent de voir l’erreur réelle. Essayez d’abord : open -a Meld Si cela ne donne rien, lancez directement le binaire contenu dans l’application : /Applications/Meld.app/Contents/MacOS/Meld Cette commande affiche parfois des erreurs liées à Python, GTK, aux permissions, à une bibliothèque manquante ou à un état d’application corrompu. C’est beaucoup plus utile qu’un double-clic silencieux dans le dossier Applications. Réinitialiser Meld si l’application ne démarre plus correctement Si Meld se lance mais n’affiche pas sa fenêtre principale, ou si l’interface semble bloquée, commencez par quitter complètement l’application : osascript -e 'quit app "Meld"' Ensuite, renommez les fichiers de préférences et d’état sauvegardé au lieu de les supprimer immédiatement. C’est plus prudent, et cela permet de revenir en arrière si besoin. mv "$HOME/.local/share/meld" "$HOME/.local/share/meld.backup.$(date +%Y%m%d-%H%M%S)" 2>/dev/null mv "$HOME/Library/Preferences/org.gnome.meld.plist" "$HOME/Library/Preferences/org.gnome.meld.plist.backup.$(date +%Y%m%d-%H%M%S)" 2>/dev/null mv "$HOME/Library/Saved Application State/org.gnome.meld.savedState" "$HOME/Library/Saved Application State/org.gnome.meld.savedState.backup.$(date +%Y%m%d-%H%M%S)" 2>/dev/null Relancez ensuite Meld : open -a Meld Cette réinitialisation force Meld à repartir avec des préférences propres. Elle règle souvent les problèmes d’interface invisible, d’état de fenêtre cassé, ou de configuration GTK devenue bancale après une mise à jour macOS. Supprimer les préférences Meld définitivement Si la méthode précédente a résolu le problème et que vous êtes sûr de ne plus avoir besoin des sauvegardes, vous pouvez supprimer les anciennes copies plus tard. Pour une remise à zéro directe, utilisez plutôt ces commandes : rm -rf "$HOME/.local/share/meld" rm -f "$HOME/Library/Preferences/org.gnome.meld.plist" rm -rf "$HOME/Library/Saved Application State/org.gnome.meld.savedState" Je préfère toutefois la version avec mv. Elle évite de supprimer trop vite des données de configuration que l’on pourrait vouloir récupérer. Réinstaller... --- ### Ajouter une signature HTML sous Gmail, Yahoo! Mail et Hotmail - **URL**: https://www.skyminds.net/ajouter-une-signature-html-sous-gmail-yahoo-mail-et-hotmail/ Si vous utilisez Gmail, Yahoo Mail, Outlook.com, Thunderbird ou un autre client de messagerie moderne, vous avez probablement déjà voulu ajouter une signature HTML un peu plus propre qu’un simple bloc de texte. Une signature HTML permet d’ajouter une mise en page, des liens, un logo, un numéro de téléphone, une adresse de site, des icônes sociales ou un petit appel à l’action. À l’époque, je recommandais l’extension WiseStamp. Elle faisait très bien le travail, notamment sous Firefox, avec un éditeur WYSIWYG et plusieurs signatures. Mais WiseStamp est aujourd’hui devenu un outil largement commercial. Pour une signature personnelle ou professionnelle simple, on peut très bien faire mieux : gratuit, open-source, portable et sans extension propriétaire. La bonne méthode consiste à créer une signature HTML légère, compatible email, puis à la copier dans l’éditeur de signature de votre webmail. Pourquoi les signatures HTML sont pénibles dans les webmails Une signature HTML n’est pas une mini-page web moderne. Les clients email sont beaucoup plus stricts, plus capricieux, et parfois franchement archaïques. Ce qui fonctionne dans un navigateur peut être cassé dans Gmail, Outlook ou Yahoo Mail. Les clients email filtrent le HTML, retirent certains styles, modifient les images, réécrivent les liens, ou ignorent des propriétés CSS modernes. Pour cette raison, il faut privilégier : du HTML simple ; des styles inline ; des tableaux HTML pour la mise en page si nécessaire ; des images hébergées en HTTPS ; des liens absolus ; une largeur raisonnable ; peu de couleurs ; aucun JavaScript ; aucune police exotique indispensable. MDN rappelle que les styles inline s’appliquent directement à l’élément via l’attribut style. Dans l’email HTML, c’est souvent la méthode la plus fiable, car beaucoup de clients email filtrent ou réécrivent les styles dans . MDN : attribut style La méthode simple : créer un fichier HTML puis copier la signature La méthode la plus fiable est étonnamment simple : Créer un fichier HTML local avec la signature. L’ouvrir dans le navigateur. Sélectionner la signature rendue visuellement. La copier. La coller dans l’éditeur de signature de Gmail, Yahoo Mail, Outlook.com ou Thunderbird. Envoyer un email de test. Il ne faut pas coller le code source HTML directement dans Gmail. Gmail ne propose pas un éditeur de code HTML brut dans ses paramètres. Il faut copier le rendu visuel depuis le navigateur, puis le coller dans le champ de signature. Gmail permet de créer et gérer des signatures depuis Paramètres → Voir tous les paramètres → Général → Signature. La documentation Google explique aussi que l’on peut créer plusieurs signatures et choisir celle utilisée pour les nouveaux emails ou les réponses. Aide Gmail : créer une signature Exemple de signature HTML simple et compatible Voici une signature HTML volontairement simple, avec une image, un nom, une fonction, un site web et quelques liens. Matt Biscay Développeur WordPress & WooCommerce www.skyminds.net contact@example.com · Me contacter Remplacez les valeurs par vos propres informations, puis enregistrez le fichier en signature.html. Ouvrez-le dans votre navigateur, sélectionnez la signature affichée,... --- ### Comment renforcer son anonymat et sa sécurité sur Internet - **URL**: https://www.skyminds.net/renforcer-anonymat-securite-internet/ Renforcer son anonymat et sa sécurité sur Internet ne consiste pas à installer un VPN puis à oublier le problème. Il faut combiner plusieurs protections : navigateur sécurisé, chiffrement, mots de passe uniques, authentification forte, séparation des identités et bonnes pratiques quotidiennes. Chaque visite sur Internet laisse des traces. Votre adresse IP révèle une localisation approximative. Votre navigateur communique des caractéristiques techniques. Les cookies relient vos visites. Vos comptes identifient directement vos activités. En parallèle, les attaques visant les comptes, les appareils et les données se multiplient. Le pistage publicitaire ne représente donc qu’une partie du problème. Pour mieux vous protéger, vous devez d’abord distinguer trois notions : l’anonymat, la confidentialité et la sécurité. Ensuite, vous pourrez choisir les outils adaptés à votre situation. Anonymat, confidentialité et sécurité : trois objectifs différents Ces trois notions se complètent. Cependant, elles ne désignent pas la même chose. La confidentialité limite l’accès à vos données La confidentialité empêche des tiers non autorisés de lire vos communications ou vos fichiers. Le chiffrement HTTPS protège, par exemple, les échanges entre votre navigateur et un site. Un VPN chiffre la connexion entre votre appareil et son serveur. Le chiffrement du disque protège vos fichiers en cas de vol de l’ordinateur. Cependant, une communication chiffrée n’est pas nécessairement anonyme. Le service peut encore connaître votre identité. L’anonymat dissocie votre identité de vos activités L’anonymat vise à empêcher un observateur de relier une action à votre identité réelle. Masquer votre adresse IP représente une première étape. Toutefois, cela ne suffit pas. Un compte connecté, une adresse électronique personnelle ou une empreinte de navigateur peuvent encore vous identifier. L’anonymat dépend donc autant de vos outils que de votre comportement. La sécurité protège vos comptes et vos appareils La sécurité réduit le risque de piratage, de vol de données, de logiciel malveillant ou d’usurpation d’identité. Un navigateur anonyme ne compense pas un système obsolète. De même, un VPN ne protège pas un mot de passe réutilisé sur vingt sites. Le cadenas HTTPS n’est pas une cape d’invisibilité. Commencez par définir votre modèle de menace Avant de choisir un outil, posez-vous une question simple : contre qui souhaitez-vous vous protéger ? Vos besoins changent selon l’adversaire envisagé : les régies publicitaires et les plateformes de suivi ; l’administrateur d’un réseau professionnel ; un opérateur de Wi-Fi public ; votre fournisseur d’accès à Internet ; des cybercriminels cherchant à voler vos comptes ; une organisation capable d’effectuer une surveillance ciblée. Un bloqueur de traqueurs peut suffire contre une grande partie du pistage commercial. En revanche, il ne masque pas votre adresse IP. Un VPN protège efficacement une connexion sur un réseau non fiable. Cependant, il ne vous rend pas anonyme face au fournisseur du VPN. Tor offre une protection plus avancée contre la corrélation entre votre identité et votre navigation. Néanmoins, une mauvaise utilisation peut toujours révéler votre identité. Quel outil utiliser selon votre objectif ? OutilFonction principaleLimite importanteNavigation privéeEffacer les traces locales après la sessionNe masque ni l’adresse IP ni l’activité... --- ### GIMP : optimiser et exporter ses images pour le Web - **URL**: https://www.skyminds.net/gimp-optimiser-exporter-images-web/ Depuis que je suis sous Ubuntu, j’utilise GIMP pour créer, retoucher et préparer mes images avant publication. Il est libre, puissant, extensible, et il fait très bien le travail dès qu’on prend le temps de comprendre ses options d’export. Le problème, en revanche, reste toujours le même : le poids des images. Une image destinée à l’impression, à une archive locale ou à un support physique peut conserver une définition élevée. En revanche, une image publiée sur un site web ou envoyée par email doit rester légère. Sinon, elle ralentit le chargement, consomme inutilement de la bande passante et pénalise l’expérience utilisateur. C’est encore plus vrai aujourd’hui. Les visiteurs consultent les sites depuis des connexions très variables, souvent sur mobile, et Google prend aussi en compte les performances dans l’expérience globale de la page. L’objectif n’est donc pas de dégrader l’image. L’objectif consiste plutôt à trouver le bon équilibre entre qualité visuelle, dimensions et poids final du fichier. L’ancien plugin “Enregistrer pour le Web” de GIMP Pendant longtemps, le plugin Save for Web, ou “Enregistrer pour le Web”, a rendu ce travail très pratique dans GIMP. Son intérêt était simple : il proposait une interface dédiée pour tester plusieurs formats, ajuster la qualité de compression, prévisualiser le rendu et surveiller le poids final du fichier. En somme, il reproduisait dans GIMP une logique proche du célèbre “Save for Web” de Photoshop. À l’époque, on pouvait l’installer sous Ubuntu avec le paquet gimp-plugin-registry, voire via certains PPA tiers. Cela donnait ensuite accès à une entrée dédiée dans le menu de GIMP. Le flux de travail était limpide : ouvrir son image, lancer l’export web, tester la compression, puis enregistrer le fichier optimisé. Pourquoi il ne faut plus forcément installer l’ancien plugin L’ancien plugin “Save for Web” a rendu de grands services, mais il n’est plus forcément indispensable aujourd’hui. D’abord, les anciennes méthodes d’installation reposaient parfois sur des dépôts tiers qui ne sont plus recommandables sur une installation moderne. Ensuite, GIMP a beaucoup évolué. Les versions récentes proposent déjà des options d’export complètes pour les formats utilisés sur le Web. Autrement dit, plutôt que d’ajouter un vieux PPA à Ubuntu pour retrouver un menu historique, mieux vaut utiliser les fonctions natives de GIMP. C’est plus propre, plus stable, et plus facile à maintenir. Le plugin peut encore intéresser certains utilisateurs attachés à son interface, mais il ne doit plus être présenté comme la seule solution pour préparer une image web avec GIMP. La méthode actuelle : exporter une image pour le Web avec GIMP Dans GIMP, l’enregistrement du fichier de travail et l’export final sont deux actions différentes. Le fichier .xcf conserve les calques, masques, chemins et réglages du projet. C’est le format de travail. Pour publier une image sur le Web, il faut ensuite passer par l’export. La méthode recommandée est donc la suivante : ouvrez votre image dans GIMP ; recadrez-la si nécessaire ; réduisez ses dimensions réelles ; allez dans Fichier > Exporter sous ; choisissez le format adapté... --- ### Nettoyer et optimiser sa base de données avec WP-CLI - **URL**: https://www.skyminds.net/nettoyer-optimiser-base-de-donnees-wp-cli/ Une base de données WordPress finit toujours par prendre du poids. C’est normal : les contenus évoluent, les extensions enregistrent des options, WooCommerce ajoute des commandes, les tâches planifiées s’accumulent, les transients expirent, et certains plugins laissent parfois quelques miettes derrière eux. En 2026, optimiser une base WordPress ne consiste plus à lancer un script magique qui répare tout en un clic. La bonne méthode est plus simple et beaucoup plus fiable : sauvegarder, mesurer, identifier les tables lourdes, nettoyer ce qui doit l’être, puis optimiser seulement lorsque cela a du sens. Le meilleur outil pour ce travail reste WP-CLI. Il permet de piloter WordPress depuis le terminal, avec des commandes propres, scriptables et adaptées aux sites modernes. Avant toute chose : sauvegarder la base WordPress Avant de vérifier, réparer, nettoyer ou optimiser une base de données, commencez toujours par une sauvegarde. C’est rapide, propre, et cela évite les sueurs froides. Placez-vous à la racine de votre site WordPress : cd /home/www/example.com/public_html Vérifiez que WP-CLI détecte bien l’installation : wp core is-installed Créez ensuite un dossier pour les sauvegardes : mkdir -p ~/backups Exportez la base avec un nom de fichier daté : wp db export ~/backups/wordpress-db-$(date +%Y-%m-%d-%H%M%S).sql Enfin, vérifiez que le fichier existe bien : ls -lh ~/backups/wordpress-db-*.sql Sur un gros site, vous pouvez aussi compresser l’export : gzip ~/backups/wordpress-db-*.sql La sauvegarde n’est pas une formalité. C’est votre bouton “retour arrière”. Et dans une base WordPress, ce bouton vaut de l’or. Vérifier l’état de la base Une fois la sauvegarde créée, commencez par vérifier l’état des tables : wp db check Cette commande vérifie les tables de la base à partir des identifiants présents dans wp-config.php. Si tout va bien, elle retourne une série de lignes indiquant que les tables sont correctes. Si une table présente une erreur, vous pouvez tenter une réparation : wp db repair En revanche, ne lancez pas wp db repair par habitude. Sur les installations modernes, les tables WordPress utilisent normalement InnoDB. Les réparations de type REPAIR TABLE concernaient surtout les anciennes tables MyISAM. Donc, aujourd’hui, on répare lorsqu’un diagnostic indique un problème réel. Identifier les tables les plus lourdes Avant de nettoyer, il faut savoir ce qui prend de la place. WP-CLI permet d’afficher rapidement la taille des tables : wp db size --tables --human-readable Pour trier les tables par taille réelle directement depuis MySQL, utilisez cette requête : wp db query " SELECT table_name AS table_name, ROUND( ( data_length + index_length ) / 1024 / 1024, 2 ) AS size_mb FROM information_schema.TABLES WHERE table_schema = DATABASE() ORDER BY size_mb DESC LIMIT 20; " Cette commande affiche les vingt tables les plus lourdes. C’est souvent là que l’on trouve les vrais coupables : wp_postmeta, wp_options, wp_actionscheduler_actions, wp_actionscheduler_logs, les tables de statistiques, les logs de sécurité, ou les anciennes tables de plugins désinstallés. À ce stade, l’objectif n’est pas encore de supprimer. L’objectif est de comprendre. Une base saine se nettoie avec un scalpel, pas avec une tronçonneuse. Supprimer les transients expirés Les transients... --- ### Cloudflare Tunnel : pourquoi l’utiliser, comment il fonctionne et le mettre en place - **URL**: https://www.skyminds.net/cloudflare-tunnel-fonctionnement-installation/ Cloudflare Tunnel permet de publier un site, une API ou une application interne sans ouvrir de port entrant sur le serveur. Le connecteur cloudflared établit lui-même une liaison sortante vers Cloudflare, qui devient le point d’entrée public et sécurisé du service. Qu’est-ce qu’un Cloudflare Tunnel ? Un Cloudflare Tunnel crée une liaison sécurisée entre un serveur privé et le réseau mondial de Cloudflare. Traditionnellement, publier une application impose plusieurs opérations : disposer d’une adresse IP publique ; ouvrir les ports 80 ou 443 ; configurer une redirection NAT ; exposer un reverse proxy ; gérer les certificats TLS ; protéger directement l’adresse IP du serveur. Cloudflare Tunnel inverse cette logique. Le serveur exécute un petit programme nommé cloudflared. Celui-ci ouvre des connexions sortantes vers Cloudflare. Le pare-feu n’accepte donc aucune connexion entrante destinée au tunnel. Lorsqu’un visiteur ouvre l’application, Cloudflare reçoit la requête. Son réseau la transmet ensuite à cloudflared, qui la relaie vers le service local concerné. Cloudflare Tunnel peut publier des serveurs HTTP, des applications HTTPS, des services SSH, des bureaux RDP, des sockets Unix et différents services TCP. Aucun routage IP public n’est nécessaire sur le serveur d’origine. Pourquoi utiliser Cloudflare Tunnel ? Ne plus exposer directement son serveur Le principal intérêt réside dans la disparition des connexions entrantes. Le serveur initie lui-même le tunnel. Il n’a donc pas besoin d’écouter publiquement sur les ports utilisés par l’application. Vous pouvez, par exemple, faire écouter une interface d’administration uniquement sur : 127.0.0.1:8080 cloudflared accède au service depuis la machine locale. En revanche, aucune machine distante ne peut joindre directement ce port. Cette architecture réduit considérablement la surface d’exposition du serveur. Elle évite également les erreurs fréquentes de configuration NAT ou de pare-feu. Masquer l’adresse IP de l’origine Le DNS public pointe vers une adresse spéciale associée au tunnel : .cfargotunnel.com Il ne pointe plus directement vers l’adresse IP du serveur. Cloudflare reçoit donc les connexions avant l’origine. Le serveur peut rester derrière un routeur, une connexion avec CGNAT ou un pare-feu restrictif. Toutefois, un tunnel ne peut pas faire oublier une adresse déjà divulguée. D’anciens enregistrements DNS, des services annexes ou des sous-domaines mal configurés peuvent toujours révéler l’origine. Publier un service sans redirection de ports Cloudflare Tunnel convient particulièrement aux environnements où vous ne contrôlez pas le routeur. C’est souvent le cas pour : un serveur installé derrière une box ; un NAS domestique ; une machine hébergée dans un réseau d’entreprise ; un environnement de développement ; une connexion utilisant le CGNAT ; une application exécutée dans Docker ou Kubernetes. Le serveur doit uniquement pouvoir établir des connexions sortantes vers Cloudflare. Ajouter les protections Cloudflare Les applications publiées héritent des réglages Cloudflare associés à leur nom d’hôte. Vous pouvez notamment appliquer : la protection DDoS ; le pare-feu applicatif ; les règles de cache ; les règles de limitation de débit ; les règles personnalisées ; les fonctions de gestion des robots. Cloudflare traite la requête avant de la transmettre au tunnel. Protéger une application avec Cloudflare Access Cloudflare Tunnel publie le service. Cependant, il ne décide pas automatiquement qui peut l’utiliser. Une application associée à un nom... --- ### Linux : corriger l’erreur « cannot open pixbuf loader module file » - **URL**: https://www.skyminds.net/linux-cannot-open-pixbuf-loader-module-file/ Lors d’une mise à jour Linux, du lancement d’une application GTK, ou de l’ouverture d’une image, vous pouvez tomber sur cette erreur : (gtk-update-icon-cache-3.0:12015): GdkPixbuf-WARNING **: Cannot open pixbuf loader module file '/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache': No such file or directory This likely means that your installation is broken. Try running the command gdk-pixbuf-query-loaders > /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache to make things work again for the time being. Le message peut apparaître dans le terminal pendant un apt upgrade, lors du lancement d’un logiciel graphique, ou quand une application ne parvient plus à ouvrir certains formats d’images. Dans la plupart des cas, le problème vient du cache des loaders GdkPixbuf. Ce cache indique à GTK quelles bibliothèques utiliser pour charger les formats d’images : PNG, JPEG, WebP, SVG, TIFF, AVIF selon les paquets installés, etc. La bonne nouvelle : ce cache se régénère. Et, dans beaucoup de cas, une seule commande suffit. À quoi sert GdkPixbuf ? GdkPixbuf est une bibliothèque utilisée par les applications GTK pour charger et manipuler des images. Elle ne contient pas forcément tous les chargeurs d’images en dur : elle s’appuie sur des modules, appelés loaders, pour gérer différents formats. La commande gdk-pixbuf-query-loaders collecte les informations sur ces modules et écrit le résultat dans le fichier de cache par défaut, ou sur la sortie standard selon son mode d’appel. La page de manuel Debian décrit précisément ce rôle : collecter les informations sur les modules chargeables de GdkPixbuf et les écrire dans l’emplacement de cache prévu. :contentReference[oaicite:0]{index=0} Si ce fichier loaders.cache manque, est vide, pointe vers de mauvais chemins, ou correspond à une autre architecture, les applications GTK peuvent ne plus savoir charger certains formats d’images. Solution rapide : régénérer le cache GdkPixbuf Sur Debian, Ubuntu, Linux Mint et distributions dérivées, commencez par cette commande : sudo gdk-pixbuf-query-loaders --update-cache Cette commande régénère le cache des loaders à l’emplacement attendu par le système. C’est la méthode propre : elle évite de rediriger manuellement la sortie vers un chemin qui peut varier selon la distribution, l’architecture ou la version du paquet. Ensuite, relancez l’application qui posait problème. Si l’erreur apparaissait pendant une mise à jour, terminez la configuration des paquets : sudo dpkg --configure -a sudo apt -f install Puis relancez une mise à jour normale : sudo apt update sudo apt full-upgrade Vérifier que gdk-pixbuf-query-loaders est installé Si la commande n’existe pas, installez ou réinstallez le paquet qui la fournit. Sur Debian, Ubuntu ou Linux Mint : command -v gdk-pixbuf-query-loaders sudo apt update sudo apt install --reinstall libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-bin Le paquet libgdk-pixbuf2.0-bin fournit notamment les outils en ligne de commande comme gdk-pixbuf-query-loaders. La page de manuel Debian actuelle est publiée sous ce paquet. :contentReference[oaicite:1]{index=1} Sur certaines versions récentes, les noms de paquets peuvent évoluer légèrement. Si apt ne trouve pas un paquet, cherchez les paquets disponibles : apt search gdk-pixbuf apt-file search bin/gdk-pixbuf-query-loaders Si apt-file n’est pas installé : sudo apt install apt-file sudo apt-file update Ne copiez pas aveuglément le chemin indiqué dans l’erreur L’ancien message suggère parfois une commande de... --- ### FFmpeg : optimiser une vidéo MP4 pour la lecture progressive - **URL**: https://www.skyminds.net/h264-qt-faststart-lecture-progressive/ Lorsque l’on intègre une vidéo MP4 dans une page web, on s’attend à ce qu’elle démarre rapidement. Pourtant, il arrive qu’un lecteur HTML5 attende le téléchargement complet du fichier avant de lancer la lecture. Le problème ne vient pas forcément du navigateur, ni du lecteur, ni même du serveur. Très souvent, il vient de la structure interne du fichier MP4. Pour qu’une vidéo MP4 puisse être lue progressivement, les métadonnées nécessaires à la lecture doivent se trouver au début du fichier. Dans un MP4, ces métadonnées sont stockées dans ce que l’on appelle le moov atom. Si ce bloc se trouve à la fin du fichier, le navigateur doit parfois attendre d’avoir téléchargé toute la vidéo avant de commencer la lecture. La solution moderne consiste à optimiser le fichier MP4 avec FFmpeg et l’option -movflags +faststart. Pourquoi une vidéo MP4 ne démarre pas immédiatement ? Un fichier MP4 contient plusieurs blocs internes, appelés atoms ou boxes. Parmi eux, le bloc moov contient les métadonnées nécessaires au lecteur : pistes audio et vidéo, durées, index, informations de synchronisation, etc. Si le bloc moov est placé à la fin du fichier, le navigateur ou le lecteur doit atteindre cette partie avant de savoir comment lire correctement la vidéo. Sur un fichier local, ce n’est pas très grave. Sur le web, cela peut provoquer une attente frustrante. Pour une vidéo web classique, on veut donc placer le moov atom au début du fichier. Ainsi, le navigateur peut lire les métadonnées immédiatement, puis commencer la lecture pendant que le reste de la vidéo continue de se télécharger. C’est ce que l’on appelle souvent la lecture progressive. Ce n’est pas du streaming adaptatif comme HLS ou DASH, mais c’est largement suffisant pour beaucoup de vidéos MP4 intégrées dans une page web. La méthode actuelle : FFmpeg avec -movflags +faststart Aujourd’hui, il n’est généralement plus nécessaire d’utiliser qt-faststart séparément. FFmpeg sait déplacer le moov atom pendant la création du fichier MP4 grâce à l’option : -movflags +faststart Exemple complet pour encoder une vidéo en H.264 avec audio AAC : ffmpeg -i input.mov \ -c:v libx264 \ -preset slow \ -crf 22 \ -c:a aac \ -b:a 128k \ -movflags +faststart \ output.mp4 Cette commande encode la vidéo en H.264, encode l’audio en AAC, puis réorganise le MP4 afin que les métadonnées soient placées au début du fichier. Le résultat : le navigateur peut commencer la lecture plus rapidement, sans attendre le téléchargement complet du fichier. Optimiser un MP4 déjà encodé sans réencoder Si votre fichier MP4 existe déjà et que vous voulez seulement déplacer le moov atom, inutile de réencoder la vidéo. Vous pouvez copier les flux audio et vidéo tels quels : ffmpeg -i source.mp4 \ -c copy \ -movflags +faststart \ destination.mp4 Cette commande est rapide, car elle ne recompresse pas la vidéo. Elle réécrit simplement le conteneur MP4 en plaçant les métadonnées au début. C’est la méthode à utiliser si la vidéo est déjà dans un format compatible web, par exemple H.264 pour... --- ### MySQL ne redémarre plus : résoudre une partition pleine sur /var/lib/mysql - **URL**: https://www.skyminds.net/mysql-demarrage-manque-espace-partition-disque/ Il y a quelque temps, j’ai eu la mauvaise surprise de constater qu’un site était hors ligne parce que MySQL refusait catégoriquement de redémarrer. En regardant les logs du serveur, le message était sans appel : /etc/init.d/mysql: ERROR: The partition with /var/lib/mysql is too full! failed! La partition qui contenait les bases de données était pleine. Et quand MySQL n’a plus assez d’espace pour écrire dans son répertoire de données, ses fichiers temporaires, ses logs, ses redo logs ou ses binlogs, il peut refuser de démarrer, se bloquer, désactiver certains logs ou planter au mauvais moment. MySQL documente explicitement les erreurs liées au disque plein, comme No space left on device, write failed ou les dépassements de quota. Le manuel MySQL explique que ces conditions peuvent toucher les écritures dans les tables, les fichiers de logs binaires et l’index des binlogs. Voir la documentation MySQL sur les disques pleins. Voici une procédure moderne pour diagnostiquer et corriger le problème proprement, sans supprimer au hasard des fichiers dans /var/lib/mysql. Parce que supprimer des fichiers InnoDB à la main pour “faire de la place”, c’est rarement une stratégie. C’est plutôt une candidature spontanée à la restauration de backup. Symptômes d’un MySQL bloqué par manque d’espace disque Les symptômes peuvent varier selon la version, le moteur de stockage, la distribution et le système d’init. Vous pouvez voir : MySQL ou MariaDB refuse de démarrer ; systemctl start mysql échoue ; systemctl restart mariadb reste bloqué ; les sites affichent une erreur de connexion à la base ; les logs indiquent No space left on device ; les binlogs grossissent jusqu’à saturer la partition ; les tables temporaires ne peuvent plus être créées ; la partition /, /var, /tmp ou /var/lib/mysql est à 100 % ; les inodes sont épuisés même s’il reste de l’espace en Go. Sur les serveurs modernes, l’erreur peut apparaître dans le log MySQL, les logs MariaDB ou le gestionnaire d’hébergement. Plesk documente par exemple des échecs MySQL/MariaDB lorsque la partition racine, la partition /tmp ou les inodes sont saturés. Voir la note Plesk sur MySQL/MariaDB et le manque d’espace. Étape 1 : vérifier l’état du service MySQL ou MariaDB Commencez par identifier le service concerné. systemctl status mysql --no-pager Sur MariaDB : systemctl status mariadb --no-pager Consultez les derniers logs systemd : journalctl -u mysql -n 100 --no-pager ou : journalctl -u mariadb -n 100 --no-pager Si le service échoue avec une erreur liée à l’espace disque, vous avez déjà une piste très solide. Étape 2 : vérifier les partitions avec df La première commande à lancer est : df -h Exemple de sortie problématique : Filesystem Size Used Avail Use% Mounted on /dev/sda1 9.7G 9.7G 0 100% / tmpfs 984M 0 984M 0% /dev/shm /dev/sda2 452G 648M 429G 1% /home Ici, la partition racine / est pleine à 100 %. Si /var/lib/mysql se trouve sur cette partition, MySQL ne peut plus écrire correctement. Vérifiez explicitement le point de montage de /var/lib/mysql : df -h /var/lib/mysql Vérifiez aussi /tmp,... --- ### Sauvegarder Firefox et Thunderbird : profils, export et restauration - **URL**: https://www.skyminds.net/sauvegarder-firefox-thunderbird-profils-restauration/ MozBackup a longtemps été le petit outil pratique que l’on lançait avant de réinstaller Windows ou de migrer vers un nouvel ordinateur. Il permettait de sauvegarder Firefox, Thunderbird et d’autres applications Mozilla en quelques clics. Mais aujourd'hui, il faut tourner la page. MozBackup appartient à l’histoire des utilitaires Mozilla. Pour sauvegarder Firefox et Thunderbird aujourd’hui, mieux vaut utiliser les méthodes officielles : profils, export intégré, synchronisation, copie manuelle et vraie stratégie de sauvegarde. Voici donc un guide moderne pour sauvegarder et restaurer Firefox et Thunderbird proprement, sans dépendre d’un outil abandonné. Pourquoi ne plus utiliser MozBackup ? MozBackup a rendu service pendant des années. Mais il n’est plus adapté aux versions actuelles de Firefox et Thunderbird. Les profils Mozilla ont beaucoup évolué : bases de données SQLite, extensions modernes, stockage des mots de passe, comptes synchronisés, profils multiples, chemins différents selon les systèmes et versions 64-bit. Un utilitaire non maintenu peut très bien créer une archive qui semble correcte, puis échouer à la restauration. Ce qui est précisément le moment où l’on aimerait éviter les surprises. La bonne approche est donc simple : pour Firefox, sauvegarder le profil ou utiliser Firefox Sync selon le besoin ; pour Thunderbird, utiliser l’export intégré ou copier le profil complet ; pour une migration complète, fermer l’application puis copier le dossier de profil ; pour une vraie sécurité, intégrer ces profils dans une sauvegarde régulière. Firefox : ce que contient le profil Firefox stocke vos données personnelles dans un profil. Ce profil contient notamment les marque-pages, l’historique, les mots de passe, les cookies, les extensions, les préférences et les données propres à certains sites. C’est ce dossier qu’il faut sauvegarder si vous voulez pouvoir restaurer Firefox complètement. Firefox Sync est utile, mais ce n’est pas exactement une sauvegarde complète. Il synchronise certains éléments entre appareils, mais il ne remplace pas une copie locale complète du profil. Pour une migration sérieuse, sauvegardez le profil. Trouver le dossier de profil Firefox La méthode la plus simple consiste à passer par Firefox lui-même. Ouvrez Firefox. Tapez about:support dans la barre d’adresse. Cherchez la ligne Dossier de profil. Cliquez sur Ouvrir le dossier correspondant. Fermez ensuite Firefox avant de copier le dossier. C’est important : un profil ouvert peut contenir des fichiers verrouillés ou des bases en cours d’écriture. Les chemins habituels sont les suivants : SystèmeChemin habituel du profil FirefoxWindows%APPDATA%\Mozilla\Firefox\Profiles\macOS~/Library/Application Support/Firefox/Profiles/Linux~/.mozilla/firefox/ Sauvegarder Firefox manuellement Pour sauvegarder Firefox manuellement, fermez Firefox puis copiez le dossier de profil vers un disque externe, un NAS, un dossier de sauvegarde ou un cloud de confiance. Sous Linux, par exemple : mkdir -p ~/Sauvegardes/firefox cp -a ~/.mozilla/firefox ~/Sauvegardes/firefox/ Pour créer une archive compressée : tar -czf firefox-profile-$(date +%F).tar.gz ~/.mozilla/firefox Sur Windows, copiez simplement le dossier suivant après avoir fermé Firefox : %APPDATA%\Mozilla\Firefox\Profiles\ Pour une sauvegarde complète, vous pouvez aussi copier le fichier profiles.ini, situé dans le dossier Firefox parent. Il indique à Firefox quels profils existent et lequel utiliser par défaut. Restaurer un profil Firefox Pour restaurer un profil Firefox, commencez par... --- ### Gravity Forms : conserver les fichiers uploadés après suppression des entrées - **URL**: https://www.skyminds.net/gravity-forms-garder-les-fichiers-uploads/ Gravity Forms permet d’ajouter un champ d’upload de fichier dans un formulaire WordPress. C’est très pratique pour recevoir des CV, documents administratifs, images, justificatifs, contrats, captures d’écran ou pièces jointes clients. Mais il y a un détail important : lorsqu’une entrée Gravity Forms est supprimée définitivement, les fichiers uploadés associés peuvent être supprimés eux aussi. C’est logique pour la confidentialité et le nettoyage serveur, mais ce n’est pas toujours le comportement voulu. Si vous voulez supprimer les entrées Gravity Forms tout en conservant les fichiers uploadés, il faut modifier le comportement de suppression des fichiers avec un filtre prévu par Gravity Forms. Pourquoi Gravity Forms supprime les fichiers uploadés ? Gravity Forms associe les fichiers uploadés à l’entrée du formulaire. Quand vous supprimez définitivement une entrée, Gravity Forms peut supprimer les fichiers liés afin d’éviter de laisser des fichiers orphelins sur le serveur. Ce comportement est généralement sain. Si vous supprimez une entrée contenant des données personnelles, conserver automatiquement les fichiers liés pourrait poser problème. Un CV, une pièce d’identité ou un justificatif ne doit pas rester sur le serveur par accident. Mais certains sites ont un besoin différent : ils veulent supprimer les entrées pour alléger la base de données, tout en conservant les fichiers pour archivage, traitement métier, sauvegarde, comptabilité ou suivi client. Cas d’usage : quand faut-il conserver les fichiers ? Conserver les fichiers uploadés peut être utile dans plusieurs situations : formulaire de candidature avec CV à archiver ; formulaire client avec documents contractuels ; formulaire de support avec captures d’écran ; formulaire administratif avec justificatifs ; demande de devis avec fichiers techniques ; formulaire interne où les entrées sont supprimées après export ; workflow qui copie les fichiers vers un CRM ou un stockage externe ; site où l’entrée Gravity Forms n’est qu’un point de transit. Dans ces cas, supprimer l’entrée ne signifie pas forcément supprimer le document. Il faut donc dissocier la conservation des fichiers de la conservation des entrées. Où Gravity Forms stocke les fichiers uploadés ? Par défaut, les fichiers uploadés par Gravity Forms sont stockés dans le dossier des uploads WordPress, généralement dans un sous-dossier lié à Gravity Forms. wp-content/uploads/gravity_forms/ La structure exacte peut varier selon la version, le formulaire, le champ, la date et la configuration du site. Le plus simple consiste à inspecter directement les URLs enregistrées dans les entrées ou les fichiers présents sur le serveur. Pour afficher les dossiers Gravity Forms : find wp-content/uploads/gravity_forms -maxdepth 3 -type d | head -50 Pour afficher quelques fichiers uploadés : find wp-content/uploads/gravity_forms -type f | head -50 Avant de changer le comportement de suppression, vérifiez bien ce que vous stockez. Conserver des fichiers, c’est aussi conserver une responsabilité. Charmant, mais réel. La solution : utiliser gform_field_types_delete_files Gravity Forms fournit le filtre gform_field_types_delete_files. Il permet de contrôler quels types de champs doivent entraîner la suppression des fichiers quand une entrée est supprimée. Par défaut, les champs d’upload peuvent être inclus dans les types de champs dont les fichiers sont supprimés. Pour... --- ### WordPress : valider le code HTML des meta tags et oEmbeds - **URL**: https://www.skyminds.net/wordpress-valider-code-html-meta-oembeds/ WordPress facilite l’intégration de vidéos, tweets, posts sociaux, cartes, playlists et contenus externes grâce aux oEmbeds. Il suffit souvent de coller une URL dans l’éditeur, et WordPress génère l’intégration automatiquement. Mais sur un vieux thème, un ancien article ou un site migré plusieurs fois, le HTML peut vite devenir bancal : balises au mauvais endroit, iframes mal formées, embeds copiés-collés, attributs invalides, scripts externes inutiles, ou shortcodes d’anciens plugins qui ne servent plus à rien. Voici comment valider et nettoyer le code HTML lié aux balises meta et aux oEmbeds WordPress, sans casser les contenus intégrés. Comprendre la différence entre meta tags et oEmbeds Les balises décrivent la page. Elles appartiennent au document HTML et doivent généralement être placées dans le . Elles servent par exemple à déclarer l’encodage, le viewport mobile, la description SEO ou certaines métadonnées sociales. Les oEmbeds, eux, servent à intégrer du contenu externe dans le corps de la page : vidéo YouTube, vidéo Vimeo, publication sociale, audio, carte, document ou autre contenu pris en charge par un provider compatible. Le mélange des deux crée souvent les erreurs. Une balise dans le contenu d’un article n’a généralement rien à faire là. Un embed collé dans le non plus. Chacun sa chambre, chacun son bazar. Les balises meta doivent rester dans le head En HTML, l’élément représente une métadonnée du document. Selon ses attributs, il peut déclarer l’encodage, fournir une métadonnée nommée, ou simuler certaines directives HTTP. MDN rappelle notamment que charset, name et http-equiv correspondent à des usages différents de l’élément . Un encodage UTF-8 correct ressemble à ceci : La balise viewport classique ressemble à ceci : Sur WordPress, ces balises ne doivent pas être ajoutées dans un article. Elles doivent venir du thème, via header.php, wp_head(), ou le système natif du thème. Vérifier que le thème appelle wp_head() Un thème WordPress doit appeler wp_head() juste avant la fermeture de la balise . Sans cet appel, WordPress et les plugins ne peuvent pas injecter correctement leurs scripts, styles et métadonnées. Vérifiez aussi que wp_footer() est présent avant : Si ces deux appels manquent, beaucoup de comportements WordPress deviennent imprévisibles : oEmbeds, scripts, styles, plugins SEO, analytics, commentaires, blocs et embeds sociaux. Ne pas coller des balises meta dans le contenu WordPress Une erreur fréquente consiste à coller dans l’éditeur WordPress un code fourni par une plateforme externe, par exemple : Dans un article, ce mélange pose plusieurs problèmes : la balise n’est pas au bon endroit, le script peut être filtré par WordPress, l’iframe peut casser la validation, et le rendu peut dépendre d’un service externe. Quand un service propose à la fois une URL et un code embed, commencez toujours par tester l’URL seule dans un bloc Embed. WordPress gère souvent l’intégration proprement. Utiliser les blocs Embed de Gutenberg Dans l’éditeur de blocs, vous pouvez coller directement une URL compatible dans un bloc. WordPress tente alors de générer l’intégration via oEmbed. Exemple avec une vidéo YouTube : https://www.youtube.com/watch?v=dQw4w9WgXcQ WordPress transforme ensuite l’URL en bloc... --- ### WordPress : changer le mot de passe d’un utilisateur en SQL ou WP-CLI - **URL**: https://www.skyminds.net/wordpress-changer-mot-de-passe-utilisateur-sql-wp-cli/ Il arrive de devoir changer le mot de passe d’un utilisateur WordPress sans passer par l’administration : accès perdu, email de réinitialisation qui ne part pas, compte administrateur bloqué, migration cassée, ou site en maintenance. La méthode moderne consiste à utiliser WP-CLI. La méthode SQL reste possible, mais uniquement comme solution de secours. Modifier directement la base fonctionne, mais il faut le faire proprement, car WordPress ne stocke pas les mots de passe en clair. Voici les méthodes fiables pour changer le mot de passe d’un utilisateur WordPress depuis le serveur ou depuis MySQL. Méthode recommandée : changer le mot de passe avec WP-CLI Si vous avez un accès SSH au serveur et que WP-CLI fonctionne, utilisez cette méthode. Elle est plus sûre, plus propre, et laisse WordPress gérer le hash du mot de passe. Commencez par lister les utilisateurs : wp user list Vous pouvez afficher uniquement les champs utiles : wp user list --fields=ID,user_login,user_email,roles Changez ensuite le mot de passe avec l’ID, le login ou l’adresse email de l’utilisateur : wp user update 1 --user_pass='NouveauMotDePasseFort' Ou avec le login : wp user update matt --user_pass='NouveauMotDePasseFort' Ou avec l’email : wp user update admin@example.com --user_pass='NouveauMotDePasseFort' WP-CLI passe le mot de passe à WordPress, et WordPress l’enregistre correctement dans la table des utilisateurs. Pas besoin de générer le hash à la main. C’est justement tout l’intérêt. Éviter d’exposer le mot de passe dans l’historique shell Quand vous tapez un mot de passe directement dans une commande, il peut rester dans l’historique du shell. Sur un serveur personnel, le risque est limité. Sur un serveur client ou partagé, c’est plus sale. Une approche plus propre consiste à demander à WP-CLI de vous prompter la valeur : wp user update 1 --prompt=user_pass WP-CLI demandera la valeur du mot de passe au moment de l’exécution. C’est plus discret que de l’écrire dans la ligne de commande. Vous pouvez aussi générer un mot de passe fort avec OpenSSL : openssl rand -base64 24 Puis l’utiliser immédiatement, idéalement via le prompt WP-CLI. Changer le mot de passe dans un chemin WordPress précis Si vous n’êtes pas dans le dossier du site WordPress, indiquez le chemin avec --path : wp --path=/home/example/public_html user update 1 --prompt=user_pass Cette syntaxe est utile sur un serveur qui héberge plusieurs sites WordPress. Pour d’autres commandes d’administration WordPress côté serveur, vous pouvez aussi consulter le guide sur la liste des articles publiés avec WP-CLI. Changer un mot de passe WordPress en multisite Sur WordPress multisite, l’utilisateur appartient au réseau. Vous pouvez cibler le site avec --url, surtout si WP-CLI doit charger le bon contexte. wp --url=https://example.com user list --fields=ID,user_login,user_email,roles Puis : wp --url=https://example.com user update 1 --prompt=user_pass Si vous devez vérifier les super-admins du réseau : wp super-admin list Changer le mot de passe d’un utilisateur réseau affecte son compte global. Ne le faites pas à l’aveugle sur un multisite client : le même utilisateur peut accéder à plusieurs sites. Méthode SQL : uniquement en dernier recours La méthode SQL sert quand... --- ### WordPress : pourquoi mon plugin n’apparaît pas dans la liste des extensions ? - **URL**: https://www.skyminds.net/plugin-wordpress-pas-dans-liste-extensions/ Vous venez de créer ou d’installer un plugin WordPress dans wp-content/plugins, mais il n’apparaît pas dans la liste des extensions. Aucun message clair. Rien dans l’admin. Le plugin joue à cache-cache, et il gagne. Dans la plupart des cas, le problème vient d’un en-tête de plugin manquant ou invalide. WordPress ne liste pas les fichiers PHP au hasard : il cherche un fichier principal avec un commentaire d’en-tête contenant au minimum Plugin Name. Mais ce n’est pas la seule cause possible. Un plugin peut aussi disparaître de la liste à cause d’un mauvais dossier, d’un fichier principal mal placé, d’une archive ZIP mal structurée, d’une erreur fatale PHP, d’un problème de permissions, d’un cache OPcache, ou d’un environnement multisite. Vérifier l’en-tête du plugin Un plugin WordPress doit contenir un fichier PHP principal avec un en-tête reconnu par WordPress. Le strict minimum ressemble à ceci : --- ### Identifier l’élément plus large que le viewport en JavaScript - **URL**: https://www.skyminds.net/identifier-element-plus-large-viewport/ Sur mobile, un site peut parfois bouger horizontalement alors qu’aucun élément ne semble dépasser. Vous faites glisser la page vers la gauche, et une vilaine bande apparaît à droite. Elle était là, tapie dans l’ombre. Très professionnelle, évidemment. Ce problème vient presque toujours d’un élément plus large que le viewport. Il peut s’agir d’une image, d’un tableau, d’un slider, d’un bloc WooCommerce, d’un menu mobile, d’une section en width:100vw, d’une grille CSS, ou d’un élément positionné hors écran. Voici une méthode moderne pour identifier l’élément responsable avec Vanilla JavaScript, puis corriger proprement l’overflow horizontal sans masquer le problème sous un grand tapis CSS. Le symptôme : un scroll horizontal sur mobile Le cas typique : sur desktop, tout semble normal. Sur mobile, la page peut se déplacer horizontalement. Le contenu principal reste visible, mais une zone vide apparaît sur le côté droit. Dans Chrome DevTools ou Firefox DevTools, vous pouvez reproduire le problème en mode responsive. Choisissez une largeur mobile, par exemple 375px, puis essayez de faire glisser la page horizontalement. Si la page bouge, le document est plus large que le viewport. Pour le confirmer dans la console : document.documentElement.scrollWidth > window.innerWidth Si la commande retourne true, un élément dépasse horizontalement. Vous pouvez aussi afficher les deux valeurs : console.log({ viewport: window.innerWidth, documentWidth: document.documentElement.scrollWidth, overflow: document.documentElement.scrollWidth - window.innerWidth, }); Si documentWidth est plus grand que viewport, il faut trouver le coupable. Méthode rapide : trouver les éléments qui dépassent Voici un script Vanilla JS simple à coller dans la console du navigateur. Il liste les éléments qui dépassent à gauche ou à droite du viewport. (() => { const viewportWidth = document.documentElement.clientWidth; document.querySelectorAll('body *').forEach((element) => { const rect = element.getBoundingClientRect(); if (rect.left < 0 || rect.right > viewportWidth) { console.log('Élément qui dépasse le viewport :', { element, left: Math.round(rect.left), right: Math.round(rect.right), width: Math.round(rect.width), viewportWidth, overflowRight: Math.round(rect.right - viewportWidth), }); } }); })(); Cette version utilise getBoundingClientRect(). Elle est souvent plus utile que offsetWidth, car elle tient compte de la position réelle de l’élément dans le viewport. Le script affiche chaque élément suspect dans la console. Cliquez sur l’objet element pour le sélectionner dans l’inspecteur. Ensuite, regardez ses styles CSS, ses marges, sa largeur, son positionnement et ses parents. Version avec surlignage visuel Pour rendre le diagnostic plus visible, ce script ajoute un contour rouge aux éléments qui dépassent : (() => { const viewportWidth = document.documentElement.clientWidth; const overflowingElements = []; document.querySelectorAll('body *').forEach((element) => { const rect = element.getBoundingClientRect(); const overflowsLeft = rect.left < 0; const overflowsRight = rect.right > viewportWidth; if (!overflowsLeft && !overflowsRight) { return; } element.style.outline = '3px solid red'; element.style.outlineOffset = '-3px'; overflowingElements.push({ element, left: Math.round(rect.left), right: Math.round(rect.right), width: Math.round(rect.width), }); }); console.table( overflowingElements.map((item) => ({ tag: item.element.tagName.toLowerCase(), className: item.element.className, left: item.left, right: item.right, width: item.width, })) ); console.log('Éléments qui dépassent :', overflowingElements); })(); Cette version aide beaucoup sur les pages complexes. Cependant, elle modifie temporairement les styles inline dans le navigateur. Rechargez la page pour tout remettre à zéro. Version propre avec data-attribute Si vous... --- ### Poedit : mettre à jour les traductions WordPress d’un thème ou plugin - **URL**: https://www.skyminds.net/poedit-mettre-jour-traductions-themes-plugins-wordpress/ Poedit permet de traduire facilement un thème ou un plugin WordPress à partir de fichiers .pot, .po et .mo. C’est pratique, visuel, et nettement plus agréable que de traduire des chaînes dans un éditeur brut en espérant ne pas casser une forme plurielle au passage. Mais le workflow WordPress a évolué. Aujourd’hui, il faut aussi penser aux chaînes JavaScript, aux blocs Gutenberg, aux fichiers JSON de traduction, aux language packs, et aux traductions personnalisées qui ne doivent pas être écrasées à la prochaine mise à jour. Voici donc une méthode moderne pour mettre à jour les traductions d’un thème ou d’un plugin WordPress avec Poedit, tout en gardant un workflow propre avec WP-CLI quand vous contrôlez le code. Comprendre les fichiers de traduction WordPress WordPress utilise principalement le système gettext. Pour un thème ou un plugin, on rencontre généralement trois types de fichiers : .pot : le modèle de traduction, contenant les chaînes originales à traduire ; .po : le fichier éditable, contenant les traductions humaines ; .mo : le fichier compilé, lu par WordPress côté PHP. Avec les interfaces modernes, WordPress peut aussi utiliser des fichiers .json pour les chaînes présentes dans les fichiers JavaScript, notamment dans les blocs et les écrans React de l’administration. En clair : .po et .mo restent indispensables pour beaucoup de chaînes PHP. Mais si le thème ou le plugin contient du JavaScript internationalisé, les fichiers JSON peuvent aussi être nécessaires. À quoi sert Poedit ? Poedit est un éditeur de traduction spécialisé dans les fichiers gettext. Il permet d’ouvrir un fichier .po, de voir les chaînes originales, de saisir les traductions, puis d’enregistrer automatiquement le fichier .mo correspondant. Poedit peut aussi créer ou mettre à jour un fichier .po depuis un fichier .pot. C’est précisément le cas le plus courant quand un thème ou un plugin ajoute de nouvelles chaînes après une mise à jour. La version Pro de Poedit ajoute des fonctions plus orientées WordPress, comme la détection de projets WordPress, la traduction de thèmes et plugins, et certains workflows distants. Mais pour un workflow développeur maîtrisé, la combinaison WP-CLI pour extraire les chaînes + Poedit pour traduire reste très efficace. Avant de commencer : sauvegarder les traductions personnalisées Avant de modifier quoi que ce soit, sauvegardez vos fichiers de traduction. C’est particulièrement important si vous avez déjà personnalisé des chaînes dans un thème ou un plugin tiers. cp -av wp-content/languages wp-content/languages.backup.$(date +%F-%H%M%S) Si vous travaillez uniquement sur un plugin précis : cp -av wp-content/languages/plugins wp-content/languages/plugins.backup.$(date +%F-%H%M%S) Et pour les thèmes : cp -av wp-content/languages/themes wp-content/languages/themes.backup.$(date +%F-%H%M%S) Ce n’est pas glamour, mais une sauvegarde de 10 secondes évite parfois deux heures de jurons très créatifs. Où placer les traductions WordPress ? Il existe plusieurs emplacements possibles, et ils n’ont pas le même niveau de sécurité face aux mises à jour. wp-content/languages/plugins/ pour les traductions personnalisées de plugins ; wp-content/languages/themes/ pour les traductions personnalisées de thèmes ; wp-content/languages/ pour certaines traductions globales ; le dossier languages du plugin ou du thème, surtout pour... --- ### WordPress : corriger les images qui ont perdu leur chemin - **URL**: https://www.skyminds.net/wordpress-images-chemin-casse-media-library/ Sur WordPress, une image peut disparaître alors que le fichier existe encore sur le serveur. L’article affiche une icône cassée, la bibliothèque de médias semble confuse, et l’URL générée ne mène nulle part. Bref, l’image n’a pas disparu. Elle a juste perdu son chemin. Ambiance GPS en forêt. Le cas classique : WordPress stocke un mauvais chemin dans la base de données. Parfois, il mélange une URL publique avec un chemin serveur privé. Parfois, il garde l’ancien domaine après une migration. Parfois, il pointe vers un dossier qui n’existe plus. Dans tous les cas, il faut diagnostiquer avant de corriger. Symptômes : images cassées dans WordPress Le problème peut apparaître de plusieurs façons : les images ne s’affichent plus dans les articles ; la bibliothèque de médias affiche des vignettes cassées ; certaines images fonctionnent, mais pas les anciennes ; les URLs contiennent encore l’ancien domaine ; les URLs contiennent un chemin serveur comme /home/public_html/ ; les miniatures sont manquantes après un changement de thème ; Google Search Console signale des images introuvables ; le navigateur retourne une erreur 404 ou 403 sur les fichiers image. Avant de lancer une requête SQL, ouvrez une image cassée dans un nouvel onglet. Regardez l’URL exacte. C’est souvent elle qui donne le diagnostic. Comprendre où WordPress stocke le chemin d’une image Quand vous ajoutez une image dans WordPress, elle devient généralement un contenu de type attachment. WordPress stocke ensuite plusieurs informations dans la base. wp_posts contient l’entrée média, avec le type attachment. wp_postmeta contient le chemin du fichier dans la meta _wp_attached_file. wp_postmeta contient aussi les métadonnées d’image dans _wp_attachment_metadata. post_content peut contenir des balises avec des URLs absolues. postmeta, options ou des données de constructeur peuvent aussi contenir des URLs d’images. La meta _wp_attached_file doit généralement contenir un chemin relatif au dossier uploads, par exemple : 2026/05/image.jpg Elle ne devrait pas contenir un chemin système complet comme : /home/example/public_html/wp-content/uploads/2026/05/image.jpg Elle ne devrait pas non plus contenir une URL complète comme : https://www.example.com/wp-content/uploads/2026/05/image.jpg Quand cette valeur devient incohérente, WordPress construit de mauvaises URLs. Les images existent peut-être encore, mais WordPress ne sait plus les retrouver. Commencer par sauvegarder la base Avant toute correction en base, exportez une sauvegarde SQL. C’est non négociable, surtout si vous touchez wp_postmeta. wp db export "backup-before-media-path-fix-$(date +%F-%H%M%S).sql" Vérifiez que le fichier existe : ls -lh backup-before-media-path-fix-*.sql Sur un site client ou un gros site éditorial, travaillez d’abord sur staging. Si vous devez corriger plusieurs centaines de médias, testez la procédure sur une copie avant de toucher la production. Pour mettre en place une méthode de sauvegarde plus régulière, vous pouvez aussi lire l’article sur les sauvegardes de fichiers et bases de données avec cron. Auditer les chemins stockés dans _wp_attached_file Pour afficher les chemins médias stockés dans WordPress, utilisez WP-CLI : wp db query " SELECT post_id, meta_value FROM wp_postmeta WHERE meta_key = '_wp_attached_file' ORDER BY post_id DESC LIMIT 50; " Pour repérer les chemins serveur absolus, cherchez les valeurs qui contiennent /home/, /var/www/ ou public_html : wp... --- ### WordPress : trouver les articles de moins de 300 mots - **URL**: https://www.skyminds.net/wordpress-trouver-articles-de-moins-de-300-mots/ Pour auditer un site WordPress, il est souvent utile de repérer les articles très courts. Non pas parce qu’un article de moins de 300 mots serait automatiquement mauvais, mais parce qu’il mérite une vérification éditoriale. Un contenu court peut être parfaitement légitime : une brève, une vidéo, une note technique, une citation, une commande utile. Mais il peut aussi signaler un vieil article trop mince, une page oubliée, un contenu cannibalisé, ou un billet qui ne répond plus vraiment à l’intention de recherche. Voici donc plusieurs méthodes pour trouver les articles WordPress de moins de 300 mots : en SQL, avec WP-CLI, et avec un export CSV exploitable pour une vraie refonte éditoriale. Méthode rapide : trouver les articles courts avec SQL La méthode la plus directe consiste à interroger la table wp_posts. WordPress stocke le contenu principal des articles dans la colonne post_content. Voici une requête simple pour trouver les articles publiés qui contiennent moins de 300 mots environ : SELECT ID, post_title, post_name, post_date, ( LENGTH( TRIM( post_content ) ) - LENGTH( REPLACE( TRIM( post_content ), ' ', '' ) ) + 1 ) AS estimated_word_count FROM wp_posts WHERE post_type = 'post' AND post_status = 'publish' AND TRIM( post_content ) != '' AND ( LENGTH( TRIM( post_content ) ) - LENGTH( REPLACE( TRIM( post_content ), ' ', '' ) ) + 1 ) < 300 ORDER BY estimated_word_count ASC; Cette requête donne une estimation rapide. Elle compte les séparateurs d’espaces, ce qui suffit pour un premier repérage. En revanche, elle ne nettoie pas vraiment le HTML, les commentaires Gutenberg, les shortcodes ou les espaces multiples. Version SQL avec l’URL de l’article Pour rendre l’audit plus pratique, vous pouvez générer directement l’URL de chaque article. Remplacez le domaine par celui de votre site : SELECT ID, post_title, CONCAT( 'https://www.example.com/', post_name, '/' ) AS url, post_date, ( LENGTH( TRIM( post_content ) ) - LENGTH( REPLACE( TRIM( post_content ), ' ', '' ) ) + 1 ) AS estimated_word_count FROM wp_posts WHERE post_type = 'post' AND post_status = 'publish' AND TRIM( post_content ) != '' AND ( LENGTH( TRIM( post_content ) ) - LENGTH( REPLACE( TRIM( post_content ), ' ', '' ) ) + 1 ) < 300 ORDER BY estimated_word_count ASC; Cette version fonctionne si vos permaliens utilisent simplement le slug de l’article. Si votre structure inclut la date, la catégorie ou un préfixe personnalisé, préférez WP-CLI. Il utilisera les permaliens réels du site. Méthode plus fiable : utiliser WP-CLI La méthode SQL est rapide, mais elle reste approximative. Pour un audit plus fiable, utilisez WordPress lui-même pour récupérer le contenu, nettoyer les blocs et générer les vraies URLs. Voici une commande WP-CLI qui liste les articles publiés de moins de 300 mots : wp eval ' $posts = get_posts( array( "post_type" => "post", "post_status" => "publish", "posts_per_page" => -1, "fields" => "ids", ) ); foreach ( $posts as $post_id ) { $content = get_post_field( "post_content", $post_id ); $content = do_blocks( $content ); $content = wp_strip_all_tags( strip_shortcodes( $content ) );... --- ### Mettre à jour la base de données WooCommerce avec WP-CLI - **URL**: https://www.skyminds.net/mettre-a-jour-base-de-donnees-woocommerce-wp-cli/ Après une mise à jour de WooCommerce, WordPress peut afficher un message du type : WooCommerce database update required. En français : WooCommerce a été mis à jour, mais sa base de données doit encore suivre le mouvement. Dans l’administration WordPress, WooCommerce propose un bouton pour lancer cette mise à jour. Mais sur une boutique active, un gros catalogue, ou un serveur où les requêtes web peuvent expirer, WP-CLI est souvent plus propre. Le terminal n’a pas peur des gros paniers. Lui. Ce que fait la mise à jour de la base WooCommerce WooCommerce stocke ses données dans la base WordPress : produits, commandes, clients, réglages, taxes, coupons, attributs, journaux, lookup tables, webhooks et métadonnées diverses. Quand une nouvelle version de WooCommerce introduit une modification de structure ou de données, le plugin peut devoir exécuter une mise à jour de base. Cette opération adapte les données existantes à la version installée. Concrètement, cela peut mettre à jour des options, créer ou modifier des tables, régénérer certaines données, ou planifier des tâches d’arrière-plan via Action Scheduler. La commande WP-CLI à utiliser Depuis la racine du site WordPress, lancez : wp wc update Cette commande exécute les mises à jour de base WooCommerce en attente. Si aucune mise à jour n’est nécessaire, WooCommerce vous l’indiquera simplement. Si vous n’êtes pas dans le dossier du site, utilisez --path : wp --path=/home/example/public_html wc update Sur un multisite, ciblez le bon site avec --url : wp --url=https://boutique.example.com wc update Avant de lancer la commande : faites une sauvegarde Une mise à jour de base WooCommerce modifie des données critiques. Donc, avant de lancer quoi que ce soit, sauvegardez la base. wp db export "backup-before-woocommerce-db-update-$(date +%F-%H%M%S).sql" Vous pouvez vérifier que le fichier existe : ls -lh backup-before-woocommerce-db-update-*.sql Sur une vraie boutique, je recommande aussi une sauvegarde fichiers + base via l’hébergeur ou votre outil de backup. Une sauvegarde SQL locale est utile, mais elle ne remplace pas un point de restauration complet. Pour une approche serveur plus complète, vous pouvez aussi relire l’article sur les sauvegardes de fichiers et bases de données avec cron. Procédure recommandée sur une boutique WooCommerce Sur une boutique de production, ne lancez pas la mise à jour entre deux commandes clients, les yeux fermés, un vendredi soir. Même WooCommerce mérite mieux. Voici une procédure plus propre : créer ou rafraîchir un staging ; mettre à jour WordPress si nécessaire ; mettre à jour WooCommerce ; mettre à jour les extensions WooCommerce critiques ; lancer la mise à jour de base avec WP-CLI ; contrôler les tâches Action Scheduler ; purger les caches ; tester le tunnel d’achat ; reproduire ensuite la procédure en production. Si vous avez besoin d’un environnement de test propre, consultez aussi le guide pour créer un site staging WordPress sur un sous-domaine. Vérifier les versions avant mise à jour Avant de toucher à la base, vérifiez l’état du site : wp core version wp plugin list --status=active wp plugin list --update=available Pour isoler WooCommerce : wp plugin... --- ### The SEO Framework : corriger une erreur 404 sur sitemap.xml avec nginx - **URL**: https://www.skyminds.net/the-seo-framework-resoudre-erreur-404-sitemap-nginx/ Avec WordPress, nginx et The SEO Framework, il peut arriver que l’URL /sitemap.xml renvoie une erreur 404 Not Found. Le plugin est actif, les permaliens fonctionnent, mais le sitemap refuse de s’afficher. Classique. Agaçant. Très nginx. Dans la plupart des cas, The SEO Framework n’est pas le coupable. Le problème vient de la configuration nginx : une règle intercepte les fichiers .xml avant que WordPress puisse générer le sitemap virtuel. Pourquoi sitemap.xml peut renvoyer une 404 sous nginx The SEO Framework génère son sitemap dynamiquement. Cela signifie que /sitemap.xml n’est pas forcément un vrai fichier présent sur le disque. C’est une URL virtuelle servie par WordPress. Avec Apache, WordPress peut souvent gérer ce type de réécriture via .htaccess. Avec nginx, c’est différent : il n’y a pas de fichier .htaccess lu dossier par dossier. Les règles doivent être écrites dans le server block nginx. Si nginx tente de servir /sitemap.xml comme un fichier statique réel, il cherche un fichier nommé sitemap.xml à la racine du site. S’il n’existe pas, nginx renvoie une 404 avant même que WordPress puisse répondre. Tester le sitemap avec curl Commencez par tester l’URL du sitemap : curl -I https://www.example.com/sitemap.xml Une réponse correcte ressemble à ceci : HTTP/2 200 content-type: text/xml; charset=UTF-8 Si vous obtenez une 404, testez aussi l’endpoint alternatif proposé par The SEO Framework : curl -I https://www.example.com/sitemap.xml-alt Si /sitemap.xml-alt fonctionne mais pas /sitemap.xml, vous avez presque certainement une règle nginx qui intercepte les fichiers .xml. Vérifier la règle WordPress principale Votre server block nginx doit contenir une règle capable d’envoyer les URLs non trouvées vers WordPress : location / { try_files $uri $uri/ /index.php?$args; } Cette directive dit à nginx : sers le fichier s’il existe, sers le dossier s’il existe, sinon passe la requête à WordPress. Sans cette règle, les permaliens WordPress et les endpoints virtuels comme le sitemap peuvent casser. Après modification, testez nginx : sudo nginx -t Puis rechargez le service : sudo systemctl reload nginx Corriger la vraie cause : les locations XML Le cas le plus fréquent est une location regex qui regroupe les fichiers statiques, comme ceci : location ~* \.(?:css|js|jpg|jpeg|gif|png|webp|avif|ico|svg|xml)$ { expires 30d; access_log off; } Cette règle paraît innocente. Pourtant, elle capture aussi /sitemap.xml. nginx traite alors le sitemap comme un fichier statique. Comme le fichier n’existe pas physiquement, la réponse peut devenir une 404. La correction durable consiste à retirer xml de cette location : location ~* \.(?:css|js|jpg|jpeg|gif|png|webp|avif|ico|svg)$ { expires 30d; access_log off; } Faites la même vérification pour xsl si le sitemap s’affiche en page blanche ou sans style. The SEO Framework peut utiliser une feuille XSL pour présenter le sitemap dans le navigateur. Trouver les règles nginx qui ciblent XML Pour inspecter toute la configuration nginx active : sudo nginx -T | grep -Ei "xml|xsl|sitemap|location|try_files|rewrite" Si vous voyez une location comme celle-ci, elle mérite votre attention : location ~* \.(xml|xsl)$ { ... } Ou une règle plus large : location ~* \.(?:css|js|png|jpg|jpeg|gif|svg|webp|avif|xml|xsl)$ { ... } Dans ce cas, retirez xml et xsl,... --- ### WP-CLI : lister toutes les URLs des articles publiés WordPress - **URL**: https://www.skyminds.net/lister-urls-articles-wordpress-wp-cli/ WP-CLI permet de lister très rapidement les articles publiés d’un site WordPress, sans passer par l’administration. C’est pratique pour créer un export d’URLs, préparer une campagne de partage social, auditer un site, vérifier des contenus programmés, ou alimenter un outil externe. Dans mon cas, j’avais besoin de récupérer les URLs des articles publiés pour les soumettre à SocialBee. Comme l’outil accepte des lots de 100 URLs, WP-CLI est parfait : une commande, une pagination, et c’est plié proprement. Lister toutes les URLs des articles publiés La commande de base est très simple : wp post list --post_type=post --post_status=publish --field=url Elle retourne une URL par ligne, uniquement pour les articles publiés. Les arguments importants sont : wp post list liste les contenus WordPress. --post_type=post limite la requête aux articles. --post_status=publish limite la requête aux contenus publiés. --field=url affiche uniquement l’URL de chaque article. WP-CLI accepte ici les arguments de WP_Query. Vous pouvez donc filtrer les résultats comme vous le feriez dans une requête WordPress classique. Exporter la liste dans un fichier texte Pour créer un fichier contenant toutes les URLs publiées : wp post list --post_type=post --post_status=publish --field=url > articles-publies.txt Vous pouvez ensuite vérifier le nombre de lignes : wc -l articles-publies.txt Et consulter les premières URLs : head articles-publies.txt Ou les dernières : tail articles-publies.txt Lister les articles publiés par lots de 100 URLs Pour récupérer les 100 premiers articles publiés : wp post list --post_type=post --post_status=publish --field=url --posts_per_page=100 --paged=1 Pour récupérer les 100 suivants, augmentez simplement --paged : wp post list --post_type=post --post_status=publish --field=url --posts_per_page=100 --paged=2 Puis : wp post list --post_type=post --post_status=publish --field=url --posts_per_page=100 --paged=3 C’est la méthode la plus simple si votre outil d’import accepte uniquement des listes de 100 URLs. Pas besoin d’ouvrir WordPress, pas besoin de copier-coller depuis l’admin, pas besoin de menacer Excel. Créer automatiquement des fichiers de 100 URLs Si vous voulez générer automatiquement plusieurs fichiers, chacun contenant 100 URLs, utilisez split : wp post list --post_type=post --post_status=publish --field=url > articles-publies.txt split -l 100 -d --additional-suffix=.txt articles-publies.txt articles-lot- Vous obtiendrez des fichiers du type : articles-lot-00.txt articles-lot-01.txt articles-lot-02.txt Chaque fichier contient 100 URLs maximum. C’est idéal pour les outils de planification sociale qui limitent les imports par lot. Exporter les articles en CSV Si vous avez besoin d’un fichier plus riche, exportez les articles en CSV avec leur ID, titre, date et URL : wp post list \ --post_type=post \ --post_status=publish \ --fields=ID,post_title,post_date,url \ --format=csv > articles-publies.csv Ce format est plus pratique pour un audit éditorial, une migration, ou un contrôle avant republication. Pour garder uniquement les IDs, WP-CLI propose aussi le format ids : wp post list --post_type=post --post_status=publish --format=ids Lister les articles programmés Pour afficher les articles planifiés dans WordPress : wp post list \ --post_type=post \ --post_status=future \ --fields=ID,post_title,post_date,url \ --format=table Pour exporter uniquement les URLs des articles programmés : wp post list --post_type=post --post_status=future --field=url Et pour compter les articles programmés : wp post list --post_type=post --post_status=future --format=count Lister les articles d’une catégorie Pour lister les articles publiés d’une... --- ### African American Life and Resistance Before the Civil War - **URL**: https://www.skyminds.net/african-american-life-resistance-before-civil-war/ Before the Civil War, African Americans lived under radically different legal conditions, from enslavement in the South to restricted freedom in Northern and Western communities. Enslaved and free Black people nevertheless built families, churches, schools and political organisations while resisting oppression through cultural survival, negotiation, escape, public protest and abolitionism. African American life before the Civil War cannot be reduced to one experience. Most Black people in the United States were enslaved, but a substantial free population also lived in both Northern and Southern states. Enslaved people worked on plantations, small farms, docks, construction sites, in factories and inside private households. Free Black Americans worked as sailors, artisans, domestic workers, labourers, teachers, ministers, writers and business owners, although racial discrimination restricted almost every aspect of their lives. Black resistance also assumed many forms. Armed revolts were exceptional, but resistance occurred daily through family formation, religious practice, education, work slowdowns, preservation of culture, escape and organised political action. Understanding this history requires more than describing what slavery did to African Americans. It also requires examining how Black people created communities, defended their humanity and influenced the struggle that eventually destroyed legal slavery. The organisation of plantation slavery is examined separately in Life in the Plantations. African American life in a slaveholding republic Slavery existed throughout the British colonies that became the United States, but gradual emancipation weakened the institution in much of the North after the American Revolution. It expanded rapidly in the South during the early nineteenth century as cotton production spread westwards. By 1860, approximately four million people were enslaved in the United States. Most lived in Southern states, where their labour supported agriculture, transportation, industry and domestic service. Nearly half a million free Black people also lived in the country. Their legal status distinguished them from enslaved people, but freedom did not guarantee equality, security or full citizenship. State and local laws restricted movement, employment, education, property ownership, testimony in court and political participation. Free Black people could also be kidnapped and sold into slavery, especially when they lacked documents proving their status. The United States was therefore neither simply divided into a free North and an enslaved South nor organised around two completely separate populations. Slavery, freedom and racial discrimination existed in interconnected forms across the nation. The expansion of cotton slavery The invention and commercial adoption of the cotton gin made short-staple cotton more profitable to process. International demand, fertile land and territorial expansion then encouraged plantation agriculture to spread across the Deep South. States and territories such as Alabama, Mississippi, Louisiana, Arkansas and Texas became major centres of cotton production. This expansion depended on the forced labour of enslaved people and the seizure of Indigenous land. The federal prohibition on the international slave trade took effect in 1808, but it did not reduce the importance of slavery. Instead, the domestic slave trade expanded as enslavers transported people from the Upper South to the developing cotton regions. Hundreds of thousands of people were sold southwards through... --- ### Reform Movements in Antebellum America - **URL**: https://www.skyminds.net/reform-movements-antebellum-america/ During the decades before the Civil War, Americans organised campaigns against slavery, alcohol abuse, unequal education, abusive institutions and the political exclusion of women. These movements grew from evangelical religion, Enlightenment ideas and confidence in human improvement, but they also revealed conflicts over race, gender, personal liberty and the proper role of government. The first half of the nineteenth century was an age of rapid social change in the United States. Population growth, territorial expansion, industrialisation and the Market Revolution connected previously isolated communities while disrupting established ways of life. Many Americans believed that these transformations created both opportunity and disorder. Cities expanded, wage labour became more common and migration weakened older community structures. Reformers responded by attempting to improve individuals, institutions and society itself. Their campaigns were diverse. Some sought to abolish slavery or extend women’s rights, while others promoted temperance, public schools, prison reform or new religious communities. The movements often shared activists, meeting spaces, newspapers and methods of organisation. Reform did not always mean liberation. Some reformers defended personal autonomy, but others attempted to impose middle-class Protestant values on workers, immigrants, prisoners and the poor. The wider social and economic context is examined in American Society in the Early Nineteenth Century. Why did reform movements flourish before the Civil War? Antebellum reform grew from several connected developments. Religious revivals encouraged individuals to reject sin and work towards moral improvement, while democratic politics gave ordinary white men a larger public role. The expansion of printing helped organisations circulate sermons, pamphlets, petitions and newspapers. Roads, canals and railways allowed speakers and reform agents to travel more easily between towns and states. Economic change also created new anxieties. Factory labour, immigration, urban poverty and commercial instability appeared to weaken traditional social bonds. Reformers frequently interpreted these problems as moral failures that could be corrected through discipline, education and voluntary association. At the same time, the language of the American Revolution remained politically powerful. Activists used ideas of natural rights and equality to challenge slavery and women’s exclusion, asking why the nation’s founding principles applied only to part of the population. The Second Great Awakening The Second Great Awakening was a broad wave of Protestant revivalism that transformed American religious life from the late eighteenth century through the first half of the nineteenth century. Revival preachers emphasised conversion, personal responsibility and the possibility of salvation. Their message challenged older Calvinist ideas that placed greater emphasis on divine predestination. Camp meetings attracted large crowds, especially in frontier regions where established churches were less common. Emotional preaching, public testimony and collective worship made religion accessible beyond traditional congregations. Methodist and Baptist churches expanded rapidly because travelling ministers and local congregations could respond effectively to population movement. Women formed a large proportion of converts and became central to church-based charitable work. Revivalism encouraged the belief that individuals could change and that society could be purified through organised action. This confidence supplied religious energy to temperance, abolitionism, missions, education and institutional reform. The Burned-Over District... --- ### Jeffersonian America: Expansion, Embargo and the Road to War - **URL**: https://www.skyminds.net/jeffersonian-america-expansion-embargo-war/ Between 1800 and 1815, the United States experienced its first peaceful transfer of power between rival parties, acquired the Louisiana territory and attempted to defend its independence during the Napoleonic Wars. Jeffersonian Republicans promised limited government, but territorial expansion, economic coercion and war repeatedly forced them to exercise broader federal powers. The election of Thomas Jefferson in 1800 marked a major political transition in the early United States. Power passed from the Federalists to the Democratic-Republicans without civil conflict, demonstrating that the constitutional system could survive intense party competition. Jefferson entered office promising to reduce the size and cost of the federal government. His administration lowered taxes, reduced military expenditure and presented an agrarian republic of independent farmers as the foundation of American liberty. Yet Jefferson’s presidency also exposed the difficulty of applying limited-government principles to a growing nation. The Louisiana Purchase required a broad interpretation of presidential authority, while conflict with Britain and France led to intrusive commercial regulations. After Jefferson left office, James Madison inherited the same international crisis. Diplomatic protests and economic restrictions failed to protect American shipping, while western settlers demanded action against both British interference and Indigenous resistance. The political foundations of this period are examined in The New American Nation: Constitution and Early Republic. The election of 1800 The presidential election of 1800 opposed the Federalist administration of John Adams to the Democratic-Republican opposition led by Thomas Jefferson. The campaign took place in an atmosphere of extreme partisan hostility. Federalists portrayed Jefferson as a dangerous radical whose sympathy for the French Revolution threatened religion, property and social order. Democratic-Republicans accused Adams and his allies of favouring monarchy, military government and political repression. The Alien and Sedition Acts of 1798 intensified the controversy. The Sedition Act had allowed the prosecution of government critics, including Democratic-Republican newspaper editors, and became a symbol of Federalist intolerance. Jefferson and his running mate, Aaron Burr, received the same number of electoral votes because the original constitutional system did not distinguish between votes for president and vice president. The House of Representatives therefore had to choose between them. After thirty-five inconclusive ballots, Jefferson was elected on the thirty-sixth. Alexander Hamilton, although a political enemy of Jefferson, encouraged Federalists to prefer him to Burr because he considered Burr dangerously unprincipled. The crisis led to the Twelfth Amendment, ratified in 1804, which required electors to cast separate votes for president and vice president. The Revolution of 1800 Jefferson described his victory as the “Revolution of 1800”. He did not mean that the election had produced an armed revolution comparable to 1776, but that it had restored republican principles after what he regarded as Federalist centralisation. The most important achievement was the peaceful transfer of power between rival political parties. Such transitions were still uncertain in many republics, and the defeated Federalists accepted the constitutional result. In his inaugural address, Jefferson attempted to reduce partisan hostility by declaring that Americans were all Republicans and all Federalists. The statement did not end political conflict,... --- ### The American Revolution: Causes, Independence and Legacy - **URL**: https://www.skyminds.net/american-revolution-causes-independence-legacy/ The American Revolution began as a constitutional conflict between Great Britain and its North American colonies before becoming a war for independence. Between 1763 and 1783, resistance to taxation, imperial control and military occupation produced a new republic founded on natural rights, but the Revolution left slavery, Indigenous sovereignty and political equality largely unresolved. The American Revolution was not caused by one tax, one battle or one political leader. It developed over more than a decade as British officials attempted to reorganise their empire and colonial resistance became increasingly coordinated. At first, most colonists did not seek independence. They considered themselves British subjects and claimed the traditional rights of Englishmen. The conflict became revolutionary when many Americans concluded that those rights could no longer be protected within the British Empire. The Revolution created the United States and transformed political language throughout the Atlantic world. It also exposed profound contradictions: a movement that proclaimed liberty included enslavers, occupied Indigenous lands and excluded women from formal political power. The colonial religious and ideological background of the Revolution is explored in Introduction to Puritanism and Expansionism. The British colonies before the Revolution By the middle of the eighteenth century, Britain possessed thirteen mainland colonies along the Atlantic coast of North America. These colonies differed considerably in religion, economy, geography and social organisation. New England contained small farms, ports and commercial towns. The Middle Colonies combined agriculture, trade and religious diversity, while the Southern Colonies depended increasingly on plantation agriculture and enslaved labour. Each colony possessed an elected assembly, although governors were often appointed by the Crown or colonial proprietors. These assemblies developed considerable authority over taxation and local expenditure. Britain regulated colonial trade through the Navigation Acts, but enforcement was often inconsistent. This relative freedom allowed colonial merchants, assemblies and local institutions to become accustomed to managing many of their own affairs. The colonies were not independent democracies. Voting usually depended on property ownership, women lacked formal political rights and slavery existed throughout British North America. The Seven Years’ War changes the empire The immediate background to the Revolution was the Seven Years’ War, known in North America as the French and Indian War. Britain and its colonists fought against France and several Indigenous allies for control of territory and trade. The Treaty of Paris of 1763 ended the war. France surrendered most of its North American possessions east of the Mississippi River, leaving Britain as the dominant European power in eastern North America. Victory brought new problems. Britain had accumulated a large national debt and now had to administer and defend an enlarged empire. British ministers believed that the colonies should contribute to the cost of imperial defence. Many colonists answered that Parliament could regulate trade but could not impose internal taxes on people who had elected no representatives to Parliament. The Royal Proclamation of 1763 The British government also attempted to reduce frontier warfare by issuing the Royal Proclamation of 1763. It restricted colonial settlement west of a line drawn along... --- ### The Road to the American Civil War, 1850–1861 - **URL**: https://www.skyminds.net/road-to-american-civil-war-1850-1861/ Between 1850 and 1861, every attempt to settle the expansion of slavery made the sectional conflict more severe. The Fugitive Slave Act, Bleeding Kansas, the Dred Scott decision, John Brown’s raid and Abraham Lincoln’s election progressively destroyed trust between North and South. Secession was not inevitable in 1850, but by early 1861 political compromise had collapsed. The American Civil War did not begin suddenly with the attack on Fort Sumter in April 1861. It emerged from a decade of political crises in which the United States repeatedly failed to resolve the status of slavery in its expanding territories. Territorial growth after the Mexican-American War made the conflict especially urgent. The United States had acquired California and a vast western region, but Congress had not decided whether slavery would be permitted there. Southern slaveholders argued that they had a constitutional right to carry enslaved people into federal territories. Many Northerners opposed the expansion of slavery, although they did not all support racial equality or immediate abolition. The crisis therefore concerned more than a moral disagreement. It involved political representation, economic power, federal authority and the future balance between free and slave states. The structural differences between the sections are examined in North and South Before the American Civil War. Why did western expansion intensify the slavery crisis? The Treaty of Guadalupe Hidalgo ended the Mexican-American War in 1848 and transferred an enormous territory to the United States. Almost immediately, the question arose whether slavery would expand into these lands. The dispute mattered because new states affected the balance of power in Congress. Representation in the House depended on population, while every state received two senators. The admission of each free or slave state could therefore alter national policy. Southern leaders feared that permanent restriction would transform slaveholding states into a political minority. They argued that territories belonged equally to all states and that Congress could not exclude slave property from them. Northern opposition contained several positions. Abolitionists condemned slavery as morally wrong, while many supporters of the Free Soil movement opposed its expansion because they wanted western land reserved for white farmers and wage labourers. The conflict over western territory is explored more fully in Westward Expansion: America’s Road to the Pacific. The Wilmot Proviso In 1846, Democratic Representative David Wilmot proposed prohibiting slavery in any territory acquired from Mexico. His proposal became known as the Wilmot Proviso. The House of Representatives approved versions of the measure several times, but the Senate rejected them. The failure reflected the sectional structure of Congress: the more populous North held an advantage in the House, while free and slave states remained more evenly balanced in the Senate. The proviso never became law, but it reorganised political debate. Party loyalty increasingly competed with sectional identity, as Northern and Southern members of the same national parties divided over slavery. The controversy also strengthened the Free Soil Party, founded in 1848. Its slogan — “Free Soil, Free Speech, Free Labor, and Free Men” — expressed opposition to... --- ### Linux : scrobbler sa musique avec Last.fm et ListenBrainz - **URL**: https://www.skyminds.net/linux-scrobbler-musique-lastfm-listenbrainz/ Si vous aimez suivre ce que vous écoutez, retrouver vos artistes favoris, consulter vos statistiques musicales ou garder une mémoire de vos découvertes, le scrobbling reste très pratique sous Linux. Le principe est simple : votre lecteur audio, votre navigateur ou un outil dédié envoie automatiquement les morceaux écoutés vers un service comme Last.fm ou ListenBrainz. Aujourd’hui, la bonne méthode dépend surtout de votre manière d’écouter de la musique : fichiers locaux, streaming web, lecteur desktop, radio, terminal ou application compatible MPRIS. Scrobbler, cela veut dire quoi ? Le scrobbling consiste à envoyer automatiquement votre historique d’écoute vers un service musical. Chaque scrobble contient généralement : le nom de l’artiste ; le titre du morceau ; l’album ; l’heure d’écoute ; parfois le lecteur ou la source utilisée. Avec le temps, vous obtenez des statistiques d’écoute, des recommandations, des classements personnels et une sorte de journal musical. C’est un carnet intime, mais avec plus de guitares et moins de phrases embarrassantes. Last.fm ou ListenBrainz ? Les deux services permettent de suivre votre historique musical, mais ils n’ont pas exactement la même philosophie. ServicePoint fortÀ choisir si…Last.fmHistorique, profils, recommandations, compatibilité largevous voulez le service de scrobbling le plus connuListenBrainzÉcosystème ouvert lié à MusicBrainzvous aimez les métadonnées ouvertes et les projets libres Last.fm reste le choix le plus populaire. ListenBrainz est très intéressant si vous aimez MusicBrainz, les données ouvertes et les outils interopérables. Rien ne vous empêche d’utiliser les deux, si votre lecteur ou votre workflow le permet. Oui, c’est un peu excessif. Mais on parle de gens qui aiment assez la musique pour compter leurs écoutes. Nous sommes entre amis. Méthode 1 : utiliser un lecteur audio compatible Si vous écoutez surtout une bibliothèque musicale locale, le plus simple est d’utiliser un lecteur audio qui sait scrobbler directement. Selon votre distribution et vos préférences, vous pouvez regarder du côté de : Strawberry, lecteur moderne issu de Clementine ; Clementine, encore utilisé malgré son âge ; Quod Libet, excellent pour les grosses bibliothèques locales ; Rhythmbox, selon les plugins disponibles dans votre distribution ; Audacious, léger et rapide ; Amarok ou Elisa, côté KDE, selon vos usages. La logique est toujours proche : installez le lecteur ; ouvrez les préférences ; cherchez la section Last.fm, Scrobbling ou Services ; connectez votre compte ; lancez un morceau complet ; vérifiez votre profil Last.fm ou ListenBrainz. Exemple avec Strawberry Strawberry est un bon choix si vous gérez une bibliothèque locale sous Linux. Il est plus moderne que Clementine, tout en gardant une approche classique : bibliothèque, playlists, jaquettes, radios et intégrations utiles. Sur Ubuntu ou Debian, commencez par vérifier si Strawberry est disponible dans les dépôts : sudo apt update sudo apt install strawberry Selon votre distribution, vous pouvez aussi passer par la logithèque, Flatpak ou les paquets proposés par le projet. Ensuite, ouvrez les préférences du lecteur, connectez votre compte Last.fm, puis lancez un morceau de test. Attendez suffisamment longtemps : beaucoup de scrobblers n’envoient pas un titre après trois secondes d’écoute.... --- ### PHP : envoyer les bons en-têtes HTTP de cache - **URL**: https://www.skyminds.net/php-bons-entetes-mise-en-cache/ La mise en cache HTTP est l’un des leviers les plus efficaces pour accélérer un site. Elle évite au navigateur de télécharger plusieurs fois les mêmes ressources et permet aux CDN de servir des réponses sans solliciter l’origine à chaque requête. Mais un mauvais en-tête de cache peut aussi créer des bugs très pénibles : page privée visible trop longtemps, panier WooCommerce figé, ancien CSS conservé, API qui renvoie des données périmées, ou fichier JavaScript jamais mis à jour. Bref, le cache est un accélérateur. Pas une baguette magique. Et il mord si on le configure mal. Voici comment envoyer les bons en-têtes HTTP avec PHP, selon le type de contenu : fichiers statiques, HTML dynamique, API, pages privées, WordPress et WooCommerce. Le rôle des en-têtes HTTP de cache Quand un navigateur demande une ressource, le serveur peut indiquer comment cette réponse doit être conservée, réutilisée ou revalidée. Les principaux en-têtes concernés sont : En-têteRôleCache-ControlDéfinit les règles de cache modernesExpiresAncien mécanisme basé sur une date d’expirationETagIdentifiant de version permettant la revalidationLast-ModifiedDate de dernière modification utilisée pour revaliderVaryIndique que la réponse varie selon certains en-têtes de requête Aujourd’hui, Cache-Control est le plus important. Expires peut rester utile pour compatibilité, mais il ne doit plus piloter toute votre stratégie. Les directives Cache-Control essentielles Voici les directives que vous croiserez le plus souvent. DirectiveSignificationpublicLa réponse peut être stockée par le navigateur et les caches partagésprivateLa réponse ne doit être stockée que par le navigateur de l’utilisateurmax-age=3600La réponse reste fraîche pendant 3600 secondess-maxage=3600Durée spécifique pour les caches partagés comme CDN/proxyno-cacheLa réponse peut être stockée, mais doit être revalidée avant réutilisationno-storeLa réponse ne doit pas être stockéemust-revalidateUne réponse périmée doit être revalidée avant usageimmutableLa ressource ne changera pas pendant sa durée de fraîcheurstale-while-revalidateUn cache peut servir une réponse périmée pendant qu’il la revalide La nuance importante : no-cache ne veut pas dire “ne pas cacher”. Cela veut dire “tu peux stocker, mais tu dois revalider avant de réutiliser”. Si vous voulez empêcher tout stockage, utilisez no-store. Cas 1 : contenu dynamique qui ne doit pas être stocké Pour une page contenant des données sensibles ou personnelles, utilisez no-store. --- ### HTML : corriger l’attribut iframe frameborder obsolète - **URL**: https://www.skyminds.net/html5-frameborder-attribute-iframe-element-is-obsolete/ Si vous validez une page HTML et obtenez l’erreur suivante, votre code contient probablement un ancien attribut sur une iframe : The frameborder attribute on the iframe element is obsolete. Use CSS instead. Ce message signifie que l’attribut frameborder ne doit plus être utilisé sur un élément . Il était courant dans les vieux embeds YouTube, Vimeo, Dailymotion, Google Maps ou widgets tiers. Mais en HTML moderne, on gère la bordure avec CSS. La correction est simple : supprimez frameborder="0", puis utilisez border: 0; en CSS si vous ne voulez aucune bordure. Le code iframe obsolète Voici le type de code qui déclenche l’erreur dans un validateur HTML : Le problème se trouve ici : frameborder="0" Cet attribut appartient à l’ancien monde des frames. Aujourd’hui, il est obsolète et non conforme. Le navigateur peut encore l’interpréter par compatibilité, mais votre HTML n’est plus propre. La correction avec CSS Remplacez l’attribut HTML par une règle CSS. Code HTML corrigé : CSS associé : iframe { border: 0; } Si vous voulez cibler uniquement les iframes vidéo, utilisez une classe. C’est plus propre que de supprimer toutes les bordures de toutes les iframes du site, y compris celles qui pourraient en avoir besoin. .responsive-video { border: 0; } Avant / après Ancien code à corriger : Nouveau code HTML valide : CSS : .video-embed { border: 0; } Ajouter un title à chaque iframe Profitez de cette correction pour ajouter un attribut title à vos iframes. C’est important pour l’accessibilité, car un lecteur d’écran doit pouvoir comprendre ce que contient le cadre intégré. Exemple faible : Exemple plus utile : Le titre doit décrire le contenu intégré. “iframe”, “video” ou “embed” ne servent pas à grand-chose. C’est un peu comme nommer tous ses fichiers “document-final-vrai-final.pdf”. Techniquement possible, humainement discutable. Rendre une iframe responsive Corriger frameborder, c’est bien. Mais beaucoup d’anciens embeds ont aussi un autre problème : ils utilisent une largeur fixe. Sur mobile, cela peut casser la mise en page. Pour une vidéo moderne, utilisez un wrapper responsive avec aspect-ratio. .embed-responsive { aspect-ratio: 16 / 9; width: 100%; } .embed-responsive iframe { width: 100%; height: 100%; border: 0; display: block; } Cette approche évite les vieux hacks avec padding-bottom, sauf si vous devez encore gérer des navigateurs très anciens. Ajouter loading="lazy" pour les iframes hors écran Les iframes peuvent être lourdes, surtout celles de YouTube, Vimeo, Google Maps ou de widgets sociaux. Si l’iframe n’est pas visible immédiatement au chargement, ajoutez loading="lazy". Cela permet au navigateur de différer le chargement de l’iframe jusqu’à ce qu’elle soit proche de la zone visible. C’est souvent excellent pour les performances, surtout sur mobile. Évitez toutefois le lazy loading sur une iframe critique visible immédiatement au-dessus de la ligne de flottaison. Comme toujours : mesurer avant de saupoudrer. Ajouter allow pour les fonctionnalités autorisées Les embeds modernes utilisent souvent l’attribut allow pour préciser les fonctionnalités autorisées dans l’iframe : lecture automatique, plein écran, presse-papiers, gyroscope, image dans l’image, etc. Exemple YouTube courant : Ne copiez... --- ### Google, pouvoir et éthique : faut-il s’inquiéter de sa domination ? - **URL**: https://www.skyminds.net/google-pouvoir-ethique-domination-internet/ Avez-vous remarqué comme Google prend une place immense dans nos vies numériques ? Recherche, Gmail, YouTube, Android, Chrome, Maps, publicité, analytics, documents, cloud, intelligence artificielle : la liste est longue. Très longue. Et elle ne se limite plus à "chercher une page web". Google a construit des services souvent excellents. Rapides, pratiques, gratuits en apparence, intégrés les uns aux autres, disponibles presque partout. C’est précisément ce qui rend la question intéressante : quand une entreprise devient aussi utile, elle devient aussi difficile à éviter. En 2007, je posais déjà la question : Google a-t-il une éthique ? Aujourd’hui, la question mérite d’être reformulée : que devient l’accès à l’information quand une entreprise privée contrôle une part aussi importante de la recherche, de la publicité, de la vidéo, du mobile, du navigateur et de l’intelligence artificielle ? https://www.dailymotion.com/video/x278wo_google-les-aventures-de-gman-googli_creation&related=0 Google n’est plus seulement un moteur de recherche Réduire Google à son moteur de recherche serait une erreur. Google Search reste central, mais il s’inscrit dans un écosystème beaucoup plus vaste. Google, c’est aussi : Android, système dominant sur mobile dans de nombreux pays ; Chrome, navigateur majeur sur desktop et mobile ; YouTube, plateforme vidéo incontournable ; Gmail, service e-mail massif ; Google Ads, cœur de la monétisation publicitaire ; Google Analytics, outil très présent sur les sites web ; Google Maps, infrastructure cartographique ; Google Cloud, services d’infrastructure et de données ; Gemini, couche d’intelligence artificielle intégrée à plusieurs produits ; Google Workspace, suite de productivité pour particuliers, écoles et entreprises. Le problème n’est pas que ces services existent. Le problème est leur interconnexion. Une même entreprise peut orienter l’accès à l’information, vendre la publicité liée à cet accès, mesurer une partie des comportements, distribuer le navigateur, fournir le système mobile et proposer l’assistant IA qui synthétise les réponses. À ce stade, on ne parle plus d’un simple fournisseur de service. On parle d’un acteur d’infrastructure. Privé, rentable, innovant, mais aussi profondément structurant. Le vrai sujet : la concentration du pouvoir La question éthique ne consiste pas à savoir si Google produit de bons outils. Oui, Google produit beaucoup de bons outils. C’est même une partie du problème : on les adopte parce qu’ils fonctionnent bien. Le vrai sujet est la concentration du pouvoir : pouvoir de classer l’information ; pouvoir de rendre visible ou invisible ; pouvoir de capter l’attention ; pouvoir de fixer les règles publicitaires ; pouvoir d’imposer des standards techniques ; pouvoir de décider comment les contenus du web sont utilisés par l’IA ; pouvoir de conditionner l’économie des éditeurs, médias, créateurs et commerçants. Aucune entreprise ne devrait pouvoir exercer autant d’influence sans contre-pouvoirs sérieux. Pas parce qu’elle serait forcément malveillante. Mais parce que le pouvoir concentré finit toujours par créer des angles morts. Même avec de beaux bureaux, des slides pastel et des valeurs affichées en grand. Recherche : quand le classement devient pouvoir Google Search reste l’une des grandes portes d’entrée vers le web. Être bien positionné dans Google peut faire vivre un site, une... --- ### Linux : joindre plusieurs fichiers avec cat sans se tromper - **URL**: https://www.skyminds.net/linux-joindre-plusieurs-fichiers-cat/ Sous Linux, il arrive souvent de devoir joindre plusieurs fichiers en un seul. Par exemple des morceaux nommés file0001.dat, file0002.dat, file0003.dat, jusqu’à file1000.dat. Pour ce genre de tâche, la commande cat est parfaite. Elle lit les fichiers dans l’ordre indiqué, puis écrit leur contenu à la suite sur la sortie standard. Il suffit ensuite de rediriger cette sortie vers un nouveau fichier. La commande de base ressemble à ceci : cat file*.dat > all_files.dat C’est simple, rapide, disponible sur toutes les distributions Linux, et très pratique. Mais comme souvent avec les commandes simples, il y a deux ou trois pièges cachés sous le tapis. À quoi sert cat ? La commande cat sert à concaténer des fichiers et à afficher le résultat. Son nom vient de concatenate. Exemple avec trois fichiers texte : cat intro.txt chapitre1.txt chapitre2.txt > livre.txt Le fichier livre.txt contiendra d’abord le contenu de intro.txt, puis celui de chapitre1.txt, puis celui de chapitre2.txt. cat ne trie pas, ne comprend pas le format, ne nettoie pas les doublons, ne vérifie pas les en-têtes et ne répare pas les fichiers. Il colle simplement les contenus à la suite. Il est très bon à ça. Il ne prétend pas être chef d’orchestre. Joindre plusieurs fichiers nommés dans l’ordre Si vos fichiers sont nommés proprement avec des zéros initiaux, la commande est directe : cat file0001.dat file0002.dat file0003.dat > all_files.dat Pour éviter de tout écrire à la main, utilisez un motif : cat file*.dat > all_files.dat Avec des fichiers nommés file0001.dat, file0002.dat, file0003.dat, le tri alphabétique fonctionne correctement, car les numéros ont la même longueur. C’est précisément pour cela que les zéros initiaux sont utiles. Sans eux, l’ordre peut devenir trompeur. Attention à l’ordre des fichiers Le shell développe file*.dat avant d’appeler cat. L’ordre dépend donc du tri appliqué aux noms de fichiers. Avec ces fichiers : file1.dat file2.dat file10.dat l’ordre alphabétique peut donner : file1.dat file10.dat file2.dat Ce n’est probablement pas ce que vous voulez. Pour éviter ça, nommez vos fichiers avec des zéros initiaux : file001.dat file002.dat file010.dat Ou utilisez un tri naturel avec sort -V, aussi appelé version sort dans GNU Coreutils. Ce tri est justement conçu pour mieux gérer les nombres dans les chaînes de caractères. printf '%s\n' file*.dat | sort -V Pour concaténer dans cet ordre naturel : printf '%s\n' file*.dat | sort -V | xargs cat > all_files.dat Cette version est pratique pour des noms simples. Pour des fichiers contenant des espaces, utilisez la version robuste ci-dessous. Version robuste avec espaces dans les noms Les noms de fichiers avec espaces, apostrophes ou caractères spéciaux cassent facilement les commandes trop rapides. Pour être plus solide, utilisez find, sort -z et xargs -0. find . -maxdepth 1 -type f -name 'file*.dat' -print0 \ | sort -z -V \ | xargs -0 cat > all_files.dat Ici, -print0 sépare les noms par un caractère nul au lieu d’un retour ligne. Cela évite les erreurs avec les noms de fichiers contenant des espaces ou des caractères pénibles. Oui, certains noms... --- ### Mettre à jour le noyau Debian sur un serveur Kimsufi/OVH - **URL**: https://www.skyminds.net/mettre-a-jour-noyau-debian-serveur-kimsufi-ovh/ Mettre à jour le noyau Debian d’un serveur dédié Kimsufi ou OVH peut être nécessaire pour corriger une faille, améliorer la prise en charge matérielle, bénéficier d’un noyau LTS plus récent ou résoudre un bug réseau, disque ou virtualisation. Mais un noyau, ce n’est pas un plugin WordPress. Si le serveur ne redémarre pas, vous n’avez plus seulement un paquet cassé : vous avez une machine distante muette, et une petite montée d’adrénaline offerte par GRUB. Dans ce guide, nous allons voir comment mettre à jour proprement le noyau Debian sur un serveur dédié Kimsufi ou OVHcloud : diagnostic, sauvegarde, noyau officiel, backports, GRUB, redémarrage, vérifications, rollback et mode rescue. Faut-il vraiment mettre à jour le noyau ? Avant de toucher au noyau, identifiez la raison. Sur un serveur Debian stable, le noyau fourni par la distribution reçoit des correctifs de sécurité sans forcément changer de version majeure visible. Une version qui paraît ancienne n’est donc pas forcément vulnérable. Une mise à jour du noyau peut être utile si : un bulletin de sécurité impose une correction noyau ; le matériel est mal reconnu ; un pilote réseau, disque ou RAID pose problème ; vous avez besoin d’un noyau plus récent via backports ; un bug kernel affecte votre charge réelle ; vous migrez vers une version Debian plus récente ; vous avez des modules DKMS à reconstruire proprement. En revanche, ne mettez pas à jour le noyau “pour avoir le dernier”. Sur un serveur, la stabilité vaut souvent mieux que la nouveauté. Le kernel dernier cri sur une machine de production, c’est parfois une excellente manière de découvrir des bugs avant tout le monde. Ambiance bêta-testeur involontaire. Identifier la version Debian et le noyau actuel Commencez par relever l’état exact du serveur : cat /etc/os-release uname -a uname -r dpkg --print-architecture Listez les noyaux installés : dpkg -l 'linux-image*' | grep '^ii' Listez aussi les headers installés : dpkg -l 'linux-headers*' | grep '^ii' Sur un serveur Debian amd64 classique, le métapaquet important est généralement : linux-image-amd64 Ce métapaquet dépend du dernier noyau Debian approprié à l’architecture amd64. Dans bookworm-backports, par exemple, Debian décrit linux-image-amd64 comme le métapaquet qui dépend du dernier noyau Linux et de ses modules pour les machines AMD64, Intel 64 et VIA Nano. Vérifier le mode de démarrage : BIOS ou UEFI Avant de redémarrer un serveur distant, vérifiez le mode de boot. Cela aide à comprendre GRUB, les partitions EFI et le plan de récupération. if [ -d /sys/firmware/efi ]; then echo "Boot UEFI" else echo "Boot BIOS/Legacy" fi Listez les disques et partitions : lsblk -f findmnt / findmnt /boot findmnt /boot/efi Sur certains serveurs dédiés, /boot ou /boot/efi peut être séparé. Vérifiez qu’il reste de l’espace avant d’installer un nouveau noyau. df -h /boot /boot/efi 2>/dev/null || true Un /boot plein peut empêcher l’installation du nouveau noyau ou générer une initramfs incomplète. C’est bête, mais c’est un grand classique. Le genre de panne qui n’a pas de panache, donc qui arrive souvent.... --- ### Enregistrer un flux audio ou vidéo sous Linux avec yt-dlp et FFmpeg - **URL**: https://www.skyminds.net/linux-enregistrer-flux-video-audio-ffmpeg-ytdlp/ Il y a quelques années, récupérer une vidéo en ligne pouvait passer par un flux mms:// et un outil comme MiMMS. Cette époque sentait bon Windows Media, les lecteurs intégrés capricieux et les pages web qui lançaient une vidéo comme on invoque un esprit. Pour l'article concernant le voyage en Angleterre 2010, j'ai eu à récupérer le reportage sur le site de l'émission "13h15 le samedi". Étant donné qu'on ne connait pas vraiment le temps de rétention de ces émissions (qui disparaitront très certainement du site de France 2), il est bon de pouvoir en télécharger une copie. Aujourd’hui, les flux MMS ont quasiment disparu du web courant. Les sites utilisent plutôt HLS, DASH, MP4 progressif, players JavaScript, DRM, tokens temporaires ou APIs internes. Le bon réflexe n’est donc plus d’installer MiMMS, mais d’identifier le type de flux, puis d’utiliser l’outil adapté. Dans ce guide, nous allons voir comment enregistrer un flux audio ou vidéo sous Linux avec deux outils modernes : yt-dlp et ffmpeg. Le premier sait extraire les médias de nombreux sites. Le second sait lire, copier, convertir et enregistrer presque tous les flux audio/vidéo classiques. L’objectif est simple : partir d’une URL, comprendre ce qu’elle contient, puis enregistrer proprement le média disponible sans bricolage inutile. MMS et MiMMS : pourquoi l’ancien tutoriel est obsolète Le protocole MMS, pour Microsoft Media Server, servait à diffuser des contenus audio ou vidéo dans l’écosystème Windows Media. Les URLs ressemblaient à ceci : mms://example.com/video.wmv MiMMS permettait de capturer ces flux depuis Linux : mimms mms://example.com/video.wmv Le problème est que cette méthode répond à un web qui n’existe presque plus. Les sites modernes ne publient généralement plus d’URLs MMS dans le code source. Ils utilisent des playlists HLS, des manifests DASH, des URLs signées, des lecteurs JavaScript, ou des plateformes vidéo qui changent régulièrement leur fonctionnement. Il vaut donc mieux remplacer l’ancien réflexe “chercher un lien mms://” par une méthode plus générale : tester l’URL avec yt-dlp ; identifier le flux dans les outils développeur du navigateur ; repérer un fichier .m3u8, .mpd, .mp4, .aac ou .mp3 ; enregistrer le flux avec yt-dlp ou ffmpeg ; copier les flux sans réencodage quand c’est possible. Les formats de flux que l’on rencontre aujourd’hui Avant de lancer une commande, il faut comprendre le type de média que vous avez en face. Format ou protocoleExtension fréquenteOutil recommandéHLS.m3u8yt-dlp ou ffmpegMPEG-DASH.mpdyt-dlp ou ffmpegMP4 progressif.mp4yt-dlp, wget, curl ou ffmpegAudio direct.mp3, .aac, .oggcurl, wget ou ffmpegAncien Windows Media.wmv, .asf, mms://ffmpeg, parfois VLCFlux protégé DRMvariablenon récupérable avec ces outils En pratique, vous rencontrerez surtout HLS et DASH. HLS utilise des playlists .m3u8. DASH utilise des manifests .mpd. Ces fichiers ne sont pas toujours la vidéo elle-même : ils décrivent les segments audio et vidéo que le lecteur télécharge au fil de la lecture. C’est pour cela qu’un simple clic droit “Enregistrer sous” fonctionne rarement. Le navigateur ne lit pas toujours un fichier unique. Il assemble parfois des dizaines, centaines ou milliers de fragments. Très pratique pour le streaming. Nettement moins... --- ### PageSpeed à 100% : ce que vaut vraiment un score de performance web - **URL**: https://www.skyminds.net/pagespeed-score-100-core-web-vitals/ En 2013, obtenir une note PageSpeed de 99% dans GTmetrix avait quelque chose de franchement satisfaisant. Une page légère, peu de requêtes, un serveur qui répond bien, et cette impression rare que le Web peut encore être rapide. À l’époque, le rapport affichait un score PageSpeed de 99%, un score YSlow de 90%, un temps de chargement de 1,84 seconde, une page de 709 Ko et seulement 24 requêtes. C’était très bon. Mais en 2026, juger la performance d’un site uniquement avec un score synthétique est devenu trop limité. Un score de laboratoire ne raconte pas toute l’histoire. Le vrai sujet, désormais, ce sont les utilisateurs réels, les Core Web Vitals et le comportement du site sur mobile. Un score PageSpeed à 99%, ça veut dire quoi ? Un score PageSpeed ou Lighthouse élevé indique qu’une page se comporte bien dans un test donné, avec des conditions données, à un instant donné. C’est utile. Mais ce n’est pas une vérité absolue. Le score peut varier selon : l’outil utilisé ; le serveur de test ; la localisation du test ; le type d’appareil simulé ; la vitesse réseau simulée ; la puissance CPU simulée ; le cache navigateur ; la présence de scripts tiers ; la charge réelle du serveur au moment du test. Autrement dit, un 99 est un bon signal, pas une garantie. C’est un thermomètre. Pas un bilan de santé complet. PageSpeed, GTmetrix, Lighthouse : ne pas tout mélanger En 2013, l’ancienne capture venait de GTmetrix, avec une note PageSpeed et une note YSlow. Depuis, les outils ont beaucoup changé. Aujourd’hui, on croise surtout trois notions : Outil ou notionRôlePageSpeed InsightsOutil Google qui combine audit Lighthouse et données terrain Chrome UX Report quand elles existentLighthouseAudit de laboratoire lancé dans des conditions contrôléesCore Web VitalsMétriques terrain centrées sur l’expérience réelle des visiteursGTmetrixOutil tiers d’audit performance, utile pour comparer et diagnostiquer Le bon réflexe consiste à utiliser plusieurs outils, mais à ne pas courir après tous les scores à la fois. Sinon, vous finirez par optimiser le thermomètre au lieu du patient. Les Core Web Vitals à suivre en priorité Les Core Web Vitals actuels reposent sur trois métriques principales : LCP, INP et CLS. MétriqueCe qu’elle mesureObjectif recommandéLCPLe temps nécessaire pour afficher le plus gros élément visible utile2,5 s ou moinsINPLa réactivité globale de la page aux interactions utilisateur200 ms ou moinsCLSLa stabilité visuelle pendant le chargement0,1 ou moins Ces métriques sont plus concrètes qu’un score global. Elles répondent à trois questions simples : la page affiche-t-elle vite son contenu principal ? réagit-elle rapidement quand l’utilisateur clique, tape ou touche l’écran ? la mise en page reste-t-elle stable pendant le chargement ? Un site peut avoir un bon score Lighthouse et de mauvais Core Web Vitals terrain. L’inverse peut aussi arriver. Le premier décrit un test. Les seconds décrivent vos visiteurs. Pourquoi mobile compte plus que desktop Un site peut obtenir un excellent score desktop et se traîner sur mobile. C’est courant, surtout sur WordPress avec beaucoup de... --- ### WordPress : nettoyer les vieux codes YouTube Flash et iframe - **URL**: https://www.skyminds.net/wordpress-youtube-oembed/ Le code des plateformes vidéo évolue régulièrement, et il n’est pas rare de tomber sur de vieux articles WordPress qui embarquent encore un ancien code d’intégration YouTube. Si votre site a quelques années, il peut contenir plusieurs générations d’intégrations : anciens objets Flash, balises , iframes, shortcodes, URLs HTTP, URLs /v/, URLs /embed/, ou encore variantes youtube-nocookie.com. Certaines de ces méthodes ne s’affichent plus correctement, surtout celles qui reposaient sur Flash. D’autres fonctionnent encore, mais elles alourdissent le contenu et compliquent les futures migrations. Sur SkyMinds, j’ai donc voulu unifier tout cela : les vidéos YouTube doivent être insérées sous forme d’URL propre, puis laissées à WordPress via oEmbed. Pour Dailymotion, j’ai aussi publié un guide équivalent : mettre à jour le code Dailymotion dans WordPress. Pourquoi utiliser oEmbed pour YouTube dans WordPress ? WordPress sait intégrer automatiquement certaines URLs de services externes via oEmbed. L’idée est simple : vous collez une URL YouTube seule sur sa ligne, et WordPress se charge de générer le lecteur intégré. Exemple de contenu idéal : https://www.youtube.com/watch?v=dQw4w9WgXcQ Dans l’éditeur, cette URL peut devenir un bloc d’intégration YouTube. Dans le contenu source, elle reste lisible, simple et maintenable. Les avantages sont nets : le contenu reste propre dans l’éditeur ; on supprime les vieux embeds Flash ; on évite les blocs HTML obsolètes ; on facilite les migrations futures ; on laisse WordPress gérer l’intégration ; on peut filtrer le rendu oEmbed côté thème ou plugin si besoin. WordPress permet notamment de filtrer les fournisseurs oEmbed via oembed_providers, et sa documentation précise que les fournisseurs autorisés sont considérés comme fiables pour l’intégration de contenus riches. Avant de commencer : sauvegarder la base Avant tout remplacement massif, sauvegardez la base de données. Avec WP-CLI : wp db export before-youtube-cleanup-$(date +%Y%m%d-%H%M%S).sql Si vous n’utilisez pas WP-CLI, exportez la base depuis phpMyAdmin, Adminer, votre hébergeur, ManageWP, Jetpack Backup ou votre outil de sauvegarde habituel. Ensuite, travaillez d’abord en prévisualisation. Le plugin Search Regex est pratique pour cela, car il permet de chercher/remplacer avec regex tout en visualisant les changements avant application. Dans les exemples ci-dessous, j’utilise le signe dièse # comme délimiteur d’expression régulière, avec le drapeau regex activé. Détecter les anciens codes YouTube Avant de remplacer, on peut mesurer l’ampleur du chantier. Avec WP-CLI, cherchez les anciens codes Flash : wp db query " SELECT ID, post_title, post_type, post_status FROM wp_posts WHERE post_content LIKE '%youtube.com/v/%' AND post_type IN ('post', 'page') ORDER BY ID; " Cherchez les anciens embeds iframe : wp db query " SELECT ID, post_title, post_type, post_status FROM wp_posts WHERE post_content LIKE '%youtube.com/embed/%' AND post_type IN ('post', 'page') ORDER BY ID; " Cherchez les embeds en mode confidentialité renforcée : wp db query " SELECT ID, post_title, post_type, post_status FROM wp_posts WHERE post_content LIKE '%youtube-nocookie.com/%' AND post_type IN ('post', 'page') ORDER BY ID; " Si votre préfixe WordPress n’est pas wp_, adaptez le nom de table ou récupérez-le avec : wp db prefix Remplacer le vieux code Flash YouTube en Les vieux embeds YouTube utilisaient... --- ### Bash : message « there are stopped jobs » à la fermeture du terminal - **URL**: https://www.skyminds.net/terminal-message-there-are-stopped-jobs/ Vous quittez une session Bash avec exit, et le terminal vous répond : logout There are stopped jobs. Ce message apparaît souvent après un réflexe malheureux : Ctrl+Z. On pense annuler une faute de frappe, comme dans une application graphique. Mais dans un terminal Unix, Ctrl+Z ne veut pas dire “annuler”. Il veut dire : “suspendre le programme en cours”. Ambiance. Le résultat est simple : votre éditeur, votre commande ou votre script reste suspendu dans la session. Bash refuse alors de fermer immédiatement le terminal, car il sait qu’un processus est encore accroché à votre shell. Pourquoi Bash affiche “There are stopped jobs” ? Bash affiche ce message lorsqu’un ou plusieurs jobs sont suspendus au moment où vous essayez de quitter le shell. Un stopped job n’est pas simplement une tâche lancée en arrière-plan. C’est un processus suspendu. Il ne continue pas son travail normalement. Il attend que vous décidiez quoi en faire : le reprendre, le terminer, ou le détacher. Le cas classique ressemble à ceci : vous éditez un fichier avec nano, vim, less ou une autre commande interactive ; vous appuyez sur Ctrl+Z ; la commande disparaît de l’écran ; vous revenez au prompt Bash ; vous tapez exit ; Bash répond : There are stopped jobs. Bash vous protège donc contre une fermeture accidentelle. C’est utile, même si sur le moment cela ressemble à un refus d’obtempérer. Ctrl+C, Ctrl+Z et Ctrl+D : ne pas confondre Dans un terminal, ces raccourcis ne font pas la même chose. RaccourciEffet habituelÀ utiliser pourCtrl+CInterrompt la commande en coursArrêter une commande qui tourneCtrl+ZSuspend la commande en coursMettre un processus en pauseCtrl+DEnvoie une fin d’entréeQuitter certains shells ou programmes interactifs Le piège vient de Ctrl+Z. Dans beaucoup d’applications graphiques, il annule la dernière action. Dans Bash, il suspend le programme au premier plan. Ce n’est pas une annulation. C’est une pause forcée. Lister les jobs suspendus avec jobs Pour voir les jobs connus par votre shell, utilisez : jobs Vous obtiendrez une sortie de ce type : [1]+ Stopped nano fichier.conf Ici, Bash indique qu’un job numéro 1 est suspendu. Le signe + marque le job courant, c’est-à-dire celui que Bash utilisera par défaut avec certaines commandes comme fg. Pour afficher uniquement les jobs suspendus, utilisez : jobs -s Pour afficher aussi les identifiants de processus, utilisez : jobs -l Reprendre le job au premier plan avec fg La solution la plus propre consiste souvent à reprendre le job suspendu, puis à le quitter correctement. Pour reprendre le job courant : fg Pour reprendre un job précis, utilisez son numéro : fg %1 La notation avec % est la forme Bash classique pour désigner un job. Dans beaucoup de cas, fg 1 fonctionne aussi, mais fg %1 évite l’ambiguïté et colle mieux au job control Bash. Une fois le programme revenu au premier plan, quittez-le proprement. Par exemple : dans nano, utilisez Ctrl+X ; dans vim, utilisez :q ou :q! ; dans less, appuyez sur q ; dans un programme interactif,... --- ### Installer NginX mainline sous Ubuntu Server - **URL**: https://www.skyminds.net/nginx-mainline-ubuntu-server/ Ubuntu Server installe encore Nginx 1.28 dans ses dépôts officiels, une version vulnérable à la faille HTTP/2 Bomb (CVE-2026-49975) capable d'épuiser la mémoire d'un serveur en quelques secondes avec une seule connexion. Ce tutoriel détaille, à partir d'un cas réel rencontré sur Apollo, comment auditer les modules NginX existants, basculer proprement sur le dépôt officiel NginX mainline avec APT, puis valider et nettoyer l'installation. Le symptôme : un serveur qui tombe sans raison apparente En ce début de semaine, skyminds.net était indisponible au petit matin, deux jours de suite. C'est exceptionnellement rare : la configuration du serveur dédié OVH Apollo est stable et n'est jamais modifiée sur un coup de tête. Après quelques heures à éplucher les logs et le statut des services, le constat était clair : des requêtes épuisaient les workers NginX à une vitesse anormale, sans pic de trafic visible côté Cloudflare ni signe d'attaque volumétrique classique. Le coupable n'était donc pas une simple charge excessive, mais un mécanisme bien plus sournois. La cause : la faille HTTP/2 Bomb Une attaque par déni de service baptisée HTTP/2 Bomb touche plusieurs serveurs web majeurs : NginX, Apache HTTPD, Microsoft IIS, Envoy et Cloudflare Pingora. Elle combine deux mécanismes connus du protocole HTTP/2 : la compression d'en-têtes HPACK et le contrôle de flux. L'attaquant alimente la table de compression avec une entrée volumineuse, puis envoie de nombreuses références d'un seul octet vers cette entrée, forçant le serveur à reconstruire des en-têtes massifs à chaque requête tout en maintenant la connexion ouverte grâce à des mises à jour de fenêtre périodiques. Résultat : un attaquant disposant d'une simple connexion domestique peut rendre un serveur indisponible en quelques secondes, sans authentification ni botnet. Plusieurs éditeurs de sécurité utilisent l'identifiant CVE-2026-49975 comme nom générique de cette chaîne d'attaque. Dans les faits, NginX a livré son correctif sans CVE dédiée, tandis que ce numéro concerne plus précisément Apache HTTP Server (module mod_http2) ; Envoy a reçu son propre identifiant. Le ratio d'amplification mesuré reste plus modeste sur NginX que sur les autres serveurs concernés, mais suffisant pour dégrader durablement le service sous une attaque soutenue. Pourquoi Ubuntu Server reste vulnérable NginX a corrigé le problème dans la version 1.29.8 (7 avril 2026), en introduisant la directive max_headers, activée par défaut à 1000 lignes d'en-têtes par requête. Si la limite est atteinte, NginX renvoie simplement une erreur 400 Bad Request au lieu d'allouer indéfiniment de la mémoire. Le problème, c'est qu'Ubuntu Server 26.04 LTS ne fournit que Nginx 1.28.3 dans son dépôt principal, qui n'est donc pas corrigé. Ubuntu 24.04 LTS et les versions stables de Debian sont logées à la même enseigne, avec des versions encore plus anciennes. La solution la plus durable consiste à arrêter d'utiliser les paquets NginX d'Ubuntu pour basculer sur le dépôt officiel NginX mainline, qui suit les correctifs de sécurité bien plus rapidement que les dépôts de distribution. Avant de modifier quoi que ce soit : sauvegarder la configuration existante Changer de dépôt va remplacer le paquet nginx... --- ### Mettre à jour WordPress en SSH avec WP-CLI : core, extensions et thèmes - **URL**: https://www.skyminds.net/mettre-a-jour-wordpress-ssh-wp-cli/ Sur mon serveur, j'ai fait le choix de ne pas installer de serveur FTP. Pourquoi ? Et bien tout simplement parce que le protocole FTP n'est pas du tout sécurisé : les mots de passe sont envoyés en clair sur le réseau, il n'y a aucun chiffrement appliqué sur la connexion et il existe 1001 manières d'en forcer l'accès. Mettre WordPress à jour depuis l’administration, c’est pratique. Pourtant, sur un serveur dédié, ce n’est pas toujours la méthode la plus propre. Si WordPress vous demande des identifiants FTP, ce n’est pas forcément un bug. Le problème vient souvent des permissions fichiers, du propriétaire des répertoires, ou d’une configuration serveur qui empêche WordPress d’écrire correctement dans son propre dossier. Historiquement, on pouvait contourner le problème avec l’extension PHP SSH2 et quelques constantes dans wp-config.php. Aujourd’hui, sur un serveur sérieux, je préfère une approche plus robuste : SSH + WP-CLI + permissions propres. Pourquoi éviter FTP pour gérer WordPress ? FTP n’a plus grand-chose à faire dans une maintenance WordPress moderne. Les identifiants circulent sans chiffrement avec FTP classique, la gestion des droits devient vite sale, et l’on finit souvent par ouvrir trop largement les permissions pour “que ça marche”. Magnifique stratégie, si l’objectif est d’inviter les ennuis à dîner. Sur un serveur dédié ou un VPS, privilégiez plutôt : SSH pour accéder au serveur de manière chiffrée ; WP-CLI pour piloter WordPress en ligne de commande ; des permissions strictes pour éviter les dossiers modifiables par n’importe qui ; des sauvegardes avant mise à jour, parce que même les bons outils n’empêchent pas les extensions mal réveillées. Le bon modèle : SSH pour se connecter, WP-CLI pour mettre à jour SSH et WP-CLI ne font pas la même chose. SSH vous connecte au serveur. WP-CLI exécute les commandes WordPress depuis le terminal. Une fois connecté en SSH, vous pouvez mettre à jour le cœur WordPress, les extensions, les thèmes, les traductions, vérifier l’état du site, vider le cache objet, exporter la base de données ou lancer des scripts de maintenance. C’est plus rapide, plus scriptable, plus fiable, et surtout plus clair qu’un formulaire FTP dans l’administration WordPress. Pré-requis avant de lancer les mises à jour Avant de commencer, vérifiez ces points : vous avez un accès SSH au serveur ; WP-CLI est installé ; vous connaissez le chemin de l’installation WordPress ; le site tourne avec une version PHP compatible avec votre WordPress et vos extensions ; les fichiers appartiennent au bon utilisateur système ; vous avez une sauvegarde récente de la base et des fichiers. Pour les permissions, j’ai un guide plus détaillé ici : WordPress : accorder les bonnes permissions aux fichiers et dossiers avec chown et chmod. Vérifier que WP-CLI fonctionne Connectez-vous d’abord en SSH : ssh utilisateur@serveur Puis allez dans le dossier du site : cd /var/www/example.com/public Adaptez évidemment le chemin. Sur certains serveurs, vous aurez plutôt /home/site/public_html, /home/www/site/public_html ou un chemin propre à votre hébergeur. Ensuite, vérifiez WP-CLI : wp cli info Puis vérifiez que WP-CLI... --- ### Installer un lecteur RSS moderne et auto-hébergé avec FreshRSS - **URL**: https://www.skyminds.net/lecteur-rss-moderne-auto-heberge/ Les réseaux sociaux ont transformé la veille en machine à secouer l’attention. Entre les publications sponsorisées, les recommandations opaques, les fils chronologiques éventrés et les notifications qui hurlent comme un grille-pain possédé, suivre l’actualité de ses sites préférés demande presque une stratégie militaire. Le RSS règle ce problème avec une élégance presque insolente. Vous choisissez les sites. Vous recevez leurs nouveaux articles. Vous les lisez dans l’ordre que vous voulez. Pas d’algorithme qui décide à votre place. Pas de flux infini conçu pour aspirer votre après-midi. Juste une veille propre, maîtrisée, exportable et durable. Dans ce guide, nous allons installer un lecteur RSS moderne et auto-hébergé avec FreshRSS. Nous verrons aussi quand choisir Miniflux, comment importer ses abonnements, comment protéger l’instance derrière Nginx, et comment organiser une vraie veille quotidienne. Pourquoi utiliser encore RSS aujourd’hui ? RSS n’a jamais vraiment disparu. Il a seulement quitté la scène grand public, pendant que les plateformes centralisées occupaient tout l’espace. Pourtant, pour suivre des blogs, sites d’actualité, documentations techniques, changelogs, dépôts GitHub, chaînes vidéo, podcasts ou publications spécialisées, RSS reste redoutablement efficace. Un lecteur RSS moderne permet de : suivre ses sources sans dépendre d’un réseau social ; lire les nouveautés dans l’ordre chronologique ; regrouper ses sites par thèmes ; marquer les articles comme lus ou favoris ; importer et exporter ses abonnements avec OPML ; centraliser newsletters, podcasts et flux techniques ; réduire le bruit informationnel ; conserver une archive personnelle des articles reçus. RSS est aussi très pratique pour les développeurs, administrateurs système, créateurs de contenu, enseignants, journalistes et curieux chroniques. Bref, pour tous ceux qui préfèrent choisir leurs sources plutôt que demander à un algorithme de leur mâcher le monde. FreshRSS ou Miniflux : lequel choisir ? Pour une instance auto-hébergée, deux projets sortent clairement du lot : FreshRSS et Miniflux. FreshRSS convient très bien si vous voulez une interface complète, une installation simple, une compatibilité large et une expérience proche d’un lecteur RSS classique. Il fonctionne avec SQLite, MySQL, MariaDB ou PostgreSQL selon votre installation, propose une interface web confortable, des extensions, l’import OPML, une API compatible avec plusieurs clients et une image Docker officielle. Miniflux vise plutôt les utilisateurs qui veulent un outil minimaliste, rapide et strict. Il est écrit en Go, utilise PostgreSQL, propose une interface sobre, une API, des intégrations, des passkeys, une politique de sécurité solide et un excellent comportement côté serveur. Il fait moins de bruit, mais il le fait très bien. BesoinChoix recommandéInstallation simple et interface complèteFreshRSSInstance légère et minimalisteMinifluxCompatibilité avec beaucoup de clients RSSFreshRSSBase PostgreSQL obligatoire et stack très propreMinifluxExtensions et personnalisationFreshRSSSobriété maximaleMiniflux Pour la majorité des utilisateurs, je recommande FreshRSS. Il est plus accessible, plus polyvalent, et plus simple à déployer sur un serveur personnel. Miniflux reste excellent, mais il plaira surtout à ceux qui aiment les outils nets, compacts et sans décoration inutile. Architecture recommandée Nous allons installer FreshRSS avec Docker Compose, puis le publier derrière Nginx en HTTPS. Internet ↓ HTTPS Nginx ↓ proxy local FreshRSS Docker ↓... --- ### SSH : corriger “the RSA host key differs from the key for the IP address” - **URL**: https://www.skyminds.net/linux-ssh-rsa-host-key-differs-from-the-key-for-the-ip/ Lors d’un passage en mode rescue, d’une réinstallation serveur, d’un changement d’IP, d’une rotation des clés SSH ou d’une migration d’hébergement, il arrive que SSH refuse une connexion en affichant un avertissement sur la clé d’hôte du serveur. Dans mon cas, après un passage en mode rescue OVH/Kimsufi, j’avais ajouté temporairement une nouvelle empreinte SSH dans ~/.ssh/known_hosts. De retour sur l’installation normale, SSH se plaignait logiquement que l’empreinte associée au hostname ne correspondait plus à celle associée à l’adresse IP. Le message ressemble à ceci : Warning: the RSA host key for 'hostname' differs from the key for the IP address 'xxx.xxx.xxx.xxx' Offending key for IP in /home/matt/.ssh/known_hosts:16 Matching host key in /home/matt/.ssh/known_hosts:11 Are you sure you want to continue connecting (yes/no)? Ce n’est pas une erreur à ignorer machinalement. SSH vous dit que l’identité cryptographique du serveur ne correspond pas à ce qu’il connaît déjà. Cela peut être parfaitement légitime après une réinstallation ou un mode rescue. Mais cela peut aussi signaler une mauvaise IP, un DNS erroné, un proxy inattendu ou une interception. OpenSSH conserve les clés d’hôtes déjà rencontrées dans ~/.ssh/known_hosts. La page de manuel ssh précise que ce fichier contient la liste des clés d’hôtes pour les serveurs auxquels l’utilisateur s’est déjà connecté. Voir la page de manuel ssh. Pourquoi SSH affiche cette erreur ? Quand vous vous connectez à un serveur SSH pour la première fois, votre client enregistre l’empreinte de la clé d’hôte du serveur dans known_hosts. Cette clé sert à identifier le serveur lors des connexions suivantes. À la connexion suivante, SSH compare : le nom d’hôte demandé ; l’adresse IP résolue ; la clé d’hôte présentée par le serveur ; les entrées déjà enregistrées dans known_hosts. Si le hostname et l’IP ne pointent pas vers la même clé d’hôte enregistrée, OpenSSH affiche un avertissement. C’est précisément le cas de l’erreur the RSA host key differs from the key for the IP address. Les causes les plus fréquentes sont : serveur réinstallé ; serveur démarré en mode rescue ; changement d’adresse IP ; DNS qui pointe vers une autre machine ; IP réattribuée à un autre serveur ; clés SSH régénérées côté serveur ; ancien hostname conservé dans known_hosts ; entrée IP et entrée hostname contradictoires ; plusieurs serveurs derrière un même nom ou une même IP ; ancienne entrée globale dans /etc/ssh/ssh_known_hosts. Le message n’est donc pas “SSH est pénible”. Le message est plutôt “je ne reconnais pas exactement la machine à laquelle tu me demandes de parler”. Et, pour un client SSH, c’est plutôt une qualité. Ne répondez pas “yes” trop vite Si vous savez exactement pourquoi la clé a changé, par exemple après une réinstallation ou un passage temporaire en rescue, vous pouvez nettoyer l’ancienne entrée et accepter la nouvelle clé. En revanche, si vous n’avez pas changé le serveur, pas régénéré les clés, pas modifié le DNS et pas demandé d’intervention côté hébergeur, arrêtez-vous. Vérifiez d’abord l’IP, le DNS et l’empreinte côté serveur ou panneau d’hébergement. Le réglage StrictHostKeyChecking... --- ### PHP 8.5+ : remplacer les anciens constructeurs et corriger “Redefining already defined constructor” - **URL**: https://www.skyminds.net/php-redefining-already-defined-constructor-for-class/ Il vous est peut-être déjà arrivé de tomber sur cette ancienne erreur PHP lors de l’exécution d’un vieux projet : Redefining already defined constructor for class ExampleClass À l’origine, cette erreur apparaissait souvent dans du code prévu pour rester compatible avec plusieurs générations de PHP. Une classe contenait à la fois un constructeur moderne __construct() et un ancien constructeur portant le même nom que la classe. En 2026, la bonne solution n’est plus d’intervertir deux méthodes pour satisfaire une vieille compatibilité. La bonne solution est de supprimer l’ancien constructeur et de ne garder que __construct(). Depuis PHP 8.0, une méthode qui porte le même nom que sa classe n’a plus de signification spéciale. Le manuel PHP précise que les anciens constructeurs nommés comme la classe n’étaient interprétés comme constructeurs que dans les classes du namespace global avant PHP 8.0. Depuis PHP 8.0, une méthode portant le même nom que la classe n’est plus traitée comme un constructeur. Voir la documentation PHP sur les constructeurs. PHP 8.5 continue cette trajectoire de modernisation du langage. Donc, si votre objectif est de migrer vers PHP 8.5+, traitez cette erreur comme un signal clair : ce code doit être modernisé, pas simplement patché. Le problème : une classe contient deux constructeurs historiques Dans les vieux projets, on rencontrait souvent ce genre de classe : --- ### BIND9 : corriger l’erreur “ignoring out-of-zone data” dans un fichier de zone DNS - **URL**: https://www.skyminds.net/bind9-ignoring-out-of-zone-data/ L’erreur BIND9 ignoring out-of-zone data indique qu’un fichier de zone contient un enregistrement DNS qui n’appartient pas à cette zone. BIND ignore alors la ligne concernée. Pour corriger le problème, identifiez l’entrée fautive, déplacez-la dans la bonne zone ou remplacez-la par un nom appartenant au domaine, puis validez et rechargez la configuration. Les fichiers de zone DNS paraissent simples. Pourtant, un point final oublié, un mauvais $ORIGIN ou un nom placé dans le mauvais fichier suffit à produire des résultats surprenants. Voici un message que l’on peut rencontrer lors du chargement d’une zone avec BIND9 : /etc/bind/db.skyminds.net:15: ignoring out-of-zone data (ks3094174.kimsufi.com) Cette alerte signifie que BIND a trouvé un enregistrement qu’il ne peut pas publier dans la zone en cours. La ligne est donc ignorée, même si le reste du fichier parvient à se charger. Que signifie « ignoring out-of-zone data » ? Un serveur DNS faisant autorité ne peut publier que les données appartenant aux zones qu’il gère. Par exemple, le fichier de la zone skyminds.net peut contenir des enregistrements pour : skyminds.net. ; www.skyminds.net. ; mail.skyminds.net. ; ns1.skyminds.net. ; n’importe quel autre nom situé sous skyminds.net.. En revanche, cette même zone ne peut pas définir directement l’adresse de ks3094174.kimsufi.com.. Ce nom appartient à la zone kimsufi.com. Cette ligne est donc incorrecte dans le fichier de zone de skyminds.net : ks3094174.kimsufi.com. IN A 91.121.201.147 BIND refuse à juste titre de la publier. Sans cette limitation, un administrateur pourrait déclarer arbitrairement des adresses pour des domaines qu’il ne contrôle pas. Ce serait un DNS en roue libre, ce qui finit rarement bien. Identifier précisément la ligne fautive Commencez par vérifier la zone concernée avec named-checkzone. Cet outil contrôle la syntaxe et l’intégrité d’un fichier de zone. Il applique les mêmes contrôles que BIND lors du chargement de cette zone. sudo named-checkzone skyminds.net /etc/bind/db.skyminds.net Le résultat peut ressembler à ceci : /etc/bind/db.skyminds.net:15: ignoring out-of-zone data (ks3094174.kimsufi.com) zone skyminds.net/IN: loaded serial 2026061801 OK Le message fournit les trois informations nécessaires au diagnostic : le fichier concerné : /etc/bind/db.skyminds.net ; le numéro de ligne : 15 ; le nom considéré comme hors zone : ks3094174.kimsufi.com. Pour afficher la zone avec ses numéros de ligne, utilisez par exemple : sudo nl -ba /etc/bind/db.skyminds.net | sed -n '10,20p' Cette commande affiche les lignes 10 à 20. Elle évite de chercher à l’aveugle dans un fichier volumineux. Vérifier toutes les zones déclarées dans BIND Pour tester la configuration générale et simuler le chargement de toutes les zones primaires, lancez : sudo named-checkconf -z L’option -z demande à named-checkconf de charger les zones primaires trouvées dans la configuration. Le contrôle ne se limite donc plus à la seule syntaxe de named.conf. Pour vérifier uniquement la syntaxe globale, sans charger les zones, utilisez : sudo named-checkconf Corriger un enregistrement A ou AAAA hors zone Dans notre exemple, la mauvaise ligne tente de publier l’adresse IPv4 d’un nom externe : ks3094174.kimsufi.com. IN A 91.121.201.147 Si l’objectif consiste à faire pointer skyminds.net vers cette machine, il faut déclarer des noms... --- ### Se débarrasser du spam avec SpamAssassin et les filtres email cPanel - **URL**: https://www.skyminds.net/se-debarrasser-des-spams-sous-cpanel-avec-spamassassin/ Vous possédez votre propre site, vos adresses email de domaine, et votre boîte de réception commence à ressembler à une décharge numérique ? Bienvenue dans le monde merveilleux du spam. Si vous ne souhaitez pas confier toute votre correspondance à un service tiers, et si votre hébergeur propose cPanel, vous pouvez réduire fortement le spam avec Apache SpamAssassin, Spam Box, Auto-Delete et des filtres email globaux. SpamAssassin analyse chaque message entrant et lui attribue un score. Plus le score est élevé, plus le message ressemble à du spam. cPanel explique que SpamAssassin examine les emails entrants, calcule un score antispam, puis utilise ce score pour classer, déplacer ou supprimer les messages selon votre configuration. Voir la documentation cPanel sur les filtres antispam. L’idée n’est pas de supprimer aveuglément tout ce qui bouge. La bonne approche consiste à activer SpamAssassin, observer les résultats, déplacer les spams dans un dossier dédié, puis seulement ensuite envisager la suppression automatique des messages les plus évidents. SpamAssassin, c’est quoi ? Apache SpamAssassin est une plateforme antispam open source. Elle utilise un système de score, des règles heuristiques, l’analyse du contenu, des listes DNS, du filtrage bayésien et plusieurs bases collaboratives pour classer les emails. Le site officiel du projet le décrit comme une plateforme antispam open source destinée aux administrateurs système, avec un framework de scoring et de nombreux tests sur les en-têtes et le corps des messages. Voir le site officiel Apache SpamAssassin. Chaque email reçoit donc un score. Exemple simplifié : ScoreInterprétationAction possible2.0Probablement légitimeLivrer normalement5.0SuspectMarquer comme spam ou déplacer8.0Très suspectDéplacer vers Spam Box10.0+Spam quasi certainSuppression automatique envisageable Un seuil plus bas rend le filtre plus agressif. Un seuil plus haut le rend plus prudent. Donc, si vous baissez le score à 3, vous attraperez plus de spam, mais vous augmentez aussi le risque de faux positifs. Activer SpamAssassin dans cPanel Dans cPanel, l’interface s’appelle généralement Spam Filters, ou Filtres antispam selon la langue de votre compte. Pour l’activer : connectez-vous à cPanel ; allez dans Email ; ouvrez Spam Filters ; activez Process New Emails and Mark them as Spam ; réglez le score antispam ; activez éventuellement Spam Box pour déplacer les spams dans un dossier dédié. cPanel précise que les fonctions Spam Box et Auto-Delete nécessitent d’abord l’activation d’Apache SpamAssassin. Voir la documentation cPanel. Pour commencer, je conseille généralement de ne pas activer immédiatement la suppression automatique. Activez d’abord le marquage et Spam Box, puis observez pendant quelques jours. C’est moins spectaculaire, mais beaucoup plus sain. Choisir le bon score antispam Le score est le cœur du système. SpamAssassin ajoute des points selon les signaux trouvés dans le message : domaine suspect, URL douteuse, formatage agressif, mots typiques de spam, incohérences d’en-têtes, réputation, tests bayésiens, etc. Dans cPanel, le score par défaut est souvent autour de 5. C’est un point de départ correct, mais pas toujours idéal. SeuilNiveauUsage conseillé3Très agressifRisque de faux positifs important5StandardBon point de départ7PrudentBien si vous recevez des emails clients variés10Très prudentUtile pour supprimer seulement les spams évidents... --- ### Bash : rechercher une chaîne dans des fichiers avec grep, récursivement - **URL**: https://www.skyminds.net/bash-grep-rechercher-chaine-fichiers-recursif/ Voici une technique simple et redoutablement utile pour rechercher une chaîne de texte dans les fichiers d’un répertoire, y compris dans ses sous-répertoires. Sous Linux, j’utilise très souvent grep pour inspecter du code, retrouver une fonction, chercher une option dans une configuration, vérifier l’usage d’un hook WordPress, ou identifier rapidement où une chaîne apparaît dans un projet. La commande est ancienne, stable, disponible partout, et elle fait exactement ce qu’on lui demande. Ce qui, pour un outil en ligne de commande, reste une qualité sous-estimée. La syntaxe de base de grep La syntaxe générale de grep est simple : on indique les options, le texte ou motif à rechercher, puis le fichier ou le répertoire à parcourir. grep [options] "texte à rechercher" chemin Exemple minimal pour chercher le mot recherche dans un fichier : grep "recherche" fichier.txt Pour chercher dans tous les fichiers d’un répertoire de manière récursive, on ajoute -r : grep -r "recherche" . Le point final . signifie “le répertoire courant”. Sans lui, grep ne sait pas forcément où chercher. Rechercher une chaîne récursivement dans un projet Dans un projet PHP, WordPress, JavaScript ou CSS, cette commande est une bonne base : grep --color=auto --include='*.php' --include='*.js' --include='*.css' -rnw . -e "recherche" Elle cherche la chaîne recherche dans les fichiers .php, .js et .css, en parcourant les sous-répertoires depuis le répertoire courant. Détail des options : --color=auto : colore les correspondances dans le terminal ; --include='*.php' : limite la recherche aux fichiers PHP ; --include='*.js' : ajoute les fichiers JavaScript ; --include='*.css' : ajoute les fichiers CSS ; -r : recherche récursive ; -n : affiche le numéro de ligne ; -w : cherche un mot complet ; -e : indique explicitement le motif à rechercher. La version historique avec une expansion Bash fonctionne aussi : grep --color=auto --include='*.{php,js,css}' -rnw . -e "recherche" Mais je préfère souvent répéter --include. C’est plus portable, plus lisible, et cela évite les surprises selon le shell utilisé. Afficher uniquement les fichiers qui contiennent la chaîne Si vous ne voulez pas afficher les lignes complètes, mais seulement la liste des fichiers contenant la chaîne, utilisez -l : grep -rl "recherche" . Avec des extensions ciblées : grep -rl --include='*.php' --include='*.js' "recherche" . C’est pratique pour savoir rapidement quels fichiers sont concernés, sans noyer le terminal sous 500 lignes de contexte. Afficher le nom du fichier et le numéro de ligne Pour travailler dans du code, l’option -n est indispensable. Elle affiche le numéro de ligne où la correspondance apparaît : grep -rn "add_shortcode" wp-content/ Exemple de sortie : wp-content/plugins/demo/plugin.php:42:add_shortcode( 'hello', 'demo_shortcode' ); Le format est simple : fichier, numéro de ligne, puis contenu de la ligne. Ignorer la casse avec grep Pour faire une recherche insensible à la casse, ajoutez -i : grep -rni "woocommerce" wp-content/ Cette commande trouvera woocommerce, WooCommerce, WOOCOMMERCE, etc. Chercher un mot complet avec -w L’option -w limite la recherche aux mots complets : grep -rnw "post" wp-content/themes/ Elle évite de trouver des correspondances partielles dans des mots plus... --- ### Python : corriger l’erreur “ImportError: cannot import name main” avec pip - **URL**: https://www.skyminds.net/python-pip-importerror-cannot-import-name-main/ Suite à une mauvaise manipulation, j’ai malencontreusement écrasé la version de pip installée par APT en lançant une commande du type : pip install pip ou, selon les cas : sudo pip install --upgrade pip Résultat : toute commande lancée avec pip se met à retourner cette erreur : Traceback (most recent call last): File "/usr/bin/pip", line 9, in from pip import main ImportError: cannot import name main Pas glop. Cette erreur arrive lorsque le script système /usr/bin/pip attend une ancienne interface interne de pip, alors qu’une version plus récente de pip a été installée par-dessus via pip lui-même. En clair, APT et pip se marchent dessus. Et, comme souvent dans ce genre de duel, c’est votre terminal qui prend les coups. Voici comment réparer proprement pip sous Ubuntu ou Debian, puis éviter de recasser l’installation système. Pourquoi l’erreur “cannot import name main” apparaît ? L’erreur vient souvent d’un mélange entre deux mondes : apt, qui gère les paquets Python fournis par la distribution ; pip, qui installe des paquets depuis l’écosystème Python ; un script /usr/bin/pip généré pour une ancienne version ; une version de pip installée manuellement dans un emplacement prioritaire. Historiquement, certains scripts pip importaient main avec une ligne du type : from pip import main Or, les versions modernes de pip ont changé leur organisation interne. Résultat : le vieux lanceur appelle une fonction qui n’existe plus à cet endroit. Ce problème a été largement documenté après les mises à jour vers pip 10 et suivantes. L’équipe pip recommande d’ailleurs d’appeler pip via python -m pip lorsque le script pip lui-même pose problème. Voir l’issue pip liée à cette erreur. Première vérification : quelle commande pip est appelée ? Avant de supprimer quoi que ce soit, vérifiez quel binaire est utilisé : command -v pip command -v pip3 which pip which pip3 Vérifiez aussi la version, si la commande répond encore : pip --version pip3 --version python3 -m pip --version Si pip est cassé mais que cette commande fonctionne encore : python3 -m pip --version vous pouvez déjà utiliser python3 -m pip comme solution temporaire. C’est souvent plus fiable que d’appeler le wrapper pip directement. Solution rapide : réinstaller pip avec APT Sur Ubuntu ou Debian, si vous voulez retrouver une version de pip cohérente avec le système, le plus propre consiste à purger puis réinstaller le paquet APT. Commencez par désinstaller la version pip installée dans l’environnement Python, si la commande fonctionne encore : python3 -m pip uninstall pip Ensuite, purgez le paquet APT : sudo apt purge --autoremove python3-pip Puis réinstallez pip depuis les dépôts de la distribution : sudo apt update sudo apt install python3-pip Vérifiez ensuite : pip3 --version python3 -m pip --version Sur un Ubuntu récent, vous pouvez obtenir un résultat de ce type : pip 24.0 from /usr/lib/python3/dist-packages/pip (python 3.12) Si pip3 fonctionne à nouveau, le paquet système est réparé. Ne réparez pas pip avec sudo pip install pip La tentation est grande de résoudre un problème pip avec pip lui-même :... --- ### Varnish, Apache et PHP : configurer un cache moderne - **URL**: https://www.skyminds.net/varnish-apache-opcache-php/ Installer APC et Varnish devant Apache était une très bonne idée il y a quelques années. À l’époque, APC servait à la fois de cache opcode PHP et de cache utilisateur. Varnish, lui, permettait déjà de placer un reverse proxy HTTP très rapide devant Apache pour servir les pages les plus demandées sans réveiller toute la pile PHP/MySQL. Aujourd’hui, l’objectif reste valable : réduire la charge, accélérer les réponses et absorber plus de trafic. En revanche, la stack a changé. On ne doit plus installer l’ancien APC. On utilise OPcache pour le bytecode PHP, APCu seulement si l’application en a besoin, et Varnish comme cache HTTP devant Apache lorsque le contexte s’y prête. Ce guide modernise donc l’approche : diagnostic, OPcache, APCu, Varnish, Apache en backend, vraie IP visiteur, configuration VCL prudente, purge du cache, WordPress, WooCommerce et dépannage. APC, APCu, OPcache : ne mélangeons pas tout Commençons par la mise au point importante : APC est obsolète pour les versions modernes de PHP. L’ancien APC faisait deux choses : cache opcode PHP ; cache utilisateur en mémoire. Depuis PHP 5.5, PHP inclut son propre cache opcode : OPcache. L’ancien rôle opcode d’APC n’a donc plus lieu d’être. APCu, de son côté, garde uniquement la partie cache utilisateur : une petite base clé/valeur en mémoire accessible depuis PHP. La bonne lecture actuelle est donc simple : OutilRôleÀ utiliser aujourd’hui ?APCAncien cache opcode + cache utilisateurNonOPcacheCache opcode PHPOui, presque toujoursAPCuCache utilisateur local en mémoireOui, si l’application l’utiliseVarnishReverse proxy cache HTTPOui, dans les bons scénariosRedisObject cache réseau/persistantSouvent préférable pour WordPress En clair : OPcache accélère PHP, APCu peut accélérer certaines valeurs applicatives, Varnish évite de toucher PHP quand une page entière est déjà cachée. Ce sont trois niveaux différents. Les confondre, c’est comme mettre un turbo sur une cafetière et se demander pourquoi le café sort en HTTP 503. Quand Varnish est une bonne idée Varnish est un reverse proxy cache HTTP. Il se place devant votre serveur web d’origine, reçoit les requêtes, décide si une réponse peut être servie depuis le cache, et ne contacte Apache que lorsque c’est nécessaire. Il est particulièrement utile pour : sites éditoriaux très consultés ; pages publiques majoritairement anonymes ; pics de trafic prévisibles ; sites WordPress avec peu de personnalisation par utilisateur ; applications qui envoient de bons en-têtes de cache ; architectures où Apache reste le backend applicatif ; serveurs qui doivent continuer à répondre même si le backend ralentit. Varnish brille quand il peut répondre à la place de l’application. Il devient beaucoup moins intéressant si presque toutes les pages dépendent d’une session, d’un cookie, d’un panier, d’un compte client, d’un prix dynamique ou d’une personnalisation utilisateur. Quand Varnish est une mauvaise idée Varnish n’est pas magique. Il peut même devenir dangereux si vous cachez des pages privées ou personnalisées. Soyez prudent avec : WooCommerce ; Easy Digital Downloads ; sites membres ; LMS ; forums ; intranets ; espaces clients ; pages avec panier ou checkout ; prix personnalisés ; contenu... --- ### Résoudre l’erreur HTTP/2 stream was not closed cleanly - **URL**: https://www.skyminds.net/resoudre-erreur-http2-stream-not-closed-cleanly/ L’erreur HTTP/2 stream was not closed cleanly apparaît souvent avec curl, Git, une API, un navigateur, un CDN ou un reverse proxy. Elle indique qu’un flux HTTP/2 a été interrompu ou fermé d’une manière que le client considère comme incorrecte. Le message exact varie selon le contexte : curl: (92) HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1) curl: (92) HTTP/2 stream 1 was not closed cleanly: INTERNAL_ERROR (err 2) error: RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly Le réflexe classique consiste à accuser curl, Git ou le navigateur. Pourtant, dans beaucoup de cas, le problème vient plutôt du serveur, du CDN, d’un proxy intermédiaire, d’un en-tête HTTP invalide, d’un timeout, ou d’un backend qui coupe la réponse trop tôt. Voici une méthode propre pour diagnostiquer et corriger l’erreur, sans désactiver HTTP/2 au hasard comme on débranche une multiprise en pleine prod. Ce que signifie cette erreur HTTP/2 HTTP/2 fonctionne avec des streams, ou flux. Plusieurs requêtes peuvent passer sur une même connexion TCP/TLS. C’est l’un des grands intérêts du protocole : au lieu d’ouvrir une connexion par ressource, le client peut multiplexeur plusieurs échanges sur une seule connexion. Lorsque curl indique qu’un stream n’a pas été fermé proprement, cela signifie que le client a reçu une fin de flux, une erreur ou une fermeture de connexion qui ne respecte pas ce qu’il attendait du protocole HTTP/2. Les causes les plus fréquentes sont : un serveur HTTP/2 mal configuré ; un CDN ou reverse proxy qui interrompt le flux ; un backend qui ferme la connexion avant d’envoyer toute la réponse ; un fichier ou une réponse tronquée ; des en-têtes HTTP incompatibles avec HTTP/2 ; un timeout entre proxy et application ; un bug ou comportement limite dans une bibliothèque HTTP/2 ; une connexion réseau instable ; une requête Git trop volumineuse ou interrompue ; un mélange malheureux entre HTTP/2, TLS, cache et compression. La bonne nouvelle : on peut isoler la couche fautive avec quelques tests simples. Commencer par reproduire avec curl Le premier test consiste à forcer HTTP/2 avec curl et à afficher les détails de la connexion. curl -vvv --http2 -I https://www.example.com/ Dans la sortie, regardez notamment : la négociation ALPN ; le protocole accepté par le serveur ; le certificat TLS ; les en-têtes de réponse ; le code HTTP ; le moment exact où le stream échoue. Vous devriez voir une ligne indiquant que le serveur accepte HTTP/2 : ALPN: server accepted h2 Ou, selon la version de curl : using HTTP/2 Ensuite, comparez immédiatement avec HTTP/1.1. curl -vvv --http1.1 -I https://www.example.com/ Si HTTP/1.1 fonctionne mais HTTP/2 échoue, le problème est bien lié à la couche HTTP/2 ou à un intermédiaire qui gère mal HTTP/2. Tester le contenu complet, pas seulement les en-têtes Une requête HEAD peut réussir alors qu’un téléchargement complet échoue. Testez donc aussi le corps de la réponse. curl -vvv --http2 -o /dev/null https://www.example.com/ Pour tester un fichier précis, par exemple un PDF, une archive... --- ### Flux RSS : pourquoi ils restent indispensables pour suivre le web sans algorithmes - **URL**: https://www.skyminds.net/flux-rss-suivre-web-sans-algorithmes/ Je suis tombé, il y a déjà longtemps, sur un schéma publié par Search Engine Land qui résumait très bien le principe des flux RSS. L’image avait quelque chose de presque militant : elle montrait comment un simple flux pouvait relier un site, ses lecteurs, ses agrégateurs, ses outils de veille et même les moteurs de recherche. À l’époque, RSS représentait surtout un confort de lecture. Aujourd’hui, il représente quelque chose de plus rare : un moyen de suivre le web sans dépendre d’un algorithme. Et franchement, ce n’est pas rien. Qu’est-ce qu’un flux RSS ? RSS signifie Really Simple Syndication. C’est un format XML qui permet à un site de publier automatiquement ses nouveaux contenus dans un fichier structuré. Ce fichier contient généralement le titre de l’article, son lien, sa date de publication, un extrait, parfois l’image principale, et d’autres métadonnées utiles. En clair, le site publie. Le flux se met à jour. Le lecteur RSS récupère l’information. Pas besoin d’ouvrir vingt onglets. Pas besoin de rafraîchir une page d’accueil. Pas besoin d’attendre qu’un réseau social daigne afficher l’article dans un fil d’actualité. RSS fait le travail proprement, en silence. Le principe : centraliser l’information Le système RSS est ingénieux parce qu’il évite de multiplier les marque-pages et les visites manuelles. Au lieu d’ouvrir chaque site un par un, on ajoute leurs flux RSS dans un lecteur comme Feedly, Inoreader, NewsBlur, Netvibes ou FreshRSS. Ensuite, tous les nouveaux articles arrivent dans une seule interface. C’est le même principe que le webmail pour les emails : on ne va pas frapper à la porte de chaque serveur. On centralise tout dans un outil unique, accessible depuis un ordinateur, une tablette ou un téléphone. Pourquoi RSS reste moderne On pourrait croire que RSS appartient au vieux web. Pourtant, il répond très bien aux problèmes du web actuel. Les réseaux sociaux filtrent, hiérarchisent et ralentissent souvent l’accès direct à l’information. Ils décident ce que l’on voit, quand on le voit, et parfois même si on le voit. RSS fonctionne autrement : on choisit ses sources, puis on reçoit leurs publications dans l’ordre. C’est simple. C’est propre. Et surtout, c’est prévisible. Avec RSS, on ne “suit” pas un compte au sens social du terme. On s’abonne à une source. La nuance compte, car elle redonne le contrôle au lecteur. Les principaux avantages des flux RSS 1. Une veille plus rapide RSS permet de suivre des dizaines, voire des centaines de sites sans perdre de temps. Pour un développeur, un journaliste, un consultant SEO, un enseignant ou un créateur de contenu, c’est redoutable. On peut regrouper ses sources par thème : WordPress, sécurité, SEO, IA, pédagogie, actualité, musique, cinéma, recherche universitaire, etc. Ensuite, on lit ce qui compte. Le reste peut attendre. 2. Moins de bruit Un flux RSS ne contient pas de commentaires toxiques, de publicités sociales agressives, de vidéos forcées ou de recommandations absurdes. Il affiche les contenus publiés par les sites que l’on a choisis. C’est presque reposant. Un luxe, donc. 3.... --- ### The Lonely Island et Rihanna dans Shy Ronnie 2 : humour, rap et braquage raté - **URL**: https://www.skyminds.net/the-lonely-island-rihanna-shy-ronnie-2/ Il y a des clips qui cherchent à impressionner. Et puis il y a Shy Ronnie 2: Ronnie & Clyde, qui préfère faire exploser le casse du siècle à cause d’un rappeur trop timide pour parler correctement. Sorti comme SNL Digital Short le 30 octobre 2010, ce sketch musical de The Lonely Island met en scène Rihanna et Andy Samberg dans une parodie de braquage façon Bonnie and Clyde. Sauf qu’ici, Clyde est Rihanna, sûre d’elle, dangereuse et parfaitement dans son rôle. Ronnie, lui, est censé l’aider. En théorie seulement. https://www.youtube.com/watch?v=6_W_xLWtNa0 Shy Ronnie 2: Ronnie & Clyde (feat. Rihanna) Shy Ronnie, ou l’art du malaise comique Le principe est simple : Rihanna et Shy Ronnie braquent une banque ensemble. Elle donne les ordres, impose le rythme, contrôle la scène. Lui marmonne, tremble, bafouille et rend chaque seconde plus gênante que la précédente. C’est précisément là que le sketch fonctionne. The Lonely Island inverse les codes habituels du duo criminel glamour. Rihanna porte toute l’énergie du braquage, tandis que Ronnie détruit méthodiquement toute crédibilité. Le contraste est immédiat, lisible et franchement efficace. Andy Samberg pousse le personnage jusqu’à l’absurde : voix inaudible, posture fermée, panique permanente. Pourtant, dès que Rihanna quitte la pièce, Ronnie se transforme soudain en rappeur agressif. Le gag repose donc sur une idée très bête, mais parfaitement exécutée : il n’a de courage que lorsqu’il n’y a plus personne pour l’entendre. Rihanna vole littéralement la scène Ce qui rend la vidéo encore meilleure, c’est la présence de Rihanna. Elle ne se contente pas d’une apparition promotionnelle. Elle joue le jeu à fond, avec une assurance qui rend Ronnie encore plus ridicule. Son personnage domine la scène dès les premières secondes. Elle incarne la figure criminelle cool, maîtrisée, presque cinématographique. En face, Ronnie devient un accessoire défectueux. Un micro cassé avec une perruque rousse. Ce déséquilibre donne au sketch son rythme. Plus Rihanna paraît solide, plus Ronnie paraît pathétique. Et plus Ronnie s’effondre, plus Rihanna semble intouchable. Un vrai faux clip de rap Comme souvent avec The Lonely Island, la blague fonctionne parce que la forme est soignée. Le morceau ressemble à un vrai clip de rap comique : production propre, refrains efficaces, montage nerveux et codes visuels parfaitement reconnaissables. La vidéo ne parodie pas seulement les films de braquage. Elle parodie aussi l’imagerie virile du rap : armes, intimidation, punchlines agressives, posture de dur. Ronnie veut entrer dans ce costume. Mais il flotte dedans comme un enfant dans le manteau de son père. C’est d’ailleurs une marque de fabrique de The Lonely Island : écrire des chansons absurdes avec une exécution étonnamment professionnelle. Le contraste entre le sérieux de la production et la stupidité du concept fait presque tout le travail. Une suite qui confirme le potentiel du personnage Shy Ronnie 2: Ronnie & Clyde fait suite au premier sketch Shy Ronnie, déjà porté par Rihanna et Andy Samberg. Le personnage avait marqué les esprits par son incapacité totale à chanter assez fort devant un public. La... --- ### Plesk : corriger l’erreur 400 Let’s Encrypt au renouvellement SSL - **URL**: https://www.skyminds.net/plesk-letsencrypt-erreur-400/ Lors du renouvellement d’un certificat Let’s Encrypt sous Plesk, il peut arriver que la validation échoue avec une erreur 400 Bad Request. Le message ressemble souvent à ceci : Attempting to renew cert (example.com) from /etc/letsencrypt/renewal/example.com.conf produced an unexpected error: Failed authorization procedure. www.example.com (http-01): urn:ietf:params:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://www.example.com/.well-known/acme-challenge/2VQAX5eA_dSyl1RB5MjfcHr9YinF8T7nw3Z6OxU5Zu4: " 400 Bad Request Bad Request" En clair, Let’s Encrypt essaye de lire un fichier de validation dans /.well-known/acme-challenge/, mais le serveur ne renvoie pas le token attendu. À la place, il renvoie une page d’erreur 400 Bad Request. Ce n’est donc pas un problème “SSL” au sens strict. C’est d’abord un problème d’accès HTTP au fichier de challenge ACME. Comprendre le challenge HTTP-01 de Let’s Encrypt Lorsque Plesk demande ou renouvelle un certificat Let’s Encrypt avec le challenge HTTP-01, l’autorité de certification vérifie que le serveur répond bien sur le domaine demandé. Pour cela, elle tente d’accéder à une URL du type : http://example.com/.well-known/acme-challenge/TOKEN Le fichier doit être accessible publiquement sur le port 80. Let’s Encrypt précise que le challenge HTTP-01 nécessite le trafic entrant sur le port 80, et que les IP de validation ne sont pas publiées car elles peuvent changer. Let’s Encrypt suit les redirections HTTP, jusqu’à 10 redirections, mais uniquement vers http ou https sur les ports 80 ou 443. En revanche, si une redirection crée une boucle, pointe vers un hôte incorrect, casse le Host header, passe par un proxy mal configuré, ou renvoie une page 400, la validation échoue. Dans Plesk, cette validation est généralement gérée par l’extension Let’s Encrypt / SSL It!. Plesk peut renouveler automatiquement les certificats, mais seulement si le domaine reste accessible de l’extérieur pendant la validation. Cause fréquente : redirection HTTP vers HTTPS dans Plesk Dans certains cas, l’erreur vient tout simplement de la redirection automatique HTTP vers HTTPS configurée dans Plesk. Le challenge part de l’URL HTTP, Plesk redirige, puis la requête arrive sur une configuration HTTPS qui ne répond pas correctement au fichier ACME. La solution rapide consiste à désactiver temporairement la redirection HTTP vers HTTPS, renouveler le certificat, puis la réactiver si tout fonctionne. Dans Plesk : ouvrez le domaine concerné ; allez dans SSL/TLS Certificates ou SSL/TLS, selon la version de Plesk ; décochez Redirect from http to https ; relancez le renouvellement du certificat Let’s Encrypt ; réactivez la redirection HTTPS après émission correcte du certificat. Cette correction est simple, mais elle ne règle pas tous les cas. Aujourd’hui, je conseille de tester explicitement l’accès au dossier .well-known/acme-challenge avant de relancer l’émission du certificat. Tester manuellement l’accès au challenge ACME Avant de relancer Let’s Encrypt, créez un fichier de test dans le document root du domaine. Exemple typique sous Plesk, à adapter au domaine : mkdir -p /var/www/vhosts/example.com/httpdocs/.well-known/acme-challenge echo "ok" > /var/www/vhosts/example.com/httpdocs/.well-known/acme-challenge/test.txt Testez ensuite depuis le serveur : curl -i http://example.com/.well-known/acme-challenge/test.txt curl -i http://www.example.com/.well-known/acme-challenge/test.txt Vous devez obtenir une réponse 200 OK avec le contenu ok. Si vous obtenez une erreur 400, 403, 404, une page WordPress,... --- ### PHP/MySQL : corriger l’erreur « Headers and client library mismatch » - **URL**: https://www.skyminds.net/php-mysql-headers-client-library-mismatch/ Après une mise à jour de MySQL, MariaDB, PHP ou des extensions PHP, certaines applications anciennes peuvent afficher un avertissement de ce type : PHP Warning: mysql_connect(): Headers and client library minor version mismatch. Headers:50535 Library:50617 Ce message indique que l’extension PHP utilisée pour se connecter à MySQL a été compilée avec une version de headers différente de la bibliothèque cliente réellement chargée au moment de l’exécution. En 2026, le point important est surtout celui-ci : si votre application utilise encore mysql_connect(), le problème n’est pas seulement une bibliothèque MySQL incohérente. Le vrai problème, c’est que le code utilise une API PHP supprimée depuis longtemps. La correction moderne consiste donc à passer à mysqli ou PDO_MySQL, puis à vérifier que PHP utilise bien MySQL Native Driver, aussi appelé mysqlnd. Pourquoi cette erreur apparaît ? Historiquement, les extensions PHP de connexion à MySQL pouvaient utiliser la bibliothèque cliente MySQL, souvent appelée libmysqlclient. Si PHP était compilé contre une version, mais chargeait une autre version au runtime, l’avertissement Headers and client library minor version mismatch pouvait apparaître. Ce problème concernait surtout les anciens environnements PHP 5.x, les mélanges de dépôts, les upgrades MySQL/MariaDB partiels, les paquets tiers, ou les serveurs qui avaient plusieurs versions de bibliothèques MySQL installées. En 2026, sur une pile PHP moderne, la bonne réponse n’est pas de bricoler libmysqlclient. PHP fournit depuis longtemps MySQL Native Driver, mysqlnd, qui remplace l’ancienne bibliothèque cliente MySQL pour les extensions PHP MySQL. Le manuel PHP précise que mysqlnd est un remplacement de MySQL Client Library et qu’il fait partie des sources officielles de PHP depuis PHP 5.3.0. mysql_connect() est supprimé depuis PHP 7 Le message d’origine mentionne mysql_connect(). C’est un énorme indice : l’application utilise l’ancienne extension mysql. Cette extension a été dépréciée en PHP 5.5, puis supprimée en PHP 7.0. Le manuel PHP recommande d’utiliser mysqli ou PDO_MySQL à la place. Donc, si vous voyez encore mysql_connect(), le code est incompatible avec PHP moderne. Sur PHP 7, PHP 8, PHP 8.4 ou PHP 8.5, la fonction n’existe plus. La correction durable consiste à remplacer l’ancien code : $link = mysql_connect( 'localhost', 'user', 'password' ); mysql_select_db( 'database', $link ); $result = mysql_query( 'SELECT * FROM posts', $link ); par mysqli ou, mieux encore pour beaucoup de projets modernes, par PDO. Solution moderne avec PDO_MySQL Voici un exemple minimal avec PDO : $dsn = 'mysql:host=localhost;dbname=database;charset=utf8mb4'; $pdo = new PDO( $dsn, 'user', 'password', [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, ] ); $stmt = $pdo->query( 'SELECT * FROM posts' ); $rows = $stmt->fetchAll(); PDO permet d’utiliser des requêtes préparées, une gestion d’erreurs propre, et une API stable. Pour une application ancienne à migrer, c’est souvent le meilleur choix. Exemple avec requête préparée : $stmt = $pdo->prepare( 'SELECT * FROM users WHERE email = :email' ); $stmt->execute( [ 'email' => $email, ] ); $user = $stmt->fetch(); Solution moderne avec mysqli Si vous préférez rester proche de l’ancien style MySQL, mysqli peut être plus rapide à adopter : $mysqli = mysqli_connect( 'localhost', 'user',... --- ### CSS : supprimer une barre de défilement horizontale indésirable - **URL**: https://www.skyminds.net/css-barre-defilement-horizontale/ Une barre de défilement horizontale qui apparaît sans raison apparente, c’est l’un des petits bugs CSS les plus agaçants. Le site semble presque correct, puis l’on remarque que la page peut glisser de quelques pixels vers la droite. Super. Une feature que personne n’a demandée. Historiquement, on réglait souvent ce problème avec une règle brutale : html { overflow-x: hidden; } Cette règle masque bien la barre de défilement horizontale. Toutefois, elle ne corrige pas forcément la cause du problème. Aujourd'hui, la bonne approche consiste plutôt à identifier l’élément qui déborde, corriger sa largeur, puis utiliser overflow-x seulement en dernier recours. Pourquoi une barre de défilement horizontale apparaît ? Une barre horizontale apparaît lorsqu’un élément dépasse la largeur du viewport ou de son conteneur. Le navigateur fait alors son travail : il ajoute un scroll horizontal pour permettre d’accéder au contenu qui déborde. Les causes les plus fréquentes sont : un élément en width: 100vw combiné à du padding ou à une scrollbar verticale ; une image, une vidéo ou un iframe sans max-width: 100% ; un conteneur en width: 100% avec padding sans box-sizing: border-box ; une grille CSS trop large ; un élément flex qui refuse de rétrécir ; un mot, une URL ou un bloc de code trop long ; un élément positionné avec left, right, transform ou une marge négative ; une animation qui sort temporairement du viewport ; un bloc WordPress aligné en pleine largeur mal contenu par le thème. La tentation consiste à masquer le débordement. Parfois, c’est acceptable. Mais dans la plupart des cas, il vaut mieux trouver l’élément fautif. Sinon, vous cachez la fumée pendant que le grille-pain continue de brûler. La solution rapide : masquer le débordement horizontal Si vous voulez supprimer rapidement la barre horizontale, vous pouvez utiliser : html, body { overflow-x: hidden; } Cette règle empêche le défilement horizontal sur la page. Elle peut dépanner lorsque le débordement vient d’une animation, d’un léger écart de calcul ou d’un composant tiers difficile à modifier. Cependant, je ne l’utiliserais pas comme première correction. Elle masque le symptôme, mais elle peut aussi cacher un vrai problème de layout : image trop large, bloc mal dimensionné, menu mobile qui dépasse, table non responsive, ou section pleine largeur cassée. La méthode propre consiste donc à diagnostiquer d’abord, puis à corriger précisément. Diagnostiquer l’élément qui déborde Ouvrez les DevTools du navigateur, puis utilisez ce petit snippet dans la console pour trouver les éléments plus larges que la fenêtre : [...document.querySelectorAll('*')] .filter((element) => element.scrollWidth > document.documentElement.clientWidth) .forEach((element) => { console.log(element, { scrollWidth: element.scrollWidth, clientWidth: document.documentElement.clientWidth, }); }); Ce code liste les éléments dont la largeur de contenu dépasse la largeur visible du document. Il ne donne pas toujours le coupable final du premier coup, mais il réduit fortement la zone de recherche. Vous pouvez aussi ajouter temporairement un contour à tous les éléments pour repérer visuellement le débordement : * { outline: 1px solid rgba(255, 0, 0, 0.25); } Ne laissez évidemment pas cette règle... --- ### Tester un proxy sous Windows, macOS et Linux - **URL**: https://www.skyminds.net/tester-proxy-windows-mac-linux/ Si vous avez suivi l'article précédent intitulé le proxy ou comment renforcer anonymat et sécurité, vous savez qu'il existe plusieurs types de proxy, avec différentes couches d'anonymat. Un proxy peut servir à filtrer le trafic, sortir par une autre adresse IP, diagnostiquer une application, accéder à un réseau d’entreprise, tester une API, ou vérifier le comportement d’un site depuis un autre point de sortie. Mais avant de l’utiliser sérieusement, il faut répondre à une question simple : ce proxy fonctionne-t-il vraiment ? Un proxy qui “répond” n’est pas forcément utilisable. Il peut être lent, bloquer HTTPS, exiger une authentification, transmettre votre IP réelle dans les en-têtes, résoudre les DNS localement, ou ne fonctionner que depuis certains réseaux. Voici une méthode moderne, claire et durable pour tester un proxy sous Windows, macOS et Linux, avec les réglages système, Firefox, curl, PowerShell, les variables d’environnement et quelques tests réseau fiables. Ce qu’il faut tester sur un proxy Un bon test de proxy ne consiste pas seulement à ouvrir une page web. Il faut vérifier plusieurs points. Accessibilité : le serveur et le port répondent-ils ? Type : s’agit-il d’un proxy HTTP, HTTPS, SOCKS4 ou SOCKS5 ? Authentification : faut-il un identifiant et un mot de passe ? IP visible : le site distant voit-il l’IP du proxy ou votre IP réelle ? En-têtes HTTP : le proxy révèle-t-il des informations comme X-Forwarded-For ? HTTPS : le proxy accepte-t-il les connexions vers les sites sécurisés ? DNS : les noms de domaine sont-ils résolus localement ou via le proxy ? Performance : le proxy répond-il rapidement ? Stabilité : fonctionne-t-il encore après plusieurs requêtes ? Un proxy peut réussir trois tests et échouer au quatrième. C’est pour cela qu’il faut procéder par étapes, plutôt que de se contenter d’un “ça marche chez moi” lancé avec beaucoup trop d’optimisme. Comprendre les différents types de proxies Avant de tester quoi que ce soit, identifiez le type de proxy fourni. TypeExempleUsage courantHTTPhttp://proxy.example.com:8080Trafic HTTP et tunnel HTTPS via CONNECTHTTPShttps://proxy.example.com:8443Connexion chiffrée entre vous et le proxySOCKS4socks4://proxy.example.com:1080Proxy SOCKS ancien, moins flexibleSOCKS5socks5://proxy.example.com:1080Proxy générique, souvent utilisé pour tunnels et applicationsSOCKS5 avec DNS distantsocks5h://proxy.example.com:1080SOCKS5 avec résolution DNS via le proxy La notation compte beaucoup. Si vous testez un proxy SOCKS comme s’il était HTTP, le test échouera. Ce n’est pas forcément le proxy qui est mort. C’est peut-être juste la commande qui porte les mauvaises chaussures. Préparer une URL de test fiable Pour tester un proxy, utilisez des services qui renvoient l’IP ou les en-têtes vus côté serveur. https://httpbin.org/ip pour afficher l’IP visible ; https://httpbin.org/headers pour inspecter les en-têtes HTTP ; https://ipinfo.io/json pour obtenir l’IP, l’organisation réseau et une géolocalisation indicative ; https://ifconfig.me pour afficher rapidement l’IP publique. Je préfère httpbin pour les tests techniques, car il renvoie une réponse JSON claire. Pour un contrôle rapide dans un navigateur, ifconfig.me ou ipinfo.io suffisent. Tester l’IP directe avant le proxy Commencez toujours par noter votre IP publique sans proxy. Cela servira de référence. Sous Linux ou macOS : curl https://httpbin.org/ip Sous Windows PowerShell... --- ### Ubuntu : réparer une mise à niveau plantée ou interrompue - **URL**: https://www.skyminds.net/ubuntu-resoudre-le-plantage-apres-une-mise-a-niveau/ Une mise à niveau Ubuntu peut parfois mal se terminer : coupure de courant, batterie vide, paquet cassé, pilote graphique incompatible, partition pleine, GRUB endommagé ou redémarrage au mauvais moment. Résultat : Ubuntu ne démarre plus, reste bloqué sur un écran noir, affiche un shell d’urgence ou refuse d’ouvrir la session graphique. Bonne nouvelle : dans beaucoup de cas, le système n’est pas perdu. Il faut surtout terminer proprement la mise à niveau, réparer les paquets cassés, régénérer GRUB ou corriger les pilotes. Mauvaise nouvelle : il faut procéder méthodiquement. Le mode “je tape dix commandes trouvées au hasard” marche rarement mieux qu’un tournevis dans un grille-pain. Voici une méthode moderne pour réparer Ubuntu après une mise à niveau plantée ou interrompue, depuis le mode recovery ou depuis une clé USB live. Avant de réparer : identifiez le symptôme Toutes les pannes post-mise à niveau ne se réparent pas de la même manière. Commencez par identifier ce que vous voyez au démarrage. SymptômeCause probablePremière pisteÉcran noir après GRUBPilote graphique, Wayland, NVIDIA, noyauMode recovery, ancien noyau, pilote graphiqueUbuntu démarre en ligne de commandeSession graphique cassée, paquets incompletsdpkg --configure -a, logs systemdMessage “dpkg was interrupted”Mise à niveau interrompuesudo dpkg --configure -aGRUB ne s’affiche plusChargeur de démarrage casséLive-USB, chroot, réinstallation GRUBEmergency modePartition introuvable, erreur disque, fstabjournalctl -xb, fsck, /etc/fstabPlus d’espace disquePartition racine pleineMode recovery, nettoyage APT et anciens noyauxConnexion réseau absenteNetworkManager, firmware, piloteRecovery network, Ethernet, logs Le plus important : ne réinstallez pas Ubuntu immédiatement. Une mise à niveau incomplète se répare souvent sans toucher aux données personnelles. Première règle : sauvegardez les données si possible Avant de modifier le système, sauvegardez vos fichiers importants. Si Ubuntu ne démarre plus, utilisez une clé USB live Ubuntu. Démarrez sur la clé USB, choisissez Essayer Ubuntu, puis copiez vos fichiers vers un disque externe. Les dossiers à sauvegarder en priorité : /home ; vos dossiers de travail ; vos clés SSH ; vos profils Firefox, Thunderbird ou navigateurs ; vos bases de données locales si vous développez ; vos fichiers de configuration importants. Si le disque semble en mauvais état, ne multipliez pas les tentatives de réparation. Sauvegardez d’abord. Un système cassé se réinstalle. Des données écrasées, c’est une autre ambiance. Méthode 1 : démarrer sur un ancien noyau Après une mise à niveau, un nouveau noyau peut poser problème avec certains pilotes, notamment graphiques, Wi-Fi ou VirtualBox. Avant de réparer en profondeur, testez un ancien noyau. Au démarrage : affichez le menu GRUB ; ouvrez Options avancées pour Ubuntu ; choisissez un noyau plus ancien ; démarrez normalement. Si l’ancien noyau démarre, le système est probablement réparable depuis Ubuntu lui-même. Vous pourrez terminer la mise à niveau, réparer les paquets, puis vérifier les pilotes. Une fois connecté, lancez : sudo dpkg --configure -a sudo apt --fix-broken install sudo apt update sudo apt full-upgrade sudo update-initramfs -u -k all sudo update-grub Redémarrez ensuite : sudo reboot Méthode 2 : utiliser le mode recovery d’Ubuntu Ubuntu propose un mode de récupération depuis GRUB. Il donne accès... --- ### MySQL : gérer, purger ou désactiver les binary logs - **URL**: https://www.skyminds.net/mysql-binary-logs/ Sur un serveur MySQL, les binary logs peuvent vite prendre beaucoup de place. Il n’est pas rare de découvrir plusieurs dizaines, voire plusieurs centaines de gigaoctets de fichiers binlog.* après quelques mois d’activité. Ces fichiers ne sont pas des logs applicatifs classiques. Ils enregistrent les modifications effectuées sur les bases de données, afin de permettre la réplication, certaines stratégies de sauvegarde, et la restauration à un point précis dans le temps. En clair : avant de les supprimer ou de les désactiver, il faut comprendre à quoi ils servent sur votre serveur. Sinon, vous risquez de récupérer de l’espace disque tout en cassant votre stratégie de backup. Mauvais troc. À quoi servent les binary logs MySQL ? Les binary logs, ou journaux binaires, enregistrent les événements qui modifient les données : INSERT, UPDATE, DELETE, créations de tables, modifications de structure, etc. Ils servent principalement à trois choses : répliquer les modifications vers un ou plusieurs serveurs replicas ; rejouer des transactions après une restauration de sauvegarde ; faire du point-in-time recovery, c’est-à-dire restaurer une base jusqu’à un instant précis. Si votre serveur MySQL est autonome, sans réplication, sans cluster, sans sauvegarde incrémentale basée sur les binary logs, et sans besoin de restauration fine, vous pouvez envisager de désactiver les binary logs. En revanche, si vous utilisez la réplication, MySQL Router, un cluster, un service de backup qui lit les binlogs, ou une stratégie de restauration avancée, ne les désactivez pas. Dans ce cas, configurez plutôt une rétention raisonnable. Identifier les binary logs sur le serveur Commencez par vérifier si les binary logs sont activés : sudo mysql -e "SHOW VARIABLES LIKE 'log_bin';" Si la valeur est ON, MySQL écrit des binary logs. Affichez ensuite leur emplacement : sudo mysql -e "SHOW VARIABLES LIKE 'log_bin_basename';" Vous pouvez aussi lister les binary logs connus par MySQL : sudo mysql -e "SHOW BINARY LOGS;" Pour mesurer l’espace utilisé sur le disque, adaptez le chemin selon la sortie précédente. Sur Debian et Ubuntu, les données MySQL se trouvent souvent dans /var/lib/mysql : sudo du -ch /var/lib/mysql/binlog.* 2>/dev/null | tail -n 1 Si vos fichiers s’appellent plutôt mysql-bin.000001, utilisez : sudo du -ch /var/lib/mysql/mysql-bin.* 2>/dev/null | tail -n 1 Ne supprimez pas les fichiers binlog à la main Premier réflexe à éviter : supprimer les fichiers directement avec rm. # Mauvaise idée. sudo rm /var/lib/mysql/binlog.* MySQL maintient un index interne de ses binary logs. Si vous supprimez les fichiers à la main, l’index peut ne plus correspondre aux fichiers présents sur le disque. Résultat : erreurs, réplication cassée, purge confuse, et dépannage franchement pénible. Utilisez toujours les commandes SQL prévues pour cela, notamment PURGE BINARY LOGS. Purger les anciens binary logs proprement Pour supprimer les binary logs anciens, connectez-vous à MySQL et utilisez PURGE BINARY LOGS. Par exemple, pour supprimer tous les binary logs antérieurs au 1er mai 2026 : sudo mysql -e "PURGE BINARY LOGS BEFORE '2026-05-01 00:00:00';" Vous pouvez aussi purger avant un fichier précis : sudo mysql -e "PURGE BINARY LOGS TO... --- ### Postfix : corriger l’erreur « message file too big » - **URL**: https://www.skyminds.net/postfix-fatal-www-data-message-file-too-big/ En consultant les logs d’un serveur mail, vous pouvez tomber sur une erreur Postfix de ce type : postfix/sendmail[6460]: fatal: www-data(33): message file too big Dans un contexte WordPress, cette erreur apparaît souvent lorsqu’une extension tente d’envoyer une sauvegarde de base de données, une archive ZIP, un export ou un rapport volumineux par email. Le message est assez clair : l’utilisateur système www-data, donc PHP/WordPress sur Debian ou Ubuntu, essaye de soumettre un email trop gros pour la configuration Postfix actuelle. La correction consiste à vérifier la limite configurée, l’ajuster si besoin, puis se demander si l’email est vraiment le bon transport pour ce type de fichier. Spoiler : pour des backups WordPress lourds, la réponse est souvent non. Comprendre l’erreur “message file too big” Postfix limite la taille maximale d’un message avec le paramètre message_size_limit. D’après la documentation officielle Postfix, sa valeur par défaut est 10240000 octets, soit environ 10 Mo. Cette limite concerne la taille complète du message, enveloppe comprise, et pas seulement la pièce jointe. Documentation officielle Postfix postconf(5). C’est un détail important : une pièce jointe de 8 Mo peut produire un email plus gros que 8 Mo, car l’encodage MIME/Base64 ajoute du poids. En pratique, l’email final peut être environ un tiers plus gros que le fichier attaché. Donc, si une sauvegarde SQL compressée pèse 9 Mo, elle peut tout à fait dépasser une limite Postfix de 10 Mo une fois transformée en pièce jointe email. Charmant, n’est-ce pas ? Vérifier la limite actuelle de Postfix Commencez par afficher la limite active : postconf message_size_limit Exemple de sortie : message_size_limit = 10240000 Pour afficher la valeur par défaut compilée dans Postfix : postconf -d message_size_limit Pour afficher uniquement les paramètres modifiés dans votre configuration : postconf -n | grep '^message_size_limit' Si cette dernière commande ne retourne rien, Postfix utilise probablement sa valeur par défaut. Augmenter la limite de taille des messages Pour augmenter la limite à 50 Mo, utilisez postconf -e. C’est plus propre que d’éditer main.cf à la main, car Postfix écrit lui-même la directive au bon format. sudo postconf -e 'message_size_limit = 52428800' 52428800 correspond à 50 MiB, soit 50 × 1024 × 1024 octets. Vous pouvez aussi utiliser 51200000 pour 50 millions d’octets. Les deux valeurs sont proches, mais la notation en MiB est plus rigoureuse. Rechargez ensuite Postfix : sudo systemctl reload postfix ou, si votre distribution ne supporte pas le reload via systemd : sudo postfix reload Vérifiez que la nouvelle limite est bien prise en compte : postconf message_size_limit Vous devriez obtenir : message_size_limit = 52428800 Quelle valeur choisir ? Une limite de 25 Mo ou 50 Mo suffit dans la plupart des cas. Monter beaucoup plus haut n’est pas forcément une bonne idée : les gros emails consomment plus de mémoire, plus de disque dans la file d’attente, plus de bande passante, et passent souvent mal chez les destinataires. Limite souhaitéeValeur PostfixCommande25 MiB26214400sudo postconf -e 'message_size_limit = 26214400'50 MiB52428800sudo postconf -e 'message_size_limit = 52428800'100 MiB104857600sudo postconf -e 'message_size_limit... --- ### Rsync : corriger l’erreur « protocol version mismatch — is your shell clean? » - **URL**: https://www.skyminds.net/rsync-is-your-shell-clean/ Lors d’une synchronisation avec rsync over SSH, il peut arriver de tomber sur cette erreur : TERM environment variable not set. protocol version mismatch -- is your shell clean? (see the rsync man page for an explanation) rsync error: protocol incompatibility (code 2) Le message est un peu cryptique, mais la cause est souvent simple : le shell distant affiche du texte au moment où rsync s’attend à parler uniquement avec le processus rsync distant. Autrement dit, la connexion SSH fonctionne, mais quelque chose pollue le flux : un echo, un message de bienvenue, une commande interactive, un script dans .bashrc, un fortune, un neofetch, un tput, une bannière, ou un message lancé depuis /etc/ssh/sshrc. Et rsync, lui, n’a aucun humour dans ce cas. Il lit du texte inattendu au lieu du protocole attendu, puis il répond : “is your shell clean?”. Traduction libre : “ton shell bavarde trop”. Pourquoi rsync affiche “is your shell clean?” Quand vous lancez une commande comme celle-ci : rsync -avz ./site/ user@example.com:/var/www/site/ rsync ouvre une connexion distante, souvent via SSH, puis démarre un autre processus rsync sur le serveur distant. Les deux processus échangent ensuite des données selon le protocole rsync. Si le shell distant imprime quelque chose avant le démarrage du rsync distant, le protocole est contaminé. Quelques caractères suffisent à casser l’échange. La documentation rsync explique que l’erreur “protocol version mismatch — is your shell clean?” vient généralement de scripts de démarrage ou de la couche shell distante qui produisent une sortie parasite sur le flux utilisé par rsync. La méthode de diagnostic recommandée consiste à lancer une commande distante silencieuse et à vérifier qu’elle ne produit aucune sortie. Tester si le shell distant est propre Le test le plus simple consiste à exécuter /bin/true sur le serveur distant via SSH. Cette commande ne doit rien afficher. ssh user@example.com /bin/true Si tout est propre, vous ne devez obtenir absolument aucune sortie. Pour capturer toute sortie parasite dans un fichier local : ssh user@example.com /bin/true > out.dat Puis vérifiez le fichier : cat -A out.dat Si out.dat contient du texte, des caractères invisibles, des codes couleur ANSI, une bannière, ou un message d’erreur, le shell distant n’est pas propre pour rsync. Vous pouvez aussi tester la présence de sortie sur stderr : ssh user@example.com /bin/true > out.dat 2> err.dat cat -A out.dat cat -A err.dat Le but est simple : pour une commande non interactive, le shell distant doit rester silencieux. Cause fréquente : du texte dans .bashrc La cause la plus classique se trouve dans ~/.bashrc, ~/.profile, ~/.bash_profile ou un fichier chargé depuis ces scripts. Exemples de lignes qui peuvent casser rsync : echo "Bienvenue sur le serveur" date uptime df -h neofetch screenfetch fortune tput setaf 2 printf "Serveur prêt\n" Ces commandes sont agréables lors d’une connexion SSH interactive. En revanche, elles sont toxiques pour les commandes automatisées comme rsync, scp, sftp, certains hooks Git ou des scripts de déploiement. Le manuel Bash précise que ~/.bashrc est lu lorsqu’un shell interactif... --- ### CSS : définir la largeur d’un champ texte proprement - **URL**: https://www.skyminds.net/taille-champ-texte-css/ Lorsqu’un champ texte déborde d’un formulaire, d’une barre de recherche ou d’un bloc latéral, on pense souvent que l’attribut HTML size suffit à régler le problème. En pratique, ce n’est pas le bon réflexe. Pour contrôler proprement la largeur d’un champ texte, il faut utiliser CSS : width, max-width, box-sizing, et parfois clamp() pour un comportement responsive. L’attribut HTML size définit le nombre de caractères visibles dans certains champs input. Il ne remplace pas une largeur CSS fiable dans une interface moderne. MDN précise que, pour un élément input, size correspond au nombre de caractères visibles pendant l’édition de la valeur. Le problème : un champ texte trop large Imaginons un champ de recherche placé dans une zone étroite : une sidebar, un menu mobile, un header, un widget WordPress ou un petit formulaire d’inscription. Le HTML ressemble souvent à ceci : Recherche On pourrait croire que size="15" force le champ à mesurer exactement quinze caractères de large. Pourtant, selon la police, le navigateur, les styles hérités, le padding, la bordure et le contexte du layout, le résultat peut varier. Et surtout, size ne règle pas le vrai problème : intégrer le champ dans une mise en page CSS. La bonne solution : définir la largeur en CSS Pour définir la largeur réelle d’un champ texte, utilisez la propriété CSS width. Par défaut, width définit la largeur de la zone de contenu. Avec box-sizing: border-box, elle définit plutôt la largeur totale, bordure et padding inclus. Exemple simple : #recherche { width: 15rem; } Ici, le champ mesure 15rem. L’unité rem se base sur la taille de police racine du document. C’est généralement plus prévisible que em, qui dépend de la taille de police de l’élément ou de son parent. Pour un champ de formulaire moderne, j’ajouterais presque toujours box-sizing: border-box : #recherche { box-sizing: border-box; width: 15rem; } Cette règle évite le grand classique : “j’ai défini une largeur, puis le padding et la bordure l’ont agrandie”. CSS adore ce genre de petite blague. Nous, un peu moins. Version responsive recommandée Dans une interface actuelle, un champ texte doit rester utilisable sur mobile. Une largeur fixe peut donc poser problème si l’écran ou le conteneur est plus étroit. La version la plus sûre consiste à combiner width: 100% et max-width : .search-form input[type="search"] { box-sizing: border-box; width: 100%; max-width: 20rem; } Avec cette approche, le champ peut prendre toute la largeur disponible, sans dépasser 20rem. Il s’adapte donc mieux aux sidebars, colonnes étroites, formulaires flexibles et menus mobiles. Pour un champ qui doit toujours rester contenu dans son parent, vous pouvez utiliser : .search-form input[type="search"] { box-sizing: border-box; width: 100%; max-width: 100%; } C’est particulièrement utile sur WordPress, où les styles du thème, des blocs, du formulaire de recherche et des extensions peuvent se superposer. Utiliser clamp() pour une largeur fluide Pour un champ qui doit varier proprement entre une largeur minimale et une largeur maximale, clamp() est très pratique. La fonction accepte trois valeurs : minimum, valeur préférée et... --- ### Récupérer l’espace disque d’une carte SD - **URL**: https://www.skyminds.net/recuperer-lespace-disque-dune-carte-sd/ Les cartes SD et microSD sont partout : appareils photo, caméras, drones, smartphones, Raspberry Pi, consoles portables, autoradios, laptops et lecteurs externes. Elles sont petites, pratiques, faciles à transporter, et leurs capacités ont énormément augmenté. Pourtant, il arrive un problème assez agaçant : vous supprimez des fichiers d’une carte SD, mais l’espace libre n’augmente pas. La carte semble toujours pleine, comme si les fichiers étaient encore là. Dans la plupart des cas, ils sont effectivement encore là. Ils ont simplement été déplacés dans une corbeille cachée sur la carte. Pourquoi la carte SD reste pleine après suppression des fichiers ? Quand vous supprimez un fichier depuis un gestionnaire de fichiers, le système ne l’efface pas forcément immédiatement. Très souvent, il le déplace dans une corbeille. Sur le disque interne de l’ordinateur, c’est généralement ce que l’on veut. Cela permet de récupérer un fichier supprimé par erreur. En revanche, sur une carte SD, une clé USB ou un disque externe, ce comportement peut surprendre. Le fichier disparaît bien du dossier visible, mais il reste stocké dans un dossier caché à la racine du volume. Résultat : la carte SD ne libère pas l’espace attendu. Selon le système utilisé, vous pouvez retrouver des dossiers cachés comme : .Trash-1000 sous Linux ; .Trashes sous macOS ; $RECYCLE.BIN sous Windows ; .fseventsd, .Spotlight-V100 ou ._* sur les volumes utilisés avec macOS. Le dossier exact dépend du système, du format de la carte et de l’utilisateur qui a supprimé les fichiers. Solution simple : vider la corbeille avant d’éjecter la carte La première solution est aussi la plus simple : après avoir supprimé les fichiers de la carte SD, videz la corbeille du système avant d’éjecter la carte. Sur Linux, ouvrez votre gestionnaire de fichiers, puis videz la corbeille. Sur macOS, videz la corbeille depuis le Dock. Sur Windows, videz la Corbeille depuis le bureau ou l’Explorateur. Le détail important : la carte SD doit rester branchée pendant que vous videz la corbeille. Si vous l’éjectez avant, les fichiers supprimés restent dans le dossier caché de la carte. Afficher les fichiers cachés sur la carte SD Si vider la corbeille ne suffit pas, affichez les fichiers cachés à la racine de la carte SD. Sous Linux, dans la plupart des gestionnaires de fichiers, utilisez : Ctrl + H Sous macOS Finder, utilisez : Cmd + Shift + . Sous Windows 11, ouvrez l’Explorateur de fichiers, puis activez l’affichage des éléments masqués depuis : Affichage ; Afficher ; Éléments masqués. Regardez ensuite à la racine de la carte. Si vous voyez un dossier .Trash-1000, .Trashes ou $RECYCLE.BIN, c’est probablement là que se trouve l’espace “perdu”. Supprimer la corbeille cachée sous Linux Sous Linux, les fichiers supprimés depuis un support externe peuvent être placés dans un dossier du type .Trash-1000. Le nombre correspond généralement à l’identifiant utilisateur Linux, souvent 1000 pour le premier compte créé. Si votre carte SD est montée dans /media/matt/SDCARD, vous pouvez vérifier l’espace utilisé avec : du -sh /media/matt/SDCARD/.Trash-* 2>/dev/null Pour supprimer cette... --- ### Ubuntu : installer la dernière version de GIMP - **URL**: https://www.skyminds.net/ubuntu-installer-la-derniere-version-de-gimp/ GIMP reste l’un des meilleurs éditeurs d’images libres disponibles sous Linux. Il permet de retoucher des photos, créer des compositions, travailler avec des calques, convertir des images et effectuer pas mal de tâches graphiques avancées sans passer par Photoshop. Sous Ubuntu 26.04 LTS, GIMP est disponible directement dans les dépôts officiels. Toutefois, comme souvent avec les distributions Linux, la version fournie par APT peut légèrement différer de la dernière version stable publiée par le projet GIMP. À l’heure où j’actualise cet article, Ubuntu 26.04 propose GIMP 3.2.2-1 dans le dépôt universe, tandis que la dernière version stable officielle de GIMP est GIMP 3.2.4, publiée le 17 avril 2026. UbuntuUpdates indique la version du paquet Ubuntu 26.04, et le site officiel de GIMP indique la version stable actuelle. Il existe donc deux méthodes propres selon votre besoin : installer GIMP depuis les dépôts Ubuntu, ou installer la dernière version stable via Flatpak. Méthode recommandée : installer GIMP depuis les dépôts Ubuntu Pour la plupart des utilisateurs, la méthode APT reste la plus simple. Elle installe une version bien intégrée au système, maintenue par Ubuntu, et mise à jour avec le reste des paquets. Commencez par mettre à jour la liste des paquets : sudo apt update Installez ensuite GIMP : sudo apt install gimp Une fois l’installation terminée, vérifiez la version installée : gimp --version Sur Ubuntu 26.04, cette méthode installe normalement la version packagée par Ubuntu, donc une version stable et correctement intégrée à l’environnement système. C’est la méthode que je recommande si vous voulez un GIMP fiable, cohérent avec votre installation Ubuntu, et mis à jour via le gestionnaire de paquets classique. Installer la toute dernière version de GIMP avec Flatpak Si vous voulez absolument la dernière version stable publiée par le projet GIMP, Flatpak est aujourd’hui la méthode la plus propre. Le projet GIMP propose officiellement une version Flatpak pour GNU/Linux, distribuée via Flathub. La page officielle de téléchargement de GIMP renvoie d’ailleurs vers cette méthode pour Linux. Installez d’abord Flatpak : sudo apt install flatpak Ajoutez ensuite le dépôt Flathub, s’il n’est pas déjà configuré : flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo Installez GIMP depuis Flathub : flatpak install flathub org.gimp.GIMP Puis lancez GIMP avec : flatpak run org.gimp.GIMP Vous pouvez aussi vérifier les informations du paquet Flatpak installé : flatpak info org.gimp.GIMP Cette méthode permet généralement d’obtenir la version stable la plus récente plus vite qu’avec les dépôts Ubuntu. Elle évite aussi les vieux PPA plus ou moins maintenus, qui étaient courants à l’époque de GIMP 2.x. Mettre à jour GIMP Si vous avez installé GIMP avec APT, la mise à jour se fait avec le reste du système : sudo apt update sudo apt upgrade Si vous avez installé GIMP avec Flatpak, utilisez plutôt : flatpak update org.gimp.GIMP Vous pouvez aussi mettre à jour toutes vos applications Flatpak d’un coup : flatpak update APT ou Flatpak : quelle méthode choisir ? Les deux méthodes sont valables, mais elles ne répondent pas exactement au même besoin. MéthodeAvantage... --- ### Linux et MacOS : lister tous les répertoires de plus de 500 Mo - **URL**: https://www.skyminds.net/linux-macos-lister-repertoires-de-plus-de-500-mo/ De temps en temps, il faut faire un peu de ménage sur son disque dur. Et, très souvent, le plus difficile n’est pas de supprimer les fichiers inutiles. Le plus difficile, c’est de trouver où ils se cachent. Entre le dossier Downloads, les archives oubliées, les exports vidéo, les sauvegardes temporaires et les vieux projets jamais rangés, l’espace disque peut fondre très vite. Heureusement, sous Linux et macOS, une simple commande permet de repérer les répertoires les plus lourds. Lister tous les répertoires de plus de 500 Mo Voici la commande que j’utilise pour lister tous les dossiers de plus de 500 Mo dans le dossier Downloads, en les classant du plus gros au plus petit : du -m ~/Downloads/* | awk '$1 > 500' | sort -nr La sortie ressemble généralement à ceci : 8450 /Users/matt/Downloads/export-video 3210 /Users/matt/Downloads/archive-client 1275 /Users/matt/Downloads/site-backup 642 /Users/matt/Downloads/photos En quelques secondes, vous obtenez donc une liste claire des dossiers qui méritent votre attention. C’est brutal, efficace, et ça évite de cliquer partout dans le Finder ou dans un gestionnaire de fichiers en espérant tomber sur le bon coupable. Explication de la commande Cette commande combine trois outils classiques : du, awk et sort. du signifie disk usage. Il permet d’afficher l’espace disque utilisé par des fichiers ou des répertoires. -m demande à du d’afficher les tailles en mégaoctets. ~/Downloads/* indique le chemin à analyser. Ici, on cible le contenu du dossier Téléchargements. awk '$1 > 500' filtre les résultats pour ne garder que les entrées dont la première colonne dépasse 500 Mo. sort -nr trie les résultats numériquement, en ordre décroissant. Le pipe | permet de chaîner les commandes. Le résultat de du est envoyé à awk, puis le résultat filtré est envoyé à sort. Autrement dit, la commande dit ceci : “calcule la taille de chaque élément dans ~/Downloads, garde seulement ceux qui dépassent 500 Mo, puis affiche les plus gros en premier”. Propre et net. Adapter le dossier à analyser Dans l’exemple précédent, la commande analyse le dossier Downloads. Toutefois, vous pouvez évidemment remplacer ce chemin par n’importe quel autre dossier. Pour analyser votre dossier utilisateur complet : du -m ~/* | awk '$1 > 500' | sort -nr Pour analyser le dossier courant : du -m ./* | awk '$1 > 500' | sort -nr Pour analyser le dossier /var sur un serveur Linux : sudo du -m /var/* | awk '$1 > 500' | sort -nr Le sudo peut être utile sur un serveur, car certains répertoires système ne sont pas lisibles avec un utilisateur standard. Afficher les tailles dans un format plus lisible La commande précédente affiche les tailles en mégaoctets. C’est parfait pour filtrer avec awk, mais ce n’est pas toujours le format le plus agréable à lire. Si vous voulez simplement afficher les tailles dans un format humain, vous pouvez utiliser -h : du -h ~/Downloads/* | sort -hr Vous obtiendrez alors des tailles comme 850M, 2.4G ou 12G. C’est plus lisible, mais moins pratique pour filtrer précisément... --- ### Postfix : corriger l’erreur verify_cache.db « possible Berkeley DB bug » - **URL**: https://www.skyminds.net/postfix-possible-berkeley-db-bug/ En consultant les logs d’un serveur mail Postfix, je suis tombé sur un message qui revenait régulièrement : close database /var/lib/postfix/verify_cache.db: No such file or directory (possible Berkeley DB bug) À première vue, le message fait un peu peur. On lit Berkeley DB bug, on pense base de données corrompue, puis on commence à imaginer le serveur mail en train de mâcher ses propres fichiers. Bonne nouvelle : dans la plupart des cas, ce n’est pas dramatique. Cette erreur concerne le cache de vérification d’adresses de Postfix. Lorsque Postfix utilise la vérification d’adresses, il peut stocker les résultats dans une base persistante. Ainsi, il évite de refaire les mêmes vérifications après un postfix reload ou un redémarrage du service. Le problème survient généralement lorsque Postfix tente d’utiliser le fichier verify_cache.db, mais que la configuration de la map de vérification n’est pas assez explicite. Le démon verify essaye alors de manipuler un cache qui n’existe pas encore, ou auquel le service n’accède pas correctement via proxymap. À quoi sert verify_cache.db dans Postfix ? Postfix peut vérifier une adresse expéditeur ou destinataire avant d’accepter définitivement un message. Il effectue alors une sorte de test SMTP, sans livrer réellement le courrier. Le résultat de cette vérification peut ensuite être conservé en cache. Ce cache évite de solliciter inutilement les mêmes serveurs distants. Il accélère aussi les décisions de Postfix lorsqu’une adresse a déjà été testée récemment. La documentation Postfix indique que le paramètre address_verify_map définit la base de données persistante utilisée pour ces résultats de vérification. Sans ce paramètre, les informations de vérification sont perdues après un postfix reload ou un arrêt du service. En clair : le fichier verify_cache.db n’est pas une boîte mail. Ce n’est pas non plus un fichier vital contenant vos messages. C’est un cache technique utilisé par Postfix pour garder en mémoire les résultats des vérifications d’adresses. Le message est-il grave ? Dans beaucoup de cas, non. Le message peut être sans conséquence immédiate. Le courrier continue de circuler, Postfix fonctionne, et aucune boîte mail ne disparaît dans un trou noir. Cela dit, un log qui répète la même erreur toutes les quelques minutes mérite correction. D’abord, parce qu’un journal propre facilite le diagnostic. Ensuite, parce qu’une configuration explicite de la base de vérification évite à Postfix de travailler avec un cache mal défini. Autrement dit, ce n’est pas forcément une urgence rouge clignotante, mais c’est le genre de petite anomalie qu’il vaut mieux corriger proprement. Solution : déclarer address_verify_map dans main.cf La solution consiste à déclarer explicitement la map utilisée par Postfix pour le cache de vérification d’adresses, puis à autoriser son écriture via proxy_write_maps. Commencez par éditer le fichier de configuration principal de Postfix : sudo nano /etc/postfix/main.cf Ajoutez ensuite les lignes suivantes : # Fix verify_cache.db warning. address_verify_map = proxy:btree:$data_directory/verify_cache proxy_write_maps = $smtp_sasl_auth_cache_name $lmtp_sasl_auth_cache_name $address_verify_map La ligne importante est celle-ci : address_verify_map = proxy:btree:$data_directory/verify_cache Elle indique à Postfix où stocker le cache persistant de vérification d’adresses. Ici, on utilise $data_directory, ce qui correspond normalement à... --- ### PHP : remplacer APC par OPcache et APCu sur un serveur Linux - **URL**: https://www.skyminds.net/php-remplacer-apc-opcache-apcu-serveur-linux/ À une époque, installer APC depuis SVN sur un serveur dédié pouvait avoir du sens. APC, pour Alternative PHP Cache, servait alors à accélérer PHP en mettant en cache le code compilé, mais aussi à stocker des données applicatives en mémoire. Ce temps est terminé. Aujourd’hui, il ne faut plus installer APC. Et encore moins depuis SVN, à la main, sur un serveur de production. Là, on n’optimise plus PHP : on invoque l’archéologie système. La pile moderne est simple : utilisez OPcache pour le cache d’opcode PHP, puis ajoutez APCu uniquement si votre application a besoin d’un cache utilisateur local. APC, OPcache, APCu : qui fait quoi ? Le point important est de ne pas confondre les trois noms. NomRôleStatut actuelAPCAncien cache d’opcode + cache utilisateurObsolète, à ne plus installerOPcacheCache d’opcode PHPSolution standard intégrée à PHPAPCuCache utilisateur en mémoire localeRemplacement moderne de la partie user cache d’APC OPcache améliore les performances en stockant en mémoire partagée le bytecode précompilé des scripts PHP. PHP n’a donc pas besoin de relire et recompiler les mêmes fichiers à chaque requête. APCu, lui, ne remplace pas OPcache. Il sert à stocker des valeurs applicatives en mémoire : résultats coûteux, fragments de données, petits états locaux, caches temporaires. Il ne met pas le code PHP en cache. En clair : OPcache pour le code, APCu pour les données. Pourquoi APC n’est plus la bonne solution APC appartenait au monde PHP 5 ancien. Il combinait deux fonctions : cache d’opcode et cache utilisateur. Depuis PHP 5.5, OPcache est devenu la solution intégrée pour le cache d’opcode. APC a donc perdu son rôle principal. Le problème d’APC aujourd’hui : il n’est plus adapté aux versions modernes de PHP ; il entre en concurrence conceptuelle avec OPcache ; il pousse à compiler des extensions à la main ; il complique les mises à jour serveur ; il ajoute de la dette technique inutile. Si un vieux projet réclame encore APC, vérifiez d’abord s’il accepte APCu. Beaucoup de vieux codes qui appelaient apc_store(), apc_fetch() ou apc_delete() peuvent migrer vers APCu avec une adaptation légère, parfois via une couche de compatibilité. Installer OPcache sur Ubuntu ou Debian Sur les installations PHP modernes, OPcache est souvent déjà installé ou disponible via le paquet PHP correspondant. Pour vérifier si OPcache est chargé : php -m | grep -i opcache Vous pouvez aussi vérifier depuis PHP : php -i | grep -i "opcache.enable" Sur Ubuntu ou Debian, installez le paquet adapté à votre version de PHP. Exemple avec PHP 8.3 : sudo apt update sudo apt install php8.3-opcache Si votre distribution utilise un paquet générique : sudo apt install php-opcache Redémarrez ensuite PHP-FPM ou Apache selon votre pile. Avec PHP-FPM : sudo systemctl reload php8.3-fpm Avec Apache mod_php : sudo systemctl reload apache2 Avec Nginx, c’est bien PHP-FPM qu’il faut recharger, pas Nginx, sauf si vous avez aussi modifié la configuration Nginx. Configurer OPcache proprement Le fichier de configuration dépend de votre distribution et de votre version de PHP. Sur Ubuntu/Debian avec... --- ### WordPress : mettre à jour le code Dailymotion - **URL**: https://www.skyminds.net/wordpress-dailymotion-oembed/ Cet article est le pendant de l’article qui explique comment remplacer le vieux code YouTube de vos articles WordPress par une URL oEmbed, mais cette fois pour Dailymotion. Sur d’anciens articles WordPress, on peut encore retrouver de vieux codes d’intégration Dailymotion en Flash, avec des balises , , ou des URL du type /swf/. Ces intégrations sont obsolètes. Flash a disparu, ces codes ne sont plus propres, et ils compliquent la maintenance du contenu. La solution moderne consiste à remplacer ces anciens blocs par une simple URL Dailymotion : https://www.dailymotion.com/video/x123abc WordPress peut ensuite transformer cette URL en lecteur intégré via oEmbed, à condition qu’elle soit seule sur sa ligne ou insérée dans un bloc d’intégration compatible. Pourquoi remplacer les anciens codes Dailymotion ? Les anciens codes Dailymotion ressemblaient souvent à ceci : ... ou : ... Le problème est triple : ces intégrations reposaient souvent sur Flash ; elles utilisent parfois du HTTP au lieu de HTTPS ; elles enferment l’URL utile dans du HTML difficile à maintenir. À la place, une URL Dailymotion propre suffit : https://www.dailymotion.com/video/x123abc Dailymotion prend en charge oEmbed : le principe consiste à fournir une URL de vidéo, puis à récupérer les informations nécessaires pour l’intégrer dans une page. Avant de commencer : faites une sauvegarde Avant toute opération de remplacement massif dans WordPress, faites une sauvegarde de la base de données. wp db export before-dailymotion-cleanup-$(date +%Y%m%d-%H%M%S).sql Si vous n’utilisez pas WP-CLI, exportez la base depuis votre outil habituel : phpMyAdmin, Adminer, sauvegarde hébergeur, ManageWP, Jetpack Backup, ou autre. Ensuite, testez les recherches en mode prévisualisation. Les expressions régulières sont puissantes, mais elles n’ont aucun humour lorsqu’elles détruisent du contenu. Elles sourient même un peu. Méthode recommandée : Search Regex On peut utiliser le plugin Search Regex pour WordPress, avec la case regex activée. Dans les exemples ci-dessous, j’utilise le signe dièse # comme délimiteur d’expression régulière. L’idée est de rechercher les vieux blocs Dailymotion, d’extraire l’identifiant de la vidéo, puis de remplacer le tout par une URL propre. Remplacer les anciens liens /swf/video/ de Dailymotion On commence par les anciens codes qui contiennent /swf/video/. C’est souvent la forme la plus explicite. On recherche : #]+data=["']https?://www\.dailymotion\.com/swf/video/([^"'\?&]+)[^"']*["'][\s\S]*?#i Et on remplace par : https://www.dailymotion.com/video/$1 Cette regex récupère l’identifiant de la vidéo après /swf/video/, puis reconstruit une URL Dailymotion moderne. Exemple de départ : Résultat : https://www.dailymotion.com/video/x123abc Remplacer les anciens liens /swf/ de Dailymotion On s’occupe maintenant des anciens codes qui contiennent seulement /swf/, sans /video/. On recherche : #]+data=["']https?://www\.dailymotion\.com/swf/([^"'\?&]+)[^"']*["'][\s\S]*?#i Et on remplace par : https://www.dailymotion.com/video/$1 Exemple de départ : ... Résultat : https://www.dailymotion.com/video/x123abc Remplacer les balises embed Dailymotion Certains vieux articles peuvent contenir une balise au lieu d’un bloc . Exemple : On recherche : #]+src=["']https?://www\.dailymotion\.com/swf/(?:video/)?([^"'\?&]+)[^"']*["'][^>]*>(?:)?#i Et on remplace par : https://www.dailymotion.com/video/$1 Cette expression prend en charge les deux formes : /swf/video/x123abc /swf/x123abc Remplacer les iframes Dailymotion anciens Certains contenus peuvent déjà contenir des iframes. Dans ce cas, il n’est pas forcément nécessaire de les remplacer si elles fonctionnent. Mais pour uniformiser le contenu WordPress, vous pouvez... --- ### Corriger l’erreur preg_match invalid range en PHP - **URL**: https://www.skyminds.net/php-solution-preg-match-invalid-range-in-character-class/ Lors d’une mise à jour PHP, un vieux site peut soudain afficher une erreur qui sent bon la regex fatiguée : preg_match(): Compilation failed: invalid range in character class at offset 20 Le message paraît obscur. Pourtant, la cause est souvent très simple : une expression régulière contient un tiret - mal placé dans une classe de caractères. Depuis PHP 7.3, PHP utilise PCRE2 pour les expressions régulières. Cette migration a rendu certains patterns plus stricts. Résultat : une regex qui passait silencieusement sur une ancienne version PHP peut échouer après une montée de version. Pourquoi cette erreur apparaît-elle ? Dans une expression régulière, les crochets définissent une classe de caractères. Par exemple : /[abc]/ Cette regex accepte un caractère parmi a, b ou c. Autre exemple : /[a-z]/ Ici, le tiret indique une plage : toutes les lettres de a à z. Le problème apparaît quand PHP rencontre un tiret à un endroit ambigu. Par exemple : /[\w-.]+/ Dans cette classe, le moteur PCRE2 peut interpréter le tiret comme un opérateur de plage entre \w et .. Cette plage n’a pas de sens. PHP refuse donc de compiler l’expression régulière. C’est pour cela que le message parle de Compilation failed. Le problème ne vient pas de la chaîne testée. Il vient du pattern lui-même. La correction la plus claire : échapper le tiret La correction la plus lisible consiste à échapper le tiret avec un antislash : /[\w\-.]+/ Dans cette version, \- indique clairement que le tiret doit être traité comme un caractère littéral, et non comme une plage. Exemple PHP complet : --- ### Installer un serveur FTPS avec FileZilla Server - **URL**: https://www.skyminds.net/installer-serveur-ftps-filezilla-server/ Créer son propre serveur FTPS avec FileZilla Server FileZilla Server permet de transformer une machine Windows en serveur de transfert de fichiers. Historiquement, on parlait simplement de “serveur FTP”. Aujourd’hui, il faut être plus précis : évitez le FTP en clair et configurez plutôt FTPS, c’est-à-dire FTP avec chiffrement TLS. Le FTP classique transmet les identifiants et les données sans chiffrement. Sur un réseau privé, c’est déjà moyen. Sur Internet, c’est non. FileZilla Server reste utile, mais uniquement avec une configuration propre : comptes limités, répertoires précis, mode passif, ports contrôlés et certificat TLS. FTP, FTPS ou SFTP : lequel choisir ? Avant d’installer quoi que ce soit, clarifions les termes. ProtocoleChiffrementPort courantÀ utiliser ?FTPNon21À éviter sur InternetFTPS expliciteOui, via TLS21 + ports passifsOui, avec bonne configurationFTPS impliciteOui, via TLS990Moins courant aujourd’huiSFTPOui, via SSH22Très bon choix sur serveur Linux FileZilla Server fournit un serveur FTP/FTPS. Il ne fournit pas un serveur SFTP classique basé sur SSH. Si vous administrez un serveur Linux, SFTP via OpenSSH sera souvent plus simple et plus robuste. Si vous êtes sur Windows et que vous voulez rester dans l’écosystème FileZilla, configurez FTPS explicite. Quand FileZilla Server est une bonne idée FileZilla Server peut être utile pour : échanger des fichiers entre plusieurs machines ; recevoir des fichiers volumineux de clients ou collègues ; donner un accès temporaire à un dossier précis ; centraliser des dépôts de fichiers sur une machine Windows ; remplacer un partage réseau peu pratique à travers Internet. En revanche, évitez d’en faire une porte permanente vers tout votre disque dur. Un serveur de fichiers exposé sur Internet doit rester minimaliste. Il doit montrer uniquement ce qu’il doit montrer, rien de plus. Étape 1 : télécharger FileZilla Server depuis le site officiel Téléchargez FileZilla Server depuis le site officiel du projet FileZilla. Évitez les plateformes de téléchargement douteuses, les installeurs repackagés et les archives sorties d’un forum de 2008. On aime la nostalgie, mais pas à ce point. Pendant l’installation, FileZilla Server peut être installé comme service Windows. C’est généralement le bon choix si le serveur doit rester disponible même après un redémarrage. Service démarré automatiquement : utile pour un serveur permanent. Service démarré manuellement : préférable pour un usage ponctuel. Interface d’administration : utilisée pour configurer les utilisateurs, dossiers, ports et réglages TLS. Pour un serveur exposé sur Internet, évitez de laisser l’interface d’administration accessible depuis l’extérieur. Elle doit rester locale, sauf besoin très spécifique et configuration verrouillée. Étape 2 : créer un groupe d’utilisateurs Dans FileZilla Server, commencez par créer un groupe. C’est plus propre que de configurer les droits utilisateur par utilisateur. Ouvrez l’interface d’administration de FileZilla Server. Allez dans la gestion des utilisateurs et groupes. Créez un groupe, par exemple clients_upload. Associez à ce groupe un dossier partagé précis. Attribuez les droits nécessaires, sans excès. Le dossier partagé doit être dédié au serveur FTPS. Ne partagez pas votre bureau Windows, votre dossier utilisateur complet ou un disque entier. C’est pratique pendant trois minutes, puis catastrophique le jour où... --- ### Créer une adresse DDNS pour accéder à son serveur à distance - **URL**: https://www.skyminds.net/creer-adresse-ddns-ip-dynamique/ Une adresse DDNS permet d’associer un nom facile à retenir à une adresse IP qui change. Au lieu de retenir une adresse comme 80.26.45.89, vous utilisez un nom du type monserveur.example.net, maison.no-ip.info ou radio.example.com. C’est pratique pour accéder à un serveur personnel, un NAS, une caméra IP, une interface domotique, un serveur de jeu, une machine de test ou une webradio. À l’époque, on parlait surtout de “redirection DynDNS”. Aujourd’hui, le terme le plus juste est DDNS, pour Dynamic DNS. Le principe reste le même, mais les services, les routeurs et les bonnes pratiques ont changé. À quoi sert le DDNS ? Votre fournisseur d’accès peut changer votre adresse IP publique. Si vous hébergez un service chez vous, ce changement casse l’accès depuis l’extérieur. Le DDNS résout ce problème avec trois éléments : un nom d’hôte public, par exemple maison.no-ip.info ; un client DDNS installé sur votre routeur, votre NAS ou un ordinateur ; une mise à jour automatique du DNS quand votre IP publique change. Lorsque l’IP change, le client DDNS prévient le fournisseur DNS. Le nom d’hôte continue alors de pointer vers la bonne connexion. DynDNS : que reste-t-il de l’ancienne méthode ? L’ancien tutoriel utilisait DynDNS, très populaire dans les années 2000. À l’époque, on pouvait créer gratuitement plusieurs redirections du type monnom.dyndns.org. Ce modèle n’est plus celui que je recommanderais en premier aujourd’hui. Dyn appartient désormais à l’écosystème Oracle, et le service Dynamic DNS officiel n’a plus grand-chose à voir avec l’ancien service gratuit historique. Pour un usage personnel, je regarderais plutôt No-IP, Dynu, DuckDNS, FreeDNS ou une solution Cloudflare si vous possédez déjà votre propre nom de domaine. Quelle solution choisir aujourd’hui ? Le bon choix dépend surtout de votre besoin. BesoinSolution conseilléePourquoiAdresse gratuite rapideNo-IP, Dynu, DuckDNSSimple à mettre en place, souvent compatible avec les routeursNom de domaine personnelCloudflare DNS + APIPropre, fiable, sans sous-domaine imposéNAS Synology ou QNAPDDNS intégré au NASConfiguration directe dans l’interface du NASRouteur compatible DDNSClient DDNS du routeurLa mise à jour continue même si votre ordinateur est éteintServeur Linuxddclient ou script APIAutomatisable, robuste, journalisable Pour un usage simple, No-IP reste une option accessible. Le service gratuit propose un nom d’hôte, les mises à jour DDNS et des redirections web ou port 80. Pour un usage plus propre avec votre propre domaine, Cloudflare est souvent plus élégant. Méthode 1 : créer une adresse DDNS avec No-IP No-IP permet de créer un nom d’hôte gratuit, par exemple votrenom.no-ip.info. Ce nom pointera ensuite vers votre adresse IP publique. Créez un compte sur No-IP. Ajoutez un nom d’hôte. Choisissez un domaine proposé par No-IP. Laissez le type d’enregistrement sur DNS Host (A) pour une adresse IPv4. Validez la création de l’hôte. Configurez ensuite la mise à jour automatique via votre routeur, votre NAS ou le client No-IP. Le nom d’hôte existe alors, mais ce n’est que la moitié du travail. Il faut encore que votre box, votre routeur ou une machine locale mette l’adresse IP à jour automatiquement. J’ai aussi un guide dédié si vous... --- ### Linux : obtenir la valeur numérique du chmod - **URL**: https://www.skyminds.net/linux-obtenir-valeur-numerique-chmod/ Je vous ai déjà parlé du chmod et du chown de manière extensive, mais aujourd’hui on va un tout petit peu plus loin. Lorsque l’on affiche les permissions d’un fichier avec ls -l, on obtient une notation symbolique du type : -rw-r----- C’est lisible quand on a l’habitude, mais cela demande toujours une petite gymnastique mentale pour retrouver la valeur numérique du chmod. Par exemple, -rw-r----- correspond à : 640 Heureusement, il existe une commande toute simple pour afficher directement la valeur numérique des permissions : stat. Obtenir la valeur numérique du chmod avec stat Sous Linux, avec la version GNU de stat, utilisez : stat -c '%a %U:%G %n' * Exemple de résultat : 644 matt:www-data index.php 640 matt:www-data wp-config.php 755 matt:www-data wp-content Les options utilisées sont les suivantes : -c permet de formater la sortie avec le modèle fourni ; %a affiche les permissions en octal, donc la valeur numérique du chmod ; %U affiche le nom du propriétaire ; %G affiche le groupe propriétaire ; %n affiche le nom du fichier. La documentation GNU Coreutils liste justement ces séquences de format pour stat, dont %a pour les bits de permission en octal, %U pour le propriétaire, %G pour le groupe et %n pour le nom du fichier. Afficher chmod, propriétaire et fichier sur une ligne Pour auditer rapidement un dossier, cette commande est très pratique : stat -c '%a %U:%G %n' * Si vous voulez inclure les fichiers cachés, utilisez plutôt : stat -c '%a %U:%G %n' .[!.]* * Attention : selon le dossier, ce motif peut produire une erreur si aucun fichier caché ne correspond. Ce n’est pas grave, mais ce n’est pas très élégant. Une version plus robuste avec find est souvent préférable. Afficher les permissions récursivement avec find Pour lister les permissions numériques de tous les fichiers et dossiers récursivement : find . -printf '%m %u:%g %p\n' Exemple : 755 matt:www-data . 644 matt:www-data ./index.php 640 matt:www-data ./wp-config.php 755 matt:www-data ./wp-content 755 matt:www-data ./wp-content/uploads Dans find -printf : %m affiche les permissions en octal ; %u affiche l’utilisateur propriétaire ; %g affiche le groupe propriétaire ; %p affiche le chemin du fichier. Le manuel GNU Findutils documente -printf et ses directives, notamment l’affichage des permissions, du propriétaire, du groupe et du chemin. Limiter l’affichage aux fichiers Pour afficher uniquement les fichiers : find . -type f -printf '%m %u:%g %p\n' Pour afficher uniquement les dossiers : find . -type d -printf '%m %u:%g %p\n' Pour limiter à la profondeur du dossier courant : find . -maxdepth 1 -printf '%m %u:%g %p\n' C’est souvent plus lisible qu’un simple stat * lorsque le dossier contient beaucoup de fichiers. Équivalent sur macOS ou BSD Attention : la commande stat n’a pas la même syntaxe sous Linux GNU et sous macOS/BSD. Sous Linux : stat -c '%a %U:%G %n' fichier Sous macOS ou BSD : stat -f '%Lp %Su:%Sg %N' fichier Exemple pour tout le dossier courant sous macOS : stat -f '%Lp %Su:%Sg %N' * Sur macOS/BSD,... --- ### Linux Mint : changer la cible des dossiers par défaut - **URL**: https://www.skyminds.net/linux-mint-changer-cible-des-dossiers/ Par défaut, Linux Mint crée plusieurs dossiers utilisateur dans le répertoire personnel : Bureau, Téléchargements, Documents, Images, Musique, Vidéos, etc. Ces dossiers sont pratiques, car l’environnement de bureau et beaucoup d’applications savent les retrouver automatiquement. Par exemple, un navigateur peut proposer Téléchargements par défaut, un gestionnaire de fichiers peut afficher Images dans la barre latérale, et certaines applications peuvent enregistrer dans Documents. Mais il arrive que l’on veuille changer la cible de ces dossiers pour les faire pointer vers une autre partition, un second SSD, un disque externe, un dossier synchronisé ou un partage réseau. Sous Linux Mint, comme sur beaucoup d’environnements de bureau Linux, ces chemins sont gérés par xdg-user-dirs. Le fichier user-dirs.dirs La configuration utilisateur se trouve ici : $HOME/.config/user-dirs.dirs Pour l’éditer : nano "$HOME/.config/user-dirs.dirs" Voici un exemple de fichier en français : # This file is written by xdg-user-dirs-update # If you want to change or add directories, just edit the line you're # interested in. All local changes will be retained on the next run. # Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped # homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an # absolute path. No other format is supported. XDG_DESKTOP_DIR="$HOME/Bureau" XDG_DOWNLOAD_DIR="$HOME/Téléchargements" XDG_TEMPLATES_DIR="$HOME/Modèles" XDG_PUBLICSHARE_DIR="$HOME/Public" XDG_DOCUMENTS_DIR="$HOME/Documents" XDG_MUSIC_DIR="$HOME/Musique" XDG_PICTURES_DIR="$HOME/Images" XDG_VIDEOS_DIR="$HOME/Vidéos" Le commentaire du fichier est important : deux formats sont supportés. un chemin relatif à $HOME, comme $HOME/Documents ; un chemin absolu, comme /mnt/data/Documents. N’utilisez pas de formats exotiques dans ce fichier. Pas de ~, pas de variables maison, pas de commande shell. Gardez des chemins simples. Le fichier n’est pas un terrain de freestyle, même s’il ressemble vaguement à du shell. Exemple : déplacer Documents et Téléchargements vers une autre partition Imaginons que votre second disque soit monté dans : /mnt/data Créez d’abord les dossiers cibles : mkdir -p /mnt/data/Documents mkdir -p /mnt/data/Téléchargements mkdir -p /mnt/data/Images mkdir -p /mnt/data/Vidéos Vérifiez que votre utilisateur peut écrire dedans : touch /mnt/data/Documents/test-write rm /mnt/data/Documents/test-write Ensuite, modifiez ~/.config/user-dirs.dirs : XDG_DOCUMENTS_DIR="/mnt/data/Documents" XDG_DOWNLOAD_DIR="/mnt/data/Téléchargements" XDG_PICTURES_DIR="/mnt/data/Images" XDG_VIDEOS_DIR="/mnt/data/Vidéos" Après déconnexion/reconnexion, les applications compatibles XDG utiliseront ces nouveaux chemins. Méthode propre : utiliser xdg-user-dirs-update On peut aussi utiliser la commande xdg-user-dirs-update, qui est faite pour cela. Par exemple, pour changer le dossier des téléchargements : xdg-user-dirs-update --set DOWNLOAD "/mnt/data/Téléchargements" Pour les documents : xdg-user-dirs-update --set DOCUMENTS "/mnt/data/Documents" Pour les images : xdg-user-dirs-update --set PICTURES "/mnt/data/Images" La page de manuel de xdg-user-dirs-update indique que l’outil sert à mettre à jour les dossiers utilisateur XDG selon la locale, et qu’il peut être lancé automatiquement au démarrage d’une session utilisateur. Les noms attendus sont en anglais, même si vos dossiers sont en français : DESKTOP DOWNLOAD TEMPLATES PUBLICSHARE DOCUMENTS MUSIC PICTURES VIDEOS Donc on écrit bien : xdg-user-dirs-update --set DOWNLOAD "/mnt/data/Téléchargements" et non : xdg-user-dirs-update --set TÉLÉCHARGEMENTS "/mnt/data/Téléchargements" Le terminal est très ouvert d’esprit, mais pas à ce point. Afficher les dossiers XDG actuels Pour afficher le fichier actuel : cat "$HOME/.config/user-dirs.dirs" Pour connaître un dossier précis avec xdg-user-dir : xdg-user-dir DOWNLOAD xdg-user-dir DOCUMENTS xdg-user-dir PICTURES xdg-user-dir DESKTOP Exemple : xdg-user-dir DOWNLOAD Résultat possible : /mnt/data/Téléchargements C’est la méthode... --- ### MariaDB : réparer les tables système après une mise à jour - **URL**: https://www.skyminds.net/mariadb-resoudre-erreur-column-count-of-mysql-proc-is-wrong/ Sur l’un des serveurs de mes clients Codeable, j’ai mis à jour MariaDB de la version 10.1 à la version 10.3. Après la mise à jour, MariaDB fonctionnait encore et le site s’affichait correctement, mais certaines procédures SQL retournaient cette erreur : ERROR 1558 (HY000): Column count of mysql.proc is wrong. Expected 21, found 20. Created with MariaDB 100212, now running 100303. Please use mysql_upgrade to fix this error Cette erreur peut apparaître après une mise à jour majeure de MariaDB lorsque les tables système internes n’ont pas encore été mises à niveau. En clair : le serveur MariaDB a été mis à jour, mais la base système mysql contient encore des tables dans l’ancien format. Comprendre l’erreur “Column count of mysql.proc is wrong” Le message indique que la table système mysql.proc n’a pas la structure attendue par la version actuelle de MariaDB. Dans l’exemple : Expected 21, found 20 MariaDB attend une table avec 21 colonnes, mais la table existante n’en possède que 20. Elle a été créée avec une ancienne version, puis le serveur a été lancé avec une version plus récente. MariaDB documente l’erreur 1558 comme un signe probable qu’une mise à jour n’a pas été effectuée correctement, car l’une des tables système ne correspond pas à la taille attendue par la version en cours. La documentation indique que mariadb-upgrade règle généralement ce problème. MariaDB : Error 1558 Cette erreur apparaît souvent lors de l’utilisation de : procédures stockées ; fonctions stockées ; triggers ; events ; outils d’export ; interfaces d’administration comme phpMyAdmin, Plesk ou scripts maison. Le site peut donc continuer à fonctionner en apparence, tout en ayant une base système incomplètement migrée. C’est le genre d’erreur discrète qui attend poliment le bon moment pour casser un export. Très courtois, très SQL. La solution moderne : lancer mariadb-upgrade Sur une installation MariaDB moderne, utilisez : sudo mariadb-upgrade Ou, si votre utilisateur root MariaDB nécessite un mot de passe : mariadb-upgrade -u root -p Sur les anciennes installations, la commande était : mysql_upgrade -u root -p MariaDB indique que depuis MariaDB 10.5, le client s’appelle mariadb-upgrade, tout en restant parfois accessible via l’ancien nom mysql_upgrade sous forme de symlink ou de binaire alternatif selon les plateformes. MariaDB : mysql_upgrade La documentation de mariadb-upgrade précise qu’il faut l’exécuter après une mise à jour majeure de MySQL/MariaDB vers une autre version majeure, et qu’il est aussi sûr de l’exécuter après une mise à jour mineure : s’il n’y a rien à modifier, rien n’est changé. MariaDB : mariadb-upgrade Redémarrer MariaDB après l’upgrade Après l’exécution de mariadb-upgrade, redémarrez MariaDB : sudo systemctl restart mariadb Sur une ancienne installation MySQL/MariaDB dont le service s’appelle encore mysql : sudo systemctl restart mysql Ou, sur un très vieux système : sudo service mysql restart Ensuite, vérifiez le statut : systemctl status mariadb --no-pager systemctl status mysql --no-pager Et relisez les derniers logs : journalctl -u mariadb -n 100 --no-pager journalctl -u mysql -n 100 --no-pager Vérifier les versions avant et après Avant... --- ### MySQL/MariaDB : vérifier et réparer les tables après un crash - **URL**: https://www.skyminds.net/bash-reparer-les-tables-mysql-en-cas-de-crash/ Il arrive parfois qu’une table SQL soit endommagée après un crash serveur, une coupure brutale, un disque plein, une migration ratée ou un arrêt non propre de MySQL/MariaDB. Sur un site WordPress, cela peut se traduire par une erreur de connexion à la base, des requêtes qui échouent, des tables marquées comme “crashed”, ou des messages dans les logs MySQL/MariaDB. À l’époque, j’avais écrit un petit script Bash qui stoppait MySQL, lançait myisamchk sur toutes les tables .MYI, puis relançait MySQL, Apache et Varnish. Cette méthode pouvait dépanner sur de vieilles bases en MyISAM. Aujourd’hui, elle doit être utilisée avec beaucoup plus de prudence, car la plupart des tables modernes sont en InnoDB. Et InnoDB ne se répare pas avec myisamchk. L’ancien script myisamchk Voici l’ancien script de dépannage : #!/bin/sh # MySQL Auto-Repair # Written by Matt - skyminds.net # Stop the MySQL server. /etc/init.d/mysql stop # Check for errors. myisamchk /var/lib/mysql/*/*.MYI # Ask permission to repair. read -p "Repair tables ? (y/n)" -n 1 -r if [[ $REPLY =~ ^[Yy]$ ]] then # Repair everything. myisamchk -r /var/lib/mysql/*/*.MYI # Restart servers. /etc/init.d/mysql restart /etc/init.d/apache2 restart /etc/init.d/varnish restart else /etc/init.d/mysql restart fi Ce script a deux limites importantes aujourd’hui : il ne traite que les tables MyISAM, c’est-à-dire les fichiers .MYI ; il arrête brutalement toute la base avant de réparer toutes les tables, sans diagnostic précis. MySQL documente myisamchk comme un outil destiné aux tables MyISAM, dont les fichiers utilisent les extensions .MYI et .MYD. Donc, si vos tables sont en InnoDB, ce script ne les réparera pas. Il passera à côté du vrai problème avec une confiance admirable, ce qui est rarement ce que l’on souhaite pendant un incident. MyISAM ou InnoDB : commencer par identifier le moteur Avant toute réparation, il faut savoir quels moteurs de stockage sont utilisés. Connectez-vous à MySQL ou MariaDB : sudo mysql ou : sudo mariadb Puis listez les moteurs utilisés par vos tables : SELECT TABLE_SCHEMA, ENGINE, COUNT(*) AS tables_count FROM information_schema.TABLES WHERE TABLE_SCHEMA NOT IN ('information_schema', 'performance_schema', 'mysql', 'sys') GROUP BY TABLE_SCHEMA, ENGINE ORDER BY TABLE_SCHEMA, ENGINE; Pour un site WordPress moderne, vous devriez voir surtout : InnoDB Si vous voyez encore des tables MyISAM, elles peuvent venir d’un vieux site, d’un ancien plugin, d’une migration historique ou d’une table personnalisée. MySQL 8.4 indique qu’InnoDB est le moteur par défaut, et qu’il faut généralement spécifier explicitement ENGINE=MyISAM pour créer une table MyISAM. Ne pas utiliser myisamchk sur InnoDB myisamchk ne répare pas les tables InnoDB. Les tables InnoDB ne fonctionnent pas comme les anciennes tables MyISAM. Elles utilisent un moteur transactionnel, des journaux, un tablespace, de la récupération après crash, et une logique interne différente. MariaDB indique que REPAIR TABLE fonctionne pour Archive, Aria, CSV et MyISAM. Pour InnoDB, la documentation renvoie vers les modes de récupération. Donc, si une table InnoDB est corrompue, la démarche consiste plutôt à : lire les logs MariaDB/MySQL ; vérifier l’état du disque ; essayer un démarrage normal ; faire un dump si... --- ### Linux : ajouter un utilisateur à un groupe sans supprimer ses droits - **URL**: https://www.skyminds.net/ubuntu-attention-a-la-commande-usermod/ Il m’est arrivé une mésaventure avec la commande usermod sous Linux. Dans un terminal, usermod sert à modifier un compte utilisateur : groupes, shell, répertoire personnel, nom de login, date d’expiration, etc. Le cas le plus courant consiste à ajouter un utilisateur à un groupe, par exemple pour lui donner accès à Docker, à des fichiers partagés, à un groupe système, ou à certaines permissions. Le problème, c’est que beaucoup d’exemples anciens donnent cette commande : sudo usermod -G groupname username Elle semble correcte. Elle ne l’est pas, sauf si vous voulez remplacer entièrement la liste des groupes secondaires de l’utilisateur. La bonne commande pour ajouter un utilisateur à un groupe sans lui retirer ses groupes actuels est : sudo usermod -aG groupname username Le petit -a change tout. Sans lui, -G définit la nouvelle liste de groupes supplémentaires. Avec lui, -G ajoute le groupe à la liste existante. Le piège de usermod -G Imaginons un utilisateur matt qui appartient déjà à plusieurs groupes : groups matt Résultat : matt : matt sudo adm cdrom dip plugdev lpadmin Si vous lancez : sudo usermod -G docker matt vous ne faites pas seulement “ajouter matt au groupe docker”. Vous remplacez ses groupes secondaires par docker. Après reconnexion, l’utilisateur peut donc perdre des groupes importants comme sudo, adm, lpadmin ou plugdev. Et là, c’est tout de suite moins drôle. Surtout si vous venez de vous retirer vos propres droits sudo. Grand classique, petit frisson. La syntaxe correcte : usermod -aG Pour ajouter un utilisateur à un groupe sans supprimer ses groupes existants, utilisez : sudo usermod -aG groupname username Exemple avec Docker : sudo usermod -aG docker matt Exemple avec le groupe www-data : sudo usermod -aG www-data matt Exemple avec plusieurs groupes à la fois : sudo usermod -aG docker,www-data,adm matt Attention : avec -G, les groupes sont séparés par des virgules, sans espaces. # Correct. sudo usermod -aG docker,www-data matt # Incorrect. sudo usermod -aG docker, www-data matt La documentation Ubuntu de usermod confirme que -a ajoute l’utilisateur aux groupes supplémentaires, et qu’il doit être utilisé avec -G. L’ordre des options : -aG ou -a -G Vous pouvez écrire : sudo usermod -aG groupname username ou : sudo usermod -a -G groupname username Ces deux formes sont correctes. En revanche, évitez les variantes ambiguës ou mal ordonnées. Gardez toujours le couple -aG ou -a -G. C’est simple, lisible, et cela évite de transformer un ajout de groupe en effacement de droits. Vérifier les groupes avant modification Avant de modifier les groupes d’un utilisateur, affichez sa configuration actuelle : id username ou : groups username Exemple : id matt Résultat possible : uid=1000(matt) gid=1000(matt) groups=1000(matt),27(sudo),4(adm),33(www-data) Gardez cette sortie sous les yeux avant de lancer usermod. Si quelque chose casse, vous aurez une référence claire. Vérifier les groupes après modification Après la commande : sudo usermod -aG docker matt vérifiez : id matt groups matt Mais attention : pour l’utilisateur déjà connecté, les nouveaux groupes ne s’appliquent pas toujours immédiatement à la... --- ### Logrotate : corriger l’erreur MySQL « unexpected operator » - **URL**: https://www.skyminds.net/cron-logrotate-script-3-unexpected-operator/ Depuis que j’ai déplacé les bases de données SQL sur une autre partition, logrotate semble avoir quelques soucis avec l’archivage des logs MySQL/MariaDB. Voici le message d’erreur complet reçu depuis cron.daily : /etc/cron.daily/logrotate: logrotate_script: 3: [: /var/run/mysqld/mysqld.pid: unexpected operator Ce message est un peu cryptique, mais le problème est simple : dans le script exécuté par logrotate, le test shell [ -f ... ] reçoit une valeur inattendue, souvent parce qu’une commande retourne plusieurs lignes au lieu d’un seul chemin de fichier PID. Résultat : le shell ne comprend plus l’expression et retourne unexpected operator. Comprendre l’erreur “unexpected operator” L’erreur vient généralement d’une ligne de ce type dans le fichier de rotation MySQL/MariaDB : if [ -f `my_print_defaults --mysqld | grep -oP "pid-file=\K[^$]+"` ]; then Le but de cette ligne est de récupérer le chemin du fichier PID de MySQL/MariaDB, puis de vérifier s’il existe. Le problème apparaît si la commande retourne plusieurs chemins ou plusieurs lignes. Le shell se retrouve alors avec une expression de ce type : if [ -f /var/run/mysqld/mysqld.pid /run/mysqld/mysqld.pid ]; then Or [ -f ... ] attend un seul chemin. Avec deux valeurs, il ne sait plus évaluer correctement le test. D’où l’erreur unexpected operator. C’est souvent lié à une configuration MySQL/MariaDB qui contient plusieurs directives pid-file, parfois après migration, installation depuis un dépôt externe, ou déplacement de datadir/logs. Vérifier ce que retourne my_print_defaults Avant de modifier quoi que ce soit, vérifiez ce que retourne la commande utilisée par le script : my_print_defaults --mysqld | grep 'pid-file' Vous pouvez aussi tester la regex exacte : my_print_defaults --mysqld | grep -oP "pid-file=\K[^$]+" Si la commande retourne plusieurs lignes, vous avez trouvé la cause. Exemple problématique : /var/run/mysqld/mysqld.pid /run/mysqld/mysqld.pid Le test shell reçoit deux chemins, et logrotate se prend les pieds dans le tapis. Pas violemment, mais assez pour vous envoyer un email à l’aube. Solution rapide : limiter grep au premier résultat La correction historique consiste à limiter grep à une seule correspondance avec l’option -m1. Éditez le fichier de configuration logrotate concerné : sudo nano /etc/logrotate.d/mysql-server Selon votre distribution, le fichier peut aussi s’appeler : /etc/logrotate.d/mysql /etc/logrotate.d/mariadb /etc/logrotate.d/mysql-server Recherchez la ligne suivante : if [ -f `my_print_defaults --mysqld | grep -oP "pid-file=\K[^$]+"` ]; then Et remplacez-la par : if [ -f `my_print_defaults --mysqld | grep -oPm1 "pid-file=\K[^$]+"` ]; then Le changement est minuscule : grep -oP grep -oPm1 L’option -m1 demande à grep de s’arrêter après la première correspondance. Le test [ -f ... ] reçoit donc un seul chemin et ne déclenche plus l’erreur. Correction plus lisible : stocker le PID file dans une variable Si vous modifiez un script vous-même, une version plus lisible consiste à éviter les backticks et à stocker le résultat dans une variable. pid_file="$(my_print_defaults --mysqld | grep -oPm1 'pid-file=\K[^$]+')" if [ -n "$pid_file" ] && [ -f "$pid_file" ]; then # actions post-rotation fi C’est plus robuste, plus lisible, et cela évite les surprises si le chemin contient des caractères inattendus. Cela dit, si le fichier appartient à un... --- ### MySQL : résoudre l’erreur « Access denied for user debian-sys-maint@localhost » - **URL**: https://www.skyminds.net/mysql-access-denied-for-user-debian-sys-maint-localhost/ Lors de la migration de bases de données d’un serveur à l’autre, j’ai déplacé la base mysql, qui contient les utilisateurs, les privilèges et une partie de la configuration interne du serveur SQL. Sur le papier, cela évite de recréer tous les comptes SQL à la main. En pratique, cela peut aussi déplacer des comptes système propres à l’ancien serveur et casser les comptes de maintenance du nouveau. C’est ainsi que l’on peut tomber sur cette erreur au démarrage ou à l’arrêt de MySQL : Access denied for user 'debian-sys-maint'@'localhost' (using password: YES) Ou encore : /usr/bin/mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)' Le problème vient généralement d’un décalage entre l’utilisateur SQL debian-sys-maint présent dans MySQL/MariaDB et le mot de passe stocké dans le fichier système /etc/mysql/debian.cnf. À quoi sert debian-sys-maint ? Sur certaines anciennes installations Debian/Ubuntu, le paquet MySQL créait un utilisateur spécial nommé debian-sys-maint. Cet utilisateur servait aux scripts de maintenance du paquet : vérifier l’état du serveur, recharger certaines informations, arrêter proprement MySQL, effectuer certaines tâches administratives, etc. Son mot de passe était stocké dans : /etc/mysql/debian.cnf Le wiki Evolix résume bien ce comportement : sur Debian 10 et inférieur, certaines tâches passent par l’utilisateur SQL debian-sys-maint, avec un mot de passe stocké dans /etc/mysql/debian.cnf. Evolix Wiki : Howto MySQL Sur des systèmes plus récents, surtout avec MariaDB et l’authentification par socket Unix, ce compte peut ne plus être présent ou ne plus être nécessaire. Il faut donc adapter le diagnostic à votre version réelle de MySQL/MariaDB. Pourquoi l’erreur apparaît après une migration Le cas classique est le suivant : Le nouveau serveur installe MySQL ou MariaDB. L’installation crée un fichier /etc/mysql/debian.cnf avec un mot de passe local. Vous restaurez la base système mysql depuis l’ancien serveur. Le compte SQL debian-sys-maint restauré possède l’ancien mot de passe. Le fichier /etc/mysql/debian.cnf du nouveau serveur contient un autre mot de passe. Les scripts de maintenance essaient de se connecter et obtiennent Access denied. Autrement dit : le fichier système et la base SQL ne sont plus synchronisés. C’est un tout petit fichier, mais il peut suffire à transformer un redémarrage MySQL en moment de solitude. Charmant, comme souvent avec les migrations. Première vérification : quelle version utilisez-vous ? Avant de réparer quoi que ce soit, vérifiez votre version SQL : mysql --version mysqld --version Ou, avec MariaDB : mariadb --version mariadbd --version Puis vérifiez le service : systemctl status mysql --no-pager systemctl status mariadb --no-pager Si vous êtes sur une ancienne Debian/Ubuntu avec MySQL, l’utilisateur debian-sys-maint peut être pertinent. Si vous êtes sur une installation MariaDB récente, le problème peut plutôt venir d’un vieux fichier de configuration, d’une restauration trop large de la base mysql, ou d’un script hérité. Vérifier le fichier /etc/mysql/debian.cnf Regardez si le fichier existe : sudo ls -l /etc/mysql/debian.cnf Affichez son contenu : sudo cat /etc/mysql/debian.cnf Sur une ancienne installation, il peut ressembler à ceci : [client] host = localhost user = debian-sys-maint password = mot-de-passe... --- ### Composer : résoudre file_put_contents composer.json Permission denied - **URL**: https://www.skyminds.net/composer-failed-to-open-stream-permission-denied/ J’ai récemment joué avec Composer pour gérer les dépendances d’un plugin WordPress, et il faut reconnaître que l’outil simplifie énormément la gestion du code tiers. Lors d’un changement de Mac, après import de mes anciennes données sur une nouvelle machine, j’ai obtenu ce message d’erreur : Composer: file_put_contents(./composer.json): failed to open stream: Permission denied Cette erreur signifie que Composer essaie d’écrire dans composer.json, ou dans le dossier courant, mais que l’utilisateur qui exécute la commande n’a pas les droits nécessaires. Le problème peut venir du dossier du projet, du fichier composer.json, du cache Composer, du dossier global Composer, ou d’un ancien usage de sudo composer qui a laissé des fichiers appartenant à root. Comprendre l’erreur Le message important est : failed to open stream: Permission denied Composer n’arrive pas à écrire dans le fichier demandé. Dans l’exemple : file_put_contents(./composer.json) Composer tente d’écrire dans composer.json, dans le dossier courant. Cela arrive souvent après : une migration de Mac ou de PC ; une restauration depuis une sauvegarde ; un changement d’utilisateur système ; une commande Composer lancée avec sudo ; un projet copié depuis un autre compte ; un dossier synchronisé via Dropbox, iCloud, NAS ou disque externe ; un projet créé dans un dossier appartenant à root ou à un autre utilisateur. Donc avant de corriger au marteau, on vérifie exactement quel dossier pose problème. Le marteau marche, certes, mais il a une mauvaise finesse de diagnostic. Première vérification : suis-je dans le bon dossier ? Commencez par vérifier le dossier courant : pwd Puis listez les droits du dossier et du fichier composer.json s’il existe : ls -ld . ls -l composer.json composer.lock 2>/dev/null Vous devez voir votre utilisateur comme propriétaire, par exemple : drwxr-xr-x 12 matt staff 384 6 mai 10:42 . -rw-r--r-- 1 matt staff 842 6 mai 10:42 composer.json Si vous voyez root ou un ancien utilisateur, Composer ne pourra pas forcément écrire dans le projet. Correction la plus fréquente : reprendre possession du dossier projet Si le dossier du projet appartient à un autre utilisateur, corrigez uniquement ce dossier. Depuis le dossier parent du projet : sudo chown -R "$USER" mon-projet Ou depuis le dossier du projet lui-même : sudo chown -R "$USER" . Sur macOS, on peut aussi préciser le groupe courant : sudo chown -R "$USER":staff . Sur Linux, le groupe porte souvent le même nom que l’utilisateur : sudo chown -R "$USER":"$USER" . Ensuite, relancez la commande Composer : composer install ou : composer require vendor/package Éviter la mauvaise correction : chown -R $USER ~ Dans l’ancienne version de cet article, je proposais : sudo chown -R $USER ~/.composer/ Cette commande peut encore être utile si le problème vient vraiment du dossier Composer global. Mais elle ne corrige pas un projet dont le dossier courant appartient à root. Évitez surtout les corrections trop larges du type : sudo chown -R "$USER" ~ C’est brutal, lent, et parfois dangereux. Votre dossier personnel peut contenir des fichiers qui doivent appartenir à d’autres utilisateurs ou... --- ### Serveur dédié : installer MariaDB sur Debian 13 - **URL**: https://www.skyminds.net/serveur-dedie-installation-de-mariadb-10-3/ Nous allons voir comment installer MariaDB proprement sur un serveur Debian moderne, avec deux approches : installer MariaDB depuis les dépôts Debian, solution la plus simple et la plus stable ; installer MariaDB depuis le dépôt officiel MariaDB, si l’on veut choisir précisément une branche. Pour un serveur Debian 13 Trixie classique, la première méthode suffit dans la majorité des cas : Debian fournit déjà MariaDB 11.8, qui correspond à la branche LTS actuelle chez MariaDB. MariaDB liste notamment MariaDB 11.8.6 comme version stable GA récente. MariaDB : latest releases Méthode recommandée : installer MariaDB depuis Debian Sur Debian 13 Trixie, le plus simple consiste à utiliser les dépôts Debian officiels. On met d’abord le système à jour : sudo apt update sudo apt upgrade Puis on installe MariaDB : sudo apt install mariadb-server mariadb-client On vérifie ensuite la version installée : mariadb --version mariadbd --version Sur Debian 13, le paquet mariadb-server est actuellement fourni en version 1:11.8.6-0+deb13u1, selon la fiche officielle du paquet Debian. Debian packages : mariadb-server dans Trixie On vérifie le statut du service : systemctl status mariadb --no-pager Si nécessaire, on l’active au démarrage : sudo systemctl enable --now mariadb Cette méthode est celle que je recommande pour la plupart des serveurs WordPress, WooCommerce, applications PHP ou sites classiques. Vous bénéficiez des mises à jour de sécurité Debian, sans empiler inutilement des dépôts externes. Sécuriser l’installation MariaDB Après l’installation, lancez l’assistant de sécurisation : sudo mariadb-secure-installation Selon la version et la distribution, l’assistant peut proposer de : définir ou modifier le mot de passe root MariaDB ; supprimer les utilisateurs anonymes ; désactiver la connexion root distante ; supprimer la base de test ; recharger les tables de privilèges. Sur Debian, l’utilisateur root MariaDB peut aussi utiliser l’authentification par socket Unix. Dans ce cas, sudo mariadb suffit souvent pour accéder au shell MariaDB sans mot de passe séparé. sudo mariadb On vérifie rapidement : SELECT VERSION(); Puis : EXIT; Créer une base et un utilisateur Pour créer une base de données et un utilisateur applicatif, ouvrez MariaDB : sudo mariadb Puis exécutez : CREATE DATABASE example_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'example_user'@'localhost' IDENTIFIED BY 'mot-de-passe-long-et-unique'; GRANT ALL PRIVILEGES ON example_db.* TO 'example_user'@'localhost'; FLUSH PRIVILEGES; EXIT; Pour WordPress, utf8mb4 est indispensable aujourd’hui. Cela permet de gérer correctement les emojis, caractères spéciaux, alphabets internationaux, et évite les surprises avec certains contenus. Vérifier la connexion locale Testez ensuite la connexion avec le nouvel utilisateur : mariadb -u example_user -p example_db Puis : SHOW DATABASES; EXIT; Si tout fonctionne, votre serveur MariaDB est prêt pour l’application. Méthode alternative : utiliser le dépôt officiel MariaDB Si vous voulez choisir une version MariaDB précise, vous pouvez utiliser le dépôt officiel MariaDB. MariaDB fournit un outil de configuration de dépôt et documente l’ajout de dépôts APT pour Debian 11 Bullseye, Debian 12 Bookworm, Debian 13 Trixie et d’autres distributions. MariaDB Documentation : installing MariaDB .deb files La méthode moderne consiste à utiliser le script officiel mariadb_repo_setup, qui configure le dépôt et... --- ### HTML : corriger les valeurs rel non reconnues par le validateur W3C - **URL**: https://www.skyminds.net/html5-keyword-publisher-is-not-registered/ Sur votre site ou blog, vous avez peut-être ajouté un lien vers un profil social, une page d’auteur, une page de vérification ou un service externe. Le problème, c’est que certains services demandent parfois d’ajouter une valeur particulière dans l’attribut rel. Or toutes les valeurs ne sont pas forcément reconnues par le validateur HTML. Vous pouvez alors obtenir une erreur de ce type dans le validateur W3C : Keyword publisher is not registered Ou, selon le cas : The string publisher is not a registered keyword or absolute URL. Cette erreur signifie que la valeur utilisée dans rel n’est pas reconnue comme un type de lien HTML valide ou comme une extension enregistrée. Ancien exemple : Google+ et rel="publisher" À l’époque, Google+ proposait d’ajouter un lien de ce type vers une page éditeur : Google+ Le validateur HTML pouvait alors renvoyer : Keyword publisher is not registered Google+ n’existe plus, et rel="publisher" n’a plus d’intérêt pratique pour un site moderne. Il vaut donc mieux remplacer cet exemple par un cas actuel : les liens de vérification de profil, notamment avec Mastodon. Exemple moderne : vérifier un profil Mastodon avec rel="me" Un cas actuel et utile consiste à ajouter un lien vers son profil Mastodon avec rel="me". Ce lien permet à Mastodon de vérifier que le profil social et le site web appartiennent à la même personne ou organisation. Exemple valide : Me suivre sur Mastodon La documentation Mastodon indique que la vérification de profil repose sur un lien retour depuis votre site contenant rel="me". Le lien peut se trouver sur votre site, puis être ajouté dans les champs de profil Mastodon. Documentation Mastodon : profile verification Ici, me est une valeur reconnue. Elle ne provoque donc pas l’erreur keyword is not registered. Pourquoi certaines valeurs de rel déclenchent une erreur L’attribut rel décrit la relation entre la page courante et la ressource liée. Par exemple : Lien externe indique au navigateur, aux moteurs ou aux outils d’analyse que le lien existe, mais qu’il est annoté avec la relation nofollow. MDN définit rel comme l’attribut qui indique la relation entre une ressource liée et le document courant. Il est valide sur les éléments link, a, area et form, mais les valeurs acceptées dépendent de l’élément utilisé. MDN : rel attribute Le validateur se plaint lorsque vous utilisez une valeur non reconnue, par exemple : Exemple Si publisher n’est pas reconnu comme valeur autorisée pour cet élément, le validateur retourne une erreur. Valeurs courantes de rel encore utiles Voici quelques valeurs modernes et courantes : nofollow : indique que le lien ne doit pas transmettre de signal classique de recommandation ; sponsored : identifie un lien publicitaire, sponsorisé ou affilié ; ugc : indique un lien généré par les utilisateurs ; noopener : empêche la page ouverte d’accéder à window.opener ; noreferrer : empêche l’envoi du référent ; me : indique qu’un lien représente la même personne ou entité ; author : pointe vers l’auteur du contenu ; canonical : indique l’URL... --- ### WordPress : récupérer les emails des utilisateurs et commentateurs - **URL**: https://www.skyminds.net/wordpress-liste-emails-membres-commentateurs/ Voici plusieurs méthodes pour récupérer la liste des adresses email des utilisateurs et des commentateurs d’un site WordPress. On peut le faire directement en SQL, avec WP-CLI, ou en exportant un fichier CSV. La meilleure méthode dépend de votre accès au serveur, du volume de données, du besoin exact, et du contexte dans lequel vous voulez utiliser ces emails. Petite précision avant de commencer : une adresse email est une donnée personnelle. Techniquement, l’export est simple. Juridiquement, l’usage doit rester conforme au consentement donné par les personnes et à votre politique de confidentialité. Pour une newsletter ou de la prospection, on ne mélange pas “a commenté un article en 2014” avec “a demandé à recevoir mes emails marketing”. La CNIL rappelle que, pour les particuliers, la prospection par email nécessite en principe un consentement préalable, libre, spécifique, éclairé et univoque. CNIL : prospection commerciale par courrier électronique Emails des membres WordPress Dans WordPress, les utilisateurs enregistrés sont stockés dans la table wp_users si le préfixe de base de données est wp_. Cette table contient notamment la colonne user_email. La documentation du schéma de base WordPress liste bien wp_users comme table des utilisateurs. WordPress Codex : Database Description La requête SQL la plus simple pour récupérer les emails des membres est : SELECT DISTINCT user_email FROM wp_users WHERE user_email '' ORDER BY user_email ASC; La clause DISTINCT évite les doublons. Le GROUP BY n’est pas nécessaire ici, car on ne fait pas d’agrégation. DISTINCT suffit. Si votre préfixe WordPress n’est pas wp_, adaptez le nom de table : SELECT DISTINCT user_email FROM monprefix_users WHERE user_email '' ORDER BY user_email ASC; Emails des commentateurs Les commentaires WordPress sont stockés dans la table wp_comments. L’adresse email du commentateur se trouve dans la colonne comment_author_email. WP-CLI expose d’ailleurs ce champ dans la commande wp comment list, ce qui confirme son usage courant côté WordPress. WP-CLI : wp comment list Pour récupérer les emails des commentateurs en excluant le spam : SELECT DISTINCT comment_author_email FROM wp_comments WHERE comment_author_email '' AND comment_approved 'spam' ORDER BY comment_author_email ASC; Je préfère toutefois une version plus stricte : ne récupérer que les emails des commentaires approuvés. SELECT DISTINCT comment_author_email FROM wp_comments WHERE comment_author_email '' AND comment_approved = '1' ORDER BY comment_author_email ASC; Cette requête évite les commentaires en attente, spam, corbeille ou autres statuts non approuvés. Pour une liste propre, c’est généralement mieux. Fusionner membres et commentateurs Si vous voulez récupérer une seule liste dédupliquée contenant à la fois les utilisateurs enregistrés et les commentateurs approuvés, utilisez UNION. SELECT email FROM ( SELECT user_email AS email FROM wp_users WHERE user_email '' UNION SELECT comment_author_email AS email FROM wp_comments WHERE comment_author_email '' AND comment_approved = '1' ) AS emails ORDER BY email ASC; UNION supprime les doublons par défaut. Si vous utilisez UNION ALL, les doublons seront conservés. Exporter avec WP-CLI : utilisateurs Si vous avez accès au serveur, WP-CLI est souvent plus confortable que SQL brut. La commande wp user list permet de lister les utilisateurs et propose notamment... --- ### BIND9 : corriger les logs EDNS UDP packet size 512 - **URL**: https://www.skyminds.net/bind9-reducing-the-advertised-edns-udp-packet-size/ Voici un autre message croisé dans les logs de BIND9, généralement dans /var/log/daemon.log, /var/log/syslog ou via journalctl : named: success resolving DOMAIN after reducing the advertised EDNS UDP packet size to 512 octets named: success resolving DOMAIN after disabling EDNS Ce message signifie que BIND a réussi à résoudre le domaine, mais seulement après avoir réduit la taille UDP EDNS annoncée, ou après avoir désactivé EDNS pour cette requête. Autrement dit : la résolution finit par fonctionner, mais le chemin réseau ou le serveur DNS distant ne gère pas correctement les requêtes EDNS avec une taille UDP plus grande. À l’époque, je m’étais contenté de masquer la catégorie de logs correspondante. Aujourd’hui, je préfère commencer par comprendre le problème, puis réduire le bruit seulement si le comportement est connu et sans impact. Comprendre EDNS et la limite historique de 512 octets Le DNS historique sur UDP utilisait une taille de message limitée à 512 octets. EDNS, pour Extension Mechanisms for DNS, permet notamment d’annoncer une taille UDP plus grande et d’ajouter des options modernes au protocole DNS. BIND peut donc envoyer des requêtes avec EDNS même si DNSSEC n’est pas activé. EDNS ne sert pas uniquement à DNSSEC, même si DNSSEC en dépend fortement pour transporter des réponses plus volumineuses. Le problème apparaît lorsqu’un serveur autoritaire, un firewall, un routeur, une middlebox ou un lien réseau gère mal ces paquets UDP plus grands. BIND essaie alors une taille plus petite, parfois jusqu’à 512 octets, ou finit par désactiver EDNS pour obtenir une réponse. L’ISC indiquait déjà que les versions supportées de BIND envoient des requêtes avec EDNS activé par défaut, et que certains équipements ou serveurs cassés peuvent provoquer ces messages de repli. Lire ISC Knowledge Base : BIND log messages about disabling EDNS. Pourquoi la valeur 1232 est devenue importante Pendant longtemps, beaucoup de résolveurs annonçaient une taille EDNS de 4096 octets. En pratique, cela pouvait provoquer de la fragmentation UDP et des échecs sur certains chemins réseau. DNS Flag Day 2020 a recommandé de réduire les tailles de buffers EDNS afin d’éviter les problèmes de fragmentation. La page DNS Flag Day 2020 donne par exemple cette configuration pour BIND : options { edns-udp-size 1232; max-udp-size 1232; }; Cette valeur de 1232 octets vise à limiter le risque de fragmentation sur les réseaux IPv6 et IPv4 encapsulés. DNS Flag Day 2020 Les versions modernes de BIND ont aussi évolué dans ce sens. L’ISC indique que, pour dig, la taille EDNS par défaut est passée de 4096 à 1232 octets à partir de BIND 9.18, conformément aux recommandations de DNS Flag Day 2020. ISC Knowledge Base : dig and EDNS buffer size Première étape : vérifier votre version de BIND Avant de modifier la configuration, vérifiez la version installée : named -v Ou : dig -v Sur Debian/Ubuntu : dpkg -l | grep bind9 Les versions modernes de BIND ont déjà des valeurs plus raisonnables que les anciennes. La documentation BIND 9.20 indique par exemple que edns-udp-size contrôle la taille... --- ### NginX : corriger « upstream sent too big header » - **URL**: https://www.skyminds.net/nginx-upstream-sent-too-big-header-while-reading-response/ Lors de la mise en ligne d’un nouveau site, je suis tombé sur une page qui ne fonctionnait pas. Côté navigateur, j’obtenais une erreur 502 Bad Gateway. Côté logs Nginx, le message était beaucoup plus explicite : upstream sent too big header while reading response header from upstream Ce message signifie que Nginx a bien reçu une réponse de l’upstream, par exemple PHP-FPM, mais que les en-têtes HTTP envoyés par cet upstream sont trop gros pour les buffers configurés. En clair : le backend répond, mais Nginx n’arrive pas à lire tous les headers de réponse dans l’espace mémoire prévu. Il coupe donc court et renvoie souvent une erreur 502. Comprendre l’erreur “upstream sent too big header” Dans une configuration PHP classique, Nginx reçoit les réponses depuis PHP-FPM via FastCGI. La réponse contient deux parties : les en-têtes HTTP, par exemple Set-Cookie, Location, Cache-Control ; le corps de la réponse, c’est-à-dire le HTML, JSON, XML, etc. L’erreur apparaît lorsque la partie “headers” dépasse la taille que Nginx peut lire avec la configuration actuelle. La documentation Nginx indique que fastcgi_buffer_size définit la taille du buffer utilisé pour lire la première partie de la réponse FastCGI, qui contient généralement une petite réponse avec les headers. Elle indique aussi que fastcgi_buffers définit le nombre et la taille des buffers utilisés pour lire la réponse complète de l’upstream FastCGI. Dans le cas d’un reverse proxy classique, le même problème peut exister, mais avec les directives proxy_buffer_size et proxy_buffers, pas avec fastcgi_buffer_size. Causes fréquentes Sur un site PHP, WordPress ou WooCommerce, cette erreur est souvent déclenchée par des headers trop nombreux ou trop volumineux. trop de cookies envoyés avec Set-Cookie ; un cookie de session énorme ; un plugin qui stocke trop de données dans un cookie ; un système SSO ou OAuth qui renvoie de très longs headers ; des headers de sécurité très verbeux ; une redirection qui ajoute beaucoup d’informations ; un framework qui empile les cookies flash/session ; une réponse PHP avec beaucoup de headers personnalisés ; un reverse proxy devant une application qui renvoie des headers trop gros. Sur WordPress/WooCommerce, je regarde d’abord les cookies. Un panier, une session, un plugin d’affiliation, un module de tracking ou un système de personnalisation peut vite transformer les headers en millefeuille. Et, comme souvent, le millefeuille finit mal côté infra. Diagnostic : vérifier l’erreur dans les logs Nginx Commencez par vérifier les logs Nginx : sudo tail -f /var/log/nginx/error.log Ou, si votre site possède un fichier de log dédié : sudo tail -f /var/log/nginx/example.com.error.log Vous devriez voir une ligne de ce type : 2026/05/06 10:42:15 [error] 12345#12345: *678 upstream sent too big header while reading response header from upstream, client: 203.0.113.10, server: example.com, request: "GET /mon-compte/ HTTP/2.0", upstream: "fastcgi://unix:/run/php/php8.3-fpm.sock:", host: "example.com" La partie importante est l’upstream : upstream: "fastcgi://unix:/run/php/php8.3-fpm.sock:" Ici, on sait que le problème concerne PHP-FPM via FastCGI. Il faut donc ajuster les directives fastcgi_*. Si vous voyez plutôt : upstream: "http://127.0.0.1:3000/..." alors Nginx agit comme reverse proxy HTTP. Il faut regarder... --- ### Serveur dédié : résoudre l’erreur « Can’t connect to local MySQL server through socket » - **URL**: https://www.skyminds.net/serveur-dedie-cant-connect-to-local-mysql-server-socket/ Après une mise à jour du serveur SQL, ou après un redémarrage physique du serveur, il est possible d’obtenir l’erreur suivante : error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)' Missing /var/run/mysqld/mysqld.sock On peut aussi la rencontrer sous cette forme : ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) Cette erreur signifie que le client MySQL essaie de se connecter à un socket Unix local, mais que le fichier mysqld.sock n’existe pas à l’emplacement attendu. Le problème peut avoir plusieurs causes : MySQL n’est pas démarré, le serveur écoute sur un autre socket, le répertoire /run/mysqld n’existe pas, ses permissions sont incorrectes, ou le service n’arrive pas à créer son socket au boot. Comprendre le rôle de mysqld.sock Sur Linux, une connexion locale à MySQL ou MariaDB peut passer par un socket Unix plutôt que par TCP/IP. Au lieu de se connecter à : 127.0.0.1:3306 le client utilise un fichier spécial, souvent situé ici : /var/run/mysqld/mysqld.sock ou, plus précisément sur les systèmes modernes : /run/mysqld/mysqld.sock Sur beaucoup de distributions, /var/run est un lien symbolique vers /run. Le répertoire /run est temporaire : son contenu est recréé à chaque démarrage. C’est précisément pour cela qu’un problème de création du dossier /run/mysqld peut réapparaître après un reboot. MySQL explique que le chemin du socket peut être défini avec l’option socket dans les fichiers de configuration, aussi bien dans une section serveur comme [mysqld] que dans une section client comme [client]. Première vérification : MySQL tourne-t-il vraiment ? Avant de corriger le socket, il faut vérifier que le serveur SQL est réellement démarré. Selon votre installation, le service peut s’appeler mysql, mysqld ou mariadb. systemctl status mysql --no-pager systemctl status mysqld --no-pager systemctl status mariadb --no-pager Sur les installations MySQL officielles, la documentation indique que systemd permet de gérer le serveur avec systemctl start|stop|restart|status mysqld, tandis que certaines distributions utilisent aussi la commande compatible service. Si le service est arrêté, tentez un démarrage : sudo systemctl start mysql ou : sudo systemctl start mariadb Si le service échoue, consultez les logs : sudo journalctl -u mysql -n 100 --no-pager sudo journalctl -u mariadb -n 100 --no-pager Si MySQL ne démarre pas du tout, le problème ne vient pas seulement du socket. Le socket est absent parce que le serveur n’a pas réussi à se lancer. Vérifier si le socket existe ailleurs Il arrive que MySQL fonctionne, mais que le client cherche le socket au mauvais endroit. On peut rechercher les sockets MySQL/MariaDB actifs : sudo find /run /var/run /tmp -type s -name '*mysql*.sock' -o -name '*mysqld*.sock' 2>/dev/null On peut aussi vérifier les sockets ouverts avec ss : sudo ss -xl | grep -E 'mysql|maria|mysqld' Si vous trouvez un socket ailleurs, par exemple : /tmp/mysql.sock alors le client et le serveur ne sont probablement pas configurés avec le même chemin. Vérifier la configuration du socket Sur Debian, Ubuntu et dérivés, les fichiers de configuration peuvent se trouver dans plusieurs emplacements : /etc/mysql/my.cnf /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/mariadb.conf.d/*.cnf /etc/my.cnf Pour... --- ### HTML5 : corriger l’erreur « The scrolling attribute on the iframe element is obsolete. Use CSS instead. » - **URL**: https://www.skyminds.net/html5-scrolling-attribute-iframe-is-obsolete/ Si, au détour d’une validation HTML de votre page, vous obtenez l’erreur suivante : The scrolling attribute on the iframe element is obsolete. Use CSS instead. … c’est que votre code contient un élément avec un attribut scrolling. Exemple classique : Cet attribut était utilisé pour indiquer si l’iframe devait afficher une barre de défilement. En HTML moderne, il est obsolète. Le standard HTML classe bien scrolling sur iframe parmi les fonctionnalités obsolètes, et les validateurs recommandent d’utiliser CSS à la place. Le problème : l’attribut scrolling sur iframe On trouvait souvent ce genre de code dans les anciennes intégrations : Le validateur HTML signale alors une erreur, car scrolling ne fait plus partie des attributs conformes pour . En clair, le navigateur peut encore l’interpréter par compatibilité, mais le code n’est plus valide. La première correction consiste donc à supprimer l’attribut : Mais cela ne suffit pas toujours à reproduire exactement l’ancien comportement. C’est là que CSS entre en scène. Remplacer scrolling par CSS L’idée générale est de gérer l’affichage avec CSS plutôt qu’avec un attribut HTML de présentation. On peut commencer avec une classe CSS dédiée : Puis le CSS : .embed-frame { width: 100%; height: 400px; border: 0; overflow: hidden; } Cette règle est plus propre que l’ancien scrolling="no", mais il faut connaître sa limite : overflow appliqué à l’élément iframe contrôle surtout la boîte de l’iframe dans la page parente. Il ne donne pas toujours un contrôle total sur le scroll du document chargé à l’intérieur. Si l’iframe charge une page externe que vous ne contrôlez pas, par exemple une carte, un widget, un formulaire tiers ou un ancien embed, vous ne pourrez pas toujours supprimer le scroll interne avec le CSS de votre page. La frontière de l’iframe existe justement pour isoler les documents. Pratique pour la sécurité, agaçant pour les petits ajustements CSS. Cas 1 : vous contrôlez le contenu de l’iframe Si l’iframe charge une page de votre propre site, vous pouvez gérer le scroll depuis le document intégré lui-même. Dans la page parente : CSS de la page parente : .embed-frame { width: 100%; height: 400px; border: 0; } Dans la page chargée dans l’iframe, vous pouvez ensuite écrire : html, body { overflow: hidden; } Là, vous contrôlez réellement le document interne. C’est le cas le plus propre. Cas 2 : vous ne contrôlez pas le contenu de l’iframe Si l’iframe charge un site externe, vous ne pouvez pas toujours supprimer les barres de défilement internes. Votre CSS ne traverse pas librement la frontière de l’iframe. Dans ce cas, la meilleure solution consiste souvent à donner une hauteur suffisante à l’iframe : .embed-frame { width: 100%; min-height: 500px; border: 0; } Ou à adapter la hauteur selon le viewport : .embed-frame { width: 100%; height: min(70vh, 720px); border: 0; } Si le service externe fournit un paramètre d’intégration pour masquer certaines zones, utilisez-le plutôt qu’un hack CSS. Les embeds YouTube, Google Maps, Calendly, Typeform ou autres ont souvent leurs propres options.... --- ### PHP : résoudre l’erreur « Creating default object from empty value » - **URL**: https://www.skyminds.net/php-creating-default-object-from-empty-value/ Suite à une mise à jour de PHP, le fichier d’erreurs de mon site a commencé à afficher le message suivant : PHP Warning: Creating default object from empty value in /wp-content/themes/skyminds/functions.php on line 1213 La ligne en question ressemblait à ceci : $posts[0]->comment_status = 'closed'; À première vue, cette ligne semble anodine. Pourtant, elle suppose plusieurs choses : que $posts existe, que $posts est un tableau, que l’index 0 existe, et que $posts[0] est bien un objet. Si l’une de ces conditions n’est pas vraie, PHP tente parfois de créer un objet par défaut à partir d’une valeur vide. C’est ce qui déclenche l’avertissement Creating default object from empty value. Pourquoi cette erreur apparaît Le problème vient généralement d’une assignation de propriété sur une variable qui n’est pas un objet valide. Exemple simple : $post = null; $post->comment_status = 'closed'; Ou encore : $posts = array(); $posts[0]->comment_status = 'closed'; Dans le second cas, $posts existe bien, mais $posts[0] n’existe pas. PHP ne peut donc pas modifier la propriété comment_status d’un objet absent. La bonne correction dépend donc du type de donnée que vous manipulez : tableau, objet générique stdClass, instance de classe, ou objet WordPress comme WP_Post. Correction rapide : vérifier que l’objet existe La correction la plus prudente consiste à tester l’existence du premier élément avant de modifier sa propriété : if ( isset( $posts[0] ) && is_object( $posts[0] ) ) { $posts[0]->comment_status = 'closed'; } Cette version évite l’avertissement, car elle ne modifie comment_status que si $posts[0] existe et contient bien un objet. Dans un thème WordPress, si l’on s’attend à recevoir un objet WP_Post, on peut être plus strict : if ( isset( $posts[0] ) && $posts[0] instanceof WP_Post ) { $posts[0]->comment_status = 'closed'; } C’est généralement préférable, car on vérifie le type exact attendu. WordPress documente WP_Post comme la classe utilisée pour représenter les objets d’articles retournés par des fonctions comme get_post(). Ne pas initialiser au hasard avec array() ou stdClass Dans l’ancienne version de cet article, je proposais deux pistes : $posts = new stdClass(); ou : $posts = array(); Ces deux lignes peuvent être correctes, mais pas dans le même contexte. Si votre code fait ceci : $posts[0]->comment_status = 'closed'; alors $posts doit être un tableau, et $posts[0] doit être un objet. Initialiser seulement $posts comme tableau vide ne suffit donc pas, car $posts[0] reste absent. Si vous voulez créer manuellement cette structure, il faudrait plutôt faire : $posts = array(); $posts[0] = new stdClass(); $posts[0]->comment_status = 'closed'; Mais dans WordPress, ce n’est généralement pas ce que vous voulez faire. Si $posts est censé contenir des articles, il vaut mieux récupérer de vrais objets WP_Post ou vérifier que la requête a bien retourné un résultat. Cas WordPress : vérifier le résultat d’une requête Dans WordPress, cette erreur apparaît souvent après une requête qui ne retourne aucun article. Par exemple : $posts = get_posts( array( 'post_type' => 'post', 'posts_per_page' => 1, ) ); $posts[0]->comment_status = 'closed'; Si get_posts() retourne un tableau vide, $posts[0] n’existe... --- ### Postfix : corriger “Untrusted TLS connection established” - **URL**: https://www.skyminds.net/postfix-resoudre-untrusted-tls-connection-established/ Si vous possédez votre propre serveur email avec Postfix, vous pouvez parfois voir passer cet avertissement dans les logs lorsque Postfix établit une connexion TLS vers un serveur distant : postfix/smtp[13461]: Untrusted TLS connection established to gmail-smtp-in.l.google.com[64.233.166.27]:25: TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits) À première vue, le message peut inquiéter. Pourtant, il ne signifie pas forcément que la connexion n’est pas chiffrée. Il signifie plutôt que Postfix a bien établi une connexion TLS, mais qu’il ne considère pas le certificat du serveur distant comme vérifié ou digne de confiance. En clair : la session est chiffrée, mais la chaîne de confiance du certificat n’a pas été validée comme Postfix l’attendait. Comprendre le message “Untrusted TLS connection established” Le log contient deux informations importantes : TLS connection established : la connexion TLS a bien été établie ; Untrusted : Postfix n’a pas pu valider la confiance du certificat présenté. Donc le problème ne vient pas forcément du chiffrement lui-même. Il vient souvent de la vérification du certificat : bundle CA absent, chemin CA non déclaré, certificats racines non installés, certificat distant incomplet, ou niveau de sécurité TLS qui ne force pas la validation. Postfix distingue la configuration TLS côté client SMTP, utilisée quand votre serveur envoie un mail vers un autre serveur, et la configuration TLS côté serveur SMTPD, utilisée quand un autre serveur ou client se connecte au vôtre. Dans les noms de paramètres, smtp_ concerne le client sortant, tandis que smtpd_ concerne le serveur entrant. La documentation TLS de Postfix sépare d’ailleurs clairement les deux rôles. Vérifier les certificats racines du système Sur Debian ou Ubuntu, commencez par vérifier que le paquet ca-certificates est installé. C’est lui qui fournit les certificats racines utilisés pour valider les chaînes TLS. sudo apt update sudo apt install ca-certificates sudo update-ca-certificates Ensuite, vérifiez que le répertoire des certificats existe : ls -ld /etc/ssl/certs ls -l /etc/ssl/certs/ca-certificates.crt Sur Debian et Ubuntu, les deux chemins les plus fréquents sont : /etc/ssl/certs /etc/ssl/certs/ca-certificates.crt Le premier est un répertoire de certificats hachés. Le second est un fichier bundle contenant les certificats racines. Solution simple : déclarer le CApath dans Postfix La correction la plus simple consiste à indiquer à Postfix où trouver les certificats d’autorités de certification. Éditez le fichier main.cf : sudo nano /etc/postfix/main.cf Ajoutez ou adaptez ces directives : smtp_tls_CApath = /etc/ssl/certs smtpd_tls_CApath = /etc/ssl/certs On peut aussi appliquer ces valeurs avec postconf -e : sudo postconf -e 'smtp_tls_CApath = /etc/ssl/certs' sudo postconf -e 'smtpd_tls_CApath = /etc/ssl/certs' La documentation Postfix indique que des autorités de certification supplémentaires peuvent être indiquées avec smtp_tls_CApath, et que le répertoire doit être accessible si le service fonctionne dans un environnement chroot. Testez ensuite la configuration : sudo postfix check Puis rechargez Postfix : sudo systemctl reload postfix Ou, sur une ancienne distribution : sudo service postfix reload Un rechargement suffit généralement pour ce type de changement. Un redémarrage complet fonctionne aussi, mais il est rarement nécessaire. Alternative : utiliser CAfile au lieu de CApath On peut aussi pointer Postfix... --- ### Installer wine sous Linux Mint Debian Edition - **URL**: https://www.skyminds.net/installer-wine-sous-linux-mint-debian-edition/ J’ai réinstallé Linux Mint Debian Edition, aussi appelée LMDE, sur mon portable, et j’en suis toujours aussi satisfait. On retrouve le confort de Linux Mint, mais avec une base Debian directe, sans couche Ubuntu. Depuis les premières versions de LMDE, beaucoup de choses ont changé. À l’époque, il fallait parfois ajouter un dépôt tiers pour installer Wine. Aujourd’hui, ce n’est plus une bonne idée : on privilégie les dépôts officiels Debian/Linux Mint, ou le dépôt officiel WineHQ si l’on veut une version plus récente. Dans cet article, nous allons installer Wine proprement sur Linux Mint Debian Edition 7 “Gigi”, basée sur Debian 13 “Trixie”. LMDE 7 est la version actuelle de Linux Mint Debian Edition et utilise la base Debian plutôt qu’Ubuntu. Page officielle de téléchargement de LMDE 7 À quoi sert Wine ? Wine permet d’exécuter certaines applications Windows sous Linux, macOS ou d’autres systèmes compatibles POSIX. Wine n’est pas un émulateur au sens classique : il traduit les appels de l’API Windows vers des appels système compatibles avec l’environnement hôte. WineHQ le définit justement comme une couche de compatibilité, et non comme une machine virtuelle. WineHQ : présentation de Wine En pratique, Wine peut servir à lancer un ancien logiciel Windows, un utilitaire métier, un petit programme portable, un installeur, ou certains jeux. Tout ne fonctionne pas parfaitement, mais c’est souvent très utile. Pour les jeux, on utilisera parfois plutôt Steam Proton, Lutris ou Bottles. Pour un logiciel Windows précis, Wine reste une excellente base. Méthode recommandée : installer Wine depuis les dépôts LMDE/Debian La méthode la plus simple et la plus stable consiste à utiliser les paquets fournis par la distribution. On commence par mettre à jour les dépôts : sudo apt update Ensuite, on installe Wine : sudo apt install wine Sur une machine 64 bits, beaucoup d’applications Windows restent en 32 bits, ou utilisent encore des composants 32 bits. Il est donc conseillé d’activer l’architecture i386 avant d’installer Wine. Le wiki Debian indique justement qu’une installation Wine complète sur une architecture 64 bits nécessite l’ajout de l’architecture étrangère i386. Debian Wiki : Wine sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine wine32 wine64 Cette méthode suffit dans la plupart des cas. Elle a l’avantage d’être simple, cohérente avec le système, et maintenue via les mises à jour classiques de LMDE/Debian. Vérifier l’installation de Wine Une fois l’installation terminée, vérifiez la version installée : wine --version Vous pouvez aussi lancer la configuration initiale : winecfg Au premier lancement, Wine crée un préfixe dans votre dossier personnel, généralement ici : ~/.wine Ce dossier contient l’environnement Windows simulé : lecteur C:, registre, configuration, DLLs et fichiers utilisateur. C’est un peu le “faux Windows” de Wine, mais sans la joie d’un vrai redémarrage Windows Update. On prend. Installer une application Windows avec Wine Pour lancer un installeur Windows, placez-vous dans le dossier où se trouve le fichier .exe, puis exécutez : wine setup.exe Exemple : cd ~/Téléchargements wine mon-logiciel.exe Si tout se passe bien, l’installeur se... --- ### Serveur : migration vers Ubuntu 26.04 LTS depuis Ubuntu 24.04 LTS - **URL**: https://www.skyminds.net/serveur-migration-vers-ubuntu-26-04-lts/ Ubuntu 26.04 LTS, nom de code Resolute Raccoon, est disponible depuis le 23 avril 2026. C’est une version LTS, donc une version de support longue durée, maintenue jusqu’en avril 2031 en support standard, avec une extension possible via Ubuntu Pro. Comme toujours avec une LTS, la promesse est simple : moins de panique, plus de stabilité. Enfin, en théorie. En pratique, une migration de serveur reste une opération chirurgicale : il faut préparer, sauvegarder, lire les logs, tester les services, puis corriger les petits dragons qui sortent du bois. Dans mon cas, la migration d’un serveur Ubuntu 24.04 LTS vers Ubuntu 26.04 LTS s’est globalement bien passée. Cependant, trois services ont demandé une intervention après redémarrage : Nginx, car le support Brotli nécessite désormais d’installer explicitement les modules Brotli. Dovecot, car la configuration 2.3 ne fonctionne plus telle quelle avec Dovecot 2.4. Postfix, car certaines directives TLS historiques sont désormais obsolètes ou remplacées. Rien d’insurmontable, mais assez pour transformer une mise à jour tranquille en soirée "journalctl et bière triple". Ce qu’apporte Ubuntu 26.04 LTS Ubuntu 26.04 LTS consolide deux années d’évolutions depuis Ubuntu 24.04 LTS. Si vous migrez depuis 24.04, vous récupérez donc les changements introduits dans les versions intermédiaires 24.10, 25.04 et 25.10, puis ceux propres à 26.04. Canonical met surtout l’accent sur la sécurité, la résilience, le support matériel récent, les composants mémoire-safe, les permissions applicatives, le chiffrement TPM, les optimisations serveur et le support Arm Livepatch. Pour un serveur, les points intéressants sont les suivants. Support long terme jusqu’en 2031 Ubuntu 26.04 LTS reçoit cinq ans de correctifs de sécurité et de maintenance critique. Cela en fait une base saine pour un serveur web, un serveur mail, une stack WordPress/WooCommerce, un serveur Nextcloud ou une machine dédiée OVH. Avec Ubuntu Pro, le support étendu peut aller jusqu’à dix ans. C’est utile pour les environnements où l’on ne veut pas refaire une migration complète tous les cinq ans. Kernel plus récent et meilleur support matériel Ubuntu 26.04 LTS arrive avec un noyau plus moderne, ce qui améliore le support du matériel récent : CPU, contrôleurs réseau, stockage NVMe, cartes graphiques, pilotes et plateformes serveur plus récentes. Pour un serveur dédié, ce n’est pas forcément spectaculaire au quotidien, mais cela compte dès qu’on utilise du matériel récent ou des fonctionnalités bas niveau. Sur une machine OVH, Hetzner, Scaleway ou un serveur maison, cela peut régler des détails pénibles : meilleure gestion d’énergie, meilleure détection matériel, pilotes réseau plus propres, ou meilleure prise en charge du stockage. Sécurité renforcée Ubuntu 26.04 LTS continue le gros travail de durcissement côté système. Canonical cite notamment le chiffrement complet du disque adossé au TPM, une meilleure gestion des permissions applicatives, plus de composants mémoire-safe, ainsi que Livepatch sur davantage de plateformes. Sur un serveur web, ce n’est pas une raison pour relâcher AppArmor, SSH, UFW/nftables, Fail2ban ou les mises à jour automatiques. Mais c’est une base plus moderne. Toolchain et paquets serveur plus récents Comme toujours, une nouvelle LTS apporte des versions... --- ### Comment créer un accordéon sans JavaScript : la méthode moderne avec summary et details - **URL**: https://www.skyminds.net/comment-creer-un-accordeon-sans-javascript-la-methode-moderne-avec-summary-et-details/ On cherche souvent la même chose : réduire le bruit visuel, garder la page lisible et laisser le lecteur déplier ce qui l’intéresse. En 2026, on obtient ce résultat proprement avec et . Le navigateur fournit un widget natif. Ainsi, on évite les dépendances JavaScript, on simplifie le DOM et on améliore la robustesse. Pourquoi ce pattern est la meilleure base en 2026 On gagne immédiatement sur quatre axes. Performance réelleOn supprime l’initialisation JS, les gestionnaires d’évènements et les recalculs inutiles. Le widget se comporte nativement. Sémantique HTML correcteOn décrit une “divulgation” de contenu, pas une mise en scène. La spec définit clairement open et le comportement attendu. Accessibilité nativeLe navigateur gère l’état ouvert/fermé et il le communique aux technologies d’assistance dans la plupart des cas. Cela réduit les erreurs d’implémentation « maison ». Maintenance facileOn lit le HTML en une seconde. Ensuite, on itère avec CSS. Enfin, on n’ajoute du JS que si la valeur est claire. Le modèle minimal, propre et “copier-coller” On commence par la version la plus stable. Lire la suite Ce contenu reste masqué par défaut. On l’affiche en cliquant sur le résumé. Quand open est absent, on n’affiche que le . Quand open est présent, on affiche aussi le contenu. Replier Le contenu s’affiche dès le chargement. Le composant "production" : style moderne, focus visible, sans hack On veut généralement trois choses : un résumé cliquable clair, un indicateur d’état et un focus clavier impeccable. On garde le HTML simple. HTML Lire la suite On place ici un complément d’explications, une FAQ, ou une section “méthode”. Le navigateur gère l’ouverture et la fermeture. CSS .disclosure { border: 1px solid rgba(0, 0, 0, 0.15); border-radius: 14px; padding: 0.9rem 1rem; } .disclosure__summary { cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 1rem; } /* On neutralise le marker natif, puis on crée un chevron. */ .disclosure__summary::-webkit-details-marker { display: none; } .disclosure__summary::marker { content: ""; } .disclosure__title { font-weight: 600; line-height: 1.2; } .disclosure__chevron { inline-size: 0.75rem; block-size: 0.75rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform 180ms ease; } .disclosure[open] .disclosure__chevron { transform: rotate(-135deg); } .disclosure__summary:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; } .disclosure__body { margin-top: 0.85rem; } On peut styler le triangle via ::marker car se comporte comme un item de liste, comme le détaille web.dev. Accordéon exclusif sans JavaScript Quand on publie une FAQ, on veut souvent “un seul ouvert à la fois”. On peut le faire nativement avec l’attribut name sur . Chrome for Developers et MDN décrivent ce comportement d’accordéon exclusif : Question A Réponse A. Question B Réponse B. Ensuite, quand on ouvre “Question B”, le navigateur replie “Question A” automatiquement. Pour la compatibilité, on vérifie l’état réel via Can I use (notamment Safari et Firefox selon versions) Animations modernes, sans wrapper inutile, avec ::details-content Longtemps, animer proprement le contenu demandait un conteneur. Désormais, ::details-content cible la partie extensible sans toucher au . MDN Web Docs documente le pseudo-élément et propose un exemple de transition.... --- ### Installer PHP 8.5 sous Ubuntu Server - **URL**: https://www.skyminds.net/installer-php-8-5-ubuntu-server/ PHP 8.5 est sorti le 20 novembre 2025. Cette version continue la dynamique de PHP 8.x : plus de productivité, meilleure DX et un langage qui vous pousse vers les bonnes pratiques sans casser tout votre code. Dans cet article, on passe en revue les nouveautés majeures, les changements subtils (mais importants) et ce que vous devez vérifier avant de passer votre stack en 8.5. PHP 8.5 en un coup d'œil En bref, PHP 8.5 apporte : L'opérateur pipe |> pour chaîner les appels de manière lisible. Une nouvelle extension URI native pour parser et manipuler les URLs proprement. clone() amélioré avec un paramètre pour modifier des propriétés pendant le clonage. L'attribut #[\NoDiscard] pour signaler les retours à ne pas ignorer. Closures et first-class callables utilisables dans les expressions constantes. Nouvelles fonctions utilitaires comme array_first(), array_last(), get_error_handler(), get_exception_handler(). OPcache obligatoire, intégré au binaire PHP. Stack trace sur les erreurs fatales et nouvelles options de debug. Une salve de dépréciations ciblées (backticks, casts non canoniques, etc.). L'opérateur pipe |> : fini la salade d'appels imbriqués C'est la star de PHP 8.5. L'opérateur pipe permet de chaîner des appels de fonctions en lisant le flux de gauche à droite. Avant : du code illisible --- ### Radiohead – All I Need (Microcosmos) - **URL**: https://www.skyminds.net/radiohead-all-i-need-microcosmos/ Play Radiohead's "All I Need", mixed with a scene from Microcosmos (1996). The sensual pace and delicate melody of the song reminded me of a world much smaller than ours, with all the love and violence we experience. --- ### Migrer WordPress vers un nouveau serveur avec WP-CLI et rsync - **URL**: https://www.skyminds.net/migrer-wordpress-wp-cli-nouveau-serveur/ Migrer un site WordPress vers un nouveau serveur n’a pas besoin de ressembler à une opération à cœur ouvert pratiquée dans le noir. Avec WP-CLI, rsync et une méthode claire, vous pouvez déplacer un site proprement, vérifier chaque étape, puis basculer le DNS sans croiser les doigts trop fort. Ce guide montre comment migrer WordPress vers un nouveau serveur avec WP-CLI : export de la base, transfert des fichiers, import SQL, remplacement des URLs, permissions, HTTPS, caches, emails, cron et vérifications finales. L’objectif est simple : éviter les plugins de migration lourds, garder le contrôle technique, et pouvoir revenir en arrière si quelque chose coince. Dans quels cas utiliser WP-CLI pour migrer WordPress ? WP-CLI est idéal pour migrer un site WordPress lorsque vous avez accès au serveur en SSH. Cette méthode convient très bien pour : déplacer WordPress vers un nouveau VPS ou serveur dédié ; migrer d’un hébergement mutualisé vers un serveur plus performant ; changer de stack Apache vers Nginx, ou inversement ; migrer un site client vers une infrastructure mieux maintenue ; cloner une production vers un staging ; changer de nom de domaine ou de sous-domaine ; restaurer un site à partir d’une sauvegarde propre. En revanche, si vous n’avez aucun accès SSH, cette méthode ne sera pas adaptée. Dans ce cas, un plugin de migration ou une sauvegarde hébergeur peut dépanner. Mais dès que SSH est disponible, WP-CLI reste plus précis, plus rapide et plus contrôlable. Vue d’ensemble de la migration Une migration WordPress propre suit toujours la même logique : préparer le nouveau serveur ; faire une sauvegarde complète de l’ancien site ; transférer les fichiers avec rsync ; exporter puis importer la base avec WP-CLI ; adapter wp-config.php ; lancer un search-replace si l’URL change ; corriger les permissions ; tester le site sans basculer le DNS ; mettre à jour DNS et HTTPS ; vérifier caches, formulaires, emails et cron. Le piège classique consiste à copier les fichiers, importer la base, puis déclarer victoire. WordPress aime les détails : URLs sérialisées, caches persistants, préfixe de tables, permissions, certificats, tâches cron, chemins absolus et emails sortants. Bref, tout le petit théâtre applicatif. Pré-requis sur les deux serveurs Avant de commencer, vérifiez que vous avez : un accès SSH sur l’ancien serveur ; un accès SSH sur le nouveau serveur ; WP-CLI installé sur les deux serveurs ; rsync disponible ; un utilisateur système avec les bons droits ; une base de données vide sur le nouveau serveur ; un virtual host Nginx ou Apache prêt ; un certificat TLS prêt ou générable après bascule DNS ; un plan de rollback. Sur Debian ou Ubuntu, installez les outils utiles : sudo apt update sudo apt install rsync mariadb-client unzip curl Vérifiez WP-CLI : wp cli info Si votre stack serveur n’est pas encore prête, vous pouvez partir de ce guide : installer Nginx, PHP et MariaDB sur Debian. Étape 1 : vérifier l’ancien site WordPress Sur l’ancien serveur, placez-vous dans la racine WordPress... --- ### Rendre votre plugin WooCommerce compatible avec HPOS (High-Performance Order Storage) - **URL**: https://www.skyminds.net/rendre-votre-plugin-woocommerce-compatible-hpos/ HPOS accélère WooCommerce en stockant les commandes dans des tables dédiées. Vous gagnez en rapidité, en fiabilité et en scalabilité. Pour les nouvelles boutiques, HPOS est activé par défaut. Pour les sites plus anciens, vous pouvez l’activer en toute sécurité après vérification des extensions. Dans cet article, je vous montre comment rendre votre plugin compatible avec HPOS. Vous verrez comment déclarer la compatibilité, utiliser l’API WooCommerce plutôt que les fonctions WordPress génériques et tester correctement. Enfin, je liste des pièges courants et des astuces de performance. HPOS en deux minutes Les commandes ne vivent plus dans wp_posts/wp_postmeta. HPOS ajoute des tables dédiées aux commandes, adresses et index. Résultat : création de commande plus rapide et recherche d’ordre plus fluide. 1. Déclarez la compatibilité HPOS Ajoutez la déclaration dans le fichier principal de votre plugin. C’est le signal officiel pour WooCommerce. --- ### Sur les traces de Tolkien et de l’imaginaire médiéval, peintures et dessins de John Howe - **URL**: https://www.skyminds.net/tolkien-imaginaire-medieval-peinture-john-howe/ Conçue par Diane et Jean-Jacques Launier comme une exploration picturale et commentée de l’œuvre de Tolkien et de l’origine des légendes médiévales, l’exposition présente plus de 250 dessins et peintures de John Howe au Fond Hélène et Edouard Leclerc pour la Culture à Landerneau. Artiste de renommée internationale, John Howe a d’abord illustré les romans de Tolkien, avant de participer à la direction artistique des deux trilogies cinématographiques Le Seigneur des Anneaux, et Le Hobbit aux côtés du réalisateur Peter Jackson. Plus récemment, il a également pris part à la création artistique de la série Le Seigneur des Anneaux : Les Anneaux de Pouvoir. L’évocation des influences poétiques et mythologiques ancestrales permet de percevoir à quel point la richesse de l’œuvre romanesque de Tolkien et de l’imaginaire médiéval puisent leurs sources dans la résonance de ces temps lointains. L’exposition est complétée par d’authentiques objets d’époque médiévale (armure, épées...) et ponctuée d’œuvres contemporaines de Tolkien. John Howe sur les traces de Tolkien John Howe rencontre l'œuvre de Tolkien à l'adolescence, tout d'abord en lisant Le Seigneur des anneaux, puis en découvrant les calendriers illustrés par différents artistes. Il dessine alors lui aussi chaque mois le thème proposé par le calendrier. Quelques années plus tard, il quitte le Canada et part étudier dans le lycée américain de Strasbourg pour ensuite poursuivre sa scolarité à l'école des Arts Décoratifs de la ville. Il se nourrit de la culture européenne, très différente de ce qu'il connaît au Canada, notamment en termes d'histoire et d'architecture. Sa visite du château du Haut-Koenigsbourg le marque. Il découvre par ailleurs que ce château en ruine depuis le XVIIe siècle a été totalement reconstruit au XXe siècle dans un style fantasmé du XIIe siècle. La cathédrale de Strasbourg est également un élément essentiel de la construction de son imaginaire médiéval. Pour illustrer les œuvres de Tolkien, John Howe a étudié en profondeur l'univers de l'auteur et pris des notes très précises, s'assurant ainsi que ses illustrations soient fidèles à l'esprit de l'œuvre. Il s'inspire ensuite des lieux qui ont nourri Tolkien pour l'écriture de ses livres, comme la Suisse, où il réside et où Tolkien a séjourné l'été de ses 19 ans. Il recherche également des lieux plus intimistes où il peut se retrouver seul face à la beauté de la nature. Tout comme Tolkien, John Howe s'intéresse également à William Morris : il est séduit par son art, mais surtout par sa philosophie de vie et son rapport contemplatif à la nature. Passionné de reconstitution historique et plus précisément de l'époque médiévale, John Howe collectionne des objets en lien avec ce thème : armures, armes… Ces objets lui sont précieux pour enrichir son imaginaire mais surtout pour lui permettre de rendre crédibles ses idées. Il est également fasciné par les mythes et légendes des cultures du monde entier qui inspirent ses dessins depuis si longtemps. Grâce à ses nombreuses illustrations de l'œuvre de J.R.R. Tolkien, le réalisateur américain Peter Jackson fait appel à lui pour être directeur artistique... --- ### Configurer la nouvelle messagerie de l’Éducation Nationale (messagerie.education.gouv.fr) - **URL**: https://www.skyminds.net/configurer-email-messagerie-education-nationale/ Depuis la migration nationale, l’accès web s’effectue via messagerie.education.gouv.fr. Cette messagerie est sécurisée (antivirus/anti-spam) et accessible partout. L’adresse suit généralement le format prenom.nom@ac-.fr. Pour certaines académies non encore migrées, l’accès reste temporairement sur le webmail académique historique, mais à terme, toutes les académies utiliseront la nouvelle messagerie. Pourquoi cette nouvelle messagerie ? Depuis la rentrée scolaire 2022, les équipes de la DNE, les équipes nationales et des experts issus des académies sont à l’œuvre pour développer cette nouvelle solution et rénover les 1,8 millions de boîtes mails, dont les 1,2 millions de boîtes mails des agents de l’Éducation nationale. Ce nouveau projet concerne, de fait, la moitié des agents de la fonction publique de l’État. Actuellement, ce sont 200 millions de mails échangés par mois, et au regard du nombre d’utilisateurs, ce projet est le plus important projet de messagerie collaborative européen pour une organisation (hors utilisation des services des GAFAM). C’est une messagerie souveraine, hébergée et totalement opérée par des agents de l’Éducation Nationale. 20 Go de stockage pour le compte personnel et 40 Go de services seront désormais proposés à chaque agent. Beaucoup d’enseignants se sont détournés de la messagerie académique car il n’y avait pas suffisamment de stockage. Cette messagerie est consolidée à maille nationale autour d’une seule plateforme et donc le bénéfice est que tous les agents seront dans un seul annuaire avec leurs agendas qui pourront être synchronisés. On tend donc vers une meilleure fluidité des échanges et le mot « collaboratif » prend donc tout son sens: Agenda Annuaire Calendrier et programmation de réunion avec Visio-Agents Quand l’agent va vouloir organiser une réunion, il pourra, d’un clic, insérer un lien de participation en visio-conférence sans faire d’autres efforts. La question de l’adresse « à vie » est également posée dans le cahier des charges, afin d’améliorer la fluidité des parcours professionnels des agents. Dans tous les cas, même si cette question n’a pas encore été statuée, ce qui est certain, c’est que les agents garderont tout l’historique de leurs données de messagerie, même dans le cas où l’agent exerce une mobilité au sein de l’Éducation Nationale et que son adresse de messagerie change. Le déploiement de la nouvelle messagerie La région académique PACA (Aix-Marseille et Nice) et les deux académies de Nantes et de Poitiers participent à la phase pilote et représentent plus de 200 000 comptes de messagerie. L’utilisation de la nouvelle solution de messagerie a été déployée pour les premiers utilisateurs de ces 4 académies pilotes avec une attribution par lot d’agents selon leur spécialité en octobre 2025. Le déploiement généralisé aux autres académies se poursuivra pour tous les agents fin 2025 et sur l’année 2026. La nouvelle messagerie est basée sur la suite collaborative Zimbra. Où se connecter au webmail ? Vous pouvez accéder à votre compte email professionnel depuis la plateforme nationale de messagerie Éducation Nationale : https://messagerie.education.gouv.fr Configuration de votre client email (mobile et desktop) Avant de configurer votre logiciel ou application : générez un "mot de passe d’application" Pour les clients de messagerie... --- ### Ubuntu Server : migration vers MySQL 8.4 LTS - **URL**: https://www.skyminds.net/ubuntu-server-migration-vers-mysql-8-4-lts/ Voici venu le temps de mettre à jour MySQL 8.0 vers MySQL 8.4 LTS sur notre serveur Ubuntu 24.04 Noble, pour plus de performance, sécurité et stabilité. Changements clés entre MySQL 8.0 et MySQL 8.4 LTS Vue d’ensemble MySQL 8.4 est une version LTS (Long Term Support) donc la cadence des mises à jour est stable, continue, avec peu de ruptures. Sécurité et authentification mysql_native_password désactivé par défaut. Le plugin existe encore, mais n’est plus chargé en 8.4. Résultat : les comptes qui l’utilisent échouent à l’authentification jusqu’à ce que vous le réactiviez (temporaire) ou que vous migriez les comptes vers caching_sha2_password. Paramètres changent : l’ancien default_authentication_plugin est retiré ; utilisez désormais la politique d’authentification actuelle (et migrez les comptes). Outils et commandes retirés / modifiés Retirés : mysql_upgrade (mise à niveau du dictionnaire gérée automatiquement au démarrage du serveur) et mysqlpump (préférez mysqldump ou les utilitaires de MySQL Shell). Terminologie réplication : nettoyage achevé (adieu les anciennes commandes “master”). Utilisez les variantes modernes (SHOW BINARY LOG STATUS, etc.). InnoDB et perfs (nouveaux défauts) 8.4 affine plusieurs valeurs par défaut pour mieux coller au matériel actuel (I/O, concurrency). Attendez-vous à des valeurs plus agressives pour la capacité I/O et des toggles historiques coupés par défaut (ex. Adaptive Hash Index OFF). Vérifiez vos overrides côté mysqld.cnf. SQL, DDL & privilèges Interdiction définitive : AUTO_INCREMENT sur FLOAT/DOUBLE — toléré (déprécié) en 8.0, erreur en 8.4. Corrigez avant de migrer (changez de type ou retirez l’AUTO_INCREMENT). Nouveaux privilèges plus fins : SET_ANY_DEFINER et ALLOW_NONEXISTENT_DEFINER remplacent l’ancien SET_USER_ID (retiré). Utile pour sécuriser routines/triggers avec DEFINER. LTS : ce que ça change opérationnellement Les versions 8.4.x apportent surtout des corrections et des ajustements à faible risque. Les notes de version par point release (8.4.4, 8.4.5, 8.4.6…) détaillent les bugfixes et micro-améliorations. Checklist de migration de MySQL 8.0 vers MySQL 8.4 1. Audit pré-upgrade Lisez la page « What’s new in 8.4 since 8.0 » et la section “Changes in MySQL 8.4” pour repérer ce qui casse chez vous (options retirées, syntaxes interdites). Cherchez AUTO_INCREMENT sur FLOAT/DOUBLE dans votre schéma et corrigez. Passez un coup d’œil à vos my.cnf : supprimez default_authentication_plugin, autres options dépréciées 8.0, et adaptez si besoin. 2. Authentification (le vrai sujet qui casse les apps) Option A (transitoire) : réactivez le plugin legacy pour rallumer vite vos apps, puis migrez proprement: # nano /etc/mysql/mysql.conf.d/mysqld.cnf [mysqld] mysql_native_password=ON Redémarrez MySQL, puis planifiez la migration de tous les comptes vers caching_sha2_password. Option B (propre, recommandée) : migrez chaque compte applicatif : ALTER USER 'app_user'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'MotDePasseSolide!'; FLUSH PRIVILEGES; PHP 8.x et mysqlnd gèrent caching_sha2_password nativement. 3. Réplication & scripts Mettez à jour scripts et dashboards qui appellent les anciennes commandes “master/slave”. Utilisez SHOW REPLICA STATUS, SHOW BINARY LOG STATUS, etc. 4. Outils & automatisation Retirez mysql_upgrade de vos playbooks ; le serveur fait le nécessaire au démarrage. Remplacez mysqlpump si vous l’utilisiez. 5. Post-upgrade Lisez les notes de votre point release (8.4.x) et surveillez les journaux au premier démarrage. Procédure de mise à jour... --- ### Bloquer complètement l’énumération des utilisateurs WordPress avec Nginx ou Apache - **URL**: https://www.skyminds.net/bloquer-enumeration-utilisateurs-wordpress-nginx-apache/ Lorsque vous gérez un site WordPress, la sécurité doit être une priorité. Parmi les failles les plus méconnues, il existe ce qu’on appelle l’énumération des utilisateurs. Mais qu’est-ce que c’est exactement ? En résumé, l’énumération des utilisateurs consiste à découvrir publiquement les noms d’utilisateurs de votre site WordPress. Pourquoi est-ce un problème ? Parce que si un pirate connaît déjà votre nom d’utilisateur, il ne lui reste plus qu’à deviner ou voler le mot de passe. En d’autres termes, c’est comme si vous laissiez la moitié de la clé de votre maison sur la porte. Comment fonctionne l’énumération des utilisateurs ? Par défaut, WordPress crée certaines adresses (URLs) qui permettent de révéler les noms d’utilisateurs. Ces URLs sont accessibles à tout le monde sur Internet, même sans être connecté à votre site. Voici quelques exemples (remplacés par example.com) : https://example.com/?author=1 https://example.com/author/admin https://example.com/?author={num:1} https://example.com/wp-sitemap-users-1.xml https://example.com/wp-json/wp/v2/users Si vous ouvrez ces adresses dans votre navigateur, vous risquez de voir apparaître des informations sur vos utilisateurs WordPress (souvent l’administrateur du site). Et vous pouvez imaginer ce que cela représente pour un pirate : un point d’entrée facile. Pourquoi est-ce dangereux ? Les pirates peuvent scanner automatiquement ces URLs avec des outils comme WPScan. Une fois le nom d’utilisateur trouvé, ils peuvent lancer des attaques par force brute pour tester des milliers de mots de passe. Cela augmente fortement les risques de piratage de votre site. En clair : si vous laissez l’énumération des utilisateurs active, vous donnez gratuitement une information critique aux attaquants. Comment bloquer l’énumération des utilisateurs avec Nginx Heureusement, si votre site est hébergé sur un serveur utilisant Nginx, vous pouvez bloquer totalement ces tentatives. Il suffit d’ajouter quelques règles simples dans votre configuration. Voici un extrait que vous pouvez intégrer dans votre fichier de configuration Nginx (par exemple dans le server {}) : # Bloquer l’énumération via le paramètre ?author= if ($args ~* "^author=([0-9]+|{num:[0-9]+)") { return 444; } # Bloquer l’énumération via /author/nomutilisateur if ($request_uri ~ "/author/") { return 444; } # Bloquer les sitemaps qui révèlent les utilisateurs # y compris la version encodée avec %2d if ($request_uri ~ "wp-sitemap-users-[0-9]+.xml") { return 444; } # Bloquer l’API REST WordPress qui expose les utilisateurs if ($request_uri ~ "/wp-json/wp/v2/users") { return 444; } Explication simple : return 444; : c’est une réponse spéciale de Nginx qui interrompt la connexion sans explication. Résultat : l’attaquant reçoit une erreur et ne peut pas continuer. Les règles ci-dessus couvrent tous les principaux moyens connus d’énumération des utilisateurs WordPress. Comment bloquer l'énumération des utilisateurs avec Apache Si vous utilisez Apache, il suffit d'ajouter l'équivalent de nos règles dans le fichier .htaccess : # ---------------------------------------------------------------------- # Bloquer l’énumération des utilisateurs WordPress (.htaccess) # ---------------------------------------------------------------------- # Placez ce bloc AU-DESSUS du bloc # BEGIN WordPress par défaut # Testé pour Apache 2.4+. Retourne 403 (Forbidden) pour les tentatives # d'énumération côté public. Laisse passer les utilisateurs connectés. # ---------------------------------------------------------------------- RewriteEngine On # -------------------------------------------------------------- # Détection "utilisateur connecté" (cookie WordPress) # Si le cookie 'wordpress_logged_in_' est présent, on N'APPLIQUE... --- ### Recevoir un email après le redémarrage d’un serveur Linux avec systemd - **URL**: https://www.skyminds.net/email-redemarrage-serveur-linux-systemd/ Un serveur qui redémarre sans prévenir, c’est rarement anodin. Cela peut venir d’une maintenance planifiée, d’un kernel fraîchement installé, d’un crash, d’une coupure électrique, d’un watchdog un peu nerveux ou d’un humain qui a tapé reboot avec la sérénité d’un moine tibétain. Dans tous les cas, recevoir un email après le redémarrage d’un serveur Linux permet de réagir rapidement. C’est simple, fiable, et cela donne un premier signal avant même d’ouvrir les graphes de monitoring. Dans ce guide, nous allons créer une notification email automatique au boot avec systemd, mailutils et un script Bash propre. L’objectif : recevoir un message après chaque reboot avec le nom du serveur, la date, l’uptime, les adresses IP et quelques informations utiles. Pourquoi envoyer un email après un redémarrage serveur ? Une alerte de reboot sert à confirmer qu’un serveur est revenu en ligne. Cependant, elle sert aussi à repérer des redémarrages non prévus. C’est utile pour : surveiller un serveur dédié ou un VPS ; valider une maintenance après mise à jour du noyau ; détecter un redémarrage imprévu ; suivre plusieurs serveurs sans se connecter partout ; garder une trace simple dans une boîte mail d’administration ; compléter un monitoring plus sérieux comme Uptime Kuma, Netdata ou Zabbix. Ce n’est pas un remplacement du monitoring. C’est une alerte légère, immédiate et facile à auditer. Bref, le petit voyant rouge qui évite parfois une grosse matinée café noir. Pourquoi utiliser systemd plutôt que cron ou rc.local ? Historiquement, on utilisait souvent @reboot dans cron ou un script dans rc.local. Cela peut encore fonctionner. Pourtant, sur un serveur Linux moderne, systemd est plus propre. Avec systemd, vous pouvez : définir clairement quand le script doit se lancer ; attendre que le réseau soit disponible ; attendre que Postfix soit démarré ; consulter les logs avec journalctl ; relancer le service manuellement pour tester ; activer ou désactiver le mécanisme proprement. Un service systemd oneshot est donc parfait pour cette tâche : il s’exécute une fois au démarrage, envoie l’email, puis s’arrête. Pré-requis Avant de commencer, vérifiez que vous avez : un serveur Debian ou Ubuntu ; un accès SSH avec sudo ou root ; systemd comme gestionnaire de services ; un outil d’envoi email en ligne de commande ; un MTA local, par exemple Postfix, ou un relais SMTP configuré ; une adresse email de destination. Si votre serveur envoie déjà correctement des emails système, vous êtes presque arrivé. Sinon, commencez par vérifier votre configuration mail, SPF, DKIM et DMARC. J’ai détaillé ce sujet ici : configurer SPF, DKIM et DMARC avec Postfix et OpenDKIM. Installer mailutils Sur Debian ou Ubuntu, installez mailutils : sudo apt update sudo apt install mailutils Si Postfix n’est pas encore installé, l’assistant peut vous proposer une configuration. Pour un serveur qui envoie des emails via son propre MTA, choisissez généralement “Internet Site”, puis renseignez le nom de domaine du serveur. Ensuite, testez l’envoi d’un email simple : printf 'Test email depuis %s\n' "$(hostname -f)" | mail -s "Test... --- ### Consignes d’évaluation pour l’épreuve de spécialité LLCER/AMC Anglais - **URL**: https://www.skyminds.net/consignes-evaluation-specialite-llcer-amc-anglais/ Organisation Une fois les copies anonymisées et numérisées, la correction se fera en ligne (sur Santorin : accès grâce au portail Imag’in, puis Entrée correcteur). Les candidats auront ensuite accès à leur copie corrigée (y compris les annotations), une fois les résultats publiés. Il n’est pas demandé d’annoter dans le détail chaque copie ni d’apporter des commentaires détaillés, même si chacun peut choisir de le faire. Aucun conseil de progrès n’est à fournir. Nous recommandons tout de même un minimum d’annotations pour bien montrer que la copie a été lue jusqu’au bout. Seule une brève appréciation générale est nécessaire sur chaque en-tête de copie afin de vérifier aisément la cohérence entre la note et l’appréciation. Cette appréciation devra mentionner séparément la synthèse puis la traduction. Chaque appréciation doit rester mesurée dans sa forme, même sur une copie très faible, partant du principe qu’elle sera portée à la connaissance du candidat. N’hésitez pas à vous inspirer directement des descripteurs des grilles bleues pour rédiger votre appréciation. Il vous revient de saisir deux notes successives, chacune sur 20 : une note sur 20 pour la synthèse, une note sur 20 pour la version. Attention ! Les grilles bleues évoquent une note sur 10 pour la traduction, donc vous devez multiplier par 2 pour bien fournir une note sur 20 en traduction. Pour ce faire, il est indispensable de cliquer sur « Sujets à choix », puis de sélectionner « sujet 1 » ou « sujet 2 ». Une fois le numéro de sujet choisi, vous aurez accès à un menu déroulant qui vous permettra d’indiquer les notes sur 20 de la synthèse et de la traduction. C’est la machine qui se chargera de calculer la note finale sur 20 (16+4). En cas de difficultés pour apprécier une copie, commencez par dialoguer avec d’autres correcteurs présents dans l’établissement ou à proximité dans l’Académie ; si la question persiste, envoyez par mail votre question (avec le n° de copie, ou en joignant une version PDF de la copie extraite de Santorin) aux IA-IPR référents. Toute difficulté d’ordre technique qui pourrait provenir d’une erreur au moment du scan original (page manquante ou illisible, copies mélangées, copie pour un candidat absent, etc.) peut être réglée par une demande de « retraitement » de la copie. Ouvrez la copie concernée et cliquez sur l'icône enveloppe en haut de l'écran ; choisissez « Contacter l'équipe en charge de la gestion de l'épreuve ». Cela déclenchera l'ouverture d'une deuxième fenêtre « Faire une demande» : choisissez alors « Retraitement » dans le menu déroulant. Évaluation Rappel : l’évaluation des deux sous-épreuves se base sur l’exploitation des "grilles bleues" disponibles sur éduscol. Il est demandé aux correcteurs et correctrices de conserver trace dans leurs archives personnelles de la répartition des points par colonne, pour chaque copie (en cas de contestation, erreurs de calcul ou de report etc). Ces archives sont à conserver jusqu’à publication finale des résultats. Notez qu’il n’est pas demandé de faire apparaître sur la copie en ligne... --- ### Comment sécuriser efficacement votre serveur SSH avec SSH-Audit - **URL**: https://www.skyminds.net/comment-securiser-efficacement-votre-serveur-ssh-avec-ssh-audit/ La sécurité SSH est souvent négligée… jusqu’au jour où une attaque brute force ou une mauvaise configuration vous met à genoux. Heureusement, il existe un outil open source simple, rapide et redoutablement efficace pour auditer la sécurité de votre serveur SSH : SSH-Audit. Dans ce guide, on va voir ensemble comment utiliser SSH-Audit pour scanner, comprendre les failles et corriger les erreurs sur un serveur Ubuntu 24.04. Installer SSH-Audit avec Python SSH-Audit est un script Python autonome. Pas besoin de bibliothèque externe, pas de dépendances lourdes. Juste Python, un terminal et c’est parti : pipx install ssh-audit Résultat: installed package ssh-audit 3.3.0, installed using Python 3.12.3 These apps are now globally available - ssh-audit done! ✨ 🌟 ✨ Vous pouvez lancer l'audit depuis votre fenêtre de terminal: ssh-audit monserveur.exemple.com -pPORTNUMBER Si vous voulez tester sans rien installer, vous pouvez aussi passer par le service en ligne ssh-audit.com : entrez simplement l’adresse IP ou le nom de domaine de votre serveur, SSH-Audit vous renvoie un rapport clair et lisible. Voici le rapport de ssh-audit pour un Ubuntu Server de base, avant optimisation : # general (gen) banner: SSH-2.0-OpenSSH_9.6p1 Ubuntu-3ubuntu13.12 (gen) software: OpenSSH 9.6p1 (gen) compatibility: OpenSSH 9.6+, Dropbear SSH 2020.79+ (gen) compression: enabled (zlib@openssh.com) # key exchange algorithms (kex) sntrup761x25519-sha512@openssh.com -- [info] available since OpenSSH 8.5 `- [info] default key exchange from OpenSSH 9.0 to 9.8 `- [info] hybrid key exchange based on post-quantum resistant algorithm and proven conventional X25519 algorithm (kex) curve25519-sha256 -- [info] available since OpenSSH 7.4, Dropbear SSH 2018.76 `- [info] default key exchange from OpenSSH 7.4 to 8.9 (kex) curve25519-sha256@libssh.org -- [info] available since OpenSSH 6.4, Dropbear SSH 2013.62 `- [info] default key exchange from OpenSSH 6.5 to 7.3 (kex) ecdh-sha2-nistp256 -- [fail] using elliptic curves that are suspected as being backdoored by the U.S. National Security Agency `- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62 (kex) ecdh-sha2-nistp384 -- [fail] using elliptic curves that are suspected as being backdoored by the U.S. National Security Agency `- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62 (kex) ecdh-sha2-nistp521 -- [fail] using elliptic curves that are suspected as being backdoored by the U.S. National Security Agency `- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62 (kex) diffie-hellman-group-exchange-sha256 (3072-bit) -- [info] available since OpenSSH 4.4 `- [info] OpenSSH's GEX fallback mechanism was triggered during testing. Very old SSH clients will still be able to create connections using a 2048-bit modulus, though modern clients will use 3072. This can only be disabled by recompiling the code (see https://github.com/openssh/openssh-portable/blob/V_9_4/dh.c#L477). (kex) diffie-hellman-group16-sha512 -- [info] available since OpenSSH 7.3, Dropbear SSH 2016.73 (kex) diffie-hellman-group18-sha512 -- [info] available since OpenSSH 7.3 (kex) diffie-hellman-group14-sha256 -- [warn] 2048-bit modulus only provides 112-bits of symmetric strength `- [info] available since OpenSSH 7.3, Dropbear SSH 2016.73 (kex) ext-info-s -- [info] available since OpenSSH 9.6 `- [info] pseudo-algorithm that denotes the peer supports RFC8308 extensions (kex) kex-strict-s-v00@openssh.com -- [info] pseudo-algorithm that denotes the peer supports a stricter key exchange method as a counter-measure to the Terrapin attack (CVE-2023-48795) # host-key... --- ### Sauvegarder, archiver et installer des extensions WordPress par lots avec WP-CLI - **URL**: https://www.skyminds.net/archiver-installer-par-lots-extensions-wordpress/ Lors d’un audit WordPress, d’une migration, d’un nettoyage malware ou d’un diagnostic de performance, il faut parfois désactiver, archiver, réinstaller ou activer plusieurs extensions d’un coup. Le faire à la main depuis l’administration WordPress fonctionne pour deux plugins. Au-delà, cela devient vite pénible. Et quand le site est cassé, lent, infecté ou inaccessible, l’interface graphique n’est pas toujours votre meilleure amie. Elle sourit, puis elle affiche une erreur 500. Dans ce guide, nous allons voir comment sauvegarder, archiver et installer des extensions WordPress par lots avec WP-CLI. L’objectif : travailler vite, proprement, avec des sauvegardes exploitables et des scripts Bash réutilisables. Pourquoi gérer les extensions WordPress avec WP-CLI ? WP-CLI permet d’administrer WordPress en ligne de commande. Pour les extensions, il peut lister, installer, activer, désactiver, supprimer, mettre à jour et réinstaller des plugins sans passer par le tableau de bord. C’est particulièrement utile pour : réinstaller proprement des extensions après une infection ; archiver les extensions installées avant une intervention ; préparer une migration serveur ; documenter l’état d’un site client ; désactiver plusieurs extensions pendant un diagnostic ; réinstaller les plugins du dépôt WordPress.org depuis leurs slugs ; installer plusieurs fichiers ZIP premium ou locaux ; automatiser une procédure sur staging. La bonne méthode consiste à sauvegarder d’abord, inventorier ensuite, puis agir. Dans cet ordre. Le terminal récompense les gens méthodiques. Il punit les touristes. Pré-requis Pour suivre ce guide, il vous faut : un accès SSH au serveur ; WP-CLI installé ; un accès à la racine WordPress ; la commande zip ou tar installée ; un dossier de sauvegarde hors du webroot ; une sauvegarde complète avant toute action risquée. Placez-vous d’abord à la racine de votre installation WordPress : cd /home/www/example.com/public_html Vérifiez que WP-CLI voit bien le site : wp core version wp option get home Si vous lancez les commandes depuis un autre dossier, utilisez --path avec la racine WordPress, pas avec wp-content/plugins. wp plugin list --path=/home/www/example.com/public_html Sauvegarder la base avant toute intervention Avant de désactiver, supprimer, remplacer ou réinstaller des extensions, exportez la base de données. mkdir -p ~/backups/wordpress-plugins wp db export ~/backups/wordpress-plugins/db-before-plugins-$(date +%F-%H%M%S).sql --add-drop-table Vérifiez que le fichier existe : ls -lh ~/backups/wordpress-plugins/ Évitez de stocker les sauvegardes SQL dans un dossier public du site. Un fichier .sql accessible depuis le web, c’est une fuite de données emballée dans du papier cadeau. Créer un inventaire des extensions installées Avant de toucher aux plugins, exportez l’état actuel. Cela permet de savoir quelles extensions étaient actives, inactives, en mise à jour, ou installées depuis le dépôt WordPress.org. mkdir -p ~/backups/wordpress-plugins wp plugin list \ --fields=name,status,version,update,update_version,auto_update,wporg_status,wporg_last_updated \ --format=csv \ > ~/backups/wordpress-plugins/plugins-inventory-$(date +%F-%H%M%S).csv Pour lister uniquement les slugs des extensions actives : wp plugin list --status=active --field=name Pour créer un fichier de réactivation : wp plugin list --status=active --field=name > ~/backups/wordpress-plugins/active-plugins.txt Ce fichier devient très pratique après un diagnostic où vous avez désactivé toutes les extensions. Désactiver toutes les extensions, avec exclusions Pour désactiver toutes les extensions classiques : wp plugin deactivate --all Pour exclure certaines... --- ### Désinstaller WPML proprement et nettoyer la base WordPress - **URL**: https://www.skyminds.net/desinstaller-wpml-database-wp-cli/ WPML est l’un des plugins multilingues les plus complets pour WordPress. Il gère les langues, les traductions, les chaînes, les menus, les taxonomies, WooCommerce, les jobs de traduction et parfois des intégrations avancées avec des services externes. Cette puissance a une conséquence logique : quand vous désinstallez WPML, il peut rester beaucoup de données en base. Tables icl_, options, métadonnées, relations de traduction, chaînes traduites, jobs de traduction, réglages d’éditeur… ce n’est pas un petit plugin qui laisse deux miettes sous le tapis. Voici comment désinstaller WPML proprement et nettoyer la base WordPress avec WP-CLI, sans supprimer des données au hasard. Avant de commencer : ne supprimez pas WPML à l’aveugle Avant toute manipulation, clarifiez votre objectif. Voulez-vous : supprimer WPML et garder uniquement la langue principale ; supprimer WPML mais conserver les contenus traduits comme contenus séparés ; repartir à zéro avec une nouvelle configuration WPML ; migrer vers un autre plugin multilingue ; nettoyer une base après une ancienne désinstallation incomplète ? Ces scénarios ne demandent pas la même stratégie. Si vous supprimez les tables WPML, vous supprimez aussi les relations entre les traductions. Vos contenus peuvent rester dans wp_posts, mais WordPress ne saura plus qu’ils sont liés entre eux par langue. Donc, avant de jouer au chirurgien SQL, commencez par une sauvegarde complète. Sauvegarder la base et les fichiers Exportez la base de données avec WP-CLI : wp db export before-wpml-cleanup.sql Si vous travaillez en root : wp db export before-wpml-cleanup.sql --allow-root Vérifiez que l’export existe et qu’il n’est pas vide : ls -lh before-wpml-cleanup.sql Sauvegardez aussi les fichiers, surtout wp-content/plugins, wp-content/uploads et votre thème. WPML peut stocker des fichiers de traduction, des réglages liés aux plugins compagnons, et des médias traduits selon la configuration du site. Sur un site WooCommerce, un site de production ou un gros site éditorial, faites d’abord cette procédure sur staging. C’est moins spectaculaire qu’un nettoyage direct en production, mais généralement meilleur pour la tension artérielle. Méthode recommandée : utiliser le reset officiel de WPML Si WPML est encore installé et accessible, utilisez d’abord sa procédure officielle de reset. Connectez-vous à l’administration WordPress. Allez dans WPML → Support. Cliquez sur le lien Troubleshooting. Descendez jusqu’à la section Reset. Cochez la confirmation indiquant que vous allez supprimer les données de traduction et de langue. Lancez Reset and deactivate WPML. WPML indique que ce reset supprime les tables WPML de la base et désactive le plugin. Cette action ne peut pas être annulée. Faites donc la sauvegarde avant, pas après. Après, c’est de l’archéologie. Ensuite, vous pouvez supprimer les plugins WPML depuis l’administration ou avec WP-CLI. Supprimer les plugins WPML avec WP-CLI Listez d’abord les plugins WPML installés : wp plugin list | grep -i wpml Vous pouvez aussi chercher les plugins OnTheGoSystems, l’éditeur de chaînes ou les modules WooCommerce Multilingual : wp plugin list | grep -Ei 'wpml|sitepress|woocommerce-multilingual|string-translation|translation-management' Désactivez ensuite les plugins concernés. Les slugs exacts peuvent varier selon votre installation : wp plugin deactivate sitepress-multilingual-cms wp plugin deactivate wpml-string-translation wp plugin deactivate... --- ### Auditer les problèmes de performance WordPress avec wp profile - **URL**: https://www.skyminds.net/audit-performance-wordpress-wp-profile/ La commande wp profile est un peu comme une alternative à New Relic, capable d’identifier précisément quels composants ralentissent votre site WordPress. Initialement disponible en tant que package premium via runcommand, il est désormais gratuit sur GitHub. Si vous cherchez un hébergeur compatible avec l’installation de wp profile, jetez un œil à Kinsta et FastNyx. J’utilise régulièrement wp profile pour diagnostiquer les problèmes de performance chez mes clients sur Codeable. Tous les développeurs WordPress devraient s’en servir ! Après avoir suivi ce guide, vous serez plus proche de la résolution de la lenteur de votre site WordPress. Un site WordPress lent peut avoir mille causes : plugin trop lourd, thème bavard, requêtes SQL répétées, cache objet absent, option autoloadée énorme, appel HTTP externe, hook mal placé, ou simple hébergement à bout de souffle. La mauvaise méthode consiste à désactiver des plugins au hasard et à espérer que le site accélère. La bonne méthode consiste à mesurer. C’est précisément là que wp profile devient très utile. wp profile est une commande WP-CLI qui mesure les grandes étapes du chargement WordPress. Elle permet de repérer les stages, hooks, plugins et thèmes qui consomment le plus de temps. Ce n’est pas un profiler aussi profond que Blackfire, Xdebug ou New Relic, mais c’est souvent suffisant pour trouver où commencer. À quoi sert wp profile ? wp profile aide à répondre à une question simple : où WordPress perd-il du temps ? La commande peut mesurer : les grandes étapes du chargement WordPress ; les hooks les plus coûteux ; le temps pris par les plugins ; le temps pris par le thème ; le nombre de requêtes SQL ; le temps passé en base de données ; le ratio de cache objet ; le nombre d’appels HTTP externes. L’intérêt est énorme : vous obtenez une première carte du problème depuis le terminal, sans installer une extension de diagnostic dans un back-office déjà lent. Sur un site client, c’est souvent mon premier réflexe après les vérifications serveur, les logs PHP et les en-têtes HTTP. En quelques commandes, on sait si le problème vient plutôt du bootstrap, du thème, d’un plugin, de MySQL ou d’un hook précis. Ce que wp profile ne fait pas wp profile ne remplace pas un vrai APM. Il ne vous donnera pas la pile complète de chaque requête SQL, la trace de chaque fonction PHP, ni l’analyse fine d’un appel réseau bloquant. Il ne mesure pas non plus l’expérience navigateur complète : rendu CSS, JavaScript, images, polices, Core Web Vitals, LCP, CLS ou INP. Pour cela, il faut compléter avec des outils front-end comme WebPageTest, Lighthouse, Chrome DevTools ou les données terrain de Search Console. En revanche, wp profile répond très bien à cette première question : WordPress lui-même est-il lent, et quelle partie du chargement coûte le plus cher ? Prérequis Pour utiliser wp profile, il vous faut : un accès SSH au serveur ; WP-CLI installé ; un utilisateur capable d’exécuter les commandes WordPress ; un site WordPress fonctionnel... --- ### Installer WP-CLI sans accès root ni sudo - **URL**: https://www.skyminds.net/installer-wp-cli-sans-acces-root/ WP-CLI est l’un des meilleurs outils pour administrer WordPress proprement. Il permet de mettre à jour le core, gérer les extensions, exporter la base, vider le cache, chercher-remplacer des URLs, diagnostiquer un site cassé et automatiser des tâches sans passer par l’administration WordPress. Le problème : sur un hébergement mutualisé ou un serveur client verrouillé, vous n’avez pas toujours accès à sudo. Impossible donc de placer wp dans /usr/local/bin. Bonne nouvelle : ce n’est pas bloquant. Dans ce guide, nous allons installer WP-CLI sans accès root, directement dans votre compte utilisateur, avec un dossier ~/bin, un PATH propre, une vérification du téléchargement et quelques commandes de test. Le tout sans sudo, sans magie noire, et sans supplier l’hébergeur. Dans quels cas installer WP-CLI sans root ? Cette méthode est utile lorsque vous avez un accès SSH, mais pas les privilèges administrateur. hébergement mutualisé avec SSH ; compte client limité ; serveur où sudo est interdit ; environnement de staging isolé ; compte utilisateur dédié par site ; serveur cPanel, Plesk ou panel maison ; besoin d’une version WP-CLI différente de celle du système. L’installation locale a aussi un avantage : elle ne touche pas au système global. Vous pouvez mettre à jour WP-CLI pour votre compte sans impacter les autres utilisateurs. C’est propre, isolé, et généralement accepté par les hébergeurs qui fournissent SSH. Pré-requis Avant de commencer, vérifiez que vous avez : un accès SSH ; PHP disponible en ligne de commande ; curl ou wget ; un dossier personnel accessible en écriture ; un site WordPress existant pour tester. WP-CLI demande PHP 7.2.24 ou plus récent. En pratique, utilisez une version PHP maintenue par votre hébergeur, idéalement la même branche que celle utilisée par votre site WordPress. :contentReference[oaicite:1]{index=1} Vérifiez la version PHP CLI : php -v Vérifiez aussi que PHP sait lancer un fichier PHAR : php -m | grep -i phar Si rien ne sort, l’extension PHAR peut être désactivée. Dans ce cas, il faudra choisir une autre version PHP CLI ou demander à l’hébergeur de l’activer. Créer un dossier ~/bin pour vos commandes utilisateur Le dossier ~/bin est un emplacement classique pour installer des commandes accessibles uniquement à votre utilisateur. mkdir -p ~/bin Vérifiez si ce dossier est déjà dans votre PATH : echo "$PATH" | tr ':' '\n' | grep "$HOME/bin" Si la commande ne retourne rien, ajoutez ~/bin à votre PATH. Pour Bash : echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc source ~/.bashrc Pour Zsh : echo 'export PATH="$HOME/bin:$PATH"' >> ~/.zshrc source ~/.zshrc Si vous ne savez pas quel shell vous utilisez : echo "$SHELL" Sur certains hébergements, le shell charge plutôt ~/.profile. Dans ce cas : echo 'export PATH="$HOME/bin:$PATH"' >> ~/.profile . ~/.profile Télécharger WP-CLI dans ~/bin Téléchargez le PHAR officiel : curl -fsSL -o ~/bin/wp https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar Rendez-le exécutable : chmod 755 ~/bin/wp Testez : wp --info Si tout fonctionne, vous devriez voir les informations WP-CLI, PHP, MySQL, le shell utilisé et le chemin du fichier wp. La documentation officielle recommande exactement cette logique : télécharger... --- ### Supprimer complètement Elementor de WordPress et nettoyer sa base de données - **URL**: https://www.skyminds.net/supprimer-elementor-wordpress-database/ Supprimer les extensions Elementor ne suffit pas à retirer toutes leurs données. Elementor conserve notamment les structures de pages, réglages, modèles, kits, caches et préférences dans la base WordPress. Pour les éliminer sans casser le site, il faut d’abord reconstruire les contenus, sauvegarder la base, inventorier les données restantes, puis procéder à un nettoyage ciblé. Cette procédure s’adresse aux sites qui ont définitivement quitté Elementor au profit de Gutenberg, GenerateBlocks, GeneratePress ou d’un autre constructeur. Elle utilise WP-CLI afin de travailler proprement avec le préfixe réel des tables WordPress. Pourquoi Elementor laisse-t-il des données dans WordPress ? Elementor stocke la structure et les réglages de chaque page dans des champs personnalisés de la table postmeta. Le contenu est enregistré sous forme de données JSON associées aux publications WordPress. L’extension utilise également plusieurs autres emplacements : la table options pour ses réglages globaux, caches et tâches planifiées ; la table usermeta pour les préférences des utilisateurs et notifications administratives ; les tables posts et postmeta pour les modèles, kits, popups, formulaires et éléments Theme Builder ; les tables de taxonomies pour classer certains modèles ; le répertoire wp-content/uploads/elementor/ pour les CSS générées, polices, icônes et autres fichiers ; les tâches WP-Cron et transients pour certains traitements temporaires. La désinstallation classique conserve souvent ces données. Ce choix permet de réinstaller Elementor sans perdre immédiatement les mises en page. Faut-il vraiment nettoyer la base après Elementor ? Le nettoyage n’est pas toujours indispensable. Quelques options ou centaines de métadonnées orphelines ne ralentissent généralement pas WordPress de manière perceptible. L’opération devient toutefois pertinente lorsque : Elementor ne sera définitivement plus utilisé ; toutes les pages ont été reconstruites et validées ; la base contient de nombreux modèles, révisions ou historiques Elementor ; vous souhaitez réduire la taille des sauvegardes ; vous préparez une migration ou une remise à plat technique ; vous voulez supprimer les anciennes options chargées automatiquement. En revanche, ne nettoyez pas encore ces données si certaines pages utilisent toujours Elementor, même lorsqu’elles semblent correctes sur le front-end. Avant le nettoyage : vérifier que le site ne dépend plus d’Elementor Commencez par contrôler le site complet, et pas seulement sa page d’accueil. Elementor peut encore gérer des contenus moins visibles : en-têtes et pieds de page ; modèles d’articles et d’archives ; pages 404 et résultats de recherche ; popups ; formulaires Elementor Pro ; modèles WooCommerce ; pages de connexion ou de maintenance ; blocs enregistrés et modèles globaux. Vérifiez aussi les contenus marqués comme ayant été modifiés avec Elementor : wp db query " SELECT p.ID, p.post_type, p.post_status, p.post_title FROM $(wp db prefix)posts AS p INNER JOIN $(wp db prefix)postmeta AS pm ON pm.post_id = p.ID WHERE pm.meta_key = '_elementor_edit_mode' ORDER BY p.post_type, p.ID; " Cette requête ne prouve pas que la page dépend encore visuellement d’Elementor. Elle indique simplement qu’Elementor lui a associé des données. 1. Sauvegarder la base et les fichiers Les commandes de cet article suppriment définitivement des données. Commencez donc par créer une sauvegarde SQL horodatée : mkdir -p ~/backups wp db export \ ~/backups/before-elementor-cleanup-$(date +%F-%H%M%S).sql \ --add-drop-table Vérifiez que le fichier existe et n’est pas... --- ### CloudFest Hackathon 2025 : the recap - **URL**: https://www.skyminds.net/cloudfest-hackathon-2025-the-recap/ I attended CloudFest Hackathon 2025, organised by Carole Olinger, Alain Schlesser and Lucas Radke. It was awesome to meet old friends and make new acquaintances in Europa Park, Germany. Here's the recap of this 8th edition! 10 projects in competition for #CFHack25 This year, 10 projects were in competition - check out for yourself the diversity of the topics covered: Peer-to-peer RAG Framework with Wesley Stessens and Franco Lombardo CMS Freedom with Patricia Brun Torre and Dennis Snell CMS Health Checks with Oliver Bartsch WP-CLI as an MCP Host with Pascal Birchler Federated Community Events with Andreas Heigl and Matthias Pfefferle Securing the Supply Chain for OSS with Néstor Angulo de Ugarte and John Blackbourn AIccessiblity Content Updater with Nemanja Cimbaljevic and Anthony Ledesma CMS Cloud Manager with Markus Kostrzewski and Javier Casares Accessible Infographics with Anne-Mieke Bovelett and Nina Jameson WordPress Staging Environment Manager with Tadas Pukas and Paulius Lescinskas That's quite broad, isn't it? I love it when it's so hard to choose from the list! A few projects particularly piqued my interest: CMS Cloud Manager because it was sysadmin (it would be nice to implement on FastNyx), Accessible Infographics because I would love to work with Anne-Mieke, Peer-to-peer RAG Framework because my friend Wesley is leading the project, and WP-CLI as a MCP Host since it touches WP-CLI with AI. I finally joined the WP-CLI as a MCP Host table. What is the Model Context Protocol (MCP)? The Model Context Protocol (MCP) is a standardised interface designed to enable AI models—like large language models (LLMs) or AI assistants—to interact seamlessly with external systems and applications. Rather than requiring developers or AI systems to manually parse complex documentation or adapt to a wide variety of APIs, MCP provides a unified way for AI to discover available capabilities, call specific functions or tools, and receive structured responses from the target system. In practical terms, MCP acts as a bridge between AI and software platforms. It allows AI assistants to: Discover what actions or data are available from a system (such as creating posts, retrieving content, or managing users in WordPress). Call these capabilities as if they were simple functions, without needing to know the technical details of the underlying APIs. Receive structured, predictable responses, making integration and automation much easier. This approach is particularly powerful for developers and organisations looking to integrate AI into their workflows, as it removes much of the friction typically involved in connecting AI models to real-world applications. MCP in the WordPress Ecosystem Within the context of WordPress, MCP enables AI-powered interactions with WordPress sites through standardised interfaces. A WordPress MCP Server exposes the site's REST API endpoints and other capabilities in a way that AI models can easily understand and use. For example, an AI assistant can: Retrieve the latest posts or comments. Create or edit content. Manage users or plugins. Chain multiple actions together (e.g., summarise GitHub issues and publish them as a blog post). The WordPress MCP Server handles authentication, endpoint discovery,... --- ### Créer une seedbox BitTorrent avec deluge - **URL**: https://www.skyminds.net/creer-seedbox-bittorrent-deluge/ Depuis la dernière mise à jour d'Ubuntu Server, le daemon transmission ne fonctionne plus correctement : il ne démarre plus de manière stable et les téléchargements ne se lancent que pendant cette période où il tente de se lancer. J'ai passé pas mal de temps à essayer de résoudre le problème, mais les mises à jour de transmission sont vraiment très espacées et il est fort probable que le projet ne soit plus maintenu dans quelque temps Il est donc temps de passer à un nouveau daemon bittorrent, qui se veut léger, rapide et efficace : deluge. Voici donc un tutoriel pour installer deluge sur Ubuntu Server pour créer une seedbox bittorrent. Qu'est-ce qu'une seedbox ? Une seedbox est un serveur informatique privé dédié au stockage, au téléchargement et à l'émission de fichiers numériques. Généralement, les seedboxes utilisent le protocole BitTorrent pour émettre et recevoir des données. Ces serveurs sont connectés à des réseaux à très haut débit symétrique, allant de 100 Mbit/s à 1 Gbit/s ou plus, selon l'option choisie. Les principaux avantages d'une seedbox sont : Vitesse : les seedboxes peuvent télécharger et partager des fichiers à des vitesses très élevées, bien supérieures à celles d'une connexion Internet domestique classique. Sécurité : l'utilisation d'une seedbox permet de masquer votre adresse IP personnelle, offrant ainsi une meilleure protection de votre vie privée. Disponibilité : une seedbox fonctionne 24h/24 et 7j/7, même lorsque votre ordinateur personnel est éteint. Gestion de l'espace : les fichiers sont stockés sur le serveur distant, libérant ainsi de l'espace sur votre propre machine. Dans le cadre de notre tutoriel, nous allons utiliser Deluge, un client BitTorrent open-source populaire, pour configurer notre seedbox sur un serveur Ubuntu. Installation de deluge Création de l'utilisateur UNIX et des répertoires deluge Créons l'utilisateur deluge, qui appartient au groupe deluge, et dont le répertoire d'utilisation est /home/deluge : sudo adduser --system --gecos "Deluge Service" --disabled-password --group --home /home/deluge deluge Résultat : info: Selecting UID from range 100 to 999 ... info: Selecting GID from range 100 to 999 ... info: Adding system user `deluge' (UID 124) ... info: Adding new group `deluge' (GID 133) ... info: Adding new user `deluge' (UID 124) with group `deluge' ... info: Creating home directory `/home/deluge' ... Créons maintenant les répertoires nécessaires, avec les bonnes permissions : # Create data dirs sudo install -d -o deluge -g deluge -m 750 /home/deluge/{completed,torrents} # Config dirs must be private sudo install -d -o deluge -g deluge -m 700 /home/deluge/.config /home/deluge/.config/deluge # Ensure ownership across the tree (no blanket chmod) sudo chown -R deluge:deluge /home/deluge # Tighten perms: dirs 750, files 640 (except the config dir) sudo find /home/deluge -type d ! -path "/home/deluge/.config/deluge*" -exec chmod 750 {} \; sudo find /home/deluge -type f ! -path "/home/deluge/.config/deluge*" -exec chmod 640 {} \; # Config stays stricter sudo chmod 700 /home/deluge/.config /home/deluge/.config/deluge Installation de deluge Installons deluge sur notre serveur : sudo add-apt-repository ppa:deluge-team/stable sudo apt update && sudo apt upgrade sudo apt install deluged deluge-web Cela installe le... --- ### Identifier les options WordPress d’un plugin dans wp_options avec WP-CLI - **URL**: https://www.skyminds.net/identifier-options-wordpress-plugin-wp-options/ Quand vous désinstallez une extension WordPress, elle ne nettoie pas toujours derrière elle. Certaines options restent dans la table wp_options, parfois pendant des années, comme de petits colocataires qui ne paient jamais le loyer. Ces options peuvent stocker des réglages, des licences, des caches, des transients, des tableaux sérialisés ou des données d’intégration. Le problème n’est pas leur existence. Le problème commence lorsqu’elles deviennent inutiles, volumineuses ou chargées automatiquement à chaque requête. Dans ce guide, nous allons voir comment identifier les options de base de données liées à un plugin WordPress avec WP-CLI, grep et quelques requêtes SQL propres. L’objectif : auditer avant de supprimer, exporter avant de modifier, et éviter le grand classique du “j’ai nettoyé la base, maintenant le site est blanc”. Pourquoi identifier les options d’un plugin WordPress ? La table wp_options contient les réglages globaux de WordPress. Elle stocke aussi beaucoup de données créées par les extensions et les thèmes. Identifier les options d’un plugin sert notamment à : préparer la désinstallation propre d’une extension ; retrouver un réglage caché ou cassé ; diagnostiquer un problème de performance lié à l’autoload ; exporter la configuration d’un plugin avant migration ; comparer deux environnements, par exemple production et staging ; nettoyer les données orphelines après plusieurs années de plugins testés puis oubliés. Cette méthode est particulièrement utile sur les sites WordPress anciens, les boutiques WooCommerce, les sites migrés plusieurs fois, ou les installations qui ont connu trop de builders, d’extensions SEO, de plugins sociaux et d’outils marketing. Pré-requis Pour suivre ce tutoriel, il vous faut : un accès SSH au serveur ; WP-CLI installé ; un accès à la racine WordPress ; un compte capable de lire la base de données ; une sauvegarde récente ; idéalement, un environnement de staging. Les exemples utilisent addthis comme chaîne de recherche. Remplacez-la par le slug, le préfixe ou le nom technique du plugin que vous auditez. Si vous devez d’abord mettre WP-CLI en place ou maintenir WordPress en ligne de commande, lisez aussi mettre à jour WordPress en SSH avec WP-CLI. Toujours sauvegarder la base avant de toucher à wp_options Avant toute inspection poussée ou suppression, exportez la base de données. Même si vous ne comptez “que regarder”. Les incidents arrivent rarement quand on les invite officiellement. mkdir -p ~/backups wp db export ~/backups/wordpress-$(date +%F-%H%M%S).sql Vérifiez ensuite que le fichier existe : ls -lh ~/backups/ Sur un site sensible, faites vos tests sur staging. C’est encore plus vrai si vous auditez WooCommerce, un site multilingue, un site membre ou une installation avec beaucoup de données sérialisées. Vérifier le préfixe de table WordPress Ne partez jamais du principe que la table s’appelle wp_options. Beaucoup de sites utilisent un préfixe personnalisé. Affichez le préfixe avec WP-CLI : wp db prefix Vous pouvez ensuite utiliser ce préfixe dans vos requêtes : wp db query "SELECT COUNT(*) FROM $(wp db prefix)options;" Cette approche évite les requêtes fragiles avec wp_options codé en dur. Sur un site client, c’est une petite précaution qui évite de... --- ### Convertir les tables WordPress de MyISAM à InnoDB avec WP-CLI - **URL**: https://www.skyminds.net/convertir-tables-wordpress-myisam-innodb-wp-cli/ Sur un vieux site WordPress, il n’est pas rare de trouver encore des tables MyISAM. Le site fonctionne, certes. Mais sous charge, avec WooCommerce, des commentaires, beaucoup de métadonnées ou des écritures fréquentes, MyISAM peut vite devenir un vieux meuble qui grince dans une maison moderne. InnoDB est aujourd’hui le moteur standard pour MySQL et MariaDB dans la majorité des installations WordPress. Il gère mieux la concurrence, les transactions, les verrous ligne par ligne et la fiabilité générale des écritures. Dans ce guide, nous allons voir comment convertir les tables WordPress de MyISAM vers InnoDB avec WP-CLI, proprement, avec sauvegarde, diagnostic, script réutilisable, vérifications et plan de retour arrière. MyISAM et InnoDB : pourquoi convertir ? MyISAM est un ancien moteur de stockage MySQL. Il a longtemps été utilisé par défaut, notamment sur de vieilles installations. Cependant, il ne gère pas les transactions et repose sur un verrouillage beaucoup plus global des tables. InnoDB apporte des avantages importants pour WordPress : meilleure gestion des écritures concurrentes ; verrouillage au niveau des lignes plutôt qu’au niveau de la table ; transactions ; meilleure récupération après crash ; meilleure base pour WooCommerce et les sites à fort trafic ; moteur par défaut sur les versions modernes de MySQL. Pour un blog simple, la différence ne se voit pas toujours immédiatement. Pour une boutique WooCommerce, un site avec beaucoup de commentaires, un site membre ou une base volumineuse, InnoDB devient vite préférable. Avant de convertir : sauvegarde obligatoire La conversion avec ALTER TABLE ... ENGINE=InnoDB réécrit la table. Elle ne devrait pas supprimer les données, mais elle peut échouer si la table est énorme, corrompue, verrouillée ou si le serveur manque d’espace disque. Commencez donc par exporter la base complète : mkdir -p ~/backups wp db export ~/backups/wordpress-before-myisam-innodb-$(date +%F-%H%M%S).sql --add-drop-table Vérifiez ensuite que le fichier existe et qu’il n’est pas vide : ls -lh ~/backups/wordpress-before-myisam-innodb-*.sql Sur un site critique, faites aussi une sauvegarde hébergeur ou un snapshot serveur. Une sauvegarde SQL, c’est bien. Une restauration testée, c’est mieux. Oui, c’est moins glamour qu’un plugin de cache avec des confettis, mais beaucoup plus utile quand ça pique. Vérifier le préfixe de table WordPress Ne partez jamais du principe que vos tables commencent par wp_. Beaucoup de sites utilisent un préfixe personnalisé. wp db prefix Cette commande permet de cibler les bonnes tables dans les requêtes suivantes. C’est particulièrement important sur les bases qui contiennent plusieurs installations WordPress. Lister les tables MyISAM de WordPress Pour afficher uniquement les tables MyISAM liées au préfixe WordPress courant : wp db query " SELECT TABLE_NAME, ENGINE, TABLE_ROWS, ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024, 2) AS size_mb FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME LIKE CONCAT('$(wp db prefix)', '%') AND ENGINE = 'MyISAM' ORDER BY (DATA_LENGTH + INDEX_LENGTH) DESC; " Si la requête ne retourne rien, vos tables WordPress ne sont pas en MyISAM. Vous pouvez vous arrêter là, ce qui est probablement le meilleur type d’intervention serveur : celle qui finit avant d’avoir commencé. Pour afficher... --- ### WordPress : désinstaller Jetpack proprement avec WP-CLI - **URL**: https://www.skyminds.net/wordpress-desinstaller-jetpack-proprement/ Des fonctionnalités de Jetpack maintenant payantes J'ai utilisé Jetpack pour les statistiques de mes sites WordPress site depuis 2004, soit 20 ans... mais voilà que Jetpack demande maintenant de payer pour avoir accès aux statistiques mensuelles et annuelles. Cela ne va pas être possible. Jetpack est une extension couteau suisse, mais qui utilise vraiment tous les outils du couteau suisse? J'ai donc fait le tour des fonctionnalités de Jetpack que j'utilisais réellement et elles sont somme toute peu nombreuses: Stats, Related Posts, Publicize, et Protect. Au lieu de Stats, j'utilise depuis quelques semaines Koko Analytics : vos statistiques sont dans votre base de données WordPress, donc chez vous, et le plugin respecte le RGPD (pas de cookies, pas d'informations personnelles). J'utilise également Plausible Analytics qui tourne sous Docker et dont je vous avais parlé il y a quelques mois. Publicize permet d'envoyer vos posts sur les réseaux sociaux, je trouverai bien une alternative plus tard. Protect, le module de sécurité, n'est pas vraiment essentiel puisque la sécurité est en grande partie gérée par le serveur et le WAF. Pour Related Posts, j'ai modifié le plugin qui j'utilise depuis des années pour qu'il génère des miniatures à la mode Jetpack mais sans le tracking. Car oui, tous les services de Jetpack (comme WooCommerce d'ailleurs) téléphonent les informations du site et du serveur chez Automattic. Mettons-y un terme. Je vous propose donc un tutoriel pour désinstaller Jetpack proprement et supprimer les enregistrements Jetpack de la base de données car ils ne sont pas retirés à la suppression du plugin. Ainsi, vous aurez une base de données plus propre et donc un site plus rapide. Nettoyer Jetpack de wp_options 1. On compte les options qui commencent par jpsq_ dans la table wp_options : SELECT COUNT(CASE WHEN option_name LIKE 'jpsq\_%' THEN 1 END) AS jpsq from wp_options; et on les supprime avec: sudo -u www-data wp db query "DELETE FROM $(sudo -u ww-data wp db prefix)options WHERE option_name LIKE 'jpsq\_%'" 2. On cherche ensuite tous les enregistrements qui contiennent la chaîne de caractères jetpack : SELECT COUNT(CASE WHEN option_name LIKE 'jetpack%' THEN 1 END) AS jetpack_options from wp_options; et on les supprime avec: sudo -u www-data wp db query "DELETE FROM $(sudo -u www-data wp db prefix)options WHERE option_name LIKE 'jetpack%'" Nettoyer Jetpack de wp_postmeta JetPack laisse aussi des enregistrements dans la table postmeta, notamment le cache des related posts. Le plus simple est de compter tous les enregistrements qui contiennent le mot jetpack : SELECT COUNT(CASE WHEN meta_key LIKE '%jetpack%' THEN 1 END) AS jetpack_postmeta from wp_postmeta; et on les supprime: sudo -u www-data wp db query "DELETE from $(sudo -u www-data wp db prefix)postmeta WHERE meta_key LIKE '%jetpack%'" Nettoyer Jetpack de wp_usermeta Passons maintenant au nettoyage de wp_usermeta. On compte les enregistrements: SELECT COUNT(CASE WHEN meta_key = '%jetpack%' THEN 1 END) from wp_usermeta; Et on les supprime: sudo -u www-data wp db query "DELETE FROM $( sudo -u www-data wp db prefix)usermeta WHERE meta_key = '%jetpack%'" Nettoyer Jetpack des post_types dans wp_posts Jetpack... --- ### La correction de la traduction avec les points-fautes - **URL**: https://www.skyminds.net/la-correction-de-la-traduction-avec-les-points-fautes/ La traduction est un art subtil qui requiert non seulement une excellente maîtrise des langues, mais aussi une compréhension approfondie des nuances culturelles et linguistiques. Dans cet article, nous allons explorer en détail le système de correction utilisé dans le milieu académique pour évaluer les traductions, en mettant l'accent sur la méthode des points-fautes. Cette approche vous aidera à mieux comprendre les attentes des correcteurs et à affiner vos compétences en traduction. Le système de points-fautes : une approche équitable et objective Le système de points-fautes est conçu pour évaluer les traductions de manière objective et équitable. Voici comment il fonctionne : Vous commencez avec une note parfaite de 20/20. Des points sont déduits pour chaque erreur identifiée dans votre traduction. Le nombre total de points-fautes détermine votre note finale. Calcul de la note finale La détermination de la note finale implique un processus statistique : Un écart-type est calculé à partir des nombres de points-fautes les plus bas et les plus élevés de l'ensemble des copies. Cet écart-type sert à établir la moyenne de la classe. Les copies sont classées en fonction de leur nombre de points-fautes. Il est important de noter que : Si votre nombre de points-fautes est inférieur à l'écart-type, votre note sera supérieure à la moyenne. Même avec quelques erreurs, vous pouvez obtenir 20/20 si vous avez le moins de points-fautes de la classe. Barème détaillé des points-fautes Chaque jury peut avoir son propre barème, mais voici un exemple typique des pénalités appliquées : Type d'erreurPoints de pénalitéExempleOmission (OM)10 à 200Oublier de traduire une phrase entièreNon-sens (NS)10"The dog barked at the moon" → "Le chien a aboyé à la lune" (correct) vs "Le chien a aboyé sur la lune" (non-sens)Barbarisme (Barb)10"He went" → "Il alla" (correct) vs "Il allat" (barbarisme)Grammaire (G)10"The cats are playing" → "Les chats jouent" (correct) vs "Les chats joue" (faute de grammaire)Syntaxe (Syn)6 à 8"I often go there" → "J'y vais souvent" (correct) vs "Je vais souvent là" (syntaxe maladroite)Temps (Tps)6 à 8"I have been living here for 10 years" → "J'habite ici depuis 10 ans" (correct) vs "J'habitais ici depuis 10 ans" (faute de temps)Contresens (CS)6 à 8"He missed the point" → "Il n'a pas compris" (correct) vs "Il a raté le point" (contresens)Calque (C)4 à 6"It's raining cats and dogs" → "Il pleut des cordes" (correct) vs "Il pleut des chats et des chiens" (calque)Très mal dit (TMD)4"He's a jack of all trades" → "Il est touche-à-tout" (correct) vs "Il est un jacques de tous les métiers" (très mal dit)Très inexact (Tinex)4"She's a brilliant scientist" → "C'est une scientifique brillante" (correct) vs "C'est une scientifique intelligente" (très inexact)Faux sens (FS)2 à 6"He was blue" → "Il était triste" (correct) vs "Il était bleu" (faux sens)Sous-traduit/Sur-traduit (ST)2 à 4"He ran quickly" → "Il courut" (sous-traduit) ou "Il courut à toute vitesse comme s'il avait le diable aux trousses" (sur-traduit)Mal dit (MD)2"It's a piece of cake" → "C'est du gâteau" (correct) vs "C'est une pièce de gâteau" (mal dit)Inexact (Inex)2"She's pretty"... --- ### L’ordre des adjectifs en anglais - **URL**: https://www.skyminds.net/ordre-des-adjectifs-en-anglais/ L'ordre des adjectifs en anglais est un aspect essentiel de la grammaire qui peut poser des défis même aux étudiants avancés. En anglais, les adjectifs suivent un ordre spécifique lorsqu'ils sont utilisés pour décrire un nom. Comprendre et maîtriser cet ordre permet de produire des phrases plus fluides et naturelles. Cet article vise à clarifier ces règles et à offrir des exercices pratiques pour vous aider à éviter les erreurs courantes. L'ordre des adjectifs en détail L'ordre typique des adjectifs en anglais suit cette séquence : Quantité ou nombre (Quantity or Number) Opinion (Opinion) Taille (Size) Âge (Age) Forme (Shape) Couleur (Color) Origine (Origin) Matière (Material) But ou type (Purpose or Type) 1. Quantité ou nombre Les adjectifs de quantité ou de nombre précèdent tous les autres adjectifs et indiquent combien d'objets sont décrits. Exemples : Five interesting books Several large houses 2. Opinion Les adjectifs d'opinion sont subjectifs et expriment ce que l'on pense du nom. Exemples : A fascinating story A terrible mistake 3. Taille Les adjectifs de taille décrivent la dimension physique du nom. Exemples : A huge elephant A tiny insect 4. Âge Les adjectifs d'âge indiquent l'ancienneté du nom. Exemples : An ancient relic A young child 5. Forme Les adjectifs de forme décrivent la configuration physique du nom. Exemples : A rectangular table A round mirror 6. Couleur Les adjectifs de couleur décrivent la teinte du nom. Exemples : A blue sky A green apple 7. Origine Les adjectifs d'origine indiquent la provenance géographique ou culturelle du nom. Exemples : An Italian dish A Chinese vase 8. Matière Les adjectifs de matière décrivent de quoi est fait le nom. Exemples : A wooden chair A silk scarf 9. But ou type Ces adjectifs décrivent le but ou le type spécifique du nom. Exemples : A sleeping bag A racing car Exemples combinés Pour illustrer comment ces règles s'appliquent, examinons quelques exemples où plusieurs catégories d'adjectifs sont utilisées ensemble : A beautiful old Italian marble statue Opinion: beautiful Âge: old Origine: Italian Matière: marble Three small round red balls Quantité: three Taille: small Forme: round Couleur: red An interesting new Japanese electronic gadget Opinion: interesting Âge: new Origine: Japanese But/Type: electronic gadget Exceptions et notes importantes Bien que l'ordre des adjectifs soit généralement respecté, il existe des exceptions : Adjectifs composés : certaines expressions comme "well-known" ou "high-quality" fonctionnent comme un seul adjectif et peuvent être placées ensemble sans respecter strictement l'ordre habituel. Usage poétique ou créatif : dans la littérature, les auteurs peuvent délibérément altérer l'ordre pour créer un effet stylistique particulier. Priorité contextuelle : parfois, l'accent est mis sur un certain aspect pour souligner une caractéristique particulière, ce qui peut justifier une légère modification de l'ordre. Exercices pratiques Pour vous aider à maîtriser l'ordre des adjectifs, voici quelques exercices pratiques : Exercice 1 : réorganiser les adjectifs Réorganisez les adjectifs dans les phrases suivantes selon l'ordre correct : She bought a [silk / beautiful / red] dress. They live in a [small /... --- ### Installer PHP 8.4 sur le serveur - **URL**: https://www.skyminds.net/installer-php-8-4-serveur/ PHP 8.4 est tout beau, tout chaud: la nouvelle version est sortie le 21 novembre, comme prévue. Pas mal de nouveautés ont été intégrées. Si vous lisez ces lignes, sachez que le site tourne déjà dessus. Faisons un petit tour d'horizon de PHP 8.4 avec ses changements, améliorations et nouveautés, avant de l'installer sur notre serveur Ubuntu. Les nouveautés de PHP 8.4 PHP 8.4 ravira les utilisateurs avec de nombreuses fonctionnalités et améliorations impactantes. Par exemple, ils peuvent utiliser intelligemment de nouvelles fonctions de tableau, telles que : array_find() array_find_key() array_any() array_all() De plus, il y a d'autres fonctionnalités incroyables de PHP 8.4 qui attireront l'attention des utilisateurs dès le départ, notamment : Hooks de propriétés Visibilité asymétrique MyClass()->method() sans parenthèses Changements JIT Support HTML5 Autres fonctionnalités de PHP 8.4 à surveiller Hooks de propriétés Les propriétés dans les objets PHP ont offert divers avantages comme l'implémentation des validations de valeurs. Pour cette raison, les types de propriétés à partir de PHP 7 ont grandement aidé à cela. Néanmoins, le fait que la validation doive, par nécessité, se faire via une méthode a conduit à beaucoup de code répétitif sous forme de getters et setters ou à l'abus des méthodes magiques __get et __set. En réalité, les propriétés en lecture seule dans PHP 8 résolvent de nombreux problèmes pour les développeurs. Ils peuvent protéger les valeurs via le constructeur et offrir toujours des propriétés entièrement typées pour un accès direct. Les Hooks de propriétés offrent également une fonctionnalité robuste pour travailler avec les propriétés de classe PHP. Les propriétés peuvent optionnellement expliquer un ou plusieurs hooks, actuellement limités à "get" et "set", vous permettant d'intervenir dans le cycle de vie de la propriété. Voici un exemple tiré du RFC : class User implements Named { private bool $isModified = false; public function __construct(private string $first, private string $last) {} public string $fullName { // Override the "read" action with arbitrary logic. get => $this->first . " " . $this->last; // Override the "write" action with arbitrary logic. set { [$this->first, $this->last] = explode(' ', $value, 2); $this->isModified = true; } } } Visibilité asymétrique La visibilité asymétrique est une fonctionnalité innovante qui aide les développeurs à expliquer une visibilité différente pour diverses opérations sur une propriété. Cela leur permet de contrôler intelligemment la visibilité des membres de classe, tels que les propriétés et les méthodes. Par exemple, vous pouvez indiquer que vous souhaitez autoriser un accès public en lecture à une propriété, mais ne permettre les modifications qu'en interne : public private(set) string $bar = 'baz'; La visibilité asymétrique fonctionne en parallèle avec les changements présentés avec les hooks de propriétés, y compris la possibilité de décrire la visibilité dans les interfaces. MyClass()->method() sans parenthèses Une pratique courante en PHP est d'instancier une classe et d'accéder immédiatement à une méthode ou une propriété. Voici un exemple ci-dessous : $request = (new Request())->withMethod('GET')->withUri('/hello-world'); Nous devions entourer la classe de parenthèses lors de son instanciation, ce qui était une exigence du moteur... --- ### Expressions anglaises clés pour mieux communiquer - **URL**: https://www.skyminds.net/expressions-anglaises-mieux-communiquer/ Introduction Dans le cadre de l'apprentissage de l'anglais, il est essentiel de maîtriser un certain nombre d'expressions courantes pour communiquer efficacement. Que ce soit pour exprimer une opinion, poser une question ou relier des idées, ces formules peuvent grandement faciliter les échanges, tant à l'oral qu'à l'écrit. Cet article vous propose une sélection d'expressions utiles qui vous aideront à naviguer dans diverses situations de communication. Que vous soyez étudiant, professionnel ou simplement désireux d'améliorer votre anglais, ces outils linguistiques vous permettront de vous exprimer avec plus de clarté et de confiance. Explorons ensemble ces expressions essentielles ! 1. Interagir à l'oral et à l'écrit Giving one's opinion To my mind / In my opinion... It seems to me that... I feel / believe that... I can't help thinking that... My feeling is that... As a matter of fact, I am convinced that... For my part, I consider that... Expressing agreement l agree with... It is true to say that... So do I / Neither do I That's exactly how I see it I perfectly understand that... You / They are right to suggest that... I share your point of view... I see eye to eye with you... Expressing disagreement I don't agree / I disagree with you about that... Contrary to / Unlike..., I feel that... That's not how I see it. Instead of V-ING... I don't see things that way. Expressing doubts, protest However, I am not really sure that... I am rather sceptical about... In theory, it sounds... but in practice... I object to / disapprove of GN / V-ING How can they...? / What right have they to...? Suggesting and convincing How / What about V-ING Why don't you / Why not + V Don't you think that...? I suggest V-ING / I suggest we (should) V We should definitely V... I'm convinced that... It seems to me that... I'm sure you will / won't V... Expressing surprise I can't / couldn't believe it / my eyes! You can't imagine what I saw! How surprised I was! It was truly amazing! How fantastic it was! How astonishing to see such...! I was amazed by / stunned by / astounded by... It was just unbelievable! Just imagine! Fancy that! What a sight! / How strange!... What I find the most incredible / unpleasant / shocking is that... Expressing enthusiasm It must be great / terrific... How interesting / fantastic! I'd just love to... I was so impressed by... I can't wait to see that! Expressing likes and dislikes I'm fond of / keen on GN/V-ING I fancy GN/V-ING I enjoy V-ING I love GN/V-ING I'm mad / crazy about...! (informel) I hate GN/V-ING I can't stand / bear GN/V-ING I can't put up with GN/V-ING I don't go for it. (informel) Expressing preferences I prefer V-ing to V-ING I'd rather V than V I'd rather you V (prétérit modal) I feel more like V-ING than V-ING Instead of GN/V-ING (Au lieu de) I like it better/best Being indifferent... --- ### Guy Fawkes et le 5 novembre : de la Conspiration des Poudres à l’icône de la résistance moderne - **URL**: https://www.skyminds.net/guy-fawkes-conspiration-des-poudres-resistance/ Introduction Le 5 novembre est une date profondément ancrée dans l'histoire et la culture britanniques, dont la signification a évolué au fil des siècles pour acquérir une portée internationale. Cette journée commémore la Conspiration des Poudres de 1605, un complot visant à faire exploser le Parlement britannique, et est devenue un symbole de résistance contre l'oppression gouvernementale. Cet article explore les origines historiques du 5 novembre, son évolution culturelle, et son impact contemporain à travers la littérature, le cinéma et les mouvements sociaux. Guy Fawkes et la Conspiration des Poudres Contexte historique La Conspiration des Poudres s'inscrit dans le contexte des tensions religieuses en Angleterre au début du XVIIe siècle. Après des décennies de persécution sous le règne d'Elizabeth I, les catholiques anglais espéraient une amélioration de leur situation avec l'accession au trône de Jacques Ier en 1603. Cependant, leurs espoirs furent déçus lorsque le nouveau roi maintint les lois anti-catholiques. Le complot Un groupe de catholiques, mené par Robert Catesby, élabora un plan pour faire exploser la Chambre des Lords lors de l'ouverture du Parlement le 5 novembre 1605. Leur objectif était d'assassiner le roi Jacques Ier et de provoquer un soulèvement catholique. Guy Fawkes et son rôle Guy Fawkes, un ancien soldat devenu mercenaire, fut recruté pour son expertise en explosifs. Il fut chargé de surveiller les 36 barils de poudre à canon cachés dans une cave sous la Chambre des Lords. Découverte et conséquences Le complot fut découvert grâce à une lettre anonyme adressée à Lord Monteagle, l'avertissant de ne pas assister à l'ouverture du Parlement. Les autorités fouillèrent les caves le 4 novembre et trouvèrent Guy Fawkes avec les explosifs. Il fut arrêté, torturé et exécuté avec ses co-conspirateurs. Conséquences politiques et sociales Renforcement de l'anti-catholicisme La découverte du complot entraîna une vague d'anti-catholicisme en Angleterre. Les lois contre les catholiques furent renforcées, et leur loyauté envers la Couronne fut remise en question pendant des générations. Célébration nationale Le Parlement institua le 5 novembre comme jour de célébration nationale, marqué par des feux de joie et des sermons anti-catholiques. Cette tradition, connue sous le nom de "Bonfire Night" ou "Guy Fawkes Night", perdure jusqu'à aujourd'hui. Évolution culturelle La comptine traditionnelle La célébration du 5 novembre s'accompagne d'une comptine populaire en anglais : "Remember, remember the fifth of November,Gunpowder treason and plot.We see no reasonWhy gunpowder treasonShould ever be forgot!" "Penny for the Guy" Une tradition associée à la célébration était le "Penny for the Guy", où les enfants créaient des effigies de Guy Fawkes et demandaient de l'argent aux passants pour acheter des feux d'artifice. Cette pratique a largement disparu aujourd'hui. Réinterprétations modernes "V for Vendetta" V pour Vendetta, œuvre magistrale d'Alan Moore et David Lloyd, plonge le lecteur dans un Londres dystopique des années 1990, où un régime fasciste règne d'une main de fer sur une Angleterre post-apocalyptique. Cette bande dessinée, publiée entre 1982 et 1989, s'est rapidement imposée comme un classique du genre, mêlant habilement critique sociale, thriller politique et réflexion philosophique. Au cœur... --- ### Les 120 faux-amis les plus trompeurs en anglais - **URL**: https://www.skyminds.net/les-120-faux-amis-les-plus-trompeurs-en-anglais/ Introduction Les faux amis sont des mots qui semblent familiers dans deux langues mais ont des significations différentes. Pour les francophones apprenant l'anglais, ces mots peuvent être source de nombreuses confusions. Dans cet article exhaustif, nous allons explorer les 50 faux amis les plus problématiques, en expliquant leurs véritables significations et en fournissant des exemples pour éviter les erreurs courantes. Liste des 120 faux amis les plus trompeurs en anglais 1. Actually vs Actuellement Signification : En fait, en réalité ✅ I actually prefer tea to coffee. ❌ I'm actually working on a project. (Devrait être "currently" si on veut dire "en ce moment") 2. Eventually vs Éventuellement Signification : Finalement, à la longue ✅ If you practice, you’ll eventually speak English fluently. ❌ I’ll eventually come to the party. (Devrait être "I might come to the party" pour exprimer l'idée de "peut-être" ou "éventuellement" en français) 3. Sensible vs Sensible Signification : Raisonnable, sensé ✅ It’s sensible to save money for the future. ❌ He’s very sensible to criticism. (Devrait être “sensitive”) 4. To assist vs Assister Signification : Aider ✅ Can you assist me with this task? ❌ I will assist to the meeting. (Devrait être “attend”) 5. To demand vs Demander Signification : Exiger ✅ The workers are demanding better working conditions. ❌ Can I demand you a question? (Devrait être “ask”) 6. Library vs Librairie Signification : Bibliothèque ✅ I borrow books from the library. ❌ I bought this book at the library. (Devrait être “bookstore”) 7. Excited vs Excité Signification : Enthousiaste, impatient ✅ I’m excited about the upcoming concert. ❌ The dog is excited. (Pourrait être mal interprété, mieux vaut dire “agitated”) 8. To prevent vs Prévenir Signification : Empêcher ✅ Regular exercise can prevent many health problems. ❌ I’ll prevent you when I arrive. (Devrait être “inform” ou “let you know”) 9. Sympathetic vs Sympathique Signification : Compatissant ✅ She was very sympathetic when I told her about my problems. ❌ He’s a sympathetic person. (Si on veut dire “agréable”, utiliser “nice” ou “friendly”) 10. To achieve vs Achever Signification : Réaliser, accomplir ✅ She achieved her goal of running a marathon. ❌ I need to achieve this project by Friday. (Devrait être “complete” ou “finish”) 11. Advertisement vs Avertissement Signification : Publicité ✅ I saw an advertisement for a new car on TV. ❌ The police gave an advertisement about the danger. (Devrait être “warning”) 12. Affair vs Affaire (dans le sens commercial) Signification : Liaison amoureuse (souvent secrète) ✅ He had an affair with his colleague. ❌ It’s a good affair for our company. (Devrait être “deal” ou “business opportunity”) 13. To argue vs Arguer Signification : Se disputer ✅ They always argue about politics. ❌ He argued that the Earth was flat. (Devrait être “argued” dans le sens de “claimed”) 14. Candid vs Candide Signification : Franc, sincère ✅ She gave a candid interview about her struggles. ❌ He’s very candid, he believes everything. (Devrait être “naive”) 15. Caution vs... --- ### Maîtriser l’usage des prépositions en anglais : astuces et erreurs à éviter - **URL**: https://www.skyminds.net/maitriser-prepositions-anglais-guide-astuces/ Introduction Les prépositions en anglais peuvent être un véritable casse-tête pour les apprenants francophones. Ces petits mots jouent un rôle crucial dans la construction des phrases et peuvent changer complètement le sens d'une expression. Dans ce guide exhaustif, nous allons explorer les prépositions les plus courantes, leurs utilisations, et comment éviter les erreurs fréquentes. 1. Les prépositions de lieu 📍 At, In, On Ces trois prépositions sont souvent source de confusion. At : utilisé pour un point précis✅ I'm waiting at the bus stop.✅ She's at home. In : utilisé pour un espace fermé ou une zone plus large✅ I live in Paris.✅ The book is in my bag. On : utilisé pour une surface ou un jour précis✅ The cat is on the roof.✅ We'll meet on Monday. Autres prépositions de lieu importantes Under : sous Over : au-dessus Between : entre (deux choses) Among : parmi (plus de deux choses) Behind : derrière In front of : devant Next to : à côté de Above : au-dessus de Below : en dessous de Inside : à l'intérieur Outside : à l'extérieur Near : près de Far from : loin de Around : autour de Along : le long de Beside : à côté de Opposite : en face de 2. Les prépositions de temps ⏰ At, In, On (encore !) At : pour une heure précise✅ The meeting starts at 3 PM. In : pour les mois, années, siècles✅ I was born in 1990.✅ We'll go on vacation in July. On : pour les jours et les dates✅ The party is on Saturday.✅ She was born on April 15th. Autres prépositions de temps For : pendant (une durée)✅ I've been studying English for two years. Since : depuis (un point de départ)✅ I've lived here since 2010. During : pendant (un événement)✅ I fell asleep during the movie. By : avant une date limite✅ Please submit your report by Friday. Until/Till : jusqu'à✅ The store is open until 9 PM. From…to : de…à✅ The conference runs from Monday to Friday. 3. Les prépositions de mouvement 🚶 To : vers✅ I'm going to the store. From : de, depuis✅ The train goes from Paris to London. Through : à travers✅ We drove through the tunnel. Across : d'un côté à l'autre✅ She swam across the lake. Into : dans (mouvement vers l'intérieur)✅ He walked into the room. Out of : hors de (mouvement vers l'extérieur)✅ She ran out of the house. Towards : en direction de✅ The dog ran towards its owner. Away from : loin de✅ The cat ran away from the dog. Up : en haut✅ We climbed up the mountain. Down : en bas✅ They walked down the stairs. Off : de, hors de✅ The cat jumped off the table. 4. Prépositions avec des verbes et des adjectifs 🔗 Certains verbes et adjectifs sont toujours suivis de prépositions spécifiques. C'est souvent ici que les erreurs se produisent car ces associations peuvent être différentes en français. Depend... --- ### Maîtriser le conditionnel en anglais - **URL**: https://www.skyminds.net/maitriser-les-temps-du-conditionnel-en-anglais/ Les conditionnels en anglais : explorer les types et règles du conditionnel anglais ! 🌟🔮 Imaginez un monde où chaque choix que vous faites ouvre une porte vers une multitude de possibilités. Le conditionnel en anglais est votre clé pour explorer ces scénarios. Que ce soit pour exprimer des rêves, des souhaits ou des hypothèses, maîtriser les conditionnels vous permet de naviguer dans des situations imaginaires et de réfléchir aux conséquences de vos actions. Dans cet article, nous allons plonger dans les différents types de conditionnel, des plus simples aux plus complexes, afin de vous aider à donner vie à vos idées et à vos réflexions. 1. Le Conditionel Zéro en anglais (Zero Conditional) 🌍 Le zero conditional est utilisé pour les vérités générales ou les faits scientifiques. Utilisations : a) Faits scientifiques : ✅ If you heat water to 100°C, it boils. ✅ When it rains, the ground gets wet. Formation : Structure : If/When + présent simple, présent simple ✅ If you mix blue and yellow, you get green. 2. Le Premier Conditionnel en anglais (First Conditional) 🌟 Le first conditional est utilisé pour parler de situations réelles ou possibles dans le futur. Utilisations : a) Situations futures probables : ✅ If it rains tomorrow, I will stay home. ✅ If you study hard, you will pass the exam. b) Promesses ou menaces : ✅ If you finish your homework, I will take you to the cinema. ✅ If you don't behave, I won't let you go out. Formation : Affirmative : If + sujet + verbe (présent simple), sujet + will + verbe (base form) ✅ If you eat too much, you will get sick. Négative : If + sujet + verbe (présent simple), sujet + will not (won't) + verbe (base form) ✅ If it doesn't rain, we won't cancel the picnic. Interrogative : If + sujet + verbe (présent simple), will + sujet + verbe (base form) ✅ If she studies, will she pass the test? Variantes : a) Utilisation d'autres modaux : ✅ If it rains, we might stay at home. ✅ If you're late, you could miss the train. b) Alternatives à "if" : ✅ Unless it rains, we'll go for a picnic. (= If it doesn't rain) ✅ As long as you work hard, you'll succeed. 3. Le Deuxième Conditionnel en anglais (Second Conditional) 🌌 Le second conditional est utilisé pour parler de situations irréelles ou improbables dans le présent ou le futur. Utilisations : a) Situations hypothétiques : ✅ If I had a million dollars, I would travel the world. ✅ If she were here, she would help us. b) Souhaits ou rêves : ✅ I wish I could fly. ✅ If only he were more responsible. Formation : Affirmative : If + sujet + verbe au past simple, sujet + would + verbe (base form) ✅ If I won the lottery, I would buy a house. Négative : If + sujet + verbe au past simple, sujet + would not... --- ### Maîtriser les temps du futur en anglais - **URL**: https://www.skyminds.net/maitriser-les-temps-du-futur-en-anglais/ Les temps du futur en anglais : préparez-vous à l'avenir ! 🚀🔮 Le futur est rempli de possibilités, et en anglais, chaque temps verbal vous aide à exprimer vos rêves, vos plans et vos prévisions. Parler de l'avenir n'est pas seulement une question de grammaire, c'est une manière de donner vie à vos idées. Dans cet article, nous allons découvrir quatre façons d'exprimer le futur : le future simple, le future continuous, le future perfect et le future perfect continuous. Chacun de ces temps vous permettra de communiquer clairement vos pensées sur ce qui est à venir. Prêts à explorer ?  1. Le Future Simple (Futur simple) 🗓️ Le future simple est le temps de base pour parler d'actions qui se produiront à l'avenir. Utilisations : a) Actions futures : ✅ I will travel to Spain next summer. ✅ She will start her new job on Monday. b) Promesses ou décisions spontanées : ✅ I will help you with your homework. ✅ They will call you later. c) Prédictions basées sur des opinions : ✅ I think it will rain tomorrow. ✅ She believes they will win the match. Formation : Affirmative : Sujet + will + verbe (base verbale) ✅ I will go. / She will eat. Négative : Sujet + will not (won't) + verbe (base verbale) ✅ I will not (won't) go. / She will not (won't) eat. Interrogative : Will + sujet + verbe (base form) ✅ Will you go? / Will she eat? 2. Le Future Continuous (Futur continu) ⏳ Le future continuous décrit une action qui sera en cours à un moment précis dans le futur. Utilisations : a) Action en cours à un moment futur : ✅ I will be studying at 8 PM tonight. ✅ They will be playing football tomorrow afternoon. b) Prévisions sur des événements futurs : ✅ It will be raining this weekend. ✅ She thinks they will be arriving soon. Formation : Affirmative : Sujet + will be + verbe + -ing ✅ I will be working. / They will be traveling. Négative : Sujet + will not (won't) be + verbe + -ing ✅ I will not (won't) be working. / They will not (won't) be traveling. Interrogative : Will + sujet + be + verbe + -ing ✅ Will you be working? / Will they be traveling? 3. Le Future Perfect (Futur antérieur) 🔗 Le future perfect exprime une action qui sera terminée avant un moment ou une autre action dans le futur. Utilisations : a) Action terminée avant un moment futur : ✅ I will have finished my project by Friday. ✅ They will have left before we arrive. b) Prévisions sur des résultats futurs : ✅ By next year, she will have graduated from university. ✅ He believes he will have completed the course by then. Formation : Affirmative : Sujet + will have + participe passé ✅ I will have eaten. / She will have gone. Négative : Sujet + will not (won't)... --- ### Maîtriser les temps du passé en anglais - **URL**: https://www.skyminds.net/maitriser-les-4-temps-du-passe-en-anglais/ Les temps du passé en anglais : démystifiez les nuances ! ⏳🔍 Le passé est un terrain riche à explorer, et en anglais, chaque temps verbal vous permet de raconter des événements avec précision. Maîtriser ces temps vous aide à construire des histoires captivantes et à communiquer efficacement sur ce qui s'est déjà passé. Dans cet article, nous allons examiner les quatre principaux temps du passé en anglais : le past simple, le past continuous, le past perfect, et le past perfect continuous. Chacun de ces temps vous donnera les outils nécessaires pour exprimer vos idées avec clarté.  1. Le Past Simple (Prétérit) 📅 Le past simple est le temps de base pour parler d'actions terminées dans le passé. Utilisations : a) Actions terminées à un moment précis du passé : ✅ I visited Paris last summer. ✅ She bought a new car yesterday. b) Séquence d'actions passées : ✅ He woke up, had breakfast, and went to work. c) États ou situations dans le passé : ✅ I lived in London for five years. Formation : Affirmative : Verbes réguliers : Sujet + verbe + -ed Verbes irréguliers : Sujet + forme passée du verbe ✅ I played tennis. / She went to the store. Négative : Sujet + didn't + verbe (base verbale) ✅ I didn't play tennis. / She didn't go to the store. Interrogative : Did + sujet + verbe (base verbale) ✅ Did you play tennis? / Did she go to the store? Attention aux pièges ! 🚨 ❌ I goed to the park. → ✅ I went to the park. ❌ Did you went to the store? → ✅ Did you go to the store? 2. Le Past Continuous (Past Be + -ing) 🏃‍♂️ Le past continuous décrit une action en cours à un moment précis du passé. Utilisations : a) Action en cours interrompue par une autre action : ✅ I was reading when the phone rang. b) Deux actions en cours simultanément dans le passé : ✅ While I was cooking, my sister was setting the table. c) Pour décrire l'ambiance ou le contexte : ✅ It was raining, and the wind was blowing. Formation : Affirmative : Sujet + was/were + verbe + -ing ✅ I was studying. / They were playing. Négative : Sujet + was/were + not + verbe + -ing ✅ I was not (wasn't) studying. / They were not (weren't) playing. Interrogative : Was/Were + sujet + verbe + -ing ✅ Was I studying? / Were they playing? Astuce : 💡 Utilisez le past continuous pour "encadrer" une action au past simple : ✅ I was walking in the park when I saw my friend. 3. Le Past Perfect 🔗 Le past perfect exprime une action qui s'est produite avant une autre action dans le passé. Utilisations : a) Action terminée avant une autre action passée : ✅ I had finished my homework before I went to bed. b) Regrets ou souhaits irréels concernant le passé :... --- ### Maîtriser les 4 temps du présent en anglais - **URL**: https://www.skyminds.net/maitriser-les-4-temps-du-present-en-anglais/ Les temps du présent en anglais : maîtrisez les nuances 🕰️💡 En anglais, les temps du présent sont essentiels pour communiquer efficacement. Contrairement au français qui utilise principalement un seul temps présent, l'anglais en emploie quatre, chacun exprimant des nuances spécifiques. Maîtriser ces temps vous permettra de vous exprimer avec précision et d'éviter les malentendus courants. Explorons ensemble ces quatre temps : le present simple, le present continuous, le present perfect, et le present perfect continuous. 1. Le Present Simple 🔄 Imaginez le present simple comme le temps de base, celui qui décrit le monde tel qu'il est habituellement. Utilisations : a) Vérités générales ou faits scientifiques : ✅ The Earth rotates around the Sun. ✅ Water boils at 100°C. b) Habitudes ou routines : ✅ I brush my teeth twice a day. ✅ She plays basketball every weekend. c) États permanents ou situations durables : ✅ He lives in London. ✅ I love chocolate. Formation : Utilisez la base verbale pour la plupart des personnes : I play, You work, We study À la 3ème personne du singulier (he, she, it), ajoutez "-s" : He plays, She works, It costs Affirmative : Sujet + verbe (+ -s à la 3ème personne du singulier) ✅ I play tennis. / She plays tennis. Négative : Sujet + don't/doesn't + verbe (base form) ✅ I don't play tennis. / She doesn't play tennis. Interrogative : Do/Does + sujet + verbe (base form) ✅ Do you play tennis? / Does she play tennis? L'auxiliaire "do" : Apparaît dans les phrases négatives et interrogatives S'accorde avec le sujet : "do" (I, you, we, they) ou "does" (he, she, it) ✅ I don't like coffee. / Does he like coffee? Attention aux pièges ! 🚨 ❌ She play tennis. → ✅ She plays tennis. ❌ I doesn't like coffee. → ✅ I don't like coffee. Les verbes d'état 🌟 Les verbes d'état décrivent des conditions ou des états plutôt que des actions dynamiques. Ils sont souvent utilisés au present simple. Exemples de verbes d'état : a) Verbes d'état mentaux : Know, believe, understand ✅ I know the answer. b) Verbes d'état émotionnels : Love, hate, prefer ✅ She loves chocolate. c) Verbes d'état sensoriels : See, hear, smell ✅ I see the mountains from my window. Ces verbes ne sont généralement pas utilisés au présent continu car ils décrivent des états statiques plutôt que des actions en cours. Les adverbes de fréquence 🔄 Les adverbes de fréquence sont couramment utilisés avec le present simple pour indiquer la régularité d'une action. Principaux adverbes de fréquence : Always (100%) Usually (80%) Often (70%) Sometimes (50%) Occasionally (30%) Rarely (10%) Never (0%) Position dans la phrase : Les adverbes de fréquence se placent généralement : Avant le verbe principal Après le verbe "to be" Exemples : ✅ I always eat breakfast in the morning. ✅ She is usually late for work. ✅ They sometimes go to the cinema on weekends. ✅ We never eat fast food. Astuce : 💡 Utilisez ces adverbes pour donner... --- ### Wax Audio – Whole Lotta Sabbath (Led Zeppelin and Black Sabbath mashup) - **URL**: https://www.skyminds.net/wax-audio-whole-lotta-sabbath-mashup/ https://www.youtube.com/watch?v=ThU9BOWcmjM Voici le mashup de Wax Audio qui combine Whole Lotta Love de Led Zeppelin avec War Pigs de Black Sabbath. Ce titre est tellement bon que Zakk Wylde l'utilise en musique d'introduction pour ses concerts avec Black Label Society. --- ### Megaupload : l’ascension et la chute d’un empire du partage de fichiers - **URL**: https://www.skyminds.net/megaupload-ascension-chute-empire-partage-de-fichiers/ Dans les annales d'Internet, peu de noms résonnent avec autant de controverse et de fascination que Megaupload. Ce géant du partage de fichiers en ligne, qui a marqué le début des années 2000, incarne à lui seul les promesses et les périls de l'ère numérique. De son ascension fulgurante à sa chute brutale, l'histoire de Megaupload est indissociable de celle de son fondateur charismatique et excentrique, Kim Dotcom. Plongeons dans cette saga qui continue d'alimenter les débats sur la propriété intellectuelle, la liberté sur Internet et les limites de la loi dans le cyberespace. Les débuts : naissance d'un géant Megaupload voit le jour en 2005, fruit de l'imagination fertile de Kim Schmitz, qui se fera plus tard connaître sous le nom de Kim Dotcom. Né en Allemagne en 1974, Schmitz s'est déjà fait un nom dans le monde de l'informatique, oscillant entre piratage et entrepreneuriat. L'idée de Megaupload naît d'un constat simple : à l'époque, partager des fichiers volumineux est un véritable casse-tête. Les boîtes mail ont des limites de taille ridicules, et les solutions existantes sont peu pratiques. Schmitz flaire l'opportunité et crée un service révolutionnaire : un site permettant de téléverser facilement des fichiers de grande taille et de les partager via un simple lien. Le concept est simple mais génial. N'importe qui peut uploader un fichier, qu'il s'agisse d'une présentation PowerPoint, d'un album photo de vacances ou d'un film entier. Le site génère alors un lien unique que l'utilisateur peut partager à sa guise. Les destinataires n'ont plus qu'à cliquer pour télécharger le fichier, sans même avoir besoin de s'inscrire. Dès ses débuts, Megaupload se démarque par sa facilité d'utilisation et ses capacités techniques impressionnantes. Le site permet de stocker des fichiers jusqu'à 200 Mo, une taille considérable pour l'époque. Cette générosité, couplée à une interface intuitive, séduit rapidement les internautes du monde entier. L'ascension fulgurante Le succès de Megaupload est fulgurant. En quelques années, le site devient l'un des plus visités au monde. En 2011, il revendique plus de 50 millions d'utilisateurs quotidiens et capte jusqu'à 4% du trafic Internet mondial. Ces chiffres vertigineux en font le 13e site le plus populaire de la planète. Pour soutenir cette croissance exponentielle, Megaupload déploie une infrastructure colossale. Le site emploie plus de 150 personnes et gère un réseau de plus de 1000 serveurs répartis dans le monde entier. Ces serveurs hébergent pas moins de 25 pétaoctets de données, soit l'équivalent de plusieurs millions de films en haute définition. Le modèle économique de Megaupload repose sur un système freemium astucieux. Le service de base est gratuit, mais les utilisateurs peuvent souscrire à un abonnement premium offrant des avantages supplémentaires : téléchargements plus rapides, stockage illimité, etc. Cette formule s'avère extrêmement lucrative. Selon les estimations, Megaupload aurait généré des revenus de plusieurs centaines de millions de dollars par an au plus fort de son activité. Mais ce qui fait vraiment décoller Megaupload, c'est son programme de récompenses pour les uploaders. Le site promet de rémunérer les utilisateurs dont les... --- ### RapidShare : l’histoire d’un pionnier du partage de fichiers en ligne - **URL**: https://www.skyminds.net/tout-savoir-sur-rapidshare/ RapidShare a été l'un des services de partage et d'hébergement de fichiers les plus populaires au monde dans les années 2000. Lancé en 2002, ce site allemand a connu une ascension fulgurante avant de décliner et de fermer définitivement ses portes en 2015. Retour sur l'histoire mouvementée de ce géant du partage de fichiers qui a marqué toute une époque d'Internet. Les débuts prometteurs de RapidShare RapidShare a été fondé en 2002 par Christian Schmid, un jeune entrepreneur allemand alors âgé de 20 ans. L'idée lui est venue alors qu'il cherchait un moyen simple de partager des fichiers volumineux avec ses amis. À l'époque, les connexions Internet étaient encore relativement lentes et les solutions de partage limitées. Le concept de RapidShare était simple mais novateur : permettre aux utilisateurs de télécharger gratuitement des fichiers sur les serveurs du site, puis de les partager via un lien unique. N'importe qui pouvait ensuite télécharger le fichier en cliquant sur ce lien, sans avoir besoin de s'inscrire. Le service a rapidement gagné en popularité grâce à plusieurs avantages : Une interface simple et intuitive La possibilité de partager des fichiers volumineux (jusqu'à 200 Mo au départ) Aucune inscription requise pour télécharger Une vitesse de téléchargement élevée pour l'époque Dès 2004, RapidShare comptait déjà plusieurs millions d'utilisateurs. Le site a continué sa croissance exponentielle les années suivantes, devenant l'un des 50 sites les plus visités au monde en 2006. L'âge d'or de RapidShare Entre 2006 et 2010, RapidShare a connu son apogée. Le site était devenu incontournable pour partager toutes sortes de fichiers : photos, vidéos, logiciels, documents, etc. Plusieurs facteurs expliquent ce succès fulgurant : Une capacité technique impressionnante RapidShare disposait d'une infrastructure colossale, avec des milliers de serveurs répartis dans le monde entier. Cela lui permettait de gérer un trafic énorme et d'offrir des vitesses de téléchargement élevées. Un modèle économique efficace Le service de base était gratuit, mais RapidShare proposait aussi des comptes premium payants offrant plus d'avantages (téléchargements illimités, vitesse maximale, etc.). Ce modèle freemium s'est avéré très rentable. Une forte viralité Le partage de liens RapidShare s'est généralisé sur les forums, blogs et réseaux sociaux. Le site bénéficiait ainsi d'un bouche-à-oreille massif et gratuit. Une relative tolérance envers les contenus illégaux Bien que RapidShare affirmait lutter contre le piratage, le site était largement utilisé pour partager illégalement des films, séries, musiques et logiciels. Cette tolérance de fait a contribué à sa popularité. Au plus fort de son succès, RapidShare revendiquait : Plus de 50 millions d'utilisateurs inscrits Jusqu'à 400 000 téléchargements simultanés 10 pétaoctets de données stockées Plus de 500 employés Le site générait alors des revenus estimés à plusieurs centaines de millions d'euros par an. Les défis et controverses Malgré son immense succès, RapidShare a dû faire face à de nombreux défis et controverses au fil des années : La lutte contre le piratage RapidShare est rapidement devenu l'une des principales plateformes utilisées pour le partage illégal de contenus protégés par le droit d'auteur. L'industrie du divertissement a... --- ### Wax Audio – Stayin’ in Black (Bee Gees and AC/DC Mashup) - **URL**: https://www.skyminds.net/wax-audio-stayin-in-black-bee-gees-acdc-mashup/ https://www.youtube.com/watch?v=OrlWWrSwaB8 Wax Audio nous régale encore : un mashup entre Stayin' Alive des Bee Gees et Back in Black d'AC/DC, deux groupes australiens. --- ### Le PC : cette machine facétieuse et entropique - **URL**: https://www.skyminds.net/le-pc-cette-machine-facetieuse-et-entropique/ Léo, un jeune développeur passionné de technologie, pensait avoir trouvé le compagnon idéal pour ses projets ambitieux. Il avait investi dans un PC haut de gamme, qu'il avait baptisé "Loki", en hommage au dieu nordique connu pour ses farces et ses tours. Cependant, ce qu'il ignorait, c'est que Loki ne se contenterait pas d'être un simple outil de travail. Au contraire, il se révélerait être une machine capricieuse, capable de faire vivre à Léo des moments d'angoisse mêlés d'humour. Le ballet imprévisible du démarrage Chaque matin, Léo s'installait devant son bureau, prêt à plonger dans le monde du code et de la créativité. Mais avant de pouvoir ouvrir son éditeur de texte favori, il devait d'abord affronter le mystère du démarrage de Loki. Parfois, la machine se mettait en marche sans problème, affichant le logo Windows avec une rapidité déconcertante. D'autres fois, elle restait muette comme une tombe, refusant obstinément de dépasser l'écran du BIOS. Un lundi matin particulièrement frustrant, Léo appuya sur le bouton d'alimentation avec l'espoir que Loki soit de bonne humeur. Après un bip prometteur et l'affichage du logo du fabricant, la machine s'arrêta brusquement. L'écran noir semblait se moquer de lui. Après plusieurs tentatives infructueuses et quelques soupirs exaspérés, Léo décida d'effectuer un redémarrage forcé. Cette fois-ci, Windows daigna s'afficher, mais au prix d'une lenteur insupportable. Chaque icône semblait hésiter avant de se dévoiler. L'entropie : cette force capricieuse L'imprévisibilité de Loki rappelait étrangement le concept d'entropie en thermodynamique. Ce terme désigne le degré de désordre dans un système : plus l'entropie est élevée, plus le système est chaotique. Tout comme l'entropie tend à augmenter naturellement dans un système fermé, le comportement erratique de Loki semblait se dégrader avec le temps. Léo commença à réfléchir à ces parallèles entre son ordinateur et les systèmes thermodynamiques. Il comprit que chaque démarrage était une sorte d'expérience aléatoire où les résultats variaient considérablement. La variation d'entropie pouvait être représentée par l'équation ΔS = Sfinal - Sinitial : ici, l'état final de Loki était invariablement plus désordonné que son état initial. Il se mit à imaginer Loki comme un petit univers en soi, où chaque démarrage était une nouvelle aventure pleine de surprises. Cette prise de conscience transforma sa frustration en curiosité. Les péripéties d'un PC fantasque Une journée chaotique Un mardi matin, alors que Léo s'était préparé à travailler sur un projet important pour son entreprise, Loki sembla particulièrement inspiré par le chaos. En appuyant sur le bouton d'alimentation, il fut accueilli par un écran bleu qui clignotait comme une lumière stroboscopique. "Erreur fatale", disait-il avec un air provocateur. Léo prit une grande inspiration et tenta un redémarrage. Cette fois-ci, Windows démarra normalement… mais au bout de quelques minutes, la machine bascula soudainement en mode sans échec. Léo était interloqué : il n'avait rien demandé ! Il navigua dans les menus avec précaution pour tenter de revenir à la normale. Après une heure passée à jongler avec les paramètres du système et à consulter des forums en ligne sur... --- ### Se désabonner des listes syndicales de l’Éducation Nationale - **URL**: https://www.skyminds.net/se-desabonner-des-listes-syndicales-education-nationale/ La communication dans l'Éducation Nationale est devenue un véritable défi pour les enseignants. Notre messagerie académique, autrefois outil professionnel essentiel, se trouve aujourd'hui submergée par un flot incessant de messages syndicaux, dont la pertinence est parfois discutable. Cette situation, loin d'être anodine, contribue à une surcharge informationnelle préoccupante. La multiplication des canaux de communication La messagerie académique n'est plus le seul vecteur d'information pour les professeurs. L'Environnement Numérique de Travail (ENT) et Pronote sont venus s'ajouter à l'arsenal communicationnel, offrant des fonctionnalités telles que la messagerie interne, les discussions et les chats. Cette diversification des canaux, bien qu'elle puisse sembler pratique à première vue, engendre en réalité une charge mentale considérable pour les enseignants. L'impact sur le quotidien des enseignants La gestion de multiples plateformes de communication nécessite un temps et une énergie non négligeables. Les enseignants se retrouvent contraints de jongler entre différents systèmes, chacun avec ses propres notifications et interfaces. Cette fragmentation de l'attention peut nuire à la concentration et à l'efficacité dans les tâches pédagogiques essentielles. La surcharge informationnelle L'afflux constant de messages, qu'ils soient syndicaux, administratifs ou pédagogiques, crée un bruit de fond informationnel difficile à gérer. Les informations importantes risquent de se perdre dans cette masse, rendant ardu le tri entre l'essentiel et le superflu. Cette surcharge peut mener à un sentiment de submersion et de stress chez les professeurs. La nécessité de réduire le flux d'informations Face à cette situation, il devient crucial de mettre en place des stratégies pour réduire le nombre de messages reçus. Une approche efficace consiste à se désabonner des listes syndicales jugées moins pertinentes pour sa pratique professionnelle. Cette démarche permet non seulement de diminuer le volume de courriels, mais aussi de recentrer son attention sur les informations véritablement utiles. Le défi du désabonnement manuel Jusqu'à présent, se désabonner des listes syndicales pouvait s'avérer fastidieux. Le processus impliquait de se rendre sur une page dédiée et de décocher manuellement chaque liste, une par une. Pour de nombreux enseignants, cette tâche chronophage s'ajoutait à une liste déjà longue de responsabilités administratives. Une solution efficace : l'automatisation du désabonnement Heureusement, il existe une méthode plus rapide et plus efficace pour se désabonner des listes syndicales en masse. Cette approche utilise un simple script JavaScript pour automatiser le processus, économisant ainsi un temps précieux aux enseignants. Étapes pour un désabonnement rapide Rendez-vous sur la page de désabonnement officielle des listes syndicales. Assurez-vous de sélectionner l'option "50 listes par page" pour maximiser l'efficacité du processus. Ouvrez la console de développeur de votre navigateur. Sur la plupart des navigateurs, vous pouvez le faire en appuyant sur F12 ou en faisant un clic droit et en sélectionnant "Inspecter" puis "Console". Copiez et collez le code JavaScript suivant dans la console : document.querySelectorAll('input[type="checkbox"]').forEach(checkbox => { checkbox.checked = true; }); Appuyez sur Entrée pour exécuter le script. Ce code simple mais puissant cochera automatiquement toutes les cases des listes affichées sur la page, vous épargnant environ 80+ clics manuels. Une fois toutes les cases cochées, il ne... --- ### Réussir la transposition en spécialité anglais LLCER du bac - **URL**: https://www.skyminds.net/reussir-transposition-specialite-anglais-llcer-bac/ La transposition en spécialité anglais LLCER fait partie de la deuxième partie de l’épreuve écrite du baccalauréat. Elle peut sembler plus simple qu’une traduction classique, mais elle demande en réalité une vraie méthode : comprendre le texte, sélectionner l’essentiel, puis reformuler en français clair sans trahir le sens. Autrement dit, il ne s’agit ni de traduire mot à mot, ni de résumer vaguement. Il faut rendre compte des idées principales d’un texte anglais avec précision, dans une langue française correcte, structurée et naturelle. Voici une méthode simple, efficace et utilisable le jour de l’épreuve pour réussir la transposition en LLCER anglais. Qu’est-ce que la transposition en LLCER anglais ? La transposition est un exercice de passage de l’anglais vers le français. Cependant, contrairement à la traduction, elle ne demande pas de restituer chaque mot du texte. Elle demande de rendre compte des idées principales d’un document en français. Le sujet précise toujours s’il faut faire une traduction ou une transposition. Il faut donc lire la consigne avec attention avant de commencer. Cela paraît évident, mais beaucoup de copies perdent des points dès cette étape. C’est rageant. Et évitable. Dans une transposition, on attend généralement que vous montriez trois compétences : vous comprenez le texte anglais dans ses idées principales ; vous savez sélectionner les informations importantes ; vous savez reformuler ces informations en français correct et précis. La transposition évalue donc autant votre compréhension de l’anglais que votre capacité à écrire clairement en français. Transposition ou traduction : quelle différence ? La différence est essentielle. Une traduction cherche à restituer un passage de manière fidèle, phrase par phrase. Une transposition cherche à rendre compte du contenu principal d’un texte, en français, sans suivre mécaniquement toutes les phrases du texte source. TraductionTranspositionSuit un passage précis.Rend compte d’un texte ou d’un passage.Respecte l’ordre des phrases autant que possible.Peut réorganiser les idées pour plus de clarté.Travaille au plus près des mots.Travaille surtout sur le sens.Exige une grande précision lexicale.Exige sélection, reformulation et hiérarchisation.Peut conserver certains détails stylistiques.Se concentre sur les idées principales, le point de vue et les nuances. La transposition n’est donc pas une traduction “plus libre”. C’est un exercice différent. Elle demande de comprendre le texte avant d’écrire. Si vous commencez à rédiger trop tôt, vous risquez de produire une traduction maladroite ou un résumé trop flou. Ce que le correcteur attend vraiment Pour réussir, il faut répondre à la consigne avec efficacité. Le correcteur ne cherche pas une belle paraphrase décorative. Il vérifie surtout si vous avez compris le texte et si vous savez transmettre son contenu en français. Une bonne transposition doit donc être : fidèle : elle ne déforme pas le texte ; sélective : elle retient les idées importantes ; claire : elle se lit facilement en français ; nuancée : elle rend compte du point de vue, du ton ou de l’implicite si nécessaire ; objective : elle n’ajoute pas d’opinion personnelle. Votre objectif n’est pas de montrer que vous avez tout vu. Votre objectif est... --- ### Réussir la traduction en spécialité anglais LLCER au bac : méthode et pièges - **URL**: https://www.skyminds.net/reussir-traduction-specialite-anglais-llcer-bac/ La traduction en spécialité anglais LLCER peut sembler courte. C’est vrai : elle ne représente qu’une partie de l’épreuve écrite. Pourtant, elle peut faire une vraie différence sur la copie. À l’écrit de spécialité LLCER, la première partie est une synthèse en langue étrangère. La seconde partie demande, selon le sujet, une traduction en français ou une transposition en français. La traduction porte sur un passage d’environ 500 signes, blancs et espaces compris. Elle est notée sur 4 points, contre 16 points pour la synthèse. Autrement dit, ce n’est pas l’exercice le plus long, mais c’est souvent celui où les élèves perdent des points bêtement : faux amis, calques, mauvais temps, pronoms mal identifiés, français maladroit, contresens sur une expression idiomatique. Bonne nouvelle : avec une méthode claire, la traduction devient beaucoup moins impressionnante. Il ne s’agit pas de deviner une formule magique. Il faut comprendre précisément, puis écrire un français juste, fluide et fidèle. Version, traduction, transposition : de quoi parle-t-on exactement ? En LLCER anglais, la traduction demandée est généralement une version : vous partez d’un texte en anglais et vous le rendez en français. La traduction cherche à restituer le sens, le ton et la construction du passage avec précision. Elle reste proche du texte source, sans devenir un mot-à-mot maladroit. La transposition, elle, demande plutôt de reformuler les idées principales d’un passage en français. Elle est moins littérale. Elle vérifie votre compréhension globale et votre capacité à rendre le contenu clairement. Dans les deux cas, le correcteur évalue votre compréhension de l’anglais et votre maîtrise du français. Oui, du français. Une traduction bancale en français coûte cher, même quand l’anglais est compris. C’est cruel, mais assez logique. Ce que le correcteur attend vraiment Une bonne traduction n’est pas une traduction “mot à mot”. C’est une traduction fidèle, claire et naturelle. Le correcteur attend quatre choses : une compréhension précise du passage anglais ; une restitution fidèle du sens ; un français correct, idiomatique et fluide ; des choix cohérents pour les temps, les pronoms, le registre et le ton. Il faut donc éviter deux excès. D’un côté, le calque qui colle trop à l’anglais. De l’autre, la réécriture trop libre qui ajoute des nuances absentes du texte. La bonne traduction marche sur une ligne fine : fidèle au texte, mais écrite dans un français qui respire. Méthode rapide en 6 étapes Pour réussir la traduction, ne commencez pas immédiatement à écrire. C’est le meilleur moyen de tomber dans les pièges du texte. 1. Lisez le passage entier Commencez par lire le passage sans traduire. Cherchez simplement à comprendre la situation. Qui parle ? De qui parle-t-on ? Où se situe la scène ? Quel est le ton ? Le passage est-il narratif, descriptif, argumentatif ou dialogué ? Y a-t-il de l’ironie, de la peur, du regret, de la colère, de l’admiration ? Cette première lecture évite les contresens grossiers. Elle vous donne aussi le registre : familier, soutenu, neutre, littéraire, journalistique, intime. 2. Repérez les verbes... --- ### The Lonely Island – Shy Ronnie (feat. Rihanna) - **URL**: https://www.skyminds.net/the-lonely-island-shy-ronnie-feat-rihanna/ Certains duos musicaux reposent sur l’alchimie. D’autres reposent sur un désastre social filmé avec beaucoup trop de sérieux. Shy Ronnie, le sketch musical de The Lonely Island avec Rihanna, appartient clairement à la deuxième catégorie. Diffusé à l’origine dans Saturday Night Live le 5 décembre 2009, ce SNL Digital Short met en scène Rihanna et Andy Samberg dans le rôle de Shy Ronnie, un rappeur roux, nerveux, presque inaudible, et tragiquement incapable d’exister dès qu’une vraie star se tient à côté de lui. https://www.youtube.com/watch?v=nX4vzKH4les Un sketch musical construit sur un contraste parfait Le concept de Shy Ronnie tient en une ligne : Rihanna vient chanter devant une classe d’enfants avec un partenaire censé l’accompagner. Cependant, ce partenaire parle si bas que personne ne comprend ce qu’il dit. Rihanna assure la partie pop, souriante, claire et professionnelle. Ronnie, lui, marmonne dans son coin, les épaules rentrées, les lunettes vissées au visage, comme s’il regrettait déjà toutes ses décisions de vie. Le gag fonctionne immédiatement, parce que The Lonely Island pousse le malaise jusqu’au bout. Ronnie n’est pas seulement timide. Il est catastrophiquement timide. Chaque intervention ruine la chanson, chaque silence devient trop long, et chaque tentative de rap ressemble à une panne de micro humaine. Rihanna joue le jeu avec une précision redoutable La grande force du sketch, c’est que Rihanna ne surjoue jamais la blague. Elle reste droite, lumineuse, presque imperturbable. Par conséquent, Andy Samberg peut devenir de plus en plus pathétique sans que la scène perde son équilibre. Ce choix rend Ronnie encore plus drôle. Face à une star qui tient la chanson, il devient un trou noir comique. Rihanna chante, sourit, relance le morceau. Ronnie, lui, s’efface dans son pull rayé comme une souris coincée dans une réunion PowerPoint. Et puis vient le retournement. Dès que Rihanna quitte la pièce, Ronnie trouve soudain sa voix. Il devient agressif, audible, presque trop confiant. Pourtant, dès qu’elle revient, il se replie aussitôt. Le sketch repose donc sur une mécanique simple, mais imparable : Ronnie n’a du courage que lorsqu’il n’y a plus aucun enjeu. Fire & Ice : une fausse chanson caritative complètement sabotée Sur le site officiel de The Lonely Island, la vidéo est présentée comme une performance de Rihanna et Shy Ronnie autour de leur morceau fictif Fire & Ice. Le court dure 2 minutes 31, a été réalisé par Akiva Schaffer, et appartient à la saison 35 de Saturday Night Live. Ce détail compte, parce que le sketch parodie aussi les chansons pédagogiques ou caritatives vaguement inspirantes. Tout semble conçu pour être positif : des enfants, un message simple, une star mondiale, une mélodie accessible. Ensuite, Shy Ronnie arrive, et l’ensemble prend l’eau par la bonde. Ce n’est pas un hasard si le morceau a marqué les esprits. Shy Ronnie a même été nommé aux Emmy Awards 2010 dans la catégorie “Outstanding Original Music and Lyrics”. Le personnage le plus fragile du rap parodique Shy Ronnie condense une idée très Lonely Island : prendre les codes du... --- ### Mise à jour du serveur vers Ubuntu 24.04 LTS - **URL**: https://www.skyminds.net/mise-a-jour-ubuntu-24-04-lts/ L'heure est venue de mettre notre serveur Apollo à jour: jusqu'alors sous Ubuntu 22.04 (jammy jellyfish), nous passons à Ubuntu 24.04 LTS (noble numbat). On installe l'outil de mise à jour Ubuntu: apt install ubuntu-release-upgrader-core On vérifie que l'outil est bien configuré pour récupérer la version LTS: grep 'lts' /etc/update-manager/release-upgrades # lts - Check to see if a new LTS release is available. The upgrader Prompt=lts On ajoute une règle pour ufw pour ouvrir le port 1022 en cas de souci: sudo ufw allow 1022/tcp comment 'Open port ssh TCP/1022 as failsafe for upgrades' Rule added Rule added (v6) On lance la mise à jour: sudo do-release-upgrade -d Checking for a new Ubuntu release = Welcome to Ubuntu 24.04 LTS 'Noble Numbat' = The Ubuntu team is proud to announce Ubuntu 24.04 LTS 'Noble Numbat'. Reading cache Checking package manager Continue running under SSH? This session appears to be running under ssh. It is not recommended to perform a upgrade over ssh currently because in case of failure it is harder to recover. If you continue, an additional ssh daemon will be started at port '1022'. Do you want to continue? Continue [yN] y Starting additional sshd To make recovery in case of failure easier, an additional sshd will be started on port '1022'. If anything goes wrong with the running ssh you can still connect to the additional one. If you run a firewall, you may need to temporarily open this port. As this is potentially dangerous it's not done automatically. You can open the port with e.g.: 'iptables -I INPUT -p tcp --dport 1022 -j ACCEPT' To continue please press [ENTER] Voici ce qui change: Do you want to start the upgrade? 3 installed packages are no longer supported by Canonical. You can still get support from the community. 61 packages are going to be removed. 179 new packages are going to be installed. 731 packages are going to be upgraded. You have to download a total of 1209 M. This download will take about 4 minutes with a 40Mbit connection and about 32 minutes with a 5Mbit connection. Fetching and installing the upgrade can take several hours. Once the download has finished, the process cannot be canceled. Continue [yN] Details [d] Quelques minutes plus tard, c'est l'heure du reboot: System upgrade is complete. Restart required To finish the upgrade, a restart is required. If you select 'y' the system will be restarted. On vérifie que l'on est bien sur la nouvelle version: lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 24.04 LTS Release: 24.04 Codename: noble Il ne reste plus qu'à réactiver les repo apt qui ont été désactivés pendant la mise à jour: add-apt-repository ppa:ondrej/php add-apt-repository ppa:ondrej/nginx-mainline add-apt-repository ppa:ubuntuhandbook1/transmission Ensuite, il faut faire le ménage dans le répertoire /etc/apt/sources.list.d : ls -lash /etc/apt/sources.list.d et changer les occurences "jammy" en "noble". Enfin, il nous faut reconfigurer les paquets qui peuvent avoir été désinstallés: # MySQL dpkg-reconfigure mysql-apt-config # Python deps apt install pipx... --- ### Fiche méthode bac : réussir l’essai en français - **URL**: https://www.skyminds.net/fiche-methode-bac-essai-francais/ L’essai en français est l’un des exercices proposés au bac technologique, avec la contraction de texte. Il demande de répondre à une question littéraire ou culturelle en construisant une argumentation claire, organisée et appuyée sur des exemples précis. Bonne nouvelle : l’essai n’est pas une dissertation déguisée avec une moustache. Il est plus court, plus direct et plus souple. Mauvaise nouvelle : il ne suffit pas de donner son avis. Il faut défendre une réponse, nuancer sa pensée et mobiliser les œuvres étudiées pendant l’année. Qu’est-ce que l’essai au bac de français ? L’essai est un exercice d’argumentation. Il consiste à répondre à une question en lien avec l’objet d’étude La littérature d’idées du XVIe au XVIIIe siècle, l’œuvre étudiée en classe et son parcours associé. Dans la voie technologique, l’essai accompagne la contraction de texte. L’ensemble forme une production écrite notée sur 20 points : 10 points pour la contraction et 10 points pour l’essai. Le sujet vous invite à réfléchir à une idée générale. Vous devez donc construire une réponse argumentée, en vous appuyant sur : l’œuvre étudiée pendant l’année ; le parcours associé ; les textes vus en classe ; vos lectures personnelles ; votre culture générale, si elle reste pertinente. L’essai évalue donc votre capacité à réfléchir, à organiser vos idées et à utiliser des exemples littéraires. Il ne demande pas seulement de connaître le cours. Il demande de s’en servir intelligemment. Quelle est la différence entre essai et dissertation ? L’essai ressemble à la dissertation, mais il reste plus accessible. La dissertation attend souvent une réflexion plus longue, plus abstraite et plus développée. L’essai, lui, va droit au but. Dans un essai, vous devez répondre clairement à la question posée. Vous pouvez adopter un plan en deux parties, avec une première partie qui défend l’idée du sujet, puis une seconde qui la nuance ou la discute. La dissertation développe une réflexion littéraire approfondie, souvent en deux ou trois parties. L’essai construit une réponse argumentée plus courte, plus directe et fortement liée au parcours étudié. Le piège consiste à croire que l’essai est une simple opinion personnelle. Non. Une opinion sans argument, c’est juste une humeur bien habillée. Le correcteur attend une réflexion structurée. Ce qu’on attend dans un bon essai Un bon essai doit montrer quatre compétences. Comprendre le sujet : vous devez répondre exactement à la question posée. Construire une argumentation : chaque partie doit défendre une idée claire. Mobiliser des exemples : vos arguments doivent s’appuyer sur des œuvres, des textes ou des références précises. Rédiger clairement : votre devoir doit être lisible, organisé et progressif. Le correcteur ne cherche pas une pensée compliquée. Il cherche une pensée claire. Mieux vaut une réponse simple, bien conduite, qu’une fusée conceptuelle qui explose au deuxième paragraphe. Première étape : analyser le sujet Avant de rédiger, prenez quelques minutes pour comprendre précisément la question. C’est l’étape la plus importante. Un bon devoir commence rarement par une phrase brillante. Il commence par une lecture attentive du sujet.... --- ### Fiche méthode bac : réussir la contraction de texte en français - **URL**: https://www.skyminds.net/fiche-methode-bac-contraction-texte/ La contraction de texte est l’un des exercices proposés à l’écrit du bac de français en voie technologique. Elle accompagne l’essai et consiste à résumer un texte argumentatif en respectant une longueur imposée. Sur le papier, l’exercice paraît simple : il faut faire plus court. En réalité, il faut surtout faire plus dense, plus clair et plus fidèle. Une bonne contraction ne coupe pas le texte au hasard. Elle conserve la thèse, les étapes du raisonnement et les idées essentielles, tout en supprimant les détails secondaires. Qu’est-ce qu’une contraction de texte ? Une contraction de texte est un résumé précis, organisé et fidèle d’un texte argumentatif. Elle consiste à réduire le texte d’origine en conservant son raisonnement principal. Au bac technologique, la contraction porte sur un texte d’environ 1000 mots. Il faut généralement le réduire au quart, avec une marge autorisée de plus ou moins 10 %. Pour un texte de 1000 mots, cela donne donc une contraction d’environ 250 mots, avec une marge située entre 225 et 275 mots. La contraction est notée sur 10 points. Elle est suivie d’un essai, lui aussi noté sur 10 points. Les deux exercices forment donc une partie de l’épreuve écrite sur 20 points. Ce qu’on attend dans une bonne contraction Une bonne contraction doit respecter quatre exigences. La fidélité : vous devez conserver la pensée de l’auteur sans la déformer. La reformulation : vous devez utiliser vos propres mots, sans faire un montage de citations. La progression : vous devez suivre l’ordre du texte d’origine. La concision : vous devez supprimer l’accessoire pour garder l’essentiel. La contraction n’est donc pas un commentaire. Elle ne demande pas d’analyser le style, de donner votre avis ou de juger l’auteur. Elle demande de restituer une pensée avec précision. En clair : vous devenez le texte, mais en version compacte. Comme une valise cabine argumentative. La règle essentielle : rester fidèle au texte La contraction doit respecter la pensée de l’auteur, même si vous n’êtes pas d’accord avec lui. Vous ne devez ni corriger son raisonnement, ni ajouter une idée personnelle, ni supprimer une nuance importante. Il faut donc éviter les formules comme : je pense que ; selon moi ; l’auteur a raison de dire que ; on peut critiquer cette idée ; ce texte montre bien que. Vous devez écrire comme si vous résumiez la pensée du texte de l’intérieur. Vous ne commentez pas l’auteur depuis l’extérieur. Vous reformulez son raisonnement. La contraction n’est pas un résumé ordinaire Un résumé scolaire peut parfois présenter les idées dans un ordre plus libre. La contraction, elle, doit suivre le mouvement du texte. Si l’auteur commence par un constat, puis développe une opposition, puis propose une solution, votre contraction doit suivre cette progression. Il ne faut donc pas regrouper toutes les idées par thème si le texte ne le fait pas lui-même. Le correcteur veut retrouver la structure argumentative du texte d’origine. La question à garder en tête est simple : quelle idée l’auteur défend-il, et par... --- ### Fiche méthode bac : réussir le commentaire littéraire - **URL**: https://www.skyminds.net/fiche-methode-bac-commentaire-litteraire/ Le commentaire littéraire est l’un des exercices proposés à l’écrit du bac de français. Il consiste à analyser un texte pour montrer comment l’auteur construit du sens, des effets et une vision du monde à travers l’écriture. Bonne nouvelle : le commentaire ne demande pas d’inventer une interprétation ésotérique sortie d’un chapeau. Il demande surtout de lire précisément, d’observer les procédés, puis d’expliquer leurs effets. Autrement dit : on regarde ce que fait le texte, puis on montre pourquoi cela compte. Qu’est-ce qu’un commentaire littéraire ? Un commentaire littéraire est une analyse organisée d’un texte. Il ne s’agit ni d’un résumé, ni d’une paraphrase, ni d’une récitation du cours. Vous devez montrer comment le texte fonctionne. Le commentaire porte sur un extrait littéraire : roman, théâtre, poésie, littérature d’idées ou récit. Il faut analyser la manière dont l’auteur utilise la langue, la structure, les images, les registres, les personnages, les points de vue ou les procédés d’écriture pour produire un effet sur le lecteur. Un bon commentaire répond donc à une question simple : Comment ce texte produit-il du sens et des effets par son écriture ? Cette question doit guider tout le devoir. Sinon, on tombe vite dans le catalogue de procédés. Ce que l’on attend dans un bon commentaire Un bon commentaire doit montrer plusieurs compétences. Comprendre le texte : identifier son thème, son mouvement et ses enjeux. Observer l’écriture : repérer les procédés importants. Interpréter les procédés : expliquer leurs effets. Organiser l’analyse : construire un plan clair et progressif. Rédiger précisément : citer court, analyser juste et conclure nettement. Le correcteur ne cherche pas une copie qui cite cinquante figures de style. Il cherche une lecture cohérente. Mieux vaut analyser trois procédés utiles que nommer dix procédés sans rien en faire. Première étape : lire le texte plusieurs fois La première lecture sert à comprendre le sens général. Ne soulignez pas tout tout de suite. Lisez d’abord pour savoir ce qui se passe, qui parle, de quoi il est question et quelle impression domine. Lors de cette première lecture, posez-vous ces questions : Quel est le genre du texte ? Roman, théâtre, poésie, essai, discours ? Qui parle ? Un narrateur, un personnage, une voix poétique, un auteur argumentatif ? À qui le texte s’adresse-t-il ? À un personnage, au lecteur, à un groupe, à soi-même ? Quel est le thème principal ? Amour, conflit, injustice, nature, pouvoir, souvenir, mort ? Quelle impression domine ? Comique, tragique, lyrique, polémique, pathétique, satirique ? Le texte progresse-t-il vers une chute, une révélation, une opposition ou une intensification ? La deuxième lecture sert à repérer les procédés. La troisième lecture sert à organiser ces procédés en grandes idées. Oui, trois lectures. C’est moins spectaculaire qu’une illumination divine, mais beaucoup plus fiable. Deuxième étape : comprendre le mouvement du texte Le mouvement du texte correspond à sa progression interne. Un extrait littéraire n’est presque jamais immobile. Il avance, oppose, dévoile, accélère, ralentit ou renverse une situation. Pour repérer le mouvement,... --- ### Fiche méthode bac : la dissertation en français - **URL**: https://www.skyminds.net/fiche-methode-bac-dissertation-francais/ La dissertation en français est l’un des exercices proposés à l’écrit du bac de français en voie générale. Elle consiste à répondre à une question littéraire en construisant une réflexion organisée, argumentée et appuyée sur des exemples précis. Contrairement à une idée tenace, la dissertation n’est pas un exercice réservé aux élèves qui savent écrire trois pages en apnée. Elle repose surtout sur une méthode : comprendre le sujet, formuler une problématique, construire un plan, puis défendre chaque idée avec des exemples littéraires. C’est exigeant, oui. Mais ce n’est pas de la sorcellerie académique. Qu’est-ce qu’une dissertation au bac de français ? Une dissertation est une réponse argumentée à une question portant sur une œuvre littéraire et son parcours associé. Elle ne demande pas seulement de réciter le cours. Elle demande d’utiliser ses connaissances pour construire une réflexion personnelle et organisée. La dissertation porte sur l’un des objets d’étude du programme de première. Elle peut interroger une œuvre intégrale, un parcours, un genre littéraire, une notion ou une tension importante : plaire et instruire, dénoncer et convaincre, liberté et contrainte, amour et société, personnage et lecteur, poésie et expression de soi. Le devoir doit contenir trois grandes parties : une introduction, qui présente le sujet et annonce le plan ; un développement, organisé en deux ou trois parties ; une conclusion, qui répond clairement à la problématique. La dissertation évalue donc votre capacité à réfléchir, organiser, argumenter et mobiliser des exemples. Elle récompense la clarté plus que la complication. Ce qu’on attend dans une bonne dissertation Une bonne dissertation doit montrer cinq compétences. Comprendre le sujet : vous devez répondre exactement à la question posée. Définir les mots importants : un sujet littéraire repose souvent sur des notions à éclaircir. Construire une problématique : votre devoir doit suivre une vraie question directrice. Organiser un plan progressif : chaque partie doit faire avancer la réflexion. Appuyer les arguments sur des exemples : une idée sans exemple reste une affirmation gratuite. Le correcteur ne cherche pas une copie spectaculaire. Il cherche une copie maîtrisée. Un devoir clair, structuré et précis vaut mieux qu’un feu d’artifice confus avec trois citations latines et une envolée sur “l’universalité du Beau”. Restons calmes. Première étape : analyser le sujet Avant de chercher un plan, il faut comprendre le sujet. C’est l’étape décisive. Une dissertation ratée commence souvent par une lecture trop rapide de la question. Pour analyser correctement un sujet, commencez par souligner : les mots-clés ; les verbes importants ; les adverbes restrictifs comme “seulement”, “toujours”, “nécessairement” ; les oppositions implicites ; les notions littéraires à définir. Exemple de sujet : La poésie sert-elle seulement à exprimer des sentiments personnels ? Ici, les mots essentiels sont poésie, sert-elle, seulement, exprimer et sentiments personnels. Le mot seulement est capital : il invite à dépasser une réponse simple. La poésie peut exprimer des sentiments, mais elle peut aussi dénoncer, célébrer, expérimenter la langue, interroger le monde ou créer une vision nouvelle du réel. La première erreur à... --- ### News from Nowhere: William Morris’s Epoch of Rest - **URL**: https://www.skyminds.net/news-from-nowhere-epoch-of-rest/ News from Nowhere presents socialism as an “epoch of rest”, but William Morris does not praise inactivity. Rest means freedom from coerced labour, competition and economic anxiety. Work survives, yet it becomes useful, creative and pleasurable. William Morris gave his utopian romance a revealing subtitle: An Epoch of Rest. The phrase appears to promise stillness after the turmoil of industrial capitalism. However, the future society discovered by William Guest remains remarkably active. People build houses, carve stone, grow food, study science, row boats and organise harvests. They do not escape work. Instead, they escape the social system that turns work into compulsion. Rest therefore describes a political condition. It marks the end of exploitation, artificial scarcity and domination. It also allows Morris to reconnect labour with pleasure, art, nature and fellowship. What does “An Epoch of Rest” mean? News from Nowhere first appeared in the socialist newspaper Commonweal between January and October 1890. Morris published a revised English edition in 1891. Its complete title identifies the work as both a utopia and a romance. The word epoch suggests a distinct historical period. Rest is not merely a private sensation. An entire civilisation has entered a new relationship with time, labour and social life. The title also creates an immediate contrast with unrest. Morris wrote during an age of strikes, political agitation, industrial conflict and severe inequality. His utopia imagines what might follow that struggle. Rest therefore means relief after a long historical ordeal. Capitalist competition has ended. Private property no longer determines human relations. Wage labour, commercial pressure and the state’s coercive institutions have disappeared. Yet Morris does not imagine history simply stopping. People continue to change their surroundings and pursue their interests. Rest means freedom from mastery, not freedom from activity. Sleep as a passage into another history The novel begins after a heated discussion about the society that might emerge after a revolution. William Guest returns home frustrated, falls asleep and awakens beside a transformed River Thames. Sleep allows him to cross a historical rupture without experiencing the intervening centuries. When he wakes, factories, smoke, traffic and commercial ugliness have vanished. London has become greener, quieter and less densely urbanised. This device resembles Washington Irving’s Rip Van Winkle. Irving’s character sleeps through the American Revolution and awakens as a stranger within his own country. Guest likewise discovers that political change has made his familiar environment unrecognisable. However, Morris gives the convention a more explicit political purpose. Guest does not merely miss a revolution. He enters a society shaped by its distant consequences. The sleep motif also suggests symbolic death and rebirth. Guest temporarily leaves the nineteenth century, enters another order of existence and eventually returns. The future vision regenerates his political hope, although he cannot remain within it. Rest as an answer to capitalist unrest For Morris, capitalist society produces unrest because it organises life around competition. Workers compete for employment. Businesses compete for markets. Nations compete for resources and commercial power. This system does not merely create... --- ### News from Nowhere: William Morris, Context and Key Ideas - **URL**: https://www.skyminds.net/introduction-to-news-from-nowhere/ News from Nowhere brings together William Morris’s socialism, medievalism and philosophy of art. Through a dream journey into a transformed England, the novel asks how work, beauty, freedom and community might coexist after capitalism. William Morris is often remembered for floral wallpapers, richly decorated books and the Arts and Crafts movement. However, he was also a poet, conservationist and revolutionary socialist who wanted to transform far more than Victorian interior decoration. News from Nowhere unites these different parts of his life. The novel imagines an England without private property, wage labour, money, central government or industrial mass production. Its inhabitants organise their lives through cooperation and find pleasure in useful, creative work. The result is neither a conventional novel nor a detailed political programme. Morris called it “some chapters from a utopian romance”. That subtitle matters. The book combines political argument, dream vision, pastoral journey and medieval romance. What is News from Nowhere? News from Nowhere; or, An Epoch of Rest first appeared in the Socialist League newspaper Commonweal between January and October 1890. Reeves and Turner published a revised edition of the book in 1891. Morris’s Kelmscott Press produced its celebrated edition in 1893. The narrator, William Guest, returns home after a frustrating socialist meeting. He falls asleep and awakens beside the River Thames in a future England that he barely recognises. London remains geographically familiar, but its social and physical organisation has changed. The factories, smoke, overcrowding and commercial buildings of Victorian England have largely disappeared. Gardens, workshops, communal halls and attractive houses have taken their place. Guest travels through this new society, first across London and then along the Thames towards Kelmscott. He meets its inhabitants, observes their customs and questions an elderly historian named Hammond about the revolution that created their world. The novel therefore combines two movements. Guest travels through space while Hammond’s account carries him backwards through history. Together, these journeys explain both what the future looks like and how it emerged. Why is the novel called News from Nowhere? The title plays upon the original meaning of utopia: a “no-place” that does not exist on any real map. Morris presents news from an impossible location, yet that news concerns problems immediately recognisable to his Victorian readers. “Nowhere” is not a remote island. It is England transformed. The River Thames, Hammersmith, Oxfordshire and Kelmscott remain visible beneath the new society. This continuity gives the book much of its political force. Morris does not escape into another planet or magical kingdom. He asks readers to look at familiar streets, rivers and landscapes differently. The title also prevents the future from becoming a rigid prediction. Morris offers a possibility, not an architectural plan. His Nowhere expresses desire, criticism and hope rather than a timetable for revolution. William Morris: designer, writer and socialist William Morris was born in Walthamstow in 1834 into a wealthy middle-class family. His childhood introduced him to the countryside, historic churches, medieval literature and architecture. These early interests remained central throughout his life.... --- ### What Is a Utopia? Definition, Origins and Literary Features - **URL**: https://www.skyminds.net/a-definition-of-utopia/ A literary utopia describes an imaginary society organised differently from the author’s world and presented as better in significant ways. It does not merely depict perfection. Instead, it tests ideas about power, property, work, freedom and happiness. The word utopia now describes almost any ideal place, project or future. We speak of technological utopias, ecological utopias and even utopian business plans. However, the term began as the name of an imaginary island in a book published by Thomas More in 1516. Since then, utopia has become a literary genre, a method of political criticism and a way of imagining alternatives to the present. A utopian text does not need to offer a flawless world. In fact, its most interesting features often emerge from tension, contradiction and uncertainty. The apparently ideal society may conceal coercion. Meanwhile, customs that initially seem absurd may expose injustices that readers normally accept. A concise definition of literary utopia A literary utopia is a detailed representation of a society that does not exist and differs significantly from the writer’s own society. The text presents that imagined community as better in at least some important respects. That definition requires several qualifications. The society must be imaginary, although it may use real locations. It normally describes social institutions, rather than one person’s private paradise. It establishes a comparison between the imagined society and the author’s world. It appears better according to a particular system of values, not necessarily according to every reader. It may contain disturbing institutions, contradictions or deliberate satire. A utopia is therefore not simply a perfect place. It is a structured thought experiment about how people might live together differently. The meaning of the word utopia Thomas More coined the word utopia from Greek elements. The name creates a deliberate pun between two similar expressions: ou-topos: no place or nowhere; eu-topos: a good place. Utopia is therefore both the good place and the place that does not exist. The apparent ideal contains impossibility within its name. This ambiguity prevents a straightforward reading. More does not simply describe a perfect state and ask England to copy it. He creates an imaginary society whose customs challenge European assumptions while raising fresh moral and political problems. The word later acquired several related meanings. It can refer to More’s fictional island, the literary genre inspired by his book, an ideal social project or the broader human desire for a better way of life. A utopia does not have to be perfect Modern usage often treats utopia as a synonym for perfection. Literary analysis requires a more precise definition. Readers may disagree about whether an imagined society is desirable. A system that guarantees material equality might also restrict movement, privacy or personal choice. One character may praise social order, while another reader notices conformity. Thomas More’s Utopians abolish private property and organise production for common use. However, they also practise slavery, regulate travel, supervise behaviour and impose strict social customs. These contradictions do not disqualify the book as a utopia.... --- ### Counting Crows – Round Here - **URL**: https://www.skyminds.net/counting-crows-round-here/ https://www.youtube.com/watch?v=Ae2Nh0ObSoo "August And Everything After -- Live At Town Hall" from Counting Crows. Counting Crows' debut album "August And Everything After" was released in late 1993 and went on to sell over 7 million copies in America. In the UK it charted at No.16 and has sold over 400,000 copies. On 18 September 2007, the band performed the complete album live at Town Hall in New York City. The lineup for this stellar evening captured on "August And Everything After -- Live From Town Hall" was: Jim Bogios (drums, vocals, percussion); David Bryson (electric & acoustic guitars, vocals); Adam Duritz (vocals); Charles Gillingham (piano, Hammond B-3 organ, accordion, harmonica, vocals); David Immergluck (electric & acoustic guitars, mandolin, pedal steel, vocals), Millard Powers (bass, vocals, piano); Dan Vickrey (electric & acoustic guitars, banjo, vocals). This live performance of their complete debut album proves what truly great performing artists they are. Step out the front door like a ghostInto the fog where no one noticesThe contrast of white on white.And in between the moon and youThe angels get a better viewOf the crumbling difference between wrong and right.I walk in the air between the rainThrough myself and back againWhere?Maria says she's dyingThrough the door I hear her cryingWhy? Round here we always stand up straightRound here something radiates Maria came from Nashville with a suitcase in her handShe said she'd like to meet a boy who looks like ElvisAnd she walks along the edge of where the ocean meets the landJust like she's walking on a wireIn the circusShe parks her car outside of my houseAnd Takes her clothes offSays she's close to understanding JesusShe knows she's more than just a little misunderstoodShe has trouble acting normalWell I have trouble acting normal But Round here we're carving out our namesRound here we all look the sameRound here we talk just like lionsBut we sacrifice just like lambsRound hereLook she's she's slipping through my hands Sleeping children better run like the windOut out out outOut of the lightning dreamMama's little baby better get herself inOut of the lightning She says "it's only in my head"She says "Shhhhh I know, I know it's only in my head"But the girl on the car in the parking lotSays "Man you should try to take a shotCan't you see my walls are crumbling?"Then she looks up at the buildingSays "I'm thinking of jumping"She says "I'm sick and tired of life"Everybody's tired of something Round here she's always on my mindRound here hey man I got a lot of timeRound here we're never sent to bed earlyAnd nobody makes us waitRound here we stay up very, very, very, very lateI can't see nothing... nothing round here Would you catch if I was fallingWould you kiss me if I was leavingWould you hold me cause I'm lonely, without youI said I'm under the gun around hereI'm lonely, lonely, lonely without youAnd I can't see nothingNothing round here --- ### Valider votre projet VSCode avec PHP CodeSniffer (PHPCS) et WordPress Coding Standards (WPCS) - **URL**: https://www.skyminds.net/projet-vscode-wordpress-phpcs-wpcs/ Dans ce tutoriel, nous allons explorer comment utiliser Composer pour installer et configurer PHP CodeSniffer (PHPCS) et WordPress Coding Standards (WPCS) dans un projet WordPress (PHP), spécifiquement en utilisant l'éditeur de code Visual Studio Code (VSCode).  PHPCS est un outil indispensable pour analyser le code PHP, JavaScript et CSS afin de détecter les violations de standards de codage. WPCS est un ensemble de règles pour assurer que le code WordPress respecte les conventions de codage recommandées par WordPress.  L'intégration de ces outils dans votre environnement de développement peut grandement améliorer la qualité du code et faciliter le respect des normes de codage. Installation de Composer Pour commencer, vous devez installer Composer, un gestionnaire de dépendances pour PHP qui permet d'installer et de gérer des bibliothèques au sein de vos projets PHP. Windows : Téléchargez et exécutez l'installateur de Composer depuis getcomposer.org. Suivez les instructions à l'écran pour installer Composer. macOS et Linux : Ouvrez un terminal et exécutez la commande suivante pour télécharger le programme d'installation de Composer : php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" Ensuite, exécutez le programme d'installation : php composer-setup.php Pour rendre Composer accessible globalement, déplacez le fichier composer.phar dans un répertoire accessible dans votre PATH : mv composer.phar /usr/local/bin/composer Confirmez l'installation en vérifiant la version de Composer : composer --version Passons maintenant à la configuration de Visual Studio Code pour utiliser PHPCS et WPCS. Configuration de VSCode Pour utiliser PHPCS et WPCS dans VSCode, vous devez installer quelques extensions qui faciliteront l'intégration et l'utilisation de ces outils. Ouvrez VSCode. Accédez à l'onglet Extensions (icône des blocs sur le côté gauche) ou appuyez sur Ctrl+Shift+X. Recherchez et installez les extensions suivantes : PHP Intelephense : Une extension populaire pour le développement PHP qui offre des fonctionnalités telles que l'autocomplétion, le référencement de code, et plus encore. PHP Sniffer & Beautifier : Cette extension permet d'intégrer PHPCS directement dans VSCode pour l'analyse et la correction automatique du code selon les standards définis. Après avoir installé ces extensions, vous êtes prêt à installer PHPCS et WPCS au niveau de votre projet. Installation de PHPCS et WPCS Suivez ces étapes pour installer PHPCS et WPCS dans votre projet PHP via Composer : Ouvrez le terminal intégré de VSCode (Ctrl+` ou via le menu Terminal > Nouveau terminal). Naviguez dans le répertoire de votre projet. Si votre projet n'existe pas encore, créez un nouveau dossier et naviguez-y. Exécutez la commande suivante pour installer PHPCS : composer require --dev squizlabs/php_codesniffer Installez les WordPress Coding Standards (WPCS) en ajoutant le dépôt pertinent et le package via Composer : composer require --dev wp-coding-standards/wpcscomposer config --set repositories.wpcs vcs https://github.com/WordPress/WordPress-Coding-Standardscomposer require --dev squizlabs/php_codesniffer wp-coding-standards/wpcs dealerdirect/phpcodesniffer-composer-installer Cette commande configure également Composer pour installer automatiquement les standards dans PHPCS. Après l'installation, configurez PHPCS pour utiliser WPCS en exécutant : vendor/bin/phpcs --config-set installed_paths ../../wp-coding-standards/wpcs Abordons maintenant la création et la configuration du fichier phpcs.xml.dist, qui est crucial pour personnaliser et appliquer les standards de codage à votre projet. Création et configuration du fichier phpcs.xml.dist Le fichier phpcs.xml.dist sert de modèle pour... --- ### Synology: activer l’authentification par clé SSH pour les scripts rsync - **URL**: https://www.skyminds.net/synology-authentification-cle-ssh-rsync/ Si vous utilisez un Synology, vous savez déjà à quel point il est précieux pour stocker et gérer vos données. Cependant, pour optimiser son utilisation tout en assurant la sécurité de vos fichiers, un petit réglage s'impose : la configuration d'un accès SSH et la création d'un compte dédié rsync, car depuis la dernière mise à jour DSM, le conseiller en sécurité vous alerte désormais lorsque le compte admin est actif, puisqu'il est ciblé avec des attaques par brute-force, ainsi que des rançongiciels. Dans les lignes qui suivent, on va décomposer ensemble cette tâche pour la rendre aussi simple que possible. Pas de chichis, juste les étapes clés pour sécuriser vos transferts de fichiers et rendre votre expérience NAS encore plus fluide. Prêt à mettre les mains dans le cambouis ? Allons-y. 1. Activation de SSH sur le NAS Connexion à DSM : connectez-vous au DiskStation Manager (DSM) de votre Synology. Panneau de Configuration : allez dans le Panneau de Configuration. Terminal & SNMP : sélectionnez Terminal & SNMP sous les options avancées. Activer le service SSH : cochez la case Activer le service SSH. Cela vous permettra de vous connecter au NAS via SSH. Appliquer : cliquez sur Appliquer pour sauvegarder vos changements. 2. Création de l'utilisateur rsync sur le NAS Accéder au DSM : connectez-vous au DSM. Ouvrir le Panneau de Configuration : naviguez jusqu'au Panneau de Configuration. Création de l'utilisateur : allez dans Utilisateur puis cliquez sur Créer. Suivez l'assistant pour créer un nouvel utilisateur. Pour Nom, entrez rsync. Attribuez un mot de passe fort au compte. Vous voudrez peut-être limiter l'accès de cet utilisateur à des dossiers spécifiques qui seront utilisés pour les opérations rsync. Assurez-vous de ne pas donner à cet utilisateur plus de permissions que nécessaire pour la tâche à effectuer. Compléter l'assistant : suivez l'assistant, en ajustant les paramètres selon vos besoins de sécurité et opérationnels, puis terminez le processus de création de l'utilisateur. Assurez-vous que le service SSH est activé sur votre NAS (comme indiqué dans les instructions précédentes). L'utilisateur rsync héritera de l'accès SSH s'il est activé globalement. 3. Configuration de .ssh et des permissions Puisque DSM de Synology n'a pas un environnement Linux standard, vous devrez initialement configurer le répertoire .ssh et les permissions appropriées manuellement. Cette configuration est cruciale pour la sécurité et la fonctionnalité de l'authentification basée sur les clés SSH. SSH dans le NAS comme rsync : depuis votre ordinateur, utilisez SSH pour vous connecter au NAS en utilisant les identifiants de rsync. Cette étape vérifie que l'accès SSH fonctionne pour le nouvel utilisateur. ssh rsync@adresse_ip_du_nas Créer le répertoire .ssh : une fois connecté, vous devrez créer le répertoire .ssh où les clés SSH résideront. mkdir -p /var/services/homes/rsync/.ssh Définir les bonnes permissions : les permissions appropriées sont cruciales pour le bon fonctionnement de SSH. chmod 700 /var/services/homes/rsync/.ssh 4. Génération de la clé Ed25519 Sur votre ordinateur, exécutez la commande suivante pour générer une nouvelle paire de clés Ed25519. Si vous n'avez pas encore de clé Ed25519 ou... --- ### Ecrire l’histoire à Rome : l’influence de la littérature grecque - **URL**: https://www.skyminds.net/ecrire-histoire-rome-influence-litterature-grecque/ There is no time and no place in which the Romans were free from Greek influence. [1] A. Momigliano, Settimo contributo alla storia degli studi classici e del mondo antico Étudier le thème de l'influence grecque chez les premiers historiographes latins revient à s'intéresser au domaine de l'historiographie latine, genre littéraire qui, ainsi que son étymologie l'indique, consiste à écrire l'histoire. Le genre historiographique est mis en œuvre en premier lieu dans la littérature grecque et s'épanouit pleinement au Vème siècle avant notre ère par le biais des œuvres d'historiens grecs tels qu'Hérodote ou Thucydide, pour ne citer qu'eux. L'historiographie apparaît donc comme un genre littéraire relativement ancien et qui répond à des codes, des techniques littéraires, une méthode d'écriture mis en place et développés en premier lieu par les historiens grecs. L'historiographie romaine, qui éclôt très tôt dans l'histoire de la littérature latine, jouit donc d'un profond héritage grec, ainsi que le montre E. Cizek: « on ne saurait envisager la formation et l'épanouissement de l'historiographie latine, en dehors de l'influence grecque [2] ». Quand la littérature latine naît-elle ? C'est en 240 avant notre ère que naît la littérature latine. Les premières œuvres littéraires sont composées par Livius Andronicus, esclave originaire de Tarente [3] : apparaissent ainsi des pièces théâtrales calquées sur le modèle grec, tant sur le plan scénique que narratif. Autour des années 230, l'auteur compose également l'Odissia, épopée en latin et inspirée de l'Odyssée homérique. Telles sont les premières œuvres littéraires qui marquent le début de la littérature latine. Par la suite, la plupart des œuvres qui succèdent à celles de Livius Andronicus présentent une particularité importante, dans la mesure où elles ont pour sujet l'histoire de Rome. Les œuvres historiographiques constituent donc une part capitale des premières œuvres de la littérature latine. La prégnance du genre historiographique dans les premiers moments de la littérature latine s'explique aisément par le contexte historique dans lequel elle naît. Pourquoi est-ce précisément à cette époque que naît le genre historiographique ? La naissance de la littérature latine, et du genre historiographique en particulier, répond à un véritable besoin de la part de Rome. D'une part, la cité nécessite de disposer de poètes et de personnes lettrées, qui soient capables d'exciter la conscience nationale grâce à leurs œuvres : au moment de son expansion, Rome doit fédérer les cités nouvellement conquises autour du noyau commun qu'elle constitue. Affirmer, grâce au développement de l'histoire de Rome, des origines prestigieuses et communes constitue par conséquent une façon de répondre à ce besoin d'unification de Rome avec les territoires conquis. Par ailleurs, la naissance de la littérature latine concorde avec le début de la période des guerres puniques. En particulier au moment où Rome est mise en difficulté par les troupes d'Hannibal, la cité a besoin de faire de la Méditerranée, et de la Grèce en particulier, ses alliées. Rome entend par conséquent, dans ce contexte, offrir une image de son passé à l'image de celui de la Grèce, qui se présente comme la... --- ### Ajouter des notes de bas de page élégantes et sémantiques - **URL**: https://www.skyminds.net/ajouter-des-notes-de-bas-de-page-elegantes-et-semantiques/ Je vous ai déjà fait un petit tutoriel pour créer des notes de bas de page (footnotes en anglais) juste en utilisant CSS. Voici maintenant une autre manière de créer vos notes de bas de page, en HTML sémantique, CSS et vanilla JavaScript. Des notes de bas de page sémantiques Pour commencer, nous allons utiliser les balises HTML details et summary, qui sont trop peu souvent utilisées. Elles sont pourtant idéales pour ce que nous souhaitons accomplir: montrer un contenu après un clic, mais qui doit rester caché le reste du temps. Le gros avantage de cette nouvelle version d'inclure des liens et du HTML dans la note de bas de page, ce qui n'était pas possible avec la version en CSS pur. Un clic sur le numéro de la note ouvre la note. Il suffit de cliquer sur l'encart jaune de la note pour la fermer, ou alors cliquer sur un autre numéro de note. Exemple de notes de bas de page Le dernier serveur de SkyMinds s'appelle Apollo 1 Il a été mis en service le 1er octobre 2023. et tourne sous Ubuntu Server. Il est facile de changer le MOTD 2 Cela est même recommandé car cela permet d'identifier le serveur rapidement et de ne pas se tromper de terminal lorsque l'on entre une commande. et apporter de nouvelles informations aux utilisateurs SSH. Mon mémoire professionnel a été publié récemment 3 Biscay, Matt Créer et soutenir la motivation des élèves du cycle central en classe d’Anglais (2006) Institut Universitaire de Formation des Maîtres (IUFM). Mémoire: Créer et soutenir la motivation des élèves , ce que j'aurais dû faire bien plus tôt. Code HTML Voici notre code HTML de base: Le dernier serveur de SkyMinds s'appelle Apollo 1 Il a été mis en service le 1er octobre 2023. et tourne sous Ubuntu Server. Il est facile de changer le MOTD 2 Cela est même recommandé car cela permet d'identifier le serveur rapidement et de ne pas se tromper de terminal lorsque l'on entre une commande. et apporter de nouvelles informations aux utilisateurs SSH. Mon mémoire professionnel a été publié récemment 3 Biscay, Matt Créer et soutenir la motivation des élèves du cycle central en classe d’Anglais (2006) Institut Universitaire de Formation des Maîtres (IUFM). Mémoire: Créer et soutenir la motivation des élèves , ce que j'aurai dû faire bien plus tôt. Code CSS Voici le code CSS qui permet de créer le numéro des footnotes ainsi que le style (encart jaune avec un effet d'ombre en bas au centre de la page): Code Vanilla JavaScript Et voici enfin notre code vanilla JS qui permet d'ouvrir la bonne note de fin de page lorsque l'on clique sur le numéro de note associé: Vous pouvez refermer la note qui est ouverte en recliquant dessus, elle se fermera automatiquement. Conclusion Et voilà, simple et efficace, avec un chargement de ressources complètement minimal. Il suffit de cliquer sur la note de bas de page pour la fermer. --- ### CloudFest Hackathon 2024 : the recap - **URL**: https://www.skyminds.net/cloudfest-hackathon-2024-the-recap/ This year, I was lucky to be invited to the CloudFest Hackathon 2024, thanks to Carole Olinger, Alain Schlesser and Lucas Radke. CloudFest Hackathon 11 projects competed this year and it was pretty hard to choose only one as there were loads of exciting challenges to overcome. We only have 2 full days (and nights) to code for the project we are part of and make history. The projects were: Managing Multilingual Content with WP Multisite Public Sector Website Funding Transparency JSON Schema Field/Form Renderer CMS Health Checks Securing more infrastructure by easing OS upgrades Integrating MariaDB Catalogs with PHP Platforms Can everyone use _______? WordPress Tools for Hosting Providers Enable Mastodon Apps for WordPress and its Plugins Inclusive Language Checker for Open-Source Contributors Hack the Hackathon I was on the fence for a while as I'm interested in Multilingual and Multisite, Inclusivity, JSON Schema, and MariaDB. Eventually, I took a chair at the JSON Schema table but quickly found it was too crowded already so I joined Integrating MariaDB Catalogs with PHP Platforms. Integrating MariaDB Catalogs with PHP Platforms The Team We were very fortunate to work with Andrew Hutchings (aka Linux Jedi), who works for the MariaDB Foundation. The project this year revolves around the integration of a new feature called MariaDB Catalogs with PHP frameworks such as WordPress, Drupal, and others. The team was therefore composed of: Project lead: Andrew Hutchings; Team members: David Beja, Alexander Gerber, Jan-Willem Oostendorp, Wesley Stessens, Marko Heijnen, Florian Blaser and yours truly. Our hackathon team for the MariaDB catalogs! The project: MariaDB catalogs The general idea of catalogs is containerization inside MariaDB itself: you have one MariaDB instance running and every customer has their own catalog inside that instance. The memory is shared so you are saving a lot of RAM that way. You don’t have to have 50,000 different read DB instances running, each using a GB of RAM. You simply have one read DB instance running, but you still have each customer siloed. The hackathon project is to make it easier to administer this, create and remove catalogs. Eventually, we will also be able to constrain resources per catalog. So you could say that this is a low-tier customer, they are only allowed so much CPU or so many queries per second, et cetera, and higher-tier customers can have a lot more. According to Andrew: This means the DB catalogs feature is still very alpha. We don’t actually have an official release even of the alpha yet, so my team are the first people ever to try it and they broke it a lot. I’ve had to file seven bugs so far and there have been people in Finland and places like that trying to fix things for us on the fly. But we have fixed and worked around many of the issues and as of lunchtime today, we have actually something working end to end where we’ve got a test that in PHP we will create a catalog... --- ### Question d’orthographe : écrit-on des « scénarios » ou des « scénari » ? - **URL**: https://www.skyminds.net/orthographe-ecrit-on-des-scenarios-ou-des-scenari/ Ah, la question éternelle des amateurs de la langue française : "Doit-on écrire « scénarios » ou « scénari » ?" Cet article plonge au cœur de cette interrogation, démêlant les règles de grammaire, les exceptions et les préférences d'usage pour éclairer votre chemin à travers les méandres de l'orthographe française. Préparez-vous à une exploration linguistique ! Un peu d'histoire Le terme « scénario », emprunté à l'italien "scenario", a fait son entrée dans la langue française au XVIIe siècle. Originellement, il désignait le plan détaillé d'une pièce de théâtre, avant d'élargir son sens aux domaines du cinéma, de la télévision, et même de la planification événementielle. En italien, le pluriel de "scenario" est "scenari", sans accent. Mais alors, comment ce mot voyage-t-il dans le paysage grammatical français ? La règle de base en français En français, la formation du pluriel suit généralement une règle simple : on ajoute un "s" au singulier. Donc, logiquement, le pluriel de « scénario » est « scénarios ». Cette règle de base soutient l'usage de « scénarios » dans la majorité des écrits français, des documents officiels aux œuvres littéraires. L'exception italienne ? La langue française est connue pour ses exceptions, et certains pourraient se demander si « scénario » en fait partie, du fait de son origine italienne. En effet, pour des mots empruntés à d'autres langues, le français a parfois conservé les formes plurielles originales (comme pour les mots "graffiti/graffitis" ou "spaghetti"). Pourtant, « scénari », bien qu'utilisé par certains sous l'influence de l'italien, n'est pas reconnu comme le pluriel standard en français. Les recommandations de l'Académie Française L'Académie française, gardienne de la langue, recommande l'usage de « scénarios » comme la forme correcte au pluriel. Cette position est également soutenue par de nombreux dictionnaires de référence et guides stylistiques, qui privilégient les règles d'orthographe françaises sur les emprunts directs, sauf exceptions clairement établies. Depuis les rectifications orthographiques de 1990, les mots d’origine étrangère suivent les mêmes règles d’accentuation et d’accord que les mots français. Exemples en contexte Pour illustrer, considérons quelques phrases : "Les réalisateurs ont présenté trois scénarios potentiels pour le film." "Les scénarios de cette série télévisée sont particulièrement bien écrits." Dans ces exemples, « scénarios » s'intègre naturellement au tissu de la phrase, conforme à l'attente grammaticale française. Pourquoi choisir « scénarios » ? Choisir « scénarios » plutôt que « scénari » n'est pas seulement une question de conformité aux règles. C'est aussi une question de clarté et d'uniformité dans la communication. En respectant la règle générale du pluriel, on évite la confusion et on assure que le message est compris par le plus grand nombre, notamment dans un contexte professionnel ou académique. Conseils pour l'écriture Lorsque vous écrivez, gardez en tête ces conseils simples : Respectez les règles de base : Ajoutez un "s" pour former le pluriel des noms. Consultez des sources fiables : En cas de doute, un dictionnaire ou une référence grammaticale peut clarifier la forme correcte. Privilégiez la clarté : Utilisez la... --- ### Plausible Analytics au lieu de Google Analytics - **URL**: https://www.skyminds.net/installer-plausible-analytics/ Tout le monde connaît Google Analytics mais savez-vous qu'il existe une alternative simple, open source et qui ne nécessite pas de bannière de cookies ? Je vous présente Plausible Analytics. Plausible Analytics est une plateforme d'analyse Web open source qui se concentre sur le respect de la vie privée et la simplicité. Contrairement à des solutions plus courantes comme Google Analytics, Plausible a été conçu avec une approche centrée sur la vie privée, ce qui signifie qu'il ne collecte pas de données personnelles des visiteurs. Cela rend la plateforme conforme aux réglementations strictes en matière de protection des données, telles que le RGPD en Europe, donc idéal pour nous. Caractéristiques clés Respect de la vie privée : pas de cookies, pas de suivi des adresses IP, ce qui signifie que vous n'avez généralement pas besoin de demander le consentement des utilisateurs pour suivre les statistiques. Open Source : le code source est disponible pour tout le monde, ce qui signifie que vous pouvez l'héberger vous-même et examiner le code pour vous assurer qu'il respecte ses promesses en matière de vie privée. Simple et facile à utiliser : l'interface utilisateur est simple, propre et facile à comprendre, même pour les personnes qui ne sont pas techniquement compétentes. Léger : le script de suivi est beaucoup plus léger que celui de solutions concurrentes, ce qui signifie qu'il a un impact minimal sur les performances du site Web. Rapports en temps réel : vous obtenez des rapports en temps réel sur les visiteurs, les pages vues, les taux de rebond, et plus encore. Intégration facile : Plausible Analytics peut être facilement intégré avec d'autres plates-formes et outils, grâce à des API et des webhooks. En résumé, Plausible Analytics est une alternative solide et respectueuse de la vie privée aux solutions d'analyse Web traditionnelles. Il est particulièrement utile pour ceux qui valorisent la simplicité, l'open source, et le respect des données des utilisateurs. Ce tutoriel aborde l'installation sous Ubuntu Server mais comme c'est une image docker, c'est totalement adaptable pour votre distribution linux préférée. Installation de Plausible Analytics sous Ubuntu Server 1. Commençons par vérifier que notre système est à jour : sudo -i apt update && apt upgrade Installation de Docker 2. Plausible fonctionne avec un container Docker donc nous allons la clé du repo officiel de Docker : curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg 3. Ajoutons le repo de Docker à notre configuration apt : echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null 4. Installons maintenant docker et ses dépendances avec le gestionnaire de paquets apt : apt update && apt install docker-ce docker-ce-cli docker-compose containerd.io docker-buildx-plugin docker-compose-plugin Installation de Plausible 5. Téléchargeons plausible : git clone https://github.com/plausible/hosting cd hosting 6. Générons une clé secrète de 64 caractères de long : openssl rand -base64 64 | tr -d '\n' ; echo 7. Cette clé va nous servir à remplir la constante SECRET_KEY_BASE du fichier plausible-conf.env : nano plausible-conf.env Et modifiez BASE_URL avec le sous-domaine où vous consulterez vos statistiques (par exemple https://plausible.example.com), et... --- ### The fictive experience of time through Mrs. Dalloway - **URL**: https://www.skyminds.net/fictive-experience-of-time-mrs-dalloway/ Now the reader's experience must be studied because, when all is said and done, it is the way in which the complexity of time is felt that constitutes part of the interest (part of the pleasure) we derive from reading "Mrs. Dalloway". 'Monumental' time versus private time Virginia Woolf suggests that time is not uniform, time is not the same for everyone at the same moment. The experience of time is filtered through the characters' consciousness. We may distinguish between two forms of time: 'monumental time' and 'private time'. Monumental time is the time of the clocks: Big Ben striking the 'irrevocable hour', but it is also the time of the power, of the authorities, of the institutions that fix working hours and regulate the lives of 'well-balanced people'. Private time is subjective; it is torn apart (asunder) between memory (the past) and expectation: looking forward to future events. What Virginia Woolf subtly shows is that 'monumental time', for example, the chiming of Big Ben, arouses different responses and touches off different echoes according to the characters. Of course, the chiming of Big Ben is objectively the same for everyone at the same instant, however, Virginia Woolf sets out to show that they affect characters differently according to the state of mind and disposition they find themselves in, on the spur of the moment. When Big Ben strikes half past eleven, Peter Walsh leaves Mrs Dalloway whom he has just seen again after a long absence: "...the direct downright sound of Big Ben striking the half-hour (The leaden circles dissolved in the air)" (44). The imperious chiming of the bells first makes Peter think that Clarissa has changed, that she has hardened with age: "Clarissa had grown hard, he thought" (45). Then, as the bells go on ringing, it dawns upon him that Clarissa has always been cold and distant: "Still the last tremors of the great booming voice shook the air round him; the half-hour; still early; only half-past eleven still!)". A few seconds later, when the bells of St Margaret start tinkling, Peter Walsh is overcome by a sudden emotion at the thought that Clarissa's pallor may be a forerunner of her approaching death. Clarissa has not fully recovered from her recent illness and the fact that she could be nearing death, cannot be overlooked: "The sound of St Margaret's glides into the recesses of the heart and buries itself in ring after ring of sound". Virginia Woolf investigates the subtle nuances and inflexions that chronological time - here the bells - may produce in a character's subjectivity. She is interested in showing how the clapper of a bell may send ripples through the minds of the protagonists and awaken deep-buried recollections. Time and the confrontation of life and death Septimus Warren Smith and Clarissa Dalloway are the two central characters in Mrs Dalloway. It can be said that their respective relationships to time show why the former, Septimus Warren, is condemned to take his own life, while... --- ### Time and Virginia Woolf’s novel technique - **URL**: https://www.skyminds.net/time-virginia-woolf-novel-technique/ Showing the various strata of time by taking one single day is a starting point. It is a paradox since at the end, Woolf suggests that taking one single day is an illusion: huge portions of the past are to be found behind every moment in the present. each moment of the present contains within itself different temporal layers. Time and story-telling How can a novelist investigate and analyse the depths of different individual minds while keeping a sense of unity? Or, put differently, how can a novelist create a coherent, well-structured novel from various disconnected subjectivities? Woolf chose a peculiar narrative voice that could dwell and stay successively in the minds of the different protagonists, and that could register/record what goes on in the character's consciousness. The narrative presence keeps moving from one character to the next and remembers everything. It has the power to resurrect the past in the narration, i.e. the power of bringing back the past into the present or the fiction. This narrative voice is like a state of mind outside the characters and of which the characters themselves are not conscious. The state of mind surrounds/encloses the characters and glides/insinuates into the recesses of their minds. This narrative presence violates their inner thoughts and steals their most intimate secrets. Thus, the form of narration of "Mrs. Dalloway" is the indirect discourse, that we will analyse. She's a queer-looking girl, he thought, suddenly remembering Elizabeth as she came into the room and stood by her mother. "He thought" is the act of enunciation, the narrative voice. The act of recounting is retrospective: it is done after a thought has crossed Peter Walsh's mind and therefore belongs to the mental process of thinking. When the thought occurred to Peter's mind, it was spontaneous, unpremeditated. Through the retrospective act of recounting the narrative voice reports through indirect discourse a thought that was spontaneous in the present. The narration is a distance of time and a reflection. It is applied to the mental process, always improvised. Because of retrospective narration and spontaneous thinking emerges a unique form of writing: the stream of consciousness. Because the narrative presence is able to penetrate different minds, we can speak of an act of ventriloquism as the narrative presence speaks through the inner voice of various characters. The narrative voice is flexible, it keeps moving from one place to another and "Mrs. Dalloway"'s sequential structure comes from this juxtaposition of different blocks/chunks of narrative. The narrative voice cannot exist outside characters. The reader finds it very difficult when the narrative presence is expressing its own opinion since it is always speaking through different characters. The narrative voice gives a personal opinion in the speech against proportion: But proportion has a sister. "Proportion" is an allusion to how social life is organized. It alludes to rational order, which hates excessive, and is also personification and allegory. In the name of proportion, some creators are seen as mad and sent to lunatic asylums. Proportion... --- ### Time on the surface level of Mrs. Dalloway - **URL**: https://www.skyminds.net/time-surface-level-mrs-dalloway/ Time and space are tightly knit as structural elements. The story spans one day and London is constantly called up through allusions to well-known places: Westminster, Bond Street, Regent's Park, and Picadilly Circus. Space and time are closely linked. A day in Mrs Dalloway's life Mrs. Dalloway is not old: she is 51. She is from the British ruling class. On the surface level, the day's events are chronologically organised. At night, the party takes place. The guests are important people of the kingdom. The story starts in the morning when Mrs. Dalloway prepares to buy flowers. The story closes when the guests are leaving, at 3 AM. It therefore consists of two episodes, the starting and the closing of the perfect hostess. A series of events and incidents occur between the opening and the closing. Some of these events are commonplace whereas others will have repercussions in the main protagonists' consciousness: in Mrs Dalloway's and Walsh's. The events are chronologically organised. The passing of the day is marked by the bells and chimes of Big Ben. The most important events take place in threes or multiple of threes. At 12, Warrensmith has an appointment at Bradshaw's. Bradshaw decides to have Septimus sent to a mental institution. At 3 PM, Richard Dalloway comes into Clarissa's room with a bunch of flowers. Richard is not able to express his feelings with words. 3 PM (in the past) is also an important moment in Clarissa's mind for the break with Peter became definitive 30 years ago. At 6 PM, Septimus jumps out of the window. Minor incidents The commotion of an influential person in a black car - it might be the Queen or the Prime Minister. The windows are blind and a tree is printed on them. We do not know who is inside and it stirs a wave of excitement. A plane is sky-writing and drawing letters. The plane and the cars are ways of referring to an event that all the characters in the story will see almost at the same time. Mrs. Dalloway does not know Septimus but the plane and car are the links between them. Minor events are fragmented incidents used to call up a new form of realism based on events which are neither spectacular nor extraordinary but which nevertheless constitute the texture, fabric, and substance of existence. A day is also made of minor incidents, often forgotten with time. Important events "Mrs. Dalloway" is about a few troublesome incidents and the day is upset by more important events. At 11 PM, while busy with her dress, Peter pays a visit after a long absence in India. This unexpected visit rakes the ashes of the past and brings strong feelings back to the surface: Mrs Dalloway has never stopped loving Peter, even if she chose to jilt him. Another encounter in the evening: Mrs Dalloway recognises Sally Seton, now Lady Resseter, the wife of a rich Manchester industrialist. Mrs Dalloway remembers when they were teenagers:... --- ### Mrs. Dalloway by Virginia Woolf: A Modernist Novel - **URL**: https://www.skyminds.net/mrs-dalloway-modernist-novel/ Virginia Woolf, a pioneer in the literary world, was deeply engrossed in the exploration of innovative narrative techniques. Her novels, celebrated as groundbreaking masterpieces, introduced avant-garde forms of fiction, charting new territories previously untraversed. These works boldly shattered the conventional moulds of storytelling, distancing themselves from the well-trodden paths of the Victorian (1837-1901) and Edwardian (1901-1910) eras. Woolf's narrative experimentation was a declaration of independence from the narrative norms of these ancient ages, heralding a new era in the art of novel writing. The First World War was a trauma and brought out a crisis. A break is always prepared, the main innovators were Thomas Hardy and Joseph Conrad. Woolf belongs to an aesthetic movement called the Modernist Novel. "Mrs Dalloway" was published in 1925, which was the year hinging the middle of her career: at the beginning of her career, she was rather traditional (Edwardian) but at the end, "The Waves" is a lyrical fiction, a long and unconventional narrative poem. "Mrs Dalloway" is still in its shape and structure a novel but at the same time, few clues can be found that point out what Woolf will carry further afterwards. An interest in subjectivity The Modernist Novel shows an interest in subjectivity: feelings, recollections, sensations - all the mind's abilities. The Modernist Novel is more concerned with investigating mental processes than reporting a story. Modernism is a direct consequence of psychoanalysis (Freud and later Lacan). The plot is not going to be the main structural element as Woolf hated the plot and its fixity: "This appalling narrative business of the realist". The plot constrains and imposes a unitary plan, hampers and blocks the limitless possibilities of the imagination. "Mrs Dalloway" does not feature a single plot line but a multiplicity of perspectives. There is a sequential structure: blocks of narrative are to be found for the narrator dwells first with Clarissa's mind, then Septimus's mind, and finally Walsh's mind. The narrator jumps from one mind to another: there are no transitions between these blocks of narrative. A focus on apparently insignificant details The Modernist Novel insists on apparently insignificant details, for example, the tree in "Mrs Dalloway". The tree is a recurrent image, it's also invested/endowed with subjective meaning. The character projects onto the tree subjective visions. The tree is packed with different levels of meaning: trees outside trees inside Walsh's mind as he is daydreaming: he has the sensation that a branch is caressing his face. At the same moment, another man is sitting in the park: Septimus also has a vision brought on by the trees surrounding him (p.63). The two characters's minds worked with the trees differently. The characters are linked through their subjectivity. Woolf wants to show that deep inside, characters that are not related can nevertheless share emotions or states of mind. Perception as an act of creation The Modernist Novel is not interested in copying out the outside world (mimesis) but showing the act of perception as an act of creation. When... --- ### Bac de français : méthode complète pour analyser un texte poétique - **URL**: https://www.skyminds.net/bac-methode-analyser-texte-poetique/ Analyser un texte poétique au bac ne consiste pas à réciter une liste de procédés. Il faut observer la forme, comprendre les effets produits, puis montrer comment le poème construit une émotion, une vision du monde ou une réflexion. Un poème travaille la langue autrement qu’un texte en prose. Il joue avec les vers, les sons, les images, les blancs, les répétitions, le rythme et parfois même les silences. Bref, il fait beaucoup avec peu. C’est pratique pour le poète. Un peu moins pour l’élève pressé. Ce qu’on attend de vous devant un texte poétique Au bac de français, l’analyse d’un poème doit montrer que vous savez lire précisément le texte. Il ne suffit donc pas de dire : « il y a des rimes » ou « le poète exprime ses sentiments ». Il faut expliquer comment le poème produit cet effet. La bonne méthode tient en trois verbes : Observer : repérer les vers, les strophes, les rimes, les sonorités, les images, les pronoms, les temps verbaux. Interpréter : expliquer ce que ces choix produisent sur le lecteur. Organiser : construire une réponse claire, avec une problématique et un plan. Le but n’est donc pas de tout relever. Le but est de sélectionner les éléments qui servent vraiment votre lecture du poème. Première étape : identifier la situation du poème Avant d’entrer dans les détails techniques, commencez par comprendre la situation d’énonciation. C’est souvent là que l’analyse se débloque. Qui parle ? Un « je » lyrique, un narrateur, une voix collective, un personnage ? À qui s’adresse la voix poétique ? À un être aimé, au lecteur, à la nature, à Dieu, à la mort, à elle-même ? De quoi parle le poème ? Amour, fuite du temps, nature, mort, révolte, souvenir, voyage, ville, rêve ? Quelle émotion domine ? Joie, nostalgie, mélancolie, douleur, admiration, colère, ironie ? Quel mouvement suit le texte ? Le poème progresse-t-il vers une révélation, une chute, une opposition, une intensification ? Cette première lecture permet d’éviter l’erreur classique : commenter les procédés un par un, sans comprendre le sens général. Un poème n’est pas un meuble IKEA de figures de style. Il faut d’abord voir la pièce entière. Deuxième étape : observer la forme du poème La poésie se reconnaît souvent à sa forme. Toutefois, cette forme n’est jamais décorative. Elle participe au sens. Le vers Un vers correspond à une ligne poétique. Il ne suit pas forcément la longueur d’une phrase. La fin du vers crée une pause visuelle et parfois sonore. C’est pour cela qu’un retour à la ligne peut produire un effet d’attente, de rupture ou d’insistance. On nomme les vers selon leur nombre de syllabes : Alexandrin : 12 syllabes. Décasyllabe : 10 syllabes. Octosyllabe : 8 syllabes. Hexasyllabe : 6 syllabes. L’alexandrin est particulièrement important dans la poésie française classique. Il donne souvent une impression d’équilibre, de solennité ou de maîtrise. À l’inverse, des vers courts peuvent créer un effet de rapidité, de rupture ou d’intensité.... --- ### Characters and characterization in The Vicar of Wakefield - **URL**: https://www.skyminds.net/characterization-the-vicar-of-wakefield/ Characters are a finished product. Characterization is the technique of production of the characters, it reflects the way of thinking. Goldsmith was not only a novelist but also a playwright: he wrote "The Good Natur'd Man" (1768) and "She Stoops to Conquer" (1773). When he wrote "The Vicar of Wakefield", Goldsmith was testing through fiction characters who were to become perfectible on stage. Full-fledged characters are fleshed-out characters. Fiction writing was for him a draft for theatre, that's the reason why there are so many references to theatre in the text. "All the same flesh and blood" (p. 10) All of the characters are connected through the family. The family circle Being a vicar, Primrose reminds his reader that all mankind makes up a large family. Characters are defined through kinship (family relationships). For instance, the Primroses form the typical family structure of the 18th century: the father is at the centre (patriarchal model) the eldest son is favoured (primogeniture) gender roles are well-differentiated (p. 45) The patronym is Primrose: it is a forerunner of the end of the story. To be "prim" is to behave well and to be easily shocked. The "rose" is a flower, the symbol of England. "Rose" is also the preterit from "to rise", indicating social elevation. Throughout the novel, the reader comes across characters who are connected by family ties. Yet, in the denouement, the already existing family bonds are strengthened: In the end, the Primrose family find themselves united to the Wilmots (through George's wedding) and to the Thornhills (through Sophia's wedding, and through Olivia's wedding that proves to have been genuine after all). Matrimony Chasing husbands is the chief preoccupation of Deborah (Mrs Primrose), and, to a lesser extent, Olivia. Marrying is shown to be a financial transaction: Mr Wilmot is said to be 'in circumstances to give [Arabella] a large fortune' (14) and, conversely, Mr Primrose 'could make a very handsome settlement on [his] son' (14) When it is revealed that Primrose has lost all his savings and riches the wedding cannot go ahead. In the novel, Squire Thornhill cynically flouts (insults) the rules of matrimony and the family institution, which is the foundation stone of society. Having abused Olivia, Thornhill offers to marry her to another man, while remaining her lover. This is a typical instance of the double standard, which only men could indulge in, in the 18th century: 'We can marry her to another in a short time, and what is more, she may keep her lover beside; for I protest I shall ever continue to have a true regard for her' (134) Justice will be done, Thornhill the villain will be punished for his misdemeanours, yet there is no harsh retribution at the novel's end. Thornhill is more mocked at and held as an object of ridicule than made to atone for his guilt through pain and suffering. The former philanderer (woman chaser) is shown 'learning to play the French horn' (189) This denouement is perfectly in... --- ### Structure and Plot in The Vicar of Wakefield - **URL**: https://www.skyminds.net/structure-plot-vicar-of-wakefield/ "The Vicar of Wakefield" is a classic novel by Oliver Goldsmith, first published in 1766. It's often celebrated for its charming portrayal of rural English life, its exploration of virtue and resilience in the face of adversity, and its satirical take on the social and moral issues of its time. The narrative centres around Dr Primrose, the vicar of the title, and his family as they navigate a series of misfortunes that test their faith, virtue, and familial bonds. Dr. Primrose, a man of modest wealth and virtue, lives contentedly with his wife and six children in a small parish. Their tranquil life is upended when the vicar's financial stability is destroyed, leading the family to move to a more humble residence in another village. The family's trials and tribulations include financial ruin, seduction, abduction, and imprisonment. Yet, throughout these hardships, Dr. Primrose's steadfast faith, optimism, and paternal love remain unshaken, serving as a moral compass for his family and the novel's readers. Goldsmith employs a mix of satire, sentimentality, and moral reflection, making "The Vicar of Wakefield" a richly layered text. It satirizes the social and moral pretensions of the time, while also presenting a heartfelt exploration of human resilience and the importance of family. The novel's enduring appeal lies in its complex characterizations, its humour, and its compassionate insight into human nature and societal flaws. The story is meant to educate and teach a moral lesson to the reader. Yet, the vicar is a model of good behaviour, a paragon of virtue and he is presented comically. He has shortcomings, defects, and very visible weaknesses. The vicar adores showing off and teaching lessons. He displays his knowledge foolishly. He also has a pet theme: monogamy. The narrative structure of "The Vicar of Wakefield" is notable for its use of a first-person perspective, allowing readers an intimate glimpse into Dr. Primrose's thoughts and feelings. This approach lends the story an air of authenticity and emotional depth, as the vicar's virtues and flaws are laid bare. The story is meant to educate and teach a moral lesson to the reader. Yet, the vicar is a model of good behaviour, a paragon of virtue and he is presented comically. He has shortcomings, defects, and very visible weaknesses. The vicar adores showing off and teaching lessons. He displays his knowledge foolishly. He also has a pet theme: monogamy. He is an obsessive character: "I valued myself upon being a strict monogamist". The novel's structure The structure is the general framework, the novel's design, and the way it is constructed. The structure is static. The plot is how the various episodes are linked together. The plot is dynamic. The symmetrical design "The Vicar of Wakefield" is carefully planned: it is made of 32 chapters, an even number. The turning point is in Chapter 17 when Olivia is abducted (eloped). It can be said that the novel's action hinges on Chapter 17. The symmetry that acts in a rotative was a common feature in... --- ### British Civilisation and Literature: 19th and 20th centuries - **URL**: https://www.skyminds.net/british-literature-19th-and-20th-centuries/ The Victorian Period: 1832-1900 The Victorian Period took place during the long reign of Queen Victoria (1837-1901). Great Britain was then the first industrial, cultural and economic nation, with a thriving economy. It was a time of social and political stability and the colonies were a huge market for British products. The British population rose from 2 million people to 6.5 million people. The Great Exhibition of 1851 was a demonstration of British power. Yet, some social problems arose: trade unions were forbidden and this led to riots. The "Corn Laws" were used to keep the price of bread high. There was pauperism too: in 1864, the Poor Law Amendment Act was introduced to solve the problem of poverty with workhouses. The Victorian Period was the age of two extremes: the poor working class and the middle classes, rich and comfortable. It was a 2-standard society. It was also an age marked by scientific and economic confidence and social and spiritual pessimism. Some great debates took place: intellectual activity and questioning on varied themes such as justice, liberty and progress. In 1859, Charles Darwin published "On the Origin of Species by Means of Natural Selection". The Mid-Victorian society is still held together by Christian moral teachings. The stress was on the virtues of family life. Some saw the family as an agent of oppression, as an efficient means to maintain uniformity in society. It was also the time of the first real moves of the modern women's movement. Yet, at the same time, there was a great respect for the matronly model provided by Queen Victoria herself: the stereotype of virtuous womanhood. The 19th Century: the Great Age of the English novel and Gothic novel With Charles Dickens, a new concern of the society emerged: he was a clock (a huge worker) his father was imprisoned for debt he started working at the factory at 12 Dickens' life inspired his novels: David Copperfield, Oliver Twist, The Pickwick Papers, and Hard Times. They all revolve around the problems of society and the suffering of children. He is never pathetic but sometimes humourous and ironic. Dickens's depiction of the Victorian change of feelings from optimism and confidence at the beginning of Queen Victoria's reign in 1837 to uncertainty and melancholy thirty years later. Modernism: 1920-1945 TS Eliot, James Joyce, Joseph Conrad, Virginia Woolf, and Yeats were all modernists. Modernism started after World War One. Modernism happened in France earlier than in Great Britain: from 1890 to 1940. It is a transcontinental movement, to Russia and the USA and multiple as it comprises existentialism and structuralism. This literature revealed a breaking away from established rules and questioned Man's position and function in the Universe. Modernist texts tend to be remarkable experiments in style and form. In the 19th century, everything was rational and logical: setting, time, and characterization, whereas in the 20th century, all is questioned and challenged: the characters are depicted through different techniques. Besides, Sigmund Freud influenced the modernist movement. Modernism... --- ### To what extent is Tristram Shandy a parody? - **URL**: https://www.skyminds.net/tristram-shandy-a-parody/ At the beginning of a novel, a writer has to call up a world of his. It's the "willing suspension of disbelief' (Samuel Coleridge), which only happens if the situation is credible. It means that the reader accepts the story without always questioning the facts related, but he's expected to take things seriously. The opening chapter is likely to puzzle the reader who has some good reasons to feel disoriented. He suspects Sterne of playing a trick on him. The novelist presents this text as a fictitious autobiography. "Opinions" means a documented essay, and "gent" (a short for gentlemen) specifies that the character occupies a high level in society. The quotation in Greek is erudite, it's an epigraph (part of the paratext). Playing with the rules of the realist novel The story is presented as a jest. A lack of chronological progression The first-person narrator does not follow the linear, chronological progression of an autobiography. The story is "ab ovo" as Tristram is not born yet. He tells a story he cannot have witnessed: "My Tristram's misfortunes began 9 months before he came to this world". The narrator seems to be improvising He is more concerned about the workings of his mind than telling a story. The long and elaborated complex sentences seem to record Tristram's thought process. The act of reading constantly slowed down because of the complexity of the syntax and the arbitrary punctuation: there are lots of clauses separated by colons, semi-colons, and dashes. The first sentence ends at line 30. It is very difficult to make sense of the message conveyed: if his parents had been more concentrated as they were fiddling, he would probably have been a more handsome and happy fellow. The syntax reproduces the workings of his mind. Nothing seems to be fixed. He is writing and thinking at the same time. The narrator keeps breaking his syntactic constructions. The narrator is not self-effacing The narrator's presence is conspicuous. In a realist novel, readers should not notice the narrator. Here, his presence is always reminded. The narrator does not describe reality but what could have existed: he makes "hypotheses" and makes use of the conditional. Fiction and essay writing Tristram is showing his knowledge of "nature philosophy", which is the biology of the 18th century. He alludes to the theory of the four humours: the physical condition the parents were in at the moment of procreating was decisive in the development of the child. Sterne's "Tristram Shandy" further blurs the lines between fiction and essay writing, not merely through its content but through its form and the narrator's approach to storytelling. Tristram's frequent digressions into subjects like the philosophy of Locke, the science of the time, and the art of warfare serve not just as demonstrations of his erudition but as parodic elements that challenge the conventions of both the novel and the essay. In doing so, Sterne satirizes the Enlightenment's quest for rationality and order by illustrating the chaotic and unpredictable nature... --- ### Is Tristram Shandy a novel or an anti-novel? - **URL**: https://www.skyminds.net/tristam-shandy-novel-or-anti-novel/ A general presentation of Tristram Shandy The title shows that novelists played with the rules of the New Novel genre. Tristram Shandy is a unique literary experience. It is a long and intricate text that does not even tell a story, or at least in an unusual way. It cannot be read from cover to cover: there is no unique plot but digressions, essays, and experiments with typography. We can find blank pages, drawings, dashes, italics and chapters which have gone missing. It is much more complicated than a joke, it is a book that is highly interesting in its artistic form. It is a reflexive text, which is also commenting on the meaning of fiction writing. The influences of other writings Sterne was a cultivated vicar and a well-read man, influenced by Shakespeare, Rabelais, and Cervantes but also by philosophers such as Descartes or Locke. Tristram Shandy was published in several instalments. Volumes 1-6 were published in 1760-1761, and volumes 7-9 were published between 1765 and 1767. Tristram Shandy was immediately successful and made Laurence Stern rich. However, Sterne contracted tuberculosis and had to go to France (the description of Paris is in vol. 7). Several authors influenced Laurence Sterne. Don Quijote Sterne likes Cervantes' comic method which consists of telling simple insignificant events by using epic style. There's a distortion, a gap between the event or action and how the event is described. This gap is what is called "mock-heroic": it is not serious enough to be epic, and it creates a comic effect. Gargantua and Pentagruel Not only does Rabelais show bawdy jokes and "double-entendres", but "nose" is Tristram Shandy also means something else... without paying attention to social etiquette or good manners. The tradition of the learned wit comes from the medieval system of knowledge: the use of Latin to show off. We can find traces of this in Le Malade Imaginaire by Molière, in the way of satirizing a system of knowledge which relied heavily on difficult words, using medical and legal vocabulary that no one could understand. In Vol. 8, chapter 34, Mr Walter Shandy recommends a diet to his brother who suffers from a serious illness: he's in love. That's a satire of doctors. The comical effect comes from using a lot of learnt words that are not used in everyday life, and showing off one's culture. There is a discrepancy between the learnt references and the disease which is simply that Tobby is in love. John Locke Tristram Shandy was also influenced by philosophers, especially "Essay Concerning Human Understanding" by John Locke, who was interested in how the human mind works. He wondered why the min was filled with such different elements: memories, pictures, obsessions... Locked started by claiming that there aren't any innate ideas in the mind, since the mind is blank at birth. Therefore, everything in the mind is necessarily derived from experience. That is the notion of empiricism: knowledge is derived from experience. Sterne was interested in Locked because... --- ### La vie de Charles Baudelaire - **URL**: https://www.skyminds.net/biographie-charles-baudelaire/ Je n'ai pas oublié Deux événements déterminent l'enfance du poète : la mort d'un père (1827) et le remariage d'une mère (1828). Né le 9 avril 1821, à Paris, d'un veuf de 62 ans qui vient d'épouser en secondes noces une jeune femme de 27 ans, Charles s'enivrera, six ans plus tard, du « vert paradis des amours enfantines » dans la « blanche maison » de Neuilly, entre Mariette, l'inoubliable servante, et Caroline, sa mère « en grand deuil ». « Époque d'amour passionné » pour celle qui, dans ses fourrures parfumées, fut à la fois une idole et un camarade. D'où une impression de trahison face au remariage rapide avec l'ambitieux chef de bataillon, Aupick. « Je n'ai pas oublié... » et « La servante au grand cœur » témoignent, plus de trente ans après, de l'inguérissable blessure que fut, pour l'enfant déprimé, le partage d'une mère qu'il croyait « uniquement » à lui. « Sentiment de solitude dès mon enfance », note-t-il dans ses carnets intimes. Au collège à Lyon, où son beau-père est muté de 1828 à 1835, ce nouvel Hamlet commence à se plaindre de « lourdes mélancolies ». La paresse du rebelle En apparence, « le mioche donne satisfaction ». De retour à Paris, l'adolescent est admis au lycée Louis-le-Grand où il dévore jusqu'à la nausée la poésie romantique, se distingue en vers latins et se sent coupable de ce qu'il diagnostique comme « une éternelle paresse ». Exclu à la suite d'un incident, cet élève « excentrique » obtient quand même le baccalauréat en août 1839. À son beau-père qui le voudrait ambassadeur, Baudelaire oppose un refus subversif : il veut être poète. Une inscription de complaisance à la faculté de droit ne change rien au désir du beau-fils rebelle : « être indépendant le plus tôt possible, c'est-à-dire dépenser mon argent », ce qu'il fait avec des prostituées. Comme un dandy. Mais en pure perte, car l'énergique général ne tarde pas à mater la révolte de ce jeune homme indigne. Dès 1841, Charles est embarqué sur le « Paquebot des Mers du Sud » avec ordre de changer de conduite. Le voyage aux « Indes », qu'il écourte au bout de sept mois, sera le seul périple de cet exilé de l'intérieur. Le temps de s'ennuyer là-bas comme ici, malgré les charmes exotiques de « la belle Dorothée ». Les Fleurs du mal se souviendront des corps paresseux caressés par des parfums bizarres... Du dandysme à la bohème Possédant désormais sa part d'héritage paternel, Baudelaire fait de son retour à Paris une grande parade du dandysme. Dépenser tout, vivre vite, s'enivrer de vin, d'amour, d'art : voilà le programme frénétique du jeune poète qui, à l'hôtel Pimodan, partage sa vie de défis avec « la Vénus noire », Jeanne Duval, une mulâtresse qui a « quelque chose de divin et de bestial ». La sanction de ces provocations jugées scandaleuses par le respectable général sera sans appel : à la suite d'un... --- ### La vie d’Edgar Allan Poe - **URL**: https://www.skyminds.net/biographie-edgar-allan-poe/ Edgar Allan Poe est un auteur américain de la première moitié du XIXe siècle, très prolifique puisqu'il a écrit plus d'une soixantaine de nouvelles et de poèmes. Edgar Allan Poe s'affirme en tant qu'écrivain de grande renommée, reconnu prestigieux en France grâce au poète Charles Baudelaire qui, en traduisant ses œuvres, leur a conféré une beauté et une pureté exceptionnelles. Malmené dès l'enfance par la vie, assoiffé de tendresse, malchanceux en amour, hanté par ses phantasmes et ses démons intérieurs, névrosé au plus haut point, la littérature lui sert de catharsis et lui permet d'exorciser ses dieux noirs. Incompris de ses congénères romanciers de langue anglaise, mais sincèrement loué et admiré par des poètes tels que Tennyson, Yeats et Mallarmé, écartelé entre névrose et lucidité, Poe refuse d'accepter ses défaites et prend souvent le parti de rire de ses misères plutôt que d'en pleurer. Ses œuvres sont autant de cris de souffrance, dans un monde qu'il ressent comme hostile, peuplé de silence et d'infinie solitude. Son humour est l'expression de ce désespoir courageusement camouflé, de ce défi du vaincu à l'égard d'un destin qui l'accable. Analyste lucide raisonnable, capable de démonter n'importe quel mécanisme, Edgar Poe est à l'origine du roman policier en littérature. Les Histoires Extraordinaires, les Nouvelles Histoires Extraordinaires et les Histoires Grotesques et Sérieuses sont dominées par le plus instinctif des sentiments, la peur. L'univers des contes d'Edgar Poe est un monde de cauchemar, peuplé de paysages nocturnes désertiques et silencieux, ponctués de demeures lugubres et mystérieuses, où vivent des personnages déséquilibrés, à l'hérédité chargée, s'adonnant parfois à l'alcool et à l'opium, se sentant traqués et menacés au point d'en perdre la raison ou la vie dans des circonstances horribles. Si la vie ne fait pas l'œuvre d'un écrivain, du moins entre-t-elle ici largement dans celle d'Edgar Allan Poe, au point qu'il nous a semblé indispensable de relater sa biographie qui éclaire le lecteur dans une saisie intelligente de son œuvre. Enfance et jeunesse Les premières années Edgar Allan Poe naît le 19 janvier 1809 à Boston, enfant de David Poe Jr. et Eliza Hopkins, tous deux comédiens de théâtre. La vie d'Edgar prend un tournant tragique avec la disparition précoce de son père, suivie de près par le décès de sa mère en 1811, laissant le jeune Edgar orphelin à l'âge de deux ans. Recueilli par le couple Allan de Richmond, Virginie, il adopte le nom d'Edgar Allan Poe. Cette adoption marque le début d'une relation complexe et tumultueuse avec son père adoptif, John Allan, un riche négociant en tabac. Éducation en Angleterre En 1815, la famille Allan déménage en Grande-Bretagne, où Edgar poursuit sa scolarité. Il fréquente d'abord une école en Écosse, puis l'école des demoiselles Dubourg et la Manor House School à Stoke Newington. Cette période européenne forge chez le jeune Edgar un solide bagage culturel et intellectuel, tout en semant les premières graines de son imaginaire gothique. Université et premiers écrits L'université de Virginie En 1826, Poe entre à l'Université de Virginie, où il... --- ### Voyage au centre de la Terre et Le Monde perdu : deux quêtes initiatiques - **URL**: https://www.skyminds.net/voyage-au-centre-de-la-terre-monde-perdu/ Publié en 1864, Voyage au centre de la Terre conduit Axel vers les archives géologiques enfouies sous la surface du globe. En 1912, Le Monde perdu envoie le journaliste Edward Malone au sommet d’un plateau où survivent des espèces préhistoriques. Les deux romans transforment la science en aventure initiatique, mais Jules Verne privilégie la descente vers les origines, tandis qu’Arthur Conan Doyle confronte l’exploration moderne aux violences et aux contradictions de l’imaginaire colonial. Près d’un demi-siècle sépare Voyage au centre de la Terre de Jules Verne et Le Monde perdu d’Arthur Conan Doyle. Les deux romans appartiennent pourtant à une même tradition : celle du voyage vers un territoire séparé du monde ordinaire, où des formes de vie disparues demeurent encore visibles. Leurs itinéraires suivent des directions opposées. Axel descend sous la surface de la Terre, tandis que Malone et ses compagnons gravissent un plateau inaccessible d’Amérique du Sud. La profondeur géologique et l’isolement géographique produisent cependant un effet comparable : l’espace devient une machine à remonter le temps. Cette comparaison prolonge les réflexions consacrées au voyage imaginaire et à l’exploration des mondes inconnus. Chez Verne comme chez Doyle, le monde perdu ne devient crédible qu’à travers des traces, des témoins, des documents et des récits capables de garantir que l’impossible a réellement été vécu. Deux mondes perdus, deux directions Dans Voyage au centre de la Terre, l’inconnu se trouve sous les pieds des personnages. Les couches géologiques, les fossiles et les espèces disparues transforment la descente spatiale en remontée chronologique. Plus les voyageurs s’enfoncent, plus ils semblent se rapprocher des premiers âges du globe. Dans Le Monde perdu, le passé survit au-dessus du monde moderne. Le plateau est séparé des plaines environnantes par des falaises presque verticales. Son altitude et son isolement auraient préservé des espèces disparues ailleurs, comme si une portion d’histoire naturelle avait été retranchée du temps commun. Les deux romans reposent donc sur une même opération imaginaire : transformer une distance en différence temporelle. Jules Verne verticalise la géologie ; Conan Doyle spatialise l’évolution. Le voyageur n’utilise pas une machine temporelle, mais son déplacement le conduit dans un passé devenu paysage. Descendre et monter Chez Verne, l’entrée s’effectue par le cratère du Snæfellsjökull. La progression reprend le motif de la catabase, la descente vers le monde souterrain, avant que l’expédition soit expulsée par le Stromboli. Le trajet associe la profondeur, la mort symbolique et la renaissance. Chez Doyle, l’accès au monde perdu exige au contraire une ascension. Les voyageurs atteignent un piton séparé du plateau, puis abattent un arbre afin de créer une passerelle au-dessus du vide. La verticalité ne mène plus vers les entrailles de la Terre, mais vers une île aérienne coupée du reste du continent. Ces mouvements opposés conduisent néanmoins vers un même centre symbolique. Descendre ou monter signifie quitter la géographie ordinaire, franchir un seuil et pénétrer dans un espace où l’histoire de l’humanité et celle de la planète peuvent être relues. Axel et Malone : raconter pour garantir le voyage Les... --- ### Jules Verne : le pouvoir des légendes sous les images - **URL**: https://www.skyminds.net/jules-verne-legendes-des-images/ Dans les éditions Hetzel des Voyages extraordinaires, la phrase placée sous une gravure n’est jamais un simple commentaire. Elle identifie les personnages, fixe les lieux, sélectionne un instant et peut annoncer une catastrophe ou faire naître une énigme. L’image et sa légende composent ainsi un récit parallèle, parfois fidèle au roman, parfois plus ambigu que lui. Les grandes éditions illustrées de Jules Verne associent étroitement le texte, la gravure, la carte et la légende. Le lecteur ne suit pas uniquement une succession de chapitres : il rencontre régulièrement des scènes isolées, accompagnées d’une phrase qui semble les extraire du récit tout en les y rattachant. Cette relation entre les mots et les images a été étudiée par René Micha dans « Les Légendes sous les images », publié en 1966 dans le numéro de la revue L’Arc consacré à Jules Verne. Son essai part d’un souvenir de lecture, puis analyse la manière dont la légende guide, prolonge ou perturbe l’interprétation d’une gravure. René Micha, lecteur des éditions Hetzel René Micha se souvient d’avoir d’abord été sensible aux formules étranges de Charles Perrault et de Lewis Carroll. « Et la chevillette cherra » ou « Off with his head! » fascinent l’enfant parce que les mots eux-mêmes semblent former des constructions mystérieuses. L’adolescent se tourne ensuite vers les cryptogrammes, les rébus et les messages à déchiffrer. Les éditions Hetzel réunissent précisément ces deux plaisirs. Elles proposent des romans remplis de textes codés, de cartes, de coordonnées et de documents incomplets, mais aussi des images dont la signification dépend des quelques mots placés au-dessous. La lecture devient ainsi une activité de reconnaissance et de déchiffrement. Pour Micha, « la légende importait beaucoup ». Elle pouvait même devenir plus attirante que l’illustration seule, car elle ouvrait une direction narrative sans fermer entièrement les possibilités d’interprétation. Du cartouche au phylactère La légende peut fonctionner comme le cartouche d’un tableau. Elle nomme le personnage, le lieu ou l’événement représenté : « Philéas Fogg », « Le Patagon Thalcave » ou « Une rue de Reykjavik ». Le lecteur sait immédiatement ce qu’il doit reconnaître dans l’image. Lorsqu’elle reproduit une réplique, elle semble en revanche pénétrer dans la scène. Elle annonce alors les phylactères de la bande dessinée, même si les paroles restent imprimées sous le cadre et non dans une bulle. Le personnage paraît parler depuis l’image, tandis que la phrase conserve son appartenance au roman. La légende se situe donc entre deux espaces. Elle appartient matériellement à la page illustrée, mais elle provient souvent d’un passage situé quelques pages avant ou après. Elle relie l’instant immobile de la gravure au temps continu du récit. Les premières images comme promesses d’aventure Les premières illustrations jouent un rôle décisif : elles montrent un événement encore éloigné des principales péripéties, mais qui rend celles-ci inévitables. Dans Les Enfants du capitaine Grant, la découverte d’une bouteille dans le ventre d’un requin déclenche la recherche du navigateur disparu. Dans L’Île mystérieuse, un ballon emporte des prisonniers hors de Richmond,... --- ### Jules Verne et ses illustrateurs : la fabrique visuelle des Voyages extraordinaires - **URL**: https://www.skyminds.net/jules-verne-illustrateurs/ Les Voyages extraordinaires sont le résultat d’une création collective associant Jules Verne, Pierre-Jules Hetzel, des dessinateurs comme Édouard Riou, Alphonse de Neuville, Jules Férat, Léon Benett et George Roux, puis des graveurs chargés de rendre leurs dessins imprimables. Ces artistes ne se contentent pas de décorer les romans : ils donnent une forme visible aux machines, aux paysages et aux connaissances scientifiques, tout en construisant l’identité durable de l’univers vernien. Pour de nombreux lecteurs, le Nautilus, le capitaine Nemo, les profondeurs terrestres ou le ballon Victoria possèdent une apparence précise avant même d’avoir été adaptés au cinéma. Cette mémoire visuelle vient en grande partie des éditions illustrées publiées par Hetzel au XIXe siècle. Les images y sont si nombreuses et si étroitement associées au texte qu’il devient difficile de séparer Jules Verne de ses illustrateurs. Arthur B. Evans a recensé plus de quatre mille illustrations dans les Voyages extraordinaires, soit en moyenne plus d’une soixantaine par roman. Elles constituent un second système narratif, développé parallèlement aux descriptions, aux dialogues et aux cartes. Une constellation de dessinateurs et de graveurs Dans son essai « Jules Verne et ses illustrateurs », publié en 1966, Georges Borgeaud énumère les artistes liés aux éditions Hetzel comme les personnages d’une comptine. Sa liste mêle les dessinateurs les plus connus aux artisans qui ont gravé leurs œuvres : « Riou, de Neuville, Férat, Montaut,Marie, Philippoteaux, Benett, Meyer,Froelich, Beaurepaire, Lavallée, Schuler,Bayard, sans oublier Hildibrand, Barbant, Pannemaker,tous trois graveurs de ces messieurs. » Georges Borgeaud, « Jules Verne et ses illustrateurs », L’Arc, no 29, 1966 Cette énumération demande toutefois une distinction. Riou, Neuville, Férat, Benett ou Roux conçoivent les compositions et réalisent les dessins. Henri-Théophile Hildibrand, Charles Barbant et François Pannemaker interviennent principalement comme graveurs : ils transposent les dessins sur les matrices destinées à l’impression. L’image publiée ne correspond donc jamais exactement à un dessin sorti intact de la main d’un seul artiste. Elle résulte d’une chaîne de décisions, de corrections et de traductions techniques. L’auteur décrit, l’éditeur commande et supervise, le dessinateur interprète, puis le graveur restitue les lignes, les ombres et les textures dans les contraintes de l’impression. L’illustration au cœur du projet éditorial d’Hetzel Le succès visuel des Voyages extraordinaires repose largement sur la stratégie de Pierre-Jules Hetzel. Les romans paraissent souvent d’abord dans le Magasin d’éducation et de récréation, déjà accompagnés d’images, avant d’être publiés dans de grands volumes illustrés destinés notamment aux étrennes. Pour les étrennes de 1865, Hetzel propose ainsi une édition illustrée au format in-octavo de Cinq semaines en ballon, paru initialement en 1863. Cette édition associe Édouard Riou et Henri de Montaut. Elle établit un modèle éditorial que la collection développera ensuite : récit d’aventures, documentation scientifique, gravures nombreuses et cartonnage spectaculaire. L’illustration ne constitue pas un supplément ajouté une fois le manuscrit achevé. Le texte paraît en feuilleton avec ses images, puis celles-ci sont reprises, complétées, déplacées ou parfois remplacées dans les éditions en volume. À partir de la fin des années 1880, certaines rééditions accueillent également... --- ### Michel Serres et Jules Verne : géodésiques de la Terre et du Ciel - **URL**: https://www.skyminds.net/geodesiques-de-la-terre-et-du-ciel/ Dans « Géodésiques de la Terre et du Ciel », Michel Serres propose une lecture globale des Voyages extraordinaires. Les romans de Jules Verne ne seraient pas de simples aventures scientifiques : leurs parcours relient un point de départ, un centre symbolique et un retour. Le déplacement géographique devient simultanément voyage encyclopédique, remontée vers les origines et initiation mythique. Les héros de Jules Verne parcourent la surface du globe, s’enfoncent sous la terre, plongent sous les océans et s’élèvent vers les astres. Pourtant, leurs trajectoires ne sont jamais de simples lignes tendues vers une destination. Elles décrivent des cercles, traversent des centres, reviennent au point de départ ou conduisent vers un nouveau commencement. Michel Serres analyse cette architecture dans un essai publié en 1966 dans le numéro de la revue L’Arc consacré à Jules Verne. Son approche associe mathématiques, géographie, histoire des sciences, mythologie et lecture initiatique. Elle cherche moins à interpréter séparément chaque symbole qu’à découvrir la forme générale qui organise l’ensemble de l’œuvre. Michel Serres, « Géodésiques de la Terre et du Ciel » Cet article est paru dans L’Arc, no 29, pages 14 à 19, 1966 : Grotte, caverne, excavation, puits, sape, mine... peu de romans de Jules Verne sont dépourvus de ces basiliques souterraines. Réelles : Fingal du Rayon Vert, le Mammouth du Kentucky au Testament d'un excentrique ; réelles-imaginaires : la nouvelle Aberfoyle dans le texte platonicien des Indes Noires ; parfaitement fantastiques ou creusées de main d'homme : Granite-House, le refuge semi-marin de Nemo, la Columbiad du Gun-Club, l'énorme bouche à feu du Kilimanjaro destinée à redresser l'axe des pôles, l'île évidée de Face au Drapeau, et ainsi de suite. À ce thème tellurique se mêlent autant qu'on veut les motifs bachelardiens de l'eau et du feu, jusqu'à donner l'image princeps de l'œuvre, savoir Le Volcan. Le monde - au sens géologique - est avant tout (après tout) volcanique, le voyage extraordinaire vers le point sublime est un itinéraire vers un cratère, à partir d'un cratère ou passant par un cratère : voyez Maître Antifer, Le Volcan d'Or, Servadac. Que trouvent, au pôle, les compagnons du Capitaine Hatteras ? Une île (autre thème majeur) ; au centre de l'île, un volcan ; le point mathématique du pôle est au centre du cratère. De plus, l'idée essentielle de l'Éternel Retour (exprimée dès L'Île Mystérieuse et perpétuée jusqu'à L'Éternel Adam) n'est rendue possible que par des suites de destructions et de palingénésies éruptives. On voit à l'évidence tout ce qu'une critique psychanalytique saurait tirer de là, on le voit trop bien pour qu'on s'y attarde. Le Voyage au Centre de la Terre est l'ouvrage parfait du complexe d'Empédocle. Sur les traces cryptographiques de l'alchimiste Arne Saknussemm (dont toute l'œuvre est perdue, sauf le message runique), Axel et son oncle pénètrent dans le Yokul du Sneffels, en Islande, pour revenir par le Stromboli : le voyage relie la bouche d'un volcan éteint à un cratère en pleine activité. Si on veut un catalogue, il est ici complet : les entrailles du globe... --- ### L’impact des illustrations sur l’imaginaire vernien - **URL**: https://www.skyminds.net/impact-illustration-imaginaire-vernien/ Dans Voyage au centre de la Terre, les illustrations d’Édouard Riou ne se contentent pas de reproduire les aventures racontées par Jules Verne. Elles rendent visibles les hypothèses scientifiques, dramatisent la descente et transforment Axel en minuscule spectateur d’un monde démesuré. À mesure que l’expédition s’enfonce, les gravures accompagnent le passage du document scientifique au rêve paléontologique, puis à une expérience initiatique où le merveilleux et le fantastique se confondent. Le lecteur de Jules Verne ne découvre pas uniquement un texte. Dans les grandes éditions Hetzel, il parcourt un objet éditorial associant le récit, les gravures, les légendes, les cartes et le cartonnage. L’image participe ainsi à la construction des Voyages extraordinaires et à la manière dont plusieurs générations se représentent leurs personnages, leurs machines et leurs paysages. Cette fonction devient particulièrement visible dans Voyage au centre de la Terre. Le roman conduit ses personnages vers un espace que personne ne peut observer directement. Pour représenter l’intérieur du globe, l’illustrateur doit donc combiner les données géologiques du XIXe siècle, les descriptions de Jules Verne et sa propre imagination. Un roman qui devient aussi un livre d’images Voyage au centre de la Terre paraît d’abord en 1864. L’édition illustrée publiée par Hetzel en 1867 comprend 56 dessins d’Édouard Riou, gravés notamment par Henri-Théophile Hildibrand et les frères Pannemaker. Cette édition installe durablement l’apparence visuelle du roman. Riou ne travaille pas seul. La fabrication du livre repose sur une chaîne réunissant l’auteur, l’éditeur, le dessinateur, les graveurs et les imprimeurs. Le dessin original doit être traduit en gravure reproductible, puis intégré au texte selon un format et un rythme déterminés par l’édition. L’illustration vernienne constitue donc une œuvre collective. Elle conserve l’autorité du texte, mais elle résulte aussi de choix éditoriaux et artistiques. Les images sélectionnent des moments, fixent une physionomie et proposent une interprétation visuelle que le lecteur ne peut plus entièrement ignorer. Une image peut-elle seulement reproduire le texte ? Une illustration donne d’abord une forme à ce que le récit décrit. Elle montre un instrument, une grotte, un fossile ou une espèce disparue dont le lecteur ne possède pas nécessairement une représentation précise. Cette fonction documentaire correspond parfaitement au projet didactique des Voyages extraordinaires. Mais l’image sélectionne aussi un angle, une lumière, une échelle et un instant. Elle peut accentuer une menace, isoler un personnage ou donner à une cavité l’apparence d’une cathédrale. Elle ne répète donc jamais parfaitement les mots : elle les interprète et parfois les dépasse. Les quatre fonctions de l’illustration vernienne Dans Voyage au centre de la Terre, l’illustration remplit au moins quatre fonctions complémentaires. Elle documente le savoir, dramatise l’action, dirige la lecture et donne une forme mythique aux paysages rencontrés. Ces fonctions peuvent se superposer dans une même gravure. Documenter la science Les images représentent des minéraux, des couches géologiques, des animaux fossiles et des appareils scientifiques. Elles aident le lecteur à transformer une nomenclature abstraite en objets visibles. Le dessin donne ainsi une apparence de réalité aux connaissances exposées par Lidenbrock. Dramatiser l’aventure... --- ### Jules Verne : Voyages au Cœur de l’Extraordinaire - **URL**: https://www.skyminds.net/jules-verne-voyages-extraordinaires/ Les Voyages extraordinaires transforment les sciences, les explorations et les inventions du XIXe siècle en matière romanesque. Jules Verne ne se contente pourtant pas de célébrer le progrès : il en révèle aussi la démesure, les dangers et les contradictions. De la surface du globe aux profondeurs terrestres, son œuvre explore simultanément le monde, son passé enfoui et l’imaginaire humain. Lorsque Jules Verne publie Cinq semaines en ballon en 1863, la carte du monde semble se remplir rapidement. Les grandes navigations ont relié les continents, les empires coloniaux étendent leur domination et les sociétés de géographie recensent les dernières régions encore mal connues. Pourtant, l’inconnu ne disparaît pas : il se déplace vers les pôles, les profondeurs océaniques, le sous-sol, l’atmosphère et l’espace. Les Voyages extraordinaires naissent de ce déplacement. Jules Verne reprend les anciennes structures du voyage imaginaire, mais il les confronte aux cartes, aux instruments, aux classifications et aux hypothèses scientifiques de son époque. Le merveilleux ne s’oppose plus simplement à la raison : il surgit au cœur même du discours qui prétend expliquer le monde. Des voyages de Sindbad au monde de Jules Verne Les voyages de Sindbad s’inscrivent dans un univers où les limites géographiques restent largement ouvertes à l’imagination. Une île lointaine peut encore abriter un géant, un oiseau gigantesque ou une civilisation inconnue. Le manque de connaissances ne constitue pas un défaut du récit : il fournit l’espace dans lequel le merveilleux peut se développer. Neuf siècles plus tard, Jules Verne écrit dans un environnement très différent. Les voyages maritimes, la cartographie, la presse et les sociétés savantes ont considérablement élargi le domaine du connu. Le romancier ne peut plus placer librement une île merveilleuse sur une route commerciale sans mobiliser des explications plus précises. La différence entre Sindbad et Verne ne réside donc pas dans une opposition simpliste entre ignorance et science. Elle concerne plutôt la manière de construire le vraisemblable. Sindbad s’appuie sur le témoignage oral du marchand ; Verne ajoute les coordonnées, les instruments, les nomenclatures, les dates et l’autorité du savant. Cette évolution prolonge les analyses consacrées au voyage imaginaire et à l’exploration des mondes, ainsi qu’à la rhétorique de la vraisemblance dans Sindbad. La fermeture progressive de la carte La date de 1492 sert souvent de repère symbolique pour l’entrée dans la première mondialisation européenne. Le voyage de Christophe Colomb ouvre une nouvelle phase d’exploration, de conquête et de colonisation transatlantique. Ses conséquences seront catastrophiques pour les populations américaines, notamment sous l’effet des violences, des déplacements et des maladies. Les voyages de Vasco de Gama, de Magellan et de nombreux navigateurs complètent progressivement les représentations européennes du globe. Les routes maritimes deviennent plus régulières, tandis que les techniques de navigation et les connaissances géographiques s’améliorent. Toutefois, cette production du savoir accompagne aussi le commerce forcé, l’esclavage, la conquête et la domination impériale. Au XIXe siècle, les espaces laissés en blanc sur les cartes se réduisent. Les pôles, l’intérieur de certains continents, les profondeurs marines et plusieurs régions montagneuses demeurent... --- ### Sindbad le Marin : merveilleux, fantastique et mythe - **URL**: https://www.skyminds.net/merveilleux-fantastique-mythe-sindbad-le-marin/ Les voyages de Sindbad appartiennent principalement au merveilleux : baleines gigantesques, oiseaux fabuleux et hommes ailés sont acceptés comme des réalités naturelles du monde exploré. Cependant, le récit produit aussi des effets fantastiques fondés sur la peur, l’irruption et la perte des repères. En reliant ces prodiges à des figures anciennes, à des lieux symboliques et à une quête initiatique, le cycle acquiert enfin une puissante dimension mythique. Une île paradisiaque se révèle être une baleine. Un dôme blanc devient l’œuf d’un oiseau gigantesque. Un vieillard apparemment infirme transforme Sindbad en bête de somme, tandis que des hommes ailés l’emportent jusqu’à la voûte céleste. Les sept voyages font ainsi alterner l’admiration, la peur et le sentiment de toucher aux origines du monde. Ces registres ne doivent pourtant pas être confondus. Le merveilleux, le fantastique et le mythe ne désignent ni les mêmes phénomènes ni les mêmes effets sur le lecteur. Leur distinction permet de comprendre comment Sindbad transforme l’expérience commerciale d’un marin en exploration symbolique du paradis, de l’enfer, de la mort et de la transcendance. Quelle version des voyages de Sindbad analyser ? Les aventures de Sindbad ne proviennent pas d’un auteur unique ni d’un texte parfaitement stable. Elles ont circulé dans plusieurs traditions avant leur intégration à de nombreuses éditions des Mille et Une Nuits. Les épisodes, les créatures et le septième voyage varient donc selon les manuscrits, les traductions et les adaptations. Cette analyse s’appuie principalement sur la traduction française de Joseph-Charles Mardrus, publiée en 1901. Cette version contient notamment le cheval marin, les Rokhs, le puits aux cadavres, la rivière souterraine et la cité des hommes ailés. Lorsque l’article évoque une tradition absente de cette traduction, il le signale explicitement. Cette précaution évite de transformer un cycle mouvant en œuvre homogène. Elle permet aussi de distinguer le texte, ses traditions culturelles et les interprétations symboliques proposées par la critique. Qu’est-ce que le merveilleux en littérature ? Le merveilleux désigne un univers dans lequel les phénomènes surnaturels sont acceptés comme des composantes normales de la réalité narrative. Les personnages peuvent être surpris, effrayés ou émerveillés par une créature, mais ils ne remettent pas durablement en cause l’existence du surnaturel. La magie, les métamorphoses, les animaux fabuleux et les interventions divines appartiennent aux lois du monde raconté. Une fois le prodige découvert, personne ne cherche nécessairement à le réduire à une hallucination, une erreur ou une supercherie. L’impossible selon nos connaissances devient possible à l’intérieur de la fiction. Le merveilleux ne dépend donc pas seulement de l’objet représenté. Il repose aussi sur la manière dont les personnages et le public le reçoivent. Une créature gigantesque devient merveilleuse lorsqu’elle suscite la contemplation, l’étonnement et l’impression d’une création dépassant les dimensions ordinaires. In illo tempore : le temps éloigné des merveilles Les récits merveilleux se déroulent souvent dans un temps indéterminé, séparé du présent quotidien. L’expression latine in illo tempore, « en ce temps-là », désigne ce temps légendaire où le monde paraît encore ouvert aux métamorphoses, aux géants et aux interventions... --- ### Sindbad : comment le récit rend l’impossible vraisemblable - **URL**: https://www.skyminds.net/sindbad-la-rhetorique-de-la-vraisemblance/ Les voyages de Sindbad racontent des événements impossibles, mais ils ne renoncent jamais à paraître crédibles. Le marin parle à la première personne, nomme des villes et des royaumes, décrit ses marchandises, explique ses décisions et produit parfois des témoins. Cette rhétorique de la vraisemblance ne transforme pas le merveilleux en réalité : elle lui donne une cohérence, une matérialité et une place naturelle dans le monde du récit. Une île se révèle être une baleine. Un oiseau gigantesque emporte des éléphants. Des serpents capables d’avaler un homme gardent une vallée couverte de diamants. Pourtant, les voyages de Sindbad ne ressemblent pas à une succession arbitraire de prodiges. Chaque merveille s’inscrit dans une situation concrète. Sindbad voyage avec des marchands, transporte des ballots, calcule ses ressources et cherche un moyen rationnel d’échapper au danger. Le récit fait ainsi coexister l’extraordinaire et le quotidien sans demander à son auditoire de choisir entre les deux. La vraisemblance n’est pas la vérité Un récit vraisemblable n’est pas nécessairement un récit vrai. La vraisemblance désigne plutôt ce qui possède l’apparence du possible, respecte des conventions reconnaissables et répond aux attentes de son public. Une histoire peut donc présenter des événements surnaturels tout en donnant l’impression qu’ils se produisent selon une logique intelligible. Dans la Poétique, Aristote distingue ce qui est arrivé de ce qui pourrait arriver selon le vraisemblable ou le nécessaire. Le poète ne reproduit pas simplement des faits : il construit un enchaînement dans lequel les actions, les caractères et leurs conséquences semblent liés. La fiction peut donc être impossible sur le plan physique, mais convaincante sur le plan narratif. Les voyages de Sindbad appliquent ce principe avec une remarquable efficacité. Le récit ne cherche pas à prouver scientifiquement l’existence du Rokh ou d’une baleine couverte de végétation. Il construit les conditions narratives dans lesquelles le témoignage de Sindbad peut être écouté, compris et provisoirement accepté. Quatre formes de vraisemblance La vraisemblance de Sindbad repose sur plusieurs niveaux complémentaires. Une vraisemblance référentielle relie les voyages à des lieux, des objets et des pratiques historiques. Une vraisemblance générique mobilise les conventions connues du conte merveilleux et du récit de voyage. Une vraisemblance causale explique comment Sindbad perd son navire, survit, trouve des ressources puis revient à Bagdad. Enfin, une vraisemblance énonciative renforce l’autorité de celui qui raconte : le héros affirme avoir vu les phénomènes, les décrit devant des auditeurs et inscrit son témoignage dans un récit-cadre. Ces quatre niveaux permettent au texte de rapprocher l’étrange de formes déjà familières. Le lecteur ou l’auditeur ne croit pas nécessairement au prodige comme à un fait historique. Il reconnaît cependant la cohérence du monde dans lequel ce prodige devient racontable. Quelle version de Sindbad étudier ? Les voyages de Sindbad ne sont pas l’œuvre d’un auteur unique identifiable. Le cycle résulte de traditions narratives, de récits de marins, de motifs légendaires et de transmissions textuelles successives. Il a circulé de manière relativement autonome avant son intégration à de nombreuses éditions des Mille et Une Nuits. Les... --- ### La structure narrative des 7 voyages de Sindbad le Marin - **URL**: https://www.skyminds.net/structure-narrative-7-voyages-de-sindbad-le-marin/ Les sept voyages de Sindbad reposent sur une structure répétitive : le marchand quitte Bagdad, subit une catastrophe, traverse des épreuves extraordinaires, acquiert de nouvelles richesses et revient raconter son aventure. Cependant, cette répétition produit une progression. Des premières découvertes merveilleuses à la catabase du quatrième voyage, puis à l’ascension céleste du septième, le cycle transforme peu à peu le voyage commercial en quête de connaissance et d’identité. Les aventures de Sindbad le Marin semblent d’abord former une succession de contes autonomes. Chaque voyage possède ses monstres, ses îles, ses naufrages et son dénouement heureux. Pourtant, leur réunion en un cycle de sept récits crée une architecture plus complexe, fondée sur la répétition, la variation et l’intensification des épreuves. Sindbad revient chaque fois à Bagdad plus riche qu’auparavant. Néanmoins, il oublie rapidement les dangers traversés et ressent de nouveau le besoin de partir. Cette incapacité à interrompre le cycle constitue le véritable moteur de l’œuvre : Sindbad voyage moins parce qu’il manque d’argent que parce qu’il ne parvient pas encore à comprendre ce qui le pousse vers l’inconnu. Quelle version des voyages de Sindbad analyser ? Les aventures de Sindbad ont circulé dans plusieurs traditions manuscrites, traductions et adaptations. Le cycle ne faisait pas partie du noyau le plus ancien des Mille et Une Nuits. Il fut intégré au recueil dans de nombreuses éditions, notamment grâce à la traduction française d’Antoine Galland au début du XVIIIe siècle. Les épisodes et leur ordre varient donc selon les versions. Cette analyse prend principalement pour référence la traduction française de Joseph-Charles Mardrus, publiée au tournant du XXe siècle. Il s’agit de la version correspondant aux principaux motifs étudiés ici : le puits aux cadavres, la rivière souterraine, les habitants ailés et le septième voyage long de vingt-sept années. D’autres éditions proposent un septième voyage différent, dans lequel le calife envoie Sindbad auprès du roi de Serendib. Le marchand est ensuite capturé, réduit en esclavage et conduit vers un cimetière d’éléphants. Ces variantes ne doivent pas être fusionnées comme si elles appartenaient à un texte unique. Un récit enchâssé dans les Mille et Une Nuits Les voyages de Sindbad ne sont pas racontés directement au lecteur. Dans le récit-cadre des Mille et Une Nuits, Shéhérazade les raconte au roi Shahryar. À l’intérieur de son histoire, Sindbad le Marin raconte à son tour ses aventures à Sindbad le Portefaix. Cette construction produit plusieurs niveaux narratifs. Shéhérazade raconte pour préserver sa vie, tandis que Sindbad raconte pour justifier sa richesse et transmettre son expérience. Dans les deux cas, la parole transforme le temps : elle retarde la mort, organise la mémoire et donne un sens rétrospectif aux événements. La rencontre entre le marin et le portefaix Le cycle commence par une opposition sociale. Sindbad le Portefaix, épuisé par sa charge, s’arrête devant la demeure somptueuse de Sindbad le Marin. Il déplore l’injustice qui condamne certains hommes au travail et accorde à d’autres le luxe et le repos. Le riche marchand l’invite alors à entrer. Pour répondre à... --- ### Le voyage imaginaire en littérature : explorer les mondes inconnus - **URL**: https://www.skyminds.net/le-voyage-imaginaire-exploration-des-mondes/ Le voyage imaginaire conduit un personnage vers un territoire inconnu, merveilleux ou impossible. Cependant, ce déplacement ne représente jamais une simple évasion : il transforme le héros, transmet une mémoire collective et permet au lecteur d’interroger son propre monde. De Gilgamesh à Sindbad, puis de saint Brendan à Jules Verne, l’exploration géographique devient ainsi une quête de connaissance, de sagesse et d’identité. Le voyage imaginaire occupe une place centrale dans l’histoire des récits. Il traverse les mythes, les traditions orales, les épopées, les contes, les utopies et les romans scientifiques. Ses formes changent avec les sociétés, mais ses grandes questions demeurent : que trouve-t-on au-delà du monde connu, et que devient celui qui ose franchir cette frontière ? L’ailleurs peut prendre la forme d’une île merveilleuse, d’un royaume souterrain, d’un continent perdu ou d’une planète lointaine. Pourtant, le véritable territoire exploré reste souvent intérieur. Le personnage découvre un monde, mais il découvre également sa propre mortalité, ses désirs, ses limites et sa place au sein de la communauté humaine. Qu’est-ce qu’un voyage imaginaire en littérature ? Le voyage imaginaire est un récit dans lequel un ou plusieurs personnages se déplacent vers une destination fictive, inaccessible ou encore inconnue. Celle-ci peut être une île, un continent, un royaume souterrain, un astre ou un monde atteint en rêve. Le genre ne se définit toutefois pas par la seule présence d’un lieu inventé. Le déplacement et la découverte géographique doivent structurer le récit. Le texte décrit le territoire traversé, ses habitants, ses coutumes, sa faune, ses institutions ou ses phénomènes singuliers. L’aventure peut occuper une place importante, mais elle reste liée à l’exploration et à la compréhension progressive d’un monde nouveau. Le voyage imaginaire entretient ainsi un double rapport au réel. Certains récits assument ouvertement le merveilleux, avec des monstres, des métamorphoses et des phénomènes impossibles. D’autres imitent les journaux de bord, les cartes, les témoignages et les descriptions savantes afin de produire un puissant effet de vraisemblance. La tradition orale, première carte des mondes imaginaires Bien avant leur fixation par l’écriture, les voyages imaginaires circulent sous la forme de mythes, de chants, de légendes et de contes. La tradition orale précède le livre et transmet une mémoire collective. Chaque conteur peut adapter le récit à son public, à son époque et à sa culture, tout en conservant ses motifs fondamentaux. Cette souplesse explique la présence de structures comparables dans des traditions géographiquement éloignées. Un héros quitte son foyer, franchit une frontière, affronte des créatures extraordinaires, acquiert un savoir et revient transformé. Les noms et les paysages changent, mais le passage de l’ignorance à la connaissance demeure. La tradition orale ne sert donc pas seulement à divertir. Elle transmet des valeurs, des interdits, des modèles de comportement et des explications symboliques du monde. Elle permet aussi aux récits de voyager d’une civilisation à l’autre, puis de se recomposer au fil des traductions et des réécritures. Plusieurs niveaux de lecture Les grands voyages imaginaires parlent souvent simultanément aux enfants et aux adultes. Un jeune lecteur... --- ### Contourner le blocage du WAF Cloudflare pour les uploads de zip dans WordPress - **URL**: https://www.skyminds.net/contourner-blocage-waf-cloudflare-uploads-zip-wordpress/ Le blocage des fichiers zip par le WAF (Web Application Firewall) de Cloudflare est un casse-tête pour de nombreux développeurs WordPress, surtout lors de la mise à jour de plugins et de thèmes. Heureusement, il existe une solution pour contourner ce problème sans compromettre la sécurité de votre site WordPress. Pourquoi le WAF bloque-t-il les fichiers Zip ? Cloudflare met régulièrement à jour ses Managed Rules pour renforcer la sécurité. Un upload de fichier zip peut être un vecteur pour des attaques malveéillantes, comme l'installation de shells. Ainsi, Cloudflare bloque ces requêtes pour protéger votre site. Dans notre cas, par contre, cela nous empêche de faire nos mises à jour et c'est quand même plus simple de mettre à jour les plugins et thèmes payants avec un fichier zip, plutôt que de passer par SFTP ou wp-cli. Solution #1: créer une exception dans le WAF de Cloudflare Évidemment, nous n'allons pas désactiver ces règles qui fonctionnent si bien et ajoutent une couche de protection à notre site. Non, nous allons simplement créer une exception aux Managed Rules, que nous placerons avant tous les autres set de règles pour qu'elle soit prise en compte en priorité. Étape 1: rendez-vous dans le Dashboard de Cloudflare Allez dans Security > WAF > Managed Rules. Voici ce que vous obtenez: Cliquez ensuite sur le bouton Add exception à droite. Étape 2 : mise en place du match de l'exception Nous donnons un nom à notre règle: WP themes and plugins uploads. Ensuite, nous définissons le scénario pour que l'exception ne s'applique que si: URI path est égal à /wp-admin/update.php AND IP Source Adress est égale à VOTRE_ADRESSE_IP (remplacez par l'adresse IP de votre machine) Voici ce que cela nous donne en image: Et l'aperçu de notre expression: (http.request.uri.path eq "/wp-admin/update.php" and ip.src eq VOTRE_ADRESSE_IP) Passons maintenant à la section "then", qui est l'action que notre exception va entreprendre: sélectionnez l'option Skip specific rules from a Managed Ruleset puis cliquez sur le bouton Select ruleset. Étape 3: surpasser le Managed Ruleset de Cloudflare Nous allons maitenant shunter Cloudflare Managed Ruleset et plus précisément la règle "Adobe Coldfusion Dangerous File Upload". Sélectionnez Cloudflare Managed Ruleset. Ensuite, sur l'écran suivant, faites une recherche avec "Adobe coldfusion". À ce jour, trois règles sont retournées dans les résultats de recherche. C'est la première règle qui nous intéresse: Adobe ColdFusion - Dangerous File Upload - CVE:CVE-2019-7816. Sélectionnez la règle en cochant la case qui la précède puis cliquez sur Next. Vous revenez à l'écran précédent qui gère notre exception. Cliquez maintenant sur Deploy pour déployer notre nouvelle règle d'exception. Une fois la règle déployée, déplacez-la en drag-and-drop de manière à ce qu'elle s'exécute avant le Managed Ruleset. Cette étape est très importante, car sinon l'exception ne sera jamais prise en compte. Une fois que vous avez fait cela, l'exception prendra précédence sur les règles du Managed ruleset. Après le déploiement, testez la mise à jour de vos plugins et thèmes via l'upload de fichiers zip. Si tout est correctement configuré,... --- ### Recréer les fichiers AVIF corrompus - **URL**: https://www.skyminds.net/recreer-fichiers-avif-corrompus/ Cela fait une paire de fois que les images au format AVIF ne s'affichent pas sur SkyMinds et aujourd'hui, on règle le problème une bonne fois pour toute. Concrètement, à chaque fois que j'uploade une image dans la bibliothèque de média de WordPress, plusieurs images sont créés: les miniatures bien sûr mais aussi un jeu d'images au format WEBP et au format AVIF. Tout se fait de manière automatique avec ShortPixel lors de l'upload. Or, dernièrement certaines images ne s'affichent plus. Si on retire la source AVIF du DOM du document, le WEBP s'affiche bien, tout comme l'image originale en PNG ou JPG. C'est donc au niveau de la compression AVIF que cela coince. Procédure de debug Configuration NginX Si vous vous souvenez bien, j'ai dans ma configuration NginX des directives pour donner la précédence aux formats AVIF et WEBP sur toutes mes images. Cela permet de servir en priorité les fichiers images aux formats les plus récents, avec un fallback sur les formats plus anciens (JPG, PNG notamment). J'ai passé la configuration au peigne fin et il n'y a pas de problème à ce niveau. Les fichiers AVIF sont bien servis, le problème se trouve plus au niveau de l'encodage des fichiers. Tester les images affectées Lorsque je visionne un article avec une image affectée par le bug, elle ne saffiche pas mais apparait comme une image cassée. Lorsque l'on ouvre l'image dans un nouvel onglet, on obtient l'erreur suivante: "the image cannot be displayed because it contains errors". Je ne connais pas le nom des images affectées ni leur nombre (cela inclut aussi les miniatures) donc le plus simple est de dresser la liste des fichiers AVIF sur le site. Ensuite, je veux inspecter chaque image pour vérifier qu'elles possèdent bien les entêtes et bits nécessaires à leur bon affichage. Commençons par installer les outils nécessaires pour examiner les fichiers AVIF: apt install libavif-bin libavif13 On lance un test sur un fichier problématique: avifdec /home/www/example/wp-content/uploads/2021/05/the-handmaids-tale-june-nick.avif /dev/null et voici le résultat: Decoding with AV1 codec 'dav1d' (1 worker thread), please wait... ERROR: Failed to parse image: BMFF parsing failed Diagnostics: * Box[meta] does not have a Box[hdlr] as its first child box L'erreur ("ERROR: Failed to parse image: BMFF parsing failed"), suggère que le fichier est en effet soit corrompu, soit incompatible donc nous allons le recréer. Un script bash pour recréer tous les fichiers AVIF corrompus Il est évident que nous n'allons pas tester tous les fichiers un par un. Maintenant que nous avons pu tester un fichier, nous allons créer une boucle pour tester tous les fichiers qui ont été uploadés sur le site : si le fichier est corrompu, nous allons le recréer, sinon on passe au suivant. Voici le script que j'ai écrit pour récréer les fichiers AVIF: nano check-avif.sh #!/bin/bash # Script Name: Recreate corrupted AVIF images # Script URI : https://www.skyminds.net/recreer-fichiers-avif-corrompus/ # Author: Matt Biscay # Author URL: https://www.skyminds.net # Directory to search for AVIF files SEARCH_DIR="/home/www/example/public_html/wp-content/uploads" # Dry run mode flag DRY_RUN=0... --- ### La compréhension écrite au bac : la méthode pour réussir - **URL**: https://www.skyminds.net/comprehension-ecrite-bac-anglais-methode-pour-reussir/ Voici quelques conseils pour bien aborder et réussir l'épreuve de compréhension écrite en anglais qui compte dans le contrôle continu du baccalauréat. Découverte des questions du sujet Examinez attentivement chaque question en identifiant les éléments suivants : L'auxiliaire ou le verbe principal ainsi que le temps verbal auquel ils font référence : présent, futur, ou passé. Les marqueurs temporels, le cas échéant, qui corroborent le temps exprimé par le verbe. Le sujet de la question. Le mot de questionnement qui vous aidera à localiser la réponse pertinente dans le texte. Découverte des documents de compréhension écrite Avant toute chose, il faut lire 2 fois le texte. La première lecture se fait sans souligner quoi que ce soit, stylo posé. On le lit attentivement. Lors de cette lecture, ne vous attardez pas sur les mots ou les sections qui ne sont pas immédiatement clairs. Vous aurez l'occasion de les examiner plus en détail ultérieurement. Tout au long de cette première lecture, soyez attentif à identifier des informations clés comme la date de publication du texte, l'identité de l'auteur, et le genre littéraire de l'œuvre. Bien que ces détails puissent sembler mineurs, ils peuvent s'avérer précieux pour répondre aux questions de compréhension par la suite. Lors de la deuxième lecture, on peut prendre des stylos de couleur, souligner les informations importantes et commencer ses repérages. C'est à ce moment que vous devriez commencer à prendre des notes et à vous immerger pleinement dans l'analyse du texte. Les repérages du texte Méthode: stabilo ou tableau Lors de l'analyse de documents, les élèves adoptent diverses méthodes pour organiser et interpréter l'information, chacune ayant ses avantages. Une méthode populaire consiste à souligner directement dans le texte. Cette approche offre une visibilité immédiate des éléments clés et permet aux élèves de repérer facilement les réponses aux questions interrogatives ("who?", "what?", "where?", "when?") tout en restant engagés avec le texte original. Cela facilite la compréhension contextuelle et la rétention des informations importantes, surtout lorsqu'on utilise des couleurs différentes pour chaque catégorie, rendant le processus d'analyse plus intuitif et visuellement accessible. D'un autre côté, certains élèves préfèrent élaborer un tableau à double entrée, où les questions interrogatives sont placées en colonnes et les différents documents sont répartis en rangées. Cette méthode structurée permet une comparaison et une analyse ciblée des documents. Elle favorise une vue d'ensemble claire, facilitant la mise en relation des informations entre les différents documents. Ce tableau sert également de référence concise lors de la rédaction de réponses ou d'analyses, aidant à organiser les pensées et à construire des arguments cohérents. De plus, cette approche aide à éviter d'écrire directement sur les documents, ce qui peut être préféré par ceux qui souhaitent conserver leurs documents intacts ou qui trouvent plus facile de synthétiser les informations dans un format tabulaire. Chacune de ces méthodes a ses mérites et il est important que chaque élève choisisse celle qui correspond le mieux à son style d'apprentissage et à sa manière de traiter l'information. Les repérages de base indispensables... --- ### Sauvegardez la liste de vos onglets Firefox - **URL**: https://www.skyminds.net/sauvegarder-onglets-ouverts-firefox/ Le problème : sauvegarder ses onglets Il vous est sûrement arrivé de devoir quitter votre poste de travail précipitamment. Le hic, c'est que si vous utilisez Firefox, vous avez probablement une demi-douzaine de tabs ouvertes, et que cela va vous prendre du temps pour toutes les glisser-déposer vers la barre de marque-pages ou alors de les sauvegarder en allant dans Marque-pages > Marquer tous les onglets. Le problème : vos nouveaux marque-pages ne seront disponibles que sur cette machine, sans transition entre la machine du bureau et la machine familiale par exemple. Sauvegarde au format texte : l'extension URLs List La solution réside en l'installation de l'extension URLs List qui vous permet d'exporter envoie la liste des URLs de vos tabs ouvertes dans votre navigateur au format texte. Vous pourrez donc avoir accès à votre précédente navigation où que vous soyiez ! Pour activer l'envoi du mail, il suffit de cliquer sur l'icône UL de la barre d'extension. J'utilisais auparavant Send Tabs URLs mais l'extension n'est plus disponible. URLs List est un très bon remplacement et permet de faire une sauvegarde rapide de tous vos onglets. Sauvegarde automatique : Firefox Sync Une manière complémentaire de sauvegarder tous ses onglets, mots de passe, historique... est d'utiliser Firefox Sync. Toutes vos sessions Firefox sont enregistrées dans le cloud, ce qui vous permet de tout retrouver à chaque démarrage de Firefox. A screenshot of the ad blocker settings in Firefox. Et si vous changez d'ordinateur, il vous suffit de vous identifier sur Firefox Sync: votre Firefox retrouve ses onglets, son thème, son historique et mots de passe... bref, cela fait gagner un temps fou. --- ### Installer PHP 8.3 sur le serveur - **URL**: https://www.skyminds.net/installer-php-8-3-serveur/ Tous les sites et services hébergés sur Apollo tournent actuellement sous PHP 8.2 mais PHP 8.3 vient de pointer le bout de son nez donc nous allons l'installer sur le serveur. Nouveautés et changements de PHP 8.3 PHP 8.3 marque une avancée notable dans l'univers de PHP, apportant avec elle une panoplie de nouveautés et d'améliorations captivantes. Au cœur de PHP 8.3, on découvre des innovations passionnantes. Des constantes de classe typées : avec PHP 8.3, place à la précision ! Les constantes de classe se dotent d'un typage explicite, renforçant ainsi la rigueur dans l'application des types et affinant la détection des erreurs. Récupération dynamique des constantes de classe : simplification à l'horizon ! Cette nouveauté rend la récupération des constantes de classe plus intuitive, rendant ainsi votre code plus clair et plus facile à entretenir. Le flamboyant attribut #[\Override] : tel un gardien, cet attribut veille à ce qu'une méthode portant le même nom soit présente dans une classe parente ou une interface, boostant la fiabilité de votre code et facilitant son évolution. Clonage en profondeur des propriétés en lecture seule : PHP 8.3 innove en permettant la modification unique des propriétés en lecture seule dans la méthode __clone, ouvrant la voie à un clonage plus profond. La fonction innovante json_validate() : vérifier la validité d'un JSON devient un jeu d'enfant avec cette nouvelle fonction, plus efficace et rapide. La méthode inédite Randomizer::getBytesFromString() : prolongeant l'extension Random de PHP 8.2, cette méthode est un véritable couteau suisse pour générer des chaînes aléatoires spécifiques, idéale pour créer des identifiants uniques comme des noms de domaine. Un éventail de nouvelles méthodes et fonctions : PHP 8.3 n'est pas avare en nouveautés et offre un large éventail de méthodes et fonctions inédites, telles que DOMElement::getAttributeNames(), IntlCalendar::setDate(), et ldap_connect_wallet(), pour n'en nommer que quelques-unes. Avec PHP 8.3, non seulement vous bénéficiez d'améliorations de performances et de corrections de bugs, mais aussi d'une expérience de développement web plus fluide et efficace. PHP 8.3 est-il plus rapide? Alors on peut se demander si cette nouvelle mouture est bien plus rapide que les versions précédentes. Rien de tel qu'un petit test avec WordPress et WooCommerce. Sous WordPress 6.4, le site sert: 153 requêtes/s avec PHP 8.2 165 requêtes/s avec PHP 8.3 Sous WooCommerce 8.0, on obtient: 49 requêtes/s avec PHP 8.2 58 requêtes/s avec PHP 8.3 Donc oui, PHP 8.3 est plus rapide que PHP 8.2 et les versions précédentes. Liste des modules PHP 8.3 à installer On va commencer par dresser la liste de tous les modules PHP 8.2 installés et nous allons modifier la version de 8.2 à 8.3 à la volée: dpkg -l | grep php8.2 | grep ii | awk '{print $2}' | sed 's/php8.2/php8.3/g' Résultat: php8.3 php8.3-apcu php8.3-bcmath php8.3-cli php8.3-common php8.3-curl php8.3-fpm php8.3-gd php8.3-gmp php8.3-igbinary php8.3-imagick php8.3-imap php8.3-intl php8.3-mbstring php8.3-mysql php8.3-opcache php8.3-phpdbg php8.3-readline php8.3-redis php8.3-soap php8.3-xml php8.3-zip Installation de PHP 8.3 Armé de cette liste, il ne nous reste plus qu'à lancer l'installation de PHP 8.3 et de tous les... --- ### Sidekick, le navigateur avancé et sécurisé qui booste votre productivité - **URL**: https://www.skyminds.net/sidekick-navigateur-securise-boost-productivite/ Et voilà, je viens encore d'installer un nouveau navigateur sur mon Mac! Il s'appelle Sidekick, est basé sur Chromium et résolumment orienté productivité. Alors, vous allez me dire "quoi, encore un navigateur basé sur Chromium? mais pour quoi faire?". Et bien accrochez-vous bien à vos baskets, c'est parti pour un petit aperçu de ses nombreux avantages. 1. Une organisation optimisée Sidekick propose un système unique de gestion des onglets qui permet de garder votre espace de travail organisé. Les onglets peuvent être regroupés par projet - un peu comme les IDE comme Visual Studio Code - ou par catégorie, ce qui facilite grandement la navigation entre différentes tâches: Les Workspaces sous Sidekick On peut aussi créer des sessions d'onglets: Les sessions sous Sidekick C'est très bien fait, vraiment efficace et cela permet d'y voir un peu plus clair lorsque l'on jongle avec des dizaines d'onglets sur des projets différents. La dernière version, sortie il y a quelques jours, proposent également de passer d'onglets horizontaux (comme dans tous les navigateurs classiques) à des onglets verticaux, qui apparaissent au survol quand on place le pointeur de la souris à gauche. C'est bien à l'usage car cela donne plus de place à l'écran et permet de se focaliser sur l'onglet courant, sans être distrait. 2. Intégration des applications Un des points forts de Sidekick est sa capacité à intégrer de nombreuses applications Web directement dans le navigateur. Des outils comme Slack, Asana, et Gmail peuvent être ancrés dans votre environnement de travail, permettant un accès rapide sans avoir à jongler entre différents onglets ou fenêtres. Sidekick : des applications directement accessibles dans le navigateur J'ai ajouté 5 applications dans ma barre d'application: Gmail, Google Drive, ChatGPT, Whatsapp et Slack. Un clic sur l'icone bascule directement dans l'application dans le navigateur, et ce sans avoir à ouvrir un nouvel onglet. C'est tout simplement génial - plus besoin d'ouvrir l'application dédiée ou de remetttre la main sur son smartphone (pour Whatsapp). Tout est accessible en un clic. 3. Performance et efficacité Sidekick est conçu pour être rapide et léger. Il optimise l'utilisation de la RAM et du CPU, ce qui est particulièrement avantageux pour les utilisateurs qui ouvrent de nombreux onglets ou utilisent des applications web gourmandes en ressources. Fini le navigateur qui rame - mon Firefox a plus de 7000 onglets ouverts en permanence, je me soigne mais c'est dur - là, c'est de l'instantané. Notamment aussi parce que Sidekick est sécurisé par défaut et n'a pas besoin de X extensions tierces pour fonctionner. 4. Fonctionnalités de confidentialité avancées La sécurité et la confidentialité sont des priorités pour Sidekick. Le navigateur offre des options avancées de protection des données, y compris un VPN intégré et des outils pour bloquer les traceurs et les publicités intrusives: Un module qui protège vos données personnelles, avec VPN intégré Vous pouvez également avoir des sessions avec des onglets spécifiques: Sidekick – Le navigateur avecAdBlock intégré. Ouvrez un onglet vierge: le navigateur vous montrer la RAM utilisée pour la... --- ### Comment empêcher les chatbots IA d’extraire le contenu de votre site - **URL**: https://www.skyminds.net/comment-empecher-les-chatbots-ia-dextraire-le-contenu-de-votre-site/ Vous êtes inquiet à l'idée que des chatbots basés sur l'intelligence artificielle puissent aspirer le contenu de votre site Web ? Heureusement, il existe des moyens de les en empêcher. Voici comment procéder. Comment les chatbots IA accèdent-ils au contenu de votre site ? Les chatbots alimentés par intelligence artificielle sont formés à l'aide de multiples jeux de données, dont certains sont en libre accès et disponibles au grand public. Selon un article de recherche publié par OpenAI, GPT-3 a été formé à partir de cinq jeux de données distincts : Common Crawl (contribution de 60% à l'entraînement) WebText2 (contribution de 22% à l'entraînement) Books1 (contribution de 8% à l'entraînement) Books2 (contribution de 8% à l'entraînement) Wikipédia (contribution de 3% à l'entraînement) Common Crawl englobe des pétaoctets de données issues de sites Web collectées depuis 2008, un peu à la manière dont l'algorithme de recherche de Google scrute les contenus en ligne. WebText2 est un jeu de données créé par OpenAI, qui contient environ 45 millions de pages Web liées depuis des publications Reddit ayant reçu au moins trois votes positifs. Il est donc important de noter que, dans le cas de ChatGPT, le chatbot n'accède ni n'explore directement les pages de votre site Web — du moins, pas pour l'instant. Néanmoins, l'annonce récente d'un navigateur Web hébergé par ChatGPT a suscité des inquiétudes sur une éventuelle évolution de cette situation. À l'heure actuelle, les propriétaires de sites Web devraient surveiller d'autres chatbots IA qui entrent sur le marché. Bard est un autre acteur majeur dans ce domaine, mais on en sait peu sur les jeux de données utilisés pour son entraînement. Bien sûr, nous savons que les robots d'exploration de Google parcourent constamment les pages Web, mais cela ne signifie pas nécessairement que Bard a accès aux mêmes données. Pourquoi certains propriétaires de sites Web sont-ils inquiets ? La principale inquiétude des propriétaires de sites Web est la dévalorisation de leur contenu par des bots IA tels que ChatGPT, Bard et Bing Chat. Ces bots IA utilisent le contenu existant pour générer des réponses, réduisant ainsi le besoin pour les utilisateurs d'accéder à la source originale. Au lieu de visiter des sites Web pour obtenir des informations, les utilisateurs peuvent simplement demander à Google ou à Bing de générer un résumé des informations dont ils ont besoin. Dans le contexte des chatbots IA intégrés aux moteurs de recherche, la perte de trafic est la préoccupation majeure des propriétaires de sites Web. Par exemple, Bard, le chatbot IA, inclut rarement des citations dans ses réponses génératives, ce qui indique aux utilisateurs de quelles pages il tire ses informations. Ainsi, en plus de remplacer les visites sur les sites Web par des réponses générées par IA, Bard supprime presque toute possibilité pour le site source de recevoir du trafic — même si l'utilisateur souhaite obtenir des informations supplémentaires. À l'opposé, Bing Chat lie plus fréquemment aux sources d'information. En résumé, la génération actuelle d'outils IA génératifs utilise le travail des créateurs... --- ### English Romanticism (1798-1832) - **URL**: https://www.skyminds.net/english-romanticism-1798-1832/ English Romanticism transformed literature between the late eighteenth century and the 1830s. Its writers placed imagination, nature, individual experience and political freedom at the centre of poetry while responding to revolution, industrialisation, social inequality and the limits of Enlightenment reason. The publication of William Wordsworth and Samuel Taylor Coleridge’s Lyrical Ballads in 1798 provides a convenient starting point for English Romanticism. The year 1832 offers an equally useful symbolic conclusion, marked by the death of Walter Scott and the passing of the first Reform Act. These dates should not become rigid boundaries. William Blake, Robert Burns, Charlotte Smith and Mary Wollstonecraft had already developed Romantic ideas before 1798. Wordsworth, Coleridge and other writers continued their careers long after 1832. Moreover, “English Romanticism” is a conventional label. British Romanticism is often more accurate because the period includes Scottish writers such as Burns and Scott, as well as English, Welsh and Irish voices. What is English Romanticism? English Romanticism was not a single literary school governed by one doctrine. Its writers disagreed about politics, religion, poetic form and the role of the artist. Nevertheless, they shared a cluster of related concerns. the creative power of imagination; the relationship between the human mind and nature; emotion, memory and individual experience; ordinary people and everyday language; political liberty and resistance to oppression; childhood, innocence and education; the sublime, the supernatural and the unknown; folklore, medieval culture and national traditions; the artist as visionary, rebel or outsider; the tension between creation and destruction. Romanticism did not simply replace reason with emotion. Many Romantic writers inherited the Enlightenment’s commitment to liberty, criticism and reform. However, they rejected the belief that abstract reason alone could explain human consciousness, morality or the natural world. The relationship between the two periods is examined more broadly in The 18th Century: the Age of Enlightenment and Romanticism in Art and Literature. Why does the Romantic period begin in 1798? Literary histories commonly use 1798 because Wordsworth and Coleridge published the first edition of Lyrical Ballads that year. The collection challenged established ideas about poetic subjects and language. Instead of concentrating only on heroic figures, classical mythology or public events, the poets represented sailors, rural workers, children, beggars, prisoners and isolated individuals. The first edition contained twenty-three poems. Wordsworth wrote nineteen, while Coleridge contributed four: “The Rime of the Ancient Mariner”; “The Foster-Mother’s Tale”; “The Nightingale”; “The Dungeon”. The collection appeared anonymously. Its importance became clearer through later editions, especially after Wordsworth added his famous preface in 1800 and expanded it in 1802. However, Romantic poetry did not suddenly appear from nowhere. Ballads, sentimental literature, the Gothic novel, eighteenth-century graveyard poetry, political radicalism and German philosophy had already prepared the ground. Why does the period end in 1832? The year 1832 also represents a convention rather than a clean break. Walter Scott died that year, while the Reform Act altered parliamentary representation in Britain. By then, Blake, Byron, Shelley and Keats were already dead. The revolutionary moment associated with the younger Romantic... --- ### ePub, comment lire un eBook (tablette et PC) ? - **URL**: https://www.skyminds.net/epub-comment-lire-un-ebook-tablette-et-pc/ Découvrez la simplicité de la lecture numérique avec ePub ePub est devenu le format de prédilection pour les adeptes du livre numérique, et pour cause : sa facilité d'utilisation est inégalée. Cet article vous guide à travers le processus en deux étapes faciles : télécharger un lecteur d'eBook et plonger dans votre lecture. Qu'est-ce que le format ePub ? ePub, l'acronyme de 'electronic publication', est largement reconnu comme le standard universel pour les livres numériques. Sa conception ouverte et adaptable garantit que le texte s'affiche parfaitement sur tous vos appareils, qu'il s'agisse d'ordinateurs, de tablettes ou de smartphones. Vos premiers pas avec les lecteurs d'eBooks La première étape consiste à choisir et installer un lecteur d'eBooks. Cette étape franchie, vous pourrez accéder à votre bibliothèque numérique à tout moment, sans aucune manipulation supplémentaire. Comment lire un ePub sur Smartphone ou Tablette ? Pour les utilisateurs d'iOS (iPad ou iPhone) : Transférez vos fichiers ePub sur votre appareil via iTunes, et retrouvez-les facilement sur l’application iBooks, préinstallée et prête à l'emploi. Pour les utilisateurs d'Android : Aldiko est une excellente option, mais libre à vous d'explorer et de choisir l'application qui vous convient le mieux. Lire un ePub sur un ordinateur Sur Mac et Windows : Adobe Digital Editions (ADE) est le choix privilégié pour les nouveaux venus dans le monde de la lecture numérique sur ordinateur. C'est une solution fiable qui promet une expérience de lecture fluide et intuitive. Voici comment démarrer avec ADE : Téléchargez et installez le logiciel sur votre ordinateur, qu'il soit sous Windows ou macOS. Une fois l'installation terminée, ouvrez ADE et ajoutez vos livres au format ePub à la bibliothèque. Double-cliquez sur un livre pour commencer à lire. Sur Mac, Windows et Linux : Calibre est bien plus qu'un simple lecteur d'eBooks : c'est une véritable bibliothèque numérique pour votre ordinateur, compatible avec Windows, macOS et Linux. C'est un outil complet qui permet non seulement de lire, mais aussi de gérer et d'organiser votre collection d'eBooks. Suivez ces instructions pour utiliser Calibre : Téléchargez et installez Calibre et lancez-le. Importez vos eBooks au format ePub dans Calibre en cliquant sur "Ajouter des livres". Sélectionnez un livre et cliquez sur "Lire" pour ouvrir le livre et profiter de votre lecture. Lire un ePub avec une liseuse Réjouissez-vous, possesseurs de liseuses : le format ePub est compatible avec presque tous les appareils dédiés à la lecture numérique. Ajoutez simplement le fichier à votre bibliothèque et plongez dans votre lecture sans attendre. Notez toutefois que certaines liseuses peuvent ne pas supporter les fonctionnalités interactives de certains eBooks. Je vous recommande la dernière Kindle qui lit tous les formats de livres numériques, de manière simple et intuitive. Comment ajouter un ePub sur sa Kindle ? 1. Par e-mail (la méthode la plus simple) Chaque Kindle possède une adresse e-mail unique, du type : prenom_XXX@kindle.com. Vous la trouverez dans Paramètres > Mon compte > Envoyer à Kindle (ou sur Amazon – Gérer votre contenu et vos appareils). Envoyez votre fichier... --- ### Here We Go Round the Mulberry Bush - **URL**: https://www.skyminds.net/nursery-rhyme-here-we-go-round-the-mulberry-bush/ Introduction "Here We Go Round the Mulberry Bush" is not just a traditional nursery rhyme; it's a formative part of childhood for many people around the world. This enchanting singing game has been passed down from generation to generation, captivating young minds and fostering a sense of community and fun. With its simple yet memorable lyrics and universally relatable themes, the nursery rhyme holds a special place in global folklore. This article seeks to delve deep into the intricate world of this nursery rhyme, exploring its rich history, diverse variations, and the underlying meanings and messages that have made it a timeless classic. The Nursery Rhyme Before embarking on this fascinating journey, it's essential to familiarize ourselves with the most popularly recited version of the nursery rhyme. This rendition has served as the standard form for many English-speaking households. Here we go round the mulberry bush,The mulberry bush, the mulberry bush,Here we go round the mulberry bush,On a cold and frosty morning. This is the way we wash our hands,Wash our hands, wash our hands,This is the way we wash our hands,On a cold and frosty morning. This is the way we brush our hair,brush our hair, brush our hair,This is the way we brush our hair,On a cold and frosty morning. This is the way we go to school,Go to school, go to school,This is the way we go to school,On a cold and frosty morning. This is the way we wave bye-bye,Wave bye-bye, wave bye-bye,This is the way we wave bye-bye,On a cold and frosty morning.Here We Go Round The Mulberry Bush Here we go round the mulberry bush Origins and history England: the birthplace Many believe that "Here We Go Round the Mulberry Bush" originated in England. Historical records hint at the rhyme being popular as far back as the 19th century. Intriguingly, the "mulberry bush" in question is often thought to represent a prison exercise yard. In this interpretation, the song's roots lie in the harsh realities of historical English penitentiaries, where prisoners would be led around a mulberry tree as a form of exercise. Theories and speculations The song's origins are not just limited to the prison yard theory. Over the years, scholars and enthusiasts have developed various hypotheses about its genesis. One compelling theory suggests that the song initially served as a way for children to mimic adult activities. The original game accompanying the song involved children forming a circle and imitating daily chores, reflecting the societal norms and routines of the time. Variations Lyrics The nursery rhyme has proven to be highly adaptable, resulting in numerous versions that differ in both lyrics and associated actions. Some versions expand upon the activities mentioned, incorporating verses about washing clothes, ironing, and even sweeping the floor. Blockquote: Here we go round the mulberry bush, The mulberry bush, the mulberry bush, Here we go round the mulberry bush, So early in the morning. Cultural adaptations Moreover, the rhyme has transcended linguistic and cultural barriers. Various countries and... --- ### Changer le Message Of The Day (MOTD) sous Ubuntu Server - **URL**: https://www.skyminds.net/changer-le-message-of-the-day-motd-sous-ubuntu-server/ Le Message Of The Day (communément appelé MOTD) est un message d'accueil ou des notifications importantes que les administrateurs de serveurs peuvent configurer pour s'afficher lorsqu'un utilisateur se connecte au serveur via SSH. Ce tutoriel vous montre comment mettre à jour et personnaliser le MOTD sur un serveur Ubuntu 22.04. Prérequis Serveur Ubuntu 22.04 avec accès root ou un utilisateur avec des privilèges sudo. Accès SSH au serveur. Étape 1 : connexion au Serveur Connectez-vous à votre serveur Ubuntu via SSH: ssh USER@SERVER_IP -pPORT Étape 2 : vérifier le MOTD existant Pour voir le MOTD actuel, utilisez la commande suivante : cat /run/motd.dynamic Étape 3 : modifier le MOTD dynamique Ubuntu 22.04 utilise des scripts dans le répertoire /etc/update-motd.d/ pour générer une partie du MOTD dynamiquement. Vous pouvez ajouter, supprimer ou modifier les scripts dans ce répertoire pour personnaliser davantage le MOTD. Entête MOTD Nous allons créer un entête qui contient le nom de notre serveur en ASCII art, ce qui nous permettra de bien l'identifier lors de nos sessions SSH: sudo nano /etc/update-motd.d/00-custom Et on y ajoute notre script bash: #!/bin/sh # Reset Color_Off='\033[0m' # Text Reset # Bold BBlack='\033[1;30m' # Black BRed='\033[1;31m' # Red BGreen='\033[1;32m' # Green BYellow='\033[1;33m' # Yellow BBlue='\033[1;34m' # Blue BPurple='\033[1;35m' # Purple / Magenta BCyan='\033[1;36m' # Cyan BWhite='\033[1;37m' # White # Set the text color to green printf "$BGreen" # https://patorjk.com/software/taag/#p=display&f=Doom&t=APOLLO%20.%20SKYMINDS%20.%20NET cat /run/motd.dynamic Étape 4: Redémarrer les services Vous avez apporté des modifications importantes donc un redémarrage du service SSH ainsi que MOTD est nécessaire : sudo systemctl restart sshd sudo systemctl restart motd-news Étape 6: Tester votre nouveau MOTD Pour tester les modifications, quittez votre session actuelle: exit Ouvrez une nouvelle session SSH vers le serveur. ssh USER@SERVER_IP -pPORT Votre nouveau Message Of The Day devrait maintenant s'afficher. Voici ce que cela donne pour Apollo (sans les couleurs): ___ ______ _____ _ _ _____ _____ _ ____ ____ ________ _ _______ _____ _ _ _____ _____ / _ \ | ___ \ _ | | | | | _ | / ___| | / /\ \ / / \/ |_ _| \ | | _ \/ ___| | \ | || ___|_ _| / /_\ \| |_/ / | | | | | | | | | | \ `--.| |/ / \ V /| . . | | | | \| | | | |\ `--. | \| || |__ | | | _ || __/| | | | | | | | | | | `--. \ \ \ / | |\/| | | | | . ` | | | | `--. \ | . ` || __| | | | | | || | \ \_/ / |____| |___\ \_/ / _ /\__/ / |\ \ | | | | | |_| |_| |\ | |/ / /\__/ / _ | |\ || |___ | | \_| |_/\_| \___/\_____/\_____/\___/ (_) \____/\_| \_/ \_/ \_| |_/\___/\_| \_/___/ \____/ (_) \_| \_/\____/ \_/ 88 88 . + . . . .... --- ### Nouveau serveur dédié OVH : Apollo - **URL**: https://www.skyminds.net/nouveau-serveur-dedie-ovh-apollo/ J'ai craqué pour un nouveau serveur chez OVH. C'est mon premier serveur OVH, si l'on considère que je n'ai jamais utilisé que des Kimsufi auparavant, depuis mars 2010. Voyons voir ce qu'il a dans le ventre. Processeur On obtient les spécifications du processeur: lscpu Ce qui nous donne: lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Address sizes: 39 bits physical, 48 bits virtual Byte Order: Little Endian CPU(s): 16 On-line CPU(s) list: 0-15 Vendor ID: GenuineIntel Model name: Intel(R) Xeon(R) E-2288G CPU @ 3.70GHz CPU family: 6 Model: 158 Thread(s) per core: 2 Core(s) per socket: 8 Socket(s): 1 Stepping: 13 CPU max MHz: 5000.0000 CPU min MHz: 800.0000 BogoMIPS: 7399.70 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts a cpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch _perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_ 2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowp refetch cpuid_fault epb invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpci d mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida a rat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d arch_capabilitie s Virtualization features: Virtualization: VT-x Caches (sum of all): L1d: 256 KiB (8 instances) L1i: 256 KiB (8 instances) L2: 2 MiB (8 instances) L3: 16 MiB (1 instance) NUMA: NUMA node(s): 1 NUMA node0 CPU(s): 0-15 Vulnerabilities: Gather data sampling: Mitigation; Microcode Itlb multihit: KVM: Mitigation: VMX disabled L1tf: Not affected Mds: Not affected Meltdown: Not affected Mmio stale data: Mitigation; Clear CPU buffers; SMT vulnerable Retbleed: Mitigation; Enhanced IBRS Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization Spectre v2: Mitigation; Enhanced IBRS, IBPB conditional, RSB filling, PBRSB-eIBRS SW sequence Srbds: Mitigation; Microcode Tsx async abort: Mitigation; TSX disabled Nous avons donc un Intel(R) Xeon(R) E-2288G CPU @ 3.70GHz (8c/16t), avec toutes les corrections appliquées pour corriger les vulnérabilités. C'est une belle mise à jour par rapport à l'ancien serveur, qui était un Intel(R) Xeon(R) CPU W3530 @ 2.80GHz (4c/8t), qui n'était pas aussi sécurisé. Bande passante On passe sur une bande passante à 500Mbit/s et non plus en 100Mbit/s, toujours en illimité (unmetered). Mémoire et disques On reste sur 32GB de RAM mais on double sa vitesse: on passe de la DDR3 @ 1333 MHz à de la DDR4 ECC @ 2666 MHz: sudo dmidecode -t memory | grep -i speed Résultat: Speed: 2666 MT/s Configured Memory Speed: 2666 MT/s Au niveau des disques, changement également: nous avions 2 × 2TB Soft RAID avec des disques durs classiques et maintenant on passe sur 2 × 960GB SSD NVMe Soft RAID. Système d'exploitation On reste sous Ubuntu Server, qui est... --- ### Mettre à jour MySQL client, server et apt-config - **URL**: https://www.skyminds.net/maj-mysql-client-server-apt-config/ Un an après mon article sur l'erreur APT : the following packages have been kept back, voici que cela recommence : impossible d'installer les mises à jour de mysql-client et mysql-server parce que mysql-apt-config n'est plus à jour. J'ai tendance à oublier la solution parce que je n'y suis confronté que depuis peu donc j'ai écris un petit script bash que je pourrai lancer la prochaine fois, histoire de gagner du temps. Pré-requis: installation de pup pup est un outil en ligne de commande pour traiter le HTML. Il lit à partir de stdin, imprime vers stdout, et permet à l'utilisateur de filtrer des parties de la page en utilisant des sélecteurs CSS. Nous téléchargeons pup depuis son repo sur Github, on extraie le binaire et on le déplace dans /usr/local/bin/ : wget https://github.com/ericchiang/pup/releases/download/v0.4.0/pup_v0.4.0_linux_amd64.zip unzip pup_v0.4.0_linux_amd64.zip sudo mv pup /usr/local/bin/ Script bash pour mettre à jour MySQL avec mysql-apt-config Nous créons notre nouveau script, et nous le rendons exécutable: cd /home/scripts nano install-latest-mysql-apt.sh chmod +x install-latest-mysql-apt.sh Et voici le contenu du script: #!/bin/bash # ----------------------------------------- # # Script Name: install-latest-mysql-apt.sh # # Author: Matt Biscay # # URL: https://www.skyminds.net/?p=613967 # # ----------------------------------------- # # Color codes RED=$(tput bold; tput setaf 1) GREEN=$(tput bold; tput setaf 2) YELLOW=$(tput bold; tput setaf 3) MAGENTA=$(tput bold; tput setaf 5) NC=$(tput sgr0) # No Color # Function to print the header function print_header() { echo -e "${YELLOW}# ----------------------------------------- #${NC}" echo -e "${YELLOW}# Script Name: install-latest-mysql-apt.sh #${NC}" echo -e "${YELLOW}# Author: Matt Biscay #${NC}" echo -e "${YELLOW}# URL: https://www.skyminds.net/?p=613967 #${NC}" echo -e "${YELLOW}# ----------------------------------------- #${NC}" } # Print the header print_header # Function to check if the command exists function check_command() { command -v "$1" &> /dev/null || { echo -e "${RED}$1 is not installed. Please install it and try again.${NC}" exit 1 } } # Check if wget, unzip are installed check_command wget check_command unzip # Check if pup is installed if ! command -v pup &> /dev/null; then read -p $"${MAGENTA}The \"pup\" tool is not installed, would you like to install it now? (Y/N) ${NC}" INSTALL_PUP case ${INSTALL_PUP:0:1} in [Yy]* ) TMP_DIR=$(mktemp -d) wget https://github.com/ericchiang/pup/releases/download/v0.4.0/pup_v0.4.0_linux_amd64.zip -O "$TMP_DIR/pup.zip" unzip "$TMP_DIR/pup.zip" -d "$TMP_DIR" mv "$TMP_DIR/pup" /usr/local/bin/ rm -r "$TMP_DIR" echo -e "${GREEN}Package pup has been installed.${NC}" ;; [Nn]* ) echo "Exiting since pup is not installed." exit 1 ;; * ) echo -e "${RED}Invalid input. Please enter Y or N.${NC}" exit 1 ;; esac fi BASE_URL="https://dev.mysql.com" INITIAL_URL="${BASE_URL}/downloads/repo/apt/" # Create temporary files TMP_INITIAL=$(mktemp) TMP_SECONDARY=$(mktemp) echo "Fetching initial page... $INITIAL_URL" wget -qO- "$INITIAL_URL" > "$TMP_INITIAL" # Extract the secondary download page URL from the main page echo "Extracting secondary page URL..." SECONDARY_URL=$(cat "$TMP_INITIAL" | pup 'div.button03 a attr{href}') echo "Secondary URL: ${BASE_URL}${SECONDARY_URL}" # Fetch the secondary page and store its content for debugging echo "Fetching secondary page..." wget -qO- "${BASE_URL}${SECONDARY_URL}" > "$TMP_SECONDARY" # Extract the download link from the secondary page echo "Extracting download link..." DOWNLOAD_URL=$(cat "$TMP_SECONDARY" | pup 'a:contains("No thanks, just start my download.") attr{href}') echo "Download URL: ${BASE_URL}${DOWNLOAD_URL}" # Ask user if they want to... --- ### Résoudre l’erreur 526 entre Cloudflare et NginX - **URL**: https://www.skyminds.net/resoudre-erreur-526-cloudflare-nginx/ Dernièrement, je me suis apercu qu'une requête curl sur le domaine skyminds.net (sans www donc), donnait une erreur 526 sous Cloudflare (avec le proxy activé, mais aussi sans): curl -Ik https://skyminds.net HTTP/2 526 date: Fri, 18 Aug 2023 23:50:35 GMT content-type: text/html; charset=UTF-8 content-length: 7111 cf-ray: 7f8e0f5538300636-CDG cf-cache-status: BYPASS cache-control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 expires: Thu, 01 Jan 1970 00:00:01 GMT set-cookie: cf_ob_info=526:7f8e0f55430d0636:CDG; path=/; expires=Fri, 18-Aug-23 23:51:05 GMT vary: Accept-Encoding cf-apo-via: origin,resnok referrer-policy: same-origin set-cookie: cf_use_ob=443; path=/; expires=Fri, 18-Aug-23 23:51:05 GMT x-frame-options: SAMEORIGIN report-to: {"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v3?s=KQ7z1CYzwZD3r%2FzoJ2QLzFRmcgQzql1Oz3KwXyVnHVWHH5mUgxKqwU8p2%2F0C9rn%2FJUOSQG%2BWZl9%2B%2FDdQSPXznmFKKeiqFdqXzpuGFK5xgZbHAohOVxY4Vk6%2F1bM73jNRhrjfYZ42r6FMJ6c%3D"}],"group":"cf-nel","max_age":604800} nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800} server: cloudflare alt-svc: h3=":443"; ma=86400 Sous tous les navigateurs par contre, une brève page d'erreur s'affiche (quelques millisecondes) avant que finalement la redirection vers le sous-domaine www ne s'effectue. Je me suis dis que c'était bizarre et que je réglerais le problème plus tard. Quelques semaines mois passent et j'effectue une petite visite de routine sur mes sous-domaines, notamment celui de postfixadmin. Et là, patatras : erreur 526 avec le proxy Cloudflare actif, mais aussi une ribambelle d'erreurs selon les navigateurs utilisés: Échec de la connexion sécurisée Une erreur est survenue pendant une connexion à demo.skyminds.net. Le pair SSL a rejeté un message d’établissement de liaison à cause d’un contenu inacceptable. Code d’erreur : SSL_ERROR_ILLEGAL_PARAMETER_ALERT La page que vous essayez de consulter ne peut pas être affichée car l’authenticité des données reçues ne peut être vérifiée. Veuillez contacter les propriétaires du site web pour les informer de ce problème. Firefox Ce site est inaccessibleIl se peut que la page Web à l'adresse https://demo.skyminds.net soit temporairement inaccessible ou qu'elle ait été déplacée de façon permanente à une autre adresse Web. ERR_QUIC_PROTOCOL_ERROR Brave Bon, il va falloir s'atteler à comprendre ce qui se passe vraiment ici! Vérification du certificat TLS On vérifie que le certificat est valide: echo | openssl s_client -connect skyminds.net:443 -servername skyminds.net 2>/dev/null | openssl x509 -noout -dates notBefore=Aug 6 12:15:26 2023 GMT notAfter=Nov 4 12:15:25 2023 GMT Tout est bon, le certificat est toujours valide. On vérifie ensuite que les sous-domaines sont bien inclus (au cas où, mais je crée toujours des certificats wildcard par défaut): echo | openssl s_client -connect skyminds.net:4echo | openssl s_client -connect skyminds.net:443 -servername skyminds.net 2>/dev/null | openssl x509 -noout -text Certificate: Data: Version: 3 (0x2) Serial Number: 03:cc:a2:48:39:97:ea:6c:d0:5d:86:5a:e3:f8:e3:d3:b2:1a Signature Algorithm: ecdsa-with-SHA384 Issuer: C = US, O = Let's Encrypt, CN = E1 Validity Not Before: Aug 6 12:15:26 2023 GMT Not After : Nov 4 12:15:25 2023 GMT Subject: CN = skyminds.net Subject Public Key Info: Public Key Algorithm: id-ecPublicKey Public-Key: (256 bit) pub: 04:69:84:99:0b:ea:1b:6f:38:ac:ee:fa:76:7d:4f: 59:01:02:bd:6e:d8:25:83:a7:8a:c5:d5:a4:b9:c5: 64:65:2d:49:20:3d:bc:4c:06:38:7d:73:d0:c0:55: 0b:90:cf:44:f7:5a:8c:37:8f:f9:da:51:eb:c3:f0: 5b:87:ce:00:ba ASN1 OID: prime256v1 NIST CURVE: P-256 X509v3 extensions: X509v3 Key Usage: critical Digital Signature X509v3 Extended Key Usage: TLS Web Server Authentication, TLS Web Client Authentication X509v3 Basic Constraints: critical CA:FALSE X509v3 Subject Key Identifier: E7:3A:09:C3:D5:75:02:65:A6:D7:7D:12:D4:F3:5D:42:72:11:75:B4 X509v3 Authority Key Identifier: 5A:F3:ED:2B:FC:36:C2:37:79:B9:52:30:EA:54:6F:CF:55:CB:2E:AC Authority Information Access: OCSP - URI:http://e1.o.lencr.org CA Issuers - URI:http://e1.i.lencr.org/ X509v3 Subject Alternative Name: DNS:*.skyminds.net, DNS:skyminds.net X509v3 Certificate Policies: Policy: 2.23.140.1.2.1 CT Precertificate SCTs: Signed Certificate Timestamp: Version : v1 (0x0) Log ID... --- ### Installation de PHP 8.2 sur le serveur - **URL**: https://www.skyminds.net/installation-de-php-8-2-sur-le-serveur/ Aujourd'hui, on installe PHP 8.2 sur le serveur vu que SkyMinds est compatible avec selon notre testeur de compatibilité PHP. La dernière version stable installée sur le serveur est PHP8 donc on récupère la liste des extensions PHP installées avec PHP 8: dpkg -l | grep php8.0 | grep ii | awk '{print $2}' php8.0 php8.0-apcu php8.0-bcmath php8.0-cli php8.0-common php8.0-curl php8.0-fpm php8.0-gd php8.0-gmp php8.0-igbinary php8.0-imagick php8.0-imap php8.0-intl php8.0-mbstring php8.0-mysql php8.0-opcache php8.0-readline php8.0-redis php8.0-soap php8.0-xml php8.0-zip C'est bien mais nous pouvons améliorer la commande pour replacer php8.0 par php8.2: dpkg -l | grep php8.0 | grep ii | awk '{print $2}' | sed 's/php8.0/php8.2/g' php8.2 php8.2-apcu php8.2-bcmath php8.2-cli php8.2-common php8.2-curl php8.2-fpm php8.2-gd php8.2-gmp php8.2-igbinary php8.2-imagick php8.2-imap php8.2-intl php8.2-mbstring php8.2-mysql php8.2-opcache php8.2-readline php8.2-redis php8.2-soap php8.2-xml php8.2-zip Transformons maintenant le résultat pour avoir une liste séparée par des espaces et non des sauts de lignes: dpkg -l | grep php8.0 | grep ii | awk '{print $2}' | sed 's/php8.0/php8.2/g' | tr '\n' ' ' php8.2 php8.2-apcu php8.2-bcmath php8.2-cli php8.2-common php8.2-curl php8.2-fpm php8.2-gd php8.2-gmp php8.2-igbinary php8.2-imagick php8.2-imap php8.2-intl php8.2-mbstring php8.2-mysql php8.2-opcache php8.2-readline php8.2-redis php8.2-soap php8.2-xml php8.2-zip Installation de PHP 8.2 Parfait, nous pouvons maintenant lancer apt install combinée avec notre dernière commande: apt install $(dpkg -l | grep php8.0 | grep ii | awk '{print $2}' | sed 's/php8.0/php8.2/g' | tr '\n' ' ') Reading package lists... Done Building dependency tree... Done Reading state information... Done php8.2-cli is already the newest version (8.2.7-1+ubuntu22.04.1+deb.sury.org+1). php8.2-cli set to manually installed. php8.2-common is already the newest version (8.2.7-1+ubuntu22.04.1+deb.sury.org+1). php8.2-common set to manually installed. php8.2-imagick is already the newest version (3.7.0-3+ubuntu22.04.1+deb.sury.org+1). php8.2-imagick set to manually installed. php8.2-opcache is already the newest version (8.2.7-1+ubuntu22.04.1+deb.sury.org+1). php8.2-opcache set to manually installed. php8.2-readline is already the newest version (8.2.7-1+ubuntu22.04.1+deb.sury.org+1). php8.2-readline set to manually installed. Suggested packages: php-pear The following NEW packages will be installed: php8.2 php8.2-apcu php8.2-bcmath php8.2-curl php8.2-fpm php8.2-gd php8.2-gmp php8.2-igbinary php8.2-imap php8.2-intl php8.2-mbstring php8.2-mysql php8.2-redis php8.2-soap php8.2-xml php8.2-zip 0 upgraded, 16 newly installed, 0 to remove and 0 not upgraded. Need to get 3440 kB of archives. After this operation, 10.7 MB of additional disk space will be used. Do you want to continue? [Y/n] y Configuration de PHP 8.2 Pour la configuration du php.ini ainsi que du pool PHP, je vous conseille d'utiliser la configuration de notre WordPress RocketStack, qui donne d'excellents résultats en terme de performance et réactivité. Mise à jour du server block NginX C'est plutôt simple, il vous suffit d'éditer le server block NginX de votre domaine et de changer cette ligne: # PHP 8 fastcgi_pass unix:/run/php/php8.0-fpm.sock; par cette ligne: # PHP 8.2 fastcgi_pass unix:/run/php/php8.2-fpm.sock; Ensuite, il ne nous reste plus qu'à relancer les services: service nginx restart service php8.2-fpm restart Et voilà PHP 8.2 est installé et fait tourner le site, en moins de 10 minutes. --- ### WordPress Rocket Stack : envoyez WordPress sur orbite ! - **URL**: https://www.skyminds.net/serveur-dedie-rocketstack-wordpress-sur-orbite/ Sur Orion, j'ai installé ma WordPress Rocket Stack qui est configurée avec la stack suivante: Ubuntu Server 24.04 LTS MySQL 8+ NginX 1.25+ PHP 8.3 Redis Nginx FastCGI Cache Fail2ban LetsEncrypt avec acme.sh Hébergement L'hébergement est la base de votre site, c'est tout simplement la fondation sur laquelle va reposer votre code. Vous avez tout intérêt à avoir un très bon hébergeur : il doit être rapide dès le départ et offrir de bonnes garanties en termes de performance et de sécurité. Si vous avez un site WordPress ou WooCommerce, je ne peux que vous recommander Kinsta, WPEngine ou Nexcess. Tous trois sont de très bons hébergeurs, particulièrement orientés vers la performance avec des ressources garanties et un support technique réactif et efficace en cas de besoin. Personnellement, j'utilise un serveur dédié chez OVH parce que j'héberge pas mal de sites et j'ai besoin d'avoir un contrôle fin sur la configuration de chacun des services. Ubuntu Server J'étais auparavant sous Debian mais j'ai finalement opté pour Ubuntu Server 22.04 LTS pour ce nouveau serveur. L'avantage d'Ubuntu est de pouvoir disposer des mises à jour plus rapidement que sous Debian. Installation de la WordPress Rocket Stack # Packages apt install software-properties-common apt-transport-https tmux curl ca-certificates wget zip unzip git # MySQL # Latest link is always on the apt page: https://dev.mysql.com/downloads/repo/apt/ wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb dpkg -i mysql-apt-config_0.8.29-1_all.deb # Redis curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list # PPAs add-apt-repository ppa:ondrej/php add-apt-repository ppa:ondrej/nginx-mainline apt update -y apt upgrade -y apt install mysql-server -y # accept all defaults # PHP 8.3 # Note: the json module is now part of PHP core apt install php8.3 php8.3-apcu php8.3-bcmath php8.3-bz2 php8.3-cli php8.3-common php8.3-curl php8.3-fpm php8.3-gd php8.3-gmp php8.3-igbinary php8.3-imagick php8.3-imap php8.3-intl php8.3-mbstring php8.3-mysql php8.3-opcache php8.3-phpdbg php8.3-readline php8.3-redis php8.3-soap php8.3-xml php8.3-zip -y # Run installs apt install nginx -y apt install fail2ban -y apt install redis-server redis-tools -y apt install libnginx-mod-http-brotli-filter libnginx-mod-http-brotli-static -y # Get NginX config files git clone https://github.com/skyminds/wordpress-rocketstack cp wordpress-rocketstack/nginx/* /etc/nginx/ -R rm wordpress-rocketstack DNS : ajout du site sur le serveur Mon serveur est hébergé chez OVH donc il faut ajouter le domaine aux DNS secondaires du serveur. Sur l'interface Kimsufi, cela se fait très simplement: Ajouter le domaine au serveur (dns secondaire) Configurer Cloudflare Si vous utilisez Cloudflare - ce que je vous recommande fortement - et que vous obtenez une erreur 403 ou alors une page "Welcome to NginX" en lieu et place de votre nouveau site, veillez bien à sélectionner la bonne option SSL dans Cloudflare > Example.com > SSL/TLS > Overview : il faut sélectionner Full ou Full (Strict) mais surtout pas "Flexible": Choisissez toujours l'option SSL/TLS Full (Strict) chez Cloudflare Ensuite, il ne nous reste qu'à faire pointer le CNAME vers l'adresse IP du serveur et d'ajouter le champs TXT qui a été indiqué par OVH dans l'étape précédente: Ajout de l'enregistrement DNS au format TXT pour valider le DNS secondaire chez OVH Ajout du... --- ### Effacer les mails depuis les notifications Android - **URL**: https://www.skyminds.net/supprimer-emails-notifications-android/ Les notifications Android vous informent de l'arrivée des nouveaux e-mails et vous donnent un aperçu sur quelques lignes, ce qui vous permet de prendre connaissance de la teneur du message. J'utilise principalement Gmail et les notifications sont très pratiques. Deux boutons sont proposés par défaut lorsqu'une notification affiche un e-mail: Archiver et Répondre. Je n'archive jamais de messages depuis les notifications et je lance toujours l'application Gmail pour consulter l'intégralité du message, ouvrir les pièces jointes et ensuite décider ou non s'il faut supprimer le message, le labelliser et/ou l'archiver pour le retrouver plus tard. L'action Archiver n'est donc pas la plus utile, je préfère très largement avoir un bouton Supprimer, ce qui évitera d'avoir une boite de réception avec des centaines ou milliers de messages. Je suis dans les 500 actuellement et c'est déjà une grosse charge mentale à chaque fois que j'ouvre Gmail... Un bouton Supprimer dans les notifications Pour remplacer le bouton Archiver par un bouton Supprimer, il suffit de se rendre dans l'application Gmail ⟶ Paramètres ⟶ Paramètres généraux : Paramètres généraux de Gmail : action par défaut des notifications Tapez sur Action par défaut pour les notifications. Une fenêtre s'ouvre et vous propose deux choix: Archiver ou Supprimer. Choisissez Supprimer pour créer le bouton Supprimer dans les notifications Android: Paramètres généraux de Gmail : choisir Supprimer comme action par défaut des notifications Et voilà, vous avez maintenant un bouton Supprimer pour chaque e-mail dans vos notifications Android, pour plus de productivité et d'eeficacité. Cela me fait gagner énormément de temps tous les jours, dans les transports ou après une session de travail intensif sans écran. --- ### SSH : Host key verification failed - **URL**: https://www.skyminds.net/ssh-host-key-verification-failed/ Voici la solution pour le problème "authenticity of host 'example.com can't be established" ou "Host key verification failed" lors d'une session SSH sous Linux, MacOS ou Windows. J'ai récemment travaillé sur un site WordPress multisite hébergé sur WPEngine. Lorsque j'ai voulu me connecter au site en SSH, j'ai reçu une drôle d'erreur: The authenticity of host 'example.ssh.wpengine.net (xxx.xxx.xxx.xxx)' can't be established. RSA key fingerprint is SHA256:T8IoIg6/q7i3pVfZipYtxow4. This host key is known by the following other names/addresses: ~/.ssh/known_hosts:38: 1.ssh.wpengine.net ~/.ssh/known_hosts:42: 2.ssh.wpengine.net ~/.ssh/known_hosts:47: 3.ssh.wpengine.net ~/.ssh/known_hosts:52: 4.ssh.wpengine.net ~/.ssh/known_hosts:54: 5.ssh.wpengine.net ~/.ssh/known_hosts:56: 6.ssh.wpengine.net ~/.ssh/known_hosts:76: 7.ssh.wpengine.net (2 additional names omitted) Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Host key verification failed. Comme vous pouvez le voir, il y a déjà pas mal de domaines connus dans mon trousseau SSH, qui appartiennent à ssh.wpengine.net. Pour une raison obscure toutefois, le nouveau sous-domaine n'est pas admis, contrairement aux sous-domaines précédents qui n'avaient posé aucun problème. Solution: ajouter la clé au trousseau manuellement Si la clé ne peut être ajoutée automatiquement, ajoutons-la manuellement et tentons de nous connecter. Concrétement, il faut donc insérer la clé RSA du serveur dans le fichier /home/user/.ssh/known_hosts de la machine qui se connecte en SSH au serveur distant. Nous pouvons faire cela en une seule commande: ssh-keyscan -t rsa example.ssh.wpengine.net >> ~/.ssh/known_hosts # example.ssh.wpengine.net:22 SSH-2.0-Go Voici ce que fait la commande: ssh-keyscan -t rsa SSH.EXAMPLE.COM : cela récupère la clé RSA de l'hôte SSH.EXAMPLE.COM >> ~/.ssh/known_hosts : cela copie la clé et l'insère dans le répertoire .ssh du dossier personnel de notre utilisateur, à la fin du fichier known_hosts qui contient tous les hôtes et clés RSA pour SSH. Retentons maintenant de nous connecter au site WPEngine en SSH: ssh example@example.ssh.wpengine.net ___ _________ __________ _____ __ | / /__ __ \ ___ ____/_____________ ___(_)___________ __ | /| / /__ /_/ / __ __/ __ __ \_ __ `/_ /__ __ \ _ \ __ |/ |/ / _ ____/ _ /___ _ / / / /_/ /_ / _ / / / __/ ____/|__/ /_/ /_____/ /_/ /_/_\__, / /_/ /_/ /_/\___/ /____/ WP Engine Shell - PHP 8.0 Et voilà, la connexion SSH est de nouveau opérationnelle! --- ### Soumettre à Last.fm les chansons d’un flux Icecast - **URL**: https://www.skyminds.net/icecast-scrobble-lastfm/ Voici le script python que j'ai écrit pour soumettre automatiquement à Last.fm les chansons qui sont diffusées sur ma radio Icecast. Au fil du temps, j'ai publié dans ces colonnes différents tutoriels pour gérer une radio avec Icecast, à l'aide de Winamp, VirtualDJ, et SAM Broadcaster dont on pouvait créer un fichier texte qui pouvait ensuite être filtré puis utilisé avec un script PHP pour soumettre les chansons à Last.fm. Il y a quelques semaines, Stéphan m'a contacté pour m'informer que le script PHP que j'utilisais jusqu'alors pour scrobbler les titres était maintenant incompatible avec PHP8, et qu'il lui fallait installer PHP7.4 spécifiquement pour le faire tourner. Le script n'utilisait pas les dernières API de Last.fm non plus, donc c'était le bon moment de moderniser tout cela. J'en ai d'ailleurs profité pour servir le serveur Icecast en HTTPS. Le choix de Python Après de multiples essais, je me suis vite rendu compte que PHP n'était pas du tout adapté au scrobbling : la plupart des librairies PHP sont maintenant obsolètes (PHP8) ou ne sont plus maintenues car Last.fm est en perte de vitesse (par rapport à ce que c'était il y a quelques années). Python, au contraire, est très simple à utiliser et il existe une librairie spécifique dédiée à l'API Last.fm qui nous permet de soumettre les titres simplement: pylast. Enfin, l'avantage de python est qu'il est installé et mis à jour sur toutes les distributions Linux et MacOS nativement et donc cela rend le code portable et facile à transporter. Outre Python 3, vous avez besoin du gestionnaire de paquets pip : apt install python3-pip Vous avez également besoin de quelques modules supplémentaires, que l'on installe avec pip : python3 -m pip install --upgrade pip pip3 install pylast requests C'est tout ce qu'il vous faut au niveau des dépendances. Plus besoin de PHP ni de ses librairies, plus besoin de stocker le nom des titres dans un fichier texte, tout va se faire en direct depuis le serveur Icecast. Last.FM Scrobbler for Icecast Le script Last.FM Scrobbler for Icecast vérifie le statut du server Icecast toutes les 30 secondes. Si le serveur est démarré et que la radio joue, il récupère les informations de la chanson et les soumet à Last.fm, tout en vérifiant bien que la chanson n'est pas la même que la précédente. Cela évite tout doublon, ce qui fausserait les soumissions du compte. Si le serveur Icecast n'est pas démarré, le script vous avertit et attend 5 minutes. Si le serveur Icecast est démarré mais que le fichier status-json.xsl ne contient pas les informations nécessaires, le script vous avertit et vous recommande de redémarrer votre webradio car la connexion avec Icecast est perdue. On crée notre script: nano /home/scripts/lastfm-scrobbler-icecast.py Et on y ajoute: #!/usr/bin/env python3 # -*- coding: utf-8 -*- #----------------------------------------------------------------------- # Script name : Last.FM Scrobbler for Icecast # Created By : Matt Biscay # Created Date: 2023/01/24 # Author URI : https://www.skyminds.net # Version : 1.0.0 # Copyright : 2023 SkyMinds.Net # ----------------------------------------------------------------------... --- ### Section Européenne Anglais au Lycée Guist’Hau - **URL**: https://www.skyminds.net/section-europeenne-anglais-lycee-guisthau/ Qu'est-ce qu'une section européenne? La section européenne permet aux élèves de renforcer la maîtrise de l’anglais, à l'oral comme à l'écrit, grâce à la pédagogie bilingue. En dehors des cours de langue classiques avec ses objectifs linguistiques et culturels, les élèves suivent des cours d'Histoire-Géographie ou de Physique-Chimie en langue étrangère. Au terme des trois années, les élèves se présentent au baccalauréat à l'épreuve de "section européenne" et peuvent obtenir une mention européenne. Qu'est ce que la DNL? Dans les cours de DNL (Discipline Non-Linguistique), les élèves communiquent en langue étrangère tout en restant concentrés sur une question d'Histoire, de Géographie ou de Physique-Chimie. A titre d'exemple en Histoire-Géographie, on adopte un regard anglophone sur des questions au programme. Les cours de DNL renforcent ainsi non seulement la pratique de la langue, mais aussi les connaissances sur la culture anglophone. Les élèves apprennent à lire, expliquer et analyser des documents authentiques, En Physique-Chimie, à partir de supports variés, les élèves vont produire des cartes mentales, des posters, réaliser des exposés, des vidéos en langue anglaise traitant des différentes parties du programme. Certains thèmes peuvent également être traités de façon expérimentale. Le but étant de savoir décrire et expliquer des phénomènes scientifiques en anglais, et éventuellement d’émettre son point de vue. Au lycée Guist'hau, les élèves sont affectés dans les groupes de DNL (Histoire-Géographie et Physique-Chimie) de manière aléatoire, de manière à créer des groupes de DNL équilibrés au niveau du nombre d'élèves. Un réajustement est effectué en Première afin d'affiner la cohérence avec les spécialités choisies. Quels sont les projets en section européenne? La section européenne vise l'acquisition d'un niveau de langue soutenu et souhaite favoriser l'ouverture européenne et internationale des élèves. La section européenne Anglais organise un voyage culturel pendant l'année de première. En terminale, les élèves passent le Cambridge English Certificate (CEC). Quel est le cursus en section européenne? Seconde européenne3h Anglais + 1h DNL (Histoire-Géographie ou Physique-Chimie)Première européenne2h30 Anglais + 1h DNLTerminale européenne2 h Anglais + 1h DNLHoraires hebdomadaires en section Européenne Anglais Notez bien qu'il n'est pas possible pour les élèves de choisir la matière de DNL: les élèves sont intégrés à la DNL Histoire-Géographie ou Physique-Chimie de manière aléatoire, pour former des groupes équilibrés. Qu'est ce que la mention européenne? Actuellement, la mention européenne pour le baccalauréat est validée si la note à l’épreuve écrite de langue est égale ou supérieure à 12/20 et si la note à l’épreuve orale de la discipline non linguistique est égale ou supérieure à 10/20. La mention européenne donne une valeur ajoutée au diplôme de baccalauréat et représente un plus pour le parcours post-bac quelles que soient les études supérieures visées. A qui s'adresse la section européenne? Aux élèves motivés par la langue et la culture anglophone qui ont un bon niveau de langue et qui aiment s'impliquer en classe. Elle est ouverte aux élèves issus de sections européennes, mais aussi à ceux qui n'ont pas eu cette opportunité. Le programme en anglais européen est identique à celui du... --- ### Icecast en HTTPS avec Cloudflare et Nginx - **URL**: https://www.skyminds.net/icecast-https-cloudflare-nginx/ Servir une radio Icecast en HTTP depuis une page HTTPS finit toujours par casser quelque chose. Le navigateur bloque le contenu mixte, le lecteur HTML5 refuse parfois le flux, et les appels vers le JSON de statut deviennent capricieux. Bref, la radio marche, mais seulement les jours pairs. Excellent pour le suspense, moins pour l’écoute. La solution propre consiste à placer Icecast derrière Nginx, puis à laisser Nginx gérer HTTPS avec un certificat valide. Cloudflare reste devant le serveur, le flux sort en HTTPS sur le port standard 443, et Icecast continue tranquillement d’écouter en local sur son port habituel. Dans ce guide, nous allons donc configurer une architecture simple, fiable et durable : Cloudflare gère le DNS et le proxy HTTPS public ; Nginx reçoit les requêtes HTTPS sur le port 443 ; Nginx transmet les requêtes à Icecast en local ; Icecast reste inaccessible directement depuis Internet ; le lecteur audio peut être intégré sans erreur de contenu mixte. Cette méthode évite aussi d’exposer une URL du type https://radio.example.com:8443/. Elle fonctionne, certes, mais elle sent un peu le garage ouvert avec la lumière allumée. Faut-il utiliser le TLS natif d’Icecast ? Icecast peut gérer HTTPS directement. Les versions récentes utilisent notamment une directive 1 dans le bloc , avec un certificat configuré dans les chemins d’Icecast. Cela fonctionne, mais ce n’est pas l’option la plus confortable derrière Cloudflare et Nginx. En pratique, Nginx gère mieux les certificats, les renouvellements, les redirections, les headers, les logs HTTP et les comportements proxy. Il fait ce boulot toute la journée. Autant lui laisser les clés du camion. Je recommande donc cette architecture : Internet ↓ Cloudflare ↓ HTTPS :443 Nginx ↓ HTTP local Icecast 127.0.0.1:8000 Icecast reste simple. Nginx fait la terminaison TLS. Cloudflare protège et route le trafic. Tout le monde reste dans son couloir. Pré-requis Pour suivre ce guide, il vous faut : un serveur Linux avec Nginx ; Icecast déjà installé et fonctionnel en local ; un domaine géré chez Cloudflare ; un certificat TLS valide côté serveur ; un accès root ou sudo ; un flux Icecast disponible, par exemple /stream.mp3 ou /radio.ogg. Dans les exemples, j’utilise : radio.example.com 127.0.0.1:8000 /stream.mp3 /status-json.xsl Remplacez évidemment ces valeurs par votre domaine, votre port et vos points de montage Icecast. Étape 1 : créer le sous-domaine dans Cloudflare Créez un sous-domaine dédié à la radio. C’est plus propre que de mélanger le site principal, les flux audio, les pages d’admin et les fichiers de statut. Dans Cloudflare, ajoutez un enregistrement DNS : Type : A Nom : radio IPv4 : 203.0.113.10 Vous obtenez donc : radio.example.com Vous pouvez activer le proxy Cloudflare, donc le nuage orange, si vous exposez le service sur un port compatible avec Cloudflare. Le port HTTPS standard 443 reste le choix le plus simple. Cloudflare accepte aussi quelques ports HTTPS alternatifs, dont 8443. Toutefois, pour une radio publique, le port 443 reste plus lisible, plus compatible et plus agréable à partager. Étape 2 : vérifier qu’Icecast... --- ### Ubuntu : activer les mises à jour automatiques avec unattended-upgrades - **URL**: https://www.skyminds.net/ubuntu-mises-a-jour-automatiques/ La mise à niveau de votre serveur Ubuntu est une étape importante pour garantir que votre système est toujours à jour et sécurisé. Avec le paquet unattended-upgrades, vous pouvez facilement activer les mises à niveau sans avoir à vous soucier du redémarrage manuel ou des temps d'arrêt. Comme son nom l'indique, le paquet unattended-upgrades permet de lancer les mises à jour automatiquement à intervalles réguliers, sans action de la part de l'administrateur. Vous pouvez donc planifier les mises à jour lorsque le trafic est faible, et l'outil est même capable de redémarrer le serveur si besoin. Dans ce tutoriel, nous allons vous montrer comment installer et utiliser unattended-upgrades sous Ubuntu Server 22.04. Nous aborderons également les avantages de l'utilisation de cet outil et la manière dont il peut contribuer à garantir que votre système est toujours à jour. Cela peut être également un très bon complément si vous avez déjà installé Ubuntu Pro avec le support étendu des mises à jour. Installer unattended-upgrades Pour commencer, vous devez d'abord installer le paquet unattended-upgrades sur votre serveur Ubuntu - ouvrez une fenêtre de terminal et entrez la commande suivante : apt install unattended-upgrades Une fois que unattended-upgrades est installé, on le paramètre: dpkg-reconfigure -plow unattended-upgrades Répondez "Yes" pour installer les mises à jour stable automatiquement. Activez ensuite l'outil: unattended-upgrades enable Paramètrage d'unattended-upgrades Le paquet est bien plus puissant qu'il n'y paraît. Personnellement, j'aime bien être informé des mises à jour et des changements sur le serveur, activons donc les notifications. On édite notre fichier de configuration local (à créer si besoin). C'est le fichier qui ne sera pas écrasé si le paquet est mis à jour: nano /etc/apt/apt.conf.d/52unattended-upgrades-local Et en suivant la documentation, on demande la notification récapitulative des mises à jour, le redémarrage automatique si besoin, vers deux heures du matin pour ne pas gêner nos visiteurs: // email to send notifications Unattended-Upgrade::Mail "admin@example.com"; // automatic reboot at 2:00 AM Unattended-Upgrade::Automatic-Reboot "true"; Unattended-Upgrade::Automatic-Reboot-Time "02:00"; Vous pouvez accéder à toutes les directives en regardant la documentation qui se trouve dans le fichier /etc/apt/apt.conf.d/50unattended-upgrades : cat /etc/apt/apt.conf.d/50unattended-upgrades N'hésitez pas à consulter le fichier, il vous apprend comment gérer l'APT pinning etc. C'est efficace mais je pense que certaines directives doivent être utilisées avec prudence. Ensuite, éditez le fichier /etc/apt/apt.conf.d/20auto-upgrades pour vérifier les mises à jour automatiques: nano /etc/apt/apt.conf.d/20auto-upgrades Ubuntu ajoute par défaut les deux premières lignes mais je vous recommande d'ajouter et modifier le fichier avec ces directives: APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Unattended-Upgrade "1"; APT::Periodic::Download-Upgradeable-Packages "1"; APT::Periodic::AutocleanInterval "7"; Cela met à jour la liste des paquets, active les mises à jour automatiques, active le téléchargement des nouveaux paquets et gère l'autoclean d'APT toutes les semaines. Conclusion Voilà, l'outil est très simple à configurer et permet de garder le serveur à jour et n'installe que les versions stables donc le risque d'une mauvaise configuration est plutôt limité. Il est très intéressant de recevoir les notifications, cela permet de garder une trace des installations et changements, ce qui est moins évident dans un terminal où tout défile... --- ### Cli-Fi movies: the ultimate list - **URL**: https://www.skyminds.net/cli-fi-movies-the-ultimate-list/ Climate fiction, also known as cli-fi, is a genre of literature that explores the social, political, and environmental consequences of climate change and global warming. This relatively new genre has gained popularity in recent years as the urgency of the climate crisis has become increasingly apparent, and as people have become more concerned about the future of the planet. Cli-fi often imagines future worlds where the Earth has been affected by significant environmental changes, and how human societies might adapt to these changes. One of the defining characteristics of cli-fi is its focus on environmental themes. This genre often explores the impacts of environmental degradation, species extinction, and resource scarcity on people and the world, as well as the interconnectedness of social, economic, and political systems with the natural world. Cli-fi can encompass a range of sub-genres, including science fiction, dystopian fiction, and post-apocalyptic fiction, and it can be set in a variety of settings, from cities to rural areas, from the poles to the tropics, and from the past to the future. One of the main reasons why cli-fi has become such an important genre is that it serves as a cautionary tale, warning readers about the dangers of neglecting the environment and the need for immediate action to address these challenges. Many cli-fi works are dystopian in nature, imagining a future world where the effects of climate change have spiraled out of control, leading to environmental collapse and social upheaval. These works often highlight the urgent need for action, and serve as a powerful reminder of the consequences of inaction. However, not all cli-fi is dystopian. There are also works of cli-fi that imagine more optimistic futures, in which people have taken bold action to mitigate the impacts of climate change and transition to a more sustainable way of life. These works are often less bleak than their dystopian counterparts, and provide a more hopeful vision of the future. By exploring alternative futures, they offer readers a chance to imagine a better world and to consider different paths forward. Cli-fi is also an important genre because it provides a platform for exploring complex and interconnected environmental and social issues. By imagining the consequences of current actions and decisions, cli-fi helps to raise awareness about the challenges of climate change, and it provides a way for people to think about the future and their place in it. This genre is especially important for younger generations, who will be most affected by the impacts of climate change, as it provides them with a way to imagine their future, and to think about the world they want to create. One of the key strengths of cli-fi is its ability to reach a broad audience. Cli-fi is a work of fiction, which makes it accessible to a wide range of readers, including those who might not be interested in more technical or scientific treatments of environmental issues. This genre also attracts the attention of activists and educators, who see it as a... --- ### Au revoir Free, je passe à la fibre Orange - **URL**: https://www.skyminds.net/bye-free-fibre-orange/ Et voilà, après plus de 20 ans chez Free, je viens de passer chez Orange pour bénéficier de la fibre optique. Cela fait des années que j'attends ce moment : la fibre est déployée sur les poteaux de mon village depuis plus de 6 mois mais l'installation individuelle n'avait pas commencée. Lorsque j'ai vu le camion nacelle chez mon voisin, j'ai vite compris que la FFTH, c'était maintenant! Inscription chez Orange Comme c'est Orange qui déploie, c'est eux qui sont prioritaires pour proposer des offres fibres aux particuliers. Ils ont une période de grâce sans concurrents, ce qui explique que beaucoup de gens migrent chez eux puisqu'ils sont prioritaires (et les seuls sur le créneau). L'autre avantage, c'est que le fil de fibre optique est déployé chez vous par l'un des prestataires de l'opérateur historique: ils savent où se trouvent les regards, les fourreaux... et ils peuvent se targuer d'un travail de qualité. J'ai eu un rendez-vous sous 10 jours pour la pose de la fibre chez moi. Installation de la fibre J'avais passé des heures à fouiller et creuser le jardin sans succès pour trouver le regard EDF et télécom et les techniciens l'ont trouvé en moins de 20 secondes. Quelques dizaines de minutes plus tard, le fil optique passait en dessous de la route, traversait le jardin en lieu et place du précédent fil de cuivre téléphonique et ressortait en bas de mon compteur électrique. Le fil téléphonique n'étant pas dans une gaine, les techniciens l'ont fait courir le long du mur du garage qui donne derrière mon salon, dans laquelle la prise a été installée. Ce n'est pas ce que j'avais prévu (tous mes équipements réseaux se trouvaient à l'autre bout de la pièce) mais après une courte réorganisation et un peu de cable management, tout est maintenant parfait. Free J'ai toujours aimé Free. Cela fonctionne bien. Leurs Freebox sont géniales (comparées à la LiveBox, c'est le jour et la nuit) et pourtant j'en ai connu: Freebox 3, Freebox 4, Freebox 5 HD, Freebox 6 Revolution en enfin Freebox 8 Pop. Le jour après le déploiement de la fibre à la maison, Free m'appelle pour que je j'annule ma résiliation... c'est un peu tard, étant donné qu'il n'y a plus le fil de cuivre! Ils me proposent alors un rabais de 5 euros. Je leur répond alors que ce n'est pas suffisant puisque l'offre Fibre me coûte moins cher, même avec cette réduction minime. Free ne récompense pas ses plus fidèles freenautes et ne sort des offres que lorsque vous les quittez. Je n'ai pas du tout apprécié le fait qu'ils prélèvent le mois de novembre entier, alors qu'ils savaient depuis octobre que la migration avait lieu le 3 novembre: ils ont confirmé les migrations des lignes fixe et mobile mais m'ont prélevé au petit matin, 7 heures avant la connexion chez Orange. C'est assez lamentable. Dernier grief : j'ai cherché à joindre le service client pour les résiliations. Lorsque l'on souhaite s'abonner, cela décroche dans la... --- ### Ubuntu Pro : activer le support étendu sur Ubuntu LTS pour 10 ans - **URL**: https://www.skyminds.net/ubuntu-pro-support-etendu-10-ans/ Ubuntu Pro permet de prolonger la durée de vie des versions Ubuntu LTS avec des mises à jour de sécurité étendues, des correctifs pour davantage de paquets, Livepatch, Landscape et plusieurs outils de conformité. Pour un poste personnel, un petit serveur ou une machine que vous ne pouvez pas migrer tout de suite, c’est une option très pratique. Pour un vieux serveur oublié dans un placard numérique, c’est plutôt une béquille temporaire. Utile, certes. Magique, non. Voici ce qu’Ubuntu Pro apporte réellement, quand l’activer, comment vérifier l’état d’une machine, et surtout quand il vaut mieux prévoir une vraie mise à niveau. Ubuntu LTS, support standard, ESM : de quoi parle-t-on ? Ubuntu publie une version LTS tous les deux ans. Ces versions Long Term Support reçoivent 5 ans de maintenance de sécurité standard. Elles conviennent donc mieux aux serveurs, postes de travail stables, environnements de production et machines que l’on ne veut pas réinstaller tous les neuf mois. Après ces 5 ans, la version LTS sort du support standard. Elle ne disparaît pas soudainement dans une trappe façon vieux jeu DOS, mais elle ne reçoit plus les mêmes mises à jour de sécurité via le canal gratuit standard. C’est là qu’intervient Ubuntu Pro. Il donne accès à l’ESM, pour Expanded Security Maintenance. En clair : Canonical continue de fournir des correctifs de sécurité sur une période plus longue. Le cycle ressemble donc à ceci : années 1 à 5 : support standard Ubuntu LTS ; années 6 à 10 : maintenance étendue avec Ubuntu Pro et ESM ; années 11 à 15 : extension possible avec l’add-on Legacy, surtout pour les organisations qui ne peuvent pas migrer rapidement. Pour la plupart des utilisateurs, il faut surtout retenir ceci : Ubuntu Pro ne remplace pas une stratégie de migration. Il donne du temps. Et parfois, du temps, c’est précisément ce qui manque. Ubuntu Pro est-il gratuit ? Oui, dans certains cas. Canonical propose Ubuntu Pro gratuitement pour un usage personnel jusqu’à 5 machines. Cela peut inclure des postes de travail, des machines virtuelles ou des serveurs personnels. Les membres officiels de la communauté Ubuntu peuvent bénéficier d’une limite plus élevée. Pour les entreprises, les parcs importants, les besoins de conformité ou le support contractuel, Ubuntu Pro devient une offre commerciale. Le support téléphonique ou par ticket fait partie d’un niveau séparé, généralement nommé Ubuntu Pro + Support. Donc, pour un admin qui maintient quelques machines personnelles ou un petit serveur, l’offre gratuite est intéressante. Pour une infrastructure client ou une flotte de production, il faut regarder les conditions de licence et le niveau de support attendu. Ce qu’Ubuntu Pro ajoute vraiment Ubuntu Pro ne se limite pas à “garder Ubuntu plus longtemps”. Il ajoute plusieurs services autour de la sécurité et de la maintenance. ESM Infra esm-infra couvre les paquets du dépôt Main après la fin des 5 ans de maintenance standard. Ce sont les paquets centraux du système Ubuntu : base système, bibliothèques essentielles, composants serveur courants, outils fondamentaux. C’est... --- ### Tester la compatibilité WordPress avec PHP 8.4 et 8.5 - **URL**: https://www.skyminds.net/wordpress-compatibilite-php8/ Changer la version PHP d’un site WordPress peut améliorer les performances, renforcer la sécurité et prolonger la durée de vie technique du site. Mais cela peut aussi révéler un vieux plugin bancal, un thème oublié ou un snippet copié-collé en 2014. Bref, PHP ne casse pas toujours WordPress. Il révèle souvent ce qui était déjà fissuré. Voici une méthode propre pour tester la compatibilité d’un site WordPress avec PHP 8.4 ou PHP 8.5 avant de basculer la production. WordPress et PHP 8 : où en est-on ? WordPress recommande aujourd’hui PHP 8.3 ou supérieur pour de meilleures performances et une meilleure sécurité. WordPress peut encore fonctionner avec PHP 7.4, mais cette branche est officiellement en fin de vie. Elle ne doit plus servir de base sérieuse pour un site maintenu. La situation actuelle est simple : PHP 8.5 : excellent objectif pour un site WordPress très bien maintenu. PHP 8.4 : meilleur compromis pour la majorité des sites récents et propres. PHP 8.3 : base minimale recommandée aujourd’hui. PHP 8.2 et inférieur : à éviter pour une nouvelle migration. PHP 7.4 : branche en fin de vie, à sortir du parc dès que possible. Le point crucial : WordPress core n’est généralement pas le problème. Les blocages viennent presque toujours des plugins, thèmes, mu-plugins, snippets, intégrations WooCommerce ou vieux bouts de code maison. Pourquoi tester avant de changer PHP ? Un changement de version PHP peut transformer un simple avertissement en erreur fatale. Cela concerne notamment : les fonctions supprimées ou dépréciées ; les signatures de méthodes incompatibles ; les propriétés dynamiques en PHP 8.2+ ; les accès à des tableaux mal typés ; les conversions implicites plus strictes ; les vieux constructeurs PHP 4 ; les appels à des extensions PHP absentes ; les plugins qui chargent du code même lorsqu’ils sont désactivés ; les snippets stockés en base de données. Autrement dit, un simple php -v ne suffit pas. Il faut scanner le code, tester le site, puis lire les logs. Oui, c’est moins glamour qu’un bouton “upgrade”. Mais c’est aussi ce qui évite le fameux écran blanc un vendredi à 18h. La méthode sûre en 6 étapes Créer une sauvegarde complète des fichiers et de la base de données. Cloner le site sur un environnement de staging. Mettre WordPress, les plugins et le thème à jour. Scanner le code avec des outils de compatibilité PHP. Basculer le staging vers la nouvelle version PHP. Tester les parcours critiques avant de passer la production. Pour un site vitrine, testez au minimum l’accueil, les formulaires, la recherche, les pages importantes, les envois d’emails et l’éditeur WordPress. Pour une boutique WooCommerce, ajoutez le panier, la commande, les moyens de paiement, les emails transactionnels, les comptes clients, les remboursements, les coupons, les taxes, les webhooks et les exports. WooCommerce adore rappeler qu’un site e-commerce n’est pas “juste un WordPress avec deux plugins”. Étape 1 : connaître la version PHP actuelle Depuis WordPress, allez dans : Outils ; Santé du site ; Informations... --- ### PHP : installer Composer sous Ubuntu Server - **URL**: https://www.skyminds.net/php-installer-composer-ubuntu-server/ Voici comment installer Composer, le gestionnaire de dépendances PHP, sur Ubuntu Server. Composer simplifie énormément la gestion des bibliothèques PHP. Au lieu de télécharger manuellement des paquets, de gérer leurs dépendances, puis de vérifier leurs versions une par une, on décrit les besoins du projet dans un fichier composer.json, et Composer s’occupe du reste. Je l’utilise notamment pour auditer des sites hébergés sur un serveur, tester la compatibilité avec une version récente de PHP, installer des outils de développement, ou gérer les dépendances d’un plugin WordPress. On peut évidemment tout rapatrier en local, mais parfois, tester directement sur le serveur évite un aller-retour de fichiers parfaitement inutile. Composer peut s’installer localement dans un projet, ou globalement comme commande système. La documentation officielle présente ces deux approches : installation locale dans un projet, ou installation globale comme exécutable disponible partout. Installer les paquets prérequis On commence par mettre à jour la liste des paquets : sudo apt update Ensuite, on installe les dépendances utiles : sudo apt install curl unzip php-cli php-mbstring php-xml php-curl Le paquet php-cli permet d’exécuter PHP en ligne de commande. curl sert à télécharger l’installeur. unzip permet d’extraire certaines archives de paquets. Enfin, php-mbstring, php-xml et php-curl évitent pas mal d’avertissements selon les dépendances installées. On peut vérifier la version de PHP disponible en CLI : php -v Et vérifier les extensions chargées : php -m Télécharger l’installeur de Composer On télécharge l’installeur officiel depuis le site de Composer : php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" On peut aussi utiliser curl : curl -sS https://getcomposer.org/installer -o composer-setup.php Les deux méthodes fonctionnent. Si votre installation PHP a un problème de certificats SSL, curl peut parfois donner une erreur plus lisible. Charmant, mais utile. Vérifier la signature de l’installeur Avant d’exécuter l’installeur, il faut vérifier sa signature SHA-384. Le hash change régulièrement, donc récupérez toujours la valeur actuelle depuis la page officielle de téléchargement de Composer. La page officielle affiche les commandes de téléchargement, de vérification, d’exécution et de suppression de l’installeur. Voici la méthode automatisée : EXPECTED_SIGNATURE="$(curl -s https://composer.github.io/installer.sig)" ACTUAL_SIGNATURE="$(php -r "echo hash_file('sha384', 'composer-setup.php');")" if [ "$EXPECTED_SIGNATURE" != "$ACTUAL_SIGNATURE" ]; then echo "Installer corrupt" rm composer-setup.php exit 1 fi echo "Installer verified" Si la commande affiche Installer verified, on peut continuer. Si elle affiche Installer corrupt, on supprime le fichier et on recommence. Pas de bravoure inutile ici. Installer Composer globalement Pour installer Composer comme commande disponible partout sur le serveur, on l’installe dans /usr/local/bin : sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer Composer sera alors accessible avec la commande : composer On peut vérifier l’installation avec : composer --version Enfin, on supprime l’installeur : rm composer-setup.php La documentation officielle indique que l’installeur télécharge le dernier composer.phar, et que l’installation globale permet d’utiliser Composer comme exécutable système. Installation complète en une seule séquence Voici la séquence complète, pratique à garder sous le coude : sudo apt update sudo apt install curl unzip php-cli php-mbstring php-xml php-curl curl -sS https://getcomposer.org/installer -o composer-setup.php EXPECTED_SIGNATURE="$(curl -s https://composer.github.io/installer.sig)" ACTUAL_SIGNATURE="$(php -r "echo hash_file('sha384', 'composer-setup.php');")" if [ "$EXPECTED_SIGNATURE"... --- ### Régler le problème de surchauffe d’un MacBook - **URL**: https://www.skyminds.net/regler-le-probleme-de-surchauffe-dun-macbook/ Depuis la mise à jour vers MacOS Monterey, mon MacBook Pro est en surchauffe permanente, avec le ventilateur à fond même en simple surf. Si vous êtes confronté au même problème, voici comment j'ai réussi à retrouver un environnement de travail avec un volume de sonore acceptable (c'est-à-dire silencieux). Solution 1 : vérifier les options de la batterie C'est la solution qui a réglé mon problème mais j'ai mis du temps à la trouver car elle n'est indiquée nulle part sur le site du support technique d'Apple. Ouvrez Préférences Système et cliquez sur l'icône Batterie: Préférences Système ⟶ Batterie Dans Batterie ⟶ Batterie, vous devez activer l'option Mode Économie d'énergie: Dans l'onglet Batterie, activez l'option Mode économie d'énergie Ensuite, passez à l'onglet Adaptateur secteur et activez également l'option Mode économie d'énergie : Dans l'onglet Adapteur secteur, activez l'option Mode économie d'énergie Cela a définitivement résolu mon problème et mon MacBook est redevenu silencieux. Je peux également l'avoir sur les genoux sans me brûler, ce qui est un avantage certain pour un laptop. Solution 2 : réinitialiser le SMC Le System Management Controller (SMC) de votre Mac est responsable du contrôle de chaque partie de votre ordinateur, dont la gestion thermale ainsi que le fonctionnement du ventilateur. Le réinitialiser peut ainsi résoudre le problème de surchauffe de votre Mac. Lorsque vous remarquez que le ventilateur de votre MacBook Pro commence à travailler plus que d’habitude, peut-être bien après l’installation de la dernière mise à jour MacOS, ou pour d’autres raisons encore, alors vous aurez besoin de réinitialiser le SMC. Avant de réinitialiser le SMC, essayez d’effectuer les étapes suivantes : Éteignez votre Mac.Maintenez le bouton d’alimentation enfoncé pendant 10 secondes, puis relâchez-le.Patientez quelques secondes, puis appuyez sur le bouton d’alimentation pour allumer votre Mac. Si le problème persiste, procédez comme suit pour réinitialiser le SMC : Éteignez votre Mac.Maintenez toutes les touches suivantes enfoncées sur le clavier intégré. Il est possible que votre Mac s’allume.Contrôle sur le côté gauche du clavierOption (Alt) sur le côté gauche du clavierMaj sur le côté droit du clavierMaintenez ces trois touches enfoncées pendant 7 secondes, puis appuyez sur le bouton d’alimentation et maintenez-le également enfoncé. Si votre Mac est allumé, il s’éteindra lorsque vous maintiendrez ces touches enfoncées:Maintenez les trois touches et le bouton enfoncés pendant 7 secondes supplémentaires, puis relâchez-les.Patientez quelques secondes, puis appuyez sur le bouton d’alimentation pour allumer votre Mac. Conclusion J'ai tenté cette approche mais c'est véritablement la solution 1 qui m'a totalement dépanné. Il ne me semble pas que ces options dans les onglets batterie et adaptateur secteur étaient présentes dans les versions antérieures à MacOS Monterey. --- ### wp-cli : importer et exporter les utilisateurs WP - **URL**: https://www.skyminds.net/wp-cli-importer-et-exporter-les-utilisateurs-wp/ Voici une méthode simple pour exporter tous les utilisateurs d'une base de données WordPress, pour les réimporter sur un autre site, à l'aide de l'excellent wp-cli. Nous ferons référence à la base de données source en tant que source-db et à la base de données cible en tant que target-db et je supposerai que vous avez accès aux deux instances WordPress via wp-cli. Étape 1 : exporter les utilisateurs WordPress Cette étape fonctionnera avec la base de données source-db: wp db export --tables = $(wp db tables 'wp_*_users') users.sql notez l'astérisque dans le nom de la table - utilisez-le pour éviter de taper le nom exact de la table pour votre base de données WordPress spécifique notez le nom du fichier exporté, users.sql - cela permet d'identifier clairement le contenu de ce fichier. Étape 2 : exporter la méta utilisateur WordPress Cette étape fonctionnera avec la base source-db. Comme ci-dessus, notez le caractère générique et le nom de fichier: wp db export --tables = $(wp db tables 'wp_*_usermeta') usermeta.sql Étape 3 : sauvegarde facultative des utilisateurs et usermeta Cette étape fonctionnera avec la base target-db. Il s'agit d'une sauvegarde facultative des utilisateurs et des tables usermeta avant d'importer les nouvelles données: répétez l'étape 1 (mais en travaillant avec target-db) nommez le fichier backup-users.sql répétez l'étape 2 (mais en travaillant avec target-db) nommez le fichier backup-usermeta.sql Cela nous donne donc: wp db export --tables = $(wp db tables 'wp_*_users') backup-users.sql wp db export --tables = $(wp db tables 'wp_*_usermeta') backup-usermeta.sql Étape 4 : déplacez les fichiers exportés vers un emplacement accessible pour l'importation Si vous avez un accès graphique aux deux systèmes de fichiers, vous pouvez simplement copier/télécharger users.sql et usermeta.sql à partir de l'instance source et les coller dans l'instance cible. J'ai utilisé rsync pour copier d'un serveur distant vers un serveur de développement local. Je travaillais dans l'instance cible de WordPress via la ligne de commande: rsync -azP user@source:path/to/file/users.sql . rsync azP user@source:path/to/file/usermeta.sql . Notez le point (.) à la fin, cela signifie simplement que le chemin de destination est le répertoire courant. Vous pouvez indiquer le chemin relatif si nécessaire. Étape 5 : importer des utilisateurs WordPress Cette étape fonctionnera avec la base target-db : wp db import users.sql Étape 6 : importer la méta utilisateur WordPress Cette étape fonctionnera avec la base target-db : wp db import usermeta.sql Étape 7 : nettoyage Il s'agit d'une étape facultative pour supprimer les fichiers exportés, mais je vous le recommande vivement, surtout si vous avez les fichiers users.sql et usermeta.sql dans un dossier public: rm users.sql usermeta.sql rm backup-users.sql backup-usermeta.sql Répétez cette étape pour chaque instance WordPress. Conclusion L'utilisation de WP CLI en fait un processus très simple qui ne prend que quelques minutes. En plus de cela, cela évite d'utiliser un autre plugin pour effectuer une tâche simple. Si vous souhaitez obtenir de l'aide pour ce défi ou tout autre défi lié à WordPress, contactez-nous. --- ### WHM : obtenir l’accès root pour SSH - **URL**: https://www.skyminds.net/whm-acces-root-pour-ssh/ Je suis intervenu récemment sur un site qui tourne sur un serveur avec WHM (Cpanel) et j'ai eu besoin d'avoir un accès root en SSH. Mais problème: l'hébergeur n'autorise pas l'accès root. Il faut signer une décharge de manière manuscrite qui exempte l'hébergeur de toute faute en cas de souci et met fin au support technique... ce qui n'est certainement pas ce que l'on souhaite, ni ce que notre client désire! En cherchant un peu, j'ai trouvé un moyen très simple de circonvenir à ce problème. Vérification de l'accès SSH de notre utilisateur Connectez-vous à WHM. Ensuite, allez dans Account Functions → Manage Shell Access pour vérifier que la connexion SSH est bien activée pour notre utilisateur. Choisissez l'option Normal Shell : WHM: configurer l'accès ssh de l'utilisateur Ajouter l'utilisateur au Wheel Group Nous allons maintenant ajouter notre utilisateur au Wheel Group. C'est cette étape qui nous permettra d'obtenir l'accès root en SSH. Rendez-vous dans Security Center → Manage Wheel Group Users pour ajouter l'utilisateur au Wheel Group: WHM : ajouter l'utilisateur au Wheel Group Le Wheel Group détermine les utilisateurs qui ont la permission d'utiliser la commande su et donc d'obtenir les droits administrateurs. Connexion SSH : devenir root Vous pouvez maintenant lancer votre console SSH et vous connecter avec l'identifiant et mot de passe de votre utilisateur. Si vous étiez déjà connecté, quittez votre session et identifiez-vous à nouveau pour prendre en compte la nouvelle configuration. Pour devenir root , tapez la commande su - puis entrez le mot de passe root de WHM. Voilà, vous avez maintenant les mains libres et l'accès à tout le système. --- ### APT : the following packages have been kept back - **URL**: https://www.skyminds.net/apt-packages-have-been-kept-back/ Après la mise à jour d'Ubuntu Server sur le serveur, j'ai eu cette erreur récurrente après chaque mise à jour apt : The following packages have been kept back: mysql-client mysql-server Il m'était donc impossible de mettre à jour le serveur et client mysql , ce qui n'est évidemment pas idéal. Et si l'on essaie de les installer directement avec: apt install mysql-client mysql-server On obtient alors ce message: Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: mysql-common : Conflicts: mysql-client-8.0 but 8.0.29-0ubuntu0.22.04.2 is to be installed Conflicts: mysql-client-core-8.0 but 8.0.29-0ubuntu0.22.04.2 is to be installed mysql-server : Depends: mysql-server-8.0 but it is not installable E: Unable to correct problems, you have held broken packages. Réinstaller mysql-apt-config On commence donc par réinstaller le package mysql-apt-config : wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb Et on installe le paquet : dpkg -i mysql-apt-config_0.8.22-1_all.deb On relance donc la mise à jour : apt update && apt upgrade Les nouvelles versions des paquets peuvent désormais être installées : 9 packages can be upgraded. Run 'apt list --upgradable' to see them. W: http://repo.mysql.com/apt/ubuntu/dists/bionic/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details. Listing... Done libmysqlclient21/unknown 8.0.29-1ubuntu18.04 amd64 [upgradable from: 8.0.29-0ubuntu0.22.04.2] mysql-client/unknown 8.0.29-1ubuntu18.04 amd64 [upgradable from: 8.0.28-1ubuntu18.04] mysql-common/unknown 8.0.29-1ubuntu18.04 amd64 [upgradable from: 8.0.28-1ubuntu18.04] mysql-community-client-core/unknown 8.0.29-1ubuntu18.04 amd64 [upgradable from: 8.0.28-1ubuntu18.04] mysql-community-client-plugins/unknown 8.0.29-1ubuntu18.04 amd64 [upgradable from: 8.0.28-1ubuntu18.04] mysql-community-client/unknown 8.0.29-1ubuntu18.04 amd64 [upgradable from: 8.0.28-1ubuntu18.04] mysql-community-server-core/unknown 8.0.29-1ubuntu18.04 amd64 [upgradable from: 8.0.28-1ubuntu18.04] mysql-community-server/unknown 8.0.29-1ubuntu18.04 amd64 [upgradable from: 8.0.28-1ubuntu18.04] mysql-server/unknown 8.0.29-1ubuntu18.04 amd64 [upgradable from: 8.0.28-1ubuntu18.04] Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done The following packages were automatically installed and are no longer required: linux-headers-5.15.0-25 linux-headers-5.15.0-25-generic linux-image-5.15.0-25-generic linux-modules-5.15.0-25-generic linux-modules-extra-5.15.0-25-generic Use 'apt autoremove' to remove them. The following packages will be upgraded: libmysqlclient21 mysql-client mysql-common mysql-community-client mysql-community-client-core mysql-community-client-plugins mysql-community-server mysql-community-server-core mysql-server 9 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. J'ai également écrit un script bash qui automatise tout cela : Mettre à jour mysql-client-server-apt-config Résoudre le message "Key is stored in legacy trusted.gpg keyring" Dans le message précédent, nous pouvons trouvez ce message d'avertissement: W: http://repo.mysql.com/apt/ubuntu/dists/bionic/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details. Je l'ai résolu en déplaçant le fichier dans le répertoire trusted.gpg.d : mv trusted.gpg trusted.gpg.d/ Et voilà, plus d'erreur avec apt et notre système met bien tous ses paquets à jour. --- ### Bac : le dossier en spécialité LLCER Anglais - **URL**: https://www.skyminds.net/bac-dossier-specialite-llcer-anglais/ Lors des deux années de cycle terminal, les élèves suivant l’enseignement de spécialité LLCER sont amenés à constituer un dossier personnel, dans lequel ils présentent « des documents vus en classe et choisis par eux-mêmes en lien avec les thématiques du programme » (Bulletin officiel du 22 janvier 2019, annexes 1 et 2). Le dossier personnel de l'élève Ce dossier personnel est enrichi par l’élève lui-même, de manière autonome, en langue cible. Il s’inspire de ses cours, de ses sorties, de ses voyages, de ses lectures ou de tout autre élément qu’il choisit et juge pertinent dans la construction de son dossier. Le but du dossier personnel est que l’élève puisse construire par lui-même son propre patrimoine personnel, littéraire et culturel ; qu’il puisse développer son esprit critique et ses goûts esthétiques, tout en créant un lien avec les thèmes abordés en cours et les activités langagières auxquelles il aura été entraîné. Cette collecte active de souvenirs permet à l’élève d’opérer des choix pour s’approprier les enseignements et documents vus en cours et leur conférer un sens nouveau, plus personnel. La démarche du dossier l s’agit de faire en sorte que les élèves s’ouvrent à l’autre et au nouveau, qu’ils lisent en dehors de la classe, qu’ils aillent chercher par eux-mêmes le sens qu’ils souhaitent donner aux cours. Il est évident que cette démarche est fondamentalement non-prescriptive : on accepte tous les documents pertinents et les choix argumentés, que les sources proviennent d’une culture classique ou populaire. Il est néanmoins nécessaire d’accompagner et de guider les élèves dans leurs choix de lecture, de visionnage de films, ou d’écoute de chansons, de les inciter à se rendre à une exposition ou de suggérer des sites Internet pertinents. L’apprentissage de l’autonomie suppose un accompagnement réfléchi et personnalisé de l’enseignant. La démarche n’est également pas solitaire. C’est dans le partage et la collaboration entre pairs que la réflexion personnelle s’affine. Trouver et présenter ses documents pour le bac Le professeur prend soin d’intégrer didactiquement, dans le déroulé de la séquence, des moments où les élèves peuvent présenter à l’oral le fruit de leurs recherches. Le cours est le lieu de la mise en relation et de la problématisation des documents trouvés par les élèves avec les thématiques abordées lors de la séquence. Le travail de groupe est toujours un bon moyen pour favoriser l’entraide entre les apprenants et permettre l’échange d’informations et de connaissances culturelles. Le professeur n’hésite pas, s’il en a la possibilité, à aller avec la classe en espace langues ou à la médiathèque afin de faire des recherches sur les thèmes abordés. Les élèves peuvent trouver des documents en cherchant sur Internet grâce à des mots-clés, les noms des artistes et/ou des auteurs étudiés en classe, ou en accomplissant une Webquest. La fréquentation régulière de sites d’informations anglophones sera conseillée (les sites de la BBC, du Guardian, du New York Times, du parmi tant d’autres) mais également les visites virtuelles de musées, le visionnage de vidéos éducatives (par exemple pour... --- ### Réparer Subversion sur macOS quand svn ne répond plus - **URL**: https://www.skyminds.net/macos-subversion-svn-ne-repond-plus/ Après une mise à jour de macOS, il arrive que svn ne réponde plus, affiche une erreur étrange, ou semble bloqué sans rien faire. C’est pénible, surtout si vous utilisez Subversion pour publier un plugin sur WordPress.org ou maintenir un vieux dépôt client. Le problème vient rarement de votre dépôt SVN lui-même. Sur macOS, il vient souvent d’un binaire svn absent, d’un ancien stub Apple dans /usr/bin, de Command Line Tools Xcode cassés, d’un mauvais PATH, ou d’une installation Homebrew incomplète. Dans ce guide, nous allons diagnostiquer et réparer Subversion sur macOS proprement : vérifier quel svn est lancé, réinstaller SVN avec Homebrew, corriger le PATH, réparer les Command Line Tools, puis tester un dépôt WordPress.org. Symptômes fréquents Le souci peut prendre plusieurs formes : svn: command not found xcrun: error: invalid active developer path svn: error: The subversion command line tools are no longer provided by Xcode svn: E170013: Unable to connect to a repository at URL svn: E230001: Server SSL certificate verification failed Ou plus simplement, la commande semble ne rien faire : svn stat Et le terminal reste silencieux. Ce silence peut être normal si aucun fichier n’a changé. Toutefois, si svn --version bloque ou échoue, le problème est bien local. Étape 1 : vérifier quel svn macOS utilise Commencez par identifier le binaire appelé par votre shell : command -v svn type -a svn svn --version Sur Apple Silicon avec Homebrew, vous voulez généralement voir : /opt/homebrew/bin/svn Sur Mac Intel avec Homebrew, vous verrez plutôt : /usr/local/bin/svn Si /usr/bin/svn apparaît en premier, macOS appelle probablement le binaire ou le stub Apple. Ce n’est pas forcément celui que vous voulez. La correction passe souvent par Homebrew et par l’ordre du PATH. Étape 2 : installer ou réinstaller Subversion avec Homebrew Si Homebrew est installé, commencez par le mettre à jour : brew update Installez Subversion : brew install subversion Si Subversion est déjà installé mais ne fonctionne plus correctement : brew reinstall subversion En cas de souci avec les dépendances, notamment après une mise à jour majeure de macOS, relancez aussi : brew reinstall apr brew reinstall apr-util brew reinstall serf brew reinstall subversion Homebrew fournit une formule subversion, aussi connue sous le nom svn. La formule dépend notamment de apache-serf, apr et apr-util, donc une dépendance cassée peut suffire à faire tousser SVN. :contentReference[oaicite:1]{index=1} Étape 3 : corriger le PATH sur macOS Une installation Homebrew correcte ne suffit pas si votre shell appelle encore /usr/bin/svn avant le binaire Homebrew. Affichez votre PATH : echo "$PATH" Sur Apple Silicon, ajoutez Homebrew dans ~/.zprofile : echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)" Sur Mac Intel : echo 'eval "$(/usr/local/bin/brew shellenv)"' >> ~/.zprofile eval "$(/usr/local/bin/brew shellenv)" Ensuite, vérifiez à nouveau : type -a svn svn --version Le binaire Homebrew doit apparaître avant /usr/bin/svn. Sinon, votre terminal continuera d’appeler le mauvais programme avec une obstination très macOS. Étape 4 : réparer les Command Line Tools Xcode Certains messages d’erreur viennent des Command Line Tools de Xcode, surtout après... --- ### Serveur: migration d’Ubuntu 20.04 à 22.04 LTS - **URL**: https://www.skyminds.net/serveur-upgrade-ubuntu-22-04-lts/ Aujourd'hui, nous mettons le serveur à jour et passons d'Ubuntu Server 20.04 (Focal Fossa) à la version 22.04 LTS (Jammy Jellyfish). Chaque nouvelle mise à jour d'Ubuntu en version LTS (Long Time Support) permet de bénéficier des mises à jour de sécurité et de maintenance pendant 5 ans, c’est-à-dire jusqu'en 2027 pour la version Jammy Jellyfish. Lecture des changements apportés Je vous conseille fortement de lire le changelog de la version 22.04 pour avoir un aperçu des changements apportés au niveau du kernel, openSSL, certains services. Sont maintenant disponibles: Apache 2.4.52 BIND 9.18 Linux kernel v5.15.0-25 MySQL 8.0.28 NetworkManager 1.36 nftables est le backend par défaut pour le parefeu Perl v5.34.0 PHP 8.1.2 PostgreSQL 14.2 Python 3.10.4 Ruby 3.0 ssh-rsa est maintenant désactivé par défaut dans OpenSSH. Cela donne aussi une idée des potentielles complications qui pourraient subvenir à la suite de la mise à jour, ainsi que leur remédiation. Sauvegarde des données du serveur Je ne vous apprends rien : il va falloir sauvegarder les données importantes du serveur avant de commencer la mise à jour de l'OS. Pensez-donc au dossier /home et /var/www mais aussi aux fichiers de configuration dans /etc et /root. Vérification des prérequis Vérification de la version actuelle On vérifie notre noyau actuel: uname -mrs > Linux 5.4.0-109-generic x86_64 On vérifie notre version actuelle: lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.4 LTS Release: 20.04 Codename: focal Mise à jour des paquets de la version actuelle On met à jour la version actuelle avec les derniers paquets et les derniers noyaux: apt update && apt upgrade Redémarrage du serveur On redémarre le serveur pour appliquer les changements et partir sur une base propre: shutdown -r now Ouverture du port 1022 pour SSH Nous allons procéder à la mise à jour d'Ubuntu Server depuis une connexion SSH, qui pourrait être cassée pendant le temps de la mise à jour: timeout réseau, rupture de la connexion, reboot de la box internet... tout peut arriver. Nous allons donc ouvrir le port 1022 pour SSH pour pouvoir créer une connexion de secours en cas de soucis: ufw allow 1022/tcp comment 'Open port ssh tcp port 1022 as failsafe option for upgrades' Cela nous donne: Rule added Rule added (v6) Et on vérifie que la règle est bien présente avec: ufw status Lancement de la mise à jour vers Ubuntu Server 22.04 Tout est bon, nous procédons maintenant à l'installation avec: do-release-upgrade -d Nous sommes dans une session SSH donc nous obtenons ce message d'avertissement: Reading cache Checking package manager Continue running under SSH? This session appears to be running under ssh. It is not recommended to perform a upgrade over ssh currently because in case of failure it is harder to recover. If you continue, an additional ssh daemon will be started at port '1022'. Do you want to continue? Continue [yN] y Validez avec y. Vient ensuite le message qui informe de l'ouverture du port 1022 pour SSH: Starting additional sshd To make... --- ### Oral LLCER anglais au bac : réussir l’épreuve de spécialité - **URL**: https://www.skyminds.net/bac-epreuve-orale-de-specialite-llcer-anglais/ L’oral de spécialité LLCER anglais au bac repose sur un exercice simple en apparence : présenter un dossier personnel, expliquer sa logique interne, puis échanger avec l’examinateur. En réalité, l’épreuve ne récompense pas les élèves qui récitent un catalogue de documents. Elle valorise ceux qui savent construire une réflexion claire, personnelle et organisée. Le dossier sert donc de point d’appui. Il n’est pas noté pour lui-même. En revanche, il révèle votre capacité à choisir des documents pertinents, à les relier entre eux et à défendre une problématique en anglais. Autrement dit : le portfolio est votre rampe de lancement. L’oral, lui, reste le vrai décollage. Nature de l’épreuve orale de spécialité LLCER anglais L’épreuve orale de spécialité LLCER anglais dure 20 minutes. Il n’y a pas de temps de préparation le jour de l’épreuve. Le candidat remet un exemplaire de son dossier à l’examinateur au début de sa prise de parole, puis conserve un autre exemplaire qu’il peut utiliser pendant l’épreuve. L’oral se divise en deux moments : 10 minutes maximum d’expression orale en continu : le candidat présente son dossier, justifie ses choix et explique sa logique interne ; 10 minutes maximum d’expression orale en interaction : l’examinateur pose des questions et pousse le candidat à approfondir, préciser ou nuancer son propos. Le niveau attendu est B2/C1. Pour la spécialité LLCER anglais, monde contemporain, le niveau attendu est C1. ÉlémentCe qu’il faut retenirDurée20 minutesPréparationAucune préparation le jour de l’épreuveSupportDossier personnel visé par le professeur de terminalePremière partiePrésentation du dossier pendant 10 minutes maximumDeuxième partieInteraction avec l’examinateur pendant 10 minutes maximumLangueAnglaisNiveau attenduB2/C1, ou C1 pour anglais monde contemporain Le dossier personnel : à quoi sert-il vraiment ? Le dossier personnel n’est pas une simple pochette de documents. Il doit montrer un cheminement. Le candidat sélectionne des documents étudiés ou non en classe, puis les organise autour d’un fil conducteur personnel. Ce fil conducteur peut prendre la forme d’une problématique, d’un thème, d’une tension ou d’une question culturelle. Le bon réflexe consiste donc à éviter la présentation linéaire du type : “First, I chose this document. Then, I chose this one. Finally, I chose this picture.” Cette approche fonctionne mal, car elle empile les documents sans les faire dialoguer. À la place, il faut montrer pourquoi les documents se répondent. Un texte littéraire peut éclairer une œuvre visuelle. Un article de presse peut actualiser une question ancienne. Une œuvre intégrale peut donner de la profondeur historique ou symbolique au dossier. Voilà le cœur de l’épreuve. Composition du dossier en LLCER anglais Pour la spécialité LLCER anglais, le dossier comprend quatre à six documents textuels et/ou iconographiques. Ces documents peuvent avoir été étudiés en classe ou choisis par le candidat, à condition de rester liés à une ou plusieurs thématiques du programme du cycle terminal. Pour la spécialité LLCER autre qu’anglais monde contemporain, le dossier doit comprendre : au moins une des œuvres intégrales étudiées au cours du cycle terminal, représentée par un extrait ou une illustration ; au moins un texte... --- ### Le Hackathon du CloudFest 2022 - **URL**: https://www.skyminds.net/hackathon-cloudfest-2022/ Cette année, j'ai eu la chance et le grand honneur d'être invité au CloudFest 2022 pour le hackathon: 3 jours de code sur un projet web en mode open-source pour faire avancer les choses. Le Cloudfest Le Cloudfest est une convention de développeurs et d'acteurs du web qui peuvent être extrêmement variés: cela va des hébergeurs web aux plateformes comme Codeable mais aussi avec de gros acteurs comme Airbus, Intel, Automattic, HP, Cpanel, Plesk... Les conférences sont très variées: intelligence artificielle, business... et il est très facile de rencontrer des gens très connus sur le web pour se faire un réseau. Le Cloudfest se tient à Rust, en Allemagne, à l'Europa Park. Le Hackathon Cette année le hackathon proposait plusieurs projets mais j'ai opté pour travailler sur wp-cli pour ajouter une nouvelle commande qui permettre de sécuriser 80% des attaques contre les instances WordPress, en appliquant simplement les meilleures pratiques de sécurité courantes. Les devs du Hackathon 2022 Concrètement, nous avons identifié les problèmes de sécurité courants et nous avons développé une extension de l'interface de ligne de commande WordPress (wp-cli) pour offrir une alternative sécurisée et facile à utiliser aux plugins de sécurité WordPress généralement non sécurisés. Avec la simple commande wp secure all, les meilleures pratiques courantes sont appliquées automatiquement à votre instance WordPress, et en moins de 60 secondes, vous attenuez la grande majorité des vecteurs d'attaque WordPress actuels : permissions de fichiers et de dossiers, entêtes de sécurité, bloquer l'accès aux fichiers sensibles... Voici la photo de notre équipe : Our team during Cloudfest 2022 Hackathon Le résultat de notre travail sera bientôt intégré à wp-cli de manière officielle, dans les semaines qui viennent, après le code review. Ce sera donc disponible pour plus de 42% du web (wooohoo!). Nous avons même eu le temps de créer un site web, Hack the WP, pour documenter et garder une trace de ce que nous avons accompli pendant le hackathon. Voyage et hôtel Pour la petite histoire, j'ai fait Nantes - Bâle en avion puis ai pris le train vers Fribourg puis un second train jusqu'à Ringsheim. J'ai éte invité à l'hôtel Colosseo de l'Europa Park : c'est un hôtel où tout est en italien, comme si on repartait au temps des romains. Lorsque j'ai fait ma réservation, ils m'ont envoyé cette vidéo que je trouve tout bonnement excellente: Une excellente idée marketing pour susciter l'engouement des clients ! Remerciements Merci à toute l'équipe : Andreas Biberacher, Benjamin Burkhardt, Igor Hrček, Aleksandar Savkovic, Lucio Sa, Jan-Willem Oostendrop, Dwayne Sharp, Thomas Stauer, Zvonimir Artic. Merci à Carole Olinger et Jeffrey J. Hardy pour toute l'organisation et l'animation du hackathon, c'était vraiment génial. Merci à Cécile d'avoir gardé les enfants :) Merci enfin à Codeable et Cloudways : Mike, Joseph, Lucio, Jan-Willem, Marcel, Robert... pour les soirées inoubliables au water-park et en réalité virtuelle. Hâte de pouvoir y retourner l'année prochaine! --- ### Retrouver son NAS Synology sur le réseau local - **URL**: https://www.skyminds.net/retrouver-son-nas-synology-sur-le-reseau-local/ Aujourd'hui, j'ai rebranché mon vieux Synology DS212, pour récupérer des fichiers dont les liens avaient expirés sur Internet et que je voulais remettre en ligne sur mon article Sons of Anarchy Wallpapers. Le DS212 a été configuré du temps de la Freebox Révolution, qui gère les adresses IP locales depuis 192.168.0.x. Le problème est qu'aujourd'hui, avec la Freebox Pop, les adresses sont en 192.168.1.x. Résultat: le DS212 est inaccessible car son DHCP a été configuré manuellement: il possède l'IP 192.168.0.12 alors que sur le réseau, ce devrait être 192.168.1.12. Impossible de le joindre donc. Voici comment retrouver son NAS Synology sur le réseau local et changer son IP dans le DHCP de DSM, sans y avoir accès. Trouver son Synology Vous pouvez facilement trouver vos Synology depuis votre navigateur à l'adresse find.synology.com Trouver son NAS Synology avec l'assistant web Si l'IP du DHCP du NAS avait été correcte, j'aurais pu me connecter sans problème avec le bouton Connecter, mais ce n'est pas le cas. Utiliser Synology Assistant pour changer les paramètres réseau du Synology La solution est toute simple: nous devons utiliser l'utilitaire Synology Assistant, à installer sur votre machine, pour éditer la configuration réseau du Synology et lui assigner la bonne adresse IP. 1. Téléchargez Synology Assistant et lancez-le. 2. Synology Assistant trouve tous vos Synology présents sur le réseau local. 3. Clic droit > Éditer sur le NAS qui pose problème 4. Une fenêtre s'ouvre et vous demande de vous connecter avec vos identifiants administrateur DSM pour ce NAS. 5. Une fois identifié, vous n'avez plus qu'à changer l'adresse IP du NAS dans DHCP. L'assistant change alors la configuration du DSM. Et voilà! C'est tout, double-cliquez maintenant sur la ligne du NAS concerné et l'assistant vous envoie directement sur son DSM pour que vous puissiez le gérer: Synology Assistant Conclusion Nous venons donc de retrouver l'accès à notre Synology alors que sa configuration réseau ne le permettait pas, sans aucun accès à DSM depuis le navigateur. Synology Assistant est votre dernier recours dans ce cas, très utile dans cette situation. Le Synology est retrouvé en quelques secondes et vous permet de reprendre la main facilement. --- ### Éducation Nationale : le NUMEN en détail - **URL**: https://www.skyminds.net/education-nationale-numen/ Le NUMEN (NUMéro d'identification Éducation Nationale) est un identifiant associé à tout employé de la fonction publique dépendant du Ministère de l'Éducation nationale française (enseignants, inspecteurs, administration, services, etc.). Le NUMEN a été créé durant le mandat de René Monory en tant que Ministre de l'Éducation Nationale (1986 – 1988). Il a été utilisé comme identifiant principal dans les fichiers de gestion interne en 1992, à la suite de l'action entreprise par la CNIL pour dissuader les administrations de recourir au NIR ou convaincre celles qui l'utilisaient sans y être autorisées de se doter d'un numéro spécifique. Obtenir son NUMEN Si vous ne connaissez pas votre Numen, adressez-vous au secrétariat de votre établissement, ou à votre service gestionnaire, seuls habilités à vous le transmettre.[ Structure du NUMEN Chaque NUMEN se compose de 13 caractères, toujours en majuscules, qui ont tous une signification. Voici le NUMEN fictif que nous allons utiliser et découper en quatre blocs distincts : « 17 E 05 01234ABC ». « 17 » : les deux premiers caractères représentent un code géographique caractérisant l'académie d'immatriculation : la numérotation va de 01 à 33 - mais notez le 26 et 33 n'existent plus, à la suite de plusieurs modifications. 01 Paris02 Aix-Marseille03 Besançon04 Bordeaux05 Caen06 Clermont-Ferrand07 Dijon08 Grenoble09 Lille10 Lyon11 Montpellier12 Nancy-Metz13 Poitiers14 Rennes15 Strasbourg16 Toulouse17 Nantes18 Orléans-Tours19 Reims20 Amiens21 Rouen22 Limoges23 Nice24 Créteil25 Versailles27 Corse28 Réunion29 Détachés (TOM)31 Martinique32 Guadeloupe33 Guyane43 MayotteListe des codes des académies 2. « E » : une lettre caractérisant le système d'information: G pour le premier degré, E pour le second degré public (collège, lycée, enseignant(e), AESH…) P pour le second degré privé, A pour les agents administratifs, gestion par Agora B pour les bibliothécaires S pour les universitaires N : gestion par SIRHEN I : gestion par Imag’in K : KHEOPS T : ITRF 3. « 05 » : année du 1er recrutement, sur les deux derniers chiffres (ici 2005 donc). Tous les personnels recrutés avant 1992 ont obligatoirement 92 comme année de recrutement (le NUMEN date de 1992). 4. « 01234ABC » : suite alphanumérique aléatoire de 8 caractères, dont cinq chiffres et trois lettres, attribué à l'agent au sein de son système de gestion initial, pour générer un code-identifiant unique et individuel à chaque personnel. Un numéro personnel et confidentiel Attention: vous gardez toujours le même NUMEN même si vous avez déjà été fonctionnaire d’état (AED…) dans un autre département ou une autre académie. Il s’agit d’un numéro considéré comme confidentiel : il ne doit jamais apparaître dans vos courriers-courriels y compris avec les autorités administratives comme l’IEN, la DSDEN, le Rectorat ou votre service gestionnaire. --- ### CSS : des notes de bas de page sous forme de popup - **URL**: https://www.skyminds.net/css-footnotes-popup/ Lorsque nous écrivons de longs articles, nous avons souvent besoin d'ajouter des notes de bas de pages - footnotes en anglais - pour donner une référence ou apporter un complément d'informations. Il existe un moyen d'ajouter une note de bas de page en CSS, avec un effet popup. Survolez le numéro qui s'affiche ici à pour voir la démo: ¹Voici un example de note de bas de page qui apparaît dans une popup, grâce à CSS :) Une popup CSS pour vos notes de bas de page Code HTML Commençons par le code HTML. Nous avons besoin principalement d'un lien HTML et d'une balise span qui contiendra le contenu de notre footnote : Voici un premier paragraphe avec une note de bas de page. ¹Coucou, je suis la note de bas de page numéro 1 Voici un deuxième paragraphe avec une note de bas de page. ¹Coucou, je suis la note de bas de page numéro 2 :) Code CSS Et voici notre code CSS pour créer la popup et afficher le contenu de nos notes de bas de page à l'intérieur, au survol de la souris: a.footnote { text-decoration:none; background-color: #FEF6BB; padding-left: 2px; padding-right: 2px; margin-right: 2px; transition: all 2s ease; } a.footnote span { z-index: -1; opacity: 0; position: fixed; left: 15px; bottom: 20px; margin-left: 0px; margin-right: 18px; padding:14px 20px; border-radius:4px; box-shadow: 5px 5px 8px #CCC; border:1px solid #DCA; background-color: #FEF6BB; transition: all 2s ease; } a.footnote:hover span { z-index: 9; opacity: 1; transition: all 2s ease; } Dès que la souris n'est plus au-dessus du numéro de la note de bas de page, cette dernière disparaît avec un effet de fondu. Résultat Voilà ce que le code nous donne: Voici un premier paragraphe avec une note de bas de page. ¹Coucou, je suis la note de bas de page numéro 1 Voici un deuxième paragraphe avec une note de bas de page. ²Hello World, je suis la note de bas de page numéro 2 :) Matt Et voilà, c'est très simple, en CSS pur mais c'est efficace et ne prend pas de ressources externes (pas de JS) - cela peut toujours servir! --- ### Créer et soutenir la motivation des élèves du cycle central en classe d’Anglais - **URL**: https://www.skyminds.net/creer-soutenir-motivation-des-eleves/ Voici mon mémoire professionnel accompli à l'IUFM des Pays de la Loire. La problématique soulevée - comment créer et soutenir la motivation des élèves du cycle central en classe d'Anglais - découle d'une situation de classe que j'ai connue dès mes débuts en PLC2. There are three things to remember about education.The first one is motivation. The second one is motivation. The third one is motivation.Terrell H. Bell Il n'existe pas de langue où rien ne soit motivé.Ferdinand de Saussure Introduction Une classe est une entité. Chaque fois que l'enseignant se trouve face à elle, il sait que le défi sera de susciter chez ses élèves le désir d'acquérir des savoirs et des savoir-faire et, surtout en classe de langues, d'avoir envie de comprendre, de s'exprimer, de réussir et d'être libre d'agir par eux-mêmes. Or toute "aide technique serait inopérante si le professeur n'avait constamment le souci de susciter chez les élèves l'envie, le désir de parler" [Instruction Officielles de 2001, p.57]. Donc, sous-jacents à ces paramètres, entre en jeu l'autonomie de l'élève car celui-ci a un rôle déterminant à jouer dans son apprentissage. Quelque soit le contexte, citadin ou rural, l'enseignant des classes du cycle central se trouve de plus en plus confronté à un public multiculturel riche dans sa diversité, certes, mais qui, en tant que génération 'zapping', pose des problèmes d'assiduité, de concentration, de désintérêt, d'instabilité. Nous interpellant à plus d'un titre, ce phénomène nous amène à nous pencher sur le concept de la motivation et de son soutien en classe. A cet effet, la classe de quatrième angliciste qui m'a été confiée au collège répond à cette problématique à divers niveaux : psychologique, sociologique et pédagogique. En effet, quel constat pouvons-nous dresser pendant les cours d'anglais ? Qui se cache donc derrière les élèves que nous accueillons ? Quels leviers suffisamment puissants pourraient agir sur la volonté, l'intérêt et l'enthousiasme des élèves, en d'autres termes comment susciter et maintenir la leur motivation ? Comment les étonner pour faire naître une curiosité, moteur indispensable à l'autonomie et les mener sur les chemins de la réussite dans le respect d'eux-mêmes et d'autrui ? La motivation ne consiste-t-elle pas à inscrire l'élève dans une dynamique de projet utile et de résolution de défis ? C'est au fil de nos réflexions et de nos lectures sur le sujet que nous essaierons de tracer un bilan des mises en œuvre qui confirmeront ou non nos hypothèses de départ et d'envisager d'autres pistes à explorer peut-être mieux adaptées au monde dans lequel ces jeunes vivent, plus ajustées à leur vécu quotidien et qui favoriseraient une appétence, une appropriation active des apprentissages, un plaisir à participer et à s'exprimer, en un mot un mieux-être au sein de la microsociété qu'est une classe. I. Le contexte : des adolescents démotivés 1. Le collège et la classe de quatrième Situé en Vendée, le collège public accueille chaque année entre 580 et 600 élèves de la sixième à la troisième. Le projet d'établissement 2003-2006 fait état... --- ### WordPress : rediriger la page d’attachement vers l’article parent - **URL**: https://www.skyminds.net/wordpress-rediriger-attachements-article-parent/ WordPress publie par défaut une page d'attachement pour chaque fichier média que vous publiez sur votre site. En règle générale, un fichier média (image, vidéo, autre) appartient à un article: on attache souvent ce type de fichier lors de la rédaction des articles, pour les insérer dans le corps des billets. Le problème est donc que WordPress crée gentiment une page dédiée à chaque média publié. Cette page ne contient aucun contenu, à part afficher le média en question, ce qui n'est pas vraiment idéal au point de vue SEO puisque l'on se retrouve avec énormément de pages mais qui ne seront jamais indexées au vu du contenu inexistant. S'il est donc superflu d'avoir ces pages, autant s'en séparer! C'est là que nous allons tenter d'être malin : pourquoi ne pas rediriger ces pages d'attachement vers l'article auquel ces fichiers media appartiennent? Jusqu'à très récemment, j'utilisais le module Origin de The SEO Framework, qui fonctionne très bien si le média a été uploadé sur un article. La page d'attachement est alors automatiquement redirigée vers l'article. Le hic, c'est que si le fichier média a été uploadé directement depuis la page WP Admin > Média, alors nous sommes redirigé vers /wp-admin, ce qui ne fait aucun sens. Voici donc la solution que j'utilise sur le site: --- ### Installer LineageOS (Android 11) sur le OnePlus One - **URL**: https://www.skyminds.net/installer-lineageos-android-11-oneplus-one/ Aujourd’hui, j’ai installé LineageOS (Android 11) sur mon OnePlus One, histoire de lui redonner un second souffle et de bénéficier des dernières mises à jour de sécurité Android. Le OnePlus One (OPO) est sorti en mai 2014, il a donc quelques années derrière lui et tourne sous CyanogenMod 13, c’est-à-dire Android 6.0.1 (Marshmallow). Autant dire qu’il n’a pas vu de correctifs de sécurité depuis quelques années! Si votre téléphone possède déjà LineageOS, vous pouvez vous rendre directement à l'étape 5. Étape 1: activer le mode développeur Sur le téléphone, on commence par activer le mode développeur: Ouvrez Paramètres > A propos du téléphone.Tapez 7 fois sur le numéro de build.Vous venez d’activer le mode développeur! Grâce au mode développeur, vous avez maintenant accès à des options qui n’étaient pas visibles auparavant et qui vont nous être nécessaires. Étape 2 : activer le mode déboggage USB Pour activer le débogage USB: Ouvrez Paramètres > Système > Options pour les développeursActivez l’option Débogage Android Étape 3 : installation d’ADB Android Debug Bridge (adb) est un outil de développement qui facilite la communication entre un appareil Android et un ordinateur. Cette communication s’effectue soit par câble USB, soit en WiFi. Branchez votre OnePlus One en USB. Téléchargez les derniers pilotes ADB issus du SDK Android puis décompressez l’archive. Ouvrez le terminal, rendez-vous dans le répertoire platform-tools et listez ensuite votre téléphone avec cette commande: ./adb devices Résultat: List of devices attached b4be4c53 device Notre OnePlus One est bien détecté. On reboot en mode fastboot: ./adb reboot bootloader On liste les appareils détectés par fastboot: ./fastboot devices Résultat: b4be4c53 fastboot Attention, la commande suivante va effacer vos données donc pensez à sauvegarder les données importantes de votre téléphone avant! On déverrouille le bootloader avec: ./fastboot oem unlock OKAY [ 0.168s] Finished. Total time: 0.168s Étape 4 : installation de TWRP (custom recovery) Téléchargez TWRP pour OnePlus One (bacon) puis placez le fichier dans le dossier platform-tools, c’est plus commode. Et on flashe TWRP: ./fastboot flash recovery twrp-3.2.3-20190125-bacon.img Sending 'recovery' (12068 KB) OKAY [ 0.382s] Writing 'recovery' OKAY [ 0.224s] Finished. Total time: 0.643s Et nous pouvons maintenant rebooter dans le recovery pour vérifier l'installation. Éteignez le téléphone complètement. Appuyez sur Volume Down + Power pour démarrer dans TWRP. Étape 5 : ajout des fichiers avec Android Transfer On télécharge: la dernière version de LineageOS pour baconla dernière version des OpenGApps: en version arm Je prends généralement la version pico ou nano, qui sont amplement suffisantes. Si vous ne parvenez pas à installer les Gapps nano, c'est que le paquet est devenu trop gros pour pouvoir être installé sur la partition /system, qui ne fait que 2GB. C'était mon cas pour Android 11 donc j'ai pris la version pico, qui est trois fois moins importante et s'installe sans souci. Pour transférer les fichiers sur le téléphone, je vous recommande Android File Transfer: dans le Finder, il vous suffit de glisser-déposer les fichiers à la racine du téléphone. Vous pouvez même le faire en temps réel,... --- ### JavaScript : cocher et décocher toutes les cases à cocher - **URL**: https://www.skyminds.net/javascript-selectionner-les-cases-a-cocher/ Il arrive souvent de devoir cocher ou décocher toutes les cases d’un formulaire : sélection d’articles, tableau d’administration, liste d’utilisateurs, options en masse, filtres ou actions groupées. La bonne nouvelle, c’est qu’il n’y a pas besoin de jQuery pour ça. Un peu de JavaScript vanilla suffit largement. Et en bonus, le code sera plus léger, plus clair et plus facile à réutiliser. Voici plusieurs méthodes modernes pour sélectionner, désélectionner ou inverser toutes les cases à cocher d’un formulaire. Cocher toutes les cases à cocher en JavaScript La version la plus simple consiste à sélectionner toutes les checkboxes, puis à définir leur propriété checked sur true. const checkboxes = document.querySelectorAll('input[type="checkbox"]'); checkboxes.forEach((checkbox) => { checkbox.checked = true; }); Ce code coche toutes les cases présentes dans la page. C’est pratique dans la console du navigateur, mais souvent trop large dans une vraie interface. Dans un formulaire réel, il vaut mieux cibler un conteneur précis. Décocher toutes les cases à cocher Pour décocher toutes les cases, on applique le même principe avec false. const checkboxes = document.querySelectorAll('input[type="checkbox"]'); checkboxes.forEach((checkbox) => { checkbox.checked = false; }); C’est tout. La propriété checked représente l’état coché ou non coché d’une checkbox. Cibler uniquement un groupe de cases Dans l’article original, les cases portaient toutes le nom post[]. On peut garder cette logique, mais avec une syntaxe plus moderne. const checkboxes = document.querySelectorAll('input[name="post[]"][type="checkbox"]'); checkboxes.forEach((checkbox) => { checkbox.checked = true; }); Cette version ne touche qu’aux cases dont le nom est post[]. Elle évite de cocher accidentellement d’autres options du formulaire. Ajouter des boutons “Tout sélectionner” et “Tout décocher” Voici un exemple complet avec deux boutons et une liste de checkboxes. Tout sélectionner Tout décocher Article 101 Article 102 Article 103 Et le JavaScript associé : const form = document.querySelector('#bulk-actions-form'); if (form) { const checkboxes = form.querySelectorAll('input[name="post[]"][type="checkbox"]'); const selectAllButton = form.querySelector('[data-action="select-all"]'); const deselectAllButton = form.querySelector('[data-action="deselect-all"]'); selectAllButton?.addEventListener('click', () => { checkboxes.forEach((checkbox) => { checkbox.checked = true; }); }); deselectAllButton?.addEventListener('click', () => { checkboxes.forEach((checkbox) => { checkbox.checked = false; }); }); } Cette version évite le vieux onclick dans le HTML. Le comportement reste dans le JavaScript, et le balisage reste propre. Créer une fonction réutilisable Si vous devez réutiliser cette logique à plusieurs endroits, créez une fonction dédiée. function setCheckboxesState(container, selector, checked) { const checkboxes = container.querySelectorAll(selector); checkboxes.forEach((checkbox) => { checkbox.checked = checked; }); } const form = document.querySelector('#bulk-actions-form'); if (form) { form.querySelector('[data-action="select-all"]')?.addEventListener('click', () => { setCheckboxesState(form, 'input[name="post[]"][type="checkbox"]', true); }); form.querySelector('[data-action="deselect-all"]')?.addEventListener('click', () => { setCheckboxesState(form, 'input[name="post[]"][type="checkbox"]', false); }); } L’avantage : la fonction ne dépend pas d’un formulaire précis. Vous pouvez lui passer un autre conteneur, un autre sélecteur et l’état souhaité. Inverser la sélection des cases à cocher Parfois, on ne veut pas tout cocher ou tout décocher. On veut inverser l’état actuel : les cases cochées deviennent décochées, et les cases décochées deviennent cochées. const checkboxes = document.querySelectorAll('input[name="post[]"][type="checkbox"]'); checkboxes.forEach((checkbox) => { checkbox.checked = !checkbox.checked; }); Cette variante est pratique pour les tableaux d’administration ou les interfaces de modération. Utiliser une case “Tout sélectionner” Une autre approche consiste à... --- ### Installer Composer et PHP sur macOS avec Homebrew - **URL**: https://www.skyminds.net/installer-composer-php-macos-homebrew/ Après une mise à jour de macOS, il arrive que Composer, PHP ou Homebrew se mettent à tousser. Et, comme souvent avec les outils de développement, le message d’erreur semble accuser PHP alors que le vrai problème vient parfois du chemin système, de Homebrew ou des permissions. La bonne approche consiste à repartir proprement : vérifier Homebrew, installer PHP avec le bon préfixe, installer Composer, puis contrôler que le terminal utilise bien les binaires attendus. Composer, PHP et macOS : ce qui a changé L’ancien article parlait de macOS Monterey et de PHP 8.1. Le principe reste valable, mais l’environnement a évolué. Aujourd’hui, Homebrew utilise généralement deux emplacements différents selon l’architecture du Mac : /opt/homebrew sur les Mac Apple Silicon ; /usr/local sur les Mac Intel. C’est une nuance importante. Si vous appliquez une correction de permissions sur /usr/local alors que votre Mac utilise /opt/homebrew, vous corrigez le mauvais répertoire. C’est un peu comme changer la serrure du garage alors que la porte d’entrée est grande ouverte. Vérifier Homebrew avant d’installer PHP et Composer Commencez par vérifier que Homebrew répond correctement : brew --version brew doctor Ensuite, vérifiez le préfixe utilisé par Homebrew : brew --prefix Vous devriez obtenir l’un de ces chemins : /opt/homebrew ou : /usr/local Ce résultat détermine ensuite le chemin à ajouter dans votre configuration shell. Installer PHP avec Homebrew Pour installer PHP sous macOS avec Homebrew, utilisez simplement : brew install php Si PHP est déjà installé, mettez plutôt Homebrew et PHP à jour : brew update brew upgrade php Vérifiez ensuite la version utilisée par votre terminal : php -v which php Sur Apple Silicon, which php devrait souvent pointer vers un chemin du type : /opt/homebrew/bin/php Sur Mac Intel, il pointera plutôt vers : /usr/local/bin/php Si vous voyez encore /usr/bin/php, votre shell utilise probablement l’ancien PHP fourni par macOS, ou un binaire placé avant Homebrew dans le PATH. Corriger le PATH pour utiliser le PHP de Homebrew Sur macOS récent, le shell par défaut est généralement Zsh. Ouvrez donc le fichier ~/.zshrc : nano ~/.zshrc Sur Apple Silicon, ajoutez cette ligne si elle n’existe pas déjà : eval "$(/opt/homebrew/bin/brew shellenv)" Sur Mac Intel, utilisez plutôt : eval "$(/usr/local/bin/brew shellenv)" Rechargez ensuite la configuration du shell : source ~/.zshrc Puis contrôlez à nouveau : which brew which php php -v Installer Composer avec Homebrew Une fois PHP en place, l’installation de Composer devient très simple : brew install composer Vérifiez ensuite l’installation : composer --version which composer Composer doit répondre depuis un chemin Homebrew, par exemple : /opt/homebrew/bin/composer ou : /usr/local/bin/composer À ce stade, vous avez une installation cohérente : PHP et Composer viennent du même gestionnaire de paquets. Installer Composer manuellement, sans Homebrew Homebrew reste la solution la plus pratique sur une machine de développement. Toutefois, Composer peut aussi s’installer manuellement avec l’installateur officiel. La méthode officielle consiste à télécharger l’installateur, vérifier sa signature, puis créer le fichier composer.phar. Comme la signature change à chaque version, évitez de copier une vieille commande trouvée... --- ### Black Friday et Cyber Monday : les meilleurs plans du web - **URL**: https://www.skyminds.net/black-friday-cyber-monday-les-meilleurs-plans/ Allez, c'est la semaine la plus folle de l'année : Black Friday et Cyber Week ! Ces quatre jours de folie (certains les rallongent même de quelques jours, avant et après) vous assurent d'obtenir tous vos cadeaux avant Noël. J'ai dégoté pour vous quelques offres intéressantes et variées tout en me fixant une ligne de conduite : face aux excès de la (sur)consommation, je vous propose uniquement des offres intéressantes pour des produits ou services virtuels. Pas d'envois par la poste, et pas de camionnettes sur les routes - car nous n'avons qu'une planète ! Hébergement WordPress WP Engine : 6 mois gratuits sur tous les plans annuels WPEngine est un hébergeur très performant qui offre 5 mois gratuits sur tous ses plans annuels, ce qui est une véritable aubaine pour passer votre site à la vitesse supérieure ! WP Engine Cyber Weekend Promotion - 5 mois gratuits sur les plans annuels Cloudways : -40% pendant 4 mois Cloudways offre 40% de réduction pendant 4 mois sur toutes ses offres. Thèmes WordPress Pack de thèmes Genesis : -100$ sur le pack StudioPress Pro-Plus All Theme Genesis est une base rapide et très sécurisée pour tout type de site WordPress. Jusqu'au 30 novembre, vous bénéficiez de $100 de réduction sur le Pack Pro, qui contient le framework Genesis ainsi que tous les thèmes Genesis (officiels et third-party). Cela équivaut à une économie de $2300 par rapport à si vous achetiez chacun des thèmes séparément. Divi : -25% ElegantThemes offre une remise de 25% sur toutes ses licences, dont celle de Divi. WooCommerce : -40% sur les thèmes et extensions WooCommerce frappe encore plus fort cette année avec une remise de 40% sur tous les thèmes et extensions WooCommerce, jusqu'au 30 novembre avec le coupon JETBLACK. Plugins WordPress WPRocket : -30% WP-Rocket est l'un des meilleurs plugins de cache (sinon le meilleur) pour WordPress, qui fonctionne sur la très grande majorité des hébergeurs (même les plus restrictifs). Il est très simple à configurer et donne des résultats très rapidement. La remise est de 30% sur la licence WP Rocket jusqu'au 1er décembre. Shortpixel : 250% de crédits Du 29 novembre au 2 décembre, Shortpixel offre 250% de crédits lors d'un achat de crédits mensuels ou one-shot. Si vous achetez 10 000 crédits, vous en recevrez 25 000. J'utilise ShortPixel sur tous mes sites et n'ai jamais plus besoin de m'occuper du taux de compression des images, tout se fait automatiquement en arrière-plan, ce qui fait baisser en moyenne plus de 60% de la bande passante des images. Amazon Music Unlimited : 3 mois d’abonnement gratuits Un fond bleu et violet avec les mots Amazon Music for Cyber Monday. Amazon Music Unlimited est un service de streaming musical avec : plus de 50 millions de titres en illimité – incluant les dernières nouveautés des plus grands artistes ainsi que plusieurs centaines de playlists et stations toutes les nouveautés – découvrez tous les derniers titres dès leur sortie aucune publicité – écoutez votre musique sans interruption et profitez d’un son... --- ### Productivité : dictez vos textes au lieu de les taper au clavier - **URL**: https://www.skyminds.net/productivite-passer-du-clavier-a-dictee-vocale/ Un logiciel de reconnaissance vocale est une application qui utilise des algorithmes de reconnaissance vocale pour identifier le langage et le retranscrire en texte. Voici un tour d'horizon des meilleurs moyens d'utiliser la reconnaissance vocale pour dicter vos messages et documents sous Windows, MacOS et Linux, le tout gratuitement. La saisie vocale sous Windows La saisie vocale de Windows 11 et 10 vous permet d’entrer du texte sur votre PC en parlant. La saisie vocale utilise la reconnaissance vocale en ligne, optimisée par Azure Speech Services. Pour utiliser la saisie vocale, vous devez être connecté à Internet, utiliser un microphone et le curseur dans une zone de texte. Une fois que vous activez la saisie vocale, elle commence à écouter automatiquement. Patientez pendant la « À l’écoute... » avant de commencer à parler. Activer la saisie vocale Appuyez Windows touche de logo+H sur un clavier matériel. Appuyez sur la touche de microphone à côté de la barre d’espace sur le clavier tactile. Arrêter la saisie vocale Dites une commande de saisie vocale telle que « Arrêter l’écoute ». Appuyez sur le bouton microphone dans le menu de saisie vocale. Installer une langue de saisie vocale Vous pouvez utiliser une langue de saisie vocale différente de celle que vous avez choisie pour Windows. Voici la marche à suivre : 1. Sélectionnez Démarrer > Paramètres > langue & et> langue & région. 2. Recherchez les langues préférées dans la liste, puis sélectionnez Ajouter une langue. 3. Recherchez la langue que vous voulez installer, puis sélectionnez Suivant. 4. Sélectionnez Suivant ou installez les fonctionnalités de langue facultatives que vous souhaitez utiliser. Ces fonctionnalités, notamment la reconnaissance vocale, ne sont pas nécessaires au travail de la saisie vocale. Changer la langue de saisie vocale Pour changer la langue de saisie vocale, vous devez modifier la langue d’entrée que vous utilisez. Procédez comme suit : Sélectionnez le sélecteur de langue dans l’angle de la barre des tâches. Appuyez Windows touche de logo + Espace sur un clavier matériel. Appuyez sur le s basculer de langue dans le coin inférieur droit du clavier tactile. Dicter des messages et des documents sur Mac Avec la dictée vocale clavier, vous pouvez dicter du texte partout où il vous est possible d’en saisir. Activez la dictée vocale clavier dans la sous-fenêtre Dictée des préférences Clavier : vos énoncés dictés sont envoyés à Apple afin de traiter vos requêtes. Une fenêtre d’écho vocal mesure le niveau sonore de votre voix et vous propose des commandes de dictée de base. Sur un Mac doté d’une puce Apple, les demandes générales de dictée de texte (par exemple, la composition de messages et de notes, mais pas la dictée dans une zone de recherche) sont traitées sur l’appareil dans de nombreuses langues et aucune connexion Internet n’est requise. De plus, vous pouvez dicter du texte de n’importe quelle longueur, sans délai limite. Vous pouvez désactiver la dictée manuellement, ou elle s’arrête automatiquement lorsqu’aucune parole n’est détectée pendant 30 secondes. La dictée dans la recherche utilise la dictée... --- ### NFT et blockchain : comprendre les jetons non fongibles sans la hype - **URL**: https://www.skyminds.net/les-nft-et-la-blockchain/ Les NFT ont connu une explosion spectaculaire, puis une descente tout aussi spectaculaire. Pendant quelques mois, on a vu des images, des avatars, des GIFs et des objets numériques se vendre à des prix absurdes. Puis le marché s’est calmé, les promesses se sont dégonflées, et beaucoup de projets ont disparu aussi vite qu’ils étaient apparus. Pourtant, le sujet reste intéressant. Pas parce qu’un JPEG de singe vaut forcément une maison. Spoiler : non. Mais parce que les NFT posent une vraie question technique : comment prouver la possession d’un objet numérique unique dans un environnement où tout se copie facilement ? Dans cet article, nous allons expliquer simplement ce qu’est un NFT, comment la blockchain intervient, ce que l’acheteur possède vraiment, ce qu’il ne possède pas, quels sont les risques, et quels usages restent crédibles une fois la mousse marketing retombée. Qu’est-ce qu’une blockchain ? Une blockchain est un registre distribué. On peut la voir comme une base de données partagée entre de nombreux participants, où les transactions sont regroupées en blocs, puis reliées entre elles dans un ordre chronologique. La particularité d’une blockchain publique tient à trois idées : plusieurs participants conservent une copie du registre ; les transactions sont validées selon des règles communes ; l’historique devient très difficile à modifier après validation. Contrairement à une base de données classique, personne ne modifie seul le registre central. Le réseau suit un mécanisme de consensus. Selon la blockchain, ce consensus peut reposer sur la preuve de travail, la preuve d’enjeu ou d’autres modèles. Cette architecture permet de créer des actifs numériques rares, transférables et vérifiables publiquement. C’est là qu’entrent en jeu les tokens, puis les NFT. Token fongible et token non fongible : la différence Un actif est fongible quand chaque unité est équivalente à une autre unité du même type. Exemple simple : un euro vaut un euro. Si vous échangez une pièce d’un euro contre une autre pièce d’un euro, vous n’avez pas perdu d’identité particulière. Même logique pour un bitcoin ou un ether : une unité est interchangeable avec une autre unité de même valeur. Un actif non fongible, lui, possède une identité propre. Il n’est pas interchangeable à l’identique. Un billet de 10 euros est fongible avec deux billets de 5 euros. La Joconde n’est pas fongible avec une impression de La Joconde. Une carte de collection rare n’est pas équivalente à une carte commune. Un nom de domaine précis n’est pas interchangeable avec n’importe quel autre nom de domaine. Un NFT, pour Non-Fungible Token, est donc un jeton numérique non fongible. Il représente une entrée unique ou identifiable dans une blockchain. Qu’est-ce qu’un NFT ? Un NFT est un jeton unique inscrit sur une blockchain. Il peut être transféré d’une adresse à une autre, vendu, acheté, affiché dans un wallet ou listé sur une marketplace. Le NFT peut représenter beaucoup de choses : une image ; une vidéo ; une musique ; un objet de jeu vidéo ; un ticket d’événement ; un... --- ### Retirer les DRM d’un ebook acheté sur Amazon - **URL**: https://www.skyminds.net/retirer-drm-ebook-amazon/ J'ai récemment acheté sur Amazon un ebook qui, fait tout à fait incroyable, était totalement indisponible sur internet. Commande en deux clics et Amazon offre la possibilité de télécharger le fichier sur l'ordinateur ou de l'envoyer directement sur ma Kindle. Comme je souhaite en utiliser un extrait pour mes élèves de secondes, je choisis le téléchargement direct. Le fichier est au format propriétaire AZW3 et, comme pressenti, il est impossible de le lire sur l'ordinateur car il est associé à l'aide de DRM au numéro de série de la Kindle. Voici un tutoriel qui vous montre comment retirer les DRM de vos ebooks achetés sur Amazon à l'aide de Calibre et de l'extension DeDRM. Installation de calibre Pour la gestion, la conversion et le transferts des ebooks sur mes liseuses, j'utilise exclusivement calibre, qui est gratuit et multi-plateformes. Installez calibre ou mettez-le à jour. Téléchargement de DeDRM Nous allons avoir besoin d'un plugin pour calibre qui s'appelle DeDRM. Téléchargez la dernière version puis dézippez le fichier. Vous obtenez un répertoire avec plusieurs fichiers zip. Installation du plugin DeDRM dans calibre Nous allons maintenant procéder à l'installation du plugin DeDRM dans calibre. Ajout de DeDRM dans calibre Ouvrez calibre puis naviguez dans le menu calibre → Preferences → Avancé → Extensions (ou calibre → Preferences → Advanced → Plugins si vous avez la version en anglais): Allez dans le menu Extensions Cliquez ensuite sur le bouton en bas à droite qui s'intitule charger une extension depuis un fichier : Charger une extension à partir d'un fichier Sélectionnez maintenant le fichier DeDRM_plugin.zip dans le dossier que vous avez dézippé tout à l'heure puis validez. L'extension va être ajoutée à votre installation de calibre. Ajout du plugin DeDRM à calibre Ajout du numéro de série Kindle dans calibre Recherchez maintenant dedrm dans le champs de recherche des extensions, sélectionnez le plugin dans la liste puis cliquez sur le bouton Personnaliser une extension. Personnalisation de DeDRM Dans la fenêtre qui s'ouvre, cliquez sur le bouton Eink Kindle Ebook puis cliquez sur le bouton + pour ajouter le numéro de série de votre Kindle. Ajoutez le numéro de série de votre Kindle dans calibre Vous allez maintenant avoir besoin du numéro de série de votre Kindle. Souvenez-vous, lors de l'achat, Amazon demande sur quel appareil Kindle vous allez lire le livre: cela signifie que les DRM s'appliquent à tous les appareils sauf votre Kindle, qui est reconnue grâce à son numéro de série, son identifiant unique. Vous pouvez retrouver le numéro de série de votre Kindle directement dans les paramètres de votre Kindle, dans Paramètres → Tous les paramètres → Options de l'appareil → Infos sur l'appareil → Numéro de série. Ajoutez le numéro de série de votre Kindle dans la fenêtre qui s'ouvre puis validez. Boom, votre ebook est libéré! Des ebooks que l'on peut lire et convertir Vous venez de débloquer l'ebook, qui pense maintenant que calibre est votre Kindle. Cela vous donne un accès total à l'ebook: vous pouvez le lire, le... --- ### Synthèse de documents en LLCER : méthode complète pour réussir - **URL**: https://www.skyminds.net/synthese-de-documents-llcer-methode/ La synthèse de documents en LLCER est l’un des exercices majeurs de l’épreuve écrite de spécialité. Elle consiste à présenter, comparer et organiser les idées d’un dossier documentaire en langue étrangère, sans donner son avis personnel. L’objectif n’est donc pas de résumer chaque document l’un après l’autre. Il faut dégager une problématique commune, montrer comment les documents se répondent, puis construire une réponse claire, organisée et objective. En bref : vous ne faites pas une visite guidée document par document. Vous organisez une conversation entre eux. Qu’est-ce que la synthèse de documents en LLCER ? La synthèse de documents est un exercice d’écriture qui demande de rendre compte d’un dossier composé de plusieurs documents. Ces documents peuvent être de nature différente : texte littéraire, article de presse, extrait d’essai, document iconographique, graphique, photographie, tableau, affiche ou caricature. Au bac, la synthèse est rédigée en langue étrangère. Elle est guidée par deux ou trois questions ou consignes. Elle porte sur une thématique du programme de terminale LLCER et doit montrer votre capacité à comprendre, comparer et organiser les documents. La synthèse doit être objective. Elle ne doit donc pas contenir de commentaire personnel, d’avis subjectif ou de jugement sur les documents. Votre rôle est de faire comprendre le dossier au lecteur, pas de prendre position. Ce qu’on attend dans une bonne synthèse Une bonne synthèse doit remplir plusieurs objectifs. Présenter les documents sans les résumer mécaniquement. Identifier le thème commun qui relie le dossier. Formuler une problématique claire et pertinente. Comparer les documents au lieu de les traiter séparément. Organiser les idées dans un plan logique. Rédiger en langue étrangère avec précision, clarté et cohérence. Respecter une longueur d’environ 500 mots, sauf indication différente du sujet. La synthèse évalue donc autant votre compréhension que votre méthode. Une copie réussie montre que vous avez compris les documents, mais aussi que vous savez les faire dialoguer autour d’un enjeu commun. La règle d’or : ne pas faire une partie par document L’erreur la plus fréquente consiste à consacrer une partie au document A, une autre au document B, puis une dernière au document C. Cette organisation paraît rassurante, mais elle produit rarement une vraie synthèse. Une synthèse doit être transversale. Cela signifie que chaque partie doit regrouper plusieurs documents autour d’une même idée. Vous devez donc comparer les documents, montrer leurs convergences, leurs différences, leurs nuances et leurs tensions. Évitez ce type de plan : I. Document A II. Document B III. Document C Préférez ce type de plan : I. Une même représentation du conflit entre individu et société II. Des réponses différentes à cette tension III. Une réflexion commune sur la liberté ou l’identité Le second plan est meilleur parce qu’il crée des liens. Et dans une synthèse, les liens valent de l’or. Les documents sont les invités ; le plan est la table où vous les faites parler. Première étape : lire les consignes Avant même de lire les documents, commencez par les consignes. Elles orientent votre lecture et indiquent... --- ### Nouveau téléphone: Xiaomi Poco F7 Pro - **URL**: https://www.skyminds.net/nouveau-telephone-xiaomi-poco-f7-pro/ Après 7 années de bons et loyaux services pour mon OnePlus One, ainsi que deux mises à jour du système d'exploitation vers LineageOS, je suis passé sur un tout nouveau téléphone: le Xiaomi Poco F7 Pro 5G. Caractéristiques Je vous la fais courte: après 7 ans sur mon ancien téléphone, je revis avec le Poco F7. Tout est plus grand, tout est plus rapide et j'ai même la 5G dans ma campagne profonde, c'est dire! Dans les détails, nous avons donc 12 Go de RAM et 512 GO de mémoire, un écran de 6,67 pouces AMOLED 120 120Hz , un processeur Snapdragon 870 et une triple caméra de 50MP, le tout avec une batterie de 6000mAh et 2 ans de garantie. xiaomi poco f7 pro Photos et son Je trouve l'écran très bon mais Cécile pense que les Realme font de meilleures photos, plus lumineuses. Personnellement, je trouve la qualité assez bonne (mais je ne suis absolument pas photographe). Le son est bon, grâce aux amplis stéréo. Par contre, pas de prise jack, il faut passer par le petit adaptateur fourni pour brancher son casque (qui branche encore un casque?!) OS : HyperOS C'est aussi la première fois que j'ai un téléphone avec la surcouche HyperOS 2: c'est clair, net et beau ! Pas besoin de skinner l'apparence pour avoir quelque chose de potable, c'est un beau gain de temps. Bon point également pour les widgets. Dans le passé, j'ai acheté des widgets météo pour avoir quelque chose de joli. Là, tout est vraiment bien léché et mis à jour en temps réel. Un très bon téléphone J'adore ce nouveau téléphone pour sa batterie qui tient plusieurs jours, la dernière version d'Android sans mettre de ROM alternative (bon, cela viendra un jour mais pas tout de suite), et également le fait qu'il a été capable de tout importer (photos, applications) de mon ancien téléphone en un temps record. J'apprécie également le temps de recharge express: il suffit de 30 minutes pour avoir une charge complète du téléphone, c'est idéal pour les têtes en l'air qui rechargent le téléphone presque au moment de partir. Que de changements avec ce nouveau téléphone, c'est vraiment extrêmement agréable de repartir sur une base solide (comme mon OnePlus à l'époque!). Notez que le Poco F7 est en promo (-15%) actuellement sur Amazon. --- ### Caster des contenus vidéos sur une télévision - **URL**: https://www.skyminds.net/caster-des-contenus-videos-sur-une-television/ Avec la multitude de services de diffusion de contenus comme Netflix, Amazon Prime ou Canal+, il n'est pas rare d'avoir un accès au service depuis une tablette ou un ordinateur mais il n'est pas toujours aisé d'envoyer le contenu vidéo directement sur la télévision. Voici quelques astuces pour caster vos contenus vidéos sur votre télévision, en quelques secondes et sans prise de tête. Utiliser Chrome pour caster les vidéos Hé oui, si vous avez une ChromeCast par exemple, il est vraiment bien plus simple d'utiliser le navigateur Chrome qui possède une option qui s'appelle tout simplement Caster. Je suis fervent utilisateur de FireFox et il faut bien avouer que là, on ne peut pas rivaliser avec Chrome en ce qui concerne le casting. Lire une vidéo depuis les services de streaming Si vous utilisez un service de streaming, lancez le site, choisissez votre film ou série et lancez-la. Ensuite, cliquer sur l'icône kebab (l'icône avec les trois points verticaux) à côté de votre avatar Google et de la barre de recherche puis sélectionnez l'option Caster: Diffuser sur la TV avec Chrome Une fenêtre de notification apparaît et vous offre la possibilité de choisir l'appareil vers lequel envoyer la diffusion de la vidéo. Et c'est tout ! On ne peut pas faire plus simple! Lire une vidéo depuis votre ordinateur Si vous souhaitez jouer une vidéo qui se trouve en local sur votre ordinateur, rien de plus simple, vous pouvez également utiliser Chrome, de la même manière que précédemment! Pour cela deux options: vous pouvez mettre / dans la barre d'adresse. Cela affichera le contenu de votre disque dur, à la manière de l'explorateur de fichiers ou du finder. L'autre option consiste à ouvrir un nouvel onglet et à glisser-déposer votre fichier vidéo dedans. Utiliser VLC pour caster vos vidéos Vous pouvez également utiliser le célèbre lecteur VLC pour diffuser facilement vos vidéos sur votre téléviseur. Lancez la lecture de la vidéo avec VLC et cliquez sur le menu Lecture → Rendu puis sélectionnez le Chromecast ou le matériel de diffusion disponible. Voici un exemple avec ma Freebox Pop: Diffuser sur la TV avec VLC Attention, pour fonctionner, ordinateur et Chromecast doivent être connectés au même réseau wifi. Utiliser les applications mobiles de streaming Enfin, si vous utilisez votre mobile ou tablette avec les applications dédiées aux services de streaming, il est très aisé de caster les vidéos, il suffit de cliquer sur cette icône: Voilà, vous savez tout! --- ### Calculer la durée totale des vidéos d’un dossier avec ffprobe - **URL**: https://www.skyminds.net/calculer-duree-totale-videos-dossier/ Vous avez un dossier rempli de vidéos et vous voulez connaître leur durée totale ? C’est typiquement le genre de besoin qui arrive quand on prépare une formation en ligne, une bibliothèque de replays, un cours vidéo ou une fiche produit. Compter les fichiers, c’est facile. Additionner proprement leurs durées, c’est déjà plus drôle. Heureusement, quelques commandes suffisent pour obtenir un total fiable, sans ouvrir chaque vidéo à la main comme un moine copiste du MP4. La méthode la plus robuste consiste à utiliser ffprobe, l’outil d’analyse fourni avec FFmpeg. Il lit les métadonnées des fichiers audio et vidéo, puis retourne leur durée dans un format facile à additionner. Installer ffprobe ffprobe est installé avec FFmpeg. Sous Ubuntu ou Debian, installez le paquet ffmpeg : sudo apt update sudo apt install ffmpeg Sur macOS, avec Homebrew : brew install ffmpeg Vous pouvez ensuite vérifier que ffprobe répond correctement : ffprobe -version Calculer la durée d’une seule vidéo Avant d’additionner tout un dossier, commençons par une seule vidéo. Cette commande retourne la durée du fichier en secondes : ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 video.mp4 Exemple de résultat : 2286.120000 Ici, la vidéo dure environ 2 286 secondes, soit 38 minutes et 6 secondes. Calculer la durée totale des vidéos MP4 du dossier courant Si toutes vos vidéos sont dans le même dossier et utilisent l’extension .mp4, placez-vous dans ce dossier : cd /chemin/vers/mes-videos Puis lancez cette commande : for file in *.mp4; do ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "$file" done | awk ' { total += $1 } END { hours = int(total / 3600) minutes = int((total % 3600) / 60) seconds = int(total % 60) printf "%02d:%02d:%02d\n", hours, minutes, seconds }' Exemple de résultat : 21:03:48 Dans cet exemple, le dossier contient donc un peu plus de 21 heures de vidéo. Calculer la durée totale avec les sous-dossiers Dans la vraie vie, les vidéos sont rarement toutes rangées gentiment dans un seul dossier. On trouve souvent des sous-dossiers par module, par semaine ou par chapitre. Voici une version récursive, qui parcourt aussi les sous-dossiers : find . -type f -iname '*.mp4' -print0 | while IFS= read -r -d '' file; do ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "$file" 2>/dev/null done | awk ' { total += $1 } END { hours = int(total / 3600) minutes = int((total % 3600) / 60) seconds = int(total % 60) printf "%02d:%02d:%02d\n", hours, minutes, seconds }' Cette commande utilise find avec -print0 afin de gérer correctement les noms de fichiers contenant des espaces, des apostrophes ou des caractères un peu exotiques. Inclure plusieurs formats vidéo Si votre dossier contient plusieurs formats, par exemple .mp4, .mkv, .mov et .webm, utilisez cette variante : find . -type f \( \ -iname '*.mp4' -o \ -iname '*.mkv' -o \ -iname '*.mov' -o \ -iname '*.webm' -o \ -iname '*.avi' \ \) -print0 | while IFS= read -r -d '' file; do ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "$file" 2>/dev/null... --- ### Rendre la page panier WooCommerce réactive - **URL**: https://www.skyminds.net/rendre-la-page-panier-woocommerce-reactive/ Lors de mon dernier projet WooCommerce, j'ai remarqué que la page panier de WooCommerce n'était pas vraiment réactive sous Safari (iPhone, iOS) : le tableau ne s'empile pas comme il le devrait et toutes les colonnes sont comprimées. Les dernières colonnes sont hors du viewport. Safari sous iOS (iPhone) semble être le seul concerné - je n'ai pas réussi à reproduire ce comportement sur FireFox, Chrome ou Opera. Le site en question utilise Astra, qui est vraiment bien éprouvé, ainsi qu'Elementor comme constructeur de page. Voici comment rendre le tableau du panier WooCommerce réactif, en utilisant quelques lignes de CSS. Forcer la réactivité du panier WooCommerce J'ai opté pour une solution propre, en CSS, en ne ciblant que les iPhones puisqu'ils sont les seuls concernés (Safari + résolution d'écran). Voici donc le code utilisé pour rendre le panier WooCommerce réactif: /* Plugin Name: Sky WooCommerce Responsive Cart Plugin URI: https://mattbiscay.com Description: Make WooCommerce cart responsive Version: 1.1 Author: Matt Biscay Author URI: https://mattbiscay.com */ /* responsive cart */ @media only screen and ( max-width: 479px ) { .short-description, .product_meta, body.woocommerce div.product .woocommerce-tabs, body.woocommerce #content div.product .woocommerce-tabs { display: none; } body.woocommerce .images { float: none !important; width: auto !important; margin-bottom: 40px !important; clear: both !important; } table .product-thumbnail { display: none; } .woocommerce-page #content div.product form.cart .variations { margin-left: 0; } table.cart th, #content table.cart th, table.cart td, #content table.cart td, table.cart tr, #content table.cart tr, #content-area table tr, #content-area table td, #content-area table th { padding: .857em 0.287em; } .woocommerce .woocommerce .col2-set .col-1, .woocommerce-page .col2-set .col-1, .woocommerce .col2-set .col-2, .woocommerce-page .col2-set .col-2 { width: 100% !important; } .woocommerce .woocommerce form .form-row, .woocommerce-page form .form-row { width: auto !important; float: none !important; } #order_review .shop_table { margin-left: 0; } /* cart: tax on its own line */ .includes_tax { display: block; } } /* cart weird bug on Safari: cart table is not collapsing */ /* this corrects the bug on iphones */ @media (max-width: 768px){ .iphone .woocommerce table.shop_table_responsive tr, .iphone .woocommerce-page table.shop_table_responsive tr { display: flex; flex-direction: column; flex-basis: 100%; flex: 1; } .woocommerce table.shop_table_responsive tr td::before, .woocommerce-page table.shop_table_responsive tr td::before { content: attr(data-title) ' '; font-weight: 700; float: left; } p.no-shipping-options { clear: both; margin-top: 3rem; } } Retarder l'affichage du panier Même avec le nouveau code, il peut y avoir un effet de reflow : pendant quelques dixièmes de secondes, on peut apercevoir le tableau changer de direction et s'empiler, ce qui n'est pas très esthétique. J'ai opté pour un affichage légèrement retardé du panier, de quelques dixièmes de secondes, de manière à ce que le panier s'affiche lorsqu'il est déjà empilé: /* Author: Matt Biscay Author URI: https://mattbiscay.com */ /* hide the cart first, then animate into showing */ .woocommerce-cart-form { animation: cssAnimation 0s 0.6s forwards; opacity: 0; } @keyframes cssAnimation { to { opacity: 1; } } /* hide quantity controls, which are added with JS and reflow the cart */ .quantity .minus, .quantity .plus { display: none !important; } Et voilà, le tableau qui... --- ### Créer un enregistrement BIMI pour afficher votre logo dans vos emails clients et prospects - **URL**: https://www.skyminds.net/bimi-afficher-votre-logo-emails-clients-prospects/ Les Brand Indicators for Message Identification (BIMI) - indicateurs de marque pour l'identification des messages en français - sont un moyen standardisé pour les entreprises d'utiliser leur logo comme indicateur visible pour aider les destinataires d'e-mails à reconnaître et à éviter les messages frauduleux. BIMI s'appuie sur le protocole d'authentification de messagerie DMARC pour développer la confiance avec les clients actuels et potentiels. Avantages de l'enregistrement BIMI En publiant votre fiche BIMI et le logo associé dans le DNS, votre marque sera facilement reconnue et approuvée par les clients actuels et futurs. Non seulement les clients actuels et potentiels sont convaincus que vos e-mails sont légitimes, mais ils gagnent également un niveau de confiance en voyant votre logo approuvé dans leur boîte de réception. Chaque fois qu'un client reçoit un message de votre domaine en utilisant la norme BIMI, au moins trois impressions de marque uniques potentielles sont effectuées: liste de messages, adresse e-mail dans le message et dans le message lui-même. Plus vite votre entreprise décide d'adopter le BIMI (lorsqu'il est disponible via votre fournisseur de messagerie sortante), plus votre marque sera reconnue. Étape 1 : mettre en place SPF, Sender-ID, DKIM et DMARC (et HTTPS) Habituellement, les logos sont automatiquement extraits de diverses sources et organisés par les fournisseurs de clients de messagerie. En conséquence, différents logos s'affichent en fonction du client de messagerie et de l'appareil. Avec BIMI, les marques contrôlent leurs logos officiels affichés, quelle que soit la taille de la marque. Les symboles sont un moyen succinct et efficace de communiquer des informations sur votre entreprise. Un logo est un élément important de la marque de votre entreprise et a un impact significatif sur la perception du public d'une entreprise. En fait, un logo est l'un des investissements de marque les plus importants qu'une entreprise puisse faire. Il attire l'attention, fait une première impression forte, est le fondement de votre identité de marque, de la sécurité, est mémorable, vous sépare de la concurrence, favorise la fidélité à la marque et est attendu par votre public. La spécification BIMI s'appuie sur les normes d'authentification de messagerie existantes telles que Sender Policy Framework (SPF), DomainKeys Identified Mail (DKIM) et Domain-based Message Authentication, Reporting & Conformance (DMARC). Les marques qui déploient correctement l'authentification des e-mails à l'aide de DMARC pourront tirer parti de BIMI. DMARC est une norme qui permet aux propriétaires de domaines (marques) de protéger leurs domaines en définissant des politiques d'authentification des e-mails. DMARC fournit également des rapports qui aident à configurer l'authentification des e-mails à l'aide de SPF et DKIM sur toutes les sources. Je vous conseille le tutoriel sur la mise en place de DMARC pour votre domaine, ainsi que celui sur l'authentification SPF, Sender-ID et DKIM pour tout paramétrer dans les règles de l'art. Le domaine doit impérativement être servi en HTTPS. Une fois toutes les sources valides identifiées et authentifiées, une politique DMARC restrictive (c'est-à-dire p=quarantine ou p=reject) peut être définie: _dmarc IN TXT v=DMARC1; p=reject; rua=mailto:dmarc@example.com; En utilisant cette stratégie,... --- ### Créer un site staging pour WordPress sur un sous-domaine - **URL**: https://www.skyminds.net/creer-un-site-staging-pour-wordpress-sur-un-sous-domaine/ Le Centre de Kriya Yoga France n'avait pas de site staging, ce site de développement et de test qui permet de tester, développer ou mettre à jour de nouvelles extensions, sans affecter le site principal. Une des extensions a eu besoin d'être débugguée par ses concepteurs mais pour des raisons de confidentialité, il nous est apparu intéressant et plus sécurisé de donner accès à un site de développement, fraîche copie du site original, pour le débuggage. Si vous avez besoin de créer un site staging pour votre site WordPress et que votre hébergeur ne le propose pas, voici comment faire. Étape 1 : créer un sous-domaine au niveau DNS Nous choisissons la solution la plus simple: servir le site STAGING depuis un sous-domaine. Il suffit de créer un nouvel enregistrement DNS sous la forme: staging IN A xxx.xxx.xxx.xxx où staging represente le sous-domaine et xxx.xxx.xxx.xxx représente l'adresse IPv4 du serveur. Étape 2 : créer le server block sous NginX Le domaine étant déjà actif, j'ai uniquement rajouté ce server block: ### STAGING ### server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name staging.kriyayoga.fr; root /home/www/kriyayoga/staging/public_html; set $root /home/www/kriyayoga/staging/public_html; index index.php index.htm index.html; error_log /var/log/nginx/kriyayoga_staging_error.log; #SSL ssl_certificate /etc/nginx/ssl/kriyayoga.fr/fullchain.pem; ssl_certificate_key /etc/nginx/ssl/kriyayoga.fr/privkey.pem; include snippets/mime-types.conf; #Exclusions include snippets/exclusions.conf; #Security include snippets/security.conf; #Static Content include snippets/static-files.conf; #Fastcgi cache rules include snippets/fastcgi-cache.conf; include snippets/limits.conf; include snippets/nginx-cloudflare.conf; #Gzip include snippets/gzip.conf; location / { try_files $uri $uri/ /index.php?$args; } location ~ .php$ { try_files $uri =404; include snippets/fastcgi-params.conf; fastcgi_pass unix:/run/php/php7.4-fpm.sock; #Skip cache based on rules in snippets/fastcgi-cache.conf. fastcgi_cache_bypass $skip_cache; fastcgi_no_cache $skip_cache; #Define memory zone for caching. Should match key_zone in fastcgi_cache_path above. fastcgi_cache kriyayoga; #Define caching time. fastcgi_cache_valid 60m; #increase timeouts fastcgi_read_timeout 6000; fastcgi_connect_timeout 6000; fastcgi_send_timeout 6000; proxy_read_timeout 6000; proxy_connect_timeout 6000; proxy_send_timeout 6000; send_timeout 6000; #these lines should be the ones to allow Cloudflare Flexible SSL #to be used so the server does not need to decrypt SSL if you wish proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-NginX-Proxy true; } #Protect WooCommerce upload folder from being accessed directly. #You may want to delete this config if you are using "Redirect Only" method for downloadable products. #Place this config towards the end of "server" block in NginX configuration. location ~* /wp-content/uploads/woocommerce_uploads/ { if ( $upstream_http_x_accel_redirect = "" ) { return 403; } internal; } } Testez la nouvelle configuration: nginx -t Puis redémarrez NginX: service nginx reload Note: il est important de noter que je n'ai pas besoin de créer de certificat SSL puisque mes certificats sont wildcard par défaut. Si ce n'est pas le cas chez vous, pensez à en générer pour votre sous-domaine. Étape 3 : copier les fichiers du site LIVE vers STAGING Nous nous plaçons dans le répertoire de notre site. Les fichiers se trouvent sous /public_html et nous allons copier ce répertoire dans /staging, ce qui nous donnera au final: /public_html => les fichiers du site LIVE /staging/public_html => les fichiers du site STAGING C'est parti: cd /home/www/kriyayoga cp -rf public_html/ staging/... --- ### Réflexions sur le Grand Oral du Bac - **URL**: https://www.skyminds.net/reflexions-sur-le-grand-oral-bac/ L'année 2021 a marqué l'avènement de la réforme Blanquer du lycée, avec pour la première fois la passation de l'épreuve du Grand Oral: les candidats ont deux questions à préparer qui concerne leurs deux spécialités (questions croisées ou non, au choix du candidat). La préparation au Grand Oral Pour les enseignants, cela a pris quasiment trois mois de préparation, de mars jusqu'à juin, pour que les élèves trouvent leur question problématisée, ainsi qu'un plan qui tienne la route. J'ai noté qu'avec le contexte sanitaire très particulier de l'année scolaire ainsi que la très large part de contrôle continu continu (82%), les élèves avaient quasiment tous le bac d'office et le Grand Oral ne représentait alors qu'une variable d'ajustement de leur mention: soit la mention supérieure, soit la stagnation. Difficile dès lors de les motiver pour l'épreuve ou d'espérer qu'ils viennent s'inscrire aux oraux blancs. L'épreuve du Grand Oral J'ai cette année été invité comme enseignant spécialiste au jury du Grand Oral. Cela signifie que nous sommes deux enseignants: un enseignant spécialiste d'une discipline enseignée en spécialité de terminale et un autre enseignant lambda qui n'est pas spécialiste. Le but est que le candidat puisse montrer ses connaissances au spécialiste, tout en vulgarisant suffisamment pour que le non-spécialiste puisse comprendre l'essence de l'exposé. Les deux notent l'éloquence et l'interaction de la présentation du candidat. En pratique, mis à part les premiers candidats, tous les candidats d'un même jury peuvent connaître la question sur laquelle ils vont plancher puisque c'est forcément la question qui concerne l'enseignant spécialiste. Il est obligé de prendre la question qui correspond à sa spécialité. Dès lors, il y a peu de surprises pour les candidats. Le cru 2021 a été très particulier car peu d'enseignants pouvaient vraiment dire à quoi allaient ressembler les prestations des candidats. L'épreuve est nouvelle, le nom grandiloquent et la grille d'évaluation assez opaque. Personnellement, je m'attendais à quelque chose de grandiose, en rapport avec le nom. Il n'en est rien: ce sont juste des oraux, tels qu'on avait l'habitude d'en écouter autrefois, en section littéraire (L). J'ai eu de très belles présentations, fouillées et structurées, bien argumentées et défendues, mais également des présentations faites à la va-vite, en 3 minutes, sans la moindre cohérence dans le discours, inspirées des anciennes notions du programme précédent (Mythes et Héros particulièrement). La place du Grand Oral dans l'année de terminale Alors je m'interroge sur la place à accorder au Grand Oral dans l'année de terminale. Il faut terminer le programme de spécialité pour la mi-mars, pour les épreuves écrites et orales, ce qui nécessite un calendrier et un rythme infernaux. Il faudrait pouvoir rééquilibrer l'année mais cela nécessiterait également de revoir le calendrier de Parcoursup, vu que c'est lui qui dicte le calendrier des épreuves... Notes et remarques Je suis très content d'avoir été invité comme enseignant spécialiste du jury car cela m'a beaucoup apporté et j'en tire plusieurs enseignements. En premier lieu, Il n'a rien de "grand", c'est une présentation argumentée de 5 minutes,... --- ### Nettoyer un site WordPress infecté par un script shell - **URL**: https://www.skyminds.net/nettoyer-site-wordpress-infecte-script-shell/ Il n'est pas rare de voir des sites WordPress infectés par des scripts shell, qui peuvent exploiter certaines failles du core WordPress, de plugins ou de thèmes. Ces attaques de WordPress sont courantes et concernent les sites qui n’ont pas été protégés par un antivirus ou un plugin de sécurité comme iThemes Security. Il peut donc arriver que certains malwares infestent votre site WordPress, de manière automatisée si certaines composantes (core, plugins, themes) ne sont pas mis à jour régulièrement. La technique détaillée ci-dessous vous permet d’identifier et de supprimer ces fichiers dans vos dossiers WordPress. Important: avant de commencer, faites une sauvegarde du site: fichiers et base de données. Étape 1 : suppression des fichiers potentiellement infectés Sur l'installation en question, ces fichiers n'appartiennent pas à WordPress ou sont infectés. Nous les supprimons à vue: rm 1index.php index.php db.php del.php wikindex.php Nous supprimons également les répertoires wp-admin et wp-includes de WordPress car souvent des fichiers malfaisants sont copiés dedans: rm wp-admin -rf rm wp-includes -rf Étape 2 : réinstallation de WordPress On réinstalle WordPress: wp core download --force --skip-content --locale=fr_FR --allow-root Étape 3 : vérification de la checksum de l'installation On vérifie que les fichiers et dossiers du site sont bien intégres et correspondent à la checksum officielle: wp core verify-checksums --allow-root wp plugin verify-checksums --all --allow-root Étape 4 : mise à jour forcée de tous les plugins actifs Nous forçons la mise à jour de tous les plugins actuellement activés. Cela les supprime du serveur, puis les re-télécharge depuis le dépôt WordPress officiel et les active: wp plugin install $(wp plugin list --field=name --allow-root) --force --allow-root Pensez également à supprimer les plugins inactifs de l'installation. Étape 5 : mise à jour forcée des thèmes De la même manière que nous réinstallons les plugins, nous forçons la réinstallation des thèmes: wp theme install $(wp theme list --field=name --allow-root) --force --allow-root Étape 6 : mise à jour des droits des fichiers et répertoires Mettons maintenant les droits sécurisés aux fichiers et répertoires du site: chown -R www-data:www-data ./public_html find ./public_html -type d -exec chmod 755 {} + find ./public_html -type f -exec chmod 644 {} + Étape 7 : mise à jour des clés de sécurité et des mots de passe On renouvelle les clés de sécurité présentes dans wp-config.php : wp config shuffle-salts --allow-root $ Success: Shuffled the salt keys. Changez maintenant les mots de passe des comptes utilisateurs qui possèdent des droits importants sur le site. iThemes Security permet d'automatiser le changement de mot de passe pour tous vos utilisateurs en un clic, dans Security > Passwords. Activez la double-authentification forte (2FA). Modifiez également le mot de passe SFTP. Activez l'identification par clé SSH si cela est possible sur votre hébergement. Si vous avez besoin de sécuriser votre site WordPress, n'hésitez pas à me contacter. --- ### The Handmaid’s Tale: Chapter 41 analysis - **URL**: https://www.skyminds.net/the-handmaids-tale-chapter-41-analysis/ In chapter 41 of The Handmaid’s Tale, Offred pauses the story to reflect on storytelling itself. She apologises for the pain, fragmentation and disorder of her narrative, yet she also asserts her need to continue. This chapter is a turning point: Offred moves from survival through silence to survival through testimony, addressing an imagined reader and transforming narration into an act of resistance. Chapter 41 is one of the most self-conscious chapters in Margaret Atwood’s novel. Instead of simply continuing the plot, Offred stops and reflects on the kind of story she is telling. She wishes the story were different, more orderly, more civilised and more flattering. Yet she cannot make it so without betraying what happened. This pause matters because it reveals the ethics of Offred’s narration. Her story is fragmented because her life has been fragmented. It is painful because Gilead has made truth painful. It contains hesitation, gossip, uncertainty and repetition because totalitarian violence damages memory as well as bodies. Chapter 41 therefore turns narrative form into political evidence. I WISH THIS story were different. I wish it were more civilized. I wish it showed me in a better light, if not happier, then at least more active, less hesitant, less distracted by trivia. I wish it had more shape. I wish it were about love, or about sudden realizations important to one’s life, or even about sunsets, birds, rainstorms, or snow.Maybe it is about those things, in a sense; but in the meantime there is so much else getting in the way, so much whispering, so much speculation about others, so much gossip that cannot be verified, so many unsaid words, so much creeping about and secrecy. And there is so much time to be endured, time heavy as fried food or thick fog; and then all at once these red events, like explosions, on streets otherwise decorous and matronly and somnambulant.I’m sorry there is so much pain in this story. I’m sorry it’s in fragments, like a body caught in crossfire or pulled apart by force. But there is nothing I can do to change it.I’ve tried to put some of the good things in as well. Flowers, for instance, because where would we be without them?Nevertheless it hurts me to tell it over, over again. Once was enough: wasn’t once enough for me at the time? But I keep on going with this sad and hungry and sordid, this limping and mutilated story, because after all I want you to hear it, as I will hear yours too if I ever get the chance, if I meet you or if you escape, in the future or in Heaven or in prison or underground, some other place. What they have in common is that they’re not here. By telling you anything at all I’m at least believing in you, I believe you’re there, I believe you into being. Because I’m telling you this story I will your existence. I tell, therefore you are.So I will... --- ### The Handmaid’s Tale: Chapter 25 analysis - **URL**: https://www.skyminds.net/the-handmaids-tale-chapter-25-analysis/ In chapter 25 of The Handmaid’s Tale, Serena Joy’s garden becomes one of the novel’s most disturbing symbolic spaces. Tulips, irises, bleeding hearts, heat, scent and ripeness create an atmosphere of fertility and desire, while Serena’s shears introduce violence, control and symbolic castration. Through this garden, Offred begins to recover a dangerous awareness of her body, her desire and her capacity for inner resistance. Chapter 25 is one of the most sensual and symbolically dense passages in Margaret Atwood’s novel. The scene focuses on Serena Joy’s garden, but the garden is never merely decorative. It becomes a living body, a forbidden theatre of desire and a counter-world to Gilead’s sterile ideology. At first, the garden seems to oppose Gilead. It overflows with colour, scent, movement and fertility. However, the same space also reveals violence. Serena cuts seed pods with shears, Offred covets the tool, and the flowers become charged with images of bodies, sexuality and mutilation. The chapter therefore turns natural abundance into a political and psychological drama. That was in May. Spring has now been undergone. The tulips have had their moment and are done, shedding their petals one by one, like teeth. One day I came upon Serena Joy, kneeling on a cushion in the garden, her cane beside her on the grass. She was snipping off the seed pods with a pair of shears. I watched her sideways as I went past, with my basket of oranges and lamb chops. She was aiming, positioning the blades of the shears, then cutting with a convulsive jerk of the hands. Was it the arthritis, creeping up? Or some blitzkrieg, some kamikaze, committed on the swelling genitalia of the flowers? The fruiting body. To cut off the seed pods is supposed to make the bulb store energy.Saint Serena, on her knees, doing penance.I often amused myself this way, with small mean-minded bitter jokes about her; but not for long. It doesn’t do to linger, watching Serena Joy, from behind.What I coveted was the shears. Well. Then we had the irises, rising beautiful and cool on their tall stalks, like blown glass, like pastel water momentarily frozen in a splash, light blue, light mauve, and the darker ones, velvet and purple, black cat’s-ears in the sun, indigo shadow, and the bleeding hearts, so female in shape it was a surprise they’d not long since been rooted out. There is something subversive about this garden of Serena’s, a sense of buried things bursting upwards, wordlessly, into the light, as if to point, to say: Whatever is silenced will clamour to be heard, though silently. A Tennyson garden, heavy with scent, languid; the return of the word swoon. Light pours down upon it from the sun, true, but also heat rises, from the flowers themselves, you can feel it: like holding your hand an inch above an arm, a shoulder. It breathes, in the warmth, breathing itself in. To walk through it in these days, of peonies, of pinks and carnations, makes my... --- ### Installer PostfixAdmin pour gérer les comptes et alias email avec Postfix - **URL**: https://www.skyminds.net/serveur-dedie-gerez-comptes-et-alias-email-avec-postfixadmin/ Gérer les domaines, comptes email et alias à la main dans une base SQL fonctionne très bien. Du moins jusqu’au jour où l’on ajoute un domaine en urgence, que l’on oublie une requête, et que Postfix vous regarde avec le mépris silencieux d’un MTA contrarié. PostfixAdmin règle ce problème proprement. Il fournit une interface web pour administrer les domaines virtuels, les boîtes mail, les alias et certains paramètres liés à Postfix. Il s’intègre avec Postfix, Dovecot ou Courier, et une base MySQL, MariaDB, PostgreSQL ou SQLite. Dans ce guide, nous allons installer PostfixAdmin sur un serveur moderne avec Nginx, PHP-FPM et MariaDB. L’objectif n’est pas seulement de “faire marcher” l’interface. L’objectif est de l’installer proprement, avec des chemins maintenables, des permissions correctes, une configuration locale séparée et une procédure de mise à jour simple. /more Architecture cible Voici l’architecture retenue : Internet ↓ HTTPS Nginx ↓ PHP-FPM PostfixAdmin ↓ MariaDB Base postfix ↓ Postfix + Dovecot PostfixAdmin ne remplace ni Postfix ni Dovecot. Il administre les données utilisées par votre serveur mail. Postfix continue de recevoir, router et livrer les messages. Dovecot continue de gérer IMAP, POP3, LMTP et l’authentification des utilisateurs. PostfixAdmin devient donc le panneau d’administration de vos domaines et comptes email. C’est plus confortable qu’une série de requêtes SQL tapées à la main, surtout lorsque le serveur héberge plusieurs domaines. Ce que PostfixAdmin permet de gérer les domaines virtuels ; les boîtes mail ; les alias ; les quotas, si votre pile mail les utilise ; les administrateurs de domaine ; les messages d’absence, selon votre configuration ; certains paramètres DKIM dans les versions récentes ; les connexions utilisateur, avec TOTP et mots de passe applicatifs selon la version installée. En revanche, PostfixAdmin ne configure pas magiquement toute votre pile mail. Il faut encore que Postfix et Dovecot utilisent la même base de données, les mêmes schémas et les bons fichiers de requêtes SQL. Pré-requis Ce guide part du principe que vous avez déjà : un serveur Linux administrable en SSH ; Nginx installé ; PHP-FPM installé ; MariaDB ou MySQL installé ; Postfix installé ; Dovecot installé si vous gérez IMAP, POP3 ou LMTP ; un certificat TLS valide pour le sous-domaine PostfixAdmin ; un accès root ou sudo. Dans les exemples, j’utilise les valeurs suivantes : pfa.example.com /srv/postfixadmin /var/vmail postfix postfixadmin php8.3-fpm Remplacez évidemment example.com, les chemins et les versions PHP par ceux de votre serveur. Installer les paquets nécessaires Installez les dépendances de base : sudo apt update sudo apt install \ curl \ unzip \ tar \ mariadb-client \ mariadb-server \ nginx \ php8.3-fpm \ php8.3-cli \ php8.3-common \ php8.3-curl \ php8.3-imap \ php8.3-intl \ php8.3-mbstring \ php8.3-mysql \ php8.3-readline \ php8.3-sqlite3 \ php8.3-xml \ php8.3-zip Si votre serveur utilise PHP 8.4, adaptez simplement les paquets et le socket PHP-FPM. Évitez en revanche de rester sur une vieille version de PHP pour une interface d’administration exposée en HTTPS. Une interface mail périmée, c’est une invitation avec buffet. Vérifiez la version de PHP :... --- ### Nextcloud: mise en place du cron et des alertes emails - **URL**: https://www.skyminds.net/nextcloud-mise-en-place-du-cron-et-des-alertes-emails/ Mise en place du cron Sur votre instance Nextcloud, il est important de mettre en place un cron qui va permettre de lancer les tâches de maintenance à intervalles réguliers. Dans Paramètres > Administration > Paramètres de base, sélectionnez l'option Cron pour les tâches de fond: Ensuite, créez un fichier pour l'utilisateur www-data depuis le terminal: crontab -u www-data -e et à la fin du fichier on ajoute une tâche qui va se lancer toutes les 5 minutes: */5 * * * * php -f /home/www/nextcloud/cron.php Pensez à changer le chemin pour celui de votre installation Nextcloud. Et redémarrez le service cron pour appliquer les changements: service cron restart Notification automatique des nouvelles versions Maintenant que le cron est en place, nous allons pouvoir planifier une tâche qui vérifiera chaque semaine s'il existe une nouvelle version de Nextcloud. Cela peut sembler fou mais Nextcloud ne vous prévient pas lorsque de nouvelles mises à jour sont disponibles et il faut donc le mettre en place soi-même. Nous ouvrons donc le fichier crontab pour notre utilsateur www-data : crontab -u www-data -e et nous ajoutons cette ligne, qui permet la vérification et notification des nouvelles versions par email, tous les vendredis à 19h: 0 19 * * 5 php /home/www/nextcloud/occ update:check # nextcloud update check, at 19:00 every Friday Pensez à changer le chemin pour celui de votre installation Nextcloud. Mise à jour automatique de votre installation Nextcloud Être notifié des mises à jour, c'est bien - mais nous pouvons faire bien mieux : pourquoi ne pas installer automatiquement les mises à jour de NextCloud de manière à toujours avoir la dernière version ainsi que tous les correctifs de sécurité? Ajoutez un nouveau cron: 0 20 * * 5 php /home/www/nextcloud/updater/updater.phar --no-interaction # automatic nextcloud upgrade, at 20:00 every Friday Et redémarrez le service cron pour appliquer les changements: service cron restart Mise en place des alertes par email Nextcloud est capable de vous alerter pour les mises à jour de sécurité ainsi que la gestion des mots de passe perdu pour les comptes utilisateurs mais encore faut-il qu'il soit configuré pour utiliser votre serveur mail correctement. Par défaut, rien n'est configuré. Vous avez le choix entre définir un serveur SMTP ou alors utiliser sendmail si le serveur mail se trouve sur votre serveur. C'est le cas pour nous, donc nous choisissons sendmail : Vous pouvez également modifier le mot de passe d'un compte utilisateur simplement, depuis le terminal, avec cette commande occ: cd /home/www/nextcloud sudo -u www-data php ./occ user:resetpassword identifiant_nextcloud Et voilà, une étape de plus dans la configuration de votre Nextcloud ! --- ### Grand oral du bac : méthode complète pour réussir l’épreuve - **URL**: https://www.skyminds.net/reussir-grand-oral-bac/ Le Grand oral du bac ne récompense pas seulement les élèves qui parlent bien. Il valorise surtout ceux qui savent expliquer clairement une question, construire une réponse argumentée, mobiliser leurs connaissances et dialoguer avec un jury. Autrement dit, ce n’est pas un concours d’éloquence façon plateau télé. C’est une épreuve scolaire, avec des attentes précises, un format court et une méthode efficace. Bonne nouvelle : cela se travaille très bien. Voici une méthode complète pour choisir vos questions, préparer votre exposé, gérer les 20 minutes de préparation, tenir les 10 minutes de présentation et réussir l’échange avec le jury. Le Grand oral du bac : format actuel de l’épreuve Le Grand oral est une épreuve terminale du baccalauréat. Le jour de l’épreuve, vous remettez au jury une feuille contenant les deux questions préparées pendant l’année. Le jury choisit l’une des deux questions. Vous disposez ensuite de 20 minutes de préparation. L’épreuve orale dure 20 minutes et se déroule en deux temps : 10 minutes de présentation : vous exposez votre question, expliquez pourquoi vous l’avez choisie et présentez votre réponse argumentée ; 10 minutes d’échange : le jury vous interroge pour vérifier vos connaissances, votre compréhension du sujet et votre capacité à argumenter. Depuis la session 2024, il n’y a plus de partie séparée consacrée au projet d’orientation. Cela ne veut pas dire que votre projet personnel n’a plus d’importance. En revanche, il ne constitue plus un troisième temps autonome de l’épreuve. ÉlémentFormatPréparation sur place20 minutesPrésentation de la question10 minutesÉchange avec le jury10 minutesDurée totale de l’oral20 minutesCoefficient en voie générale10Coefficient en voie technologique14 Ce que le jury évalue vraiment Le jury ne cherche pas une récitation parfaite. Il évalue une prise de parole construite, claire et personnelle. Vous devez montrer que vous comprenez votre sujet, que vous savez l’expliquer, et que vous pouvez répondre à des questions sans paniquer dès qu’un adulte lève un sourcil. Le jury observe notamment : la solidité de vos connaissances ; la clarté de votre expression ; la structure de votre argumentation ; votre capacité à relier les savoirs ; votre esprit critique ; votre engagement dans la prise de parole ; votre capacité à dialoguer avec le jury ; votre précision lexicale ; votre gestion du temps ; votre aptitude à reformuler simplement des idées complexes. Une excellente prestation n’est donc pas forcément spectaculaire. Elle est maîtrisée, vivante, rigoureuse et compréhensible. Comment choisir ses deux questions de Grand oral Le choix des questions est décisif. Une mauvaise question produit souvent un exposé plat, descriptif ou trop vague. Une bonne question permet au contraire de problématiser, d’argumenter et de montrer une vraie réflexion personnelle. En voie générale, les deux questions doivent mobiliser vos enseignements de spécialité. Elles peuvent porter chacune sur une spécialité différente, ou bien être transversales. En voie technologique, elles s’appuient sur l’enseignement de spécialité lié à l’étude approfondie ou au projet mené pendant l’année. Une bonne question doit respecter cinq critères : elle est liée au programme, pas simplement à une... --- ### The Handmaid’s Tale: Chapter 5 analysis - **URL**: https://www.skyminds.net/the-handmaids-tale-chapter-5-analysis/ In chapter 5 of The Handmaid’s Tale, Offred and Ofglen meet a group of Japanese tourists. The scene looks minor at first, but it exposes one of Gilead’s central mechanisms: women are controlled through visibility, clothing, speech and shame. Yet the tourists also awaken Offred’s memories of her former body, her former clothes and her former freedom. Chapter 5 is built around a brief public encounter. Offred and Ofglen are walking in Gilead when they meet Japanese tourists. These visitors come from outside the regime, and their presence immediately creates a clash between two worlds: the controlled, colour-coded, puritanical world of Gilead and the freer, more exposed world that Offred once inhabited. The chapter matters because it turns looking into a political act. Who is allowed to look? Who must look down? Who can speak? Who must remain silent? Who is visible as a person, and who is reduced to a symbol? Through this apparently simple scene, Margaret Atwood explores surveillance, modesty, internalised ideology, body memory and Offred’s fragile movement towards consciousness. A group of people is coming towards us. They're tourists, from Japan it looks like, a trade delegation perhaps, on a tour of the historic landmarks or out for local colour. They're diminutive and neatly turned out; each has his or her camera, his or her smile. They look around, bright-eyed, cocking their heads to one side like robins, their very cheerfulness aggressive, and I can't help staring. It's been a long time since I've seen skirts that short on women. The skirts reach just below the knee and the legs come out from beneath them, nearly naked in their thin stockings, blatant, the high-heeled shoes with their straps attached to the feet like delicate instruments of torture. The women teeter on their spiked feet as if on stilts, but off balance; their backs arch at the waist, thrusting the buttocks out. Their heads are uncovered and their hair too is exposed, in all its darkness and sexuality. They wear lipstick, red, outlining the damp cavities of their mouths, like scrawls on a washroom wall, of the time before. I stop walking. Ofglen stops beside me and I know that she too cannot take her eyes off these women. We are fascinated, but also repelled. They seem undressed. It has taken so little time to change our minds, about things like this. Then I think: I used to dress like that. That was freedom. Westernized, they used to call it. The Japanese tourists come towards us, twittering, and we turn our heads away too late: our faces have been seen. There's an interpreter, in the standard blue suit and red-patterned tie, with the winged-eye tie pin. He's the one who steps forward, out of the group, in front of us, blocking our way. The tourists bunch behind him; one of them raises a camera. "Excuse me," he says to both of us, politely enough. "They're asking if they can take your picture." I look down at the sidewalk,... --- ### The Handmaid’s Tale Chapter 2 Analysis: Offred’s Room, Identity and Control - **URL**: https://www.skyminds.net/the-handmaids-tale-chapter-2-analysis/ In chapter 2 of The Handmaid’s Tale, Offred’s room looks plain, domestic and almost harmless. Yet every object reveals Gilead’s machinery of control: the missing chandelier, the partly opening window, the absent glass, the prescribed red clothing and the distorted mirror all turn private space into a system of surveillance, discipline and identity theft. Chapter 2 is one of the most important descriptive passages in Margaret Atwood’s novel. Nothing spectacular happens in terms of plot, which is precisely the point. Offred sits in a room, observes furniture, notices colours, dresses, leaves the room and walks through the Commander’s house. However, through this slow movement, Atwood teaches the reader how to read Gilead. The chapter works like a coded inventory. A chair is never only a chair. A window is never only a window. A mirror is never only a mirror. Offred’s world has been designed to reduce action, thought, memory and selfhood. Therefore, the passage reveals the violence of Gilead not through direct explanation, but through objects, spaces and tiny acts of interpretation. A chair, a table, a lamp. Above, on the white ceiling, a relief ornament in the shape of a wreath, and in the centre of it a blank space, plastered over, like the place in a face where the eye has been taken out. There must have been a chandelier, once. They've removed anything you could tie a rope to. A window, two white curtains. Under the window, a window seat with a little cushion. When the window is partly open - it only opens partly - the air can come in and make the curtains move. I can sit in the chair, or on the window seat, hands folded, and watch this. Sunlight comes in through the window too, and falls on the floor, which is made of wood, in narrow strips, highly polished. I can smell the polish. There's a rug on the floor, oval, of braided rags. This is the kind of touch they like: folk art, archaic, made by women, in their spare time, from things that have no further use. A return to traditional values. Waste not want not. I am not being wasted. Why do I want? On the wall above the chair, a picture, framed but with no glass: a print of flowers, blue irises, watercolour. Flowers are still allowed. Does each of us have the same print, the same chair, the same white curtains, I wonder? Government issue? Think of it as being in the army, said Aunt Lydia. A bed. Single, mattress medium-hard, covered with a flocked white spread. Nothing takes place in the bed but sleep; or no sleep. I try not to think too much. Like other things now, thought must be rationed. There's a lot that doesn't bear thinking about. Thinking can hurt your chances, and I intend to last. I know why there is no glass, in front of the watercolour picture of blue irises, and why the window only opens partly and why... --- ### Scotland: the Road to Independence - **URL**: https://www.skyminds.net/scotland-the-road-to-independence/ Scottish Independence Referendum, 2014 In August 2009 the SNP announced a Referendum Bill would be included in its package of bills to be debated before Parliament in 2009–10, to hold a referendum on the issues of Scottish independence in November 2010. The bill did not pass due to the SNP's status as a minority administration, and due to the initial opposition to the Bill from all other major parties in the Scottish Parliament. Following the Scottish Parliament general election, in 2011 the SNP had a majority in parliament and again brought forward an Independence Referendum Bill. The Scottish Government also suggested that full fiscal autonomy for Scotland (known as "devo-max") could be an alternative option in the vote. The negotiation of the Edinburgh Agreement (2012) resulted in the UK government legislating to provide the Scottish Parliament with the power to hold the referendum. The "devo-max" option was not included, however, as the Edinburgh Agreement stipulated that the referendum had to be a clear binary choice between independence or the existing devolution arrangements. The Scottish Independence Referendum (Franchise) Act 2013 was passed by the Scottish Parliament and campaigning commenced. Two days before the referendum was held, with polls very close, the leaders of the three main UK political parties made "The Vow", a public pledge to devolve "extensive new powers" to the Scottish Parliament if independence was rejected. They also agreed to a devolution timetable proposed by Gordon Brown. After heavy campaigning by both sides, voting took place on 18 September 2014. Independence was rejected by a margin of 45% in favour to 55% against. Smith Commission The day after the referendum, David Cameron announced the formation of the Smith Commission to "convene cross-party talks" concerning "recommendations for further devolution of powers to the Scottish Parliament". Two months later, on 27 November 2014, the commission published its recommendations, which included giving the Scottish Parliament complete power to set income tax rates and bands, the right to receive a proportion of the VAT raised in Scotland, increased borrowing powers, and an extensive list of other rights and powers. Scotland Act 2016 Based on the Smith Commission's recommendations, the Scotland Act 2016 was passed by Parliament and received Royal Assent on 23 March 2016. The Act set out amendments to the Scotland Act 1998 and devolved further powers to Scotland, most notably: 1- The ability to amend sections of the Scotland Act 1998 which relate to the operation of the Scottish Parliament and the Scottish Government within the United Kingdom including control of its electoral system (subject to a two-thirds majority within the parliament for any proposed change) 2- Legislative control over areas such as road signs, speed limits, onshore oil and gas extraction, rail franchising, consumer advocacy, and advice amongst others by devolution of powers concerning these fields to the Scottish Parliament and the Scottish Ministers. 3- Management of the Crown Estate, the British Transport Police and Ofcom in Scotland. 4- Control over certain and removable taxes including Air Passenger Duty and... --- ### Nextcloud: solutions pour les erreurs occ pour PHP, le mode maintenance et la base de données - **URL**: https://www.skyminds.net/nextcloud-solutions-erreurs-occ/ Dans Nextcloud, la page Paramètres > Administration > Vue d'ensemble vous permet d'avoir un bon aperçu des tâches de maintenance à effectuer sur votre installation Nextcloud. This version of Nextcloud is not compatible with > PHP 7.4 C'est une erreur - et non un avertissement - qui bloque toutes les commandes suivantes dans le terminal. Elle apparaît lorsqu'une version de PHP plus récente est installée sur votre serveur. Chez moi, par exemple, j'ai PHP 7.4 pour les sites en production et pour Nextcloud mais aussi PHP 8 pour les plateformes de développement. Voici le message d'erreur: This version of Nextcloud is not compatible with > PHP 7.4. You are currently running 8.4.0 Ce message apparaît parce que Nextcloud lance un rapide php -v pour déterminer la version de PHP installée. Cela ne reconnaît par contre que la version la plus récente installée. Voici ce que donne la commande : PHP 8.4.10 (cli) (built: Jul 3 2025 12:42:27) (NTS) Copyright (c) The PHP Group Built by Debian Zend Engine v4.4.10, Copyright (c) Zend Technologies with Zend OPcache v8.4.10, Copyright (c), by Zend Technologies La solution consiste à modifier manuellement la version retournée par php -v, à l'aide de la commande update-alternatives : update-alternatives --set php /usr/bin/php7.4 Si on relance php -v, voici le résultat: PHP 7.4.13 (cli) (built: Nov 28 2020 06:24:59) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Zend OPcache v7.4.13, Copyright (c), by Zend Technologies Avec cela, vous êtes parés pour les commandes occ de Nextcloud. Nextcloud reste bloqué en mode maintenance Cela peut arriver lors d'une mise à jour, pour diverses raisons. Solution 1: avec la commande occ cd /home/www/nextcloud sudo -u www-data php ./occ maintenance:mode --off Solution 2: éditer le fichier config.php 1. Editez le fichier config.php: nano /home/www/nextcloud/config/config.php 2. trouvez: 'maintenance' => true, 3. remplacez par: 'maintenance' => false, Enregistrez le fichier, l'assistant de mise à jour est alors capable de reprendre là où il s'était arrêté, automatiquement. Réparer la base de données Vous pouvez lancer cette commande pour réparer la base de données Nextcloud en cas de besoin: sudo -u www-data php occ maintenance:repair Résultat: - Repair MySQL collation - All tables already have the correct collation -> nothing to do - Repair mime types - Clean tags and favorites - 0 tags of deleted users have been removed. - 0 tags for delete files have been removed. - 0 tag entries for deleted tags have been removed. - 0 tags with no entries have been removed. - Repair invalid shares - Move .step file of updater to backup location - Add move avatar background job - Repair step already executed - Add preview cleanup background jobs - Fix potential broken mount points - No mounts updated - Repair language codes - Install new core bundle components - Add log rotate job - Clear frontend caches - Image cache cleared - SCSS cache cleared - JS cache cleared - Clear every generated avatar on major updates -... --- ### Importer une base de données dans Local depuis le shell - **URL**: https://www.skyminds.net/local-importer-base-donnees-shell/ LocalWP, souvent appelé simplement Local, propose une interface pratique pour créer des sites WordPress en local. Pour les petites opérations, son accès à la base de données via Adminer suffit largement. Mais dès qu’il faut importer une grosse base de données WordPress, l’interface graphique peut vite devenir pénible. Timeout, limite de taille, page qui mouline, import incomplet : le grand classique du “ça aurait dû prendre deux minutes”. La solution la plus fiable consiste à passer par le shell intégré à Local. Vous pouvez importer le fichier SQL avec WP-CLI ou avec la commande MySQL classique. C’est plus rapide, plus robuste, et beaucoup moins capricieux qu’un import via navigateur. Pourquoi importer la base depuis le shell ? Adminer reste très utile pour consulter rapidement une table, lancer une petite requête ou importer un dump léger. Cependant, un gros fichier SQL peut dépasser les limites PHP ou le temps d’exécution autorisé. Avec le shell, vous évitez ces limites côté navigateur. Le dump est envoyé directement au client MySQL ou à WP-CLI. Le processus devient plus stable, notamment pour les bases de plusieurs centaines de mégaoctets. Autre avantage : vous pouvez enchaîner l’import, le remplacement d’URL, la vérification des tables et la régénération des permaliens sans quitter le terminal. Ouvrir le shell du site dans LocalWP Commencez par démarrer le site dans Local. ouvrez Local ; sélectionnez le site concerné ; faites un clic droit sur le nom du site ; cliquez sur Open Site Shell. Local ouvre alors un terminal déjà configuré pour ce site. Vous êtes généralement placé dans le dossier WordPress, souvent autour de app/public. Pour vérifier où vous êtes : pwd Pour lister les fichiers présents : ls -lah Préparer le fichier SQL à importer Placez votre dump SQL dans le dossier du projet Local. Vous pouvez le mettre dans app ou directement dans app/public. Par exemple, sur macOS, un projet Local peut ressembler à ceci : /Users/matt/Local Sites/mon-site/app/public Si vous placez le fichier dans app, et que le shell s’ouvre dans app/public, vous devrez remonter d’un niveau avec ../. Exemple : ls -lah ../backup.sql Si le fichier est directement dans app/public, la commande sera simplement : ls -lah backup.sql Méthode recommandée : importer avec WP-CLI Pour un site WordPress, la méthode la plus propre consiste à utiliser WP-CLI : wp db import backup.sql WP-CLI lit les identifiants de base de données depuis wp-config.php. Vous n’avez donc pas besoin d’indiquer manuellement le nom de la base, l’utilisateur ou le mot de passe. Si votre fichier SQL est dans le dossier parent app, utilisez : wp db import ../backup.sql Après l’import, vérifiez que WordPress répond bien : wp option get siteurl wp option get home Si les URLs pointent encore vers le site de production, c’est normal après un import brut. Il faut ensuite remplacer les URLs. Remplacer l’URL de production par l’URL locale Après l’import, votre base contient souvent l’ancienne URL du site. Par exemple : https://www.example.com Il faut la remplacer par l’URL locale créée par LocalWP :... --- ### WordPress: retirer l’option de supprimer les extensions dans l’interface d’administration - **URL**: https://www.skyminds.net/wordpress-retirer-option-supprimer-extensions/ C'est assez rare comme demande mais je me suis exécuté : comment faire pour retirer le lien qui permet de supprimer les extensions désactivées dans l'interface d'administration, même si l'on est administrateur ? Et bien c'est assez simple, il suffit de filtrer le tableau des liens. Voici deux exemples simples pour mettre cela en place. Retirer le lien de suppression pour toutes les extensions Voici le code qui vous permet de retirer le lien "Supprimer" qui se trouve en dessous de chaque extension sur la page Extensions: --- ### Installation de Nextcloud: votre propre service de cloud chez vous - **URL**: https://www.skyminds.net/nextcloud-votre-propre-service-de-cloud-chez-vous/ Cela fait quelques temps que j'utilise une instance Nextcloud sur le serveur. Cela vous permet de créer votre propre service de cloud: vous gérez vous-mêmes vos données (images, documents, fichiers...) sans passer par un service tiers. Vous gardez donc entièrement la main sur vos données : plus besoin de Google Drive ou Dropbox (ou autre), c'est vous qui gérez. Nextcloud possède même ses applications mobiles pour pouvoir accéder à vos données à tout moment, sur tous supports. Ce tutoriel est réalisé sous Ubuntu Server mais il est facilement transposable à votre système d'exploitation sous Linux. Installation de Nextcloud Voici les paquets PHP nécessaires pour installer Nextcloud: PHP (7.2, 7.3 or 7.4)PHP module ctypePHP module curlPHP module domPHP module GDPHP module hash (only on FreeBSD)PHP module iconvPHP module JSONPHP module libxml (Linux package libxml2 must be >=2.7.0)PHP module mbstringPHP module opensslPHP module posixPHP module sessionPHP module SimpleXMLPHP module XMLReaderPHP module XMLWriterPHP module zipPHP module zlib Nextcloud est maintenant capable de tourner sous PHP 7.4 donc vous pouvez installer les paquets PHP qui lui sont nécessaires: apt install php7.4 php7.4-cli php7.4-gd php7.4-imap php7.4-mysql php7.4-soap php7.4-apcu php7.4-common php7.4-gmp php7.4-intl php7.4-opcache php7.4-xml php7.4-apcu-bc php7.4-curl php7.4-igbinary php7.4-json php7.4-readline php7.4-zip php7.4-bcmath php7.4-fpm php7.4-imagick php7.4-mbstring php7.4-redis On télécharge Nextcloud, depuis la page Téléchargement ou via la ligne de commande: wget https://download.nextcloud.com/server/releases/nextcloud-22.0.0.zip On décompresse l'archive: unzip nextcloud-22.0.0.zip Et on déplace ensuite le répertoire dans un dossier public lisible par le serveur de fichiers: mv nextcloud /var/www/html/ et on lui donne ensuite les bonnes permissions: chown -R www-data:www-data /var/www/html/nextcloud Création de la base de données Une fois dans l'interface mysql: CREATE USER 'nextcloud_user'@'localhost' IDENTIFIED BY 'password'; CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; GRANT ALL PRIVILEGES on nextcloud.* to 'nextcloud_user'@'localhost'; FLUSH privileges; quit; Server block NginX pour Nextcloud Notre serveur utilise NginX donc nous allons créer un nouveau server block: nano /etc/nginx/sites-available/nextcloud.conf et on y ajoute: upstream php-handler { #server 127.0.0.1:9000; server unix:/run/php/php7.4-fpm.sock; } server { listen 80; listen [::]:80; server_name XXXXXX.EXAMPLE.COM; # enforce https return 301 https://$server_name$request_uri; } server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name XXXXXX.EXAMPLE.COM; ssl_certificate /etc/nginx/ssl/skyminds.net/fullchain.pem; ssl_certificate_key /etc/nginx/ssl/skyminds.net/privkey.pem; Add headers to serve security-related headers # Before enabling Strict-Transport-Security headers please read into this # topic first. # add_header Strict-Transport-Security "max-age=15552000; includeSubDomains; preload;"; # # WARNING: Only add the preload option once you read about # the consequences in https://hstspreload.org/. This option # will add the domain to a hardcoded list that is shipped # in all major browsers and getting removed from this list # could take several months. add_header X-Frame-Options SAMEORIGIN; add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection "1; mode=block"; add_header X-Robots-Tag none; add_header X-Download-Options noopen; add_header X-Permitted-Cross-Domain-Policies none; add_header Referrer-Policy "strict-origin-when-cross-origin"; # Remove X-Powered-By, which is an information leak fastcgi_hide_header X-Powered-By; # Path to the root of your installation root /home/www/nextcloud/; error_log /var/log/nginx/nextcloud.log; location = /robots.txt { allow all; log_not_found off; access_log off; } # Make a regex exception for `/.well-known` so that clients can still # access it despite the existence of the regex rule # `location... --- ### Tout ce que vous devez savoir sur la sécurité des sites WordPress - **URL**: https://www.skyminds.net/securite-des-sites-wordpress/ Si vous avez un site internet sous WordPress, vous devez absolument vous préoccuper de sa sécurité. En effet, WordPress est souvent la cible privilégiée des hackers. Il est donc capital de connaître les mesures de prévention que vous devez prendre et les outils dont vous devez vous doter pour protéger vos sites. Pourquoi les hackers visent-ils les sites WordPress ? WordPress est la plate-forme de création de sites Web la plus populaire au monde. À l'heure actuelle, il existe 75 millions de sites WordPress sur Internet et des centaines de nouveaux sites sont créés chaque jour. Cette popularité a un revers. La popularité attire davantage l'attention, à la fois bonne et mauvaise. À chaque minute de chaque journée, on dénombre environ 90000 tentatives de piratage effectuées sur des sites internet WordPress ! C’est colossal et effrayant. De nombreux propriétaires de sites Web peuvent penser que leur site Web est trop petit pour attirer l’attention d’un pirate informatique. La vérité est que, comme les petits sites Web traitent souvent la sécurité avec légèreté, les pirates informatiques trouvent qu'il est d'autant plus facile de pirater de petits sites Web. De plus, WordPress est un univers ouvert où de nombreuses extensions et de nombreux thèmes sont proposés par des tiers. Ces outils deviennent facilement des failles par lesquelles il est facile de se faufiler pour pirater un site internet. Lorsque votre site Web est piraté, les pirates l’utilisent pour exécuter des activités malveillantes. Ils peuvent alors lancer des attaques plus importantes sur d'autres sites, envoyer des courriers indésirables, stocker des logiciels piratés, vendre des produits illégaux, entre autres. Les choses peuvent alors rapidement s’aggraver et les moteurs de recherche peuvent mettre votre site sur une liste noire. Chaque semaine, Google met d’ailleurs sur liste noire 50 000 sites Web pour des activités de phishing et environ 20 000 sites Web pour contenir des logiciels malveillants. Heureusement, vous pouvez faire de nombreuses choses pour protéger votre site Web contre les pirates. Dans cet article, nous vous montrerons les choses essentielles à mettre en œuvre pour garantir la sécurité de votre site Web. Les actions à entreprendre pour sécuriser votre site WordPress Voici les premières mesures à prendre pour protéger efficacement un site sous WordPress. Ce sont des actions faciles à mettre en œuvre, la plupart du temps rapides et peu coûteuses et surtout très efficaces pour vous protéger de la plupart des attaques courantes : ●       Installer un plugin de sécurité WordPress : c’est la première chose à faire et cela vous permettra d’avoir un vrai tableau de bord de suivi des attaques dont vous êtes victimes (avec des alertes) et aussi de pouvoir facilement mettre en place des protections élémentaires pour votre site. On peut citer des plugins comme Wordfence, Sucuri ou iThemes Security mais il en existe bien d’autres. ●       Faire des sauvegardes régulières : c’est élémentaire mais peu de gens s’en préoccupent. Prévoyez au moins une sauvegarde hebdomadaire pour être certain d’avoir une version de... --- ### Vanilla JS : créer des éléments aux couleurs aléatoires - **URL**: https://www.skyminds.net/vanilla-js-creer-des-elements-aux-couleurs-aleatoires/ Créer des éléments HTML en JavaScript natif reste l’un des meilleurs exercices pour comprendre le DOM. Pas besoin de React, Vue ou jQuery pour ajouter des blocs, leur donner du contenu, puis leur appliquer des couleurs aléatoires. Dans cet exemple, nous allons créer des cartes en Vanilla JS, générer une couleur de fond aléatoire, choisir automatiquement une couleur de texte lisible, puis injecter les éléments dans la page proprement. L’objectif : produire un code simple, moderne, performant et accessible. Conception du script simple J'inclus ici un bouton qui permet de rafraîchir aléatoirement les couleurs de notre bloc: Color 1 Color 2 Color 3 Color 4 Color 5 Color 6 Random Color HTML Pour la partie HTML, on part sur quelque chose de très simple: une liste à puces tout à fait standard mais vous pouvez bien sûr choisir d'utiliser d'autres types d'éléments: Color 1 Color 2 Color 3 Color 4 Color 5 Color 6 CSS On affiche une grille CSS de 3 colonnes pour les éléments de notre liste: * { margin: 0; padding: 0; font-family: Arial, sans-serif; } ul#random-colors { display: grid; grid-template-columns: 1fr 1fr 1fr; } ul#random-colors li { display: flex; align-items: center; justify-content: center; border: 1px dashed deeppink; flex-direction: column; height: 100px; padding: 0; margin: 0; list-style-type: none; } Vanilla JS Et voici le coeur du script, la fonction qui choisit un nombre aléatoire pour en dériver une couleur: const elements = document.querySelectorAll("ul#random-colors li"); [...elements].forEach((element) => { element.style.backgroundColor = getRandomColor(); }); function getRandomColor() { var color = `#${crypto.getRandomValues(new Uint32Array(1))[0].toString(16).padStart(8, 0).slice(-6)}` return color; } Fonctionnement du script On commence par stocker dans la constante elements tous les éléments de notre liste (qui possède l'identifiant random-colors ). Ensuite, nous passons la liste de chaque élément en revue avec une boucle forEach et on assigne à chacun une couleur de fond grâce à notre fonction getRandomColor(). La fonction getRandomColor() utilise les fonctions de chiffrement de JavaScript pour obtenir des valeurs avec davantage d'entropie que Math.random(). La méthodeCrypto.getRandomValues() nous donne de solides valeurs aléatoires (cryptograpiquement parlant). Le tableau Uint32Array nous donne un entier de 32 bits. Nous le transformons avec toString(16) pour obtenir une valeur hexadécimale. Ensuite, padStart(8, 0) nous permet d'ajouter autant de 0 que nécessaire pour obtenir un entier de 8 caractères et slice(-6) nous permet de garder uniquement les 6 derniers caractères qui formeront notre code couleur. Au final, nous obtenons une couleur unique pour chaque élément de notre liste. Vanilla JS : pourquoi créer les éléments sans framework ? Vanilla JS désigne simplement JavaScript sans bibliothèque externe. On utilise directement les API du navigateur : document.createElement(), classList, textContent, dataset, append() et les événements natifs. Cette approche convient très bien pour : ajouter quelques éléments dynamiques dans une page ; créer un petit composant interactif ; manipuler le DOM sans dépendance ; comprendre ce que font les frameworks sous le capot ; éviter de charger une bibliothèque pour trois cartes colorées. Pour un gros état applicatif, un framework peut se justifier. Pour créer des éléments aux couleurs aléatoires,... --- ### Réalisons votre projet WordPress ou WooCommerce - **URL**: https://www.skyminds.net/realisons-votre-projet-wordpress-ou-woocommerce/ Nos compétences au service de vos besoins Stratégie Nous étudions le parcours de votre site et vos besoins pour vous fournir une solution à long-terme, qui correspond à votre vision. Développement Vous souhaitez ajouter de nouvelles fonctionnalités à votre site ou boutique? Nous pouvons coder la solution! Performance Votre site doit être rapide et optimisé sur tous supports afin de convertir vos visiteurs. Nous auditons votre site et proposons la solution adaptée. Hébergement Vos projets ont besoin d'un hébergement de qualité, c'est la fondation de votre site web et elle doit être solide car c'est sur elle que tout repose. Maintenance Votre site a besoin d'une maintenance régulière afin de toujours utiliser la dernière mouture du code et rester sécurisé face aux menaces. Assistance Vous avez besoin d'aide ponctuelle? Pas de problème, nous sommes à votre écoute pour vous dépanner rapidement et sereinement. Soumettez votre projet Travaillons ensemble au succès de votre projet 1. Nous élaborons la stratégie 3. Nous déployons le code 2. Nous développons votre projet 4. Nous ajustons et optimisons Étape 1: nous élaborons la stratégie ensemble. Je comprends que votre site Web idéal est celui qui est parfaitement adapté pour vous. Je m'efforce de créer une expérience en ligne unique pour mes clients qui reflète votre personnalité, met en valeur vos forces et accomplit vos objectifs. Parce qu'une taille unique ne convient pas à tous, nous allons concevoir une stratégie personnalisée qui est aussi unique que votre entreprise. Vous pouvez être sûr que la stratégie que nous élaborons ensemble portera ses fruits et travaillera pour vous. Je pense que votre site Web est bien plus qu'une esthétique séduisante, c'est pourquoi j'aborde chaque projet d'un point de vue commercial plutôt que simplement artistique. La combinaison de visuels époustouflants et de solutions stratégiques vous permet de créer des liens plus productifs avec vos clients. D'autres concepteurs peuvent vous proposer un site qui fonctionne, mais vous pouvez me faire confiance pour en créer un qui excelle. J'accomplis cela en tenant compte de chaque nuance et complexité pour donner à votre site Web un look époustouflant et des performances encore plus fortes. Vous avez votre créneau et moi le mien, ensemble, nous associerons mes talents à votre voix pour partager votre histoire en ligne d'une manière convaincante et unique pour vous. Je travaillerai avec vous tout au long du processus pour m'assurer que votre nouveau site reflète votre marque, capte l'attention de vos clients, améliore les interactions des utilisateurs et, en fin de compte, augmente vos revenus. Je suis ici pour m'assurer que tout ce que fait votre site fonctionne bien. Étape 2: le développement, pour donner vie à votre projet Je travaille sur chaque projet avec mon jus créatif coulant librement. Vous ne trouverez pas un autre développeur Web qui travaille plus dur pour créer des sites Web uniques qui incitent les gens à s'arrêter et à prendre connaissance. Je sais que votre entreprise veut quelque chose de convaincant et c'est pourquoi je ne me contenterai jamais de rien... --- ### CSS: superposer du texte lisible sur une image de fond - **URL**: https://www.skyminds.net/css-superposer-du-texte-lisible-sur-une-image-de-fond/ Superposer du texte sur une image de fond est très courant : hero de page d’accueil, bannière d’article, carte produit, section d’appel à l’action, couverture WordPress… Le piège, toutefois, consiste à poser du texte blanc sur une belle photo et à croiser les doigts. Mauvaise nouvelle : les yeux de vos visiteurs ne fonctionnent pas en mode “inspecteur CSS”. Si l’image est claire, chargée ou très contrastée, le texte devient vite illisible. Bonne nouvelle : une simple couche sombre, appliquée en CSS, règle le problème proprement. Le principe : ajouter un overlay entre l’image et le texte Pour rendre un texte lisible sur une image, on ajoute généralement un voile sombre au-dessus de l’image. Ensuite, on place le texte au-dessus de ce voile. La méthode la plus simple consiste à utiliser plusieurs arrière-plans CSS avec background-image : d’abord un dégradé semi-transparent, puis l’image. Exemple HTML minimal Voici une planche à voile Une image de planche à voile se trouve derrière ce texte. Le HTML reste volontairement simple. On garde une section, un conteneur de contenu, puis le titre et le texte. CSS : image de fond avec overlay sombre .hero-image { display: grid; min-height: min(70vh, 42rem); place-items: center; padding: clamp(3rem, 8vw, 7rem) 1.5rem; color: #ffffff; text-align: center; background-color: #111827; background-image: linear-gradient( rgb(0 0 0 / 62%), rgb(0 0 0 / 62%) ), url("https://images.unsplash.com/photo-1518810370118-0fde40f8b0f3?auto=format&fit=crop&w=1800&q=80"); background-position: center; background-size: cover; } .hero-image__content { max-width: 48rem; } .hero-image h1 { margin: 0 0 1rem; font-size: clamp(2.25rem, 6vw, 5rem); line-height: 1; } .hero-image p { margin: 0; font-size: clamp(1.125rem, 2vw, 1.375rem); line-height: 1.6; } La première couche de background-image est le dégradé sombre. La deuxième couche est l’image. CSS empile les arrière-plans dans cet ordre : le premier déclaré apparaît au-dessus des suivants. Autrement dit, le navigateur affiche ici le voile noir semi-transparent au-dessus de la photo, mais sous le texte. C’est propre, performant et sans JavaScript. Pourquoi utiliser un dégradé au lieu d’une vraie image noire ? Parce que le dégradé CSS ne déclenche aucune requête HTTP supplémentaire. Le navigateur le génère directement. Vous évitez donc une image décorative inutile. De plus, vous pouvez ajuster l’opacité très facilement. Par exemple, rgb(0 0 0 / 45%) assombrit peu l’image, tandis que rgb(0 0 0 / 75%) donne un rendu beaucoup plus contrasté. Voici une planche à voile Une image de planche à voile se trouve derrière ce texte. Le secret réside dans l'image en filigrane noir qui se trouve au dessus de l'image, sous notre texte. Lorsque l'on utilise plusieurs propriétés background-image, elles se superposent, avec la première propriété au dessus des autres. Nous ajoutons également un linear-gradient à notre background-image. Nous utilison la fonction rgba() pour notre déclaration de couleur, avec 0, 0, 0 pour obtenir du noir. Ensuite nous utilisons 0.6 comment coefficient alpha - c'est-à-dire le coefficient de transparence, plus il est proche de 0 et plus il est transparent, plus il est proche de 1 et plus il est sombre. Et voilà, vous obtenez un texte lisible superposé sur une image... --- ### The Handmaid’s Tale: analysis of the opening chapter - **URL**: https://www.skyminds.net/the-handmaids-tale-incipit-analysis/ The opening chapter of The Handmaid’s Tale transforms a familiar school gymnasium into a place of military detention. By superimposing memories of dances, teenage desire and popular culture upon army beds, cattle prods and barbed wire, Margaret Atwood immediately introduces the central conflicts of the novel: memory against ideological erasure, individual identity against classification, and communication against enforced silence. Margaret Atwood begins The Handmaid’s Tale without explaining Gilead, identifying the narrator or describing the political revolution that has transformed the United States. The reader enters an unfamiliar system through the remains of a recognisable world. Understanding the setting consequently requires the same activity that will govern the entire novel: interpreting fragments, comparing past and present, and reading beneath official appearances. The chapter is set in the Rachel and Leah Center, later known informally as the Red Center, where fertile women are trained to become Handmaids. Yet none of this institutional vocabulary is supplied immediately. The opening presents only a transformed gymnasium, armed surveillance and women learning to communicate without being heard. We slept in what had once been the gymnasium. The floor was of varnished wood, with stripes and circles painted on it, for the games that were formerly played there; the hoops for the basketball nets were still in place, though the nets were gone. A balcony ran around the room, for the spectators, and I thought I could smell, faintly like an afterimage, the pungent scent of sweat, shot through with the sweet taint of chewing gum and perfume from the watching girls, felt-skirted as I knew from pictures, later in miniskirts, then pants, then in one earring, spiky green-streaked hair. Dances would have been held there; the music lingered, a palimpsest of unheard sound, style upon style, an undercurrent of drums, a forlorn wail, garlands made of tissue-paper flowers, cardboard devils, a revolving ball of mirrors, powdering the dancers with a snow of light. There was old sex in the room and loneliness, and expectation, of something without a shape or name. I remember that yearning, for something that was always about to happen and was never the same as the hands that were on us there and then, in the small of the back, or out back, in the parking lot, or in the television room with the sound turned down and only the pictures flickering over lifting flesh. We yearned for the future. How did we learn it, that talent for insatiability? It was in the air; and it was still in the air, an afterthought, as we tried to sleep, in the army cots that had been set up in rows, with spaces between so we could not talk. We had flannelette sheets, like children's, and army-issue blankets, old ones that still said U.S. We folded our clothes neatly and laid them on the stools at the ends of the beds. The lights were turned down but not out. Aunt Sara and Aunt Elizabeth patrolled; they had electric cattle prods slung on thongs from... --- ### Solution pour Webmin qui ne veut pas démarrer sous systemd - **URL**: https://www.skyminds.net/solution-pour-webmin-qui-ne-veut-pas-demarrer-sous-systemd/ Je suis tombé sur une drôle d'erreur ce matin sur un VPS de mes clients : après mise à jour du système et redémarrage du serveur, webmin est injoignable et son service ne veut plus démarrer. Les messages d'erreurs On commence par lancer un curl distant depuis un autre serveur, histoire de voir si c'est bien injoignable de manière globale, et non propre à notre machine: curl -I https://example.com:10000/ Résultat: curl: (7) Failed to connect to example.com port 10000: Connection refused Pas de doute, cela touche tout le monde. On vérifie donc l'état du service: systemctl status webmin.service Résultat: webmin.service - LSB: web-based administration interface for Unix systems Loaded: loaded (/etc/init.d/webmin; generated) Active: failed (Result: exit-code) since Sat 2020-09-12 17:35:13 CST; 20s ago Docs: man:systemd-sysv-generator(8) Process: 1803 ExecStart=/etc/init.d/webmin start (code=exited, status=25) Sep 12 17:35:13 systemd[1]: Starting LSB: web-based administration interface for Unix systems... Sep 12 17:35:13 systemd[1]: webmin.service: Control process exited, code=exited status=25 Sep 12 17:35:13 systemd[1]: webmin.service: Failed with result 'exit-code'. Sep 12 17:35:13 systemd[1]: Failed to start LSB: web-based administration interface for Unix systems. Ce n'est pas très loquace! journalctl est plus détaillé: journalctl -xe Résultat : -- All system services necessary queued for starting at boot have been -- started. Note that this does not mean that the machine is now idle as services -- might still be busy with completing start-up. -- -- Kernel start-up required 1709722 microseconds. -- -- Initial RAM disk start-up required INITRD_USEC microseconds. -- -- Userspace start-up required 152146335 microseconds. Sep 12 17:35:13 systemd[1]: Starting LSB: web-based administration interface for Unix systems... -- Subject: Unit webmin.service has begun start-up -- Defined-By: systemd -- Support: http://www.ubuntu.com/support -- -- Unit webmin.service has begun starting up. Sep 12 17:35:13 systemd[1]: webmin.service: Control process exited, code=exited status=25 Sep 12 17:35:13 systemd[1]: webmin.service: Failed with result 'exit-code'. Sep 12 17:35:13 systemd[1]: Failed to start LSB: web-based administration interface for Unix systems. -- Subject: Unit webmin.service has failed -- Defined-By: systemd -- Support: http://www.ubuntu.com/support -- -- Unit webmin.service has failed. -- -- The result is RESULT. Mais nous n'obtenons toujours aucune information exploitable. Redémarrer le service avec service ne permet pas de le redémarrer. La solution Le seul moyen de redémarrer le service webmin sur ce VPS a été de la manière suivante: /etc/init.d/webmin stop systemctl start webmin Et là, plus de problème, webmin démarre comme il faut. --- ### Générer un mot de passe Wi-Fi sécurisé pour WPA2 et WPA3 - **URL**: https://www.skyminds.net/wifi-generateur-de-cles-wpa-securisees/ Un réseau Wi-Fi sécurisé commence par une bonne phrase de passe. Pas par le nom du chien, pas par le numéro de téléphone, pas par azerty123, et certainement pas par la clé imprimée sous la box depuis dix ans. À l’époque, on parlait souvent de “clé WPA”. Aujourd’hui, le terme le plus juste est plutôt mot de passe Wi-Fi ou phrase de passe WPA2/WPA3. Le principe reste simple : plus elle est longue, unique et imprévisible, plus elle résiste aux attaques par dictionnaire. Voici comment générer une phrase de passe Wi-Fi robuste, choisir le bon mode de sécurité, éviter les erreurs classiques et partager votre accès sans exposer votre réseau principal. WEP, WPA, WPA2, WPA3 : que choisir ? Les modes de sécurité Wi-Fi ont beaucoup évolué. Certains anciens réglages doivent désormais disparaître de votre configuration. ModeStatutRecommandationWEPObsolèteÀ ne jamais utiliser.WPAAncienÀ éviter.WPA2-PersonalEncore très courantAcceptable avec AES/CCMP et une phrase de passe solide.WPA3-PersonalModerneÀ privilégier si tous vos appareils le supportent.WPA2/WPA3 transitionCompatibilitéUtile avec des appareils anciens, mais moins strict que WPA3 seul. Sur une box ou un routeur récent, choisissez WPA3-Personal si tous vos appareils sont compatibles. Sinon, utilisez WPA2-Personal AES ou un mode transition WPA2/WPA3 si vous avez encore des équipements plus anciens. Évitez les réglages qui mentionnent WEP, TKIP ou WPA seul. Ils appartiennent au musée du Wi-Fi, entre les antennes 802.11b et les clés USB qui chauffaient comme des grille-pain. Quelle longueur pour un bon mot de passe Wi-Fi ? Pour un mot de passe Wi-Fi, la longueur compte énormément. Contrairement au mot de passe d’un compte personnel, la phrase de passe Wi-Fi est souvent partagée avec plusieurs appareils, parfois pendant des années. Elle mérite donc d’être plus longue qu’un mot de passe classique. Recommandation simple : minimum acceptable : 16 caractères aléatoires ; bon niveau : 20 à 32 caractères aléatoires ; très bon niveau : phrase de passe de 5 à 7 mots aléatoires ; à éviter : mots du dictionnaire, dates, prénoms, adresse, numéro de téléphone, nom du réseau. Le WPA2-Personal accepte une phrase de passe de 8 à 63 caractères ASCII. Mais 8 caractères, c’est seulement le minimum technique. Ce n’est pas une bonne cible de sécurité. Le minimum, c’est le sol. Pas le plafond. Mot de passe aléatoire ou phrase de passe ? Vous avez deux bonnes options : un mot de passe aléatoire court mais dense, ou une phrase de passe plus longue et plus facile à dicter. TypeExempleAvantageLimiteAléatoirevK8!rZ4pT9mQ2sL7xA6Très robuste et compact.Difficile à dicter.Phrase de passenuage-bocal-satin-kiwi-moteur-lampePlus lisible et partageable.Doit utiliser des mots vraiment aléatoires. Pour un réseau domestique, une phrase de passe de plusieurs mots aléatoires est souvent le meilleur compromis. Elle est longue, difficile à deviner, et moins pénible à saisir sur une TV, une console ou une imprimante. Générer une phrase de passe Wi-Fi localement Évitez les générateurs de mots de passe Wi-Fi douteux en ligne. Un générateur web peut être honnête, mais vous n’avez pas toujours moyen de le vérifier. Pour une clé Wi-Fi, générez localement sur votre machine ou avec... --- ### Ajouter un lien avec le nombre d’articles et le total du panier WooCommerce - **URL**: https://www.skyminds.net/ajouter-un-lien-nombre-articles-total-panier-woocommerce/ Rares sont désormais les thèmes WordPress qui n'offrent pas le support de WooCommerce tant l'extension qui propulse aujourd'hui des millions de boutiques en ligne est populaire. Toutefois, le code de WooCommerce évolue en permanence et certaines fonctions changent de nom ou sont appelées différemment. Un thème compatible avec WooCommerce 2.6 ne l'était plus avec WooCommerce 3.3 par exemple, lorsque toutes les fonctions relatives au panier sont passées à des fonctions objets. Montrer le nombre d'articles dans le panier dans le thème Un client Codeable m'a récemment demandé de mettre à jour son thème, qui n'est plus supporté par son auteur, pour afficher le nombre d'articles dans le panier. Voici le code à insérer, soit dans un des fichiers de votre thème (header.php est le plus indiqué dans notre cas) ou alors dans un widget HTML: --- ### Corriger les erreurs SASL, stats-writer et SSL dans Dovecot - **URL**: https://www.skyminds.net/dovecot-solution-sasl-stats-writer-ssl/ Après une mise à jour de Dovecot, un serveur mail peut soudain refuser l’authentification SMTP, remplir les logs avec une erreur stats-writer, ou ne plus initialiser correctement TLS. Les messages ressemblent souvent à ceci : postfix/smtps/smtpd: warning: SASL: Connect to private/auth failed: Connection refused postfix/smtps/smtpd: fatal: no SASL authentication mechanisms dovecot: lda(user@example.com): Error: net_connect_unix(/run/dovecot/stats-writer) failed: Permission denied dovecot: imap-login: Error: Failed to initialize SSL server context Ces erreurs ne viennent pas forcément d’une panne grave. Elles apparaissent souvent après un changement de version, une migration Debian/Ubuntu, une modification de Postfix, ou une configuration Dovecot restée sur d’anciennes directives. Voici une méthode propre pour diagnostiquer et corriger les erreurs SASL, stats-writer, SSL/TLS et Diffie-Hellman dans Dovecot, sans empiler des permissions au hasard. Commencer par identifier la version de Dovecot Avant de corriger la configuration, vérifiez la version réellement installée : dovecot --version Affichez ensuite la configuration active : doveconf -n Cette commande est indispensable. Elle affiche la configuration finale après inclusion de tous les fichiers dans /etc/dovecot/conf.d/. Elle montre aussi les erreurs de syntaxe, les directives obsolètes et les doublons. Sur un serveur systemd, regardez aussi l’état du service : systemctl status dovecot --no-pager Et les logs récents : journalctl -u dovecot -n 100 --no-pager Pour Postfix : journalctl -u postfix -n 100 --no-pager Ne redémarrez pas les services en boucle avant d’avoir lu les logs. C’est satisfaisant émotionnellement, mais rarement productif. Erreur SASL : Postfix ne trouve plus le socket Dovecot Si Postfix affiche ce type d’erreur : SASL: Connect to private/auth failed: Connection refused fatal: no SASL authentication mechanisms Postfix essaie d’utiliser Dovecot pour l’authentification SMTP, mais il ne parvient pas à joindre le socket SASL. Dans une configuration classique, Dovecot doit créer ce socket : /var/spool/postfix/private/auth Et Postfix doit pointer vers lui avec une configuration du type : smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_auth_enable = yes Vérifiez Postfix : postconf -n | grep -E 'smtpd_sasl|smtpd_tls|submission' Vérifiez aussi que Postfix sait utiliser Dovecot comme backend SASL : postconf -a La sortie doit contenir : dovecot Corriger le socket SASL dans Dovecot Ouvrez la configuration maître de Dovecot : nano /etc/dovecot/conf.d/10-master.conf Dans le bloc service auth, ajoutez ou corrigez le listener utilisé par Postfix : service auth { unix_listener /var/spool/postfix/private/auth { mode = 0660 user = postfix group = postfix } } Cette configuration crée un socket accessible par Postfix, dans son environnement chroot habituel. C’est la configuration la plus courante pour l’authentification SMTP via Dovecot SASL. Si vous utilisez aussi un compte virtuel comme vmail, ne confondez pas les deux usages. Le socket SASL pour Postfix appartient généralement à postfix:postfix. Le socket auth-userdb ou auth-master peut, lui, concerner la livraison locale, LMTP, LDA ou les comptes virtuels. Vérifier que le socket SASL existe Après correction, vérifiez la configuration Dovecot : doveconf -n Puis rechargez Dovecot : systemctl reload dovecot Si le reload échoue, ne forcez pas un restart. Relisez l’erreur : journalctl -u dovecot -n 80 --no-pager Vérifiez ensuite que le socket existe : ls -l /var/spool/postfix/private/auth Vous... --- ### Créer un fichier sitemap à partir d’une liste d’articles pour le soumettre sur Google Search Console - **URL**: https://www.skyminds.net/sitemap-avec-liste-articles-google-search-console/ Ces derniers jours, en me rendant dans la Google Search Console, je me suis rendu compte que j'avais quelques milliers d'articles qui étaient indexés par Google mais sans être présents dans aucune sitemap. Il s'agit en fait des articles de tablatures de guitare: au lieu de publier un article pour chaque tablatures, le site crée à la volée un article WordPress qui contient la tablature en question. C'est très efficace mais cela ne permet évidemment pas de les ajouter au fichier sitemap par défaut. Si vous avez ce genre de configuration - ou si vous avez d'autres liens à soumettre à Google, voici ce que j'ai utilisé cette semaine. État des lieux On commence par se connecter à la Search Console pour se rendre dans Coverage > Valid > Indexed, not submitted in sitemap. Voici un petit graphique qui montre les 1658 pages au 26 juillet et après soumission de la première sitemap - 1000 liens, car cela semble être la limite de l'export de la Search console, un premier résultat positif: Export de la liste des articles Tout en haut de la page, cliquez sur le bouton Export et sélectionnez Download CSV: Cela lance le téléchargement d'un fichier zip. Décompressez l'archive et ouvrez le fichier Table.csv dans votre tableur préféré. Préparation du fichier CSV Le fichier CSV généré par la Search Console ne contient que deux colonnes: URL et Last crawled (date de la dernière visite GoogleBot). Nous allons utiliser un service en ligne qui requiert deux colonnes supplémentaires: changefreq (fréquence de mise à jour) et priority (priorité par rapport à d'autres pages). Commencez par créer les deux nouvelles colonnes. Je mets monthly dans la colonne changefreq et 0.5 dans la colonne priority pour chaque élément du tableau. Pro-tip: écrivez-les une fois dans le premier élément et étirez la cellule vers le bas jusqu'au dernier élément du tableau, cela recopiera la valeur pour toute la colonne. Enregistrez votre fichier CSV. Ouvrez-le maintenant avec un simple éditeur de texte puis supprimez la première ligne, qui contient le nom des colonnes du tableau. La ligne devrait ressembler à URL;Last crawled;changefreq;priority. Cherchez et remplacez tous les points-virgule (;) et remplacez-les par le caractère pipe (|). Enregistrez vos modifications. Changez l'extension du fichier: troquez l'extension .csv pour l'extension .txt Votre fichier est prêt! Conversion du fichier CSV en fichier sitemap.xml C'est la partie la plus simple: nous allons utiliser un outil en ligne, MobileFish Sitemap Generator : Choisissez la méthode 2, uploadez votre fichier CSV (au format .txt). Cliquez sur Start et ensuite sur Download sitemap.xml pour télécharger votre nouveau fichier de sitemap. Ajout du fichier sitemap à la Search Console Il ne vous reste plus qu'à soumettre votre fichier sitemap dans Search Console > Sitemaps. N'oubliez pas de l'ajouter également dans votre fichier robots.txt avec la syntaxe suivante: Sitemap: https://example.com/sitemap.xml Conclusion Voilà, nous venons de créer un nouveau fichier sitemap pour les pages que Google avait détecté mais que nous ne lui avions pas soumis explicitement via une sitemap. Une fois que... --- ### MacOS : changer les serveurs DNS pour éviter les DNS menteurs de votre box - **URL**: https://www.skyminds.net/macos-eviter-les-dns-menteurs-de-votre-box/ Il m'arrive très souvent d'utiliser une connexion Orange (depuis une Livebox 4) lorsque je suis chez mes parents. Le problème est que la Livebox possède ses propres serveurs DNS intégrés et qu'ils sont menteurs, c'est-à-dire qu'ils obéissent à des règles de filtrage et de blocage décidés par l'opérateur (ou par des décisions de justice qui concernent tous les opérateurs). Dans le cas d'Orange, les requêtes sont automatiquement redirigées vers votre machine locale, sur localhost. Comme j'utilise mon serveur Local tourne en quasi-permanence sur ma machine, cela me donne une belle erreur 502, comme vous pouvez le voir sur cette image: Lorsque votre les DNS intégrés à votre box vous mentent, il est temps de changer! Nous avions déjà abordé le changement des serveurs DNS de notre Freebox mais il est un peu plus délicat de demander à vos hôtes de pouvoir changer les réglages de leur box... Il y a une solution bien plus simple que de trifouiller au fond des entrailles du routeur fruitier : il suffit d'ajouter de nouveaux serveurs de noms sur votre machine, directement dans les options de votre connexion réseau. Modification des serveurs de noms sous MacOS Sous MacOS, il suffit de se rendre dans Préférences Systèmes > Réseau > Avancé : Naviguez ensuite sur l'onglet DNS, puis cliquez sur le signe + pour ajouter un nouveau serveur de nom, qui sera dorénavant utilisé par votre connexion: Voici quelques serveurs DNS intéressants pour contourner les blocages: serveurs Quad9 : 9.9.9.9 (IPv6 : 2620:fe::fe) + 149.112.112.112 (IPv6 : 2620:fe::9) – Serveurs sécurisés pour les requêtes DNS entre votre navigateur et le serveur DNS + protection contre les serveurs servant aux malwaresserveurs OpenDNS family shield : 208.67.222.123 + 208.67.220.123 – Serveurs bloquant les requêtes vers les sites pornographiquesserveurs FDN : 80.67.169.12 (IPv6 : 2001:910:800::12) + 80.67.169.40 (IPv6 : 2001:910:800::40)serveurs OpenNIC : choisissez le serveur qui vous convient (DoH, logs) dans la liste.serveurs Open Root Server Network (ORSN): axés sur la protection de la vie privée et ne gardent en théorie aucun fichier de logs. Cliquez sur Ok puis sur Appliquer pour activer les nouveaux réglages. C'est fini, vous devriez désormais avoir accès aux sites précédemment interdits d'accès. --- ### An Hour with Pink Floyd: KQED - **URL**: https://www.skyminds.net/an-hour-with-pink-floyd-kqed/ ‘An Hour with Pink Floyd: KQED’ sees the band filmed performing live in April 1970 by San Francisco cable TV station KQED: https://www.youtube.com/watch?v=Zk4-KugqXcc Taken from the version featured on 2016 ‘The Early Years 1965-1972’ box set, the film includes performances of Atom Heart Mother, Cymbaline, Grantchester Meadows, Green is the Colour and Careful with that Axe Eugene. Appearing as part of the @YouTube Film Festival until May 17th. --- ### Mise à jour du serveur vers Ubuntu Focal Fossa (20.04 LTS) - **URL**: https://www.skyminds.net/mise-a-jour-du-serveur-vers-ubuntu-focal-fossa/ Ce soir, on lance la mise à jour du serveur: nous passons notre version d'Ubuntu Server de Bionic Beaver (18.04 LTS) à Focal Fossa (20.04 LTS). On commence par les précautions d'usage: faire ses sauvegardes et vérifier qu'elles sont bien intègres avant de commencer la mise à jour. C'est votre bouée en cas de soucis! Étape 1: avoir l'installation d'Ubuntu actuelle à jour Assurez-vous d'avoir une installation à jour avant de commencer: apt update && apt dist-upgrade On reboot ensuite pour appliquer les changements: shutdown -r now Étape 2: installation de screen et ouverture du port 1022 pour SSH Comme nous allons lancer la mise à jour via un terminal SSH, il est possible que pour une raison ou un autre la connexion soit coupée. Cela arrive et cela peut être vraiment tendu à certaines étapes de la mise à jour (kernel anyone?). Pour prévenir cela, on vérifie que screen est bien installé: apt install screen On peut lancer une session screen avec: screen et si la connexion SSH est interrompue lors de la mise à jour, on peut se raccrocher à la session de mise à jour avec la commande: screen -Dr Ensuite, au niveau du pare-feu, on ouvre le port 1022. C'est via ce port que l'on pourra reprendre la MAJ en cas de pépin. Suivant la configuration du serveur, on peut utiliser iptables: iptables -I INPUT -p tcp --dport 1022 -j ACCEPT ou alors ufw: ufw allow 1022 Étape 3: installation des sources de mises à jour Normalement, ces paquets sont installés d'office mais cela ne coûte rien de vérifier qu'ils sont bien présents avant de lancer toute commande: apt install update-manager-core ubuntu-release-upgrader-core On vérifie dans le fichier /etc/update-manager/release-upgrades que la variable Prompt et bien égale à LTS pour n'installer que les versions Long Time Support: cat /etc/update-manager/release-upgrades ... Prompt=LTS Étape 4: lancement de l'installation Vous avez bien fait vos sauvegardes? C'est parti, on lance la procédure de mise à jour: do-release-upgrade -d Il y a plusieurs écrans d'avertissement concernant SSH: [...] Continue running under SSH? This session appears to be running under ssh. It is not recommended to perform a upgrade over ssh currently because in case of failure it is harder to recover. If you continue, an additional ssh daemon will be started at port '1022'. Do you want to continue? Continue [yN] Y On a bien ouvert le port 1022 donc validez. Vous tombez sur un autre écran qui vous informe que certains services auront besoin d'être redémarrés. Choisissez Yes pour que les services soient redémarrés automatiquement, sans intervention de votre part. L'installation a pris entre 30 et 40 minutes sur le serveur. A la fin, on nous demande de rebooter le serveur pour appliquer tous les changements (avec mise à jour majeure du kernel): [...] System upgrade is complete. Restart required. To finish the upgrade, a restart is required. If you select 'y' the system will be restarted. Continue [yN] Y Et voilà, après redémarrage de la machine, tous nos services sont opérationnels.... --- ### PHP: résoudre l’erreur « file_get_contents(): SSL operation failed with code 1 » - **URL**: https://www.skyminds.net/php-file-get-contents-ssl-operation-failed-with-code-1/ J’ai récemment utilisé l’API de YouTube pour récupérer plusieurs informations sur des vidéos, afin d’ajouter au site les données structurées adéquates. En local, lorsque l’on utilise file_get_contents() sur une URL HTTPS, on peut parfois obtenir une erreur SSL si PHP ne trouve pas le bon bundle de certificats d’autorités de certification. L’erreur ressemble souvent à ceci : Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed in ...php on line 2 Warning: file_get_contents(): Failed to enable crypto in ...php on line 2 Warning: file_get_contents(https://example.com/api?format=json): failed to open stream: operation failed in ...php on line 2 Le message peut varier selon la version de PHP, OpenSSL, le système, le conteneur Docker ou l’environnement local. Mais l’idée reste la même : PHP tente de vérifier le certificat TLS du serveur distant, et cette vérification échoue. Depuis PHP 5.6, les flux chiffrés vérifient les certificats et les noms d’hôte par défaut. En théorie, c’est une très bonne chose. En pratique, cela expose vite une configuration locale incomplète, notamment quand le bundle CA est absent, obsolète ou mal déclaré. Documentation PHP : changements OpenSSL depuis PHP 5.6 Pourquoi cette erreur SSL apparaît Lorsque PHP récupère une ressource HTTPS avec file_get_contents(), il utilise les streams PHP et OpenSSL. Pour accepter la connexion, PHP doit pouvoir vérifier que le certificat du site distant a été signé par une autorité de certification reconnue. Si PHP ne trouve pas le fichier contenant les certificats racines, la vérification échoue. La requête est alors bloquée, même si l’URL fonctionne parfaitement dans votre navigateur. Les causes les plus fréquentes sont : un bundle CA absent ou trop ancien ; une directive openssl.cafile non configurée ; une directive curl.cainfo non configurée pour cURL ; un environnement local ou Docker minimaliste ; une vieille version d’OpenSSL ; un proxy, antivirus ou firewall qui intercepte HTTPS ; un certificat distant réellement mal configuré. Sur un serveur Linux bien configuré, le système fournit généralement les certificats racines. Sur un environnement local, un conteneur Docker ou une installation PHP manuelle, il faut parfois les déclarer explicitement. Méthode 1 : vérifier le fichier php.ini réellement utilisé Avant de modifier la configuration, il faut vérifier quel fichier php.ini PHP utilise réellement. En ligne de commande : php --ini Vous devriez obtenir quelque chose comme : Loaded Configuration File: /etc/php/8.3/cli/php.ini Attention : PHP en ligne de commande et PHP-FPM n’utilisent pas forcément le même fichier php.ini. Pour un site web servi via PHP-FPM, le fichier peut plutôt être : /etc/php/8.3/fpm/php.ini Ou, selon la version : /etc/php/8.4/fpm/php.ini On peut aussi vérifier les valeurs OpenSSL directement avec PHP : php -i | grep -E "openssl.cafile|openssl.capath|curl.cainfo" Si les valeurs sont vides, PHP dépendra de la configuration par défaut du système. Cela peut suffire sur un serveur bien installé, mais échouer en local ou dans un conteneur. Méthode 2 : installer ou mettre à jour le bundle CA du système Sur Debian ou Ubuntu, commencez par vérifier que le paquet ca-certificates est installé : sudo apt update... --- ### Pink Floyd – Delicate Sound Of Thunder - **URL**: https://www.skyminds.net/pink-floyd-delicate-sound-of-thunder/ https://www.youtube.com/watch?v=PnqzVkPDUHQ Filmed and recorded live at the Nassau Coliseum, Long Island in August 1988 during the 'Momentary Lapse Of Reason' World Tour. In December 2019 Pink Floyd released The Later Years box set. It features newly re-edited version of the 'Delicate Sound Of Thunder' video with newly remixed audio as one of the main features. But unfortunately it wasn't expanded to the full setlist concert. Several originally omitted tracks presented there on the bonus Blu-Ray/DVD disc. Also two instrumental compositions remained in shortened form. Unfortunately, footage of another two tracks from the setlist weren't included at all for unknown reasons. I present the expanded edition of this beautiful concert video with all available footage in the right place. This edition expands the official 2019 version by 17 minutes. Shine On You Crazy Diamond [00:00:00] Signs of Life [00:12:16] Learning to Fly [00:16:34] Yet Another Movie [00:21:48] Round And Around [00:28:08] A New Machine (part 1) [00:28:42] Terminal Frost [00:30:17] A New Machine (part 2) [00:36:33] Sorrow [00:37:11] The Dogs Of War * On The Turning Away [00:47:36] One Of These Days [00:56:40] Time [01:02:57] On The Run [01:08:18] The Great Gig In The Sky [01:11:49] Wish You Were Here [01:16:34] Us And Them [01:21:25] Money [01:29:01] Comfortably Numb * One Slip [01:37:28] Run Like Hell [01:43:34] Terminal Frost (credits) [01:52:42] Expanded by CMI in January 2020. Total running time: 2 hours 12 minutes 20 secondsUnfortunately, YouTube policy excluded 'The Dogs Of War' and 'Comfortably Numb'. Details:The source for this project is Blu-Ray 1080p with 24/96 audio. 'Signs Of Life' expanded to its original length using footage from Screen Film. 'Yet Another Movie' / 'Round And Around' / 'A New Machine' (part 1) / Terminal Frost / A New Machine (part 2) segment placed in the original order of the set. Small re-edit in 'The Dogs Of War' before 1st verse using footage from Screen Film. 'On The Run' expanded to its original length using footage from Screen Film. Synchronisation is corrected for 3 final drum hits in 'Money'. --- ### Corriger Invalid default value for comment_date dans LocalWP - **URL**: https://www.skyminds.net/local-resoudre-problemes-importation-base-de-donnees/ Vous importez une ancienne base WordPress dans LocalWP, Adminer échoue, vous passez par le shell, l’import démarre… puis MySQL bloque avec cette erreur : ERROR 1067 (42000): Invalid default value for 'comment_date' Bonne nouvelle : votre dump SQL n’est pas forcément corrompu. Mauvaise nouvelle : MySQL applique probablement un mode SQL plus strict que celui utilisé par l’ancien site. Résultat, il refuse certaines anciennes valeurs de dates WordPress, notamment dans la table des commentaires. Dans cet article, on corrige précisément cette erreur dans LocalWP, sans refaire tout le tutoriel d’import général. Si vous cherchez la méthode complète pour importer une base SQL dans Local depuis le shell, commencez par ce guide : importer une base de données dans Local depuis le shell. Le symptôme : Adminer échoue ou MySQL bloque pendant l’import Dans LocalWP, vous pouvez importer une base WordPress via Adminer. Pour une petite base, cela passe souvent très bien. Pour une grosse base, ou une base ancienne, Adminer peut mouliner, perdre l’affichage, dépasser les limites PHP, ou ne rien importer du tout. Le réflexe logique consiste alors à ouvrir le shell du site : ouvrez LocalWP ; sélectionnez le site concerné ; faites un clic droit sur le site ; cliquez sur Open Site Shell. Vous tentez ensuite un import avec WP-CLI : wp db import ./adminer.sql Ou avec MySQL directement : mysql -u root -proot local < ./adminer.sql Et MySQL finit par répondre : ERROR 1067 (42000) at line 23841 in file: './adminer.sql': Invalid default value for 'comment_date' La ligne exacte varie selon votre dump. Le problème, lui, reste le même : MySQL refuse une valeur par défaut considérée comme invalide pour une colonne de date. Pourquoi cette erreur apparaît dans WordPress Historiquement, WordPress et beaucoup d’anciennes bases MySQL ont utilisé des valeurs de date comme : 0000-00-00 00:00:00 On les retrouve notamment dans des colonnes comme comment_date, comment_date_gmt, post_date, post_date_gmt, ou dans certaines tables créées par des extensions. Le souci arrive quand MySQL fonctionne avec un sql_mode strict incluant NO_ZERO_DATE et NO_ZERO_IN_DATE. Ces modes contrôlent l’acceptation des dates à zéro ou partiellement à zéro. Avec le mode strict, MySQL peut refuser l’import au lieu d’accepter l’ancienne définition de table ou l’ancienne valeur. La documentation MySQL précise que NO_ZERO_DATE concerne les dates comme 0000-00-00, tandis que NO_ZERO_IN_DATE concerne les dates dont le mois ou le jour vaut zéro. :contentReference[oaicite:1]{index=1} MySQL 8.0 inclut par défaut plusieurs modes stricts, dont STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO et NO_ENGINE_SUBSTITUTION. C’est pour cela que d’anciens dumps WordPress peuvent échouer dans un environnement moderne. :contentReference[oaicite:2]{index=2} Vérifier le sql_mode dans LocalWP Commencez par ouvrir le shell du site dans LocalWP. Ensuite, connectez-vous à MySQL. Dans beaucoup d’environnements Local, l’utilisateur est root, le mot de passe est root, et la base s’appelle local : mysql -u root -proot Si cette commande échoue, utilisez les informations affichées dans l’onglet Database de LocalWP. Selon la version de Local, le socket MySQL peut aussi être nécessaire. Une fois connecté à MySQL, affichez les modes SQL globaux et ceux de... --- ### David Gilmour – Live At Pompeii - **URL**: https://www.skyminds.net/david-gilmour-live-at-pompeii/ 45 ans après le "Live At Pompeii" de Pink Floyd dans le légendaire amphithéâtre romain, Davig Gilmour est revenu pour deux spectacles spectaculaires en juillet 2016, dans le cadre de sa tournée pour l'album Rattle That Lock. https://www.youtube.com/watch?v=r6WU7YhJuyg Les performances étaient les tout premiers concerts de rock pour un public dans l'amphithéâtre romain en pierre, et, pendant deux nuits seulement, la foule de 2600 personnes se tenait exactement là où les gladiateurs auraient combattu au premier siècle de notre ère. Magnifique. --- ### Tash Sultana – Tiny Desk concert (NPR) - **URL**: https://www.skyminds.net/tash-sultana-tiny-desk-concert-npr/ Natasha Sultana, de son nom de scène Tash Sultana, nait le 15 juin 1995 à Melbourne et est un(e) auteure-compositrice-interprète et musicienne multi-instrumentriste Australienne, d'un père originaire de Malte et d'une mère australienne. À l'âge de trois ans, son grand-père lui offre sa première guitare. Tash Sultana subit l'influence d'artistes néo-soul tels que Erykah Badu, D'Angelo, Lauryn Hill mais également rock comme Jimi Hendrix, Pink Floyd, Fleetwood Mac ou encore Led Zeppelin, ou Bob Marley et Amy Winehouse. Sultana se produit en solo sur scène, pieds nus et enregistre ses instruments au fur et à mesure grâce aux pédales d'effets: c'est la technique du looping. Autodidacte, Sultana joue d'une vingtaine d'instruments dont la guitare (basse, électrique, folk), la mandoline, le piano, la trompette et le saxophone. Voici Tash Sultana lors de l'un des Tiny Desk Concert organisé par NPR: https://www.youtube.com/watch?v=GVDJ8O3lPBA C'est très dub planant, vraiment à part. --- ### Pink Floyd – PULSE concert - **URL**: https://www.skyminds.net/pink-floyd-pulse-concert/ Pendant cette période de confinement, Pink Floyd offre gratuitement des concerts complets pour les fans. pendant le confinement. Jusqu’à récemment, le groupe diffusait des extraits de chansons individuelles sur YouTube, mais avec le Royaume-Uni confronté à trois semaines supplémentaires de confinement pendant la pandémie de Covid-19, et la plupart des autres pays du monde connaissant des restrictions à des degrés divers, le groupe a décidé de passer à des concerts complets. Voici la version restaurée et rééditée des masters originaux en 2019 de Pulse, filmé live le 20 Octobre 1994 à l'Earls Court de Londres: https://www.youtube.com/watch?v=E9Iau_oik-E L’édition de Pulse d’hier soir est tirée du coffret Later Years, qui est sorti l’année dernière et qui a été réédité. Enjoy! --- ### Family in Death of a Salesman: Love, Conflict and Inheritance - **URL**: https://www.skyminds.net/family-in-death-of-a-salesman/ In Death of a Salesman, the family is both a refuge and a source of destruction. Arthur Miller shows how love, ambition, guilt and self-deception pass from one generation to the next. The tragedy of the Lomans begins when family affection becomes inseparable from professional success. Why is family central to Death of a Salesman? Arthur Miller places the Loman family at the centre of Death of a Salesman. However, the play is not simply a domestic drama about an unhappy father and his disappointed sons. The family becomes a small-scale version of American society. Inside the Loman home, characters reproduce the same values that govern the business world: competition, popularity, financial success and fear of failure. In his essay The Family in Modern Drama, Miller asks how a person may “make of the outside world a home”. The question defines Willy Loman’s deepest ambition. Willy wants the impersonal world of commerce to behave like a loving family. He imagines that personal charm can transform customers into friends and employers into protective fathers. At the same time, he brings commercial values into his own home. He evaluates Biff and Happy as if they were products whose value depended upon their marketability. Consequently, the distinction between home and workplace collapses. Willy cannot create a home in the outside world because he has allowed the outside world to colonise his family. The Loman family at a glance CharacterPosition within the familyMain conflictWilly LomanHusband and fatherHe confuses love with admiration and personal worth with professional success.Linda LomanWife and motherShe protects Willy while trying to hold the family together.Biff LomanElder and favoured sonHe loves Willy but rejects his father’s lies and ambitions.Happy LomanYounger and neglected sonHe imitates Willy and continues the family’s cycle of illusion.BenWilly’s elder brotherHe represents an idealised family history of adventure and wealth.CharleyNeighbour and surrogate brotherHe offers Willy the practical support that Willy’s imagined heroes never provide.BernardCharley’s son and Biff’s childhood friendHis success challenges Willy’s theories about education, masculinity and popularity. From the Green World to the Business World The Loman family’s history begins outside the modern city. Willy remembers his father as a travelling craftsman who made and sold flutes. Ben recalls movement, wilderness and distant opportunities. This older world may be described as the Green World. It contains open landscapes, physical craftsmanship, adventure and apparently unlimited possibility. However, Willy never knew this world securely. His father abandoned the family when Willy was very young. Ben later departed in search of adventure and wealth. Willy therefore inherits the myth of masculine independence without experiencing dependable fatherhood. His memories contain heroic fathers, but his childhood contains absence. The Green World also marginalises women. Willy’s mother remains almost invisible, although she presumably cared for him after his father and brother left. The men who depart become family legends. The woman who remains and performs the practical labour of survival receives little recognition. This pattern later reappears in Willy’s marriage. He dreams of movement, conquest and commercial success, while Linda manages bills, repairs... --- ### Eddy B and Tim Gunter – Underdog - **URL**: https://www.skyminds.net/eddy-b-tim-gunter-underdog/ https://www.youtube.com/watch?v=0AoUDbti7Nk A young nigga with a dollar and a dream And these Nikes on my feet, tryna stay up out the streets So I'm rhyming pulling 187s all on these beats Stead of on the concrete Cemeting my future while they were focused on what they chief But shit, I'm like a chief, head honcho Tell me that it's impossible I'll get it to you pronto Been workin' all these late nights and these early mornings like Alonzo So one day they'll be callin' me great, just call me Gonzo But, I'm never actin' nor is anybody pulling strings Everything I have came from sacrificing everything I traded workin' 9 to 5 for the minimum For workin non-stop so my life be like a cinema screen But in the end I wouldn't have it any other way Got on my knees and for this rap to work is what I prayed And now it's happening, crunchin' numbers like captain A serial (cereal) killer compelling listeners with this passion for words Never actin, my verbs were truly fashioned to serve Not only masses but curbs, not just the hood, but the burbs Know you hear it everytime I grace the mic, then I give it to God Feeling blinded by the lights, and it's on!Hook:Let me see you put 'em up Reach the sky, touch the stars up above Cause it's, one time for the underdog One time for the underdogYou got the world on your team Even if that ain't what it seems It's one time for the underdog One time for the underdogA 20 year old dreamin' of whippin' Monte Carlo's And gold jewlery lookin' like I cam from El Dorado Pick up the pen and pad, stead of spittin gin and vag I'm paintin' pictures with my words, just call me young picasso These haters only gas me up and then I mash the throttle Binge drinkers think its safe to say should drop the bottle Cause what I'm spittin' is proof, and truth is hard to swallow When rappers losin' they heads, that's word to sleepy hollow Nowadays they tryna flex, Johnny Bravo And I'll be Rocky in the second fight against Apollo Underdog, but you see, I won the war Askin me if I can spit is askin' me to raise the bar I been in this place before, matter fact most of my life They told me I would fail, die before I prove 'em right Pennin' verses on my lunch bag, now I'm doin shows Lady luck blew me a kiss, now I'm a prince, never a toad Bet your bottom, I'm the greatest, that's on everything I own And though it isn't much, I want the world like Al Capone I'm coming for the glory, this a sermon to the masses The kid you shitted on is telling you to wipe his ass --- ### Conseils pour bien réussir l’épreuve d’Expression Orale du bac - **URL**: https://www.skyminds.net/conseils-pour-bien-reussir-epreuve-expression-orale-du-bac/ Déroulé de l'épreuve d'expression orale L’expression orale de LV1 ou LV2 se passe durant le troisième trimestre. L'épreuve compte pour le quart (25%) de la note finale de l'épreuve d'anglais. Vous allez tirer au sort une des quatre notions au programme: Mythes et héros Espaces et échanges Idées de progrès Lieux et formes du pouvoir L'épreuve d’expression orale du Bac se déroule en trois temps : 10 minutes de préparation au brouillon, 5 minutes de présentation de la notion (pour les L uniquement: 10 minutes de présentation) 5 minutes de discussion avec l'examinateur (pour les L uniquement: 10 minutes de discussion) Pour les sections ES et S, l'épreuve se déroulement habituellement avec le professeur de langue de l'année de terminale, dans votre lycée. La section L est interrogée par un autre examinateur, dans un autre lycée, au moment des épreuves orales finales du baccalauréat, aux alentours du 20 juin et plus. Préparation Vous avez 10 minutes au brouillon pour préparer vos notes d'exposé. Je vous conseille de rédiger l'introduction et la conclusion, de manière à être à l'aise au début et à la fin de l'épreuve, pour la première impression et la dernière. Faites un plan détaillé: grandes parties, arguments, exemples mais ne tentez pas de réécrire l'intégralité de la notion, vous n'en aurez clairement pas le temps. Exposé Introduction Dans l'introduction, commencez par introduire la notion que vous allez exposer, en relation avec les documents et débats que vous avez abordés en cours. Introduisez ensuite la problématique : elle va vous permettre de vous interroger sur une question qui structurera votre exposé et à laquelle vous donnerez une réponse en conclusion, après la mise en balance de vos arguments et exemples. Annoncez votre plan clairement. Votre plan peut être en deux ou trois parties, pas plus. Je vous conseille de privilégier un plan thématique, qui aborde la problématique de votre notion sous différents angles. Le développement Le développement est le cœur de l'épreuve : vous allez faire référence aux documents vus en cours mais également à des documents ou contenus que vous avez pu lire, voir ou entendre en dehors des cours. Cela va vous permettre d'avoir un point de vue à la fois critique et personnel, avec des arguments et exemples qui vont vous démarquer des autres candidats. Comptez deux à trois parties, cela dépend principalement du nombre d'arguments et d'exemples que vous avez dans chaque partie, et de votre temps d'épreuve (suivant votre filière). N'oubliez pas de structurer votre discours avec des mots de liaison, pour enchaîner vos idées, exprimer la contradiction, donner votre point de vue... Recherchez la cohérence, l'enchainement doit être à la fois fluide et logique. La conclusion La conclusion est le fruit de votre réflexion argumentée, elle vous permet d'apporter une réponse à la problématique que vous avez posée en introduction. Au niveau de la stratégie, je vous conseille d'ouvrir le sujet sur des éléments que vous connaissez bien et sur lesquels vous souhaiteriez que l'examinateur vous interroge. Vous pouvez glisser quelques références,... --- ### 10 conseils pour bien réussir l’épreuve de Compréhension Orale du bac - **URL**: https://www.skyminds.net/conseils-bien-reussir-epreuve-de-comprehension-orale-du-bac/ Format de l'épreuve Vous allez entendre un document audio trois fois: vous disposerez d'une minute de pause après la première et la seconde écoute. A l'issue de la troisième écoute, vous aurez dix minutes pour rédiger en français un compte-rendu de ce que vous aurez compris. Le document audio fait une minute et trente secondes. En comptant les pauses et le temps de rédaction, la durée totale de l'épreuve est de 16 minutes et 30 secondes. 10 conseils pour bien réussir le compte-rendu de la Compréhension Orale du bac anglais 1. Le document audio que vous allez entendre comporte un titre. Ce titre va vous éclairer sur le thème qui va être abordé. Utilisez-le pour inférer ce que vous allez entendre. 2. Il est normal de ne pas tout comprendre, surtout à la première écoute. Restez concentré, ne paniquez pas. Au fil des différentes écoutes, vous allez comprendre de plus en plus de choses. 3. Utilisez une grande feuille de brouillon sur laquelle vous ne noterez que des mots-clés, et non des phrases entières. Laissez de l'espace entre vos notes de façon à pouvoir les compléter lors des trois écoutes. 4. Lors des pauses d'une minute entre les écoutes, vous pourrez rajouter ce que vous n'avez pas eu le temps d'écrire mais que vous avez mémorisé. Vous pourrez également commencer à organiser vos idées. 5. Prenez vos notes en anglais : c'est ce que vous entendez, c'est donc plus facile et vous n'aurez qu'à copier ce que vous avez compris sans avoir à le traduire. 6. Utilisez ce que vous comprenez pour inférer ce que vous comprenez moins bien. Repérez bien les mots accentués qui sont porteurs de sens. Ne vous bloquez pas sur un mot ou une phrase mal compris, vous risqueriez de laisser échapper la suite du document que vous comprendrez plus aisément. On n'attend pas de vous que vous compreniez tout mais que vous démontriez que vous avez compris les points essentiels et les détails significatifs du document. 7. N'essayez pas de traduire les noms propres. Vous pouvez utilisez des mots anglais dans votre compte-rendu uniquement s'ils sont passés dans le langage courant. Par exemple: web, email, shopping, weeekend... 8. Lors des écoutes, posez-vous les questions suivantes: - de quel type de document s'agit-il ? [ dialogue, discussion, interview, monologue, exposé, extrait d'une émission de radio ou de télévision, discours, micro-trottoir...] - quel est le contexte ? Des bruits de fond ou des indices sonores peuvent vous aider à identifier le contexte. - qui parle ? identifiez le ou les personnages, et la relation entre eux. - de quoi est-il question ? Identifiez le sujet, la problématique, les arguments, les opinions... - quel est le ton, le point de vue de celui ou ceux qui parle(nt) ? 9. C'est un compte-rendu que vous devez écrire, pas un résumé ! Les points sont accordés aux détails significatifs, qui permettent de juger la finesse de votre compréhension. Il faut donc être précis, pas général. 10. Lors de la rédaction... --- ### Continuité pédagogique : sites, ressources et outils pour les cours en ligne, pour les enseignants et les élèves - **URL**: https://www.skyminds.net/sites-ressources-outils-cours-en-ligne/ La continuité pédagogique La continuité pédagogique est destinée à s’assurer que les élèves poursuivent des activités scolaires leur permettant de progresser dans leurs apprentissages. Les activités proposées s’inscrivent naturellement dans le prolongement de ce qui s’est fait en classe auparavant et/ou dans une préparation possible de ce qui sera fait dès le retour dans l’établissement. Le travail demandé doit être régulier. Il doit pouvoir être réalisé dans un temps raisonnable, indiqué explicitement. Le temps consacré à chaque discipline doit être corrélé aux horaires habituels. Les travaux proposés sont adaptés au niveau d’enseignement et aux capacités des élèves. Ils pourront être l’occasion de s’appuyer plus spécifiquement sur des compétences variées adossées au travail autonome. Supports de travail La continuité pédagogique mobilise les supports usuels : Les ressources de l’Espace Numérique de Travail ; Des supports numériques, ressources créées par les enseignants et les ressources éditoriales disponibles (BRNE, Eduthèque…) ; La plateforme du CNED « Ma classe à la maison » . Création d’un compte en tant qu’enseignant lors de la 1ère connexion. Les manuels scolaires en possession des élèves. Les ressources disciplinaires ou transversales du site académique et des autres sites institutionnels. Les Banques de Ressources Numériques pour l'École (BRNE) Les Banques de Ressources Numériques pour l'École (BRNE) s'adressent à tous les professeurs du premier et du second degré. Elles offrent gratuitement aux professeurs et aux élèves des ressources pour enseigner et apprendre. Les professeurs bénéficient de l'ensemble des contenus et des services pédagogiques (boîte à outils pour composer des activités numériques interactives) soit en s'inscrivant à l'aide de leur adresse professionnelle académique pour bénéficier d'un accès, soit via l'ENT de leur établissement Les 14 Banques pour enseigner et pour apprendre du CM1 à la 3e peuvent être utilisées dans les autres niveaux d'enseignement en amont et en aval. Les contenus sont modifiables et les outils permettent aux enseignants de structurer les séquences et activités proposées aux élèves. Les enseignants peuvent également récupérer les travaux. 5e, 4e et 3e Sciences : sciences.maskott.com/ École, collège, lycée Français langue seconde : https://didierfle.com/ Langue et cultures de l'Antiquité : https://lca.maskott.com Anglais: Myteacher ÉTINCEL, des ressources pour les enseignements généraux, technologiques et professionnels La plateforme ÉTINCEL est ouverte à l'ensemble des enseignants et des personnels de l'Éducation nationale qui possèdent une adresse de messagerie académique. La plate-forme propose des ressources numériques (animations, jeux sérieux, vidéos) et de nombreux scénarios pédagogiques modifiables. Pour les enseignements généraux, les situations et les ressources pédagogiques se situent dans un contexte ou une problématique industrielle. Il s'agit essentiellement de modélisations. Pour les enseignements technologiques et professionnels sont proposées des études de cas, des situations professionnelles authentiques, s'appuyant sur la réalité industrielle. Éduthèque, un portail de ressources de grands établissements publics à caractère culturel et scientifique Le portail éduthèque s'adresse à tous les enseignants du premier et du second degré. Ils peuvent ouvrir un compte enseignant et un compte classe associé à l'aide de leur adresse professionnelle. éduthèque fournit aux enseignants et leurs élèves un accès gratuit et sécurisé à : plus de 80 000 ressources numériques pédagogiques issues d'offres... --- ### JavaScript : tester si un paramètre existe dans une URL - **URL**: https://www.skyminds.net/javascript-tester-si-un-parametre-existe-dans-une-url/ Il arrive souvent de devoir tester la présence d’un paramètre dans une URL avec JavaScript. Par exemple, pour détecter un mode aperçu, afficher un message après l’envoi d’un formulaire, suivre une campagne ou adapter l’interface selon une valeur passée en query string. Exemple d’URL : https://example.com/?preview=yes Ici, le paramètre s’appelle preview et sa valeur est yes. La méthode moderne consiste à utiliser URLSearchParams. Pas besoin de découper l’URL à la main, ni d’écrire une expression régulière fragile. Le navigateur sait déjà faire. Autant le laisser travailler, il ne demande même pas de café. Tester si un paramètre existe dans l’URL courante Pour lire les paramètres de l’URL de la page actuelle, utilisez window.location.search. Cette propriété contient la partie de l’URL située après le point d’interrogation. const searchParams = new URLSearchParams(window.location.search); if (searchParams.has('preview')) { console.log('Le paramètre preview existe.'); } La méthode has() renvoie true si le paramètre existe, et false sinon. Avec cette URL : https://example.com/?preview=yes ce test renverra true : searchParams.has('preview'); Récupérer la valeur d’un paramètre Pour récupérer la valeur d’un paramètre, utilisez get(). const searchParams = new URLSearchParams(window.location.search); const preview = searchParams.get('preview'); console.log(preview); Avec cette URL : https://example.com/?preview=yes la variable preview contiendra : yes Si le paramètre n’existe pas, get() renvoie null. const value = searchParams.get('missing'); console.log(value); // null Tester si un paramètre a une valeur précise Tester l’existence du paramètre ne suffit pas toujours. Vous pouvez aussi vérifier sa valeur. const searchParams = new URLSearchParams(window.location.search); if (searchParams.get('preview') === 'yes') { console.log('Le mode aperçu est activé.'); } Pour être plus strict, testez d’abord l’existence, puis la valeur : const searchParams = new URLSearchParams(window.location.search); if (searchParams.has('preview') && searchParams.get('preview') === 'yes') { console.log('Le paramètre preview existe et vaut yes.'); } C’est utile si vous devez distinguer ces trois URLs : https://example.com/ https://example.com/?preview https://example.com/?preview=yes Dans la deuxième URL, le paramètre existe, mais sa valeur est vide. Dans la troisième, il existe et vaut yes. Différence entre has() et get() Les méthodes has() et get() ne répondent pas à la même question. MéthodeQuestionRetourhas('preview')Le paramètre existe-t-il ?true ou falseget('preview')Quelle est sa première valeur ?Une chaîne ou nullgetAll('tag')Quelles sont toutes ses valeurs ?Un tableau Exemple : const searchParams = new URLSearchParams('?preview='); console.log(searchParams.has('preview')); // true console.log(searchParams.get('preview')); // "" Le paramètre existe bien, mais sa valeur est une chaîne vide. Tester un paramètre dans une URL précise Vous n’êtes pas obligé de travailler uniquement avec l’URL de la page courante. Vous pouvez aussi analyser une URL stockée dans une variable. const url = new URL('https://example.com/articles/?preview=yes&source=newsletter'); if (url.searchParams.has('source')) { console.log(url.searchParams.get('source')); } Ici, url.searchParams donne directement accès aux paramètres de l’objet URL. C’est souvent plus propre que de construire soi-même un URLSearchParams quand vous manipulez une URL complète. Gérer plusieurs valeurs pour le même paramètre Une URL peut contenir plusieurs fois le même paramètre. https://example.com/?tag=javascript&tag=wordpress&tag=performance Dans ce cas, get() renvoie seulement la première valeur : const searchParams = new URLSearchParams(window.location.search); console.log(searchParams.get('tag')); Résultat : javascript Pour récupérer toutes les valeurs, utilisez getAll(). const tags = searchParams.getAll('tag'); console.log(tags); Résultat : ["javascript", "wordpress", "performance"] Créer une fonction réutilisable Pour éviter de répéter... --- ### Gravity Forms : activer le honeypot anti-spam sur tous les formulaires WordPress - **URL**: https://www.skyminds.net/gravity-forms-anti-spam-honeypot-formulaires/ Gravity Forms intègre une protection anti-spam discrète, efficace et gratuite : le honeypot. Elle ajoute un piège invisible pour les robots, sans imposer de captcha aux vrais visiteurs. Bref, le genre de protection que l’on aime bien : utile, silencieuse, et sans puzzle illisible à 23h47. Le problème ? Sur un site qui possède plusieurs formulaires, il faut normalement activer cette option formulaire par formulaire. C’est acceptable avec deux formulaires. C’est pénible avec vingt. Voici donc comment activer automatiquement le honeypot sur tous les formulaires Gravity Forms. Ce que fait le honeypot de Gravity Forms Un honeypot ajoute un champ que les visiteurs humains ne voient pas. Les robots, eux, ont tendance à le remplir. Quand Gravity Forms détecte cette valeur suspecte, il classe la soumission comme spam ou la bloque selon les réglages du formulaire. Les versions récentes de Gravity Forms vont plus loin qu’un simple champ caché. Le honeypot peut aussi vérifier un hash ajouté en JavaScript, puis utiliser une vérification de vitesse de soumission. Cela permet de bloquer davantage de soumissions automatisées sans alourdir l’expérience utilisateur. Activer le honeypot sur tous les formulaires Gravity Forms Ajoutez ce snippet dans un mini-plugin maison, un plugin de snippets, ou dans le fichier functions.php de votre thème enfant. Évitez évidemment de modifier le cœur de WordPress ou les fichiers du plugin Gravity Forms. --- ### The Pixies vs The Beastie Boys – Where Is My Mind (mashup by Thriftshop XL) - **URL**: https://www.skyminds.net/the-pixies-vs-the-beastie-boys-where-is-my-mind/ Voici un mashup par Thriftshop XL qui mixe deux chansons: "In a World Gone Mad" par les Beastie Boys et "Where is My Mind?" des Pixies: https://www.youtube.com/watch?v=bQ8keMz1yok Et bien cela rend très bien ! --- ### Local by Flywheel ne démarre plus à cause du renouvellement du certificat TLS de la machine virtuelle (docker) : une solution - **URL**: https://www.skyminds.net/local-by-flywheel-certificat-tls/ J'utilise quotidiennement Local by Flywheel pour développer ou debugger des problèmes sur certains sites. C'est une bonne alternative lorsque les hébergeurs ne proposent pas de site staging à leurs clients (les meilleurs hébergeurs proposent évidemment un staging, c'est la base). L'autre jour, tournée de mises à jour suivie d'un reboot, je lance Local et patatras: il ne veut plus démarrer et visiblement reste bloqué sur une tentative de renouvellement de certificat TLS pour la machine virtuelle qui tourne sous Docker. Si cela vous arrive, voici la marche à suivre. Il suffit de copier ces lignes d'instructions dans votre terminal. Concrètement, nous allons télécharger une nouvelle version du fichier ISO Boot2Docker et laisser le système se ré-provisionner. Le processus implique de créer un alias (local-docker-machine) pour la machine virtuelle docker “Local by Flywheel”, et ensuite de lancer la série de commandes suivantes sur cet alias. Voici les commandes à lancer dans le terminal: alias local-docker-machine="/Applications/Local\ by\ Flywheel.app/Contents/Resources/extraResources/virtual-machine/vendor/docker/osx/docker-machine" local-docker-machine stop local-by-flywheel rm -rf ~/.docker/machine/certs local-docker-machine create local-cert-gen local-docker-machine start local-by-flywheel local-docker-machine regenerate-certs -f local-by-flywheel local-docker-machine rm -f local-cert-gen Voici le résultat de ces commandes: Creating CA: /Users/matt/.docker/machine/certs/ca.pem Creating client certificate: /Users/matt/.docker/machine/certs/cert.pem Running pre-create checks... (local-cert-gen) No default Boot2Docker ISO found locally, downloading the latest release... (local-cert-gen) Latest release for github.com/boot2docker/boot2docker is v19.03.5 (local-cert-gen) Downloading /Users/matt/.docker/machine/cache/boot2docker.iso from https://github.com/boot2docker/boot2docker/releases/download/v19.03.5/boot2docker.iso... (local-cert-gen) 0%....10%....20%....30%....40%....50%....60%....70%....80%....90%....100% Creating machine... (local-cert-gen) Copying /Users/matt/.docker/machine/cache/boot2docker.iso to /Users/matt/.docker/machine/machines/local-cert-gen/boot2docker.iso... (local-cert-gen) Creating VirtualBox VM... (local-cert-gen) Creating SSH key... (local-cert-gen) Starting the VM... (local-cert-gen) Check network to re-create if needed... (local-cert-gen) Found a new host-only adapter: "vboxnet1" (local-cert-gen) Waiting for an IP... Waiting for machine to be running, this may take a few minutes... Detecting operating system of created instance... Waiting for SSH to be available... Detecting the provisioner... Provisioning with boot2docker... Copying certs to the local machine directory... Copying certs to the remote machine... Setting Docker configuration on the remote daemon... Checking connection to Docker... Docker is up and running! To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: /Applications/Local by Flywheel.app/Contents/Resources/extraResources/virtual-machine/vendor/docker/osx/docker-machine env local-cert-gen Docker machine "local-by-flywheel" does not exist. Use "docker-machine ls" to list machines. Use "docker-machine create" to add a new one. Regenerating TLS certificates Docker machine "local-by-flywheel" does not exist. Use "docker-machine ls" to list machines. Use "docker-machine create" to add a new one. About to remove local-cert-gen WARNING: This action will delete both local reference and remote instance. Successfully removed local-cert-gen Vous n'avez plus qu'à lancer Local by Flywheel: lancement maintenant impeccable et toutes les machines virtuelles sont bien là. --- ### JavaScript et jQuery : ajouter !important en CSS proprement - **URL**: https://www.skyminds.net/jquery-comment-ajouter-important-propriete-css/ jQuery possède une limitation qui peut vite devenir agaçante : on ne peut pas ajouter correctement !important à une propriété CSS avec la méthode .css(). Par exemple, ce code ne fonctionne pas comme on pourrait l’espérer : jQuery('.foo').css('border', '4px #000 solid !important'); En revanche, cette déclaration fonctionne bien : jQuery('.foo').css('border', '4px #000 solid'); Le problème vient du fait que !important n’est pas une simple partie de la valeur CSS. C’est une priorité de déclaration dans la cascade CSS. La méthode jQuery .css() sert à lire ou définir des propriétés CSS, mais elle ne fournit pas d’argument séparé pour la priorité important. La documentation jQuery présente .css() comme une méthode pratique pour obtenir ou définir des propriétés de style, pas comme une API complète de gestion des priorités CSS. Voici donc plusieurs solutions, de la plus propre à la plus directe. Avant de commencer : faut-il vraiment utiliser !important ? !important doit rester une exception, pas une stratégie de mise en page. Dans beaucoup de cas, si l’on a besoin de !important, c’est que la cascade CSS, l’ordre de chargement ou la spécificité des sélecteurs posent problème. MDN rappelle que la spécificité détermine quelles valeurs CSS s’appliquent lorsqu’un élément est ciblé par plusieurs règles. MDN conseille aussi d’éviter !important lorsque c’est possible, et de privilégier des sélecteurs mieux pensés, des règles moins lourdes ou des cascade layers. Dans un projet propre, on essaiera donc d’abord : d’ajouter une classe CSS ; de charger la feuille de style dans le bon ordre ; d’utiliser un sélecteur plus précis ; de réduire la spécificité des règles existantes ; d’éviter les styles inline lorsque c’est possible. Cela dit, il existe des cas réels où !important est nécessaire : surcharge d’un plugin, script tiers, style inline imposé, bannière publicitaire, widget externe ou correctif rapide sur une interface que l’on ne contrôle pas totalement. Première solution : ajouter une classe CSS C’est la solution la plus propre dans la majorité des cas. Au lieu d’ajouter directement du style inline en JavaScript, on ajoute une classe avec jQuery, puis on écrit la règle CSS dans une feuille de style. jQuery('.foo').addClass('has-black-border'); Et côté CSS : .has-black-border { border: 4px solid #000 !important; } Cette méthode a plusieurs avantages : le style reste dans le CSS ; le JavaScript ne gère que le comportement ; la règle est plus facile à retrouver ; on peut la modifier sans toucher au script ; on évite d’empiler du style inline. C’est presque toujours ma solution préférée. Elle est plus maintenable et plus lisible. On peut aussi retirer la classe plus tard : jQuery('.foo').removeClass('has-black-border'); Ou basculer la classe selon un état : jQuery('.foo').toggleClass('has-black-border'); Deuxième solution : utiliser style.setProperty() Si vous devez vraiment appliquer une déclaration inline avec !important, la meilleure solution consiste à utiliser JavaScript natif avec style.setProperty(). Cette méthode accepte trois arguments : le nom de la propriété, sa valeur, puis la priorité. Pour définir !important, on passe 'important' en troisième argument. jQuery('.foo').each(function () { this.style.setProperty('border', '4px solid #000', 'important'); });... --- ### Changer les DNS de la Freebox Révolution, Pop, Delta ou Ultra - **URL**: https://www.skyminds.net/changer-dns-freebox/ Votre connexion Free fonctionne, mais certains sites refusent de s’ouvrir. D’autres chargent lentement, ou renvoient vers une page étrange. Dans ce cas, les DNS peuvent être en cause. La bonne nouvelle : sur une Freebox moderne, vous pouvez modifier les serveurs DNS distribués à tous les appareils du réseau local. Une fois le réglage appliqué, ordinateurs, smartphones, tablettes et consoles peuvent utiliser les nouveaux résolveurs sans configuration individuelle. Dans ce guide, nous allons changer les DNS depuis Freebox OS, choisir des serveurs fiables, tester la configuration, puis éviter les pièges classiques. Oui, même le fameux DNS3 de la Freebox. Il avait l’air innocent. Il ne l’est pas toujours. À quoi servent les DNS ? Un serveur DNS traduit un nom de domaine en adresse IP. Quand vous ouvrez www.skyminds.net, votre ordinateur demande d’abord à un DNS où se trouve ce domaine. Ensuite seulement, il peut contacter le serveur web. Changer de DNS peut donc améliorer plusieurs choses : contourner certains problèmes de résolution chez le fournisseur d’accès ; réduire les redirections DNS indésirables ; améliorer la confidentialité selon le résolveur choisi ; bloquer certains domaines malveillants avec un DNS filtrant ; éviter les DNS “menteurs” qui ne renvoient pas toujours la réponse attendue ; diagnostiquer plus proprement une panne réseau. En revanche, changer de DNS ne remplace pas un VPN. Le DNS choisit où aller. Il ne chiffre pas toute votre connexion, ne masque pas votre adresse IP aux sites visités et ne rend pas une navigation anonyme. Changer les DNS dans Freebox OS La méthode la plus propre consiste à modifier les DNS distribués par DHCP. Ainsi, la Freebox continue d’attribuer les adresses IP locales, mais elle annonce vos DNS personnalisés aux appareils du réseau. Ouvrez votre navigateur. Allez sur http://mafreebox.freebox.fr. Identifiez-vous avec le mot de passe Freebox OS. Ouvrez Paramètres de la Freebox. Passez en Mode avancé. Dans Réseau local, ouvrez DHCP. Dans la zone DNS, renseignez les serveurs DNS voulus. Cliquez sur Appliquer, puis OK. Sur certaines interfaces Freebox OS, vous verrez jusqu’à cinq champs DNS. Vous n’êtes pas obligé de tous les remplir. Deux serveurs cohérents suffisent dans la plupart des cas. Exemple simple avec Cloudflare Pour utiliser les DNS publics de Cloudflare, indiquez : Serveur DNS 11.1.1.1Serveur DNS 21.0.0.1Serveur DNS 3laisser videServeur DNS 4laisser videServeur DNS 5laisser vide Si votre réseau utilise IPv6, vous pouvez aussi configurer les DNS IPv6 directement sur les appareils qui le permettent : Cloudflare IPv6 primaire2606:4700:4700::1111Cloudflare IPv6 secondaire2606:4700:4700::1001 Après application, déconnectez puis reconnectez les appareils, ou renouvelez leur bail DHCP. Sinon, ils peuvent continuer à utiliser les anciens DNS pendant un moment. Pourquoi je ne recommande plus de garder la Freebox en DNS3 L’ancien article proposait de garder 192.168.0.254 en DNS3 “par redondance”. L’idée semblait logique : si les DNS externes ne répondent plus, la Freebox peut prendre le relais. En pratique, ce n’est pas aussi propre. Les systèmes clients ne traitent pas toujours les DNS comme une priorité stricte. Selon l’OS, l’état du réseau et le cache local, un... --- ### HONEYHONEY – Thin Line - **URL**: https://www.skyminds.net/honeyhoney-thin-line/ Here's HONEYHONEY performing "Thin Line" at Music City Roots live from the Loveless Cafe in 2012: https://www.youtube.com/watch?v=ITwD2bCdDhw Thin lineWalking a thin lineStaying out late at night I'm not happyFeeling lowIt's so hard these days to play my cards right It's about timeTo start the showI got tickets for my friends that want to go And I wish you'd come downJust come on byOh, I need your easy roll around of a good time 'Cause I want whiskey when I'm sickAnd a man when I'm wellBut it's nice to have them both sometimesWhen I feel like raising hell So don't try and save meI'll be just fineI'm getting used to walking on a thin line Some days I try hardTo watch my mouthTo say the right thingsBut the wrong just slip right out Oh, I ain't no Southern belleNo Georgia peachI guess all my good graces are too far out of reach I sleep so deep each nightI'm lying in the bed we madeAnd when I get you off, babeWell you know it's give and take So I don't feel badWhen I get mineOh, I'm getting used to walking on a thin line Sometimes I'm doing things half-ass wrongSometimes the words I sing are just some half-ass songI get lost and I get foundOh, and I'll be good until I need another round 'Cause I want whiskey when I'm sickAnd a man when I'm wellBut it's nice to have them both sometimesWhen I feel like raising hell So don't try and save meI'll be just fineOh, I'm getting used to walking on a thin line No, don't try and save meI'll be just fineOh, I'm getting used to walking on a thin line Oh, I'm getting used to walking on a thin line --- ### Réinitialiser le mot de passe root de MySQL ou MariaDB sous Debian - **URL**: https://www.skyminds.net/reinitialiser-mot-de-passe-root-de-mysql-mariadb-sous-debian/ Vous avez perdu le mot de passe root de MySQL ou MariaDB sur Debian ? Avant de sortir la grosse artillerie, respirez deux secondes. Sur beaucoup d’installations Debian, le compte SQL root n’utilise pas forcément un mot de passe classique. Avec MariaDB, il est fréquent que root utilise l’authentification par socket Unix. Cela signifie que l’utilisateur système root peut se connecter à MariaDB avec sudo mariadb ou sudo mysql, sans saisir de mot de passe SQL. Donc, avant de réinitialiser brutalement le mot de passe, il faut identifier le serveur, vérifier le mode d’authentification, puis choisir la bonne procédure. MySQL, MariaDB et root : attention au faux problème Sur un serveur Debian récent, perdre le “mot de passe root MySQL” peut vouloir dire plusieurs choses : vous ne connaissez plus le mot de passe SQL de root@localhost ; le compte root n’accepte plus l’authentification par mot de passe ; MariaDB utilise unix_socket, donc aucun mot de passe SQL n’est nécessaire en local ; vous utilisez le mauvais client : mysql, mariadb, phpMyAdmin, Adminer ou une application distante ; le service SQL ne démarre plus, ce qui n’a rien à voir avec le mot de passe ; un plugin d’authentification a été modifié pendant une migration. Le compte root SQL n’est pas le même que le compte root Linux. Le premier administre MySQL ou MariaDB. Le second administre le serveur. Les deux ont de grands pouvoirs, donc deux excellentes occasions de casser un serveur un vendredi soir. Identifier le serveur installé Commencez par savoir si vous utilisez MySQL ou MariaDB : mysql --version ou : mariadb --version Vous pouvez aussi vérifier les paquets installés : dpkg -l | grep -Ei 'mysql-server|mariadb-server' Puis regardez le service systemd actif : systemctl status mariadb --no-pager systemctl status mysql --no-pager Sur Debian, MariaDB utilise généralement le service mariadb. MySQL utilise plutôt mysql. Selon l’installation, certains alias peuvent exister, mais ne partez pas du principe que les deux commandes pointent vers le même service. Essayer d’abord l’accès socket Avant de réinitialiser quoi que ce soit, essayez la connexion locale avec sudo. Pour MariaDB : sudo mariadb Ou, selon votre installation : sudo mysql Si vous obtenez un prompt SQL, vous n’avez pas vraiment perdu l’accès administrateur. Vous pouvez vérifier l’utilisateur courant : SELECT USER(), CURRENT_USER(); Vous pouvez aussi lister les comptes administrateurs : SELECT User, Host FROM mysql.user WHERE User = 'root'; Si cette connexion fonctionne, utilisez la méthode normale de changement de mot de passe. Ne démarrez pas le serveur en mode --skip-grant-tables juste par nostalgie du cambouis. Changer le mot de passe root quand l’accès sudo fonctionne Si vous pouvez entrer avec sudo mariadb ou sudo mysql, changez le mot de passe proprement. Pour MariaDB : sudo mariadb SET PASSWORD FOR 'root'@'localhost' = PASSWORD('NouveauMotDePasseTresLong'); FLUSH PRIVILEGES; Pour MySQL 8 ou plus récent : sudo mysql ALTER USER 'root'@'localhost' IDENTIFIED BY 'NouveauMotDePasseTresLong'; FLUSH PRIVILEGES; Ensuite, quittez : EXIT; Testez la connexion par mot de passe : mysql -u root -p Attention : selon le plugin... --- ### WordPress : corriger l’erreur ftp_nlist() expects parameter 1 to be resource - **URL**: https://www.skyminds.net/wordpress-ftp-nlist-expects-parameter-1-to-be-resource/ Lors d’une mise à jour WordPress, d’un plugin ou d’un thème, vous pouvez tomber sur cette erreur peu élégante : Warning: ftp_nlist() expects parameter 1 to be resource, null given in /wp-admin/includes/class-wp-filesystem-ftpext.php on line 402 Warning: ftp_pwd() expects parameter 1 to be resource, null given in /wp-admin/includes/class-wp-filesystem-ftpext.php on line 226 Avec les versions récentes de PHP, le message peut aussi apparaître sous une forme plus stricte : ftp_nlist(): Argument #1 ($ftp) must be of type FTP\Connection, null given Le problème ne vient pas de ftp_nlist() lui-même. Cette fonction ne fait que révéler le souci : WordPress essaie d’utiliser sa méthode FTP pour modifier des fichiers, mais il n’a pas de connexion FTP valide. En clair, WordPress cherche la porte de service, mais personne ne lui a donné la clé. Pourquoi WordPress utilise FTP au lieu d’écrire directement ? Quand WordPress met à jour un plugin, un thème ou le cœur, il passe par la Filesystem API. Cette API choisit la méthode la plus adaptée pour écrire sur le disque : accès direct, FTP, FTPS ou SSH2 selon la configuration du serveur. Si WordPress estime qu’il ne peut pas écrire directement dans les fichiers, il peut basculer vers FTP. Le problème apparaît quand cette méthode FTP est sélectionnée, mais que la connexion n’est pas correctement initialisée. Les causes les plus fréquentes sont : permissions incorrectes sur les fichiers WordPress ; mauvais propriétaire Unix ; mauvais groupe Unix ; constante FS_METHOD mal définie ; identifiants FTP absents ou invalides ; espace disque saturé ; hébergement mutualisé avec restrictions spécifiques ; ancien conteneur Docker ou environnement local mal configuré. Solution rapide : forcer la méthode directe Sur un serveur correctement configuré, la solution la plus simple consiste souvent à forcer WordPress à utiliser l’accès direct au système de fichiers. Ajoutez cette ligne dans wp-config.php, avant le commentaire /* That's all, stop editing! */ : define( 'FS_METHOD', 'direct' ); Ensuite, relancez la mise à jour : wp plugin update --all Ou, pour mettre à jour uniquement un plugin : wp plugin update nom-du-plugin Cette solution fonctionne si PHP possède déjà les droits nécessaires pour écrire dans les fichiers WordPress. Sinon, elle ne fera que déplacer le problème vers une erreur de permission. Vérifier la méthode utilisée par WordPress Avec WP-CLI, vous pouvez vérifier si la constante FS_METHOD est définie : wp config get FS_METHOD Si la commande retourne direct, WordPress est configuré pour écrire directement sur le disque. Vous pouvez aussi vérifier les constantes FTP éventuellement présentes dans wp-config.php : wp config list | grep -E 'FS_METHOD|FTP_' Si vous voyez des constantes comme FTP_HOST, FTP_USER ou FTP_PASS, elles peuvent expliquer pourquoi WordPress tente d’utiliser FTP. Vérifier les permissions WordPress WordPress doit pouvoir écrire dans certains dossiers, notamment wp-content, wp-content/plugins, wp-content/themes et wp-content/upgrade. Commencez par vérifier les droits : ls -la ls -la wp-content ls -la wp-content/plugins ls -la wp-content/themes Sur une installation WordPress classique, les permissions raisonnables sont généralement : 755 pour les dossiers ; 644 pour les fichiers. Vous pouvez corriger les dossiers... --- ### Cheap Trick – When I Wake Up Tomorrow - **URL**: https://www.skyminds.net/cheap-trick-when-i-wake-up-tomorrow/ "When I Wake Up Tomorrow" is a song by American rock band Cheap Trick, released in 2016 as the second and final single from their seventeenth studio album Bang, Zoom, Crazy... Hello. It was written by Julian Raymond, Robin Zander, Rick Nielsen and Tom Petersson, and produced by Raymond and Cheap Trick. The music video features Nielsen playing his 1966 Gretsch 6123 guitar, which previously appeared in the video for the band's 1982 song "If You Want My Love": https://www.youtube.com/watch?v=Kjiy_RL7uhk I never thought that I would be like this beforeI never wanted just one kiss for sureWell, maybe I didn't understandAll you wanted was a one night stand, wellNever thought that I would beg like this for moreThese days I wonder how I'm gonna make it tomorrowThese ways I'll have to beg if I want to borrowMy love, here I'm on my kneesPlease be here when I wake up tomorrowI never felt like this beforeMy love is flowing out for sureYour lips upon my skinCome out and let me in nowNever thought I'd beg like this for moreThese days I wonder how I'm gonna make it tomorrowIn these ways I'm praying there's no need for sorrowThese days I wonder what will come of tomorrowThese ways I'll have to beg if I want to borrowYour love, here I'm on my kneesPlease be here when I wake up tomorrow Speaking of the song to Rolling Stone, Nielsen commented: "This song always reminds me of a sultry David Bowie song. I liked it from the first time we attempted to do it. It's just a moody, interesting piece with some heavy guitars in the middle." In an interview with Rock Cellar, Zander spoke of the song and his vocal performance on it: "I sort of conjured [Bowie's] style up in mind on the song. Even though I don't sound exactly like Bowie, it was in my mind while I was doing the song, which creates a fresh kind of new thing." --- ### Changer le nom de fichier par défaut de l’outil capture d’écran sous MacOS X - **URL**: https://www.skyminds.net/changer-nom-de-fichier-outil-capture-ecran-macosx/ Depuis que je suis passé à MacOS X Catalina, j'ai ajouté l'outil capture d'écran dans la Touchbar, histoire de toujours l'avoir à portée de main. Pour les puristes, vous pouvez capturer l'écran avec Shift-Command-5 (à partir de Mojave et supérieur) ou Shift-Command-3. Par contre, toutes les captures d'écran sont préfixées par défaut avec "Capture d'écran" suivie de la date et de l'heure. Cela peut être gênant lorsque l'on publie cette image sur internet, étant donné que les noms de fichiers accentués ne sont pas toujours bien gérés. Voici donc une petite astuce pour changer le préfixe pour celui de votre choix. Dans mon exemple, je l'ai tout simplement changé pour "Screenshot". Changer le nom de fichier par défaut de l'outil capture d'écran Ouvrez le terminal puis lancez la commande suivante, en remplaçant "Screenshot" par le préfixe de votre choix: defaults write com.apple.screencapture name "Screenshot" Relancez ensuite le service SystemUI: killall SystemUIServer Lancez ensuite l'outil de capture d'écran et enregistrez votre capture. Elle est maintenant préfixée par ce que vous avez choisi. --- ### Serveur dédié: passage à PHP 7.4 - **URL**: https://www.skyminds.net/serveur-dedie-passage-php-74/ C’est Noël avant l’heure : PHP 7.4 est disponible, et l’installation sur serveur dédié se fait proprement avec PHP-FPM, nginx et les bons paquets d’extensions. PHP 7.4 a marqué une vraie étape dans la modernisation du langage : propriétés typées, fonctions fléchées, covariance et contravariance limitées, déballage dans les tableaux, séparateurs numériques, weak references, préchargement OPcache et plusieurs dépréciations importantes. Le changelog officiel PHP liste ces nouveautés dans l’annonce de PHP 7.4.0. Voir l’annonce officielle PHP 7.4. Dans mon cas, l’objectif était simple : migrer un serveur dédié de PHP 7.3 vers PHP 7.4, installer les extensions nécessaires, adapter les pools PHP-FPM, puis modifier les server blocks nginx pour pointer vers le nouveau socket. Note importante : PHP 7.4 est aujourd’hui une version legacy. La page officielle des versions supportées de PHP précise qu’une version en fin de vie ne reçoit plus de correctifs et expose les utilisateurs à des vulnérabilités non corrigées. Voir les versions PHP supportées. Cet article garde volontairement PHP 7.4 pour les serveurs ou projets qui doivent rester sur cette branche, par exemple pour compatibilité applicative, migration progressive ou environnement historique. Avant de migrer vers PHP 7.4 Avant de toucher au serveur, vérifiez ce qui tourne déjà. Une migration PHP ne se limite pas à installer un paquet : il faut savoir quelle version est utilisée par la CLI, par PHP-FPM, par nginx, et par chaque site. Vérifiez la version PHP en ligne de commande : php -v Listez les paquets PHP déjà installés : dpkg -l | grep -E '^ii\s+php' Vérifiez les services PHP-FPM actifs : systemctl list-units --type=service | grep php Vérifiez les sockets PHP-FPM disponibles : ls -la /run/php/ Sur un serveur nginx, cherchez les sites qui pointent déjà vers une version PHP précise : grep -RIn "fastcgi_pass.*php" /etc/nginx/sites-available /etc/nginx/sites-enabled Cette étape évite de migrer le mauvais site, ou de croire que PHP 7.4 est actif alors que nginx continue tranquillement à envoyer les requêtes vers PHP 7.3. nginx est très bon pour obéir. Même quand on lui donne l’ancienne instruction. Étape 1 : ajouter le dépôt PHP d’Ondřej Surý Sur Ubuntu, le dépôt d’Ondřej Surý permet d’installer plusieurs versions de PHP côte à côte, dont PHP 7.4. Le site DEB.SURY.ORG indique que les dépôts contiennent des paquets PHP coinstallables, dont PHP 7.0 à 7.4 et plusieurs versions PHP 8.x, avec le PPA Ubuntu ppa:ondrej/php. Installez les prérequis : sudo apt update sudo apt install software-properties-common ca-certificates lsb-release apt-transport-https Ajoutez le PPA : sudo add-apt-repository ppa:ondrej/php Mettez à jour la liste des paquets : sudo apt update Si vous êtes sur Debian, n’utilisez pas le PPA Ubuntu. Utilisez plutôt le dépôt Debian adapté depuis DEB.SURY.ORG. Mélanger un PPA Ubuntu avec Debian, c’est souvent le début d’un roman policier sans coupable heureux. Étape 2 : installer PHP 7.4 et ses extensions L’idée consiste à reprendre les extensions déjà installées pour PHP 7.3, puis à installer leurs équivalents en PHP 7.4. Pour un serveur web classique avec WordPress, WooCommerce, Redis, Imagick, IMAP, SOAP et OPcache,... --- ### NAS Synology: renouveler le certificat TLS - **URL**: https://www.skyminds.net/nas-synology-renouveller-certificat-tls/ Je suis en train de faire le ménage sur d'anciennes machines que je donne sur donnons.org : cela me permet de récupérer quelques (vieilles) données pour les sauvegarder sur le NAS avant de formater les disques durs pour leur nouvelle vie. En changeant de machine, je me suis aperçu que le certificat TLS du NAS n'était plus valide... depuis fin février 2019! What?? Après quelques infructueux essais de renouveler le certificat, il semblerait que le passage à DSM 6.2 soit à l'origine du problème. Visiblement, je ne suis pas le seul affecté. La redirection No-IP J'utilise depuis des années une redirection No-IP pour accéder à différents services comme le NAS ou la webradio. Sur une session SSH sur le NAS, j'ai lancé la commande suivante: sudo syno-letsencrypt renew-all -vv Voilà le résultat: HTTP/1.1 403 Forbidden Server: nginx Date: Fri, 01 Nov 2019 10:43:12 GMT Content-Type: application/problem+json Content-Length: 98 Connection: keep-alive Boulder-Requester: 6426144 Cache-Control: public, max-age=0, no-cache Replay-Nonce: 0002Lw7vG9KbJRj_7s8e0Zuqit27lxN7Om7tdFuqaB2iCKQ ] Body: [{ "type": "urn:acme:error:unauthorized", "detail": "Certificate is expired", "status": 403 }] terminate called after throwing an instance of 'SLError' Aborted (core dumped) Je n'ai jamais réussi à renouveller ou à recréer ce certificat. J'ai donc changé mon fusil d'épaule et utilisé le service DDNS de Synology. La redirection Synology.me Je ne me suis tout simplement pas cassé la tête et ai adopté le service de redirection DNS que propose Synology: Il suffit de cocher la case, l'assistant propose de créer le certificat TLS dans la foulée. Simple et efficace. Dernière étape: on vérifie que le certificat TLS est bien appliqué à tous les services qui peuvent être consultés depuis l'extérieur: Il vous suffit ensuite d'utiliser votre nouvelle redirection en synology.me - pensez à mettre à jour le raccourci de votre navigateur vers DSM. --- ### John Butler – Ocean (Live at Paleo Festival) - **URL**: https://www.skyminds.net/john-butler-ocean-live-at-paleo-festival/ "This song goes to all of you out there, this song goes out to your loved ones, to all your dreams. May you and your families be safe, in peace and have love in this crazy world that we're living in at the moment. "John Butler This is the ever-changing Ocean by John Butler at the Paleo Festival: https://www.youtube.com/watch?v=BaGRl8-QKoU --- ### Décès de ma marraine Mimi - **URL**: https://www.skyminds.net/deces-de-ma-marraine-mimi/ Ma Marraine, Micheline Gonati, est décédée samedi dernier au cours d'un accident de la route sur l'autoroute A1, à la suite d'un malaise cardio-vasculaire. Mimi, tu as choisi de quitter cette terre ce samediDans la paix du Grand SommeilCar ta tâche ici-bas était accomplie.Tes yeux se sont fermés doucement,Comme pour nous chuchoterQu'au bout de la nuit, il y a l'aurore,Qu'au bout de l'hiver, il y a le printemps,Qu'au bout de la mort, il y a la Vie.Mimi, nous ne t'oublierons pas.On se souviendra toujours de ton rire sonore,De tous les bons moments passés ensembleA parler des petits riens de la vie,Émaillées de piques acerbes aussi parfois, Et d'impatiences, car nul doute, quelle Rebelle,Si anticonformiste, tellement ivre de liberté !Mais toujours restera le souvenirDe ton linge repassé à la perfection,De ta passion pour les chats et le jardin,Des albums photos consignant avec soinFamille, naissances, mariages et communionsDe la valeur que tu accordais à la santéToujours prête à envoyer Le remède miracle,De ton amour inconditionnel des enfants,Toujours prête à conseiller, aider, éduquerOffrant temps, amour, énergie sans compter,Sans jamais demander rien en retour.Mimi, nous t'avons tous profondément aimée, Amis, Parents, tes Neveux Matthieu et Julia Le petit Jules qui a illuminé ton cœur et ton âme, Tes compagnons de route professionnelle, Confrères, collègues, patients et élèves Merci de nous avoir honorés de ta présence, De ton talent, de ton courage, de ton abnégation, Du bonheur que tu nous as offert. Tu seras toujours là, présente. Présente dans le vent qui souffle, Dans la neige qui scintille, Dans le chant des oiseaux, Dans la douce pluie d’automne, Dans l’étoile qui brille dans la nuit. Mimi, le temps est venu d'ouvrir tes Ailes de Lumière,De prendre ton essor et de t'envoler vers la Liberté,Confiante d'emprunter ce Chemin de Paix, de Joie,De Sagesse, de Connaissance, libre de tous obstaclesEt de rencontrer à ton arrivée les Êtres que tu as aimésQui t'attendent pour partager une nouvelle vie astraleVibrante, inspirante où inscrire et rêver ton Grand Rêve. Mimi, au seuil de ce voyage initiatique de l'âme,Souviens-toi de toutes tes bonnes Actions,Sois protégée, entourée d'Amour, de LumièreEt accompagnée de nos profondes bénédictions. On pensera toujours à toi Marraine, tu es à jamais dans les cœurs de tous ceux qui ont eu la chance de te connaître. Je t'aime et je pense fort à toi, toujours. --- ### Steven Wilson – The Raven That Refused To Sing - **URL**: https://www.skyminds.net/steven-wilson-the-raven-that-refused-to-sing/ The Raven That Refused to Sing (And Other Stories) est le troisième album solo du musicien britannique Steven Wilson, sorti le 25 février 2013 sur le label Kscope Music Record. Bien qu'il ne puisse pas être considéré comme un album-concept, toutes les chansons ont pour thème des histoires surnaturelles, à l'instar de la chanson éponyme, The Raven That Refused To Sing: https://www.youtube.com/watch?v=n8sLcvWG1M4 La chanson The Raven That Refused to Sing raconte l'histoire d'un vieil homme qui attend la mort avec impatience. Il repense à une époque de son enfance durant laquelle il était incroyablement proche de sa sœur aînée, qui est morte alors qu'ils étaient tous deux très jeunes. L'homme est convaincu qu'un corbeau qui visite son jardin est en vérité une manifestation de sa sœur. Le fait est que celle-ci avait l'habitude de chanter pour lui à l'époque de leur enfance, dès qu'il avait peur ou ne se sentait pas en sécurité, et cela avait une influence apaisante sur lui. Ignorant qu'il ne s'agit que d'un simple corbeau, il finit par penser que si le corbeau chante pour lui, ce sera la preuve que sa sœur est revenue pour l'emmener avec lui dans l'au-delà. Jouent sur cet album Steven Wilson (chant), Guthrie Govan (guitares), Nick Beggs (basse), Marco Minnemann (drums), Adam Holzman (keyboards), et Theo Travis (saxophone / flute). L'album a été produit et mixé par le légendaire Alan Parsons, qui a produit l'album The Dark Side of the Moon de Pink Floyd. --- ### Installer LineageOS (Android 9.0 Pie) sur le OnePlus One - **URL**: https://www.skyminds.net/installer-lineageos-android-9-pie-oneplus-one/ Aujourd'hui, j'ai installé LineageOS (Android 9.0 Pie) sur mon OnePlus One, histoire de lui redonner un second souffle et de bénéficier des dernières mises à jour de sécurité Android. Le OnePlus One (OPO) est sorti en mai 2014, il a donc quelques années derrière lui et tourne sous CyanogenMod 13, c'est-à-dire Android 6.0.1 (Marshmallow). Autant dire qu'il n'a pas vu de correctifs de sécurité depuis quelques années! Étape 1: activer le débogage USB Sur le téléphone, on commence par activer le mode développeur: Ouvrez Paramètres > A propos du téléphone.Tapez 7 fois sur le numéro de build.Vous venez d'activer le mode développeur! Grâce au mode développeur, vous avez maintenant accès à des options qui n'étaient pas visibles auparavant et qui vont nous être nécessaires. Pour activer le débogage USB: Ouvrez Paramètres > Options pour les développeursActivez l'option Débogage AndroidDésactivez l'option Mettre à jour la récupération CyanogenMod (sinon l'installation du recovery sera impossible). Étape 2: installation d'ADB Android Debug Bridge (adb) est un outil de développement qui facilite la communication entre un appareil Android et un ordinateur. Cette communication s'effectue soit par câble USB, soit en WiFi. Branchez votre OnePlus One en USB. Téléchargez les derniers pilotes ADB issus du SDK Android puis décompressez l'archive. Ouvrez le terminal, rendez-vous dans le répertoire platform-tools et listez ensuite votre téléphone avec cette commande: ./adb devices Résultat: List of devices attached b4be4c53 device Notre OnePlus One est bien détecté. On reboot en mode fastboot: ./adb reboot bootloader On liste les appareils détectés par fastboot: ./fastboot devices Résultat: b4be4c53 fastboot Attention, c'est la commande qui va effacer vos données donc pensez à sauvegarder avant! On déverrouille le bootloader avec: ./fastboot oem unlock OKAY [ 0.168s] Finished. Total time: 0.168s La partition est effacée, le téléphone va rebooter deux fois puis vous présenter le choix de la langue... comme au premier jour. Comme c'est un reset de l'appareil, il faut de nouveau activer le débogage USB (étape 1). Étape 3: installation de TWRP (custom recovery) Téléchargez TWRP pour OnePlus One (bacon) puis placez le fichier dans le dossier platform-tools, c'est plus commode. Connectez le téléphone en USB. Ouvrez le terminal et entrez: ./adb reboot bootloader Puis, on vérifie que fastbootdétecte bien le téléphone: ./fastboot devices b4be4c53 fastboot Et on flash TWRP: ./fastboot flash recovery twrp-3.2.3-20190125-bacon.img Sending 'recovery' (12068 KB) OKAY [ 0.382s] Writing 'recovery' OKAY [ 0.224s] Finished. Total time: 0.643s Étape 4: formatage des partitions Eteignez totalement le téléphone. Ensuite, redémarrez-le en recovery en appyant sur Volume Bas + Power. Sélectionnez Wipe. Tapez ensuite sur Format Data et continuez le processus de formatage. Cela supprime le chiffrement et toutes les données qui se trouvent sur la carte mémoire. Retournez au menu précédent puis sélectionnez Advanced Wipe > selectionnez les partitions Cache et System et ensuite Swipe to Wipe. Étape 5: installation d'Android File Transfer C'est à ce stade que malgré tous les tutos que j'ai pu suivre, j'ai obtenu l'erreur suivante à chaque commande adb: adb: error: failed to get feature set: device unauthorized. This... --- ### SSH : corriger l’erreur « Permissions are too open » - **URL**: https://www.skyminds.net/ssh-permissions-0644-for-id-rsa-pub-are-too-open/ Lors d’une connexion SSH, il arrive de tomber sur ce message assez brutal : @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0644 for '/Users/matt/.ssh/id_ed25519.pub' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. Load key "/Users/matt/.ssh/id_ed25519.pub": bad permissions Le message semble dire que les permissions de la clé publique sont trop ouvertes. En réalité, le problème le plus probable est encore plus simple : vous avez demandé à SSH d’utiliser une clé publique comme si c’était une clé privée. Autrement dit, vous avez probablement utilisé un fichier qui se termine par .pub avec l’option -i. Et SSH n’a pas apprécié. Franchement, il a raison. La cause la plus fréquente : utiliser id_rsa.pub ou id_ed25519.pub avec -i L’option -i de la commande ssh sert à indiquer le fichier d’identité, c’est-à-dire la clé privée à utiliser pour se connecter. Voici l’erreur classique : ssh -i ~/.ssh/id_ed25519.pub user@example.com Ici, le fichier indiqué est id_ed25519.pub. C’est la clé publique. Elle sert à être copiée sur le serveur, généralement dans ~/.ssh/authorized_keys. Elle ne sert pas à s’authentifier côté client avec -i. La bonne commande utilise la clé privée, sans l’extension .pub : ssh -i ~/.ssh/id_ed25519 user@example.com Pour une clé RSA ancienne, le principe est identique : ssh -i ~/.ssh/id_rsa user@example.com Et non : ssh -i ~/.ssh/id_rsa.pub user@example.com Clé privée et clé publique : la différence à retenir Une paire de clés SSH contient deux fichiers. FichierRôleOù l’utiliser ?Permissions typiquesid_ed25519Clé privéeSur votre machine, avec ssh -i600id_ed25519.pubClé publiqueSur le serveur, dans authorized_keys644 acceptableid_rsaClé privée RSASur votre machine, avec ssh -i600id_rsa.pubClé publique RSASur le serveur, dans authorized_keys644 acceptable La clé privée doit rester privée. Elle ne doit jamais être partagée, envoyée par email, copiée dans un ticket support ou déposée sur un serveur tiers. La clé publique, elle, est faite pour être partagée. Vous pouvez la copier sur GitHub, GitLab, WPEngine, un serveur dédié ou dans le fichier authorized_keys d’un compte distant. Correction rapide Si votre commande contient .pub, retirez-le. Mauvaise commande : ssh -i ~/.ssh/id_ed25519.pub -o IdentitiesOnly=yes user@example.com Bonne commande : ssh -i ~/.ssh/id_ed25519 -o IdentitiesOnly=yes user@example.com Dans la plupart des cas, cela suffit. Le fichier .pub n’était pas trop ouvert pour son rôle. Il était simplement utilisé au mauvais endroit. Vérifier les permissions de vos clés SSH Si l’erreur concerne vraiment une clé privée, corrigez ses permissions. chmod 700 ~/.ssh chmod 600 ~/.ssh/id_ed25519 chmod 644 ~/.ssh/id_ed25519.pub Pour une clé RSA : chmod 700 ~/.ssh chmod 600 ~/.ssh/id_rsa chmod 644 ~/.ssh/id_rsa.pub La règle simple : ~/.ssh doit être accessible uniquement par votre utilisateur. La clé privée doit être lisible uniquement par votre utilisateur. La clé publique peut être lisible par d’autres. Le fichier authorized_keys côté serveur doit généralement être en 600. Vérifier les droits avec ls Pour voir les permissions actuelles, utilisez : ls -la ~/.ssh Un résultat propre ressemble à ceci : drwx------ 10 matt staff 320 May 19 09:30 . -rw------- 1 matt staff 411 May 19 09:30 id_ed25519 -rw-r--r-- 1 matt staff 99 May 19 09:30 id_ed25519.pub -rw------- 1 matt staff... --- ### Stevie Wonder vs The Clash – Uptight (Dunproofin’ Rock The Casbah Mashup Mix by JackTheVideoRipper) - **URL**: https://www.skyminds.net/stevie-wonder-vs-the-clash-uptight-rock-the-casbah-mashup/ Voici la rencontre entre Uptight de Stevie Wonder et Rock the Casbah des Clash par JackTheVideoRipper: https://www.youtube.com/watch?v=XXdfKUbS-0c La synchro est parfaite et c'est le genre de titre qu'on n'hésite pas à se remettre plusieurs fois! C'est quasiment une nouvelle chanson, à part entière. --- ### Chick Corea and Gary Burton – Crystal Silence - **URL**: https://www.skyminds.net/chick-corea-gary-burton-crystal-silence/ Crystal Silence est un album en duo du vibraphoniste Gary Burton et du pianiste Chick Corea sorti en 1972 chez ECM: https://www.youtube.com/watch?v=TKEMlJ97Jj4 Cette collaboration se continuera avec l'album Duet (1979), Native Sense: The New Duets (1997) et The New Crystal Silence (2008), ainsi qu'avec de nombreux concerts. A la fois, jazzy et mélancolique. --- ### MySQL: résoudre l’erreur « Incorrect datetime value » lors d’opérations sur les tables - **URL**: https://www.skyminds.net/mysql-resoudre-erreur-incorrect-datetime-value/ Depuis le passage du site sur le nouveau serveur, ORION, j'utilise MySQL 8 en lieu et place de MariaDB, histoire de tester les les gains de performance. Or, avec la nouvelle configuration de MySQL par défaut, vous pouvez obtenir cette erreur lors de simples opération de maintenance comme l'optimisation des tables: example.wp_comments: Table does not support optimize, doing recreate + analyze instead example.wp_comments: Invalid default value for 'comment_date' example.wp_comments: Operation failed example.wp_et_social_stats: Incorrect datetime value: '0000-00-00 00:00:00' for column 'comment_date' at row 1 example.wp_et_social_stats: Invalid default value for 'comment_date' example.wp_et_social_stats: Table does not support optimize, doing recreate + analyze instead example.wp_et_social_stats: Invalid default value for 'sharing_date' example.wp_et_social_stats: Operation failed Cela est dû à un changement de configuration, notamment dans la directive sql_mode depuis MySQL 5.7. Voyons-donc ce que contient la directive par défaut. Identifiez-vous sur le serveur MySQL: mysql -u root -p Puis vérifiez le contenu de la variable de configuration sql_mode: show variables like 'sql_mode'; Résultat: +---------------+-----------------------------------------------------------------------------------------------------------------------+ | Variable_name | Value | +---------------+-----------------------------------------------------------------------------------------------------------------------+ | sql_mode | ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION | +---------------+-----------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.02 sec) Ce qui pose problème, ce sont ces deux directives: NO_ZERO_IN_DATE et NO_ZERO_DATE. Deux solutions s'offrent à nous : éditer la valeur directement depuis la console mysql ou alors depuis le fichier de configuration my.cnf. Méthode 1 : éditer la valeur de sql_mode depuis la console MySQL Si vous vous trouvez toujours dans la console mysql, vous pouvez lancer la reqête suivante, qui enlève les drapeaux NO_ZERO_IN_DATE et NO_ZERO_DATE à notre directive sql_mode: SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'; Relancez ensuite le serveur: service mysql restart Méthode 2 : éditer la valeur de sql_mode depuis le fichier de configuration MySQL (my.cnf) Nous allons donc éditer notre fichier de configuration MySQL: nano /etc/mysql/mysql.conf.d/mysqld.cnf Et ajouter (ou modifier) la variable de configuration sql_mode en l'amputant des valeurs NO_ZERO_IN_DATE et NO_ZERO_DATE: sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION Enregistrez le fichier puis redémarrez le serveur mysql: service mysql restart Vous pouvez désormais lancer des requêtes de maintenance ou de modification de la structure des tables de la base de données sans problèmes. --- ### Névez, vue du ciel - **URL**: https://www.skyminds.net/nevez-vue-du-ciel/ Voici une magnifique vidéo de l'Office de Tourisme de Névez qui nous montre quelques plages et coins entre terre et mer sur la commune de Névez, dans le Finistère: https://www.youtube.com/watch?v=1stPzm521rs Entre Quimper et Lorient et plus précisément entre Pont-Aven et Concarneau, Névez, station littorale Sensation Bretagne, est idéalement située. Elle permet de se poser pour un week-end ou pour un séjour dans un coin adorable, préservé et calme. Sa situation remarquable permet aussi de découvrir très facilement toutes les richesses du Finistère et de la Bretagne Sud. Les paysages sont préservés, et très diversifiés, les longues plages de sable fin flirtent avec les criques rocheuses. Eaux turquoise, anses sauvages, petits ports nichés au fond des rias telle est la carte de visite de ce petit coin de paradis finistérien. Un vrai coin de paradis! --- ### Utiliser Git pour envoyer du code versionné sur Github - **URL**: https://www.skyminds.net/utiliser-git-code-version-sur-github/ Git — et son homologue GitHub — permet de versionner votre code afin de suivre les changements, commenter les modifications, revenir en arrière, collaborer avec d’autres développeurs, gérer une feuille de route, ouvrir des issues et accepter des pull requests. En clair : Git garde l’historique de votre projet, tandis que GitHub héberge ce projet en ligne et facilite la collaboration. Voici un mémo pratique pour créer un dépôt Git local, y ajouter du code, le connecter à GitHub, puis envoyer les changements sur le dépôt distant. Installer Git Commençons par l’étape obligatoire : installer Git sur votre système. Git pour macOS Git pour Linux Git pour Windows Sous Ubuntu ou Debian, on peut l’installer avec : sudo apt update sudo apt install git Sous macOS avec Homebrew : brew install git Pour vérifier que Git est bien installé : git --version Configurer son identité Git Avant de créer vos premiers commits, configurez votre nom et votre adresse email. Git les utilisera dans l’historique du projet. git config --global user.name "Matt Biscay" git config --global user.email "matt@example.com" Vous pouvez vérifier la configuration avec : git config --global --list Si vous travaillez sur plusieurs identités, par exemple une adresse personnelle et une adresse professionnelle, vous pouvez aussi configurer ces valeurs localement dans un projet précis : git config user.name "Matt Biscay" git config user.email "matt@example.com" Sans l’option --global, la configuration s’applique uniquement au dépôt courant. macOS : résoudre l’erreur xcrun invalid active developer path Sous macOS, après une mise à jour du système, une commande Git peut afficher cette erreur : xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun Cela signifie généralement que les outils en ligne de commande de Xcode sont absents ou cassés. On peut les réinstaller avec : sudo rm -rf /Library/Developer/CommandLineTools sudo xcode-select --install Ensuite, relancez le terminal et vérifiez : git --version Créer un dépôt Git local Placez-vous dans le répertoire qui contient votre code : cd /chemin/vers/mon-projet Initialisez ensuite le dépôt Git : git init Cette commande crée un dossier caché .git dans le projet. C’est là que Git stocke l’historique, les branches, les références et les objets internes du dépôt. La documentation officielle indique que git init crée un dépôt vide, notamment avec un répertoire .git et les sous-dossiers nécessaires. On peut vérifier l’état du dépôt avec : git status Créer un fichier .gitignore Avant d’ajouter tous les fichiers, créez un fichier .gitignore. Il permet d’indiquer à Git ce qu’il ne doit pas versionner : caches, dépendances installées, fichiers temporaires, secrets, exports, archives, logs ou fichiers générés. Pour un projet PHP ou WordPress, on peut commencer avec ceci : # Dépendances. vendor/ node_modules/ # Environnement local. .env .env.* !.env.example # Logs. *.log logs/ # Fichiers système. .DS_Store Thumbs.db # Archives et sauvegardes. *.zip *.tar *.tar.gz *.sql *.sql.gz # WordPress. wp-config.php wp-content/cache/ wp-content/uploads/cache/ wp-content/upgrade/ wp-content/backup*/ wp-content/backups/ wp-content/debug.log Le contenu exact dépend du projet. Par exemple, sur un plugin WordPress public, vous versionnerez probablement le code source du plugin, mais pas les exports... --- ### Sélectionner un élément par ID ou classe en JavaScript et jQuery - **URL**: https://www.skyminds.net/jquery-select-element-id-class/ Il arrive souvent de devoir sélectionner plusieurs éléments HTML dont l’ID ou la classe suit une convention de nommage. Par exemple, vous avez des éléments avec des IDs comme toto_1, toto_2, toto_3, ou des classes comme item-active, item-disabled, item-featured. Vous ne voulez pas cibler chaque élément à la main. Vous voulez dire au navigateur : “donne-moi tout ce qui commence par cette chaîne”. Bonne nouvelle : vous pouvez le faire avec les sélecteurs CSS d’attributs, en JavaScript natif ou avec jQuery. Aujourd’hui, je recommande de commencer par JavaScript natif. jQuery reste utile si votre projet l’utilise déjà, notamment dans WordPress, WooCommerce ou une ancienne base de code. Mais pour une simple sélection d’éléments, le navigateur sait très bien se débrouiller tout seul. Il a grandi, le petit. Sélectionner un ID exact Pour sélectionner un élément par son ID exact en JavaScript natif, utilisez getElementById() : const element = document.getElementById('toto_1'); C’est la méthode la plus directe et la plus performante pour un ID précis. L’équivalent jQuery : const $element = jQuery('#toto_1'); La documentation jQuery indique d’ailleurs que le sélecteur ID utilise document.getElementById() quand c’est possible, ce qui le rend très efficace. Sélectionner une classe exacte Pour sélectionner tous les éléments qui possèdent une classe précise : const elements = document.querySelectorAll('.featured-item'); Si vous voulez une collection HTML live, vous pouvez aussi utiliser : const elements = document.getElementsByClassName('featured-item'); Dans la plupart des cas modernes, querySelectorAll() est plus souple et plus lisible. Avec jQuery : const $elements = jQuery('.featured-item'); Sélectionner les éléments dont l’ID commence par une chaîne Pour sélectionner tous les éléments dont l’ID commence par toto_, utilisez le sélecteur d’attribut ^=. En JavaScript natif : const elements = document.querySelectorAll('[id^="toto_"]'); Avec jQuery : const $elements = jQuery('[id^="toto_"]'); Le sélecteur [id^="toto_"] signifie : sélectionne les éléments dont l’attribut id commence par toto_. Exemple HTML : Premier Deuxième Troisième Le sélecteur suivant récupère seulement les deux premiers éléments : document.querySelectorAll('[id^="toto_"]'); Sélectionner les éléments dont l’ID finit par une chaîne Pour sélectionner les éléments dont l’ID finit par une chaîne, utilisez $=. En JavaScript natif : const elements = document.querySelectorAll('[id$="_mobile"]'); Avec jQuery : const $elements = jQuery('[id$="_mobile"]'); Ce sélecteur récupère par exemple : Menu Recherche Mais il ignore : Menu Sélectionner les éléments dont l’ID contient une chaîne Pour sélectionner les éléments dont l’ID contient une chaîne, utilisez *=. En JavaScript natif : const elements = document.querySelectorAll('[id*="product"]'); Avec jQuery : const $elements = jQuery('[id*="product"]'); Ce sélecteur récupère tous les éléments dont l’ID contient product, peu importe sa position : Utilisez-le avec prudence. *= peut attraper plus d’éléments que prévu. C’est pratique, mais un peu gourmand. Comme un regex écrit un vendredi soir. Faire la même chose avec les classes Les classes peuvent aussi être sélectionnées avec des sélecteurs d’attributs, car class est un attribut HTML. Classe qui commence par une chaîne : const elements = document.querySelectorAll('[class^="card-"]'); Classe qui finit par une chaîne : const elements = document.querySelectorAll('[class$="-active"]'); Classe qui contient une chaîne : const elements = document.querySelectorAll('[class*="product"]'); Mais attention : l’attribut class peut contenir plusieurs classes... --- ### Flipsyde – Someday - **URL**: https://www.skyminds.net/flipsyde-someday/ https://www.youtube.com/watch?v=e5QEAI_O2IA [Chorus] Someday we gonna rise up on that wind you know Someday we gonna dance with those lions Someday we gonna break free from these chains and keep on flyin' [Verse 1] They tellin' me it's all good just wait You know you're gonna be there someday Sippin' on Jim Beam ok Gotta get these things one day Till then do another line you know Searching for that other high Stop or I gotta steal then steal Kill or I'm gonna be killed I got a sack in my pocket Conscious yellin' drop it You know we're gonna lose it someday And we tryin' to hold it all together but the devil is too clever so I'm gonna die you gonna die we gonna die Someday one day I said [Chorus] Someday we gonna rise up on the wind you know Someday we gonna dance with those lions Someday we gonna break free from these chains and keep on flyin' [Verse 2] Try to lie but it ain't me Ain't me Try to look but I can't see Can't stop right now cause I'm too far and I can't keep goin' cause it's too hard In the day in the night it's the same thing On the field on the block it's the same game On the real if you stop then it's no pain but if you can't feel pain then it's no gain Rearrange and you change and it's all bad and you try to maintain but you fall back And you crawl and you slip and you slide down Wanna make it to the top better start now So I hold my soul and I die hard All alone in the night in the graveyard Someday one day I'm gonna be free and they won't try to kill me for being me Hey someday [Chorus] Someday we gonna rise up on that wind you know Someday we gonna dance with those lions Someday we gonna break free from these chains and keep on flyin' If you know how this is Gonna see it's not that easy Don't stop get it till it's done From where you are or have begun I said keep on try a little harder to see everything you need to be Believe in your dreams That you see when you're asleep [Chorus] Someday we gonna rise up on that wind you know Someday we gonna dance with those lions Someday we gonna break free from these chains and keep on flyin' --- ### SSH : corriger l’erreur « Missing privilege separation directory: /run/sshd » - **URL**: https://www.skyminds.net/ssh-missing-privilege-separation-directory-run-sshd/ Sur un serveur Ubuntu ou Debian fraîchement installé, il peut arriver que le service SSH refuse de démarrer ou que la vérification de configuration échoue avec une erreur autour de /run/sshd. Le cas typique apparaît lorsque l’on lance un test de configuration avec sshd -t : sudo sshd -t Et que le serveur renvoie quelque chose comme : Could not load host key: /etc/ssh/ssh_host_ed25519_key Missing privilege separation directory: /run/sshd Ces deux erreurs peuvent impressionner, surtout sur un serveur distant. Heureusement, elles sont généralement simples à corriger : il faut régénérer les clés hôte SSH manquantes, puis recréer le répertoire runtime attendu par sshd. Voici la méthode propre pour corriger ces erreurs sans casser l’accès SSH au serveur. Comprendre les deux erreurs Dans l’exemple ci-dessus, SSH signale deux problèmes différents : Could not load host key: /etc/ssh/ssh_host_ed25519_key : une clé hôte SSH manque sur le serveur ; Missing privilege separation directory: /run/sshd : le répertoire temporaire utilisé par le daemon SSH n’existe pas. Les deux problèmes peuvent apparaître après une installation minimale, une image système incomplète, un conteneur, un chroot, une restauration de serveur, ou une mise à jour qui a laissé SSH dans un état bancal. La bonne nouvelle : dans la plupart des cas, deux commandes suffisent pour remettre SSH d’aplomb. Le tout, c’est de les lancer proprement. Précaution avant de toucher à SSH Si vous êtes connecté à distance, gardez votre session SSH actuelle ouverte pendant toute l’opération. Ouvrez une deuxième session pour tester les changements, mais ne fermez pas la première tant que vous n’avez pas confirmé que SSH redémarre correctement. Une session SSH ouverte, c’est votre corde de rappel. Et sur un serveur en production, on aime beaucoup les cordes de rappel. Commencez par identifier le service SSH utilisé par votre distribution : systemctl status ssh --no-pager Sur Debian et Ubuntu, le service s’appelle généralement ssh. Sur d’autres distributions, il peut s’appeler sshd. Corriger l’erreur “Could not load host key” L’erreur Could not load host key apparaît lorsque certaines clés hôte SSH n’existent pas dans /etc/ssh/. Ces clés ne sont pas vos clés utilisateur. Ce sont les clés propres au serveur, utilisées pour identifier la machine auprès des clients SSH. Par exemple : /etc/ssh/ssh_host_ed25519_key /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key Si la clé ED25519 manque, le message peut ressembler à ceci : Could not load host key: /etc/ssh/ssh_host_ed25519_key Pour générer toutes les clés hôte manquantes, utilisez : sudo ssh-keygen -A L’option -A demande à ssh-keygen de générer les clés hôte manquantes pour tous les types de clés pris en charge. Le manuel OpenSSH décrit cette option comme la génération des clés hôte non existantes avec les chemins par défaut. Voir la documentation OpenSSH de ssh-keygen. Sur un serveur où seule la clé ED25519 manque, le retour peut être : ssh-keygen: generating new host keys: ED25519 Vérifiez ensuite les clés présentes : ls -l /etc/ssh/ssh_host_*_key Les clés privées doivent appartenir à root et ne doivent pas être lisibles par tout le monde. En pratique, on attend généralement des permissions restrictives, par... --- ### Kung Fu : Tony Jaa - **URL**: https://www.skyminds.net/kung-fu-tony-jaa/ Tony Jaa, est un acteur thaï d'arts martiaux et un chorégraphe spécialisé en Kung Fu, Muay Boran et Taekwondo, ainsi que dans le maniement d'épées et en gymnastique. https://www.youtube.com/watch?v=epJuNCOGjio À 15 ans Tony Jaa devient l'élève de Panna Rittikrai qui dirige une équipe de cascadeurs nommée Muay Thai Stunt. Jaa fait diverses apparitions dans ses films. Il continue à travailler en tant que cascadeur, apparaissant dans le film Mortal Kombat, destruction finale (Mortal Kombat: Annihilation). Son premier grand film, dans lequel il tient le rôle principal Ting, fut Ong-bak co-réalisé en 2003 avec Panna Rittikrai. Tony Jaa y effectue toutes les cascades sans assistance technique ou effets spéciaux. Ensuite, il fera un autre film dont il a le rôle principal: Tom-Yum-Goong (The Protector aux États-Unis). Il déclare avoir été influencé dès sa jeunesse par les stars chinoises de films d'actions : Bruce Lee, Jet Li et Jackie Chan, bien que son style de combat dans Ong-Bak soit fidèle à ses racines thaïlandaises. Une détente et un style phénoménal! --- ### Nginx : empêcher le hotlinking des images - **URL**: https://www.skyminds.net/nginx-eviter-le-hotlinking/ Le hotlinking consiste à afficher sur un autre site une image hébergée chez vous, en utilisant directement son URL. Résultat : le visiteur ne vient pas chez vous, mais votre serveur fournit quand même le fichier. Charmant. Vous payez la bande passante, l’autre site récupère l’image. Sous Nginx, on peut limiter ce comportement avec le module ngx_http_referer_module. Il permet de vérifier l’en-tête HTTP Referer envoyé par le navigateur, puis de refuser les requêtes venant de domaines non autorisés. Cette protection n’est pas parfaite. Un en-tête Referer peut être falsifié ou absent. En revanche, elle reste très utile pour bloquer le hotlinking classique : forums, blogs, agrégateurs douteux ou sites qui affichent vos images sans les héberger eux-mêmes. Qu’est-ce que le hotlinking ? Le hotlinking, aussi appelé liaison directe ou inline linking, désigne le fait d’utiliser directement l’URL d’un fichier hébergé sur un autre site. Par exemple, un site externe peut afficher une image avec ce type de balise : Visuellement, l’image apparaît sur le site externe. Techniquement, elle est toujours servie par votre serveur. Si l’image devient populaire ailleurs, votre bande passante part en fumée sans vous apporter de trafic réel. Pourquoi bloquer le hotlinking ? Bloquer le hotlinking peut être utile pour plusieurs raisons. Réduire la consommation de bande passante. Éviter que des sites tiers utilisent vos images sans autorisation. Limiter les requêtes inutiles sur votre serveur. Protéger des fichiers médias lourds, comme les images originales ou certains documents. Réserver vos ressources à vos propres visiteurs. Sur un petit site, le gain peut être modeste. Sur un site avec beaucoup d’images, de tutoriels, de captures d’écran ou de fichiers médias, cela peut vraiment soulager Nginx. C’est particulièrement vrai si vos images sont reprises par des forums, des scrapers ou des sites à fort trafic. La méthode Nginx avec valid_referers Nginx fournit la directive valid_referers. Elle définit les domaines autorisés à afficher vos fichiers. Quand le référent ne correspond pas, la variable $invalid_referer vaut 1. On peut alors retourner une erreur 403 Forbidden. Voici une configuration simple pour protéger les images. location ~* \.(?:gif|jpe?g|png|svg|webp|avif)$ { valid_referers none blocked server_names example.com *.example.com ~\.google\. ~\.bing\. ~\.facebook\. ~\.pinterest\.; if ( $invalid_referer ) { return 403; } } Remplacez évidemment example.com par votre domaine. Pour SkyMinds, cela donnerait par exemple : location ~* \.(?:gif|jpe?g|png|svg|webp|avif)$ { valid_referers none blocked server_names skyminds.net *.skyminds.net ~\.google\. ~\.bing\. ~\.facebook\. ~\.pinterest\.; if ( $invalid_referer ) { return 403; } } Cette règle autorise votre domaine, vos sous-domaines, les noms déclarés dans server_name, les requêtes sans référent, les référents masqués, ainsi que quelques plateformes utiles pour l’indexation, le partage ou la découverte d’images. Comprendre none, blocked et server_names La directive valid_referers accepte plusieurs types de valeurs. Les trois plus fréquentes sont none, blocked et server_names. ValeurRôleFaut-il l’utiliser ?noneAutorise les requêtes sans en-tête RefererOui, dans la plupart des casblockedAutorise les référents masqués par un proxy, pare-feu ou outil de confidentialitéOui, souventserver_namesAutorise les noms définis dans la directive server_nameOui, si votre server block est propreexample.comAutorise un domaine précisOui*.example.comAutorise les sous-domainesOui, si nécessaire~\.google\.Autorise via expression régulièreÀ utiliser avec parcimonie... --- ### Buckethead – The Interworld And The New Innocence - **URL**: https://www.skyminds.net/buckethead-the-interworld-and-the-new-innocence/ Praxis est le nom d'un projet de rock expérimental dirigé par le producteur et bassiste Bill Laswell et mettant en vedette le guitariste Buckethead et le batteur Bryan "Brain" Mantia dans presque toutes les incarnations du groupe. Le groupe a travaillé avec de nombreux autres artistes tels que Serj Tankian de System of a Down, Iggy Pop, DXT et DJ Disk. Praxis combine des éléments de différents genres musicaux tels que le funk, le jazz, le hip-hop et le heavy metal dans une musique hautement improvisée. Le premier album du groupe, Transmutation (Mutatis Mutandis), sorti en 1992, a été bien accueilli par les critiques. Praxis était composé de Buckethead, du clavier Bernie Worrell, du batteur Brain, du bassiste Bootsy Collins et d’Afrika Baby Bam dans le rôle "AF Next Man Flip" sur les platines. Bill Laswell a dirigé le projet et a servi de producteur et de co-auteur d'une grande partie du matériel de l'album. Voici The Interworld And The New Innocence, interprété par Buckethead: https://www.youtube.com/watch?v=Gtij89mNfts Extrait du concert de Giant Robot du 29 mai 2004 à l'Independent de San Francisco, California. --- ### Zack Hemsey – Vengeance - **URL**: https://www.skyminds.net/zack-hemsey-vengeance/ Zack Hemsey est un compositeur et musicien américain qui a produit pas mal de musiques pour des films et bande-annonces. L'une de ses musiques, "Mind Heist" a notamment été utilisée pour le trailer d'Inception. Voici "Vengeance" : https://www.youtube.com/watch?v=Lhv_yFMuwxs On peut retrouver "Vengeance" dans l'excellent film The Equalizer, dans un des trailer de la saison 2 de Game of Thrones, et dans celui de 24: Live Another Day. --- ### Is Death of a Salesman a Tragedy or a Social Drama? - **URL**: https://www.skyminds.net/death-of-a-salesman-tragedy-versus-social-drama/ Death of a Salesman is both a social drama and a modern tragedy. Arthur Miller exposes the economic system that makes Willy Loman disposable, yet he also gives Willy agency, responsibility and a desperate struggle for dignity. Social forces create the pressure, while Willy’s choices transform that pressure into tragedy. Is Death of a Salesman a tragedy or a social drama? Critics have long debated whether Arthur Miller’s Death of a Salesman should be classified as a tragedy or a social drama. The social interpretation appears immediately convincing: Willy Loman is an ageing travelling salesman discarded by his employer when he can no longer produce sufficient profit. His family struggles with debt, insecure employment and the promises of the American Dream. However, Miller does more than document social injustice. He presents Willy’s final day as a struggle over identity, dignity, responsibility and the meaning of a human life. The two interpretations are therefore not mutually exclusive: Death of a Salesman is best understood as a modern social tragedy. Its subject is social because Willy’s crisis develops within a competitive economic system. Its form and emotional effect are tragic because Willy actively defends a mistaken vision of himself until that struggle destroys him. Social dramaModern tragedyExamines work, money, class and economic insecurityExamines dignity, identity, responsibility and irreversible lossShows how institutions shape individual livesShows how an individual responds to those pressuresEncourages criticism of societyProduces pity, fear and tragic recognitionPresents Willy as an exploited workerPresents Willy as an active but mistaken protagonistLocates the crisis in post-war American capitalismGives the crisis broader human significance Why did critics question the play’s tragic status? Classical tragedy is commonly associated with kings, princes and exceptional figures. Oedipus rules Thebes, while Shakespeare’s tragic protagonists often possess political or military power. Willy Loman possesses no such status: he is an ordinary salesman living in a modest Brooklyn house, and his employer can dismiss him without altering the course of history. Some critics have therefore argued that Willy lacks the grandeur required of a tragic hero. His ambitions appear limited, his values are frequently shallow and his death changes neither society nor the economic system that defeated him. Furthermore, Willy often seems less like a heroic rebel than a confused victim, since his memories interrupt reality, his judgements contradict one another and his plans repeatedly fail. If society determines everything, Willy appears to possess no genuine freedom. Without choice, responsibility or meaningful resistance, his death might seem merely pathetic rather than tragic. Miller confronts this objection directly in his 1949 essay Tragedy and the Common Man, where he argues that tragic dignity does not depend upon social rank but upon the intensity with which a person defends a threatened sense of self. Arthur Miller’s theory of modern tragedy Miller published Tragedy and the Common Man shortly after the Broadway opening of Death of a Salesman. The essay explains why an ordinary person can become the protagonist of a tragedy. For Miller, the tragic figure struggles to secure a rightful place... --- ### Death of a Salesman: Structure, Memory and Time - **URL**: https://www.skyminds.net/death-of-a-salesman-play-structure-memory-play/ Arthur Miller structures Death of a Salesman around the interaction of present action, memory and imagination. Willy Loman’s past does not appear as a sequence of conventional flashbacks. It remains active within his present consciousness, shaping what the audience sees, hears and understands. Why is the structure of Death of a Salesman unusual? Death of a Salesman combines a simple chronological plot with a much more complex psychological structure. The present-day action covers approximately the final twenty-four hours of Willy Loman’s life, followed by the Requiem after his funeral. Within that narrow period, however, the play moves through several decades of memory, fantasy and imagined conversation. Arthur Miller does not separate these different periods into conventional scenes. Instead, the present and the past occupy the stage together. A word, object, sound or emotional pressure can transform the theatrical space and bring an earlier moment into immediate dramatic existence. Miller described this method as a “mobile concurrency of past and present”. The expression emphasises simultaneity rather than retrospection. Willy does not calmly look back upon a completed past; he continues to live inside it. Structural levelFunctionExamplesExternal plotShows the final day of Willy’s life in chronological orderWilly returns home, visits Howard and Charley, meets his sons and diesMemory scenesReconstruct significant episodes from Willy’s pastThe young Biff, Ben’s visits and the Boston hotelDouble exposurePlaces past and present on stage at the same timeWilly speaks to Charley and Ben within the same sequenceImagined conversationsDramatises Willy’s internal argumentsWilly consults the dead Ben about his suicide planRequiemMoves outside Willy’s consciousness after his deathLinda, Biff, Happy and Charley interpret his life Is Death of a Salesman a memory play? Death of a Salesman can usefully be described as a memory play because much of its dramatic action develops through Willy’s recollections. However, the term requires qualification. Unlike Tennessee Williams’s The Glass Menagerie, the play has no stable narrator who knowingly reconstructs earlier events for the audience. Willy does not control the act of remembering. Memories invade his immediate environment and interrupt his ability to respond to the present. The audience therefore enters an unstable consciousness rather than listening to an organised retrospective account. Miller’s working title, The Inside of His Head, reveals the central dramatic idea. The stage does not simply represent the Loman house. It also represents the mental space in which Willy’s memories, desires and present experiences collide. Why “flashback” is an incomplete description A conventional flashback suspends the present narrative, presents an event from the past and then returns to the original time. It usually establishes a clear boundary between temporal levels. Miller’s structure behaves differently. The past in Death of a Salesman often emerges before the present has disappeared. Characters from different periods may share the same space, while Willy answers a person in the present and another from his memory. The transitions are emotional and theatrical rather than mechanically chronological. Furthermore, the memory scenes continue the dramatic movement towards Willy’s death. They do not stop the action to provide background information. Each... --- ### The Great Gatsby: characters and characterization - **URL**: https://www.skyminds.net/the-great-gatsby-characters-and-characterization/ In The Great Gatsby, characters are not introduced traditionally. They are not described in any detail and cannot be studied separately. Thanks to his "ideographic" method of character-portrayal, Fitzgerald suggests one idea through an attitude, or a gesture but does not provide a final explanation. It is up to the reader to reconstruct the pieces of the puzzle into a coherent whole. The author's technique is close to the Joycean "signature" when the character is broken down into its separate parts, and one or two of the parts are made to stand for the whole. Thus, Gatsby's presence for example is signalled by his indescribable smile (54, III) or by his colourful suits, his hollow-eyed stare or Wolfshiem's by his hairy nostrils. This is a stylized method of presentation, a virtual iconography of character whereby the soul of a being is shown forth through one exterior element. This study will fall into parts: in the first one, we will see how characters are gradually characterized by the readers from a few signs and in the second one, we will demonstrate that characters must be understood through their relationships with objects. A stylized technique of characterization Ambiguous signs Instead of the over-detailed description of 19th-century novelists, we find in the case of each character a few signs that may be contradictory. It is often a material or a physical detail that points to a moral dimension of the character, as with Hawthorne and Melville. Daisy’s voice is alluded to several times in the novel. It is because of this voice that Gatsby falls madly in love with Daisy: “I think that the voice held him most - that voice was a deathless song” (end of chapter V, p. 103). Yet, Nick realizes on the first he visits the Carraways that Daisy’s voice lacks sincerity and that it gives away Daisy’s duplicity: “The instant her voice broke off… I felt the basic insincerity of what she has said” (p.24). From these two contradictory signs, the magic power of the voice and the insincerity of that same voice an interpretation is suggested. The meaning is finally made explicit by none other than Gatsby during the night of the accident. The latter, thinking back to his past, recalls his first date with the woman whom he was to love so much ever after: "It so happened that Daisy had caught a cold so that her voice was huskier." (VIII, 155). "At that point in time Gatsby realized that the charm and youth of that voice was very much a matter of wealth. Daisy’s melodious voice was not so much due to genuine passion as to the glamour of money." (VIII, 126) From an opposition between two signs, the reader is left to infer meaning. For instance, Wilson the garage owner is first seen as a passive, ghastly silhouette “a blond, spiritless man, anaemic, and faintly handsome” (II, 31), but this lack of presence is contradicted by the end (chapter VII, VIII) when he turns... --- ### Wickerbird – Druids - **URL**: https://www.skyminds.net/wickerbird-druids/ Wickerbird is the moniker of Blake Cowan's solo dream-folk project, crafted one rainy day in the wild woods of Washington State. https://www.youtube.com/watch?v=IQepQ_yr5MM in the day my darlin i was here before i was stealin starlins i was sleepin on the shore on the shore in the day you're turning we were hidden for we made picture books and we made fixtures on the floor on the floor on the floor on the floor but you were gone A retrouver sur l'album The Crow Mother, paru le 25 septembre 2012. --- ### The Great Gatsby: the Romantic Quest - **URL**: https://www.skyminds.net/the-great-gatsby-the-romantic-quest/ The term quest immediately calls up the fairy tale motif or the German Märchen (Tieck; Grimm). The quest has been studied by Propp in Morphology of the Folktale. In a tale, the hero attempts to escape from his humble origins to claim a higher ascendency or a royal lineage. James Gatz from North Dakota had never really accepted his parents who were shiftless and unsuccessful farm people: "his imagination had never really accepted them as his parents at all". James Gatz denies his social as well as biological parentage to aspire to a more glittering and glamorous future. He, therefore, creates an exalted image of himself: he yearns to become a demi-god ("he was a son of God"). So James Gatz's quest consists of proving to the world and possibly to himself that he is mighty. Now, this may only be achieved through personal enrichment. The quest pattern is also closely bound up with the romantic desire to transcend the limitations of the Self. The aim of such a quest is therefore to assert the primacy of the imagination over reason in a materialistic and philistine world. Fitzgerald often recalled his great admiration for the poet Keats and he went as far as to claim that he intended to "write prose on the same lines as Keats' poetry" (Sheilah Graham, College of One, Harmondsworth, 1969). So even if the novel's action is steeped in the hedonistic, pleasure-seeking America of the Jazz Age, it is nonetheless imbued with Romantic idealism. In a way, The Great Gatsby may be interpreted as a downright rejection of everything that is earthbound, mundane, and devoid of spiritual lift. "Real-time" versus timeless ideality Time is the real enemy in the Romantic World. Keats, whose influence should never be underestimated, is constantly striving to attain a transitory moment of vision which will defeat time, even if he never loses sight of the chronological succession of events altogether. Gatsby's self-creation and transcendentalism James Gatz refuses the constraints and limitations of his social milieu. He spurns the historical determinism that results from being born into a rather destitute family. By turning down his tie with his biological father, Jay Gatz lays claim to an existence outside history, that is outside time. His first romantic aspiration is to prove he is not in any way bound by the fetters/shackles of time. James Gatz will be who he chooses to be, he will be his self-creation, a Byronic Romantic rebel who hates anything that excludes the imagination. The emphasis on the power of the imagination probably owes something to the transcendentalists (Ralph Waldo Emerson and David Henri Thoreau). The latter rejected Calvinism and the materialism of society. Emerson and Thoreau asserted their beliefs in the possibility of spiritual communion with nature. They also insisted on each individual's capacity to fulfil his potential by relying on the force of his intuition. Transcendentalism praises self-reliance, that is to say, a liberation from habits, conformism and traditions to create one's true self. Gatsby's platonic... --- ### The Great Gatsby: an American novel - **URL**: https://www.skyminds.net/the-great-gatsby-an-american-novel/ A refracted vision of America The Great Gatsby is like a mirror of the America of the 1920s. America in the Great Gatsby is a fundamental notion and the novel cannot be studied without the historical context of the time. The novel reflects the Jazz Age or the Roaring Twenties and the opposition between East and West. The Great Gatsby emphasizes the strange association between materialism and spiritualism, which is crucial to the Puritan ethic. Gatsby is seeking wealth because he is pursuing an idealistic vision. A corrupted vision The Crack-Up (1937) is a collection of short stories by F.S. Fitzgerald where he tried to catch the mood prevailing in the 1920s. The mood was characterised by hedonism, the search for pleasure: "America was going on the greatest gaudiest spree in history". Spending money to be part of the show means society is more based on appearance than substance. The time of the action is the summer of 1922. America, after World War 1, has become the most prosperous and thriving nation in the world. It is the period of the Golden Boom (America has sold weapons and has become rich) and widespread corruption is at its apogee. Bribery was a frequent practice. It has been shown by historians that after the Civil War, corruption was nothing compared to the Roaring Twenties. Even if the 1850s carpetbaggers took advantage of the situation of that time, it was far less important than in the 1920's. Corruption also marks the weakening of spiritual and moral values. After the butchery of World War I, disillusion had set in and therefore isolationism was striking rich. In the 1920s, political circles were also corrupted. Warren Harding, president from 1921 to 1923, was marked by a series of scandals. In the summer of 1923, the president died in mysterious circumstances. The 18th Amendment of the Constitution voted in January 1920, laid down that producing and selling alcohol would be forbidden. The Prohibition, also known as "the noble experiment", triggered an increase in delinquency. Al Capone belonged to that context. In people's collective mind, the image of the bootlegger was worshipped and admired because the bootlegger was the man who dared to resist, to rise against the law. The historical background The Great Gatsby is based on a series of events published in the newspapers. F.S. Fitzgerald did not invent all the facts: he shaped and created a character who was emblematic of his time. In The Great Gatsby, apart from Gatsby, we find characters based on real figures such as Meyer Wolfshiem, who is actually Arnold Rothstein, a master of the New York underworld. In Chapter 4, at the metropole, the guy shot down was based on reality, it happened before the novel was written: he was gunned down because he had ratted on Becker, the corrupt NYPD chief. The results of the 1919 baseball championships were fixed. In the text, Meyer Wolfshiem is responsible for tampering with the results while in reality, it is all... --- ### Synology : lire les vidéos du NAS sur la Freebox en DLNA - **URL**: https://www.skyminds.net/nas-synology-videos-freebox-dlna/ Un NAS Synology peut servir de vidéothèque locale pour toute la maison. Si vous avez une Freebox avec un Player compatible UPnP/DLNA, vous pouvez lire les films, séries et vidéos stockés sur le NAS directement depuis la télévision, sans brancher d’ordinateur et sans copier les fichiers sur une clé USB. La méthode la plus simple consiste à utiliser Media Server, le paquet Synology dédié au partage multimédia en DLNA/UPnP. La Freebox détecte ensuite le NAS comme serveur multimédia sur le réseau local, puis affiche les dossiers et fichiers disponibles. Autrefois, on pouvait aussi passer par Video Station ou DS Video pour envoyer la lecture vers le Freebox Player. Aujourd’hui, je vous conseille de ne plus baser le guide sur ces applications : Video Station n’est plus disponible avec DSM 7.2.2, et l’approche DLNA reste plus simple, plus durable et moins dépendante d’une application Synology abandonnée en cours de route. Ce qu’il faut pour lire les vidéos du Synology sur la Freebox Avant de configurer quoi que ce soit, vérifiez que votre installation réunit les éléments suivants : un NAS Synology allumé et connecté au réseau local ; le paquet Media Server installé sur DSM ; des vidéos stockées dans un dossier indexé par Synology ; une Freebox avec un Player capable d’accéder aux serveurs UPnP/DLNA ; le NAS et la Freebox sur le même réseau local ; un réseau suffisamment stable, idéalement en Ethernet pour les gros fichiers. Le DLNA fonctionne très bien pour un usage familial classique. En revanche, il ne fait pas de miracle avec les fichiers trop lourds, les codecs non supportés par le lecteur, ou le Wi-Fi qui traverse trois murs porteurs avec la grâce d’un escargot sous tranquillisant. Installer Media Server sur le NAS Synology Connectez-vous à DSM, puis ouvrez le Centre de paquets. Recherchez ensuite Media Server, puis installez le paquet officiel Synology. Ce paquet transforme le NAS en serveur multimédia compatible DLNA/UPnP. Il permet aux téléviseurs, box TV, consoles et lecteurs multimédias du réseau local de parcourir et lire les contenus stockés sur le NAS. Une fois le paquet installé, ouvrez Media Server. Vous pouvez généralement conserver les réglages par défaut pour un premier test. L’objectif est simple : faire apparaître le NAS dans l’Explorateur de médias de la Freebox. Indexer les dossiers vidéo sur Synology Media Server ne devine pas toujours où se trouvent vos vidéos. Il s’appuie sur l’indexation multimédia de DSM. Il faut donc vérifier que le dossier contenant vos films et séries est bien indexé comme dossier vidéo. Dans DSM, allez dans : Panneau de configuration ; Service d’indexation ou Indexation multimédia, selon la version de DSM ; Dossier indexé ; ajoutez ou vérifiez le dossier contenant vos vidéos. Le dossier doit être déclaré comme contenant des vidéos. Par exemple, si vos films sont dans /volume1/video ou /volume1/Films, ce dossier doit apparaître dans la liste des dossiers indexés. Après ajout ou modification, lancez une réindexation. Selon la taille de votre vidéothèque, cela peut prendre quelques minutes ou beaucoup plus... --- ### Introduction to The Great Gatsby by Francis Scott Fitzgerald: from the Lost Prairies to the Realist Jungle - **URL**: https://www.skyminds.net/intro-the-great-gatsby-lost-prairies-realist-jungle/ Both the novel and the American society correspond to the beginning of a modern era. America is a direct consequence of the Age of Reason (18th century). Indeed, the first settlers intended to escape the tyrannical power of absolute monarchs. The novel is also the result of a revolution : social revolution: when the middle class asserted its cultural autonomy ideological change that puts the single individual at the centre of the world Yet, there are profound contradictions: America did not offer favourable conditions for the birth of the novel. The notions of class, love, and marriage are central to the novel. the 18th-century and 19th-century novels are about chasing a husband. the European novel favours a plot with a domestic story and marriage E.g.: Pride and Prejudice, Madame Bovary. the American novel avoids treating passionate relationships, focuses on male characters, and turns away from Society to Nature. E.g. Moby Dick, The Last of the Mohicans. American novels dream of the innocence of the first settlers but Puritanism and the notion of guilt proved to be fundamental in American literature. This feeling of guilt included the rape of nature and the exploitation of the Natives. The Lost Prairie The early 19th century can be described as an American Epic. James Fenimore Cooper's The Leatherstocking Tales gave America legend and myth. The two main themes are: the settlement: how pioneers got used to a new life in the American wilderness; the frontier, which can be described as an ideal boundary between two cultures: the "civilized and cultivated" society, and "wild and lawless" tribes. The frontier is also a limit pushed further westward. Settlers and trappers and the Great Prairies The central character found in Cooper's Tales is a trapper surviving by catching small animals: Natti Bumppo. He's a white man who has lived with the Natives and respects them. He's suspicious of progress. He's a typical American hero - a poor lonesome trapper. The notion of solitude is significant. According to Alexis de Tocqueville's De la Démocratie en Amérique, democracy is about a world of lonesome men owing their allegiance to none, men who are neither servants nor bondsmen. Self-reliance is key although man is constantly watched by God's invisible eye (puritan view and the sense of guilt). The Frontier is a virgin land, the New Eden, the biblical Promised Land. The utopian territory is soiled and tarnished, corrupted: by invading those new virgin lands, the conquerors brought along their greed for money, their lust for power, and their selfish appetite. As a consequence, their adventures are bound to damage what they most cherish, respect, and admire. The land is turned into a battlefield opposing white men against themselves and Native populations. The dream of purity and innocence turns into a sanguinary and bloody battlefield. East and West, North and South The East represents industrialisation, urbanisation, corruption, and sin while the West represents the last rampart against encroaching civilisation, the last space of innocence and purity. The North is Yankee, modern... --- ### Local WP bloqué : redémarrer un site WordPress local proprement - **URL**: https://www.skyminds.net/redemarrer-site-local-wp/ Local, anciennement Local by Flywheel, reste l’un des outils les plus pratiques pour lancer un site WordPress sur son ordinateur. En quelques clics, on obtient un WordPress local avec PHP, base de données, serveur web, SSL local et accès WP-CLI. Mais parfois, Local reste bloqué. Le site ne démarre plus. L’interface affiche Starting site services. Le navigateur renvoie une erreur 502. Le domaine local ne répond plus. Ou l’application semble tourner, mais le site reste mort comme un plugin abandonné depuis 2014. Avant, la solution consistait souvent à redémarrer la machine virtuelle local-by-flywheel dans VirtualBox. Aujourd’hui, cette méthode concerne surtout les anciennes installations. Sur Local WP moderne, il faut plutôt redémarrer le site, l’application, les services réseau et vérifier les logs. Pourquoi l’ancien article parlait de VirtualBox ? Les anciennes versions de Local by Flywheel utilisaient une machine virtuelle gérée par VirtualBox. Quand la VM local-by-flywheel se bloquait, fermer puis rouvrir Local ne suffisait pas toujours. Il fallait ouvrir VirtualBox et redémarrer la VM à la main. La procédure historique ressemblait à ceci : Ouvrir VirtualBox. Repérer la machine virtuelle local-by-flywheel. Faire un clic droit dessus. Choisir Fermer, puis Redémarrage ACPI. Attendre l’arrêt complet. Fermer VirtualBox. Relancer Local. Cette astuce reste utile si vous maintenez une vieille version de Local by Flywheel. Cependant, sur une installation récente, vous ne verrez probablement plus cette VM dans VirtualBox. Dans ce cas, ne perdez pas votre temps à chercher un fantôme. Local by Flywheel ou Local WP : vérifiez votre version Commencez par identifier votre cas. Votre situationDiagnostic probableActionVous voyez local-by-flywheel dans VirtualBoxAncienne architecture LocalLa procédure VirtualBox peut encore aiderVous utilisez une version récente de LocalArchitecture Local moderneRedémarrer site, app, router et servicesLe site bloque sur Starting site servicesService PHP, MySQL, nginx/Apache ou router bloquéRedémarrage progressif + logsErreur “Local’s router is having trouble starting”Conflit de port, pare-feu ou Router ModeChanger Router Mode et vérifier ports 80/443Erreur 502PHP ou service web non démarréRedémarrer le site et lire les logs Le réflexe moderne : ne cherchez pas d’abord une VM. Cherchez d’abord le service qui coince. Étape 1 : redémarrer seulement le site dans Local Commencez par le redémarrage le moins brutal. Dans Local, chaque site possède ses propres services. Il n’est donc pas nécessaire de tuer toute l’application si un seul site bloque. Ouvrez Local. Sélectionnez le site concerné. Cliquez sur Stop site. Attendez que l’état du site passe à l’arrêt. Cliquez sur Start site. Ouvrez le site dans le navigateur. Si le site redémarre, le problème venait probablement d’un service temporairement bloqué. C’est le cas le plus simple, donc savourons-le trois secondes avant de retourner au vrai monde. Étape 2 : utiliser “Restart site” si disponible Selon votre version de Local, vous pouvez avoir une action de redémarrage du site. Local permet notamment d’ouvrir le shell du site, d’exporter le site, d’accéder au dossier local et de redémarrer le site. Si le bouton existe : Sélectionnez le site dans Local. Ouvrez le menu contextuel ou les actions du site. Choisissez Restart ou l’équivalent.... --- ### George Orwell – A Final Warning - **URL**: https://www.skyminds.net/george-orwell-a-final-warning/ From the 2003 television docudrama: George Orwell - A Life in Pictures. https://www.youtube.com/watch?v=JXm5hklbBsA Allowing for the book, after all, being a parody, something like 1984 could actually happen. This is the direction the world is going in at the present time. In our world, there will be no emotions except fear, rage, triumph, and self-abasement. The sex instinct will be eradicated. We shall abolish the orgasm. There will be no loyalty except loyalty to the Party. But always there will be the intoxication of power. Always, at every moment, there will be the thrill of victory, the sensation of trampling on an enemy who's helpless. If you want a picture of the future, imagine a boot stamping on a human face, forever. The moral to be drawn from this dangerous nightmare situation is a simple one: don't let it happen. It depends on you. George Orwell --- ### ON AN ON – Ghosts - **URL**: https://www.skyminds.net/on-an-on-ghosts/ On An On est formé par d'ex-membres du groupe Scattered : Nate Eiesland, Alissa Ricci et Ryne Estwing ont décidé d'essayer des choses qu'ils n'avaient pas l'habitude de faire avec leur ancien groupe et leur son déjà établi. C'est avec le producteur de Broken Social Scene, Dave Newfeld, qu'ils enregistrent leur premier album, autour du morceau Ghosts : https://www.youtube.com/watch?v=me3p6AmGzEI There are spirits coming to find meThey're not stopping until it's doneI can feel them taking me over I can see them from fifty-six miles awayBut I can't hear what they're sayingThey gotta believe me that I'll never forget you Every day the ghosts are going to flyEvery way I know I'm going to tryTo keep you alive, to keep you alive Take me out into the nightIt was all you didn't say, you had no fightI was on the verge to screamWhen you wouldn't scream about anythingI don't want to be your stupid fling or your magazineThat you look and turn the pagesOf someone else that you'll never love And I was on the verge to screamWhen you wouldn't scream about anything Cela s'écoute très bien et cela va de l'avant. L'album Give In est sorti le 29 janvier 2013 chez Roll Call Records. --- ### Réparer wp_options sans clé primaire ni unique key dans WordPress - **URL**: https://www.skyminds.net/wordpress-resoudre-wp-options-colonne-unique-primary-key/ Chez Codeable, j'ai travaillé sur l'optimisation d'un site e-commerce propulsé par WooCommerce récemment, qui connaissait quelques problèmes de lenteur. La table wp_options est l’une des tables les plus sensibles de WordPress. Elle contient les réglages du site, les options des plugins, les transients, certains caches, les URLs principales, le thème actif, les plugins actifs et beaucoup de données chargées à chaque requête. Quand sa structure est cassée, les symptômes peuvent être très variés : site lent, administration poussive, options dupliquées, erreurs dans phpMyAdmin, plugins qui réécrivent sans cesse les mêmes valeurs, ou outils de migration qui refusent de travailler proprement. Un symptôme classique dans phpMyAdmin ou Adminer ressemble à ceci : Current selection does not contain a unique column Ce message signifie souvent que la table ne possède pas de colonne unique exploitable. Sur une table WordPress saine, wp_options doit pourtant avoir une clé primaire sur option_id, un AUTO_INCREMENT, une clé unique sur option_name, et un index sur autoload. Voici comment diagnostiquer et réparer proprement une table wp_options à qui il manque une PRIMARY KEY, une contrainte UNIQUE, ou l’auto-incrémentation. Pourquoi la table wp_options est si importante WordPress utilise wp_options en permanence. À chaque chargement, il lit plusieurs options essentielles, notamment siteurl, home, active_plugins, template, stylesheet, les règles de réécriture et les options autoloadées. Cette table n’est donc pas une simple zone de stockage annexe. C’est un carrefour central. Si sa structure est abîmée, tout le site peut ralentir ou se comporter de manière incohérente. La structure standard ressemble à ceci : option_id bigint(20) unsigned NOT NULL auto_increment option_name varchar(191) NOT NULL default '' option_value longtext NOT NULL autoload varchar(20) NOT NULL default 'yes' PRIMARY KEY (option_id) UNIQUE KEY option_name (option_name) KEY autoload (autoload) La clé primaire identifie chaque ligne. La clé unique empêche deux options de porter le même nom. L’index autoload aide WordPress à récupérer les options chargées automatiquement. Les symptômes d’une table wp_options cassée Vous pouvez soupçonner un problème de structure si vous observez l’un de ces signes : phpMyAdmin affiche Current selection does not contain a unique column. Adminer ne permet pas de modifier certaines lignes proprement. Des outils de migration signalent une clé primaire manquante. Des plugins recréent sans cesse les mêmes options. La table contient plusieurs lignes avec le même option_name. Le champ option_id contient des valeurs à 0 ou des doublons. Les inserts échouent avec une erreur de type Duplicate entry. WordPress semble lent malgré un cache page correct. Ce problème apparaît souvent après une migration ratée, un import SQL incomplet, une réparation MySQL hasardeuse, un changement de moteur de table, un vieux dump réimporté, ou une manipulation manuelle dans phpMyAdmin. Bref, les grands classiques du “j’ai juste cliqué vite fait”. Sauvegarder avant toute correction Avant de toucher à wp_options, exportez la base. Ce n’est pas optionnel. Cette table contient trop de données critiques pour improviser. wp db export before-wp-options-repair.sql Si vous êtes connecté en root : wp db export before-wp-options-repair.sql --allow-root Vérifiez que le fichier existe et qu’il n’est pas vide :... --- ### MariaDB ne veut plus redémarrer : quelques solutions - **URL**: https://www.skyminds.net/mariadb-ne-veut-plus-redemarrer-solutions/ MariaDB ne veut plus se lancer Sur le serveur chinois que j'ai monté pour un de mes clients sur Codeable, le site a commencé à afficher des erreurs étranges : erreur 502 pour nginx sur certaines pages et des nombres étranges en lieu et place des données de la base de données. Après un redémarrage des services PHP, nginx et mysql, je constate que MariaDB veut bien s'arrêter mais ne veut plus de lancer. Voici ce que donne: systemctl status mariadb.service Résultat: ● mariadb.service - MariaDB database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Mon 2019-04-22 18:14:22 CST; 59s ago Process: 721 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS) Process: 718 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS) Process: 12274 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=exited, status=1/FAILURE) Process: 12179 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ] && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited, Process: 12176 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS) Process: 12173 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS) Main PID: 12274 (code=exited, status=1/FAILURE) Status: "MariaDB server is down" systemd[1]: Starting MariaDB database server… mysqld[12274]: 2019-04-22 18:14:19 140194687476288 [Note] /usr/sbin/mysqld (mysqld 10.1.26-MariaDB-0+deb9u1) starting as process 12274 … systemd[1]: mariadb.service: Main process exited, code=exited, status=1/FAILURE systemd[1]: Failed to start MariaDB database server. systemd[1]: mariadb.service: Unit entered failed state. systemd[1]: mariadb.service: Failed with result 'exit-code'. Bon, chou blanc. Cela ne nous donne aucune information exploitable quand à l'erreur qui empêche le démarrage du service de base de données. Solution: vérifier l'espace disponible sur le disque du serveur On regarde ensuite ce que nous donnent les logs de MariaDB: tail -f /var/log/mysql/error.log Résultat: 2019-04-22 18:14:19 140194687476288 [Note] InnoDB: Completed initialization of buffer pool 2019-04-22 18:14:19 140194687476288 [Note] InnoDB: Highest supported file format is Barracuda. 2019-04-22 18:14:19 140194687476288 [Note] InnoDB: 128 rollback segment(s) are active. 2019-04-22 18:14:19 140194687476288 [Note] InnoDB: Waiting for purge to start 2019-04-22 18:14:19 140194687476288 [Note] InnoDB: Percona XtraDB (http://www.percona.com) 5.6.36-82.1 started; log sequence number 11397472969 2019-04-22 18:14:19 140194687476288 [Note] Plugin 'FEEDBACK' is disabled. 2019-04-22 18:14:19 140194687476288 [ERROR] mysqld: Can't change size of file (Errcode: 28 "No space left on device") 2019-04-22 18:14:19 140194687476288 [ERROR] Can't init tc log 2019-04-22 18:14:19 140194687476288 [ERROR] Aborting Là, c'est beaucoup plus intéressant. Visiblement, deux erreurs majeures sont à l'origine du non-démarrage du service: il n'y a plus d'espace disponible sur le disque dur du serveur,le fichier /var/lib/mysql/tc.log ne peut pas être initialisé. Après un petit df, il s'avère que le client a installé un plugin de sauvegarde qui a littéralement saturé tout l'espace disponible. Après un petit ménage, il ne reste plus qu'à gérer la seconde erreur, Can't init tc log. Le fichier /var/lib/mysql/tc.log peut parfois souffrir d'un problème de permission. Dans le cas du client, on l'archive par précaution: mv /var/lib/mysql/tc.log /var/lib/mysql/tc_bakup.log Puis on relance le serveur MariaDB: service mysql start On vérifie le statut du service: service mysql status qui nous retourne: service mysql status ● mariadb.service - MariaDB database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled;... --- ### Michael Molloy and Alex Evans – Rise and Fall - **URL**: https://www.skyminds.net/michael-molloy-and-alex-evans-rise-and-fall/ "Rise & Fall" est une chanson écrite par Michael Molloy et Alex Evans. https://www.youtube.com/watch?v=mnfT4NXsTlA La chanson a été enregistrée par Michael Molloy avant son décès, en septembre 2012, à la suite d'un accident de car survenu alors qu'il rentrait de Bestival. Le single a reçu le soutien de Brian May, James Morrison, Wayne Rooney et Joey Barton. La chanson a été publiée par les organisateurs de Bestival, Sunday Best, sur leur label Sunday Best Recordings. Joe Molloy, le frère de Michael, a déclaré: «L’ambition de Michael était de faire reconnaître sa musique par le monde entier. Il n'a jamais rempli cette ambition et nous, sa famille, l'accomplissons pour lui. Michael ne pourra jamais revenir et nous ne cesserons jamais de le pleurer. Nous pensons à lui chaque heure de chaque jour. Mais la passion de Michael pour la musique et son talent étaient l’une des qualités qui le caractérisaient et nous souhaitons que le reste du monde, par le biais de sa musique, comprenne et apprécie, de façon modeste, ce qu’il était en tant qu’être humain spécial. La sortie du single est à la fois mémorable et festive et nous souhaitons remercier Sunday Best et toutes les personnes qui ont soutenu Michael pendant de nombreuses années. Ils savent qui ils sont. " --- ### WordPress : nettoyer les tables wp_options et wp_postmeta - **URL**: https://www.skyminds.net/wordpress-nettoyer-tables-wp-options-et-wp-postmeta/ Nous allons aujourd'hui examiner deux tables importantes de votre base de données WordPress, wp_options et wp_postmeta. C’est un domaine qui est souvent négligé en ce qui concerne les performances globales de WordPress et de la base de données. Cela est très visible sur les sites les plus anciens et les plus gros et peut être la cause des temps de requête lents sur votre site en raison des données à chargement automatique laissées par les plugins et les thèmes tiers. Voici quelques conseils pour vérifier, dépanner et nettoyer vos tables wp_options et wp_postmeta. Que contient la table wp_options ? La table wp_options contient toutes les données relatives aux options et paramètres de votre site WordPress telles que: URL du site, URL de la page d'accueil, adresse électronique de l'administrateur, catégorie par défaut, publications par page, format d'heure, etc. Paramètres pour les plugins, les thèmes, les widgets,Données temporairement mises en cache. La table wp_options contient plusieurs champs : option_idoption_nameoption_valueautoload Le champ qui nous intéresse particulièrement est le champ autoload, qui contient un drapeau qui peut être soit "yes", soit "no". Cela contrôle essentiellement si la valeur est chargée ou non par la fonction wp_load_alloptions(). Les données à chargement automatique sont des données qui sont chargées sur chaque page de votre site WordPress. L'attribut autoload est défini sur «yes» par défaut pour les développeurs, mais tous les plugins ne doivent théoriquement pas charger leurs données sur chaque page. Le problème que les sites WordPress peuvent rencontrer est celui où la table wp_options contient une grande quantité de données auto-chargées. Cependant, la table wp_options n’a pas non plus été conçue pour contenir des milliers de lignes. Combien coûte trop de données autoloadées? Cela peut varier, bien sûr, mais idéalement, vous voulez que la taille de votre ordinateur soit comprise entre 300 Ko et 1 Mo. Une fois que vous commencez à approcher la plage de 3 à 5 Mo ou plus, il existe très probablement des éléments pouvant être optimisés ou supprimés du chargement automatique. Et tout ce qui dépasse 10 Mo doit être traité immédiatement. Cela ne signifie pas toujours que cela posera un problème, mais c’est un bon point de départ. Vérifier la taille totale des données auto-chargées On peut calculer la taille totale des données auto-chargées d'un site WordPress en effectuant la requête suivante sous MySQL: SELECT SUM(LENGTH(option_value)) as autoload_size FROM wp_options WHERE autoload='yes'; La valeur d'autoload_size est exprimée en octets. Il y a 1024 octets dans un KB et 1024 KB dans un MB. Dans notre cas, 622 138 octets sont donc égaux à 0,62 MB. Donc pour ce site, c'est une bonne taille! Si vous restituez moins de 1 Mo, ne vous inquiétez pas. Cependant, si le résultat était beaucoup plus grand, passez à l'étape suivante. Trouver les enregistrements les plus gourmands Pour trouver les enregistrements les plus gourmands en taille, voici la requête à effectuer: SELECT 'autoloaded data in KiB' as name, ROUND(SUM(LENGTH(option_value))/ 1024) as value FROM wp_options WHERE autoload='yes' UNION SELECT 'autoloaded data count', count(*) FROM... --- ### BRADAFRAMANADAMADA – Laisse pisser - **URL**: https://www.skyminds.net/bradaframanadamada-laisse-pisser/ Voici une chanson de BRADAFRAMANADAMADA qui permet de remettre en perspectives toutes les petites choses et les petits tracas de la vie quotidienne : https://www.youtube.com/watch?v=WtW7-_YeabE Laisse pisser ! :) --- ### Le Parlement Européen réforme la directive sur le droit d’auteur sur Internet - **URL**: https://www.skyminds.net/parlement-europeen-reforme-directive-droit-auteur-internet/ Réforme de la directive sur le droit d'auteur sur Internet Le Parlement européen a donné son aval à la directive sur le droit d'auteur, un ensemble de lois controversé destiné à mettre à jour le droit d'auteur en Europe à l'ère de l'internet. Les députés ont voté à 348 en faveur de la loi et 274 contre. Une proposition de dernière minute visant à supprimer la clause la plus controversée de la loi - connue sous le nom d’article 13 ou «filtre de téléchargement» - a été rejetée de près par cinq voix seulement. La directive va maintenant être transmise aux États membres de l'UE, qui disposeront de 24 mois pour la traduire en droit national. La directive sur le droit d'auteur est en préparation depuis plus de deux ans et a fait l'objet d'un lobbying acharné de la part des géants de la technologie, des détenteurs de droits et des activistes des droits numériques. Julia Reda, eurodéputée du parti pirate allemand qui a beaucoup dirigé l'opposition à la directive, a déclaré que c'était "un jour sombre pour la liberté de l'internet". Andrus Ansip, vice-président de la Commission européenne et grand défenseur de la loi, a déclaré qu'il était un «grand pas en avant» qui unifierait le marché numérique européen tout en protégeant la «créativité en ligne». Les détails de la législation devront être décidés par les différents États membres de l'UE, mais la loi aura probablement un impact considérable sur le fonctionnement d'Internet en Europe et au-delà. Comme nous l’avons vu avec le GRPD, la législation de l’UE sur la protection des données, la législation européenne peut influencer la politique américaine. Les partisans de la directive ont déclaré qu'elle équilibrerait le terrain de jeu entre les géants américains de la technologie et les créateurs de contenu européens, en donnant aux détenteurs de droits d'auteur le pouvoir sur la manière dont les plates-formes Internet distribuent leur contenu. Les critiques disent toutefois que la loi est vague et mal conçue, et finira par restreindre la façon dont le contenu est partagé en ligne, ce qui freine l'innovation et la liberté d'expression. La nouvelle police d’Internet: la "taxe sur les liens" et le "filtre de téléchargement" Les clauses les plus controversées de la directive sur le droit d'auteur - l'article 11 ou la "taxe sur les liens" et l'article 13 ou le "filtre de téléchargement" - sont restées en grande partie intactes. L'article 11 permet aux éditeurs de facturer des plateformes telles que Google Actualités lorsqu'ils affichent des extraits d'articles d'actualité, tandis que l'article 13 (renommé Article 17 dans la version la plus récente de la législation) donne à des sites tels que YouTube de nouvelles obligations pour empêcher les utilisateurs de télécharger du contenu protégé par le droit d'auteur. Dans les deux cas, les critiques disent que ces lois bien intentionnées créeront des problèmes. L’article 13, par exemple, pourrait conduire à l’introduction de «filtres de téléchargement» qui analyseront tout le contenu de l’utilisateur avant son téléchargement sur des sites afin de... --- ### Nouveau serveur dédié : migration vers ORION - **URL**: https://www.skyminds.net/nouveau-serveur-migration-vers-orion/ La nébuleuse d'Orion, prise par Hubble. Vous lisez actuellement cet article depuis le nouveau serveur de SkyMinds, baptisé ORION. De mail à ORION Le serveur précédent a été le théâtre d'une multitude de tutoriels consacrés à la série Monter un serveur dédié de A à Z, tournait sous Debian (6, 7, 8, et 9) mais était un peu limité en termes de ressources (Intel Core2 Quad Q8300 @ 2.50GHz, 4 Go de RAM, 750 Go de disque). Tant qu'il n'y avait qu'un seul site à gérer, cela convenait mais avec près d'une dizaine de sites, on touchait les limites. ORION est bien plus confortable : Intel Xeon W3530 @ 2.80GHz, 32 Go de RAM, 2 To de disque en RAID). De quoi pouvoir monter en charge tranquillement :) Du changement dans notre stack Qui dit nouveau serveur, dit refonte de la stack. Vu que nous partons d'un environnement vierge, autant partir du bon pied et utiliser toutes les dernières innovations. Le serveur précédent datait de 2012 et, même s'il tournait parfaitement, il a connu pas mal de mises à jour (parfois pas très stables). J'ai donc décidé de changer d'OS pour ORION : même si j'adore travailler sous Debian, je me suis dit que j'allais tenter Ubuntu Server 18.04 LTS. Certains tutoriels ne sont pas exactement équivalents entre Debian et Ubuntu Server donc cela promet quelques nouveaux tutoriels ! Objectif performance Le but du nouveau serveur est d'être un peu plus à l'aise au niveau des ressources, surtout si les sites lancés récemment prennent de l'ampleur. Cela donne également un peu plus d'oxygène au serveur de bases de données. L'autre objectif est un objectif de performance : monter un serveur dédié de manière simple et efficace, en privilégiant la sécurité et la rapidité des sites hébergés. Voilà, c'est tout pour la note de service. Les tutoriels sont en cours d'écriture, donc bientôt disponibles sur le site ! --- ### Zelienople – The World Is A House On Fire - **URL**: https://www.skyminds.net/zelienople-the-world-is-a-house-on-fire/ Les chansons de Zelienople, basé à Chicago, hantent et s'écoulent librement, leurs paysages sonores cinématiques étant très développés grâce à l'utilisation d'enregistrements de terrain, de percussions de forme libre et de rebondissements structurels non conventionnels. Leur approche a été qualifiée de «pop doom», avec son interprétation hantée et spacieuse d'Americana. Le trio composé de Mike Weis (percussions), Matt Christensen (chant, guitare) et Brian Harding (basse, saxophone) ont déjà amassé un auditoire dédié qui devrait grandir avec la sortie de leur album, The World Is A House On Fire. https://www.youtube.com/watch?v=6Qp85dRToPk La voix de Christensen résonne comme celle d’un moine dans un sanctuaire, avec des éclats monophoniques occasionnels renforcés par sa voix résonnante. The World Is A House On Fire est un bon album planant et mélancolique. --- ### Ubuntu : supprimer les vieux kernels et libérer de la place sur la partition /boot - **URL**: https://www.skyminds.net/ubuntu-supprimer-vieux-kernels-liberer-partition-boot/ Voici un tutoriel qui vous permet de supprimer les kernels linux installés sur votre serveur qui ne sont pas actuellement utilisés. Cela est utile pour faire un peu de ménage sur la partition /boot, idéalement avant qu'elle ne soit complètement saturée. Sinon, je vous donne aussi l'astuce pour faire le ménage manuellement et retrouver APT complètement opérationnel. Ce tutoriel a été testé sous Ubuntu Server 18.04 LTS, il est complètement transférable sous Ubuntu et Debian. Cas de figure 1: /boot n'est pas plein à 100% et apt est opérationnel 1. On vérifie la version actuelle du kernel uname -r Cela nous donne la version du noyau sous laquelle tourne notre machine: 4.15.0-46-generic 2. On supprime les vieux kernels 2.a. On liste les vieux kernels sudo dpkg --list 'linux-image*'|awk '{ if ($1=="ii") print $2}'|grep -v `uname -r` You will get the list of images something like below: linux-image-4.15.0-45-generic 2.b. On supprime les vieux kernels (un par un) sudo apt purge linux-image-4.15.0-45-generic Une fois que les vieux kernels sont supprimés, on supprime également les paquets qui seront maintenant obsolètes: sudo apt autoremove Et on finit par la mise à jour de la liste des noyaux de GRUB: sudo update-grub Voilà, il ne vous reste plus qu'à rebooter votre machine ou votre serveur. Il ne reste que le dernier kernel. Cas de figure 2 : apt est indisponible car /boot est plein à 100% NOTE: cette partie du tutoriel n'est valable que si et seulement si vous ne pouvez utiliser APT parce que la partition /boot est pleine à 100%. 1. Listez les images de kernel Obtenez la liste des images de kernels et faites la liste des kernels que vous pouvez supprimer car ils ne sont plus utilisés. Cette commande vous montre les kernels installés à l'exception de celui qui est en cours d'utilisation: sudo dpkg --list 'linux-image*'|awk '{ if ($1=="ii") print $2}'|grep -v `uname -r` Voici le résultat de la commande, la liste des kernels installés mais inutilisés: linux-image-3.19.0-59-generic linux-image-3.19.0-61-generic linux-image-3.19.0-65-generic linux-image-extra-3.19.0-59-generic linux-image-extra-3.19.0-61-generic linux-image-extra-3.19.0-65-generic 2. Préparez la suppression Vous devez préparer la commande qui va supprimer tous les kernels inutilisés en utilisant la brace expansion pour vous simplifier la vie. Je vous conseille d'écrire la commande dans un éditeur de texte et de bien la vérifier avant de la lancer dans le terminal. N'oubliez pas d'exclure le kernel actuel ainsi que les deux kernels les plus récents pour pallier tout problème: sudo rm -rf /boot/*-3.19.0-{59,61,65}-* 3. Nettoyez APT et ses messages d'avertissement à propos d'une installation partielle sudo apt-get -f install 4. Autoremove Enfin, on lance la commande autoremove pour supprimer les paquets relatifs aux vieilles images de kernel qui ont été rendues orphelines par le nettoyage manuel de /boot : sudo apt autoremove 5. Mise à jour de GRUB sudo update-grub 6. APT est opérationnel Vous pouvez de nouveau utiliser APT et mettre à jour, installer et supprimer les paquets de votre distribution: sudo apt update --- ### Passion Pit – Moth’s Wings - **URL**: https://www.skyminds.net/passion-pit-moths-wings/ Passion Pit se forme à la fin de l'année 2007. En 2008, après avoir joué seulement dans quelques concerts, ils sont élus meilleur début selon un sondage du journal The Boston Phoenix. Le groupe signe alors avec les labels Frenchkiss Records de New York et Columbia au Royaume-Uni. Leur succès rapide est dû en partie à une anecdote, un cadeau de Michael Angelakos à sa petite amie pour la Saint Valentin. Il avait en effet décidé de lui faire différentes chansons. Sa petite amie, complètement éprise de sa musique, en a parlé à tous les gens de son entourage, et de fil en aiguille, le groupe parvint à trouver un label. Ayad Al Adhamy compare le groupe à MGMT. https://www.youtube.com/watch?v=q9o8SlyPB84 Paroles Dear friend as you knowYour flowers are witheringYour mother's gone missingYour leaves have drifted awayBut the clouds are clearing upAnd I've come revelingBurning incandescentlyLike a bastard on the burning seaYou're just like your fatherBuried deep under the waterYour resting on your laurelsIs stepping on my toesWhose side are you on?What side is this anyway?Put down your sword and crownCome lay with me on the groundYou come beating like moth's wingsSpastic and violentlyWhipping me into a stormShaking me down to the coreBut you run away from meAnd you left me shimmeringLike diamond wedding ringsSpinning dizzily down on the floorYou're drifting like a fireBuried deep under the waterYou're pressing on your laurelIs stepping on my toesWhose side are you on?What side is this anyway?Put down your sword and crownCome lay with me on the ground.Come lay with me on the ground.Songwriters: Michael Angelakos --- ### Johnny Cash – Hurt - **URL**: https://www.skyminds.net/johnny-cash-hurt/ Hurt est une chanson écrite par Trent Reznor qui constitue le premier single extrait de l'album The Downward Spiral. Elle a reçu une nomination pour le Grammy Awards de la meilleure chanson rock en 1996. En 2002, la reprise de Hurt par Johnny Cash est acclamée par la critique. Il s'agit de l'une des dernières chansons interprétées par l'artiste avant sa mort. https://www.youtube.com/watch?v=8AHCfZTRGiI Paroles I hurt myself todayTo see if I still feelI focus on the painThe only thing that's real The needle tears a holeThe old familiar stingTry to kill it all awayBut I remember everything What have I becomeMy sweetest friendEveryone I knowGoes away in the end And you could have it allMy empire of dirtI will let you downI will make you hurt I wear this crown of thornsUpon my liars chairFull of broken thoughtsI cannot repair Beneath the stains of timeThe feelings disappearYou are someone elseI am still right here What have I becomeMy sweetest friendEveryone I knowGoes away in the end And you could have it allMy empire of dirtI will let you downI will make you hurt If I could start againA million miles awayI will keep myselfI would find a way Enregistrée à l'origine par Nine Inch Nails, Hurt comporte clairement des références à l'automutilation et à la dépendance à l'héroïne, bien que le sens global de la chanson soit contesté. Certains affirment que la chanson agit comme une lettre de suicide écrite par le protagoniste de l'album en raison de sa dépression, tandis que d'autres prétendent qu'il décrit le processus difficile de trouver une raison de vivre en dépit de la dépression et de la douleur. Le clip vidéo a été tourné par Mark Romanek, gratuitement, dans la maison et musée de Johnny Cash, The House of Cash, alors que la santé de Johnny Cash est sur le déclin, à 71 ans. Le panneau «fermé au public» sur le musée. Les disques de platine fissurés. Le banquet caviar et homard sans invités. Les clips de plus tôt dans la carrière de Johnny. Sa femme June regarde. Le couvercle du piano fermé. June meurt trois mois après le tournage, son mari Johnny, sept mois, en 2003. La maison de Cash, dans laquelle il a vécu pendant près de 30 ans et qui est le décor du clip, brûle en 2007. --- ### Télécharger automatiquement les sous-titres avec FlexGet et Subliminal - **URL**: https://www.skyminds.net/telechargez-sous-titres-videos-flexget-subliminal/ FlexGet ne sert pas seulement à automatiser des téléchargements. Il peut aussi surveiller un dossier de vidéos et lancer Subliminal pour récupérer automatiquement les sous-titres correspondants. C’est pratique si vous avez une médiathèque locale, un dossier d’arrivée pour vos vidéos, un serveur personnel ou un NAS qui centralise vos fichiers. Au lieu de chercher un fichier .srt à la main, FlexGet parcourt le dossier, repère les vidéos, puis demande à Subliminal de télécharger les sous-titres disponibles. Dans ce guide, on part d’une installation FlexGet déjà fonctionnelle. Si vous ne l’avez pas encore configurée, commencez par le tutoriel sur FlexGet et Transmission, puis revenez ici pour ajouter la partie sous-titres. FlexGet, Subliminal et sous-titres : qui fait quoi ? FlexGet orchestre les tâches. Il lit votre fichier config.yml, surveille un dossier, accepte les fichiers vidéo, puis lance les plugins configurés. Subliminal fait le travail spécialisé : il analyse les fichiers vidéo, identifie le film ou l’épisode, cherche les sous-titres auprès de plusieurs fournisseurs, puis enregistre les fichiers trouvés à côté de la vidéo. Le principe est donc simple : FlexGet scanne un dossier local. Il filtre les fichiers vidéo. Il transmet les fichiers acceptés à Subliminal. Subliminal télécharge les sous-titres dans les langues demandées. Votre lecteur vidéo, Plex, Jellyfin, Kodi, VLC ou votre NAS peut ensuite les charger. Ce n’est pas magique, mais quand c’est bien configuré, cela évite beaucoup de chasse au .srt. Et franchement, personne ne mérite de finir sa soirée à comparer quinze fichiers “proper-sync-final-v2”. Pré-requis Avant de commencer, vérifiez que vous avez : Python 3 installé ; pipx installé ; FlexGet installé et fonctionnel ; un dossier contenant vos vidéos locales ; des noms de fichiers suffisamment propres, avec titre, saison et épisode si possible ; un compte pour les services qui demandent une authentification, par exemple OpenSubtitles ou Addic7ed. Pour les séries, les noms de fichiers propres améliorent énormément les résultats. Un fichier nommé Serie.Exemple.S01E03.1080p.WEB-DL.mkv a beaucoup plus de chances de trouver le bon sous-titre qu’un fichier nommé video3.mkv. Le logiciel est bon, mais il ne lit pas encore dans les pensées. Dommage, parfois. Installer Subliminal dans l’environnement FlexGet Si FlexGet a été installé avec pipx, il faut installer Subliminal dans le même environnement isolé que FlexGet. Sinon, FlexGet risque de ne pas voir le module Subliminal, même si la commande subliminal existe ailleurs sur le système. Vérifiez d’abord que FlexGet fonctionne : flexget --version Installez ensuite Subliminal dans l’environnement FlexGet : pipx inject flexget subliminal Vous pouvez vérifier que FlexGet voit bien le plugin avec : flexget plugins | grep -i subliminal Si vous installez FlexGet dans un environnement Python classique plutôt qu’avec pipx, l’installation peut passer par l’extra officiel : pip install "flexget[subliminal]" Sur un serveur moderne, je préfère pipx pour ce type d’outil. L’environnement reste isolé, les dépendances ne polluent pas le Python système, et les mises à jour deviennent plus prévisibles. Tester Subliminal directement avant FlexGet Avant d’écrire la tâche FlexGet, testez Subliminal seul sur un dossier ou un fichier vidéo. Cela... --- ### Honeywagon – Billie Jean - **URL**: https://www.skyminds.net/honeywagon-billie-jean/ Honeywagon est un groupe de bluegrass qui vient des collines d'Hollywood. Le groupe est né en 2010 grâce à l'impulsion de Bryan Clark (aka “BC”), et Ben Levine (aka “Mo Levone”, “Benwell”) qui voulaient créer du bluegrass à la fois joyeux et subversif. Voici une reprise de Mickael Jackson par Honeywagon, Billie Jean : https://www.youtube.com/watch?v=8zy1ANvojfk Pour la petite histoire, le mot honeywagon en américain est un mot argotique qui fait référence au camion d'épandage (qui projette le contenu des fosses septiques dans les champs comme engrais). Au Royaume-Uni, cela désigne la petite caravane qui contient toilettes et vestiaires sur les sets de tournage des films et séries. --- ### BRADAFRAMANADAMADA – Légalité - **URL**: https://www.skyminds.net/bradaframanadamada-legalite/ Vincent Kucholl et Vincent Veillon sont deux humoristes suisses qui oeuvrent dans l'émission 120 minutes, diffusée sur RTS Un (Radio télévision suisse). En plus de leurs sketchs, ils sont également à l'origine d'un groupe de reggae parodique, BRADAFRAMANADAMADA ("brother from another mother"), que je trouve très drôle. Voici par exemple la chanson Légalité, qui demande au ministre de la santé suisse de légaliser le cannabis: https://www.youtube.com/watch?v=VQIRZCj7DIk La musique est excellente, les paroles toutes autant, avec une bonne dose d'humour. C'est super sympa à écouter et on regrette que ce ne soit pas un "vrai" groupe parce qu'on irait bien le voir en concert ! --- ### PHP : sécuriser les cookies de session avec HttpOnly, Secure et SameSite - **URL**: https://www.skyminds.net/php-directives-httponly-secure-cookies-session/ À l’heure où la grande majorité des sites web utilisent HTTPS, il n’est pas rare de constater que PHP sert encore ses cookies de session sans les attributs HttpOnly, Secure ou SameSite. Pourtant, ces attributs sont essentiels pour durcir les cookies de session. Ils ne transforment pas une application vulnérable en coffre-fort suisse, mais ils réduisent plusieurs risques classiques : vol de cookie via JavaScript, transmission sur une connexion non chiffrée, ou envoi trop permissif dans certains contextes cross-site. Heureusement, PHP permet de configurer ces directives directement depuis le fichier php.ini, depuis un pool PHP-FPM, depuis un fichier .user.ini, ou même depuis le code avec session_set_cookie_params(). À quoi servent HttpOnly, Secure et SameSite ? Un cookie de session PHP ressemble souvent à ceci : Set-Cookie: PHPSESSID=7d5h81tfiuna3p2p00o1v7b13q; path=/ Cette version fonctionne, mais elle reste trop permissive. On peut la renforcer avec plusieurs attributs : HttpOnly empêche l’accès au cookie via JavaScript, notamment via document.cookie ; Secure indique au navigateur de n’envoyer le cookie que via HTTPS ; SameSite limite l’envoi du cookie dans les requêtes cross-site. MDN recommande d’utiliser Secure pour que le cookie ne soit envoyé que sur HTTPS, et HttpOnly pour les cookies qui n’ont pas besoin d’être lus par JavaScript, notamment les identifiants de session. Avec ces attributs, le cookie devient par exemple : Set-Cookie: PHPSESSID=7d5h81tfiuna3p2p00o1v7b13q; path=/; secure; HttpOnly; SameSite=Lax Activer les directives dans php.ini La méthode la plus directe consiste à modifier le fichier php.ini utilisé par PHP-FPM. Selon votre version de PHP, le chemin peut varier. Par exemple : sudo nano /etc/php/8.3/fpm/php.ini Ou, pour PHP 8.4 : sudo nano /etc/php/8.4/fpm/php.ini Recherchez ensuite les directives liées aux cookies de session : session.cookie_httponly = 1 session.cookie_secure = 1 session.use_only_cookies = 1 session.cookie_samesite = "Lax" Ces valeurs indiquent à PHP de servir le cookie de session avec HttpOnly, Secure et SameSite=Lax. La directive session.use_only_cookies force PHP à utiliser uniquement les cookies pour transmettre l’identifiant de session, plutôt que de l’accepter dans l’URL. La documentation PHP précise que session.cookie_secure limite les cookies de session aux connexions HTTPS, et que session.cookie_httponly ajoute l’attribut HttpOnly au cookie de session. Redémarrez ensuite PHP-FPM : sudo systemctl restart php8.3-fpm Ou adaptez selon votre version : sudo systemctl restart php8.4-fpm Avec les anciennes distributions, on voyait souvent cette syntaxe : sudo service php7.2-fpm restart Elle fonctionne encore dans certains environnements, mais systemctl est généralement préférable sur les distributions Linux récentes. Vérifier le fichier php.ini réellement utilisé Avant de modifier un fichier au hasard, vérifiez toujours quel fichier php.ini est réellement chargé. En ligne de commande : php --ini Attention toutefois : la CLI et PHP-FPM n’utilisent pas forcément le même fichier php.ini. Pour un site web servi par Nginx ou Apache via PHP-FPM, il faut modifier la configuration FPM, pas seulement la configuration CLI. Vous pouvez aussi créer temporairement un fichier de test : --- ### Silverchair – Anthem For The Year 2000 - **URL**: https://www.skyminds.net/silverchair-anthem-for-the-year-2000/ The early years Silverchair est un groupe de rock australien, formé en 1992 en tant que Innocent Criminals à Merewether, à Newcastle, avec Ben Gillies à la batterie, Daniel Johns au chant et à la guitare, et Chris Joannou à la guitare basse - alors qu'ils n'ont que 12 ans. Le groupe obtient son grand succès au milieu de 1994 en remportant un concours de démonstration national dirigé par la chaîne de télévision SBS Nomad et la station de radio ABC Triple J. Le groupe signe chez Murmur et collectionne succès sur les scènes australiennes et internationales. Dans une interview accordée au magazine Melbourne Buzz en 1994, le groupe affirmait le nom du groupe était tiré de "Sliver" de Nirvana et de "Berlin Chair" de You Am I, qui avait donné "Silver Chair". Il a ensuite été révélé qu'ils avaient été nommés d'après le roman The Silver Chair de la série The Chronicles of Narnia, écrit par C. Lewis. Frogstomp (1995) Le premier album de Silverchair, Frogstomp, est enregistré en neuf jours avec une production de Kevin Shirley (Lime Spiders, Peter Wells) et est sorti en mars 1995. Au moment de l'enregistrement, les membres du groupe ont 15 ans et fréquentent toujours le lycée. Frogstomp devient album numéro un en Australie et en Nouvelle-Zélande et atteint le Top 10 du Billboard 200, faisant de Silverchair le premier groupe australien à le faire depuis INXS. Alors que Frogstomp et "Tomorrow" continuent de gagner en popularité en 1995, le groupe effectue une tournée aux États-Unis où il assurent la première partie des Red Hot Chili Peppers en juin, The Ramones en septembre et jouent sur le toit du Radio City Music Hall aux MTV Music Awards. Freak Show (1996) Silverchair commence à enregistrer son deuxième album studio, Freak Show, en mai 1996, alors qu’il connait le succès de Frogstomp en Australie et aux États-Unis. Il est produit par Nick Launay (Birthday Party, Models, Midnight Oil) et sort en février 1997. Neon Ballroom (1999) À la fin de 1997, le trio termine ses études secondaires et, à partir de mai 1998, il travaille sur son troisième album, Neon Ballroom, à nouveau produit par Launay. L'album sort en mars 1999 et culmine au premier rang en Australie, avec trois singles du top 20 australien: "Anthem for the Year 2000", "Ana's Song (Open Fire)" et "Miss You Love". https://www.youtube.com/watch?v=ShiShrR_nh8 Diorama (2002) En juin 2001, Silverchair entre en studio à Sydney avec le producteur David Bottrill (Tool, Peter Gabriel, King Crimson) pour commencer à travailler sur leur quatrième album, Diorama. Le nom de l'album signifie "un monde dans un monde". À la suite des ARIA Awards 2002, le groupe annonce un hiatus indéterminé. Johns a déclaré que c'était nécessaire "étant donné que le groupe était ensemble depuis plus de dix ans et n'avait que 23 ans en moyenne". Young Modern (2007) Young Modern sort en mars 2007 et ils deviennent les premiers artistes à posséder cinq albums numéro un. En juin, Silverchair et le groupe de... --- ### Résoudre l’erreur « /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable » - **URL**: https://www.skyminds.net/resoudre-debconf-config-dat-is-locked-by-another-process/ Lors d'une mise à jour APT, il arrive qu'un installeur vous demande s'il faut écraser ou non un des fichiers de configuration existant. C'est le cas notamment de certaines versions de PHP qui requièrent une mise à jour du fichier php.ini. Si vous êtes derrière votre terminal, pas de problème. Si par contre, vous ne prêtez pas attention à votre terminal, pensant que tout s'est mis à jour, ou si votre connexion SSH est rompue lors de l'installation, vous risquez d'avoir dpkg en vrac, avec une installation de paquet qui restera 'en cours". Concrètement, vous obtiendrez un de ces messages: debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable dpkg: error processing package XXXXX:amd64 (--configure): subprocess installed post-installation script returned error exit status 1 Errors were encountered while processing: XXXXX:amd64 needrestart is being skipped since dpkg has failed E: Sub-process /usr/bin/dpkg returned an error code (1) Mais pas de panique, il est très simple de résoudre le problème en quelques commandes. Commencez par vérifiez quel est le processus responsable du fichier en question: fuser -v /var/cache/debconf/config.dat Résultat : USER PID ACCESS COMMAND /var/cache/debconf/config.dat: root 8756 F.... frontend Il ne nous reste plus qu'à tuer proprement le processus: kill 8756 Il ne vous reste plus qu'à relancer vos commandes apt habituelles, tout est redevenu opérationnel. --- ### The Handmaid’s Tale by Margaret Atwood: Gilead, power and resistance - **URL**: https://www.skyminds.net/analysis-handmaids-tale-by-margaret-atwood/ Margaret Atwood’s The Handmaid’s Tale depicts the Republic of Gilead, a totalitarian theocracy that turns women’s fertility into state property. Through Offred’s fragmented memories, private acts of defiance and reconstructed testimony, the novel examines reproductive control, religious fundamentalism, propaganda and the fragile survival of individual identity. Published in 1985, The Handmaid’s Tale is one of Margaret Atwood’s most influential novels. It combines dystopian fiction, political satire, speculative fiction, autobiography, Gothic motifs, fairy-tale imagery and the conventions of the survival narrative. These genres allow Atwood to examine a political system from the limited and intensely personal perspective of one woman trapped inside it. The novel is not primarily a prediction of one inevitable future. It is a warning about the speed with which democratic rights can disappear when fear, political violence, religious language and modern technology are combined. Gilead does not invent oppression from nothing: it selects older forms of domination and reorganises them into a new system. Margaret Atwood and the origins of The Handmaid’s Tale Margaret Atwood was born in Ottawa in 1939. She studied at Victoria College in the University of Toronto and at Radcliffe College, then pursued further studies at Harvard. Her literary career includes poetry, fiction, criticism, essays, graphic novels and works that repeatedly cross the boundaries between established genres. Before The Handmaid’s Tale, novels such as The Edible Woman, Surfacing and Life Before Man had already explored the relations between gender, power, the body, language and Canadian identity. Atwood’s later works would continue to examine environmental collapse, authoritarian societies and the political uses of storytelling. Atwood began writing The Handmaid’s Tale in West Berlin in the spring of 1984. Living in a divided city during the Cold War sharpened her awareness of borders, surveillance and political systems that appeared permanent but were historically vulnerable. She continued the manuscript in Canada and completed it after spending time in Alabama. Her guiding principle was that Gilead should contain no practice without a historical precedent or a technology that already existed. As Atwood explained: “There’s nothing in my book that hasn’t already happened.” Margaret Atwood, interview with Studs Terkel This does not mean that one country or period provides a complete model for Gilead. The regime combines seventeenth-century New England Puritanism, twentieth-century dictatorships, racial segregation, religious fundamentalism, reproductive coercion, ecological anxiety and the technological centralisation of personal information. The dedication and epigraphs frame the novel The dedication names Mary Webster and Perry Miller. Mary Webster was a seventeenth-century New England woman accused of witchcraft and subjected to an attempted hanging, which she survived. Atwood’s family sometimes identified Webster as an ancestor, and Atwood later represented her ordeal in the poem “Half-Hanged Mary”. Perry Miller was an influential scholar of American Puritanism under whom Atwood studied at Harvard. Placing Webster and Miller together connects the victim of religious persecution with the historian who studied the ideas and institutions that produced Puritan New England. The novel also opens with three epigraphs: the biblical account of Rachel, Leah and their handmaids;... --- ### Luther saison 5 - **URL**: https://www.skyminds.net/luther-saison-5/ Luther revient sur la BBC pour une cinquième saison de quatre épisodes. Lorsque les ombres sans lune de Londres donnent naissance à un nouveau cauchemar, DCI John Luther (interprété par Idris Elba) est de nouveau appelé à s'immerger dans les profondeurs de la dépravation humaine. Alors que les assassinats monstrueux et apparemment aveugles deviennent de plus en plus audacieux et publics, Luther et la nouvelle recrue D.S. Catherine Halliday (jouée par Wunmi Mosaku) sont pris dans un enchevêtrement complexe de pistes et de fausses directions qui semblent conçues pour protéger une corruption intouchable. Mais alors même que l'affaire le rapproche plus que jamais du véritable visage du mal, Luther, réticent, est obligé de faire face aux démons sans sépulture de son propre passé récent. En revenant dans la ligne de tir, il doit choisir qui protéger et qui sacrifier. Quel que soit son prochain geste, cela aura des conséquences dévastatrices pour son entourage - et changera John Luther pour toujours. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Jamie Dupuis – Breathe (In The Air) - **URL**: https://www.skyminds.net/jamie-dupuis-breathe-in-the-air-pink-floyd/ Voici une reprise de Breathe (In The Air) de Pink Floyd (de l'album Dark Side of the Moon) par Jamie Dupuis à la guitare-harpe : https://www.youtube.com/watch?v=84SNrr6JBzs Jamie Dupuis (né à New Liskeard, Ontario, Canada) est un guitariste, compositeur et producteur canadien, connu pour sa technique complexe de fingertyle, ses performances énergiques, ainsi que pour ses arrangements à la guitare et à la harpe. En 2016, la composition de Comfortably Numb de Pink Floyd à la harpe par Jamie a été vue plus de 19 millions de fois sur Facebook, ce qui lui a valu une reconnaissance internationale. Il gagne également la 1re place au Canadian Guitar Festival Competition (2016), l'un des plus beaux concours de guitare au monde, Dupuis a su créer son propre style d'artiste solo dans le monde entier. Site officiel : https://www.jamiedupuismusic.com/ --- ### Guns N’ Roses – Knocking On Heaven’s Door (Live In Tokyo 1992) - **URL**: https://www.skyminds.net/guns-n-roses-knocking-on-heavens-door-live-in-tokyo-1992/ https://www.youtube.com/watch?v=4qKip9dDalY Guns N’ Roses turned the old cowboy tune written by Bob Dylan into a massive arena rock ballad and it’s one of their most amazing pieces to date! Their Use Your Illusion tour featured this particular stop in Tokyo in 1992, and quite honestly – this jarring rendition of the old cowboy classic stole the show that night!Guns N’ Roses mastered the art of showmanship. From the Alice Cooper cover (Only Women Bleed) woven into the intro, to Axl’s cowboy getup and Slash’s blistering guitar solos, their live performance of ‘Knockin’ On Heaven’s Door’ is a testament to the machine that was Guns N’ Roses. The boys even threw in a few brief ska, reggae, and gospel interludes! Any band fearless enough to improvise a cover – live – is truly a force to be reckoned with. --- ### La vérité sur le Black Friday - **URL**: https://www.skyminds.net/la-verite-sur-le-black-friday/ Reto Zenhäusern, consultant zurichois ayant inspiré l'importation de la tradition du Black Friday en Suisse, nous en explique le principe en 120 secondes: https://www.youtube.com/watch?v=vZDEgY9lJao Présentateur: Aujourd'hui c'est le Black Friday, un événement organisé depuis très peu de temps en Suisse, c'est seulement la quatrième année qu'il a lieu, mais qui rencontre chaque année davantage de succès, même si les critiques à son sujet se font de plus en plus nombreuses. Le Black Friday, c'est une journée de soldes exceptionnelle organisée par les commerces participants àl'opération et on va en parler avec vous ce matin, Réto Zenhäusern, bonjour. Réto Zenhäusern: Bonjour monsieur. Présentateur: Vous êtes consultant à Zurich et vous avez contribué à importer la tradition du black friday en Suisse. Réto Zenhäusern: Oui c'est juste c'est une grande fierté pour moi. Oui c'était il y a quatre ou cinq années un très bon ami à moi qui gère une entreprise de distribution, c'est une chaîne de de grand magasin, il m'a dit, je cherche une nouvelle idée de fête à la con pour encourager les pauvres à acheter de la merde entre Halloween et Noël et moi j'ai dit : "ça c'est un beau projet. Présentateur: lEt vous lui avez proposé Importez donc cette tradition qui vient indirectement des États-Unis. Réto Zenhäusern: Oui les États-Unis c'est juste qui sont les champions des fêtes à la con pour dopper le shopping. Le Black Friday, c'est le lendemain de Thanksgiving, une autre fête à la con, mais ce n'est pas une fête où on fait du shopping pour célébrer quelque chose comme à la Saint-Valentin ou on fait du shopping pour célébrer l'amour. Comme à Noël ou on fait du shopping pour célébrer la naissance d'un enfant magique ou à Halloween, on fait du shopping pour célébrer la peur. Non là, on on fait du shopping juste pour célébrer le shopping. C'est gonflé comme concept, mais ça cartonne. Présentateur: Alors le principe, c'est que les enseignes participantes proposent des rabais importants à vingt, trente, quarante, voire cinquante pour cent sur leur stock. Réto Zenhäusern: Oui, mais pas sur tout le stock, même si certains clients le pensent et c'est très bien comme ça. Non, en fait la nuit avant le Black Friday, on retire du magasin tous les produits de qualité, ce que les clients seraient d'accord de payer trop cher, c'est à dire de payer au prix normal et on laisse que les produits nuls, ceux qui ne se vendent pas, mais on les vend juste cher. Mais avec un sticker moins quarante pour cent, les clients ils se disent que c'est presque gratis, et que peut-être le commerçant il renonce à sa marge et ils achètent le produit, même si le produit est nul et même s'ils n'ont absolument pas besoin du produit - it's magic! Présentateur: Certains commerçants renoncent à à leur marge le Black Friday? Réto Zenhäusern: Non non non non vous êtes fous ! Non non peut-être peut-être ceux qui savent pas faire du commerce comme les... --- ### Serveur dédié : déplacer les bases de données MariaDB ou MySQL sur une autre partition - **URL**: https://www.skyminds.net/serveur-dedie-deplacer-bases-de-donnees-autre-partition/ J'ai récemment installé un plugin qui met en cache les requêtes API Amazon mais dont la table SQL gonfle énormément - plus de 5 Go à l'heure où j'écris ces lignes. Le problème, c'est que cela remplit la partition racine du serveur, qui est utilisée par défaut par MariaDB pour stocker les fichiers des bases de données. Lorsque j'ai créé ce serveur, j'ai utilisé la configuration par défault d'OVH, ce qui est une erreur grossière : la partition racine (/) fait 10 Go alors que la partition /home fait 740 Go... même pour un desktop, on ne fait plus cela parce que cela laisse trop peu pour le système alors imaginez un peu pour un serveur ! Nous avons donc le choix entre re-partitionner le disque (autant vous dire que cela ne me tente que très moyennement) ou alors changer le dossier des bases SQL pour les mettre sous /home. Ce tutoriel vous permet donc de délocaliser les bases de données MySQL/MariaDB sur une autre partition. Le serveur tourne sur la dernière version de Debian. Vérification du chemin des bases MariaDB Tout se passe via le terminal. Je vous conseille de faire une sauvegarde de vos bases avant de commencer. Commençons par vérifier le dossier dans lequel se trouve nos bases de données: mysql -u root -p Entrez votre mot de passe root puis entrez la commande suivante: select @@datadir; Résultat: +-----------------+ | @@datadir | +-----------------+ | /var/lib/mysql/ | +-----------------+ 1 row in set (0.00 sec) Ajustement de systemd pour MariaDB Ceci est une étape fondamentale du tutoriel. Si vous ne faites pas cela, MariaDB ne démarrera pas avec votre nouveau dossier car, par défaut, il n'a pas accès à /home. Il faut donc que nous lui donnions explicitement l'accès : systemctl edit mariadb Dans le fichier qui s'ouvre, entrez le code suivant: [Service] ProtectHome = false Enregistrez le fichier tel quel, sans changer le nom. Le fichier que vous venez de créer est /etc/systemd/system/mariadb.service.d/override.conf Appliquez maintenant les changements : systemctl daemon-reload Un nouveau répertoire pour nos bases de données Nous pouvons maintenant créer le nouveau répertoire qui accueillera les fichiers de nos bases de données. Par simplicité, je choisis de tout mettre sous /home/mysql : # On crée notre nouveau dossier: mkdir /home/mysql # On donne les droits de l'ancien dossier à notre nouveau dossier: chown --reference=/var/lib/mysql /home/mysql # On donne les permissions de l'ancien dossier à notre nouveau dossier chmod --reference=/var/lib/mysql /home/mysql # On arrête le service MySQL/MariaDB avant de copier les fichiers: service mysql stop # On copie les fichiers dans notre nouveau dossier, en gardant les permissions existantes (-p) cp -rp /var/lib/mysql/* /home/mysql/ Edition de my.cnf Il nous reste maintenant à éditer les fichiers de configuration de MariaDB, my.cnf ; sous Debian, ils sont au nombre de deux : nano /etc/mysql/my.cnf Editez le fichier /etc/mysql/my.cnf et sous[mysqld]modifiez le chemin de la directive datadir: datadir=/home/mysql Editez le fichier /etc/mysql/mariadb.conf.d/50-server.cnf et sous[mysqld]modifiez le chemin de la directive datadir: datadir=/home/mysql Il reste un aspect à configurer : AppArmor doit... --- ### A Midsummer Night’s Dream: Complete Act-by-Act Synopsis - **URL**: https://www.skyminds.net/a-midsummer-nights-dream-synopsis/ In A Midsummer Night’s Dream, four young Athenians enter an enchanted forest where fairy magic transforms their affections. Meanwhile, Oberon humiliates Titania by making her fall in love with Bottom, an amateur actor carrying a donkey’s head. After a night of confusion, Puck restores the lovers, three couples marry, and the mechanicals perform their unintentionally comic tragedy. William Shakespeare combines several stories within this comedy. The court of Athens represents law and social order. The forest releases imagination, desire and disorder. The mechanicals add theatrical comedy, while Oberon, Titania and Puck control the supernatural world. This act-by-act synopsis explains how these separate groups enter the forest, collide during the night and return to Athens. For broader context, begin with the introduction to A Midsummer Night’s Dream. A Midsummer Night’s Dream: short summary Hermia loves Lysander, but her father orders her to marry Demetrius. Hermia and Lysander flee into the forest. Demetrius follows them, pursued by Helena, who remains desperately in love with him. In the same forest, the fairy king Oberon quarrels with Titania over a young Indian boy. Oberon asks Puck to use a magical flower on Titania and Demetrius. However, Puck mistakes Lysander for Demetrius. Both young men eventually pursue Helena, leaving Hermia rejected and confused. Puck also gives Bottom the head of a donkey. Titania wakes under Oberon’s spell and immediately falls in love with him. Once Oberon has secured the Indian boy, he removes Titania’s enchantment. Puck restores Lysander’s love for Hermia, while Demetrius continues to love Helena. Theseus discovers the four lovers and allows both couples to marry. Bottom rejoins the mechanicals, who perform Pyramus and Thisbe during the wedding celebrations. Finally, the fairies bless the palace and Puck invites the audience to remember the performance as a dream. Main characters and relationships Theseus: the Duke of Athens, preparing to marry Hippolyta. Hippolyta: the Queen of the Amazons and Theseus’s future wife. Egeus: Hermia’s father, who demands that she marry Demetrius. Hermia: Egeus’s daughter, who loves Lysander. Lysander: Hermia’s chosen lover. Demetrius: Egeus’s preferred husband for Hermia, although Helena loves him. Helena: Hermia’s friend and Demetrius’s rejected former lover. Oberon: the king of the fairies. Titania: the queen of the fairies. Puck: also called Robin Goodfellow, Oberon’s mischievous servant. Nick Bottom: an enthusiastic weaver who plays Pyramus. Peter Quince: the carpenter who organises and directs the mechanicals’ play. These characters occupy four connected dramatic worlds: the Athenian court, the young lovers, the mechanicals and the fairies. Shakespeare moves between them throughout the play. This arrangement is examined further in the study of the structure of A Midsummer Night’s Dream. Act I: love and authority in Athens Act I, Scene 1: Hermia refuses her father’s command Theseus and Hippolyta discuss their approaching wedding. Theseus eagerly awaits the new moon, which will mark their marriage. Their conversation establishes the court as a world of ceremony, authority and social order. Egeus then enters with Hermia, Lysander and Demetrius. He accuses Lysander of enchanting Hermia and demands the enforcement... --- ### Vanupié featuring Lidiop – Rockadown (Châtelet-Les-Halles session) - **URL**: https://www.skyminds.net/vanupie-featuring-lidiop-rockadown-chatelet-les-halles/ Voici Vanupié et Lidiop qui jouent le morceau Rockadown dans les couloirs du métro parisien à la station de métro Châtelet-Les-Halles : https://www.youtube.com/watch?v=AcHHE9bvLgY De superbes voix et une musique totalement planantes. Admirez aussi le regard empli d'amour entre les deux musiciens, c'est absolument fascinant. Vanupié, né en 1980 à Annecy, est un auteur-compositeur-interprète, chanteur et musicien de reggae-soul français. Dans une autre vie, Vanupié a travaillé pour une grande agence de publicité avant de tout plaquer pour se consacrer à sa musique. L’idée de départ était d’accumuler les concerts et d’en assurer la promotion par la distribution de flyers. Il se fait connaître grâce à ses prestations dans le métro parisien. Vanupié aurait pu arrêter l’expérience il y a bien longtemps. Depuis ses débuts, il a rempli La Cigale, joué au Bataclan, assuré la première partie d’UB40, The Wailers, SOJA, Tryo ou encore Alpha Bondy, fait Solidays et tourne à une moyenne de 100 concerts par an. Rockadown est issue de l'album Janus (2017). --- ### Utiliser un NAS Synology comme disque Time Machine sous MacOS - **URL**: https://www.skyminds.net/nas-synology-disque-time-machine-sous-macos/ Time Machine permet de sauvegarder automatiquement un Mac, puis de restaurer des fichiers, des dossiers, des réglages ou une machine complète en cas de problème. La méthode la plus classique consiste à brancher un disque USB ou Thunderbolt au Mac. C’est simple, fiable, et souvent très rapide. Mais si vous avez déjà un NAS Synology, vous pouvez aussi l’utiliser comme destination Time Machine. L’intérêt est évident : les sauvegardes se lancent automatiquement sur le réseau, sans brancher de disque externe. Le Mac voit le NAS comme un disque de sauvegarde, et Time Machine s’occupe du reste. La configuration propre consiste à créer un dossier partagé dédié, un utilisateur dédié, un quota pour éviter que Time Machine ne mange tout l’espace du NAS, puis à activer la diffusion Time Machine via SMB dans DSM. SMB plutôt qu’AFP Sur les anciens tutoriels macOS, on trouve encore des références à AFP, l’ancien protocole réseau d’Apple. Aujourd’hui, il faut privilégier SMB. Apple indique que les NAS compatibles Time Machine peuvent servir de destination réseau via SMB, et recommande SMB plutôt qu’AFP quand vous avez le choix. Les anciennes solutions basées sur AFP ne sont plus recommandées, car AFP ne sera plus supporté dans une future version de macOS. Bonne nouvelle : DSM sait très bien gérer Time Machine via SMB. Il suffit de l’activer correctement. Avant de commencer Vous aurez besoin de trois choses : un NAS Synology accessible sur le réseau local ; un compte administrateur DSM ; un Mac connecté au même réseau que le NAS. Je recommande aussi de créer un dossier et un compte exclusivement réservés à Time Machine. Évitez d’utiliser votre compte administrateur Synology pour les sauvegardes. Il n’a rien à faire dans cette histoire, et il a déjà assez de responsabilités. Créer un dossier partagé Time Machine dans DSM Dans l’interface d’administration DSM, ouvrez : Panneau de configuration → Dossier partagé → Créer Créez un nouveau dossier partagé, par exemple : TimeMachine Choisissez le volume de destination, puis validez les réglages. Si DSM vous propose des options avancées comme la corbeille réseau, le chiffrement ou les quotas de dossier partagé, adaptez-les à votre usage. Pour un usage domestique simple, vous pouvez garder une configuration sobre. Pour un portable professionnel ou des données sensibles, activez plutôt le chiffrement de la sauvegarde côté Time Machine sur macOS. Vous pouvez aussi chiffrer le dossier partagé côté Synology, mais cela ajoute une contrainte de gestion de clé au niveau du NAS. Créer un utilisateur dédié à Time Machine Créez ensuite un utilisateur réservé aux sauvegardes Time Machine. Panneau de configuration → Utilisateur et groupe → Créer Vous pouvez l’appeler par exemple : TimeMachineUser Utilisez un mot de passe long et unique. Ce compte servira uniquement au Mac pour écrire ses sauvegardes sur le NAS. Dans les permissions, donnez à cet utilisateur les droits de lecture et d’écriture uniquement sur le dossier partagé TimeMachine. Refusez ou laissez sans accès les autres dossiers partagés. Cette séparation évite qu’un problème Time Machine, un mauvais montage... --- ### Désactiver les emails cron sans perdre les erreurs utiles - **URL**: https://www.skyminds.net/linux-desactiver-les-emails-de-notification-dune-tache-cron/ Par défaut, une tâche cron sous Linux peut envoyer un email dès qu’elle produit une sortie. Cela concerne aussi bien la sortie standard stdout que la sortie d’erreur stderr. Sur un serveur, ce comportement peut être utile. Une erreur nocturne dans une sauvegarde, un script de maintenance ou une tâche WordPress mérite souvent votre attention. Mais quand une tâche affiche simplement “OK”, “done” ou une ligne de log à chaque exécution, votre boîte mail devient vite un vide-grenier automatisé. Voici comment désactiver les emails cron inutiles, tout en gardant les erreurs importantes quand c’est possible. Pourquoi cron envoie-t-il des emails ? Cron exécute une commande à l’heure prévue. Si cette commande écrit quelque chose sur stdout ou stderr, cron tente d’envoyer cette sortie par email au propriétaire du crontab. Le destinataire dépend de la variable MAILTO : si MAILTO contient une adresse, cron envoie les emails à cette adresse ; si MAILTO="", cron n’envoie pas d’email ; si MAILTO n’est pas défini, cron envoie les emails à l’utilisateur propriétaire du crontab. Ce comportement est documenté dans crontab(5) : si MAILTO est défini mais vide, aucun email n’est envoyé. Sinon, cron envoie la sortie au destinataire configuré ou au propriétaire du crontab. Si aucun agent mail local n’est installé, vous pouvez voir dans les logs un message du type : (CRON) info (No MTA installed, discarding output) Dans ce cas, cron essaie bien d’envoyer une sortie, mais le système n’a pas de service mail local pour la distribuer. Avant de couper les emails : identifiez le bruit Avant de rendre toutes les tâches cron muettes, commencez par voir ce qui tourne réellement. Pour le crontab de l’utilisateur courant : crontab -l Pour le crontab de root : sudo crontab -l Vérifiez aussi les emplacements système : cat /etc/crontab ls -lah /etc/cron.d/ ls -lah /etc/cron.daily/ ls -lah /etc/cron.hourly/ ls -lah /etc/cron.weekly/ ls -lah /etc/cron.monthly/ Sur Debian et Ubuntu, les logs cron se retrouvent souvent dans /var/log/syslog. Sur RHEL, Rocky, AlmaLinux, CentOS ou Fedora, regardez plutôt /var/log/cron. grep CRON /var/log/syslog | tail -n 50 sudo tail -n 50 /var/log/cron L’objectif est simple : couper les notifications inutiles, pas enterrer les erreurs sous le tapis. Le tapis finit toujours par sentir le cron brûlé. Solution 1 : supprimer toute sortie avec /dev/null La méthode la plus connue consiste à rediriger toute la sortie vers /dev/null. 0 1 * * * /home/user/script.sh > /dev/null 2>&1 Explication : > /dev/null supprime la sortie standard ; 2>&1 redirige la sortie d’erreur vers la sortie standard ; donc stdout et stderr disparaissent. Cette solution coupe les emails, mais elle coupe aussi les erreurs. Je l’utilise seulement pour des tâches vraiment triviales, ou quand un autre système de monitoring surveille déjà le résultat. Exemple acceptable : */10 * * * * /usr/bin/php /var/www/site/current/wp-cron.php > /dev/null 2>&1 Même là, sur un site critique, je préfère logger les erreurs. WordPress peut être bavard, mais il ne faut pas bâillonner le messager quand il annonce un incendie. Solution 2 : supprimer stdout,... --- ### The Walking Dead saison 9 - **URL**: https://www.skyminds.net/the-walking-dead-saison-9/ La neuvième saison de The Walking Dead a été diffusée sur AMC. Dix-huit mois après la défaite de Negan, les différentes communautés travaillent à la reconstruction de la société. Cependant, le sanctuaire souffre d'un terrain stérile et du soutien sous-jacent à Negan. Rick se rend dans un musée de Washington, DC, pour récupérer du matériel des premiers pionniers américains, comme des socs de charrue. Sur le chemin du retour, ils découvrent que le pont principal qui mène à Hilltop a été anéanti par une tempête, les obligeant à faire un détour. Un jeune homme, Ken, est tué alors qu'il protégeait les chevaux du groupe des marcheurs. Gregory, évincé du poste de chef de Hilltop, convainc le père de Ken, Earl, d'essayer d'assassiner Maggie, mais il échoue. Rick et Michonne demandent à Maggie l'aide de Hilltop pour donner de la nourriture au Sanctuaire, mais celle-ci refuse. Ce soir-là, Maggie fait exécuter publiquement Gregory pour l'ensemble de son œuvre. La neuvième saison commence un an et demi après les évènements de la huitième saison. Ce sera également la dernière saison avec Andrew Lincoln et Lauren Cohan dans la série. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Noah Hunt and the 420 All Stars feat. Scotty Bratcher – Cortez the Killer (Neil Young cover) - **URL**: https://www.skyminds.net/noah-hunt-cortez-the-killer/ Noah Hunt and the 420 All Stars interprètent Cortez the Killer de Neil Young, avec Scotty Bratcher à la guitare lead au MVP Sports Bar and Grill in Cincinnati Ohio, le 30 décembre 2010 : https://www.youtube.com/watch?v=HBD5_AbH8js Ce son de guitare est complétement hypnotique. Allez, une autre version pour la route: https://www.youtube.com/watch?v=HBD5_AbH8js --- ### Serveur dédié : mettre à jour OpenSSL sous Debian pour bénéficier de TLS 1.3 - **URL**: https://www.skyminds.net/serveur-dedie-mettre-a-jour-openssl-tls-1-3/ Cet article fait suite à un précédent tutoriel - installer la dernière version d'OpenSSL sous Debian. Cela fait un petit moment que je voulais mettre à jour ma configuration TLS et je me suis dit que la Toussaint serait parfaite pour cela. Aujourd'hui, le serveur passe donc à TLS 1.3, ce qui nécessite une mise à jour d'OpenSSL et la mise à jour des ciphers sous NginX. Mise à jour d'OpenSSL Je n'avais pas mis OpenSSL à jour depuis le dernier tuto donc il est aisé de connaitre sa version: openssl version Résultat : OpenSSL v1.1.0f Un autre moyen de connaître les versions disponibles dans les repos: dpkg -l '*openssl*' | awk '/^i/{print $2}' | xargs apt-show-versions -a Résultat: openssl:amd64 1.1.0f-5 install ok installed openssl:amd64 1.1.0f-3+deb9u2 stable debian.mirrors.ovh.net openssl:amd64 1.1.0f-3+deb9u2 stable security.debian.org openssl:amd64 1.1.0f-5 newer than version in archive perl-openssl-defaults:amd64 3 install ok installed perl-openssl-defaults:amd64 3 stable debian.mirrors.ovh.net perl-openssl-defaults:amd64/stable 3 uptodate python3-openssl:all 16.2.0-1 install ok installed python3-openssl:all 16.2.0-1 stable debian.mirrors.ovh.net python3-openssl:all/stable 16.2.0-1 uptodate Pour obtenir la version 1.1.1 d'OpenSSL, qui est le sésame pour TLS 1.3, nous allons temporairement ajouter le repo sid, mettre à jour OpenSSL et ses dérivés puis remettre apt dans sa position stable. On met à jour nos sources apt: nano /etc/apt/sources.list et on y ajoute sid: deb http://ftp.debian.org/debian sid main deb-src http://ftp.debian.org/debian sid main On met à jour apt: apt update Et on met à jour openssl: apt install openssl libssl1.1 Résultat: Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: libc-bin libc-dev-bin libc-l10n libc6 libc6-dev libc6-i386 libnih-dbus1 libnih1 libssl-dev locales python-httplib2 apt-listchanges: News --------------------- glibc (2.26-5) unstable; urgency=medium Starting with version 2.26-1, the glibc requires a 3.2 or later Linux kernel. If you use an older kernel, please upgrade it *before* installing this glibc version. Failing to do so will end-up with the following failure: Preparing to unpack .../libc6_2.26-5_amd64.deb ... ERROR: This version of the GNU libc requires kernel version 3.2 or later. Please upgrade your kernel before installing glibc. The decision to not support older kernels is a GNU libc upstream decision. Note: This obviously does not apply to non-Linux kernels. -- Aurelien Jarno Tue, 23 Jan 2018 22:03:12 +0100 openssl (1.1.1-2) unstable; urgency=medium Following various security recommendations, the default minimum TLS version has been changed from TLSv1 to TLSv1.2. Mozilla, Microsoft, Google and Apple plan to do same around March 2020. The default security level for TLS connections has also be increased from Suggested packages: glibc-doc The following packages will be upgraded: Setting up libc6-i386 (2.27-8) ... Setting up python-httplib2 (0.11.3-1) ... Processing triggers for libc-bin (2.27-8) ... Setting up libssl1.1:amd64 (1.1.1-2) ... locale: Cannot set LC_ALL to default locale: No such file or directory Setting up libc-l10n (2.27-8) ... Setting up openssl (1.1.1-2) ... Installing new version of config file /etc/ssl/openssl.cnf ... Processing triggers for man-db (2.7.6.1-2) ... Setting up libc-dev-bin (2.27-8) ... Setting up libc6-dev:amd64 (2.27-8) ... Setting up locales (2.27-8) ... Installing new version of config file /etc/locale.alias ... Generating... --- ### Motivation : Be Great, Be Powerful Beyond Measure - **URL**: https://www.skyminds.net/motivation-be-great-be-powerful-beyond-measure/ https://www.youtube.com/watch?v=lqpQzT1Kbuk Our deepest fear is not that we are inadequate, our deepest fear is that we are powerful beyond measure, beyond measure.Ima show you, how great I am.Last night I cut the light off in my bedroom, hit the switch, and was in the bed before the room was dark.Ima show you, how great I am.Only last week, I murdered a rock, injured a stone, hospitalized a brick, Im so mean I make medicine sick.Ima show you, how great I am.This kids gonna be the best kid in the world.This kids gonna be somebody better than anybody I ever knew.Ima show you, how great I am.I have wrastled with an alligator, I done tussled with a whale, I done handcuffed lightnin, thrown thunder in jail.Ima show you, how great I am.All you chumps are gonna bow when I whoop him, all of you, I know you got him, I know you've got him picked, but the man's in trouble, Ima show you how great I am.But somewhere along the line you changed, you stopped being you.You let people stick a finger in your face and tell you youre no good, and when things got hard, you started looking for something to blame, like a big shadow.Let me tell you something you already know, the world ain't all sunshine and rainbows, it's a very mean and nasty place and I don't care how tough you are, it will beat you to your knees and keep you there permanently if you let it.You, me, or nobody, is gonna hit as hard as life; but it ain't about how hard you hit, it's about how hard you can get hit and keep moving forward, how much you can take and keep moving forward. That's how winning is done !Cause if you're willin to go through all the battling you gotta go through to get to where you wanna get, whos got the right to stop you.I mean maybe some of you guys got something you never finished, something you really want to do, something you never said to somebody, something.And you're told no even after you pay your dues, whos got the right to tell you that, who? Nobody!It's your right to listen to your gut, it ain't nobody's right to say no, after you earn the right to be where you want to be and do what you want to do.Now if you know what you're worth, then go out and get what you're worth.But you've gotta be willing to take the hits.And not pointing fingers saying you aint where you wanna be because of him, or her, or anybody.Cowards do that and that ain't you!You're better than that!Our deepest fear is not that we are inadequate. Our deepest fear is that we are powerful beyond measure. It is our light, not our darkness that most frightens us.There is nothing enlightened about shrinking so that other people will not feel insecure around you. We are all meant to shine, as children do.... --- ### Serveur dédié : remplacer gzip par pigz pour profiter de la compression multi-core - **URL**: https://www.skyminds.net/serveur-dedie-remplacer-gzip-par-pigz-multi-core/ Tous les matins, une sauvegarde des sites hébergés sur le serveur est effectuée. A ce moment là, gzip tourne à plein régime et utilise pendant un certain temps le CPU - la montée en charge atteint 50%, ce qui devient limite pour la réactivité des sites Et pour cause : gzip ne fonctionne qu'en mono-core. Il nous faut donc optimiser tout cela ! Mark Adler, l'auteur de gzip, a écrit pigz (qui se prononce pig-zee, à l'américaine) pour compresser fichiers et répertoires en utilisant tous les coeurs du processeur simultanément. Pigz représente donc un gain de temps mais allège également la charge du processeur, sollicité moins longtemps. Installation de pigz Pigz est disponible sur la plupart des distributions linux, on peut donc l'installer avec un simple : apt install pigz L'autre avantage, c'est que si on lit le manuel, on se rend compte que les options et paramètres sont les mêmes que ceux de gzip, ce qui en fait un drop-in replacement de choix. Remplacer gzip par pigz sur le serveur L'occasion d'optimiser la compression des sauvegardes est trop belle : et si nous remplacions tout simplement gzip par pigz, sur l'intégralité du serveur et sans toucher à aucun de nos scripts ? Allez, c'est parti ! On édite donc le fichier .bashrc : nano .bashrc et on y ajoute les deux fonctions suivantes : ### # Matt Biscay # https://www.skyminds.net/?p=29838 # Use pigz instead of gzip ### function gzip(){ pigz $@ } export -f gzip function gunzip(){ unpigz $@ } export -f gunzip Cela nous permet de remplacer les fonctions gzip et gunzip par pigz et unpigz, respectivement. Sauvegardez le fichier et rechargez-le pour activer les changements : source .bashrc Et voilà : pigz remplace désormais gzip pour toutes les opérations de compression du serveur. A nous la compression multi-core :) --- ### Glen Hansard and Markéta Irglová – Falling Slowly - **URL**: https://www.skyminds.net/glen-hansard-and-marketa-irglova-falling-slowly/ Je vous ai déjà parlé du film Once - que je recommande toujours chaudement - donc voici un autre extrait musical avec la chanson "Falling Slowly", interprétée par Markéta Irglová et Glen Hansard : https://www.youtube.com/watch?v=k8mtXwtapX4 C'est un plaisir d'écouter le duo des voix et l'alliance guitare acoustique / piano. Pour la petite histoire, Markéta Irglová retrouve souvent Glen Hansard lors de ses concerts pour interpréter la chanson en duo. "Falling Slowly" a reçu plusieurs prix après la sortie du film : Academy Award for Best Original Song et Critics' Choice Movie Award for Best Song. Paroles I don't know youBut I want youAll the more for thatWords fall through meAnd always fool meAnd I can't reactAnd games that never amountTo more than they're meantWill play themselves out Take this sinking boat and point it homeWe've still got timeRaise your hopeful voice you have a choiceYou'll make it nowFalling slowly, eyes that know meAnd I can't go back Moods that take me and erase meAnd I'm painted blackYou have suffered enoughAnd warred with yourselfIt's time that you won Take this sinking boat and point it homeWe've still got timeRaise your hopeful voice you have a choiceYou'll make it nowFalling slowly sing your melodyI'll sing along --- ### Démarrer votre NAS Synology à distance grâce à Wake On Lan (WOL) - **URL**: https://www.skyminds.net/demarrer-nas-synology-a-distance-wake-on-lan-wol/ J'ai récemment réorganisé le matériel informatique de la maison pour ne plus voir la box et le NAS traîner dans la pièce à vivre. J'avais tout mis là par défaut parce qu'il y avait une prise de téléphone à proximité mais finalement, a-t-on vraiment besoin d'avoir cela sous les yeux en permanence ? Du coup, hop, tout est monté à l'étage. Le NAS Synology est configuré pour démarrer chaque soir, rapatrier les derniers épisodes et récupérer les derniers sous-titres puis s'éteindre à l'heure du coucher. Mais il arrive parfois que l'on ait besoin d'avoir accès à nos fichiers en dehors de cette plage horaire... mais maintenant, il faut changer de pièce, monter l'escalier, redescendre et au final, on perd le fil de ce que l'on était en train de faire ! Voici donc comment démarrer votre NAS Synology à distance, sans bouger de votre chaise (pas bien!) en utilisant la fonction Wake On Lan. La fonction Wake On Lan (WOL) La fonction Wake On LAN (WOL) est une technologie qui permet de réveiller ou démarrer à distance un ordinateur ou périphérique qui est en veille ou éteint. Le Disk Station Manager (DSM) du Synology posséde la fonction WOL, qui est présente sur la plupart des modèles de NAS de la marque, ce qui vous permet de démarrer votre NAS sans avoir à vous lever pour aller appuyer sur le bouton de mise sous tension. Notez que les requêtes WOL sont plutôt destinées au réseau local. Étape 1 : configuration du Wake On Lan (WOL) sur le Synology Identifiez-vous sur le DSM et rendez-vous sur Panneau de Configuration > Matériel et Alimentation et cochez la case Activer WOL sur le réseau local: Sauvegardez les changements. Étape 2 : utiliser l'utilitaire WakeOnLan Il existe un petit utilitaire, WakeOnLan, qui permet d'envoyer le paquet magique qui démarrera le Synology à distance: WOL est activé lorsqu'un paquet magique (magic packet en anglais) est envoyé au NAS. Ce paquet magique contient les octets suivants FF FF FF FF FF FF suivi de l’adresse MAC de la carte réseau de destination répétée 16 fois. Le paquet magique est une trame réseau transmise sur le port 0, 7 ou 9. Quand la carte réseau de destination reçoit cette trame, elle envoie un signal à la carte mère du périphérique et lance alors la séquence de démarrage. Voilà - bon, bougez de temps en temps aussi hein ! --- ### The Handmaid’s Tale saison 2 - **URL**: https://www.skyminds.net/the-handmaids-tale-saison-2/ La seconde saison de The Handmaid's Tale a été diffusée sur HBO. Offred et d'autres servantes sont emmenées au Fenway Park où on leur fait croire qu'elles seront pendues, mais cela s'avère être une ruse pour les effrayer. Pendant une autre punition, Offred est libéré après que Tante Lydia a été informée de sa grossesse. Quand elle rejette un repas que Tante Lydia lui donne, on lui montre une servante enceinte, Ofwyatt, enchaînée dans une salle de prison en raison de sa tentative de suicide. Offred accepte de manger, et pendant son repas tante Lydia, qui lui avait dit que ses amis seraient punis pour leur désobéissance mais sa grossesse signifierait qu'elle serait exemptée, amène les autres servantes dans la pièce, et une par une, elles ont la main brûlée à la flamme d'une gazinière. Plus tard, Offred subit un examen de grossesse et reçoit la visite de Fred et Serena, mais après avoir trouvé une clé dans une de ses bottes, elle s'échappe jusqu'à une camionnette garée sous l'hôpital. La fourgonnette la dépose dans une maison sûre à Back Bay, où elle rencontre Nick, tandis que Fred ordonne une traque massive. Nick lui dit de changer de tenue et de se couper les cheveux. Après avoir enlevé sa robe de servante, elle la brûle avant de couper la marque rouge de son oreille. Dans un flashback, Hannah est admise à l'hôpital pour avoir eu de la fièvre pendant ses cours; June est interrogée par l'un des employés de l'hôpital sur le fait de donner des médicaments à Hannah pour contourner la politique sur la fièvre de l'école, remettant en question l'aptitude de June et Luke en tant que parents. Plus tard, ils arrivent à la maison et découvrent que le Capitole et la Maison Blanche sont attaqués... Voir Synology : corriger “rsync permission denied” sur Amazon --- ### WordPress : corriger « expected to be a reference, value given » - **URL**: https://www.skyminds.net/wordpress-parameter-1-expected-to-be-a-reference-value-given/ Lors d’une migration WordPress vers une version plus récente de PHP, vous pouvez rencontrer ce warning : Warning: Parameter 1 to wp_default_styles() expected to be a reference, value given Warning: Parameter 1 to wp_default_scripts() expected to be a reference, value given On le voyait souvent lors des migrations de PHP 5.6 vers PHP 7.1 ou PHP 7.2, notamment avec d’anciennes versions de WordPress. Le site peut continuer à fonctionner, mais les warnings polluent l’affichage, les logs, et parfois les performances. Ce n’est pas dramatique. Mais ce n’est pas propre non plus. La mauvaise solution consiste à modifier directement les fichiers du cœur WordPress. La bonne solution consiste à identifier la cause : version WordPress trop ancienne, thème obsolète, plugin incompatible, extension PHP particulière, ou environnement d’hébergement qui force des comportements non standards. Que signifie “expected to be a reference, value given” ? En PHP, une fonction peut demander un argument passé par référence. Cela signifie qu’elle attend une variable modifiable, pas une simple valeur copiée. Un exemple simplifié : --- ### The Handmaid’s Tale saison 1 - **URL**: https://www.skyminds.net/the-handmaids-tale-saison-1/ The Handmaid's Tale est une série télévisée créée par Bruce Miller, basée sur le roman éponyme de Margaret Atwood, paru en 1985. Dans un avenir proche, la combinaison de pollutions environnementales et de maladies sexuellement transmissibles a entraîné une baisse dramatique de la fécondité qui a pour conséquence un taux de natalité extrêmement bas. Les « Fils de Jacob », une secte politico-religieuse protestante de type restaurationniste et aux accents fondamentalistes, en a profité pour prendre le pouvoir, détruisant la Maison-Blanche, la Cour suprême et le Congrès lors d'un coup d'État. Dans cette version dystopique et totalitaire des États-Unis, la République de Gilead, les dissidents, les homosexuels et les prêtres catholiques sont condamnés à mort par pendaison. Les relations hommes/femmes obéissent dorénavant à des règles très strictes. Alors que les hommes occupent toutes les positions du pouvoir, les femmes ont été démises de leur statut de citoyennes à part entière. Elles ne peuvent ni travailler, ni posséder d'argent, ni être propriétaires, ni lire. Elles sont catégorisées selon leur fonction : les Épouses (habillées en bleu/vert) sont les femmes des dirigeants, les Martha (en gris) s'occupent de la maisonnée et les Servantes (en rouge pourpre) sont uniquement dédiées à la reproduction, sous la surveillance rigide des Tantes (en marron). Les Servantes sont affectées au sein des familles dirigeantes, jusqu'à ce qu'elles mettent au monde les enfants tant désirés. La série suit le parcours de June, une femme devenue servante sous le nom d' Offred (car au service du commandant Fred Waterford). Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Preacher saison 3 : Welcome to AngelVille - **URL**: https://www.skyminds.net/preacher-saison-3-welcome-to-angelville/ La troisième saison de Preacher a été diffusée sur AMC. La saison commence avec un flashback dans lequel on voit la mère de Jesse qui essaie de fuir sa propre mère - Madame L'Angelle, qui est une sorcière vaudou. La mère de Jesse est arretée par les hommes de main de Madame L'Angelle, T.C. et Jody. Lorsqu'elle avale une photo de Jesse, Marie L'Angelle lui ouvre le ventre, retire la photo, puis laisse mourir sa propre fille. Retour dans le présent. Jesse and Cassidy arrive à Angelville avec le corps de Tulip, à la recherche de la grand-mère de Jesse. Jesse l'implore de ramener Tulip à la vie, et lui promet tout ce qu'elle veut en échange. La grand-mère envoie Jesse et Cassidy lui procurer les choses dont elle a besoin pour le rituel. Jesse doit se rendre chez le clan rival, les Boyds, avec Jody, l'homme qui a tué son père, pour obtenir du transpoil. Pendant ce temps, Tulip est au Purgatoire et revit des scènes traumatiques de son enfance... Encore une excellente saison, complètement barrée ! --- ### Nicolò Renna – Breathing - **URL**: https://www.skyminds.net/nicolo-renna-breathing/ “Breathing” is an original piece for classical guitar composed and performed by Nicolò Renna. https://www.youtube.com/watch?v=lO6OSA2vVx0 The composition has evident popular influences that recall the sounds of Ireland and Celtic music. The academic style of classical guitar combined with very catchy percussive elements create an original mix between classical music and finger-style. The guitar used in the video is by lutist Roberto De Miranda. --- ### Installer Redis pour accélérer WordPress - **URL**: https://www.skyminds.net/installer-redis-pour-accelerer-wordpress-sous-debian/ WordPress interroge beaucoup sa base de données. À chaque chargement, il récupère des options, des métadonnées, des transients, des menus, des informations de taxonomies et parfois des données très répétitives. Redis permet d’accélérer WordPress en ajoutant un cache objet persistant. Au lieu de recalculer ou relire certaines données à chaque requête, WordPress peut les stocker en mémoire et les réutiliser plus rapidement. Sur un site éditorial simple, le gain peut être modéré si le cache page fait déjà bien son travail. En revanche, sur un WooCommerce, un site membre, un gros catalogue, un multisite ou une administration lourde, Redis peut faire une vraie différence. Il ne fait pas de magie, mais il évite à MySQL de porter tout le piano sur son dos. À quoi sert Redis avec WordPress ? Redis est une base de données clé-valeur en mémoire. Elle stocke des données dans la RAM, ce qui permet des lectures et écritures très rapides. Avec WordPress, Redis sert surtout de cache objet persistant. WordPress possède déjà une API de cache objet, mais ce cache disparaît normalement à la fin de chaque requête PHP. Avec Redis, ce cache peut survivre entre plusieurs requêtes. Concrètement, WordPress peut stocker dans Redis : des options WordPress ; des résultats de requêtes ; des métadonnées d’articles, d’utilisateurs ou de termes ; des transients ; des objets WooCommerce ; certaines données de taxonomies ; des données répétitives utilisées par les plugins. Redis ne remplace donc pas MySQL ou MariaDB. Il évite seulement de leur demander les mêmes informations trop souvent. Redis ne remplace pas le cache page Avant d’installer Redis partout, il faut bien distinguer les caches. Le cache page stocke le HTML complet d’une page. Le cache navigateur garde les fichiers statiques côté visiteur. Le cache CDN rapproche les ressources de l’utilisateur. OPcache garde le code PHP compilé. Redis stocke des objets WordPress en mémoire. Sur une page publique anonyme, un bon cache page peut éviter de charger WordPress entièrement. Dans ce cas, Redis intervient peu. Sur une page dynamique, un back-office, une boutique WooCommerce ou une page non cachable, Redis devient beaucoup plus intéressant. Pour une vue d’ensemble, lisez aussi mettre en cache WordPress pour accélérer son site. Prérequis serveur Ce guide vise un serveur Debian ou dérivé, avec WordPress déjà installé. Debian avec accès root ou sudo. PHP-FPM ou Apache avec PHP. WP-CLI disponible. WordPress fonctionnel. Accès SSH au serveur. Un minimum de RAM disponible. Redis stocke ses données en mémoire. Sur un petit VPS, ne lui donnez pas toute la RAM. WordPress vous remerciera. MySQL aussi. Le kernel, lui, dira simplement moins de gros mots dans les logs. Installer Redis et l’extension PHP Redis sur Debian Commencez par mettre à jour l’index des paquets : apt update Installez ensuite Redis et l’extension PHP Redis : apt install redis-server php-redis Le paquet php-redis fournit l’extension PHP utilisée par WordPress et les plugins de cache objet pour communiquer avec Redis. Selon votre stack PHP, vous pouvez aussi installer une version ciblée : apt... --- ### PHP : configurer un pool PHP pour chaque site - **URL**: https://www.skyminds.net/php-configurer-un-pool-php-pour-chaque-site/ Au départ, ce serveur n'avait qu'un seul site - celui que vous lisez en ce moment ;) - mais au fil du temps, plusieurs sites sont venus s'installer dans son giron. Au début, nous n'avions donc besoin d'une seule configuration PHP - www.conf par défaut - qui est un pool (ou conteneur) selon la terminologie PHP. Ce fichier de configuration dicte le nombre de threads PHP à lancer, les permissions, etc. Afin de monter en charge et fournir à chaque site les ressources qui lui sont nécessaires, adoptons la stratégie "un site, un pool". Mise en place du nouveau pool PHP Pour être sûr de partir d'une base éprouvée, copions notre pool de départ dans un nouveau fichier : cp /etc/php/7.2/fpm/pool.d/www.conf /etc/php/7.2/fpm/pool.d/skyminds.conf Editons ensuite notre pool : nano /etc/php/7.2/fpm/pool.d/skyminds.conf 1. Nom du pool : remplacez [www] par le nom de votre site, ici [skyminds] de manière à pouvoir l'identifier plus aisément. 2. Vérifiez l'utilisateur et le groupe dans les directives user et group. 3. On modifie le nom du site dans la directive listen en utilisant le nom du pool que vous avez choisi dans l'étape 1: listen = /run/php/skyminds.sock Mise à jour de la configuration NginX Il nous reste maintenant à mettre à jour la configuration du site : nano /etc/nginx/sites-available/skyminds.net Mettez à jour cette ligne (même chemin que la directive listen dans la configuration PHP): fastcgi_pass unix:/run/php/skyminds.sock; Relancez les services PHP et NginX: service php7.4-fpm restart && service nginx restart Vérification de la nouvelle configuration Testons voir ce qui tourne: ps aux | grep php Résultat: root 25345 0.0 0.4 377992 16484 ? Ss 16:56 0:00 php-fpm: master process (/etc/php/7.4/fpm/php-fpm.conf) www-data 25349 2.7 4.6 604056 184132 ? S 16:56 0:48 php-fpm: pool kriyayoga www-data 25516 2.5 4.5 606388 181832 ? S 16:57 0:43 php-fpm: pool kriyayoga www-data 26555 2.2 4.4 602476 177504 ? S 17:10 0:21 php-fpm: pool kriyayoga www-data 27303 5.0 2.6 483516 104588 ? S 17:22 0:11 php-fpm: pool skyminds www-data 27304 3.3 2.4 481156 97284 ? S 17:22 0:07 php-fpm: pool skyminds www-data 27357 2.7 2.2 474696 90736 ? S 17:23 0:03 php-fpm: pool skyminds root 27524 0.0 0.0 15440 1916 pts/1 S+ 17:26 0:00 grep php Et voilà, tous les sites ont leur propre pool PHP avec leur propre configuration. Idéal pour associer à chacun des ressources selon leur besoin. --- ### High Tone – Rub-A-Dub Anthem (feat. Pupa Jim) - **URL**: https://www.skyminds.net/high-tone-rub-a-dub-anthem-feat-pupa-jim/ High Tone est un groupe lyonnais de dub, créé en 1997 à Lyon sur les pentes de la Croix Rousse et mélange bon nombre d'influences musicales : dub jamaïcain des années 1970, hip-hop, jungle, drum and bass, techno, sonorités orientales. High Tone sort son premier maxi 45T Bot Bud Season en 1998. Il sera suivi en 1999 par Low Tone, nouveau maxi 4 titres également édité en CD qui servira de promo. En 2000 sort le premier véritable album du groupe, Opus Incertum. High Tone, avec les groupes Improvisators Dub ou Zenzile s'inscrit comme représentant d'un nouveau style de dub, porté sur la fusion et l'expérimentation sonore. Voici Rub-A-Dub Anthem, à retrouver sur l'album Out Back (2010) : https://www.youtube.com/watch?v=HF5M06egpjc Pour toutes les compositions, les 5 musiciens du groupe se réunissent dans un local où un MiniDisc tourne en permanence afin de capter les bons moments musicaux de la journée. Puis vient le travail de réécoute et de sélection de passages qui semblent intéressants. Enfin la création finale du morceau se fait en répétition ou sur un ordinateur, seul ou à plusieurs selon les cas. La musique parfaite pour passer un été tranquille ! --- ### La Croatie : Trogir - **URL**: https://www.skyminds.net/la-croatie-trogir/ Le lendemain, c'est le grand départ. Notre voyage commence à toucher à sa fin et nous décidons de passer les deux derniers jours qui nous restent à Trogir : la vieille ville est classée au patrimoine de l'Unesco et l'aéroport se trouve à quelques kilomètres. nous prenons le bus pour rejoindre Split puis Trogir. Cela fait 6 heures de bus donc bon, il va falloir s'accrocher. Dur de devoir rester prostré dans un siège alors que nous marchons tous les jours au grand air ! Nous avons acheté nos billets sur Internet le jour d'avant pour être sûr d'avoir une place. Cécile se présente au chauffeur qui lui intime l'ordre de mettre son sac à dos dans la soute du car, non sans lui lancer un froid mais impérieux "ten kunas!". Hé oui, pour mettre son sac dans la soute, il faut graisser la patte des chauffeurs, en liquide et le prix est un peu à la tête du client ! Nous quittons donc Dubrovnik en bus pour rejoindre Trogir, en 6 heures. Le car sillonne des petits villages ce qui nous permet de découvrir un nouveau visage, plus montagnard, du pays. Le contrôleur du car vérifie les tickets de l'ensemble des voyageurs. L'un de nos voisins, touriste comme nous, semble avoir commis une erreur dans la date de son billet, qui n'est donc pas valide. Ni une, ni deux, le contrôleur arrête le chauffeur, laisse le pauvre touriste au beau milieu de nulle part et repart illico. Nous restons interdits. Au cours de notre périple, nous traversons aussi la Bosnie-Herzégovine, théâtre d'une anecdote qui fait encore rire Matt aujourd'hui: Cécile, le matin du départ, a déposé son sac à dos dans la soute du car, dans lequel elle a laissé (mais pourquoi ???) tous ses papiers et sa carte d'identité. Peu de temps avant de quitter la Croatie et de parvenir en Bosnie, le contrôleur annonce d'un air grave qu'à la frontière, la douane bosniaque contrôlera l'identité de chacun des passagers : de fait, chacun devra lui présenter ses papiers. Cécile se rappelle qu'elle a laissé les siens dans la soute et inquiète, se lève pour expliquer sa situation au contrôleur. Il lui répond, alarmé, que la police bosniaque lui donnera un bon coup de crosse avant de la mettre aux fers. Puis il ajoute que c'est une blague, pour repartir aussitôt converser en croate avec le chauffeur, sous les yeux perplexes de Cécile. T out à coup, le bus s'arrête au beau milieu de la route pour la faire descendre et lui permettre de récupérer son passeport sous le regard interrogateur des autres passagers. Matt est hilare. Pas de crosse ni de fers, mais le contrôle d'identité est assez tendu. Dès que le policier bosniaque (qui ressemble comme deux gouttes d'eau à Poutine) entre dans le car, la tension est se fait immédiatement sentir. Son regard est froid et dur et ses paroles sans appel. Chacun s'exécute et tend docilement ses papiers. Le policier s'arrête un temps sur... --- ### La Croatie : Dubrovnik ou la citadelle de King’s Landing (Game of Thrones) - **URL**: https://www.skyminds.net/la-croatie-dubrovnik-kings-landing-game-of-thrones/ Nous débarquons à Dubrovnik vers 23 heures et attrapons l'un des derniers bus qui va du port vers la citadelle de Dubrovnik où nous avons réservé notre chambre d'hôte. Le retour à la civilisation se fait dans le bus et c'est plutôt rude : nous sommes dans un bus bondé, où se côtoient les petites vieilles locales et un groupe d'anglaises complètement déjantées, vociférant de manière alcoolisée avant leur arrivée fracassante dans l'une des boites de nuit de la ville. Notre logeur, Sergio, nous attend à l'entrée de la citadelle et nous informe tout en marchant qu'il y a un problème avec notre réservation et que nous allons passer la première nuit dans un autre logement. C'est un peu étrange de suivre quelqu'un qui nous emmène on ne sait où, dans de petites ruelles pavées, en tournant un coup à gauche, un coup à droite et en marchant comme des cosaques alors que la nuit est tombée depuis belle lurette. Nous arrivons dans la cour de ce qui semble être une ferme, ce qui semble tout à fait surréaliste. J'ai pensé au film Hostel mais je n'ai rien dit à Cécile pour ne pas l'effrayer. Nos hôtes sont âgés mais nous accueillent avec le sourire. La chambre est tellement vieille que l'on se demande si nos hôtes ne nous ont pas laissé leur chambre, leurs vêtements étant dans les armoires. C'est un peu rock'n'roll mais bon, c'est pour une nuit. On ferme quand même la porte à clé. Le matin, douche rapide et nous quittons les lieux en remerciant nos hôtes. Je jette un oeil dans le jardin et aperçois la statue d'une veuve noire, assise sur un banc, qui regarde le jardin. Mais où avons-nous passé la nuit ?!? Nous partons flâner en ville et nous rendons à la sortie de la citadelle. C'est là que nous pouvons faire le Game of Thrones Tour - visite guidée de Dubrovnik où sont tournées pas mal de scènes cultes de la série, étant donné que Dubrovnik est King's Landing. Nous partons de Pile Gate pour aller vers la forteresse Lovrjenac, passons près du port où les bâtards de King Robert sont exécutés et le port où Myrcella navigue vers Dorne: Nous voyons aussi le petit port de Kolorina, où Sansa avait l'habitude d'écouter Littlefinger en rêvant de pouvoir rentrer chez elle, les portes que franchit Jaime après son retour du Nord, le tripot de Littlefinger, la cathédrale (Revelin Square) devant laquelle Cercei fait son Walk of Shame, le Red Keep... Si vous êtes fan de la série Game of Thrones, je vous conseille la visite guidée, cela vaut vraiment le coup. C'est assez incroyable de voir que très peu de choses ont finalement été ajoutées dans la série : c'est comme si on avait mis les acteurs en place et filmé directement. Cela nous a permis de nous replonger dans la série, mais en revivant certaines scènes juste devant nous. https://www.youtube.com/watch?v=rUldAQ2Haqo Nous rejoignons notre Airbnb : Cécile a réservé en plein... --- ### La Croatie : Korçula - **URL**: https://www.skyminds.net/la-croatie-korcula/ Le lendemain, nous nous réveillons assez tôt car nous avons réservé une place dans le bateau qui nous mènera à Korçula (à prononcer kor-tchou-la). Avant d'embarquer, nous prenons un petit déjeuner au soleil, face à la mer, afin d'éviter les tourments marins. Finalement, la mer est très calme et le voyage est très serein. A notre arrivée sur Korçula, notre hôtesse nous attend sur le port, coiffée d'un chapeau aux larges rebords pour se protéger du soleil brûlant de midi. L'image de cette femme accueillante et si belle restera gravée dans notre esprit, augurant la beauté et les saveurs de cette île. Cette chambre qui sera la nôtre quelques jours durant, est idéalement située: près du port, dans une petite ruelle pentue s'ouvrant vers la mer, dont les petites fenêtres débordent de bougainvillées en fleurs. Lorsque nous y entrons, les fenêtres ouvertes laissent entrer le vent qui joue avec les rideaux. Tout de suite, nous nous y sentons bien, comme si nous y étions chez nous. L'impression positive qui nous berce se prolonge lors de notre découverte de la ville. Nous sommes d'emblée séduits par cette cité médiévale pavée en forme de poisson qui semble s'élancer vers la mer. La première fois que nous la rencontrons, après l'avoir arpentée sous la chaleur, nous apprécions de nous installer à l'ombre des pins et des remparts, face à la mer, pour nous rafraîchir et grignoter un morceau. L'eau nous tend ses bras et nous savourons d'y piquer une petite tête. Nos chaussons anti-oursins sont très précieux car, bien que la mer soit vraiment cristalline, elle est peuplée de petits oursins qui se prélassent au chaud, sur les rochers et où l'eau est peu profonde. Le soir, nous nous promenons dans les rues animées par une fête de village : des petits groupes de musique de style très différent jouent dans les rues, faisant régner une ambiance chaleureuse et festive. Ces journées que nous passons sur cette île, gorgées par la douceur du soleil se réverbérant sur les pierres millénaires et le sel de la mer, nous offrent un aperçu de paradis. Au cours de notre séjour, nous profitons d'une soirée pour assister à un spectacle de "Moreska", danse traditionnelle des épées. L'entrée n'est pas donnée, mais notre guide ne tarit pas d'éloges sur ce spectacle, ce qui nous convainc d'y assister. En plusieurs tableaux mêlant musique, chant, danse et armes, il retrace la lutte des chrétiens qui doivent sauver une princesse enlevée par le roi musulman. Nous apprécions de découvrir cet héritage culturel dalmate, pour le moins étonnant ! Le dernier jour, nous avons prévu de prendre un bateau à 21 heures pour Dubrovnik. Nous libérons notre chambre tôt le matin, sans avoir de programme précis en tête. Nous nous dirigeons au port, laissons nos sacs à la consigne, et pouvons ainsi profiter pleinement de notre journée. Nous découvrons alors une partie de la ville, plus éloignée, que nous ne connaissons pas encore, et nous prélassons dans la mer, jusqu'au moment où,... --- ### La Croatie : Hvar - **URL**: https://www.skyminds.net/la-croatie-hvar/ Nous nous réveillons heureux de car une belle journée s'annonce : le soleil est radieux, la température déjà élevée pour l'heure et le programme de notre journée alléchant. Le check-out est à 10 heures, comme dans toutes les locations en Croatie. Nous quittons notre chambre pile à l'heure et nous arrêtons petit déjeuner dans un café nommé "health food". Au menu : un grand café, des œufs, des toasts et du bacon pour Matt, du muesli au yaourt avec une coupe de fruits frais pour Cécile. C'est vraiment un régal. Nous prenons notre temps, au soleil et profitons de la vie. Vers 11 heures, nous entamons une promenade agréable le long du port et admirons les luxueux bateaux amarrés là. Dans la grande majorité, ils sont britanniques et croates. Nous nous rendons au quai pour prendre un catamaran rapide, pour lequel nous avions réservé nos billets la veille. Notre destination est l'île de Hvar (à prononcer CHVAR). Nous embarquons sereinement et nous plaçons à l'avant du flotteur droit, pour apprécier au maximum la vue de la traversée. Nous quittons Split tout doucement. Dès que nous atteignons le large, si le ciel et la température sont cléments, la mer est déchaînée. Des creux de 3 à 4 mètres secouent le bateau qui s'élance dans les airs et retombe lourdement sur les crêtes. Les passagers, d'abord amusés par cette attraction digne du grand huit, déchantent rapidement. Chaque vague déclenche des cris stridents. Au bout de quelques temps, c'est la course aux vomito-bags, disposés à l'avant du bateau. Tous les passagers vomissent les uns après les autres, c'est vraiment impressionnant ! Grâce à notre super petit déjeuner, nous défions Neptune et saluons chaque vague d'un rire tonitruant, notamment celui de Matt, qui rit de plus belle lorsqu'un de nos voisins se met à remplir son petit sac. Une heure trente plus tard, nous débarquons sur l'île de Hvar. Il fait chaud mais une brise légère et agréable nous rafraîchit tandis que nous marchons vers la gare routière ou nous attend Anita, notre logeuse. Nous passons sur le main square, la place pavée principale de l'ile. La population à l'air bien plus aisée qu'à Split : moins de sacs à dos de randonnée et beaucoup plus de valises. Anita nous mène jusqu'à notre chambre située à une centaine de mètres de la gare routière et à 300 mètres du centre. Elle est fonctionnelle et nous disposons d'une petite terrasse ombragée avec un salon de jardin pour prendre nos repas et nous détendre. Comme nous avons très bien déjeuné, nous n'avons pas besoin de repas de midi et enchaînons sur une petite sieste. Ensuite, nous partons découvrir l'île de Hvar. Nous nous promenons le long de la mer et trouvons des bars, des restaurants qui s'étendent le long de la côte. Nous avons pris notre maillot de bain et nos chaussures anti-oursins pour nous baigner dans une petite crique. L'eau est bonne et nous sommes seuls, c'est génial. Rafraîchis, nous revenons à l'appartement pour prendre... --- ### La Croatie : arrivée à Split - **URL**: https://www.skyminds.net/la-croatie-split/ Un départ épique Il est 3h30 du matin lorsque notre réveil sonne. L’œil hagard, nous partons à 4h15 avec notre voiture pour rejoindre l'aéroport. Arrivés sur le périphérique, nous nous rendons compte que le pont de Cheviré est fermé et que nous devons donc faire demi-tour pour prendre le périphérique dans l'autre sens. Un coup de stress, mais tout va bien, nous avons encore du temps jusqu'à l'embarquement pour notre vol de 6 heures. Matt a réservé quelques jours plus tôt une place de parking chez NGPark, que le GPS a bien du mal à trouver. Il est 5 heures 10, et nous errons en pleine campagne, sur un chemin gravillonné sans savoir où aller. Le stress commence à monter car l'heure tourne. Nous appelons le parking qui nous indique la route. En quelques minutes, nous y sommes, garons notre voiture et embarquons dans la petite navette qui nous conduit à l'aéroport. Il est 5h30 quand nous y arrivons. Nous passons les contrôles, mais surprise, un nouveau contrôle d'identité aux frontières nous attend et la file d'attente est démente. À 5h50, une employée appelle les derniers retardataires et nous enjoint de doubler la queue pour embarquer. Nous arrivons à nos places dans l'avion et il décolle aussitôt. Arrivée à Split Deux heures plus tard, nous arrivons à Split. Il est 8h15 du matin et il fait 28 degrés. On retire des kunas (la monnaie croate) et on prend notre premier bus, direction Split. En arrivant au port, nous sommes assoiffés et affamés car à 3h30, nous n'avions pas déjeuné. Nous nous enfilons un croissant et de l'eau et sommes prêts à démarrer la journée. Le palais de Dioclétien Nous nous engageons à hasard dans les ruelles de Split et découvrons avec stupeur les ruines du palais de Dioclétien, qui fondent le cœur historique de la ville. Dioclétien est un empereur romain du IIIème siècle de notre ère. Séduit par la beauté du site, il avait fait de l'Illyrie sa résidence de vacances. Le palais de Dioclétien Nous sommes émerveillés par le site, mais harnachés comme des baudets, si bien que notre dos nous impose de nous poser. Il est déjà treize heures et nous déjeunons d'un repas léger: tomates, mozzarella et roquette, accompagnés d'une pinte et de frites. Il est temps de prendre nos quartiers dans la chambre que nous avons louée pour la nuit. Le lion de Cléopâtre Cécile Elle est très bien située, dans la ville moderne et à deux pas du centre. Elle est fonctionnelle et agréable, ce qui nous convient parfaitement. Nous nous reposons un moment, ce qui nous fait du bien après nos aventures de la matinée. Quelques heures plus tard, nous repartons à la découverte de la ville. Le mélange entre les influences romaine, gothique et moderne est saisissant. Se perdre dans ce palais aux diverses cultures nous enchante. Qui plus est, nous retrouvons des lieux de tournage de la série Game of Thrones. En arpentant les souterrains de la ville, il apparaît que... --- ### Salvaged – A Surf Film - **URL**: https://www.skyminds.net/salvaged-a-surf-film/ Salvaged is a black and white longboarding picture shot on location on the islands of Indonesia in clean, shoulder high surf, with a few large exceptions. It features local Indonesian Surfers Deni Firdaus and Husni Ridhwan, along with Matt Cuddihy, Thomas Bexon and Zye Norris. https://vimeo.com/145255578 Enjoy ! --- ### Visite du théâtre d’Épidaure et du sanctuaire d’Asclépios - **URL**: https://www.skyminds.net/visite-theatre-epidaure-sanctuaire-asclepios/ Aujourd'hui, c'est notre dernier jour avant le grand départ. Nous projetons de l'occuper par la visite du site d'Épidaure, situé à environ 150 kilomètres d'Athènes. Un bus permet de rallier la capitale à Epidaure, en faisant un changement à Nauplie. La veille, nous sommes couchés vers 3 heures du matin du fait de notre retour épique du Pirée et nous nous levons, un peu difficilement il faut l'avouer, à 8 heures, le temps de prendre un bus urbain qui nous mènera à l'une des deux gares routières d'Athènes. Une fois arrivés, nous prenons nos billets de bus et demandons à la vendeuse où s'arrêter exactement et à quelle heure est le bus du retour. Elle est bien en peine de nous répondre: il faudra demander au chauffeur. Lui-même ne sait pas trop, et nous conseille de demander à la gare routière de Nauplie, là où nous ferons un changement de bus pour nous rendre à Epidaure. Nous partons et profitons de ces quelques heures de route pour nous reposer. Nous arrivons à Nauplie, très différente d'Athènes : la ville est très moderne, très européenne, nous avons l'impression de nous trouver dans une ville du sud de la France ou de l'Espagne. Nous demandons les horaires de bus retour à partir d'Épidaure à la dame de la gare routière qui nous donne un prospectus offrant les horaires. Nous sommes rassurés car un bus part du site d'Épidaure dans quelques heures, ce sera le dernier de la journée : ce laps de temps nous permettra de mener notre visite à bien, tranquillement. Nous déjeunons dans un petit bouge en attendant notre prochain bus qui nous conduira sur le site. Dès qu'il arrive, nous demandons au chauffeur si le bus retour part bien du site à l'heure indiquée sur le prospectus, ce qu'il nous confirme. Notre visite peut donc commencer sereinement. Le théâtre d'Épidaure Nous commençons notre visite par le théâtre, qui se dresse face à nous à flanc de colline. Son état de conservation est extraordinaire car il a été excavé au XXème siècle seulement, ce qui 'a préservé des séismes et de l'érosion. Nous gravissons les gradins afin de bénéficier d'une vue qui surplombe le théâtre et ses alentours: c'est époustouflant. Au centre de l'orchestra, nous testons l'acoustique du lieu : les architectes construisaient ces édifices à flanc de montagne de façon à ce que la topographie du lieu devienne une caisse de résonance efficace. De plus, chaque acteur portait un masque dans lequel se trouvait glissé un porte-voix, qui amplifiait les sons pour atteindre la partie haute des gradins. Mais le masque permettait aussi d'identifier chaque personnage de la pièce, et ce, même de loin. Cécile, actrice antique En effet, les théâtres antiques étaient destinés à accueillir des représentations théâtrales de tragédies ou de comédies, dans le cadre des Dionysies, concours religieux organisés par la cité. Tous les citoyens étaient conviés à ces représentations et bénéficiaient même d'un petit salaire, le misthos, destiné à couvrir les frais d'entrée au théâtre.... --- ### Shell : créer une liste de mots de passe facilement - **URL**: https://www.skyminds.net/shell-creer-une-liste-de-mots-de-passe-facilement/ Créer une liste de mots de passe simples Voici un moyen très simple de créer une liste de mots de passe en utilisant le terminal sous Linux ou MacOS par exemple : for i in `seq 1 8`; do mktemp -u XXXXXXXXXXXXXXXXXXXXXXXX; done Explications sur le fonctionnement de la commande: seq 1 8 va nous créer 8 mots de passe différents, mktemp -u XXXXXXXXXXXXXXXXXXXXXXXX va nous créer des mots de passe alphanumériques dont le nombre de caractères dépend du nombre de X. Ici, j'ai mis 24 X donc les mots de passe feront 24 caractères. Créer une liste de mots de passe sécurisés La méthode précédente n'est pas vraiment sécurisée car le degré d'entropie est trop faible. Pour augmenter le niveau de sécurité, j'utilise cette commande: for i in $(seq 1 8); do LC_CTYPE=C tr -dc '[:graph:]' < /dev/urandom | tr -d "'" | tr -d '"' | head -c 64 && echo; done Voici une explication de la commande : for i in $(seq 1 8); do : Cela commence une boucle for qui se répète 8 fois (de 1 à 8). LC_CTYPE=C : Cela définit la variable d'environnement LC_CTYPE à la valeur C, ce qui assure que le générateur de mots de passe utilise le jeu de caractères ASCII. tr -dc '[:graph:]' < /dev/urandom : Cela utilise la commande tr pour supprimer les caractères non imprimables et générer des caractères graphiques aléatoires à partir de /dev/urandom, qui est une source d'entropie aléatoire sur les systèmes Unix. tr -d "'" | tr -d '"' : Cela utilise deux commandes tr supplémentaires pour supprimer les caractères de guillemets simples (') et les guillemets doubles (") des mots de passe générés. Cela garantit que les guillemets simples et doubles sont supprimés des mots de passe générés. head -c 32 : Cela utilise la commande head pour limiter la longueur des mots de passe générés à 32 caractères. && echo; done : Cela termine la boucle for et ajoute un retour à la ligne (echo) pour afficher chaque mot de passe généré sur une ligne séparée. Simple et efficace, j'utilise souvent cette commande lors de la création ou l'import d'utilisateurs en masse, lors de la création d'un fichier CSV par exemple. Cela permet d'avoir des mots de passe un minimum sécurisés dès le départ de la création des comptes utilisateurs. --- ### Lord Huron – Frozen Pines - **URL**: https://www.skyminds.net/lord-huron-frozen-pines/ Lord Huron est un groupe d'indie folk américain, originaire de Los Angeles, en Californie. Le nom du groupe vient du Lac Huron, un lac que le fondateur du groupe Ben Schneider a visité durant sa jeunesse, et où il aurait passé ses soirées à jouer de la musique autour du feu. Voici Frozen Pines : https://www.youtube.com/watch?v=OlHVrYRcPvE Deep into the nightWith the moonlight as my guideI will wander through the pines and make my way to nature's shrines And I look up to the skyAnd I know you're still aliveBut I wonder where you are, I call your name into the dark I wake up in the morning, oh, and I don't know where I've beenAll alone on a mountainside and huddled in the wind And it feels like I've been away for an era, but nothing has changed at allAnd it feels like I've been with you but, oh, what did you you do and where have you gone?On the night you disappeared Oh, if I had seen you clearBut the strange light in the sky was shining right into my eyesThere was no one else in sight Just the endless frozen pinesBut I wonder how they know, cause they don't die if they don't grow I am ready to follow you even though I don't know whereI've been waiting the night until you decide to take me there Cause I know I don't wanna stay here forever it's gotta be moving onOh, I don't wanna be the only one living if all of my friends are gone I will be waiting for you on the other side of the frozen pinesI'm gonna find a way through, there's another light beyond the lieI will be waiting for you on the other side of the frozen pinesI'm gonna find a way through, there's another life beyond the lie Song: Frozen PinesArtist: Lord HuronAlbum: Strange TrailsTrack: 10 --- ### Cider with Rosie: Chapter-by-Chapter Analysis - **URL**: https://www.skyminds.net/cider-with-rosie-chapter-analysis/ Cider with Rosie recreates Laurie Lee’s childhood in thirteen thematic chapters. Its lyrical memories combine family warmth, sensual discovery and rural beauty with poverty, illness, violence and the gradual disappearance of an isolated village culture. Laurie Lee published Cider with Rosie in 1959, several decades after the childhood it describes. The book recalls his early life in Slad, a small Gloucestershire village where his family settled when he was three. It is the first volume of Lee’s autobiographical trilogy. As I Walked Out One Midsummer Morning follows his departure from home and journey towards Spain, while A Moment of War recounts his involvement in the Spanish Civil War. Cider with Rosie is often described as a nostalgic portrait of an idyllic rural childhood. That description captures only half the book. Lee celebrates freedom, landscape and family affection, but he also remembers hunger, disease, cruelty, murder and death. The village is beautiful without being innocent. Likewise, childhood is magical without being safe. A general summary of Cider with Rosie Laurie grows up in a crowded cottage dominated by his mother, Annie Lee, and surrounded by brothers, half-brothers and half-sisters. His father lives elsewhere and remains largely absent from the household. The young Laurie gradually discovers an expanding world. He begins with grass, furniture, food and family faces. He then encounters school, village legends, neighbouring families, seasonal work, illness, death, community celebrations and sexual desire. His personal development accompanies a broader historical transformation. The village initially appears self-contained, governed by inherited customs and limited contact with the outside world. By the final chapter, modern transport and changing social habits have begun to dissolve that isolation. The end of childhood and the end of traditional village life therefore become parallel events. Lee preserves both through language, but he cannot recover either of them exactly as they once existed. How is the memoir structured? The thirteen chapters move broadly from infancy towards adolescence. However, Lee does not follow a strict year-by-year chronology. Each chapter gathers memories around a central subject. The kitchen, the school, the seasons, the mother and the uncles become organising centres. Within each chapter, Lee moves freely between anecdotes, descriptions and later reflections. This structure resembles memory itself. One sensation recalls another. A place evokes several different years. A person’s appearance introduces the story of an entire life. The book consequently develops through emotional and imaginative associations rather than exact dates. Its unity comes from recurring images and themes: the widening consciousness of the child; the central place of the mother and sisters; the absence of the father; the rhythms of nature and the seasons; the proximity of desire, illness and death; the transformation of the village by modern life. The adult narrator and the child’s perspective Two different voices coexist throughout the memoir. The first belongs to the child who encounters objects and sensations without fully understanding them. Grass becomes a forest, adults appear gigantic and local stories acquire supernatural authority. The second belongs to the mature writer. He understands... --- ### Parkway Drive – The Cruise - **URL**: https://www.skyminds.net/parkway-drive-the-cruise/ Parkway Drive est un groupe australien de metalcore, formé en 2002. Le nom du groupe vient de celui de la rue dans laquelle se trouve la maison d'un des membres (la cave servant de local de répétition), à Byron Bay, en Nouvelle-Galles du Sud (NSW). Peu de temps après sa formation, le groupe effectue un split avec le groupe de metalcore I Killed the Prom Queen, en 2003. Parkway Drive apparaît également sur la compilation de The Red Sea : What We've Built, peu de temps avant la sortie de son premier EP, Don't Close Your Eyes. Sur Don't Close Your Eyes, on peut retrouver une chanson interlude instrumentale qui s'intitule The Cruise: https://www.youtube.com/watch?v=4YcvmFtPLCo Appréciez le bruit du ressac avec la ligne mélodique des deux guitares. Mais pourquoi donc une chanson chill sur un album de metal me direz-vous ? Et bien tout simplement parce que dans les années 80, 90 et 2000, quasiment tous les albums un peu heavy avaient une chanson chill pour pouvoir fumer des substances illicites. Étonnant non ? --- ### Coup de coeur : Greta Van Fleet - **URL**: https://www.skyminds.net/coup-de-coeur-greta-van-fleet/ Greta Van Fleet est un groupe de rock américain, originaire de Frankenmuth, dans le Michigan. Il est formé en 2012, par les frères Josh Kiszka, Jake Kiszka, Sam Kiszka et Kyle Hauck (remplacé par Danny Wagner en 2013). Il suffit d'écouter quelques titres comme Safari Song : https://www.youtube.com/watch?v=zXdM1rqSlSQ et vous allez immédiatement trouver leurs sources d'inspiration et leurs influences classic rock millésimées ! Une voix à la Robert Plant, des riffs lourds comme les morceaux de Led Zeppelin I, des break de batteries à la John Bonham... il est difficile de ne pas y voir un hommage aux années 60 et 70. Même Robert Plant les a remarqué : "There's a band in Detroit called Greta Van Fleet. They are Led Zeppelin I," Plant told Loudwire. "Beautiful little singer, I hate him! He borrowed [his voice] from somebody I know very well, but what are you going to do? At least he's got a bit of style, because he’s said he based his whole style on Aerosmith [eye roll]." Greta Van Fleet revendique ses influences et Jake est d'accord avec Robert Plant : "We have certain debut records that are like benchmarks to us—Van Halen’s first record, Zeppelin’s first, even the Black Crowes’ Shake Your Money Maker. Those records really seemed to sum up each band so well. Those albums are like the gold standard, and they give us something to shoot for. It’s like, ‘Can we be that good?’" Même l'alien et guitar-hero Joe Satriani a déclaré sur NJ Arts être devenu fan de Greta Van Fleet quasi-immédiatement : "I've been listening to this young band, Greta Van Fleet, and I'm really enjoying that exuberance that I'm hearing. When I first heard them, I sent their album to all my friends that were in my high-school band. We're still good friends and we stay in touch and, I swear, that's what we were trying to do when we were 15 years old. We were just trying to be like Led Zeppelin, Black Sabbath and The Stones, but these guys are really good at it! [Laughs] They have that same kind of... it just sounds like they love music and they love what they're doing and yeah, I've been listening to that quite a bit." J'écris cet article en écoutant leur album, intitulé From the Fires et je peux vous dire que si vous aimez Led Zeppelin, vous allez vraiment apprécier cet album. On est à des années lumières de la musique actuelle et c'est une vraie cure de jouvence pour les oreilles. Voir Synology : corriger “rsync permission denied” sur Amazon En novembre 2017, ils annoncent un premier album studio juste après la sortie de From the Fires, qu'ils prévoient pour mi-2018. https://www.youtube.com/watch?v=aJg4OJxp-co En juin 2018, le groupe joue en première partie des Guns N' Roses sur la tournée Not in This Lifetime... Tour. Pas mal pour ces jeunes artistes (18 ans et 21 ans) ! A suivre donc, ce doit être très sympa de les voir en concert! --- ### Masquer le placeholder d’un champ input ou textarea avec CSS - **URL**: https://www.skyminds.net/css-supprimer-placeholder-champ-input-ou-textarea/ Pour masquer le placeholder d’un champ lorsqu’il reçoit le focus, utilisez le pseudo-élément CSS ::placeholder avec le sélecteur :focus. Les préfixes destinés aux anciens navigateurs ne sont plus nécessaires. Toutefois, conservez toujours un label visible et ne placez pas d’instruction essentielle uniquement dans le placeholder. Je viens de finir un projet sur Codeable qui utilisait WordPress et Gravity Forms et lors de la réalisation d'un formulaire de réservation complexe, je me suis heurté à Chrome qui ne supprime pas toujours (suivant les versions utilisées) le texte du placeholder d'un champ de type input ou textarea lorsque le curseur est placé à l'intérieur (action focus). Le texte défini dans l’attribut HTML placeholder reste normalement visible tant qu’un champ est vide. Il ne disparaît pas automatiquement lorsque l’utilisateur clique dans le champ. Ce comportement est volontaire. Le placeholder disparaît lorsque l’utilisateur commence à saisir une valeur. Dans certaines interfaces, on peut néanmoins préférer le masquer dès que le champ reçoit le focus. Quelques lignes de CSS suffisent. Aucun JavaScript n’est nécessaire. Masquer immédiatement le placeholder au focus La version moderne la plus simple consiste à rendre le placeholder transparent lorsque le champ reçoit le focus : input:focus::placeholder, textarea:focus::placeholder { color: transparent; } Cette règle s’applique à tous les champs input et textarea de la page. Le champ conserve son placeholder dans le HTML. Seul son affichage change pendant le focus. Masquer le placeholder avec une transition douce Pour obtenir une disparition progressive, animez son opacité : input::placeholder, textarea::placeholder { opacity: 1; transition: opacity 180ms ease; } input:focus::placeholder, textarea:focus::placeholder { opacity: 0; } Une transition courte reste préférable. Le placeholder doit disparaître rapidement pour ne pas gêner la saisie. La valeur de 180 millisecondes apporte un effet discret sans donner l’impression que le formulaire hésite avant d’obéir. Respecter la préférence de réduction des animations Certains utilisateurs demandent au système de réduire les animations. Le CSS peut respecter cette préférence avec prefers-reduced-motion : input::placeholder, textarea::placeholder { opacity: 1; transition: opacity 180ms ease; } input:focus::placeholder, textarea:focus::placeholder { opacity: 0; } @media (prefers-reduced-motion: reduce) { input::placeholder, textarea::placeholder { transition: none; } } Le placeholder disparaît toujours, mais sans animation lorsque l’utilisateur a activé cette préférence. Limiter la règle à un formulaire précis Évitez souvent d’appliquer la règle à tous les champs du site. Un formulaire de recherche, une connexion ou une commande WooCommerce peut avoir un comportement différent. Ajoutez plutôt une classe au formulaire ou à son conteneur : Nom complet Puis ciblez uniquement cette classe : .form-hide-placeholders input::placeholder, .form-hide-placeholders textarea::placeholder { opacity: 1; transition: opacity 180ms ease; } .form-hide-placeholders input:focus::placeholder, .form-hide-placeholders textarea:focus::placeholder { opacity: 0; } @media (prefers-reduced-motion: reduce) { .form-hide-placeholders input::placeholder, .form-hide-placeholders textarea::placeholder { transition: none; } } Cette approche évite les effets de bord et rend le CSS réutilisable. Cibler uniquement les champs possédant un placeholder Vous pouvez rendre le sélecteur plus explicite avec l’attribut placeholder : input[placeholder]:focus::placeholder, textarea[placeholder]:focus::placeholder { opacity: 0; } Cette précision n’est pas obligatoire. Un champ sans placeholder ne possède simplement aucun texte à masquer. Pourquoi les anciens préfixes... --- ### Westworld saison 2 : The Door - **URL**: https://www.skyminds.net/westworld-saison-2-the-door/ La seconde saison du western de science fiction Westworld, intitulé The Door, a commencé sur HBO. Dans les heures qui suivent le massacre des membres du conseil d'administration de Delos, Bernard et Charlotte se réfugient dans un bunker souterrain, où ils ont décidé de travailler ensemble pour trouver Peter Abernathy et obtenir de l'aide. Dix jours après la mort de Ford, Dolores (qui a entrepris une campagne sanglante pour traquer les survivants) dit à Teddy que sa programmation a fait fusionner ses personnages et qu'elle a de meilleurs plans pour les hôtes. Maeve recrute Hector et force Lee à l'aider à retrouver sa fille. William, qui a également survécu au massacre, rencontre le jeune animateur de Robert Ford, qui révèle qu'un jeu spécialement conçu pour lui a commencé. Deux semaines après la mort de Ford, une équipe de sécurité envoyée par Delos pour reprendre le contrôle de Westworld trouve Bernard et sollicite son aide pour enquêter sur une série d'anomalies. L'enquête les mène à un lagon rempli de centaines d'hôtes morts que Bernard prétend avoir tué. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Linux : récupérer des vidéos depuis votre terminal avec MovGrab - **URL**: https://www.skyminds.net/linux-recuperer-videos-terminal-avec-movgrab/ Movgrab est un outil en ligne de commande écrit en C (sans dépendances) qui permet de récupérer facilement des vidéos sur des sites comme YouTube, DailyMotion, Vimeo, Blip.tv, Liveleak, Guardian... Il permet de choisir les flux disponibles sur les pages vidéo, supporte les proxies, peut reprendre des téléchargements... c'est une application très utile. Liste des sites supportés par movgrab Movgrab fonctionne avec: YouTube Metacafe Dailymotion Vimeo Break.com eHow 5min.com vbox7 blip.tv Ted MyVideo ClipShack MyTopClip RedBalcony Mobando Yale University Princeton University Reuters LiveLeak Academic Earth Photobucket VideoEmo VideosFacebook Aljazeera Mefeedia IViewTube Washington Post CBS News Euro News MetaTube MotionFeeds Escapist Guardian RedOrbit Sciive Izlese uctv.tv royalsociety.tv British Academy Kitp Dotsub Astronomy.com Teachertube.com Discovery Bloomberg.com Installation de movgrab Nous pouvions auparavant (sur les anciennes versions d'Ubuntu) utiliser le PPA de nilarimogard/webupd8 pour installer le paquet movgrab mais celui-ci n'est plus à jour, ni maintenu. Pour les versions d'Ubuntu récentes, nous allons installer movgrab directement depuis le repo Git officiel: git clone https://github.com/ColumPaget/Movgrab.git" unzip Movgrab-master.zip cd Movgrab-master ./configure make sudo make install Utilisation de movgrab Pour télécharger une vidéo, il suffit de lancer : movgrab "URL_de_la_page_video" Mais je vous conseille plutôt de détecter la qualité et les formats vidéo disponibles en testant les flux disponibles avec : movgrab -T "https://www.youtube.com/watch?v=5JpuVyhCDX0" L’argument -T permet de tester et détecter les flux et formats, sans lancer le téléchargement. Dans l’exemple précédent, voici ce que retourne la commande: Formats available for this Movie:mp4:1280x720 (501.7M), webm:640x360 (137.1M), mp4:480x360 (116.0M), flv:400x240 (56.5M), 3gp:400x240 (35.5M), 3gp:176x144 (12.8M), Selected format item:3gp:400x240 Ensuite, vous pouvez choisir le format souhaité dans la commande movgrab qui va télécharger le fichier: movgrab -f mp4:1280x720 -r "https://www.youtube.com/watch?v=5JpuVyhCDX0" L’argument -f sert à passer le format souhaité (mp4:1280x720 dans notre exemple) au module de téléchargement. L’argument -r permet de reprendre le téléchargement en cas d’interruption. Pour plus d'informations sur les arguments, il suffit de taper movgrab dans le terminal, cela affiche toutes les options. Movgrab est très utile pour télécharger rapidement une vidéo dans le bon format, je vous le recommande chaudement! --- ### Michael Kobrin – Alive - **URL**: https://www.skyminds.net/michael-kobrin-alive/ Michael Kobrin est né en Ukraine et a déménagé en Israël à l'âge de 4 ans. Influencé par différentes cultures, il a commencé à chanter dans une chorale et à jouer du Darbooka oriental. A l'adolescence, il découvre la guitare acoustique et très vite commence à explorer de nouvelles techniques de percussion, inspirées par Roland Dyenz, Andy Mckee et John Mayer. Voici Alive: https://www.youtube.com/watch?v=xsm_00i0Sl4 En écoutant les chansons rock, pop, orientales et progressives, pas à pas, Michael a évolué pour devenir un compositeur hors du commun qui combine la musique orientale et occidentale. En 2014, il enregistre son premier album studio complet produit par le très respecté Yossi Sassi (co-fondateur d'Orphaned Land). L'album a été considéré comme un grand succès. En 2017, Kobrin sort son deuxième album complet "Alive" avec Candyrat Records, tous dédiés à la guitare acoustique solo. --- ### Fear the Walking Dead saison 4 - **URL**: https://www.skyminds.net/fear-the-walking-dead-saison-4/ La quatrième saison de Fear the Walking Dead a commencé sur AMC. Morgan Jones quitte sa communauté en Virginie, bien qu'il soit invité à rester par ses divers amis, y compris Rick Grimes. Morgan se rend à la frontière du Texas où il rencontre un homme nommé John Dorie. Le lendemain, Morgan et John sont retenus captifs par un groupe de survivants, mais ils sont sauvés par une femme nommée Althea, qui conduit un véhicule SWAT. Althea dit à Morgan et John qu'elle est journaliste et qu'elle veut filmer leurs histoires. John dit à Althea qu'il est en mission pour trouver sa petite amie, Laura. Morgan finit par s'ouvrir et raconte à Althea son passé à Atlanta et en Virginie. Le groupe arrête leur véhicule quand ils voient une femme rampant sur le sol, ce qui se révèle être Alicia Clark. Morgan, John et Althea sont ensuite encerclés sous la menace d'une arme par Nick Clark, Victor Strand et Luciana Galvez. La seconde partie de la saison sera diffusée à partir du 12 août 2018. Le premier épisode contient le premier crossover entre Fear the Walking Dead et The Walking Dead, liant les deux trames des deux séries. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### 19th Century Literary Movements : Realism and Naturalism - **URL**: https://www.skyminds.net/19th-century-realism-naturalism/ Introduction Realism and Naturalism are a reaction against Romanticism (imagination, poetry and prose, as well as the main themes: nature, exoticism, history, and heroes depicted as exceptional individuals) because it was thought to have lost touch with the contemporary. Three revolutions took place during the 19th century: the industrial revolution, the scientific revolution, and the moral revolution. In Great Britain, the Victorian Era lasted from 1837 to 1901. In the USA, the Civil War lasted from 1861 to 1865. Jean-François Millet, Des Glaneuses, 1857. The industrial revolution The Industrial Revolution was started by the invention of the steam machine (coal, railways, factories). All this happened in the cities: the increase of the population led to misery and social problems such as alcoholism, tuberculosis, prostitution... There was a shift from a belief in progress to an increasing pessimism. The scientific revolution The Scientific Revolution expanded into the transport revolution, starting by the steam engine: 1830: Manchester-Liverpool railway 1869: Transcontinental railway in the USA Thomas Edison invented the gramophone, the light bulb and the electric chair Pierre and Marie Curie discover radioactivity... The world was changing extremely fast. Auguste Comte (1798–1857) is the origin of a philosophical theory called Positivism. He devised the "law of three stages" : (1) the theological, (2) the metaphysical, and (3) the positive. The theological phase of man was based on whole-hearted belief in all things regarding God. God, Comte says, had reigned supreme over human existence pre-Enlightenment. Humanity's place in society was governed by its association with the divine presence and with the church. The theological phase deals with humankind's accepting the doctrines of the church (or place of worship) rather than relying on its rational powers to explore basic questions about existence. Comte describes the metaphysical phase of humanity as the time since the Enlightenment, a time steeped in logical rationalism, to the time right after the French Revolution. This second phase states that the universal rights of humanity are most important. The central idea is that humanity is invested with certain rights that must be respected. In this phase, democracies and dictators rose and fell in attempts to maintain the innate rights of humanity. The final stage of the trilogy of Comte's universal law is the scientific, or positive, stage. The central idea of this phase is that individual rights are more important than the rule of any one person. Science is paramount and can give man absolute knowledge and power. The moral revolution The moral revolution marked the end of the hypocrisy of the Victorian morality. In the Origin of Species (1859), Darwin suggested for the first time that man descended from apes: there was no need for God, just a struggle for life ("survival of the fittest"). Darwin influenced Marx (communism and class warfare) and Nietsche (vision of a superman). Conflicts and struggles define the future of society. It was a time of intense philosophy and moral and scientific changes. Realism Realism is the fact of being faithful to reality. It was... --- ### Calculer le Time To First Byte (TTFB) d’un serveur - **URL**: https://www.skyminds.net/calculer-le-time-to-first-byte-ttfb-dun-serveur/ Le Time to First Byte (TTFB) est le temps de chargement du premier octet, c'est la mesure qui nous permet d'évaluer la vitesse d'accès à un serveur. Plus la mesure est basse et plus le serveur commencera à servir les ressources rapidement. Le ping comme moyen de contrôle A l’origine le "ping” vient du bruit effectué par l’écho d’un sonar, le temps entre deux ping indiquant la distance parcourue par le signal pour détecter les fonds marins et revenir vers un navire. Les sons courts n’étaient pas de bons signaux pour un capitaine, puisqu'ils indiquaient que le danger se rapprochait de la coque du navire. Le ping correspond pour nous au TTFB car il nous permet de mesurer la réactivité d'un serveur ou d'une ressource réseau. https://www.youtube.com/watch?v=8U_R6tJfr-M Le ping comme mesure du Time To First Byte Le TTFB mesure le temps écoulé entre la requête d'un client qui effectue une requête HTTP et le premier octet de la page reçu dans le navigateur du client. Ce temps se compose du temps de connexion au socket, du temps pris pour envoyer la requête HTTP, et du temps pris pour recevoir le premier octet de la page. Le calcul du TTFB inclut toujours la latence du réseau lorsqu'il calcule le temps que prend une ressource avant de se charger. Ce temps varie en fonction de plusieurs critères: l’éloignement entre le serveur et le client, la qualité de la connexion, ou les questions de connexion directe (réseau filaire) ou indirecte (WI-FI, 3G, etc) sont des facteurs modifiant le ping. Un TTFB faible est perçu comme une indication d'un serveur bien configuré. Cela signifie que moins de calculs dynamiques sont effectués par le serveur ou alors que le cache (DNS, serveur, ou applicatif) est en place. Calcul to TTFB avec curl Il existe pas mal de services en ligne qui permettent de calculer le TTFB mais il est aussi très simple de le calculer soi-même, avec un simple terminal avec curl : curl -o /dev/null -w "Connect: %{time_connect} TTFB: %{time_starttransfer} Total time: %{time_total} \n" https://www.skyminds.net Ce qui nous donne le résultat suivant depuis chez moi: % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 54616 0 54616 0 0 153k 0 --:--:-- --:--:-- --:--:-- 153k Connect: 0,039729 TTFB: 0,269024 Total time: 0,347745 A titre indicatif, si on lance la requête depuis le serveur: % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 54616 0 54616 0 0 797k 0 --:--:-- --:--:-- --:--:-- 808k Connect: 0.001645 TTFB: 0.066232 Total time: 0.066848 On peut voir une sacrée différence, dû au temps de latence et à l'éloignement géographique. Une autre raison pour laquelle il faut travailler sur la baisse du TTFB : si le TTFB met 270ms en France, à combien sera-t-il pour un visiteur Américain ou Australien ? Concrètement, plus la connexion au serveur est rapide et plus le site se chargera tôt, ce qui a... --- ### 32 odd musical anecdotes - **URL**: https://www.skyminds.net/32-odd-musical-anecdotes/ Here are 32 odd musical anecdotes. The Beastie Boys used to open for themselves, disguised as a heavy metal band. When Andrew Lloyd Webber was writing the sequel to 'The Phantom of the Opera,' the entire score was deleted by a kitten. The only guy in ZZ Top who doesn't have a beard is Frank Beard. None of Elvis' films got nominated for Oscar, but he did win 3 Grammy Awards - for his gospel recordings. John Lennon wrote Good morning, good morning after hearing a Corn Flakes commercial. Metallica is the first and only band to play on all 7 continents. Members of Led Zeppelin were once accused of attacking a groupie with a mud shark. David Bowie was using so much cocaine in 1975 that he couldn't remember recording an entire album, Station to Station. The Notorious B.I.G., Jay-Z, DMX, and Busta Rhymes all went to the same high school at the same time. Before Guns N’ Roses, Slash once auditioned for the band Poison; he decided not to join when he was asked about wearing make-up. Marilyn Monroe got a white poodle named Mafia from Frank Sinatra. The airplane that Buddy Holly died in was called American Pie. Don McLean wrote a song with the same name about the accident. Duran Duran was named after a mad scientist from the Jane Fonda movie Barbarella. The first CD that was pressed in the U.S. was Bruce Springsteen's Born in the USA. Before composing Beethoven dipped his head in cold water. 'Ace' Frehley, former lead guitarist and founding member of the rock band Kiss, used to record his vocals while lying on his back. Like humans, birds can learn music while they are still in the egg stage. Mozart was five years old when he wrote his first piece. The first pop video was released in 1975. It was Bohemian Rhapsody by Queen. In 1976 Barry Manilow sang a chart topping song named I write the songs. The song wasn't written by him. Termites will eat wood two times faster when listening to heavy metal. When Madonna was 15 years old, she got grounded for the whole summer, for sneaking out to see David Bowie in concert. In the year 1988 tenor Luciano Pavarotti received a record 165 curtain calls at a Berlin opera house. Make music not war: Monaco's national orchestra is bigger that its army. Wham!'s hit single Wake me up before you go go was written by George Michael who was inspired by the note that was left to his hotel room by another band member Andrew Ridgeley. The note was mistakenly written as "Don't forget to wake me up up before you go go, George". House of the rising sun by The Animals was recorded with only 15 minutes because the band was on a tight budget. In spite of that the song went all the way to number one in 1964. Kurt Cobain accidentally named Nirvana's 'Smells Like Teen Spirit' after a deodorant for... --- ### Nginx : créer un nouveau site WordPress dans un sous-répertoire, sans conflit avec le site principal - **URL**: https://www.skyminds.net/nginx-creer-nouveau-site-wordpress-repertoire/ Dernièrement, j'ai développé un nouveau site WordPress pour une cliente dont l'hébergement ne prévoit pas de staging site, ce qui est un peu ballot. Plutôt que d'utiliser son hébergeur, je me suis dit que j'allais travailler sur la nouvelle version depuis un répertoire sous SkyMinds. Le problème s'est assez rapidement posé : les diverses règles de configuration de SkyMinds (à la racine du domaine) entrent en conflit avec le nouveau site qui se trouve dans un répertoire. Il est donc nécessaire d'ajuster la configuration du bloc serveur NginX. J'ai bien sûr effectué quelques recherches sur le net et après moults tests, il s'avère que la plupart des configurations nginx que l'on y trouve sont erronées. En relisant les docs, j'ai fini par trouver une solution satisfaisante. Des erreurs 404, 403 ou 500 Je mentionnais à l'instant les configurations erronées - elles ne permettent pas au nouveau site d'afficher les pages correctement : erreur 404 pour les pages, erreur 404 pour la partie administration ou alors erreur 403 ou même 500... Le plus surprenant est que l'on retrouve quasiment ces mêmes configurations dans tous les tutoriels. Cela fonctionnait peut-être à une époque mais plus maintenant avec les dernières versions de WordPress et NginX. La configuration qui fonctionne Voici donc la configuration que j'ai concoctée et qui permet d'avoir un autre site WordPress (comme par exemple https://example.com/nouveau-site/) lorsqu'un site WordPress (de type https://example.com) existe déjà à la racine du domaine. Le but est donc d'avoir deux sites fonctionnels qui n'entrent pas en conflit au niveau de la gestion des règles. On édite le server block de notre domaine : nano /etc/nginx/sites-available/example.com Dans la partie server de la configuration, on ajoute : # Script name : Add new WP site in subfolder # Author : Matt Biscay # Author URI : https://www.skyminds.net/?p=29604 # Add new location point with rewrite rule location @nouveausite{ rewrite . /nouveau-site/index.php last; } # Add subfolder config location /nouveau-site { root /home/example/public_html/nouveau-site; index index.php; try_files $uri $uri/ @nouveausite; } Sauvegardez le fichier. On teste la nouvelle configuration: nginx -t et on relance nginx et PHP: service nginx restart service php7.2-fpm restart Et voilà, le nouveau site dans son répertoire devrait maintenant être fonctionnel, sans conflit avec le site principal. --- ### La Casa de Papel saison 2 - **URL**: https://www.skyminds.net/la-casa-de-papel-saison-2/ La seconde saison de La Casa de Papel est disponible sur Netflix ! La saison 2 de La Casa de Papel démarre exactement là où s’était achevée la saison 1. Nos braqueurs préférés se trouvent donc toujours dans la fabrique de papier, aidés par le Professeur de l'extérieur. Pour ne pas spoiler l'histoire, les paragraphes suivants sont cachés. Il suffit de les survoler avec votre souris pour les lire. Nous retrouvons donc le Professeur, traumatisé par la découverte par la police de la demeure où les braqueurs avaient minutieusement préparé tout leur plan.   La situation s’annonce dramatique d’autant qu’avant de quitter la maison, toute l’équipe a laissé bien en évidence de nombreux déchets qui contiennent des traces ADN. Tout est là pour que la police remonte facilement la trace jusqu’aux noms de tous les braqueurs. L’inspecteur Raquel Murillo parviendra-t-elle à percer le mystère de cette bande armée? Neuf épisodes sont prévus dans cette seconde saison, qui se trouve être très bien ficelée, avec un rythme beaucoup plus soutenu que la saison précédente. Hautement recommandée ! A regarder comme des braqueurs de banque. --- ### Subliminal : corriger “list object has no attribute lower” - **URL**: https://www.skyminds.net/subliminal-attributeerror-list-object-has-no-attribute-lower/ Si Subliminal plante avec l’erreur AttributeError: 'list' object has no attribute 'lower', le problème vient généralement d’une valeur que Python traite comme une liste alors que le code attend une chaîne de caractères. En clair : le code essaie d’appliquer .lower() à une liste. Or .lower() sert à convertir une chaîne en minuscules. Une liste, elle, n’a pas cette méthode. Python ne négocie pas. Il plante. À l’époque, la solution consistait à modifier directement le fichier subtitle.py dans les sources de Subliminal. Aujourd’hui, ce n’est plus la meilleure approche. Avant de patcher un paquet Python à la main, il faut vérifier la version installée, mettre à jour proprement, puis isoler l’environnement. Comprendre l’erreur Le message ressemble à ceci : AttributeError: 'list' object has no attribute 'lower' Dans les anciennes versions de Subliminal, l’erreur pouvait apparaître lors du calcul des correspondances entre les informations détectées dans le fichier vidéo et celles du sous-titre. Le cas classique concernait une ligne de ce type : if video.format and 'format' in guess and guess['format'].lower() == video.format.lower(): matches.add('format') Le code suppose ici que guess['format'] contient une chaîne. Mais certaines versions de dépendances peuvent retourner une liste. Exemple : ['HDTV', 'x264'] Dans ce cas, Python ne peut pas exécuter : guess['format'].lower() Il faut donc soit mettre à jour Subliminal et ses dépendances, soit adapter le code pour gérer les deux cas : chaîne simple ou liste. Commencer par vérifier votre version de Python Avant de corriger quoi que ce soit, vérifiez la version de Python utilisée par votre commande subliminal : python --version python3 --version Vérifiez aussi quel exécutable Subliminal est lancé : which subliminal subliminal --version Sur un NAS Synology ou un vieux serveur, vous pouvez parfois avoir plusieurs installations en parallèle : une version système, une version installée avec pip, une version dans un environnement virtuel, et parfois une version fournie par un paquet tiers. Quand vous cherchez à corriger l’erreur, vous devez patcher ou mettre à jour la version réellement utilisée. Sinon, vous réparez un cadavre pendant que le vrai programme continue de planter ailleurs. Ambiance. Solution recommandée : réinstaller Subliminal proprement avec pipx La méthode la plus propre consiste à installer Subliminal dans un environnement isolé avec pipx. Cela évite de polluer le Python système, ce qui est particulièrement important sur un serveur ou un NAS. Sur Debian ou Ubuntu : sudo apt update sudo apt install pipx pipx ensurepath Fermez puis rouvrez votre session shell, ou rechargez votre profil : source ~/.profile Installez ensuite Subliminal : pipx install subliminal Vérifiez l’installation : subliminal --version subliminal --help Relancez ensuite votre commande de téléchargement de sous-titres. subliminal download -l en /chemin/vers/video.mkv Si vous aviez une tâche cron, pensez à mettre à jour le chemin de l’exécutable. Avec pipx, il se trouve souvent dans : ~/.local/bin/subliminal Mettre à jour une installation pip existante Si vous utilisez déjà pip ou pip3, commencez par identifier l’installation active : python3 -m pip show subliminal python3 -m pip show guessit python3 -m pip show babelfish Mettez ensuite Subliminal... --- ### Dave Matthews Band and Warren Haynes – Cortez the Killer - **URL**: https://www.skyminds.net/dave-matthews-band-and-warren-haynes-cortez-the-killer/ Dave Matthews Band Le groupe Dave Matthews Band (DMB) est formé en 1991 par le chanteur et guitariste David J. Matthews, le saxophoniste LeRoi Moore, le bassiste Stefan Lessard, le violoniste Boyd Tinsley, le batteur Carter Beauford, et le pianiste Peter Griesar (qui a quitté le groupe en 1993). Tous les membres du groupe ont rencontré Dave à Charlottesville, en Virginie. La marque de fabrique du Dave Matthews Band, ce sont les longs « jams » qui étirent les chansons jouées en spectacle jusqu'à 20 minutes (le record étant de 32 minutes pour la chanson #41 en 2002 à Ottawa, Canada). La grande diversité des morceaux joués lors d'une tournée caractérise également le groupe. Le Dave Matthews Band a partagé la scène avec de grands noms de la musique tels les Rolling Stones, Pearl Jam, Ben Harper, James Brown, Carlos Santana, Herbie Hancock, Buddy Guy, Alanis Morissette, Paul Simon, Victor Wooten, et Toots and the Maytals. Warren Haynes Warren Haynes est un guitariste et chanteur américain né le 6 avril 1960 à Asheville, en Caroline du Nord. À la fin des années 70 et au début des années 80, il participe à différents groupes : Ricochet, Rich Hippies, David Alan Coe Band. De 1986 à 1989, il joue dans le Dickey Betts Band en compagnie du batteur Matt Abts. Le 28 juin 1989, il rejoint le Allman Brothers Band où il rencontre le bassiste Allen Woody. Avec Allen Woody et Matt Abts, Warren Haynes fonde en 1995 le groupe Gov't Mule (il restera cependant membre à part entière du Allman Brothers Band jusqu'au 26 mars 1997). En 2008, il est invité au Central Park Concert (à New York City donc) du Dave Matthews Band en tant que guitariste solo, où il reprennent ensemble le célèbre Cortez the Killer de Neil Young: https://www.youtube.com/watch?v=00WWmtWh-Mk Cette version est tout simplement géniale. Le style de Warren Haynes apporte une autre dimension à la chanson. Vous remarquerez qu'à 7:33, Dave Matthews se tourne vers son batteur pendant le solo de Warren et lui chuchote "he's badass!". Warren Haynes a collaboré 45 fois sur des chansons et a fait 28 apparitions lors de concert du Dave Matthews Band, dont deux sur des albums live : Live at Central Park Concert sur lequel il joue "Cortez the Killer" et "Jimi Thing", et Live at Piedmont Park sur lequel il joue "What Would You Say". --- ### WordPress: mettre un plugin à jour sur plusieurs sites sur le serveur en une seule opération - **URL**: https://www.skyminds.net/wordpress-maj-plugin-plusieurs-sites-sur-le-serveur/ Sur un serveur qui héberge plusieurs sites WordPress différents, il est fort probable qu'il y ait quelques plugins en commun sur chaque installation. WordPress permet de mettre à jour les thèmes et plugins en quelques clics mais cela suppose de s'identifier sur chaque site ou alors de donner permission à une application tierce comme JetPack pour vous faciliter la tâche. Cela suppose toutefois de bien vouloir rassembler toutes les autorisations sur un seul compte, ce qui n'est pas optimal puisqu'il n'y a plus cloisonnement entre les sites hébergés. Nous allons donc mettre en place un système de liens symboliques (symlink ou symbolic link en anglais) pour gagner pas mal de temps lors des mises à jour. Principe d'optimisation de la mise à jour des plugins récurrents Sur le serveur, j'utilise une petite astuce tout simple : j'utilise mon site comme master officiel du serveur. C'est lui que je mets à jour en premier et tous les autres sites "hériteront" des nouvelles mises à jour, automatiquement et sans manipulation de ma part. Mise en place de liens symboliques Comme le serveur tourne sous Linux, il nous suffit de faire un lien symbolique sur le site slave vers le dossier d'un plugin qui se trouve sur le site master. Lorsque je mettrai certains plugins de SkyMinds à jour par exemple, ces plugins qui sont également installés sur le site du Centre de Kriya Yoga France seront également à jour. En fait, aucun fichier de ce plugin ne sera présent chez eux, seul un lien symbolique. Concrètement, voici la marche à suivre : On se place dans le répertoire /wp-content/plugins du site slave (kriyayoga.fr dans cet exemple):cd /kriyayoga/wp-content/plugins On crée un lien symbolique qui va pointer vers le répertoire qui se trouve dans le répertoire de SkyMinds :ln -s /skyminds/wp-content/plugins/my-plugin my-plugin Et voilà ! Note : le répertoire my-plugin ne doit pas exister sur le site slave. Le lien symbolique doit avoir précédence. Rappel : la syntaxe pour créer un lien symbolique est la suivante: ls -s /chemin/du/master/dossier dossier Bonnes mises à jour simplifiées :) --- ### Nouveau logo pour SkyMinds (version 2018) - **URL**: https://www.skyminds.net/nouveau-logo-pour-skyminds-version-2018/ Aujourd'hui, le logo de SkyMinds fait peau neuve ! Plus discret, plus moderne aussi. J'en ai profité pour mettre en place toute une liste de modifications cosmétiques que j'ai trop longtemps repoussées. Nouveau logo ! Mise à jour des templates du thème enfant L'avantage d'un thème enfant sous WordPress, c'est que l'on ne perd pas ses modifications lorsque le thème parent se met à jour. Le thème enfant, c'est tout simplement la base, l'étape qui vient juste après l'installation d'un nouveau thème. Or, au fil des mois ans, il se trouve que le thème parent évolue et que les fichiers du thème enfant (modifiés) ne sont plus exactement à jour. J'en ai donc profité pour reprendre les nouveaux fichiers et y apporter mes modifications. Concaténation des appels des fichiers de police En analysant les fichiers du thème, je me suis rendu compte qu'on pouvait gagner pas mal de temps de chargement grâce à une épuration du nombre de polices utilisées sur le site. Au lieu d'en avoir deux (Open Sans et Droid Sans), il n'y en aura plus qu'une : Open Sans. Elle est légère, classique et facile à lire. Le problème, c'est que Divi charge pas mal de versions de cette police par défaut : 300, 400, 700... en normal, italic et gras et avec des subsets exotiques comme le cyrillique, le grec ou le vietnamien. Clairement, on doit pouvoir mieux faire ! Divi : suppression des subsets Google Fonts On commence par virer les subsets exotiques. Rendez-vous dans Divi > Theme options > General > désactivez Google Fonts subsets. Vous venez d'économisez 400KB. Divi : suppression de toutes les Google Fonts et chargement de l'unique nécessaire C'est pénible d'avoir tous les grammages d'une police chargés pour rien. Voici ce que j'utilise pour tout virer dans un premier temps, puis ajouter uniquement ce dont j'ai réellement besoin: /* |----------------------------------------------------------------------- | Plugin Name: Sky Remove DIVI Google Fonts and add what we need | Plugin URI: https://www.skyminds.net/?p=29578 | Author: Matt Biscay | Author URI: https://www.skyminds.net/ |----------------------------------------------------------------------- */ // remove all Divi fonts, we'll just load what we need // @return: array function et_builder_get_google_fonts() { return array(); } function et_get_google_fonts() { return array(); } // add fonts : logo (Comfortaa:700) and site (Open+Sans:400,700). No subsets. add_action( 'wp_enqueue_scripts', 'sky_logo_add_google_fonts' ); function sky_logo_add_google_fonts() { wp_enqueue_style( 'sky-logo-google-fonts', 'https://fonts.googleapis.com/css?family=Comfortaa:700|Open+Sans:400,700', false ); } Kaboom! On vient de se retirer une sacrée épine du pied. Il faudra juste relire la feuille de style pour être sûr que l'on utilise bien soit du font-weight 400 (regular), soit du 700 (bold). Pensez également à vérifier votre critical CSS. Amélioration de la section Auteur A la fin de chaque article se trouve la section de l'auteur, qui comprend une courte description ainsi que des liens vers ses profils sociaux. J'ai profité de la police du thème pour remplacer les noms des réseaux par des icônes. C'est purement cosmétique mais je trouve cela plus joli. Cela m'a permis de me rendre compte que le site n'utilise absolument pas Font Awesome -... --- ### Billions saison 3 - **URL**: https://www.skyminds.net/billions-saison-3/ Billions revient sur Showtime pour la troisième saison. Chuck, en pleine ascension après avoir mis à genoux Axe Capital et toujours en course pour le poste de gouverneur, entre dans une réunion avec le procureur général à Washington, DC. L'Attorney General, qui a intérêt à ce que Chuck mette de côté ses poursuites contre divers types de Wall Street - sans doute parce qu'il est touche des pots de vin - entame une discussion qui va du pays des chevaux et du baseball à l'ouest du Texas. L'homme est un cliché ambulant, et utilise des métaphores qui n'ont guère de sens. C'est le genre de type qui se considère comme un cow-boy ou un hors-la-loi malgré son siège confortable à la tête de la table capitaliste. C'est une scène émouvante pour débuter la saison, en grande partie parce qu'il établit immédiatement que malgré sa récente victoire, Chuck n'est pas le plus gros poisson de l'étang. Il a encore beaucoup de gens au-dessus de lui qui appellent les coups de feu, et il est clair que le procureur général ne va pas être amusé par quelqu'un qui refuse de suivre ses ordres. Maintenant, Chuck doit remettre en question la stratégie sur laquelle il a bâti sa carrière. Quand il retourne au bureau, il dit à Kate qu'ils doivent se retirer de leurs poursuites contre un homme d'affaires corrompu, ce qu'il fait avec beaucoup de colère et de regret. Cependant, les conséquences des événements de la saison dernière signifient que tout le monde doit faire des compromis. Les actifs d'Axe Capital ont été gelés par Oliver Dake, qui poursuit l'affaire en même temps que Bryan, ce qui laisse Taylor, qui dirige l'entreprise en l'absence d'Axe, avec peu de moyens pour mobiliser les troupes. Ainsi, Taylor dit à l'équipe qu'ils ont réservé une place à une «réunion d'idées» où les 10 meilleurs gestionnaires de hedge funds de la ville se rencontrent pour discuter de pièces qui pourraient profiter à tout le monde. Normalement, Axe Capital ne participerait pas - Axe aime être le loup solitaire - mais sans argent pour jouer, tout ce qu'ils ont, ce sont des idées et de l'influence. Bien sûr, tous les compromis et toutes les conséquences ne sont pas financiers. À la fin de la saison dernière, le mariage d'Ax était en lambeaux, et Wendy et Chuck étaient peut-être en train de se retrouver après une longue querelle. Pas grand chose n'a changé pour Lara et Axe. Axe ne vit pas à la maison - il a une suite chic, gigantesque et désespérément vide en plein centre-ville, tout comme son état mental actuel. Lara entre dans Axel Capital afin de s'assurer que ses actifs sont gérés correctement. Au début, Chuck et Wendy semblent aller mieux. Wendy est de retour pour conseiller psychologiquement Ax, et elle finit à la maison avec Chuck à la fin de la journée. Plus tard dans l'épisode, cependant, Wendy parle de la façon dont ils "coupent leurs visites", qu'ils n'ont pas investi assez de... --- ### Speed Demons – No Sleep - **URL**: https://www.skyminds.net/speed-demons-no-sleep/ Aujourd'hui, je vais vous parler d'une chanson, intitulée "No Sleep", se trouve sur un album libre de royalties qui s'appelle Speed Demons et que l'on trouve trouvait sur le site UniqueTracks.com au prix de $109. Le site est désormais en carafe depuis des moins donc je doute que l'album refasse surface. Cette chanson aux accents doucement métalliques est aussi connue sous le nom de "Chaos Within" ou "Move your Head" par Tatsu Takahashi, du nom du plagieur qui se l'est attribuée. Mais avant que je vous conte toute l'histoire, lancez le morceau : Pour la petite histoire, en 2007, un Allemand de 19 ans qui habite en Bavière uploade la quasi-totalité de cet album (ainsi que d'autres chansons) sur le site NewGrounds, sous le pseudonyme "Tatsu Takahashi". Tatsu Takahashi s'élève rapidement au sein de cette communauté d'animes, de musique et de jeux Flash et fait exploser les charts avec ces chansons, s'en attribuant toute la gloire. Bien évidemment, il se fera bannir du site au bout de quelques années, lorsque le pot aux roses sera découvert. Certains tentent de rétablir la vérité à l'aide de la chronologie mais c'est déjà trop tard : la mémoire d'Internet a associé la chanson à "-TT-". La chanson sera par la suite utilisée dans le jeu vidéo Super Crazy Guitar Maniac Deluxe 3, qui est un ersatz de Guitar Hero. La piste s'appelle alors "Chaos Within" par Tatsu Takahashi. Mais curieusement, personne ne peut retrouver la paternité de la chanson. Composée sur un album libre de droits (mais payant), ses auteurs sont anonymes. Moralité de l'histoire : c'est finalement le nom du plagieur qui restera dans les mémoires. Bizarre non ? --- ### Mapper un dossier Synology sur Ubuntu avec NFS - **URL**: https://www.skyminds.net/nas-synology-mapper-dossier-ubuntu-nfs/ Sur un NAS Synology, transférer des fichiers via l’interface web peut vite devenir pénible. Pour de gros volumes, des sauvegardes ou un usage quotidien sous Linux, mieux vaut monter directement un dossier du NAS dans Ubuntu. L’idée est simple : un dossier local, par exemple /mnt/synology-backup, pointe vers un dossier partagé du NAS, par exemple /volume1/NetBackup. Ensuite, Nautilus, rsync, vos scripts et vos applications voient ce partage comme un répertoire local. Magie ? Non. Juste NFS qui fait enfin son boulot. Pourquoi utiliser NFS plutôt que l’interface web Synology ? L’interface web DSM reste pratique pour administrer le NAS. En revanche, pour déplacer beaucoup de fichiers, elle n’est pas toujours la meilleure option. Avec NFS, Ubuntu accède au dossier partagé directement depuis le système de fichiers. Vous pouvez donc copier, déplacer, synchroniser ou sauvegarder vos fichiers avec les outils Linux habituels. Nautilus peut afficher le dossier comme un répertoire local. rsync peut l’utiliser pour des sauvegardes. Les scripts Bash peuvent écrire dedans directement. Les transferts évitent les lenteurs et limites de l’interface web. Le montage peut se faire automatiquement au démarrage. Pour un poste Ubuntu qui parle à un NAS Synology sur le même réseau local, NFS est souvent plus naturel que SMB/CIFS. Préparer le dossier partagé sur le NAS Synology Dans DSM, commencez par activer le service NFS. Ouvrez Panneau de configuration. Allez dans Services de fichiers. Activez NFS. Appliquez les changements. Ensuite, configurez les permissions NFS du dossier partagé. Allez dans Dossier partagé. Sélectionnez le dossier à monter, par exemple NetBackup. Cliquez sur Modifier. Ouvrez l’onglet Permissions NFS. Cliquez sur Créer. Pour un poste Ubuntu unique, utilisez une règle stricte : Nom d’hôte ou IP : l’adresse IP du PC Ubuntu, par exemple 192.168.1.10. Privilège : Lecture/Écriture, si Ubuntu doit écrire dans le dossier. Squash : commencez par Pas de mappage, puis adaptez si vos permissions l’exigent. Sécurité : sys, sauf besoin Kerberos spécifique. Activer le mode asynchrone : à réserver aux cas où vous acceptez le compromis performance/risque. Autoriser les connexions à partir de ports non privilégiés : souvent utile avec certains clients Linux. Dans l’ancien tutoriel, j’utilisais Map root to admin. Cela peut fonctionner, mais ce n’est pas toujours le meilleur point de départ. Aujourd’hui, je recommande de commencer par Pas de mappage, puis de corriger proprement les droits côté Synology et côté Linux. Le piège classique : autoriser la mauvaise IP. Dans la règle NFS Synology, indiquez l’IP de la machine Ubuntu, pas celle du NAS. Trouver le chemin NFS du dossier Synology Un dossier partagé Synology possède un chemin NFS du type : /volume1/NetBackup Le nom exact dépend du volume et du dossier partagé. Si votre dossier s’appelle Photos, le chemin peut être : /volume1/Photos Si vous avez plusieurs volumes, vous pouvez aussi rencontrer /volume2, /volume3, etc. Vérifiez donc le chemin affiché dans DSM ou connectez-vous en SSH sur le NAS si vous préférez contrôler directement. Installer le client NFS sur Ubuntu Sur Ubuntu, installez le paquet client NFS : sudo apt update sudo... --- ### CKY – Escape From Hellview - **URL**: https://www.skyminds.net/cky-escape-from-hellview/ Le groupe CKY (Camp Kill Yourself) est un groupe de rock américain formé à West Chester, en Pennsylvanie en 1998 par le chanteur et guitariste Deron Miller, le guitarist Chad I Ginsburg, et le batteur Jess Margera. CKY a percé grâce à ses contributions musicales à la série vidéo CKY et à la série Jackass, dans lesquelles a joué Bam, le frère de Margera. J'aime bien leur chanson Escape From Hellview : https://www.youtube.com/watch?v=ZYk7vwdwtm8 Paroles The fire dies on its ownLeaving us to ourselves but not exactly aloneI think that something is out there waitingAnticipation has grownThe air as black as can beCan't even see that my hand is in front of meI'm overhearing a whisper "they won't escape until the blood is set free" So turn back the silence is deafeningTurn back don't let them see you againThey make the rounds at the midnight hour andOn the clock it's just a minute away So we're hours awake and our only mistake is we bleedAnd the hunger for the living helps them hunt it with the greatest of ease Now I'm finding my friendsHanging from trees, made a bed of a barbed wire fenceI'm on the loose with my neck in the noose but heyI enjoy the intense Turn back the silence is deafeningTurn back don't let them see you againThey make the rounds at the midnight hour andOn the clock it's just a minute away So we're hours awake and our only mistake is we bleedAnd the hunger for the living helps them hunt it with the greatest of ease No experience could ever match the sight of when a person is throughIf it's the last thing I will do I'll be the one that will escape from hellview and I will. Turn back the silence is deafeningTurn back don't let them see you againThey make the rounds at the midnight hour andOn the clock it's just a minute away [twice] So we're hours awake and our only mistake is we bleedAnd the hunger for the living helps them hunt it with the greatest of easeNo experience could ever match the sight of when a person is throughIf it's the last thing I will do I'll be the one that will escape from hellview and I will --- ### Altered Carbon saison 1 - **URL**: https://www.skyminds.net/altered-carbon-saison-1/ Altered Carbon est une série télévisée de science-fiction américaine, créée par Laeta Kalogridis d'après le roman du même nom de Richard K. Morgan paru en 2002, et mise en ligne depuis le 2 février 2018 sur Netflix. Altered Carbon se déroule dans plus de 350 ans dans le futur, en 2384. À l'avenir, les souvenirs d'une personne peuvent être décantés dans un dispositif en forme de disque appelé un empilement cortical, qui est implanté dans les vertèbres à l'arrière du cou. Ces dispositifs de stockage ont été conçu par une autre espèce et produits en série. Les corps physiques humains ou synthétiques appelés «sleeves» sont utilisés comme des récipients pouvant accepter n'importe quelle personne. Takeshi Kovacs (Joel Kinnaman), un agent politique avec des compétences de mercenaire, se réveille 250 ans après la fin de sa "manche" précédente. On lui donne le choix entre passer le reste de sa vie en prison pour ses crimes, ou aider à résoudre le meurtre de Laurens Bancroft (James Purefoy), l'un des hommes les plus riches des mondes civilisés. Takeshi est le seul soldat survivant de ceux qui ont été vaincus dans un soulèvement contre le nouvel ordre mondial 250 ans auparavant et est un combattant hors-pair, qui n'éprouve pas de sentiments envers son prochain. Cette première saison compte 10 épisodes et l'univers, clairement cyberpunk, n'est pas sans rappeler celui de Blade Runner : l'atmosphère sombre et les bas quartiers de la ville avec moults néons et publicités intrusives, l'omniprésence des armes, une société totalement pyramidale dans laquelle tout s'achète et tout se vend, et des morts qui reviennent à la vie grâce à une technologie venue d'ailleurs... une sacrée vision de futur dystopique ! Si vous aimez la science-fiction, les manipulations génétiques, l'action et un héros que personne n'aime dans la peau d'un assassin et enquêteur de meurtre, Altered Carbon est pour vous :) --- ### Serveur dédié : mise à jour du kernel OVH pour combler les failles Spectre et Meltdown - **URL**: https://www.skyminds.net/serveur-dedie-kernel-ovh-spectre-meltdown/ Au début du mois de février, l'université de Graz et Google Project Zero ont annoncé avoir découvert deux failles de sécurité importantes s'appuyant sur les mécanismes de fonctionnement interne des processeurs. Trois vulnérabilités permettant d'accéder à de la mémoire privilégiée ont été publiées, qui ont pour point commun d'exploiter les mécanismes d'exécution spéculative et les timings des caches mémoires. Meltdown La première faille, Meltdown (CVE-2017-5754), permet de bypasser les mécanismes d'isolation mémoire entre mémoire classique (utilisée par les applications) et mémoire kernel (utilisée par le noyau du système d'exploitation, et protégée normalement par des mécanismes hardware dans le CPU). Meltdown est une attaque side channel permanent;qui s'attaque à une faille de certains processeurs OOO (Out Of Order, la plupart des processeurs performants modernes depuis le Pentium Pro) qui, dans leur mécanismes d'exécution spéculatifs, peuvent non seulement lire des données mémoires protégées mais aussi exécuter des instructions sur ces données mémoires. Concrètement, avec Meltdown, il est possible de lire tout type de mémoire à partir d'un process malicieux, y compris côté serveur de bypasser toutes les protections de type VM/Hyperviseur/Docker. Meltdown touche spécifiquement les architectures d'Intel et ARM. Spectre En parallèle à Meltdown, une autre faille a été dévoilée baptisée Spectre. permanent;Pour Spectre, la situation est plus compliquée. Il s'agit toujours d'une variation sur le même thème, à savoir tenter d'exploiter les mécanismes d'exécution spéculative des processeurs. T ous les processeurs modernes sont concernés a différents niveau et l'on retrouve, y compris chez un même constructeur, des différences d'une architecture à l'autre en fonction des mécanismes précis de fonctionnement de chaque génération. Le papier décrit deux attaques distinctes. La première, connue sous le nom de CVE-2017-5753 (bounds check bypass) permet à un processus d'accéder, dans certains conditions un peu plus complexes, à la mémoire d'un autre processus. Contrairement à Meltdown dont l'exploitation est triviale, il faut ici connaître les spécificités du programme que l'on attaque pour réussir à l'exploiter. Le groupe Google Project Zero a montré que cette attaque était exploitable aussi bien sur les CPU Intel, AMD (FX et APU), et ARM (un Cortex A57 à été testé). Si tous les processeurs sont exploitables, c'est que tous les modèles OOO modernes reposent, dans les grandes lignes, sur l'algorithme de Tomasulo, du nom de l'ingénieur qui l'a développé en 1967 chez IBM. Virtuellement, tous les systèmes (du serveur au smartphone) sont vulnérables à cette attaque pour laquelle des PoC existent même en Javascript (pour bypasser les barrières des VM qui isolent le code Javascript de vos différents onglets), ce qui la rend assez grave. Des méthodes de mitigations, aussi bien au niveau des compilateurs, des navigateurs, et des systèmes d'exploitations sont en cours de développement et des patchs sont attendus rapidement pour limiter le problème. Vous pouvez retrouver les détails techniques des failles Spectre et Meltdown chez OVH. Mon machine est-elle touchée par ces failles? Il vous suffit de tester votre processeur avec le script Spectre & Meltdown Checker: curl -L https://meltdown.ovh -o spectre-meltdown-checker.sh chmod +x spectre-meltdown-checker.sh sh ./spectre-meltdown-checker.sh Résultat avant... --- ### Dropkick Murphys – I’m Shipping Up To Boston - **URL**: https://www.skyminds.net/dropkick-murphys-shipping-up-to-boston/ Pour fêter la Saint Patrick, rien de tel qu'un bon petit morceau de punk irlandais joué par les Dropkick Murphys ! Voici donc I'm Shipping Up To Boston: https://www.youtube.com/watch?v=x-64CaD8GXw Dropkick Murphys est un groupe de punk celtique américain, originaire de Quincy, à côté de South Boston, dans le Massachusetts. Formé en 1996, le groupe mêle des influences de musique irlandaise traditionnelle, punk hardcore, oi! et folk rock. À ses débuts, la formation comprend Mike McColgan (chant) Ken Casey (basse, chant), Rick Barton (guitare, chant) et Matt Kelly (batterie). Au fil de sa carrière, Dropkick Murphys acquiert une réputation importante grâce à de nombreuses tournées dans le monde entier et à l'organisation des week-ends de la Fête de la Saint-Patrick à Boston durant lesquels le groupe joue durant sept jours de suite, et auxquels des milliers de fans provenant du monde entier assistent chaque année. Le nom « Dropkick Murphys » vient d'un centre de désintoxication où étaient récupérés les errants des bas-fonds de Boston. Le nom Dropkick Murphys aurait été donné au centre de désintoxication d'après le nom de son créateur, John Murphy, un ancien catcheur de Boston, dont l'un des mouvements préférés était le dropkick (ou « saut chassé » en français). Le groupe utilise des instruments traditionnels, tels que la cornemuse, l'accordéon, la mandoline ou la flûte à partir de l'album Sing Loud, Sing Proud! Il reprend de nombreuses chansons traditionnelles irlandaises, telles que (F)lannigan's Ball, I'm Shipping Up to Boston, The Fields of Athenry, Fairmount Hill, Johnny, I Hardly Knew Ya, The Gang's all Here, The Fighting 69 ou encore The Green Fields of France (No Man's Land) reprise de Eric Bogle parlant d'un jeune Écossais, Willie McBride, mort durant la Première Guerre mondiale. Plusieurs des reprises faites par Dropkick Murphys sont des standards irlandais dits Irish Pub Drinking Song (chanson à boire de pub irlandais). Vous pouvez entendre la chanson I'm Shipping Up to Boston dans The Departed (Les Infiltrés), le film de Martin Scorsese. C'est même devenu l'hymne officiel de l'équipe de baseball de Boston, les Boston Red Sox, ainsi que la chanson officielle de la ligue de football australienne, la A-League. Happy Saint Patrick's Day ! --- ### La Casa de Papel - **URL**: https://www.skyminds.net/la-casa-de-papel/ La Casa de Papel est une mini-série télévisée espagnole en quinze épisodes réalisée par Álex Pina et diffusée sur Netflix. Un homme mystérieux, surnommé le Professeur (El Profesor), planifie le meilleur braquage jamais organisé. Pour exécuter son plan, il recrute les meilleurs malfaiteurs du pays qui n'ont rien à perdre. Pour des raisons de sécurité, tous les membres de l'opération prennent un nom d'emprunt basé sur un nom de ville: Tokyo, Nairobi, Río, Moscou, Berlin, Denver, Helsinki et Oslo. Le but est d'infiltrer la Fabrique nationale de la monnaie et du timbre afin d'imprimer 2,4 milliards d'euros, en moins de onze jours et sans verser une goutte de sang. Pourtant, le groupe sera en charge de 67 otages dont Alison Parker, la fille de l'ambassadeur du Royaume-Uni. C'est évidemment sans compter sur l'intelligence et la perspicacité de l'inspecteur en charge des négociations et de son équipe, qui vont tenter de donner du fil à retordre à notre fine équipe. La série est très bien conçue : les personnages sont bien développés, au fur et à mesure des épisodes, et l'histoire est très bien ficelée. L'esthétique est bien présente et n'est pas sans rappeler celle d'Utopia - il me semble même que le générique de fin de la Casa de Papel utilise le même motif musical. En bref, la Casa de Papel est LA série de ce début d'année. Vous pouvez y aller les yeux fermés, c'est une bonne série, qui sait gérer le suspense et l'envie de voir la suite. C'est un plaisir que de regarder, anticiper les mouvements des braqueurs ou encore remettre en question certaines réactions des otages ou de la police. Cette première saison compte treize épisodes. --- ### Scissor Sisters – Laura - **URL**: https://www.skyminds.net/scissor-sisters-laura/ Scissor Sisters est un groupe de musique pop new-yorkais qui tire ses influences du disco et du glam rock. Le nom du groupe fait référence à une position sexuelle lesbienne. Initialement, son nom complet était Dead Lesbian and the Fibrillating Scissor Sisters. Le groupe est apparu en 2001, il a eu beaucoup de succès en Islande et au Royaume-Uni. Les paroles de leurs chansons, majoritairement écrites par Shears et Babydaddy, sont connues pour leur mélange d'humour et de tragédie. J'affectionne particulièrement Laura : https://www.youtube.com/watch?v=S-0d3cjgfLg Paroles Laura, can't you give me some time?I've got to give myself one more chanceTo be the man that I know I amTo be the man that I know I amWon't you just tell Cincinnati?I'm gonna need your lovedon't you give me your lovedon't you give me your Simone, SimoneWhere is your love?Don't you give me your loveDon't you give me your Simone, SimoneWhere is your love?Don't you give me your lovedon't you give me your Freida, can't you spare me a dime?I've got to give myself one more chanceTo ring the band that I know I'm inTo ring the band that I know I'm inWon't you just tell Babby Daddy?I'm gonna need his loveWhy don't he give me he love?Why don't he give me he Simone, SimoneWhere is your love?Don't you give me your loveDon't you give me your Simone, SimoneWhere is your love?Don't you give me your loveDon't you give me your This'll be the last time I ever do your hair[ Tired of this shit swear I'm gonna quitCan't seem to make enough doughBut my cuttin's on a roll ]One face among the manyI never thought you cared[ Seen enough stuff though I got roughNow I know it ain't soI gotta live my own ] This'll be the last time I ever do your hair[ Tired of this shit swear I'm gonna quitCan't seem to make enough doughBut my cuttin's on a roll ]One face among the manyI never thought you cared[ Seen enough stuff though I got roughNow I know it ain't soI gotta live my own ] Mon passage préféré est le moment plus dark de la chanson, qui me semble très fortement influencé par Supertramp avec le son des trompettes. J'associe cette chanson à mes années parisiennes, sûrement parce qu'elle faisait partie de ma playlist du moment. C'est drôle de retrouver ce que l'on écoutait à une certaine période de sa vie - c'est comme si on pouvait associer des chansons à des pans entier d'une année. --- ### The American Civil War: Causes, Battles and Consequences - **URL**: https://www.skyminds.net/the-american-civil-war-1861-1865/ The American Civil War began in 1861 after eleven Southern states left the Union to protect a political order founded on slavery. What began as a war to preserve the United States became a struggle for emancipation. Union victory destroyed the Confederacy, abolished slavery and opened the contested era of Reconstruction. The American Civil War was fought between the United States and the Confederate States of America from 1861 to 1865. The conflict transformed the Constitution, destroyed legal slavery and established that individual states could not leave the Union by force. It also caused destruction on an unprecedented scale. Millions of soldiers served, hundreds of thousands died and much of the fighting took place across the Southern states. The war did not result from one isolated disagreement. Decades of political conflict, territorial expansion and sectional rivalry preceded it. However, slavery stood at the centre of those disputes. What caused the American Civil War? The immediate crisis began after Abraham Lincoln won the presidential election of 1860. However, the origins of the conflict extended much further back. The Northern and Southern states developed different economic and political priorities during the first half of the nineteenth century. The North industrialised and urbanised more rapidly. The South remained more dependent on commercial agriculture and enslaved labour. These economies were not independent. Northern banks, merchants and textile mills profited from slave-grown cotton. Nevertheless, their political interests increasingly diverged. The most divisive question concerned slavery’s expansion into western territories. Every new territory threatened to alter the balance between free and slave states. For the political and economic background, read North and South Before the American Civil War. Slavery and territorial expansion Southern slaveholders wanted access to western land. They also feared that permanently restricting slavery would weaken their political influence and threaten the institution’s future. Many Northerners opposed slavery’s expansion without demanding immediate abolition where it already existed. Republicans argued that western territories should remain available to free labour. The Missouri Compromise, Compromise of 1850 and Kansas-Nebraska Act repeatedly attempted to manage the conflict. Each settlement delayed confrontation without resolving the underlying issue. The Dred Scott decision of 1857 further intensified the crisis by declaring that Congress could not prohibit slavery in federal territories. The wider social structure of the slaveholding states is examined in Antebellum South: Society, Slavery and Secession. Was the war about states’ rights? Secessionists frequently defended their actions through the language of state sovereignty and constitutional rights. However, the essential question is which rights they sought to protect. The declarations issued by seceding states repeatedly identified slavery, opposition to slavery and resistance to the Fugitive Slave Act as central grievances. Southern politicians defended state authority when it protected slavery. At the same time, they demanded federal intervention when Northern states resisted the capture and return of fugitives. States’ rights formed part of the constitutional argument, but slavery gave that argument its political urgency. The secession crisis Abraham Lincoln won the presidential election on 6 November 1860. He opposed the extension of... --- ### Backup Manager : résoudre l’erreur « tar: file changed as we read it » lors de la création de la sauvegarde - **URL**: https://www.skyminds.net/backup-manager-tar-file-changed-creation-sauvegarde/ Cela fait quelques jours que Backup Manager, qui me sert à sauvegarder automatiquement les fichiers et bases de données du site sur le serveur de sauvegarde, renvoie une erreur lors de la création d'un de mes fichiers de sauvegarde, alors que tout se passait sans encombres jusqu'alors. C'est gênant dans le sens où on ne sait pas vraiment ce qui a empêché la bonne création du fichier et on ne peut vraiment être certain de l'intégrité du fichier de sauvegarde, ce qui est critique. Voici le message d'erreur reçu par email à la fin de la sauvegarde : Unable to create "/home/archives/mail.skyminds.net-home.20180208.master.tar.gz", check /tmp/bm-tarball.log.TZ2VAU 1 error occurred during the tarball generation. Et voici le contenu du fichier log en question : tar: /wp-content/ file changed as we read it Étapes du débogage Le moins que l'on puisse dire, c'est que tar ne nous donne pas vraiment d'indications sur la cause du problème. Un fichier qui change lors de la lecture, d'accord mais lequel ? De plus, il indique un répertoire et non un fichier précis. Dans le fichier de configuration de Backup Manager, il est possible de choisir plusieurs formats de fichier pour compresser les fichiers de sauvegarde. J'utilise .tar.gz puisque tous mes machines tournent sous Unix mais là, j'ai changé la configuration pour utiliser le format zip. On relance le script de sauvegarde : zip est beaucoup plus loquace dans ses messages d'erreur ! Voici ce qu'il nous indique : zip warning: Not all files were readable files/entries read: 55621 (1.3G bytes) skipped: 96 (414K bytes) Très bien. Il ne nous reste plus qu'à trouver quels sont ces fichiers qui n'ont pas les droits de lecture. A la racine du site, on lance donc une recherche pour trouver tous les fichiers et dossiers qui n'auraient pas les droits basiques de lecture (read) : find . ! -perm -o=r Résultat : ./wp-content/plugins/amazonsimpleadmin/cache/zend_cache---internal-metadatas---B0089KSLUY ./wp-content/plugins/amazonsimpleadmin/cache/zend_cache---internal-metadatas---CustomerReviews_B004LS7G3G ./wp-content/plugins/amazonsimpleadmin/cache/zend_cache---CustomerReviews_B00B2OI0FU ./wp-content/plugins/amazonsimpleadmin/cache/zend_cache---B00JGYYQ24 ./wp-content/plugins/amazonsimpleadmin/cache/zend_cache---CustomerReviews_B006H4R9LG ./wp-content/plugins/amazonsimpleadmin/cache/zend_cache---internal-metadatas---B005BHE48Q ./wp-content/plugins/amazonsimpleadmin/cache/zend_cache---internal-metadatas---B00H2O1YOI ./wp-content/plugins/amazonsimpleadmin/cache/zend_cache---CustomerReviews_B00MVQLMPI ./wp-content/plugins/amazonsimpleadmin/cache/zend_cache---B017EOYW9Y Il s'agit donc de fichiers de cache de produits Amazon, qui sont absolument inutiles pour les sauvegardes: nous allons donc exclure ce répertoire de cache de nos fichiers de backup. Suppression des répertoires de cache avant compression des archives Dans la configuration de Backup Manager, ajoutez le chemin des répertoires de cache de quasiment tous les plugins WordPress : export BM_TARBALL_BLACKLIST="/home/public_html/wp-content/plugins/*/cache/* /home/public_html/wp-content/*cache*" Sauvegardez le fichier et relancez votre script de backup. Méthode plus radicale : éditer le script Si la méthode précédente ne porte pas ses fruits, en voici une autre. Il suffit de modifier la valeur du chmod dans ces deux fichiers : /wp-content/plugins/amazonsimpleadmin/lib/AsaZend/Cache/Backend/File.php /wp-content/plugins/amazonsimpleadmin/lib/AsaZend/Cache/Backend/Static.php Cherchez le chmod 600 : 'cache_file_umask' => 0600, et remplacez-le par un chmod 644: 'cache_file_umask' => 0644, Tada, plus d'erreur et des fichiers de sauvegarde propres, sans fichiers de cache inutiles ! Je suis assez content d'avoir trouvé une solution à ce problème assez récurrent. Le fait d'avoir momentanément modifié le type d'archive à créer a bien aidé à isoler la cause du problème. --- ### WordPress : forcer le chargement des média oEmbed en HTTPS - **URL**: https://www.skyminds.net/wordpress-forcer-chargement-media-oembed-https/ Lorsque le site est servi via HTTPS, toutes les ressources - même les ressources oEmbed automatiquement générée par WordPress - qui composent une page doivent également être servies via une connexion chiffrée aussi. Il se trouve que je mets des vidéos Youtube et consorts de temps en temps : elles ne s'affichaient plus en https, étant servies par défaut en http. Le changement vers HTTPS est en marche mais tous les services oEmbed n'ont pas encore adopté le chiffrement des connexions. Servir les vidéos Youtube en HTTPS Au lieu d'utiliser Youtube.com, nous allons utiliser la version cookie-less de Youtube, à savoir youtube-nocookie.com : cela permet d'éviter les cookies pisteurs de Google et donc offre plus de sécurité et de respect de la vie privée. J'utilise ce système depuis des années sur SkyMinds donc je me suis dit qu'il était bien temps de le partager dans ces colonnes. Le code permet donc de remplacer youtube.com par youtube-nocookie.com dans le code généré par l'oEmbed WordPress. Ce code est à ajouter dans votre utility plugin (ou à défaut le fichier functions.php de votre thème WordPress). Le premier code remplace toutes les occurences des médias HTTP pour HTTPS : --- ### Saigon Ft Swizz Beatz and Jay-Z – Come On Baby - **URL**: https://www.skyminds.net/saigon-ft-swizz-beatz-jay-z-come-baby/ "Come on Baby" est le premier single officiel du premier album de Saigon, intitulé The Greatest Story Never Told : https://www.youtube.com/watch?v=JfD3JsaHySs Dans cette chanson, on retrouve Swizz Beatz et un couplet de Jay-Z dans la version remix. Un sample de la chanson "Southside Shuffle" du groupe The J. Geils Band's est abondamment utilisée. Paroles Just Blaze, hey, hands upSwizzy, hey, hands up1, 2, 3, here we go!Microphone check one two what is this?The Yardfather coming to give niggas the businessIt's so beyond rap, cock sucker we live thisSo uhm, come on baby, come on, come on and witnessThe next ten years of this shit, the slickness is deliberateLyrically it's as sick as it getI been in the pen, been in the jects, been in the??I been in the Benz, been in the Lex, been in the MSXYes, I run ringers around the fraudulant typeCome here and I'll show you that I spit on just more then a micI make it hard for niggas to breathe, pleaseThese wicked emcees squeezeHammers like the Pampers used to squeeze, hit the DTI Mike Tyson ya eye, put a permenant ring around itThen go run in the booth and sing about itLook, if I don't hurt the nigga that play with my wealthI'm like me on Entourage god, I'm playing myself, let's goHold up, the pump will make you jump upPut ya body in the tr-unk(Don't you baby, don't you baby, don't ya baby)Keep goin now...New York, and all the way to CaliAnd the South'll make ya j-ump(Come on baby, come on baby, come on baby)Don't touch the boy, yupHold up, the pump will make ya jump upPut ya body in the tr-unk(Come on baby, come on baby, come on baby)I'll whip ya ass from...New York, and all the way to CaliAnd the South'll make ya jump1, 2, 3, we gone!Four finger, three finger, two finger, one fingerHum dinger, gun slinger, that's what I amTrying to get some cash in my hand as fast as I canSo you should, come on baby, come on, come on and fuck wit ya manI got this rap shit down to a scienceAlotta niggas shit is aight but they ain't fucking with RyanFirst there was some defiance, until I formed an allianceWith Justin, he plugged me in, now I'm as hot as a fucking ironYou lying, all the gunplay talkKnowing behind closed doors you be practicing on ya runway walkI been in the kill, been in the cap, been in the box and backI been in the ville, tripping the gat, trimming a boxing matchAnd I still walk around this fucker with not a scratchAnd thats way more then I can say for alot of catsMy name's Saigon niggaBreak bread mufucka 'fore I break ya fucking head lil suckaFinally I've arrived, so we can say our goodbyesTo the ring tone rapper, that crap'll never surviveIts the lyrics in hip-hop, they even the oddsWe gotta, come on baby, come on, come on and keep it aliveI got a microphone jones,... --- ### Happy Birthday Matt : 37 - **URL**: https://www.skyminds.net/happy-birthday-matt-37/ Aujourd'hui, je fête mes 37 ans. J'ai relu l'article de l'année dernière et me suis rendu compte qu'il fallait faire un petit bilan de l'année qui vient de s'écouler et de mes résolutions. Je n'ai pas vraiment lu de livres papier - aucun à vrai dire. J'ai par contre beaucoup lu sur des écrans : laptop chez moi, téléphone dans le bus. Je regrette de ne pas assez lire, à la fois dans la fréquence et dans la durée. En ce qui concerne l'écriture, je suis obligé de m'adapter un peu : j'écris ici mais passe pas mal de temps sur Kriya Yoga à rédiger, mettre en page et m'occuper des cours en ligne. Le développement web occupe aussi pas mal de mon temps donc il faut jongler entre les sites, les échéances et l'envie de parler d'un sujet donné. Pour la mer, on y est allé avec Cécile : Malte, Grèce, Sardaigne... mais l'objectif n'est pas encore atteint. 3 mots pour 2018 Cette année, je modifie le mode de fonctionnement de mes résolutions et au lieu d'énoncer des idées très précises, je vais me concentrer sur trois mots différents qui me permettront de me focaliser sur une ligne directrice pour l'année. Mes trois mots pour cette année sont : Read : j'ai besoin de lire plus, même sur une Kindle, ce serait un plus. Execute : concrétiser davantage et ne pas juste parler de choses qui sont ensuite remises à plus tard. Arrêter de procrastiner et passer à l'exécution, dans tous les domaines. Flow: de temps en temps, il faut se laisser porter et arrêter d'essayer de nager à contre-courant. Lâcher du lest, ne pas se braquer et rester positif. Le nombre 37 en mathématiques Trente-sept est : un nombre premier,le premier nombre premier irrégulier,un nombre premier cousin avec 41,un facteur de tous les nombres uniformes à trois chiffres en base 10, tels que 111.un nombre hexagonal centré et un nombre étoilé. Propriété mathématique intéressante de 37 : 111 : 1+1+1= 3 et 3 × 37 = 111222 : 2+2+2= 6 et 6 × 37 = 222333 : 3+3+3= 9 et 9 × 37 = 333…999 : 9+9+9=27 et 27 × 37 = 999 Trivia sur le nombre 37 Le nombre 37 est : le numéro atomique du rubidium, un métal alcalin. Masse atomique du rubidium : 85.468 ; 5e période, 1er groupe ; 8+5+4+6+8+5+1=37la température moyenne du corps humain en °C.en France, le nombre d'années de mariage des noces de papier.le nombre d'emplacements de la roulette européenne.le nombre utilisé dans un certain tour de magie. Dans ce tour, le magicien demande à une personne de penser à un nombre qui rassemble les critères suivants :a. doit être compris entre 1 et 50,b. doit avoir deux chiffres tous les deux impairs différents.   Seulement huit nombres remplissent ces conditions : 13, 15, 17, 19, 31, 35, 37, et 39. Statistiquement, les gens prendront 37 parmi tous les autres nombres. Par conséquent, le magicien peut utiliser cette probabilité pour créer... --- ### Serveur dédié : transférer et héberger un nouveau domaine sur votre serveur - **URL**: https://www.skyminds.net/serveur-dedie-heberger-un-nouveau-domaine/ Aujourd'hui, nous allons voir comment héberger un nouveau domaine sur le serveur, en simplifiant au maximum les procédures. Le nom de domaine sera réservé chez OVH et le site hébergé sur notre serveur Debian. Nous allons servir le site avec NginX en HTTPS grâce à un certificat SSL fourni gratuitement par Let's Encrypt. Enfin, on utilisera le serveur email existant et on ajoutera la configuration OpenDKIM pour signer et authentifier tous les emails sortants du domaine. Nom de domaine J'achète mes noms de domaine chez OVH parce que le prix est relativement raisonnable (comparé à mon ancien registrar). Au moment de la commande, faites pointer le nouveau domaine vers les DNS du serveur. Si votre serveur n'est pas chez OVH, il suffit d'aller dans Domaines > Serveurs DNS et de renseigner le DNS primaire et secondaire de votre serveur. Configuration DNS dans BIND Une fois le domaine commandé, si vous vous rendez dans le Manager OVH, vous vous rendrez compte que le bouton DNS est en rouge : c'est normal puisqu'il nous faut paramétrer notre nouveau domaine dans BIND, notre serveur de noms. On édite la configuration de BIND : nano /etc/bind/named.conf.local et on lui indique que nous créons une nouvelle zone : zone "example.com" { type master; file "/etc/bind/example.com.hosts"; allow-query { any; }; }; On crée maintenant notre fichier de zone: nano /etc/bind/example.com.hosts $ttl 84600 $ORIGIN example.com. @ IN SOA XXXXXX.kimsufi.com. root.example.net. ( 2018012801 14400 3600 604800 84600 ) ; NAMESERVERS IN NS XXXXXX.kimsufi.com. IN NS ns.kimsufi.com. example.com. IN A XXX.XXX.XXX.XXX example.com. IN AAAA 4001:41d0:1:4462::1 example.com. IN MX 10 mail.example.net. www.example.com. IN A XXX.XXX.XXX.XXX www.example.com. IN AAAA 4001:41d0:1:4462::1 www IN A XXX.XXX.XXX.XXX Ps: example.net est le domaine principal du serveur. Pous vérifions la configuration BIND: named-checkconf -z et nous redémarrons BIND pour prendre en compte nos changements et activer notre nouveau fichier de zone: service bind9 restart Vous pouvez vérifier votre configuration DNS à l'aide de l'outil ZoneMaster. Configuration du bloc serveur sous NginX On commence par créer le répertoire qui va accueillir les fichiers du site et on lui attribue les bons droits: mkdir -p /home/example/public_html chown -R www-data:www-data /home/example/public_html chmod 755 /home/example/public_html On crée également un fichier index.php à la racine du site pour éviter une erreur 403 plus tard lors de la génération du certificat SSL : echo "" >> /home/example/public_html/index.php On crée maintenant le répertoire de cache du site, toujours avec les bons droits: mkdir -p /home/nginx-cache/example chown -R www-data:www-data /home/nginx-cache/example chmod 755 /home/nginx-cache/example Voici le server block de départ, en HTTP simple : server { listen 80; listen [::]:80; server_name example.com www.example.com; #return 301 https://$server_name$request_uri; root /home/example/public_html; index index.php index.html; } On active le site : ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/ On teste la configuration de NginX et on redémarre le service: nginx -t service nginx restart On crée maintenant le certificat SSL avec Let's Encrypt : certbot certonly --webroot -w /home/example/public_html -d example.com -d www.example.com On modifie maintenant tout le server block du domaine pour prendre en compte la configuration SSL. On redirige tous... --- ### Eths – Animadversion - **URL**: https://www.skyminds.net/eths-animadversion/ Eths est un groupe de nu metal français, originaire de Marseille, dans les Bouches-du-Rhône (Provence). À ses débuts, le groupe est souvent sur la route, enchaîne les tournées et se produit dans la France entière ainsi qu'en Europe. La voix des chanteuses Candice et Rachel sont partagées entre des parties mélodiques et des parties gutturales. Les musiciens quant à eux s'appliquent à créer une ambiance tantôt malsaine avec un son très lourd, tantôt plus douce et mélodique comme dans Ailleurs c'est ici ou L'instant sourd qui reste tout de même dans l'ambiance oppressante qui caractérise la musique du quintet. https://www.youtube.com/watch?v=JuGmFPJ0pLg Tu aurais du ressentir en toi,Une nouvelle perception,Un nouveau regard,Avide de savoir.Grandissant et cherchant en toi,C'que jamais il ne trouvera.Tu refusas d'y croire,Retenant physiquement,C'qui n'avait pas sa place en toi,C'que tu n'voulais pas voir,Qui n'aurait jamais dû être là.Être là.Nous ne verrons plus jamais à deux,Débarrassés d'une incision à la lame. L'extraction auraquand même lieu,Des hurlements stridents emplissant ton âme,Laissant tes yeux secs, pas une larme.Lui, sorti de cet antre imprégnée d'alcool,De fumée, déjà maculé de ton sang impur. Sa premièresensation se pesant comme une vision,Une impression, la folie derrière les murs.Tu ne lui donneras jamais le sein,Tout ce qui pouvait te raccrocher à lui n'était rien,Laissant cette graine jetée à terre.Inconsciemment, se développer comme la gangrène.Ne pensant pas que par l'enfance,La vie d'un être est déterminée.Tu devais pourtant incarner le lien viscéral entre l'infiniet la vie.Entre ce ventre céleste et son contenu maudit.Sais-tu c'que peut être une vie à subir?Nourrie aux racines d'un amour létal,Croire que tu cries?Violence et non-respect de l'être,Ne peuvent amener qu'au mal de vivre,A une rancoeur amère toujours aussi présente.Le pardon ne pouvant s'envisager,Seule une vengeance violente,Une décharge de tout ce qu'il y a de mauvais,Malsain, au plus profond du subconscient,Pourrait permettre de ne plus penser aux noirs souvenirs quigangrènent ma chair,Me rendant chaque jours un peu plus malade.Mes pieds s'enlisent, mon esprit les suit.Je me perds.Plonge tes mains dans mes larmes blanches,Sois sans crainte, nage,Au sein d'une volute d'abominations, de laideur, de carnage.Goûte dans ma bouche l'arôme amer de l'ennui.Toutes ces tortures qui hantent mes nuits.Entends de mon ouïe, ces notes mélancoliques,Mes grincements de dents cette musique symbolique.Regarde dans mes yeux une vision troublée,Du vrai visage de l'homme angoissant, torturé.Touche de mes mains tes joues humides,Une douce peau parfumée qui finira putride.Ressent ce liquide qui frappe tes tempes, Rougit mes yeux,mais pourtant, alimente le coeur du nourrisson comme celuidu vieux.T'épousant dans la chair, les bosses, les creux.Tu peux le percevoir, le sentir ruisseler,C'n'est plus la peine de croire!Non, je ne veux pas oublier!Non, je ne peux plus oublier!Un déséquilibre profond flotte en moi, Ecarquillé,vitreux.Je dois être déchirée,Je ne sais plus vraiment c'que j'fais.Ta gueule est tuméfiée.Que dire, pas grand chose, tout ça devait arriver.L'important, au fond, c'est de crever l'abcès,Hurler, extérioriser, en morceaux t'enterrer.Le sang épais et chaud galvanise mes mains!Mon coeur, par terre, emprunte le chemin,Qui mène à l'horreur d'une excitation morbide,Les yeux brillants, le regard matricide.Ce soir, tu m'as menti encore une... --- ### Serveur dédié : mise à jour vers PHP 7.2 - **URL**: https://www.skyminds.net/serveur-dedie-passage-php-7-2/ Aujourd'hui, le serveur passe à PHP 7.2 ! PHP 7.2 accroît fortement les performances des versions précédentes, notamment au travers de plusieurs améliorations en matière de sécurité. Ainsi, l'algorithme Argon2 qui sert au hachage sécurisé des mots de passe corrige les défauts des algorithmes actuels. Celui-ci permet notamment un taux de remplissage plus élevé de la mémoire. PHP 7.2 intègre désormais dans son noyau la bibliothèque de cryptographie Sodium, utilisée pour le chiffrement authentifié, est désormais une extension de base et les performances de la bibliothèque pour la cryptographie sur les courbes elliptiques ont été améliorées. Niveau programmation Au-delà de Sodium, PHP 7.2 vient avec des améliorations et nouvelles fonctionnalités comme : la possibilité de convertir des clés numériques dans les objets et tableaux lors de cast.les clés numériques sont maintenant mieux appréhendées lors de cast d'un tableau en objet et d'objet en tableau (cast explicite ou par la fonction settype()) ;le comptage d'objets non dénombrables. Un E_WARNING sera émis lors de la tentative d'utilisation de la fonction count() sur un type non dénombrable ;HashContext en tant qu'objet ;ajout d'Argon2 à l'API pour le hachage de mot de passe ;amélioration des constantes TLS ;la suppression de l'extension Mcrypt. L'extension MCrypt a maintenant été déplacée du noyau vers PECL. Étant donné que la bibliothèque mcrypt n'a pas eu de mises à jour depuis 2007, son utilisation est fortement découragée. Au lieu de cette extension, soit OpenSSL ou l'extension sodium doit être utilisé. Les fonctions Deprecated (déconseillées) et supprimées pour PHP 8.0: __autoload$php_errormsgcreate_function()mbstring.func_overload(unset) castparse_str() sans le second argumentgmp_random()each()assert() avec un argument string(texte)$errcontext La conversion des clés numériques dans les distributions objet/tableau résout un problème rencontré avec le moteur open source Zend Engine qui fait tourner PHP 7. Dans certaines situations, les tables de hachage de tableaux pouvaient contenir des chaînes numériques alors que les tables de hachage d'objets pouvaient contenir des clés entières, ce qui empêchait le code PHP de retrouver les clés. Le correctif apporté par PHP 7.2 convertit les clés des tables de hashage des tableaux et des tables de hachage des objets sont converties dans les bons formats, de sorte que les chaînes de format numériques personnalisées sont traduites en clefs entières, résolvant le problème d’inaccessibilité. Les typages explicites d'objets ou « type hints » corrigent une situation dans laquelle un développeur ne peut pas déclarer une fonction supposée recevoir un objet en tant que paramètre ou déclarer qu'une fonction doit retourner un objet. Le correctif utilise l'objet comme type de paramètre et type de retour. HashContext en tant qu'objet, migre l'extension de hachage pour utiliser une extension objet pour les contextes de hachage au lieu d'utiliser des ressources. A noter aussi une nouvelle alerte ajoutée pour l'appel de la fonction count avec un paramètre scalaire ou nul, ou un objet qui n'implémente pas l'interface « Countable » Mise à jour vers PHP7.2 Cela n'a pris que quelques minutes : apt update && apt upgrade Résultat : Calculating upgrade... Done The following packages were automatically installed and are no... --- ### Petro-Loukas Halkias et Vasilis Kostas – Skaros - **URL**: https://www.skyminds.net/petro-loukas-halkias-et-vasilis-kostas-skaros/ "Skaros" est un dialogue entre la clarinette de Petro-Loukas Halkias et le laouto de Vasilis Kostas : https://www.youtube.com/watch?v=jumEDURM3Bc Le skaros est une musique pastorale improvisée instrumentale ou vocale. La flûte floghera ou la clarinette y est dominante pour l'accompagnement des danses : menousis, fisouni, podhia, sta dio, sta tria, zagorisios, kentimeni, koftos, yiatros et tsamikos. Petro-Loukas est l'un des meilleurs clarinettistes de Grèce et l'un des échansons les plus doués de la musique démotique grecque. Vasilis Kostas est l'un des meilleur joueur de laouto au monde. Il a étudié au Berklee Global Jazz Institute à Boston, MA puis a voyagé avec le World Strings Orchestra dirigé par Eugene Friesen en Espagne en tant que joueur de laouto soliste pour présenter la musique grecque à travers le prisme du luth grec. Ses performances au laouto ouvrent de nouveaux horizons pour l'instrument, pour les mondes du jazz et la musique grecque traditionnelle. Cela est particulièrement audible avec cette collaboration entre Vasilis Kostas et Petro-Loukas Halkias et ce morceau instrumental grec. Je trouve que le mélange des genres, musique traditionnelle et jazz, donne une tonalité totalement incroyable à ce morceau. On se croirait presque en Orient à certains moments avec la clarinette notamment. --- ### Serveur dédié : configurer Apache et NginX pour servir des polices de caractères - **URL**: https://www.skyminds.net/serveur-dedie-configurer-apache-nginx-servir-fonts/ La plupart des sites modernes font appel à des polices de caractères qui ne sont pas installées sur les systèmes d'exploitation de leurs visiteurs. L'utilisation de Google Fonts est très largement répandue mais cela ajoute un délai de traitement dans le chargement des pages car cela nécessite autant de requêtes externes. Il est également possible de placer les fichiers dans le répertoire du thème graphique et de les servir directement depuis le serveur de fichier, comme Apache ou NginX. Tout d'abord, il faut configurer les bons entêtes http. Cela permet aux navigateurs de bien interpréter les fichiers demandés comme polices de caractères. Configuration des polices pour Apache Pour définir le bon mime-type pour les polices, ajoutez ce bloc à votre configuration Apache: AddType application/x-font-ttf ttc ttf AddType application/x-font-otf otf AddType application/font-woff woff AddType application/font-woff2 woff2 AddType application/vnd.ms-fontobject eot Si vous n'avez pas accès à la configuration du VirtualHost, placez ce bloc dans le fichier .htaccess du site. Pour les entêtes CORS, ajoutez ce bloc: Header set Access-Control-Allow-Origin "*" Configuration des polices pour NginX LA configuration par default de NginX ne prend pas en compte les types mime des formats de fontes optimizés pour le web. Il est à noter également que le type mime des fichiers .eot est erroné, il nous faut donc le modifier. 1. Editez le fichier /etc/nginx/mime.types et supprimez la ligne concernant l'extension eot. 2. Ensuite, ajoutez ce bloc : application/x-font-ttf ttc ttf; application/x-font-otf otf; application/font-woff woff; application/font-woff2 woff2; application/vnd.ms-fontobject eot; 3. Pour les entêtes CORS, ajoutez ce bloc à la configuration du vhost: location ~* \.(eot|otf|ttf|woff|woff2)$ { add_header Access-Control-Allow-Origin *; } Et voilà, votre serveur de fichier est maintenant capable de servir vos fichiers de polices de caractères. Il est recommandé de ne pas abuser des fontes de caractères : pas plus de 3 familles de fontes différentes sur un site web. Les navigateurs ayant chacun leurs petites subtilités et standards, ils ne se sont toujours pas mis d'accord sur un seul et même format de fichier. En pratique, les formats WOFF2 et WOFF sont à privilégier (ils couvrent plus de 96% des utilisateurs) mais suivant le public ciblé, il faut penser à offrir les autres variantes de fichiers. --- ### Visite de Delphes - **URL**: https://www.skyminds.net/visite-de-delphes/ Pour nous rendre à Delphes, nous empruntons le bus depuis la gare routière d'Athènes. Depuis le centre ville (station de Métro "Akropoli" par exemple) cela représente un assez long trajet en bus, car la gare routière est excentrée. Nous prenons le temps de bien nous renseigner avant car il y a plusieurs gares routières différentes, éloignées les unes des autres, qui desservent des villes de Grèce différentes. Le trajet qui dure deux heures trente est très agréable : il nous permet de découvrir de petits villages authentiques bien différents d'Athènes, au coeur de la campagne grecque. Delphes (en grec : Δελφοί, qui se prononce "Delfi" en grec moderne) est le site d'un sanctuaire panhellénique, situé au pied du Mont Parnasse, en Phocide, où parlait le dieu Apollon par le truchement de sa prophétesse, la Pythie. Les Anciens considéraient en effet que chaque homme est soumis à un destin décidé par les dieux : la Pythie offrait un éclairage sur ce que les dieux avaient prévu pour nous. Avant la consultation, on donnait un "misthos", une somme d'argent, et on sacrifiait une chèvre pour s'assurer que les dieux consentaient à être interrogés sur notre cas. Si l'animal tremblait, cela signifiait l'accord divin. Sinon, on n'avait qu'à revenir plus tard. Une fois les dieux apaisés, on pouvait alors pénétrer dans le temple d'Apollon pour entendre la prédiction. Bien évidemment, on ne rencontrait pas la Pythie directement : elle se trouvait dans l'adyton (littéralement: lieu où l'on ne pénètre pas), et c'est aux prêtres, chargés de faire l'intermédiaire entre la prêtresse et le consultant, que l'on adressait sa question. La Pythie répondait ensuite aux prêtres, qui transmettaient la réponse. La question est alors de savoir comment la Pythie accédait aux pensées d'Apollon, le dieu de la mantique (l'art de prédire le destin en grec). Sur ce point, tous les témoignages s'accordent pour expliquer que la Pythie était assise sur un trépied et mâchait des feuilles de laurier, l'arbre d'Apollon, ce qui facilitait l'accès au monde du divin, matérialisait le lien avec Apollon et correspondait à ce que les Grecs appelaient "enthousiasmos" (littéralement, le fait d'avoir le dieu en soi). Certains auteurs expliquent quant à eux que la Pythie était littéralement pénétrée par le souffle d'Apollon, recevant entre ses cuisses son souffle sacré qui émanait d'une crevasse dans le sol. La prophétesse, entrant dans un état de transe, délivrait alors ses oracles aux prêtres qui se livraient à un véritable travail herméneutique et avaient toutes les chances de se tromper. Comment expliquer une telle différence dans les témoignages ? De façon générale, les auteurs grecs contemporains de l'oracle d'Apollon restent assez discrets au sujet des détails précis de la consultation, sans doute car ils n'avaient pas à justifier, à expliquer de manière rationnelle ce en quoi ils croyaient, ou du moins, ce qui faisait partie de leur folklore religieux. Il s'avère que les témoignages qui évoquent la dimension sexuelle voire immorale de la Pythie sont dus à des auteurs chrétiens plus tardifs, qui ont... --- ### The Walking Dead saison 8 - **URL**: https://www.skyminds.net/walking-dead-saison-8/ Retour de The Walking Dead sur AMC, c'est déjà la saison 8 ! Rick, Maggie et Ezekiel rassemblent leurs communautés pour abattre Negan. Gregory tente de rallier les résidents de Hilltop à la cause de Negan, mais ils sont tous fermement derrière Maggie. Le groupe attaque le Sanctuaire, abat ses clôtures et inonde l'enceinte de zombies. Avec le Sanctuaire à sac, tout le monde part sauf Gabriel, qui reste à contre-coeur pour sauver Gregory, mais est laissé pour compte quand Gregory l'abandonne. Entouré de marcheurs, Gabriel se cache dans une caravane, où il est coincé à l'intérieur avec Negan... Les forces de Rick se séparent en plusieurs groupes pour attaquer plusieurs avant-postes des Saviors, au cours desquels de nombreux membres du groupe sont tués; Eric est gravement blessé et emporté par Aaron. Jésus empêche Tara et Morgan d'exécuter un groupe de Sauveurs rendus. Tout en dégageant un avant-poste avec Daryl, Rick est confronté et tenu sous la menace d'une arme par Morales, un survivant rencontré dans le camp initial d'Atlanta, qui est maintenant avec les Saviors. Seize épisodes sont programmés pour cette saison : huit sont déjà disponibles et la seconde partie de la saison sera diffusée à partir du 25 février, ce qui est plus tard que d'habitude puisque cela reprenait rituellement le jour de la Saint Valentin (14 février). Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Serveur dédié : créer un certificat ECDSA avec Let’s Encrypt - **URL**: https://www.skyminds.net/serveur-dedie-certificat-ecdsa-lets-encrypt/ Aujourd'hui, je vous montre comment j'ai mis en place un certificat ECDSA avec Let's Encrypt, que j'utilise depuis l'année dernière. Let's Encrypt a annoncé il y a quelques mois qu'il sera possible au courant de l'année 2018 de créer des certificats ECDSA, pour plus de sécurité et de rapidité. L'algorithme ECDSA L'algorithme ECDSA (abbréviation d'Elliptic Curve Digital Signature Algorithm) a été proposé pour la première fois par Scott Vanstone en 1992. Les signatures basées sur l'algorithme d'ECS, l'ancêtre de ECDSA, présente plusieurs avantages majeurs par rapport aux algorithmes RSA : leur taille est plus réduite et ils sont créés bien plus rapidement. La vérification basée sur les algorithmes ECC est extrêmement rapide également. Les avantages d'utiliser ECDSA par rapport à RSA L'utilisation d'ECDSA pour les signatures numériques présente d'importants avantages, dont notamment: un niveau de sécurité élevé,pas de problèmes avec la performance d'applications,un processus rapide de signature et de vérification (40% plus rapide que RSA),adapté à la montée en puissance de la sécurité des applications,support pour les pré-requis modernes de l'industrie Une sécurité et une rapidité accrues donc, avec un usage de données réduit. Parfait. Création d'un certificat ECDSA avec Let's Encrypt 1. On crée les nouveaux répertoires pour notre certificat ECDSA: mkdir -p /etc/letsencrypt/live-ecdsa/example.com/letmp mkdir -p /etc/letsencrypt/live-ecdsa/example.com/backup cd /etc/letsencrypt/live-ecdsa/example.com 2. On crée une clé privée avec l'algorithme secp384r1: openssl ecparam -genkey -name secp384r1 > privkey-p384.pem 3. On crée un Certificate Signing Request (CSR): openssl req -new -sha256 -key privkey-p384.pem -subj "/CN=example.com" -reqexts SAN -config --- ### Serveur dédié : résoudre l’erreur « tail: inotify cannot be used, reverting to polling: Too many open files » - **URL**: https://www.skyminds.net/serveur-dedie-erreur-tail-inotify-polling-many-open-files/ Ce matin, je me suis aperçu que le serveur était un peu moins réactif que d'habitude. Ni une, ni deux, je lance le terminal et commence par vérifier les fichiers log. Un message attire alors mon attention : tail: inotify cannot be used, reverting to polling: Too many open files C'est bien étrange puisque très peu de services sont censés lancer des tail. Nous allons donc lancer quelques commandes pour savoir qui est responsable de cet état. Hotfix : à la recherche des anon_inode:inotify 1. Première méthode pour avoir un aperçu de tout ce qui tourne en ce moment sur le serveur : ps -ef La liste est très exhaustive (plusieurs pages chez moi) et ne permet pas vraiment de voir ce qui se passe, étant donné que rien n'est trié. 2. Changeons notre fusil d'épaule et trouvons la liste des processus qui font appel à inotify: for foo in /proc/*/fd/*; do readlink -f $foo; done | grep inotify | sort | uniq -c | sort -nr Résultat: 8 /proc/25634/fd/anon_inode:inotify 1 /proc/715/fd/anon_inode:inotify 1 /proc/6146/fd/anon_inode:inotify 1 /proc/330/fd/anon_inode:inotify 1 /proc/32148/fd/anon_inode:inotify 1 /proc/31695/fd/anon_inode:inotify 1 /proc/31262/fd/anon_inode:inotify 1 /proc/3067/fd/anon_inode:inotify 1 /proc/3066/fd/anon_inode:inotify 1 /proc/3065/fd/anon_inode:inotify 1 /proc/3064/fd/anon_inode:inotify 1 /proc/3063/fd/anon_inode:inotify 1 /proc/3062/fd/anon_inode:inotify 1 /proc/21853/fd/anon_inode:inotify 1 /proc/2063/fd/anon_inode:inotify 1 /proc/1924/fd/anon_inode:inotify 1 /proc/1563/fd/anon_inode:inotify 1 /proc/1196/fd/anon_inode:inotify 3. Maintenant, nous allons chercher dans cette liste de processus les commandes qui font appel à anon_inode:inotify : ps -p $(find /proc/*/fd/* -type l -lname 'anon_inode:inotify' -print 2> /dev/null | sed -e 's/^\/proc\/\([0-9]*\)\/.*/\1/') Résultat: PID TTY STAT TIME COMMAND 330 ? Ss 0:00 /lib/systemd/systemd-udevd --daemon 715 ? S 0:00 tail -f /tmp/bm-tarball.log.7lZV2O 1196 ? S 0:00 tail -f /tmp/bm-tarball.log.B1I64h 1563 ? S 0:00 tail -f /tmp/bm-tarball.log.hhDVas 1924 ? S 0:00 tail -f /tmp/bm-tarball.log.Ztuk8T 2063 ? Ss 0:06 /usr/bin/dbus-daemon --system 3062 tty1 Ss+ 0:00 /sbin/getty 38400 tty1 3063 tty2 Ss+ 0:00 /sbin/getty 38400 tty2 3064 tty3 Ss+ 0:00 /sbin/getty 38400 tty3 3065 tty4 Ss+ 0:00 /sbin/getty 38400 tty4 3066 tty5 Ss+ 0:00 /sbin/getty 38400 tty5 3067 tty6 Ss+ 0:00 /sbin/getty 38400 tty6 6146 ? Ss 0:00 gpg-agent --homedir /root/.gnupg --use-standard-socket --daemon 25634 ? Sl 0:21 /usr/bin/python3 /usr/bin/fail2ban-server -s /var/run/fail2ban/fail2ban.sock -p /var/run/fail2ban/fail2ban.pid - 31262 ? S 0:00 tail -f /tmp/bm-tarball.log.82bIqR 31695 ? S 0:00 tail -f /tmp/bm-tarball.log.6Hqw69 32148 ? S 0:00 tail -f /tmp/bm-tarball.log.UMpkfi Ah on y arrive, c'est déjà beaucoup plus clair. Le service qui pose problème est donc backup-manager (voir le tutoriel Serveur dédié : sauvegarde automatique des fichiers avec Backup Manager sur le serveur de sauvegarde), qui semble laisser ouvert tous ses fichiers de logs ! 4. Ces processus tail n'ayant aucune raison d'exister, on les supprime sans état d'âme: killall tail Voilà pour le hotfix. Nous allons maintenant amender la configuration du serveur pour que cela ne se reproduise plus. Configuration de backup-manager J'exécutais backup-manager en mode verbeux (verbose), ce qui lançait un tail -f sur chaque fichier log pour chaque fichier de sauvegarde créé... Dans les faits, si backup-manager crée 10 fichiers de sauvegarde par jour, il lance donc dix tail -f ! Au bout de quelques jours ou semaines, cela impacte forcément... --- ### Clutch – Electric Worry - **URL**: https://www.skyminds.net/clutch-electric-worry/ Clutch est un groupe de rock Américain qui vient de Germantown, Maryland, qui s'est formé en 1990 avec Neil Fallon (voix, guitare, claviers), Tim Sult (lead guitar, backing vocals), Dan Maines (basse, backing vocals) et Jean-Paul Gaster (batterie). Le groupe mélange stoner rock, funk et heavy metal. L'origine du nom du groupe vient du souhait des membres d'avoir un nom court et monosyllabique. Electric Worry est une super chanson qui rappelle le rock'n'roll bien gras et les voix bien rauques de barbus: https://www.youtube.com/watch?v=UAHO-trROm8 Clutch a sorti 11 albums et sont maintenant sur leur propre label, Weathermaker. On les a vu l'année dernière au Hellfest, c'était vraiment sympa. --- ### Télécharger vos fichiers torrent automatiquement avec FlexGet et Transmission - **URL**: https://www.skyminds.net/telecharger-torrents-flexget-transmission/ Aujourd'hui, nouvelle étape dans l'automatisation de nos téléchargements : au lieu d'uploader un fichier .torrent ou magnet sous Transmission, nous allons installer FlexgGet qui va nous permettre de surveiller un flux RSS pour télécharger automatiquement les fichiers bittorrent. Une fois le fichier graine téléchargé, Transmission se chargera de télécharger les fichiers immédiatement. Tout sera donc automatisé ! En prérequis, je vous conseille d'avoir Transmission installé et configuré sur votre serveur ou machine, cela vous fera gagner pas mal de temps. Étape 1 : configuration de Transmission Vous avez déjà Transmission qui tourne ? Parfait, on commence par arrêter le service : service transmission-daemon stop On crée un nouveau répertoire qui sera surveillé par Transmission - dès qu'un fichier .torrent sera ajouté dans ce répertoire, Transmission lancera le téléchargement : mkdir /home/transmission/torrentwatch On lui donne les bons droits et le bon utilisateur : chown debian-transmission:debian-transmission /home/transmission/torrentwatch chmod 777 /home/transmission/torrentwatch Et on édite le fichier de configuration : nano /etc/transmission-daemon/settings.json Je me suis aperçu qu'il me manquait deux directives importantes dans ce fichier pour surveiller un répertoire donc on les ajoute à la suite des autres directives : "watch-dir": "/home/transmission/torrentwatch", "watch-dir-enabled": true, On sauvegarde le fichier et on redémarre Transmission : service transmission-daemon start Étape 2 : installation de Flexget Flexget est un script Python donc il nous faut... python ! python3 -V Cela nous retourne : Python 3.12.3 On installe pip et pipx qui permet d'installer des applications python dans des environnements: apt install python3-pip pipx On met à jour les setuptools : pipx install setuptools On configure pipx : pipx ensurepath echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc source ~/.bashrc On installe flexget : pipx install flexget On crée le répertoire de configuration : mkdir -p ~/.config/flexget cd ~/.config/flexget On crée le fichier de configuration : nano ~/.config/flexget/config.yml Qui contient : templates: # Paramètres globaux pour les séries series_global: download: /home/transmission/torrentwatch/ # Flux RSS à récupérer inputs: - rss: { url: 'https://example.com/feed.xml' } # RSS # Vérifier si l'épisode n'est pas déjà présent exists_series: - '/home/transmission/completed' - '/home/transmission/torrentwatch' # These are the shows I regularly watch series_suivies: # La liste des séries à suivre est dans un autre fichier include: [ series.yml ] # Paramètres pour premiers épisodes de nouvelles séries series_premieres: thetvdb_lookup: yes require_field: tvdb_genres regexp: reject: - animation: {from: tvdb_genres} - documentary: {from: tvdb_genres} - talk show: {from: tvdb_genres} - game show: {from: tvdb_genres} - reality: {from: tvdb_genres} - children: {from: tvdb_genres} - food: {from: tvdb_genres} - home and garden: {from: tvdb_genres} series_premiere: yes # Définition des tâches : flexget execute --task XX tasks: Series: priority: 10 template: - series_global - series_suivies Series_Premieres: priority: 40 template: - series_global - series_premieres # We use the manual plugin so that this task only runs when explicitly called manual: yes Et le fichier de configuration des séries : nano ~/.config/flexget/series.yml Qui contient : series: settings: best: upgrade: yes quality: 720p hdtv+ target: 720p timeframe: 6 hours propers: 12 hours normal: quality: "hdtv --- ### Steve Grant – The Seventh Seal - **URL**: https://www.skyminds.net/steve-grant-seventh-seal/ "The Seventh Seal" est une chanson dont la musique est écrite par Courtney Driver et les paroles par Steve Grant. Le sujet est la reprise en main des rênes de la démocratie par la base, c'est-à-dire le peuple : https://www.youtube.com/watch?v=dnhqZcG0tew Le clip a été filmé en direct devant la Maison Blanche, à Washington DC, lors de la Million Mask March du 5 novembre 2013. chorusYeah the time has come and we’re all awakeWe see through the lies and we’re not afraidWe’re on the other side where everything is real are you prepared ? Get ready for the seventh seal1st verse:Yeah we can see it our freedoms getting threatenedThat's why we on the front lines and we deep up in the trenchesWhen they speaking to the presses we don’t believe a single sentence we don’t need them for protection we can see through their deceptionFrom hidden ancient artifacts to futuristic missiles, the world will continue to split with humans in the middleThe revolution is simple look at yourself in the mirror you feel it burning behind your eyes inside of your spiritWe cherish this moment cuz now that we’re growing in numbers and no one knows that we’re coming we’ve summoned each other and now we’re together we’re coming with love in our hearts to start a new beginning with new vision to see through the dark and we’re winningNo more dealing with sheeple or arguing we don’t need to cuz every single one of us is all equal we the people are the ones who’s gonna see through this evil and if we’re not able to reach you we love you but we must leave you because…chorusYeah the time has come and we’re all awakeWe see through the lies and we’re not afraidWe’re on the other side where everything is real are you prepared ? Get ready for the seventh seal2nd verseIt's like a modern day inglorious bastardsWe approaching the catalyst with informative rappers, infowarriors, hackers, and activists from round the globe we’re in action we’re the last ones left so you could only imagine what's going to happen next cuz this is only a fraction and no one's alone in this that's why we sworn by the masses and cause a mass effect the new world order's collapsing the force is just massive you feel it in your soul as it passesThis is the clash of the tyrants fascism zionist magnetic science galactic alignment capitol giants trying to trap us inside this mechanical climate but we adapt and survive it and that's why we’re never looking back or behind usIt's either gunna get darker or brighter and as we walk through the fire we become more conscience and wiserAnd we’re not gunna stop why because we got the desire to topple empires we’re not gonna comply we’ve got to survive this..chorusYeah the time has come and we’re all awakeWe see through the lies and we’re not afraidWe’re on the other side where everything is real are you prepared ?... --- ### Black Mirror saison 3 - **URL**: https://www.skyminds.net/black-mirror-saison-3/ Voici le retour tant attendu de Black Mirror sur Channel 4 avec la troisième saison de la série. Episode 1 : Nosedive L'histoire se déroule dans un monde où chaque personne note les autres de 0 à 5, les mieux notés ayant accès à de meilleurs services. Lacie ne vit que pour améliorer sa note de 4,2 et cherche à quitter l'appartement qu'elle partage avec son frère, qui méprise le système de notation, pour les beaux quartiers. Elle se montre donc extrêmement polie et recherche toujours à obtenir l'approbation générale, quitte à mal noter un collègue qu'elle apprécie. Lacie est également en admiration devant Naomi, sa belle amie d'enfance qui a toujours maintenu sa note au-dessus de 4,6 dont elle garde le souvenir en scrutant ses profils sur les réseaux sociaux et en conservant une peluche qu'elles ont fait ensemble alors qu'elles avaient 5 ans. Quand son amie d'enfance au statut irréprochable lui demande d'être sa demoiselle d'honneur, Lacie voit l'opportunité d'améliorer sa note et réaliser ses rêves. Episode 2 : Playtest Après la mort de son père d'un Alzheimer précoce, Cooper quitte la maison familiale aux États-Unis sans prévenir sa mère pour faire un tour du monde. Après l’Australie, la Thaïlande, l'Inde, l'Italie, l'Espagne et la France, il arrive à sa dernière étape, Londres. Il passe la nuit avec Sonja, journaliste spécialisée dans les nouvelles technologies, rencontrée sur une application de rencontres. Le lendemain, Cooper constate que son compte en banque est vide et plutôt que d'appeler sa mère, à qui il n’a pas parlé depuis son départ, préfère prendre un petit boulot. Il trouve par une application smartphone une offre bien rémunérée, un test de jeu par Saito Gemu (Game) ; Sonja est intéressée et excitée à l'idée d'avoir un contact avec Shou Saito, l’un des grands noms du jeu vidéo spécialisé dans le jeu d'horreur. Episode 3 : Shut Up and Dance Une femme reçoit plusieurs SMS l'intimant à laisser sa voiture dans un parking souterrain. Terrorisée, elle obéit aux ordres et quitte les lieux. Kenny, un adolescent de 19 ans, vit avec sa mère et sa sœur Lindsay. Serviable et aimable, il travaille comme plongeur dans un fast-food. Un jour, en rentrant chez lui, il surprend sa sœur avec son ordinateur portable sur lequel elle a téléchargé un programme contenant un malware qui fait planter la machine. Il pense supprimer le programme malveillant puis s'enferme dans sa chambre pour se masturber devant de la pornographie sur Internet. Peu après, il reçoit un courriel anonyme : des pirates l’ont filmé pendant l'acte par sa webcam et menacent de mettre en ligne la vidéo s'il ne leur obéit pas. Episode 4 : San Junipero Yorkie arrive à San Junipero en 1987. Introvertie, c'est son premier samedi soir dans la ville côtière, où règne une ambiance légère et festive. Elle repère Kelly, une fille bien plus libérée qui cherche à éviter Wes, un ex-petit ami insistant. Kelly surprend Yorkie en l'utilisant comme prétexte pour se débarrasser de Wes, affirmant... --- ### Conseils pour réussir l’oral de Littérature Étrangère en Langue Étrangère (LELE) au bac - **URL**: https://www.skyminds.net/conseils-reussir-oral-litterature-lele-bac/ Voici quelques conseils pour réussir l'épreuve orale de Littérature Étrangère en Langue Étrangère (LELE) au baccalauréat. Rappel de l'épreuve Le candidat présente à l'examinateur 2 thématiques étudiées pendant l'année. Chaque thématique se compose de 2 textes étudiés en classe et d'un ou plusieurs documents personnels (non étudiés en classe) qui illustrent la thématique. L'examinateur choisit une thématique sur laquelle le candidat doit s'exprimer. A retenir : il n'y a pas de temps de préparation.prise de parole en continu : 5 minutes.interaction : 5 minutes.les dossiers doivent être en double : vos 2 dossiers pour vous, 2 dossiers pour l'examinateur. Aucune annotation sur les textes. Conseils pratiques Introduction L'introduction doit être très brève. Seules les informations pertinentes doivent figurer dans votre exposé, ne perdez pas de temps en détails biographiques inutiles sur les auteurs. Vous devez replacer le ou les auteurs dans leur contexte littéraire (quelle époque, quel genre, quel courant, quels sont les figures emblématiques de ce courant?). Cette mise en perspective représente 5 points sur 20! Optez pour une problématique claire et une annonce du plan simple et efficace : deux ou trois parties. Apprenez votre introduction: c'est ce que vous allez dire en premier et on n'a jamais deux fois l'occasion de faire une bonne première impression. Développement Il ne faut pas paraphraser l'intrigue des extraits étudiés, ni faire un résumé de l'histoire, ni séparer les documents ou les étudier les uns à la suite des autres. Vous devez faire étude comparée des documents qui composent le dossier et expliquer en quoi l'extrait étudié est pertinent : qu'apporte-t-il à la thématique? En quoi est-il différent ou similaire aux autres? Les justifications du choix du document personnel sont primordiales. Il faut choisir soigneusement son document. Ce document doit illustrer un aspect de la thématique. Le document personnel peut être : un extrait (non étudié en classe) de la même oeuvreun extrait d'une autre oeuvre du même auteurun extrait d'un autre auteurune illustration ou couverture de livreune affiche de filmune photo de filmune page web Il faut toujours citer ses sources, pour un texte comme pour une image. Si l'image provient d'internet, il faut citer le nom du site et chercher le nom de l'auteur. Note : il s'agit d'une épreuve de littérature anglophone, vous ne pouvez pas utiliser un document écrit dans une autre langue puis traduit en anglais pour cette épreuve. Conclusion La conclusion doit répondre à la problématique posée dans l'introduction. Entretien Après l'exposé de 5 minutes, l’examinateur enchaîne sur une discussion de 5 minutes afin de préciser certains points ou d’ouvrir vers un autre sujet. Il attend du candidat une expression claire et une argumentation développée, structurée. --- ### Preacher saison 2 - **URL**: https://www.skyminds.net/preacher-saison-2/ Preacher revient pour une seconde saison sur AMC. Jesse, Tulip, et Cassidy commencent leur quête pour trouver Dieu mais cette entreprise est rapidement stoppée par l'arrivée d'une voiture. Une chose en amenant une autre, c'est bientôt toute une ribambelle de voitures de police qui se lance à leur poursuite. Lorsque leur voiture s'arrête faute d'essence, Jesse utilise Genesis pour forcer les policiers à faire des choses gênantes mais ils sont brutalement interrompus par l'arrivée du Saint of Killers qui commence à massacrer tout le monde. De justesse, le trio parvient à s'échapper et retrouve Mike, un érudit évangéliste que Jesse connaît par son père. Mike révèle que la manager d'un strip club local a été témoin de la venue fréquente de Dieu dans son établissement. Mike se donne la mort lorsque le Saint of Killers arrive, peu de temps après le départ du trio, pour s'interdire de révéler où se trouve Jesse. Au strip club, la manager est obligé de dire à Jesse et Tulip que Dieu ne venait uniquement que parce qu'il aimait la musique jazz. La manager meurt d'une balle perdue alors que Cassidy se battait avec un agent de sécurité. Plus tard ce soir là, dans un motel, Jesse voit le Saint of Killers marcher dans la rue et apprend que Genesis n'a aucun effet sur lui... Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Serveur dédié : réinitialiser le mot de passe root d’un serveur MySQL ou MariaDB - **URL**: https://www.skyminds.net/serveur-dedie-reinitialiser-mdp-root-mysql-mariadb/ Pour les besoins d'un de mes clients préférés, j'ai eu la grande joie de paramétrer un VPS aux petits oignons avec réplication des données à la volée. C'est un projet fascinant que j'ai déjà abordé dans la série réplication de données. Au moment de la réalisation des bases de données, je demande à mon client le mot de passe root du serveur de base de données pour y créer de nouveaux utilisateurs. La réponse ne se fait pas attendre : "je n'ai pas ce mot de passe mais j'ai confiance en toi Matt, tu pourras aisément contourner le problème!". Challenge accepted. Voici donc un mini-tutoriel pour réinitialiser le mot de passe root quand vous ne l'avez jamais eu vous en souvenez plus. Vous aurez besoin de deux fenêtres de terminal, que je nomme ici terminal1 et terminal2. Etape 1 : lancer mysqld_safe Voici le principe de la manipulation : nous allons "occuper" le serveur MySQL ou MariaDB en lançant le daemon mysqld_safe dans un terminal et nous allons lancer un second terminal qui nous permettre de réinitialiser le mot de passe root. C'est parti : dans le terminal1, nous commençons par arrêter le serveur SQL: service mysql stop puis lançons mysqld_safe : mysqld_safe --skip-grant-tables --skip-syslog --skip-networking Le terminal semble arrêté ou attendre quelque chose : c'est bon signe, laissez-le comme ça pour le moment. Etape 2 : réinitialisation du mot de passe root Nous passons à la seconde étape et, dans le terminal2, nous ouvrons une session root sur le serveur SQL : mysql -u root Boum, on ne nous demande aucun mot de passe, grâce à la commande passée dans le terminal1. Nous en profitons donc pour changer le mot de passe de l'utilisateur root avec : UPDATE mysql.user SET Password=PASSWORD('$M€GA*.*pwd4mariaDB-SQL2017*') WHERE User='root'; et appliquons les changements : FLUSH PRIVILEGES; On quitte la session SQL : exit, et, toujours dans le terminal2, on quitte proprement la session mysqld_safe: mysqladmin -u root -p shutdown Entrez votre nouveau mot de passe root pour le serveur SQL. Boom, vous venez de fermer la session mysqld_safe du terminal1. Il ne vous reste plus qu'à relancer le serveur SQL: service mysql start Et voilà, vous venez de changer le mot de passe root de votre serveur de base de données en moins de 3 minutes. --- ### Les Cyclades : l’île de Milos - **URL**: https://www.skyminds.net/les-cyclades-lile-de-milos/ C'est en arrivant dans l'effervescence de Milos que nous avons regretté le calme paisible de Sifnos. À peine débarqués, la différence est flagrante : il a des gens partout et le port fourmille de touristes qui se promènent sur la jetée. Nous trouvons un coin pour manger puis tentons de gagner l'hôtel. Je dis bien tentons car nous avons eu un mal fou à nous repérer selon le plan et avons erré quasiment une heure, appelé au téléphone le très désagréable propriétaire du logement à plusieurs reprises, avant que Google Maps ne nous remette sur le droit chemin. Après avoir déposé nos affaires à la chambre, nous partons nous promener. Le lendemain matin, on se laisse tenter par une journée d'aventure en voilier : partir au sud et à l'est de Milos pour rejoindre criques cachées et calanques protégées au creux de falaises naturelles. L'endroit est idyllique : nous passons la journée sur le pont du bateau, à prendre les embruns en plein visage et à nous baigner pendant des heures toute la journée. Nous sommes une douzaine sur le bateau, accompagnés de trois skippers qui savent exactement où naviguer. Le nord de l'île étant impraticable à cause des grosses vagues de la tempête, les côtés sud et est sont tout à fait à l'abri et nous découvrons de superbes arches, dans une eau totalement cristalline. Les criques sont magnifiques, la température de l'eau est tellement bonne que nous passons la journée à plonger du bateau et explorer les criques avec notre masque et tuba ! Nous voyons une foule de poissons, circulant en banc ou en solo, et parvenons même à en toucher certains. Nous sommes partis à 10 heures du matin et revenons vers 19h30, au lieu des 18 heures prévues : c'est une bonne journée de bateau. D'ailleurs, les skippers ne sont pas avares de leur temps avec nous puisque la nourriture préparée par les matelots eux-mêmes et boissons (à volonté) sont incluses dans le prix (60 euros par personne). On vous recommande l'excursion, c'est vraiment à faire. Nous allons aussi à la plage, dans la perspective de nous baigner. Nous prenons un bus pour rejoindre Sarakiniko : sur place, le paysage est lunaire. Ici, pas de végétation mais uniquement des rochers polis par le vent et le sel. La tempête fait rage et personne ne se risque à se baigner tant la mer est méchante, avec des creux de plusieurs mètres. Une petite crique où l'eau arrive à passer crée une sorte de petit bassin où il est possible de se tremper devant les vagues gigantesques qui s'abattent sur la falaise devant nous. La scène est spectaculaire : vent et vagues se donnent la réplique et on ne peut entendre que la puissance des éléments qui couvre nos voix. Pour finir l'après-midi, nous prenons le bus pour nous rendre dans un petit village au bout de l'île, Plaka, recommandé pour y voir le soleil qui s'y couche sur la mer Egée. Nous arpentons les rues du village... --- ### Caught A Ghost – Time Go - **URL**: https://www.skyminds.net/caught-a-ghost-time-go/ Caught A Ghost is a band from Los Angeles created by songwriter and producer Jesse Nolan, with Stephen Edelstein on drums and sultry vocals and percussions from actress Tessa Thompson (who appeared in Heroes). They feature a modern take on blue-eyed soul, classic motown and stax volt compositions with influences from dubstep, 90's rap and contemporary electronica. https://www.youtube.com/watch?v=f_LqBYI10fM I’m in need of the answer, in search of the question, in love with being broken-heartedDays race by faster, it’s a made-up lesson, and I’m lost before it startedA little white lie, a big black sky, an emptiness open on the dashboardI feel a lack of self, and it’s someone else, telling you to try, where you failed before Where does the time go?I don’t knowIt’s movin’ underneath meLike I’m moving in slow-motionI reach out thoughit passes too quick to see me Livin’ on the back nine, livin’ out your past life, tryin’ to make a livin' as an outlawBut the problem you see, stealing ain’t what it used to be, everyone’s used to it by nowYou pack up your gun, make your best run, your faking isn’t breaking any new groundBut is there such a thing, when you watch the rain wash away everything you thought you’d found? Where does the time go?I don’t knowIt’s movin’ underneath meLike I’m moving in slow-motionI reach out thoughit passes too quick to see me (Your time will come if you let it be right, if you let it be right) I think that this could be the last one JimmyWhy don’t you come and take this last one with me?I gotta say that it’s good to be homeSometimes I miss you when I’m out there aloneSo come around some time, clear your mind, it’s getting harder as the weeks slip awayWe can turn on a dime, pass you a b’lime, while you wait for the truth to come your way Your time will come if you let it be right, if you let it be rightYour time will come if you let it be right, if you let it be rightYour time will come if you let it be right, if you let it be right You can hear it at the end of the second episode of Suits season 2. --- ### Les Cyclades : l’île de Sifnos - **URL**: https://www.skyminds.net/les-cyclades-lile-de-sifnos/ Ce matin, nous partons pour l'île de Sifnos. Nous quittons notre logement et prenons le métro pour aller jusqu'au terminus de la ligne 3, le Pirée. Nous choisissons de prendre le bateau le plus rapide, qui effectue la traversée en quasiment deux fois moins de temps que l'autre. Nous faisons bien car c'est la tempête et cela secoue grandement à l'intérieur... Heureusement, nous avons grignoté un peu avant de partir, ce qui nous évite une belle déconvenue... Arrivés à Sifnos, nous prenons le bus jusqu'à Apollonia puis un second bus pour rejoindre Kastro, le petit village où se trouve notre logement. Chez Anthonis Vue depuis les hauteurs de Kastro Nous visitons cet entrelacs de ruelles médiévales et déjeunons dans une excellente taverne : la salade grecque composée de légumes locaux est extraordinaire, tout autant que la moussaka. Sieste, promenade pré-apéritive, notre instinct nous conduit au bar révolutionnaire cubain bien nommé "le Castro". Pas de tables, mais chacun s'installe à sa guise sur des coussins disposés à terre ou sur des murets. Dans le petit local qui sert de bar, pas de tables non plus, mais un grand comptoir de bois, au coin duquel des dizaines de bouteilles de rhum vides sont amoncelées sur le sol. Des chats errants y vivent aussi. Pauvres petits touristes que nous sommes, nous demandons la carte et le patron nous explique l'air surpris qu'il n'y a pas de carte, mais qu'il nous fera tout ce que nous voudrons. Matt commande une margarita et Cécile, fidèle, une bière. A la première gorgée de son cocktail, Matt manque de s'étouffer, la glotte anesthésiée par la haute teneur en rhum de son breuvage. On peut dire (en chti) qu'il n'y va pas avec le dos de la cuillère! Ensuite, nous dînons dans les hauteurs de la ville, dans un excellent restaurant qui sert une cuisine traditionnelle et copieuse. La soirée est exquise. Plage de Vathi Le lendemain, nous allons à une superbe plage, bien sympathique, qui s'appelle Vathi. Les restaurants sont au bord de l'eau cristalline et les maisons traditionnelles, perchées sur le flanc de la montage, donnent directement sur la baie. Nous y passons un bon moment, et alternons entre baignade et séchage. L'eau est un bain et peuplée de poissons multicolores, ce qui est féérique. La faim se fait sentir, ce qui nous donne l'occasion de goûter à la cuisine locale, les pieds dans l'eau. C'est délicieux. A la fin de la journée, la douche révèle nos couleurs ! Nous faisons une promenade sur le mur d'enceinte de la ville, mais ce soir, c'est la tempête : creux de plusieurs mètres et un vent violent qui fait perdre l'équilibre. Quelle journée décoiffante! --- ### Visite du temple de Poséidon au Cap Sounion - **URL**: https://www.skyminds.net/temple-poseidon-cap-sounion/ Après l'intense journée vécue hier, nous apprécions ce matin de ne pas mettre de réveil à sonner. Nous allons chercher du pain frais et des biscuits à la boulangerie du coin et prenons notre temps sur la terrasse extérieure de l'appartement. Il fait déjà chaud ! Nous sommes encore indécis quant au programme de la journée et commençons par nous rendre à l'office de tourisme qui se situe près de l'Acropole pour demander des informations concernant les bateaux qui mènent au Pirée, ou à propos des bus pour voyager un peu en Grèce. L'homme qui nous accueille est charmant et répond avec beaucoup d'efficacité à nos questions. Nous décidons alors du programme de la journée : nous quitterons Athènes pour visiter le Cap Sounion, où se tient un temple dédié à Poséidon, qui surplombe la mer. Il n'y a pas de gare routière unique à Athènes, mais bon nombre de lieux différents desservent les bus. Autant dire qu'il faut vraiment être bien renseigné à l'avance pour ne pas se tromper. Nous traversons donc la ville en métro et à pieds pour nous rendre à la Platia Egyptou, d'où partent les bus en direction du sud de l'Attique. Deux heures plus tard, nous voici arrivés. Il est assez tard : nous préférons grignoter une salade avant de débuter notre visite. Nous nous installons à la seule taverne des environs et l'apprécions car elle offre une vue imprenable sur le temple et la nourriture est bonne et fraîche. Se rafraîchir avant la montée. Le temple de Poséidon se dresse majestueusement à la pointe du cap et surplombe la mer d'un côté et la montagne de l'autre. La vue, mise en valeur par une exceptionnelle luminosité, est splendide. A gauche du temple A droite du temple Ce monument érigé au Vème siècle avant J-C a une particularité : les colonnes qui le constituent sont plus fines en haut qu'en bas, ce qui sert à accentuer l'effet de perspective et les voir plus haut qu'elles ne le sont en réalité. L'effet est réussi ! Nous faisons le tour du temple et descendons sur le petit chemin en contrebas du monument. Sur notre gauche, la mer à perte de vue et sur notre droite, des vestiges d'habitations proches du temple. La chaleur est intense et l'eau turquoise qui nous entoure nous tente vraiment. Descente du temple vers la plage Une fois notre visite achevée, nous descendons vers la plage située en contrebas par un tout petit chemin qui serpente à travers les herbes. Matt est bien content d'avoir investi dans ses Merell, ses chaussures de rando ouvertes et à lanières. Temple de Poséidon, vu de la plage Une fois sur la plage, nous sautons dans l'eau illico presto. D'ailleurs, nous n'avons pas d'autre choix tant le sable est brûlant. La mer chaude et cristalline reflète le temple qui la domine. A cet instant, nous ne faisons plus qu'un avec Poséidon ! Le moment est vraiment sublime. Nous nageons un bon moment, puis il est temps... --- ### Athènes : le musée archéologique et l’Acropole - **URL**: https://www.skyminds.net/athenes-musee-archeologique-acropole/ Depuis hier, l'Acropole nous regarde depuis le haut de sa colline : il est temps de lui faire une petite visite. C'est donc l'objectif que nous nous fixons pour la journée. Nous prenons notre temps pour petit déjeuner car nous sommes allés chercher du pain et des petits gâteaux à la boulangerie du coin. Notre logement est situé à 10 minutes de marche de l'Acropole. Nous nous y rendons tranquillement, en visitant le quartier. Plusieurs centaines de mètres avant l'entrée du site, nous sommes surpris par la foule, avant de nous rendre compte qu'il s'agit de la double file pour acheter des billets d'entrée. Ni une, ni deux, nous changeons nos plans et optons pour la visite du musée archéologique d'Athènes. Cela tombe bien car il fait très chaud et l'idée de faire la queue deux heures au soleil ne nous réjouit guère. Nous reprenons jusqu'à la station de métro Omonia et marchons jusqu'au musée. Le quartier n'est pas très sécurisant, on se croirait un peu dans Brooklyn. Le musée est situé dans un grand jardin et l'édifice est composé de 3 ailes. Si l'on veut commencer par l'ordre chronologique, il faut commencer par l'aile qui se trouve devant l'entrée puis à gauche et enfin à droite. Nous commençons la visite par la première aile dédiée à l'époque mycénienne. Le masque d'Agamemnon est la pièce maîtresse de la collection. Nous sommes également heureux de découvrir des tablettes gravées en linéaire B: il s'agit de caractères antérieurs à l'alphabet des phéniciens que les archéologues n'ont pas réussi à déchiffrer avant les années 1955. Ce sont deux cryptologues de l'armée, n'ayant rien à voir avec l'archéologie, qui ont réussi à percer ce mystère grâce à leurs connaissances dans les chiffres et symboles pendant la seconde guerre mondiale. Le masque d’Agamemnon Sculptures d’animaux Linéaire B. Masques de taureaux Des bijoux toit en or sont aussi exposés ainsi que de nombreux objets de la vie quotidienne. La seconde aile est consacrée à des statues sculptées en marbre et parfois en bronze. Nous admirons les kouroi et percevons l'évolution de leur représentation au fil des siècles: la connaissance de l'anatomie et l'acquisition de technicités rendent les sculptures de plus en plus précises. Le clou de l'exposition est sans aucun doute la statue de Zeus porteur de foudre qui est très célèbre. Nous apprécions aussi les statues de sphinx. Kouros Zeus brandissant le foudre Sphynx Le cavalier d'Artemission La troisième aile est consacrée à l'époque romaine. En effet, en -207 lors de la bataille de Zama les Romains conquirent la Grèce de manière définitive. Le pays tombe sous la règle romaine et les arts Grecs et Romains fusionnent: les Romains adoptent les techniques sculpturales grecques mais les statues gardent quelques traits typiquement Romains comme le réalisme des coiffures ou du regard qui semble percer l'âme des visiteurs. Enfin, nous terminons la visite par l'étage supérieur, entièrement consacré à la céramique. Les images de la vie quotidienne, de la guerre, ou de figures sacrées défilent sous nos... --- ### La Grèce et les Cyclades : Paris – Athènes - **URL**: https://www.skyminds.net/grece-cyclades-paris-athenes/ Aujourd’hui, on part pour un voyage de quelques jours à Athènes et dans les Cyclades! Nous avons pris un train pour rejoindre Paris la veille et Julia nous a gentiment hébergés pour la nuit, qui fut courte car il fallait être sur le pont à 3h30 du matin. Un taxi nous attend en bas de la rue à 4 heures pour rejoindre l'aéroport d'Orly Sud. Notre vol est assuré par Transavia pour un départ prévu à 6:30. Un café allongé et un croissant étriqué plus tard, nous commençons à émerger et passons les contrôles de sécurité. Le personnel de l'aéroport est sympathique et l'organisation efficace : nous passons tous les checkpoints rapidement et n'avons que quelques minutes pour flâner dans la zone duty-free que déjà l'embarquement commence. Départ à l'heure, arrivée à l'heure à 10h30 heure locale : il y a une heure de décalage horaire par rapport à la France. On marche jusqu'au métro. Il y en a un toutes les demi-heures donc comme on se perd en chemin, on a celui de 11h30. Ça coûte 10 euros par personne mais 18 euros si on prend un billet double pour deux voyageurs. Le métro (ligne 3) nous emmène directement au centre ville d'Athènes. Au début, le métro part de l'aéroport et nous admirons les paysages brûlés par le soleil: une terre asséchée, des oliviers à foison et des collines rocailleuses. Ensuite, le métro devient souterrain. Cela prend environ 30 minutes pour relier le centre ville d'Athènes depuis l’aéroport. Nous arrivons à la station Syntagma, en plein cœur de la ville. S'y trouve le Parlement. Juste devant, on voit aussi des gardes, en costume traditionnel. La chaleur est accablante et nous avons soif, car toutes les provisions d'eau achetées avant l'embarquement sont écoulées. Nous nous mettons en branle pour trouver un petit bouge où déjeuner. Nous savourons une bière fraîche, accompagnée d'un plat de «souvlaki» pour Matt. Ce sont des brochettes de porc aux herbes, accompagnées de frites, de tomates et de tzatziki. Il se régale. Cécile se rafraîchit avec une salade grecque. Le repas est agréable et nous nous reposons un peu. Il est temps de rejoindre notre logement. Armés de notre plan, nous marchons en direction de l'Olympeion, le temple de Zeus Olympien. Nous le longeons, traversons la ligne de tram et quelques rues plus tard, nous y sommes. Il s'agit d'un appartement spacieux, fonctionnel et agréable. Il a même un petit jardin et une terrasse sur le toit, avec vue sur l'Acropole. Parfait ! La douche et la sieste sont divines. Nous repartons ensuite et nous promenons dans le quartier Plaka. Des petites échoppes touristiques se succèdent. L'ambiance est très bonne. Matt, venu en Grèce spécialement pour cela, a très envie de goûter ce fameux gâteau qu'il avait découvert en Crète quelques voyages plus tôt et dont il rêve chaque nuit depuis: le baklava. Nous nous attablons donc à la terrasse d'une pâtisserie et dégustons un baklava et un kataïfi. Notre promenade se poursuit dans Plaka. Il... --- ### Alexandr Misko – We Will Rock You (Queen cover) - **URL**: https://www.skyminds.net/alexandr-misko-will-rock-queen/ Ce moment étrange où tu réalises qu'il est possible de recréer le rythme de batterie de We Will Rock You sur une guitare acoustique, avec un bic. Alexandr Misko, guitariste russe, l'a fait et appelle ça "penguitar": https://www.youtube.com/watch?v=Ti_J0CqRqAM Génial. --- ### MariaDB : résoudre l’erreur 1062 (duplicate entry for key PRIMARY) lors de la réplication des bases de données - **URL**: https://www.skyminds.net/mariadb-1062-duplicate-entry-replication/ Si vous utilisez les fonctions de réplication de MySQL ou MariaDB, il peut arriver que votre slave bloque sur une instruction qui devrait avoir un identifiant unique mais que le serveur tente d'insérer deux fois. Et quand c'est le cas, la réplication des données prend fin donc c'est un problème à corriger rapidement si vous voulez que votre système haute disponibilité perdure et soit vraiment efficace en cas de coup dur. Identification du problème Je me suis rendu compte du problème lorsque j'ai ajouté de nouvelles bases à répliquer : j'ai relancé la procédure d'installation, relancé les serveurs, ajouté les nouvelles positions, démarré les slaves. On regarde le status du slave : MariaDB [(none)]> SHOW SLAVE STATUS\G Résultat : *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 10.134.23.164 Master_User: replicator Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mariadb-bin.000210 Read_Master_Log_Pos: 2753885 Relay_Log_File: mysqld-relay-bin.000002 Relay_Log_Pos: 103794 Relay_Master_Log_File: mariadb-bin.000210 Slave_IO_Running: Yes Slave_SQL_Running: No Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 1062 Last_Error: Error 'Duplicate entry '56-724' for key 'PRIMARY'' on query. Default database: 'frenchy'. Query: 'INSERT INTO `wp_term_relationships` (`object_id`, `term_taxonomy_id`) VALUES (56, 724)' Skip_Counter: 0 Exec_Master_Log_Pos: 1563407 Relay_Log_Space: 1296874 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: NULL Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 1062 Last_SQL_Error: Error 'Duplicate entry '56-724' for key 'PRIMARY'' on query. Default database: 'frenchy'. Query: 'INSERT INTO `wp_term_relationships` (`object_id`, `term_taxonomy_id`) VALUES (56, 724)' Replicate_Ignore_Server_Ids: Master_Server_Id: 1 Master_SSL_Crl: Master_SSL_Crlpath: Using_Gtid: No Gtid_IO_Pos: Replicate_Do_Domain_Ids: Replicate_Ignore_Domain_Ids: Parallel_Mode: conservative 1 row in set (0.00 sec) Comme on peut le constater, plusieurs choses ne tournent pas rond et empêchent la synchronisation des données entre nos deux serveurs : Slave_SQL_Running: No Last_SQL_Errno: 1062 Last_SQL_Error: Error 'Duplicate entry '56-724' for key 'PRIMARY'' on query. Default database: 'frenchy'. Query: 'INSERT INTO `wp_term_relationships` (`object_id`, `term_taxonomy_id`) VALUES (56, 724)' Solution : un RESET sur le slave En me documentant sur le problème, j'ai lu pas mal de choses sur le net. Certains préfèrent cacher l'erreur, au risque de perdre des données. D'autres préfèrent tout effacer pour recommencer la réplication. Aucune de ces "solutions" ne me conviennent donc nous allons procéder autrement. Comme l'erreur n'apparaît que sur le serveur BACKUP et non sur le serveur principal, c'est sur lui que nous travaillerons. Sur le serveur BACKUP, dans MariaDB, on arrête notre slave : MariaDB [(none)]> STOP SLAVE; Query OK, 0 rows affected (0.01 sec) On flush les privilèges et donc les utilisateurs connectés : MariaDB [(none)]> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec) On efface les fichiers logs de notre slave. C'est comme effacer une ardoise pour repartir sur des bases saines. Cela ne supprime aucune donnée - cf le manuel sur RESET : MariaDB [(none)]> RESET SLAVE; Query OK, 0 rows affected (0.00 sec) Et on redémarre notre slave : MariaDB [(none)]> START SLAVE; Query OK, 0 rows affected (0.00 sec) On vérifie de nouveau le status de notre slave : MariaDB [(none)]> SHOW SLAVE STATUS\G Résultat : *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host:... --- ### Fear the Walking Dead saison 3 - **URL**: https://www.skyminds.net/fear-walking-dead-saison-3/ La saison 3 de Fear the Walking Dead a commencé sur AMC. Travis, Madison et Alicia sont capturés par un groupe armé et emmenés dans un complexe militaire. Travis est séparé, enfermé dans un sous-sol, tandis que Madison et Alicia sont retenues captives dans un bureau. Au sous-sol, Travis retrouve Nick et Luciana qui est blessée, avec d'autres prisonniers. Ils s'enfuient mais Travis est recapturé. Nick et Luciana passent par les égouts. Pendant ce temps, Madison et Alicia attaquent leur geôlier, Troy, et Madison empale son oeil avec une petite cuiller. Lorsque les walkers arrivent dans le complexe, Travis, Luciana et Alicia prennent l'hélicoptère tandis que Madison et Nick sont obligés de partir en Jeep avec Troy. Curieusement, j'ai accroché à cette saison, ce qui n'a jamais été le cas auparavant. C'est à croire que les scénaristes ont fait un travail d'écriture ce coup-ci: c'est un peu plus proche de la série mère, The Walking Dead, et un peu plus violent et rythmé - ce qui, il faut bien l'avouer, n'a pas été le cas lors des deux premières saisons fleuves. J'attends de voir si la suite est du même acabit. Seize épisodes ont été prévus pour cette saison. A regarder en version originale: Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Serveur dédié : mise à jour vers Debian 9 Stretch - **URL**: https://www.skyminds.net/serveur-dedie-upgrade-debian-9-stretch/ Cette semaine, le système d'exploitation du serveur principal passe de Debian 8 Jessie à Debian 9 Stretch. Mise à jour des paquets du système La mise à jour s'est faite plutôt simplement pour la majeure partie des paquets : apt update && apt upgrade mais il a fallu s'y reprendre à plusieurs fois pour les paquets restants : apt install Changements dans la configuration Quelques changements notables sont à noter. Configuration apt On vérifie que tous nos dépôts pointent bien vers la version Stretch: nano /etc/apt/sources.list On sauvegarde et on lance les mises à jour: apt update && apt upgrade Configuration SSH La configuration SSH a été modifiée et certaines directives ne sont plus valables. Avant de redémarrer le serveur SSH ou de rebooter et de perdre tout accès au serveur SSH, assurez-vous que la configuration est correcte : sshd -t Résultats : /etc/ssh/sshd_config line 25: Deprecated option KeyRegenerationInterval /etc/ssh/sshd_config line 26: Deprecated option ServerKeyBits /etc/ssh/sshd_config line 44: Deprecated option RhostsRSAAuthentication Il ne vous reste plus qu'à éditer le fichier de configuration SSH: nano /etc/ssh/sshd_config J'ai désactivé les lignes qui posaient problème et ai rajouté de nouveaux protocoles de clé : HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key HostKey /etc/ssh/ssh_host_ecdsa_key HostKey /etc/ssh/ssh_host_ed25519_key Sauvegardez le fichier puis lancez cette commande pour créer les couples de clés privées/publiques dans /etc/ssl: ssh-keygen -A Résultat: ssh-keygen: generating new host keys: ECDSA ED25519 Vérifiez une dernière fois qu'il n'y a aucun problème avec le fichier de configuration SSH: sshd -t et redémarrez le service SSH: service ssh restart Configuration de Courier C'est le bon moment de revoir la configuration IMAP et POP de Courier. On commence par renouveler notre fichier Diffie-Hellman en 4096 bits: cd /etc/courier openssl dhparam -out dhparams4096.pem 4096 et on revoit la configuration de /etc/courier/imap-ssl : SSLPORT=993 SSLADDRESS=0 SSLPIDFILE=/run/courier/imapd-ssl.pid SSLLOGGEROPTS="-name=imapd-ssl" IMAPDSSLSTART=YES IMAPDSTARTTLS=YES IMAP_TLS_REQUIRED=1 COURIERTLS=/usr/bin/couriertls TLS_PROTOCOL=TLS1_2:TLS1_1:TLS1 TLS_STARTTLS_PROTOCOL=TLS1_2:TLS1_1:TLS1 TLS_CIPHER_LIST="ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS" TLS_KX_LIST=ALL TLS_COMPRESSION=ALL TLS_CERTS=X509 TLS_DHCERTFILE=/etc/courier/dhparams4096.pem TLS_CERTFILE=/etc/courier/skyminds-cert.pem TLS_TRUSTCERTS=/etc/ssl/certs TLS_VERIFYPEER=NONE TLS_CACHEFILE=/var/lib/courier/couriersslcache TLS_CACHESIZE=524288 MAILDIRPATH=Maildir Le chemin de SSLPIDFILE a changé donc pensez à le vérifier. Certificat TLS pour Courier Depuis que j'utilise les certificats TLS de Let's Encrypt, il y a une petite modification a exécuter pour que le certificat s'applique aussi à notre serveur de mail : créer automatiquement un certificat pour Courier dès que notre certificat principal est généré. On crée un script bash pour compiler notre clé privée et notre certificat Let's Encrypt : nano /home/scripts/letsencrypt-skyminds-mailserver.sh avec : #!/bin/bash cat /etc/letsencrypt/live/skyminds.net/privkey.pem /etc/letsencrypt/live/skyminds.net/fullchain.pem > /etc/courier/skyminds-cert.pem et on édite notre fichier Let's Encrypt pour le renouvellement : nano /etc/letsencrypt/renewal/skyminds.net.conf et on ajoute la directive renew_hook avec notre nouveau script: [renewalparams] account = ... renew_hook = /home/scripts/letsencrypt-skyminds-mailserver.sh Il ne reste plus qu'à éditer la configuration IMAP: nano /etc/courier/imapd-ssl et y mettre : TLS_CERTFILE=/etc/courier/skyminds-cert.pem puis redémarrez le service: service courier-imap-ssl restart Voilà, ce sont les principales modifications a effectuer lors de la mise à jour vers Debian 9. --- ### Linux : résoudre l’erreur « Cannot set LC_ALL to default locale » - **URL**: https://www.skyminds.net/linux-cannot-set-default-locale/ Récemment, j'ai installé un serveur en Chine, derrière le Great Firewall of China (GFW) pour un des mes clients. Le code n'a pas de frontières mais la langue peut parfois poser problème - même pour un système d'exploitation, au niveau de la locale. Les locales sont un ensemble de paramètres qui définissent la langue de l'utilisateur, sa région et les préférences régionales que l'utilisateur souhaire voir dans son interface. Typiquement, une locale est identifiée par un code langue suivi d'un identifiant de région. Nous avons par exemple "en_US.UTF-8" pour l'anglais américain (en pour l'anglais, US pour les USA) ou "fr_FR.UTF-8" pour le français de France. Dans le cas de mon serveur chinois, qui tourne sous Debian, les paramètres de la locale n'étaient pas uniformément remplis avec le même code langue et certains paramètres étaient manquants. On obtenait donc ces messages lors d'un apt update : perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "fr_FR.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). ou encore ces messages avec apt upgrade, après chaque installation ou mise à jour de paquets : locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_MESSAGES to default locale: No such file or directory locale: Cannot set LC_ALL to default locale: No such file or directory Pas de panique, j'ai quelques solutions pour régler le problème si vous aussi y êtes confronté. Dans ce tutoriel, j'utilise "en_US.UTF-8" parce que j'aime tout avoir en anglais. Si vous préférez le français, remplacez tout par "fr_FR.UTF-8". Etape 1 : éditez le fichier locale Editez votre fichier /etc/default/locale : nano /etc/default/locale et ajoutez ces lignes: LC_ALL=en_US.UTF-8 LC_CTYPE=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 LANG=en_US.UTF-8 LANGUAGE=en_US.UTF-8 Enregistrez le fichier, quittez votre session SSH puis reconnectez-vous pour avoir une nouvelle session avec le changement de locale. Etape 2 : reconfigurer les locales On commence par générer la locale de notre choix : locale-gen "en_US.UTF-8" Et on la reconfigure : dpkg-reconfigure locales Il ne reste plus qu'à tester les locales du système: locale Résultat: LANG=en_US.UTF-8 LANGUAGE=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL=en_US.UTF-8 Et voilà, plus de messages d'avertissement ou d'erreur concernant les locales de votre système. Problème réglé. --- ### Linux : donner les privilèges sudo à un utilisateur sur une instance Amazon Web Service EC2 - **URL**: https://www.skyminds.net/linux-sudo-utilisateur-aws-ec2/ Amazon Elastic Compute Cloud ou EC2 est un service proposé par Amazon Web Services (AWS) permettant à des tiers de louer des serveurs sur lesquels exécuter leurs propres applications web. Si vous avez déjà travaillé sur une instance Amazon EC2 sous linux, vous avez très certainement essayé d'utiliser sudo pour lancer des commandes qui nécessitent une élévation des privilèges de votre utilisateur. Or, la configuration Amazon ne le permet pas par défaut mais utilise une implémentation du fichier sudoers qui n'est pas standard pour une installation linux. Une implémentation du fichier sudoers différente Normalement, lorsque l'on lance visudo, on obtient une version éditable du fichier /etc/sudoers qui nous permet de modifier les comptes utilisateurs pour leur donner la permission d'exécuter la commande sudo et donc contrôler quelles commandes ces utilisateurs peuvent lancer. Anatomie du fichier sudoers Voici un exemple de fichier sudoers classique : # User privilege specification root ALL=(ALL:ALL) ALL# Members of the admin group may gain root privileges %admin ALL=(ALL) ALL# Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL# See sudoers(5) for more information on “#include” directives:#includedir /etc/sudoers.d Les membres des groupes admin et sudo bénéficient des privilèges sudo, tout comme le compte root. Toutefois, aucune de ces lignes ne s'appliquent à un compte EC2 qu'un utilisateur AWS peut utiliser. C'est la dernière ligne, avec la directive #includedir, qui permet de charger le bon fichier avec les privilèges utilisateur. Il est vital de noter que le signe # dans #includedir n'est pas un commentaire mais indique qu'il faut charger les fichiers contenus dans le répertoire /etc/sudoers.d - cela peut prêter à confusion mais c'est comme cela que le fichier sudoers fonctionne. EC2 : donner les droits sudo à un utilisateur Sur une instance EC2, il suffit de lister le contenu du répertoire /etc/sudoers.d pour trouver le bon fichier: ls /etc/sudoers.d Dans la plupart des cas et des distributions, le nom du fichier débute par un nombre élevé tel que 90. Ces fichiers sont chargés par ordre décroissant, à la manière du lancement d'une fusée, donc un fichier qui commence par 90 sera exécuté avant un fichier qui commence par 10. 1. Sous Ubuntu, on édite le fichier /etc/sudoers.d/90-cloud-init-users : sudo visudo -f /etc/sudoers.d/90-cloud-init-users Voici le contenu du fichier au départ : Supplemental Sudo file example // Follows same formatting rules as /etc/sudoers # User rules for ubuntu ubuntu ALL=(ALL) NOPASSWD:ALL Dans cette configuration, l'utilisateur ubuntu a le droit de lancer toutes le commandes (ALL), sans mot de passe sudo (NOPASSWD) sur tous les hôtes (ALL). 2. On ajoute le nom de notre utilisateur matt avec les bonnes permissions : matt ALL=(ALL) NOPASSWD:ALL 3. On enregistre le fichier et on redémarre le service sudo : sudo service sudo restart Notre utilisateur peut désormais devenir root en lançant un simple: sudo -i Et voilà, vous avez désormais un utilisateur capable de lancer des commandes avec sudo sans mot de passe ou de passer root sur une instance Amazon EC2. --- ### Inner Circle – Bad Boys - **URL**: https://www.skyminds.net/inner-circle-bad-boys/ Inner Circle est un groupe jamaicain de reggae formé en 1968 par les frères Ian et Roger Lewis, qui s'appelait à l'origine The Inner Circle Band et qui est connu pour mélanger pop, rock et reggae. En 1987, ils sortent l'une de leurs chansons phares "Bad Boys", qui fut utilisée comme générique pour la série télévisée COPS, diffusée sur Fox. https://www.youtube.com/watch?v=f4MRmEPNUxY Paroles de Bad Boys [Intro]Bad boysWhatcha want, whatcha wantWhatcha gonna doWhen Sheriff John Brown come for you?Tell me, whatcha wanna do? Whatcha gonna do?Yeah [Chorus]Bad boys, bad boysWhatcha gonna do?Whatcha gonna do when they come for you?Bad boys, bad boysWhatcha gonna do?Whatcha gonna do when they come for you? [Verse 1]When you were eight and you had bad traitsYou go to school and learn the golden ruleSo why are you acting like a bloody fool?If you get hot, then you must get cool [Chorus]Bad boys, bad boysWhatcha gonna do?Whatcha gonna do when they come for you?Bad boys, bad boysWhatcha gonna do?Whatcha gonna do when they come for you? [Bridge]You chuck it on that one, you chuck it on this oneYou chuck it on your mother and you chuck it on your fatherYou chuck it on your brother and you chuck it on your sisterYou chuck it on that one and you chuck it on me [Chorus]Bad boys, bad boysWhatcha gonna do?Whatcha gonna do when they come for you?Bad boys, bad boysWhatcha gonna do?Whatcha gonna do when they come for you?Bad boys, bad boysWhatcha gonna do?Whatcha gonna do when they come for you?Bad boys, bad boysWhatcha gonna do?Whatcha gonna do when they come for you? [Verse 2]Nobody naw give you no breakPolice naw give you no breakNot a soldier mona give you no breakNot even you idren naw give you no breakHey, hey [Chorus]Bad boys, bad boysWhatcha gonna do?Whatcha gonna do when they come for you?Bad boys, bad boysWhatcha gonna do?Whatcha gonna do when they come for you?Bad boys, bad boysWhatcha gonna do?Whatcha gonna do when they come for you?Bad boys, bad boysWhatcha gonna do?Whatcha gonna do when they come for you? [Instrumental Interlude] [Verse 3]Why did you have to act so mean?Don't you know you're human being?Born of a mother with the love of a fatherReflection comes and reflection goesI know sometimes you want to let goHey, hey, heyI know sometimes you want to let go [Chorus]Bad boys, bad boysA whatcha gonna do?Whatcha gonna do when they come for you?Bad boys, bad boysA whatcha gonna do?Whatcha gonna do when they come for you?(You're too bad, you're too rude)(You're too bad, you're too rude, yeah)Bad boys, bad boysA whatcha gonna do?Whatcha gonna do when they come for you?Bad boys, bad boysA whatcha gonna do?Whatcha gonna do when they come for you? [Bridge]You chuck it on that one, you chuck it on this oneYou chuck it on your mother and you chuck it on your fatherYou chuck it on your brother and you chuck it on your sisterYou chuck it on that one and you chuck it on me [Chorus]Bad boys, bad boysWhatcha gonna... --- ### Corriger les accents Unicode sur macOS avant de publier dans WordPress - **URL**: https://www.skyminds.net/macos-encodage-unicode-accents/ Quand vous copiez du texte depuis un PDF sur macOS, puis que vous le collez dans WordPress, les accents peuvent parfois se comporter bizarrement. Un é peut sembler suivi d’une espace, les sauts de ligne peuvent apparaître n’importe où, et certains caractères accentués peuvent casser la mise en page. Le texte paraît pourtant normal à l’œil nu. Et c’est bien le piège : deux chaînes Unicode peuvent s’afficher exactement pareil, tout en étant encodées différemment. Magnifique petit traquenard typographique. Dans ce guide, nous allons corriger les problèmes d’accents Unicode sur macOS avant publication dans WordPress ou un autre CMS. Nous verrons la différence entre NFC et NFD, puis plusieurs solutions pratiques avec UnicodeChecker, Python, le presse-papiers macOS, les fichiers texte, les noms de fichiers et WordPress. Le symptôme : des espaces après les caractères accentués Le cas typique arrive avec un PDF ouvert dans Aperçu, l’application Preview installée par défaut sur macOS. Vous sélectionnez un passage, vous copiez le texte, puis vous le collez dans WordPress. Et là, certains accents semblent se détacher des lettres. Vous pouvez voir des espaces étranges, des retours ligne parasites, ou une mise en forme cassée dans l’éditeur. Exemple visuel possible : étrange à la place de étrange À l’œil nu, la différence peut être invisible. Pourtant, dans le premier cas, le caractère accentué peut être composé de deux points de code Unicode : une lettre de base, puis un accent combinant. Le vrai problème : caractères précomposés et décomposés Unicode permet de représenter certains caractères accentués de plusieurs façons équivalentes. Par exemple, la lettre é peut être encodée : comme un caractère précomposé : é, soit U+00E9 ; comme une lettre e, soit U+0065, suivie d’un accent aigu combinant, soit U+0301. Les deux formes sont canoniquement équivalentes. Elles peuvent donc s’afficher de la même manière. En revanche, elles n’ont pas la même représentation binaire, et certains logiciels ne les traitent pas toujours avec la même élégance. C’est là qu’interviennent les formes de normalisation Unicode : NFC : forme composée, souvent la plus pratique pour le web et les CMS ; NFD : forme décomposée, fréquente dans certains traitements internes ; NFKC : forme composée avec compatibilité, utile dans certains nettoyages ; NFKD : forme décomposée avec compatibilité. Pour publier du texte français dans WordPress, la cible raisonnable est généralement NFC. Elle compose les lettres accentuées quand c’est possible, ce qui évite beaucoup de surprises dans les éditeurs, exports, scripts et comparaisons. Pourquoi macOS est souvent impliqué macOS manipule très bien Unicode, mais certains workflows déclenchent des formes décomposées ou des caractères combinants. Cela peut venir d’un PDF, d’un copier-coller depuis Aperçu, d’un ancien document, d’un export bureautique, d’un nom de fichier, ou d’un outil qui conserve la normalisation d’origine. Le système de fichiers APFS accepte des noms de fichiers UTF-8 valides et gère les variantes de normalisation pour retrouver les fichiers. Mais cela ne signifie pas que tout texte copié depuis un PDF sera automatiquement normalisé en NFC avant d’arriver dans WordPress. Le Finder... --- ### Linux : créer un fichier d’échange (swap) pour optimiser un VPS - **URL**: https://www.skyminds.net/linux-creer-fichier-echange-swap-optimiser-vps/ De temps en temps, on me demande de configurer des serveurs dédiés ou des VPS. Dernièrement, j'ai travaillé sur un VPS qui n'avait pas de fichier swap et qui finissait par consommer toute la RAM disponible. Ce tutoriel vous permet de mettre en place un fichier swap sous Ubuntu 16.04 Server. Le fichier swap Le moyen le plus simple d'avoir un serveur réactif et de le prémunir contre les erreurs out-of-memory des services est d'allouer un fichier swap. Le swap est une zone du disque dur spécialement créée pour que le système d'exploitation y garde des données temporaires qu'il ne peut plus stocker dans la RAM. Cet espace permet donc aux services du serveur de continuer de tourner même lorsque la RAM est épuisée et ne sera utilisé que dans ce cas de figure. Les informations seront cependant écrites sur le disque beaucoup moins rapidement que via la RAM. Vérification du swap sur le système Commençons par vérifier si un fichier de swap est déjà en place : swapon --show Aucun résultat : le système n'a pas d'espace réservé pour le fichier d'échange. On vérifie une nouvelle fois s'il existe un fichier de swap actif: free -h Résultat: total used free shared buff/cache available Mem: 3.9G 517M 2.5G 76M 895M 3.0G Swap: 0B 0B 0B Pas de swap actif sur notre système, nous allons donc pouvoir en ajouter une. Vérification de l'espace disponible Il est très commun de créer une nouvelle partition qui contient le fichier d'échange mais comme il n'est pas toujours possible de changer le schéma de partition, nous allons créer un fichier d'échange qui résidera sur notre partition existante. Vérifions l'espace disponible : df -h Résultat: Filesystem Size Used Avail Use% Mounted on udev 2.0G 0 2.0G 0% /dev tmpfs 396M 3.2M 393M 1% /run /dev/vda1 59G 13G 45G 22% / tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup tmpfs 396M 0 396M 0% /run/user/0 Le disque dur se trouve sous /dev dans notre cas. En ce qui concerne la taille de la partition swap : elle ne doit pas dépasser 4 Go (parce qu'au-delà, c'est inutile) et doit correspondre à peu près à la taille de votre RAM (ou le double de votre RAM suivant votre serveur). Création du fichier d'échange Nous allons donc créer un fichier d'échange nommé swapfile, d'une taille de 4 Go, à la racine du système (/). sudo fallocate -l 4G /swapfile Par souci de sécurité, ce fichier sera uniquement lisible par l'utilisateur root : sudo chmod 600 /swapfile Vérifions les permissions et l'espace réservé : ls -lh /swapfile Résultat: -rw------- 1 root root 4.0G Jan 17 16:31 /swapfile Activation du fichier d'échange Nous activons le fichier d'échange: sudo mkswap /swapfile et ensuite : sudo swapon /swapfile Vérifions l'espace de swap disponible: sudo swapon --show Résultat: NAME TYPE SIZE USED PRIO /swapfile file 4G 2.7M -1 Le système peut désormais utiliser le fichier de swap mais cela n'est valide que pour cette... --- ### La Dispute – King Park - **URL**: https://www.skyminds.net/la-dispute-king-park/ La Dispute est un groupe de post-hardcore américain, originaire de Grand Rapids, dans le Michigan. Formé en 2004, les membres principaux sont Jordan Dreyer (chant), Brad Vander Lugt (batterie), Chad Morgan-Sterenberg (guitare) et Adam Vass (basse). Dreyer n'était pas chanteur et n'avait jamais composé de musique lors de la création de La Dispute mais écrivait déjà à l'époque des poésies et de courtes fictions, ce qui se perçoit dans pas mal de morceaux. L’origine du nom du groupe La Dispute est issue de la pièce éponyme écrite par le dramaturge français Pierre de Marivaux. En effet, le chanteur du groupe, Jordan Dreyer lut la pièce au lycée et fit de nombreux parallèles entre le travail de Marivaux et la musique qu'il composait à l'époque. En voici un petit exemple avec King Park: https://www.youtube.com/watch?v=p8BvLdEWXuY Another shooting on the southeast side. This a drive-by, mid-day,Outside of the bus stop, by Fuller and Franklin. Or near there.Not far from the park. About a block from where the other shooting was last month.Or was it last week?Shots were fired from an SUV heading northbound, Eastown,The target a rival but they didn't hit the target this time.They hit a kid we think had nothing to do with it.And I travel backwards through time and space and I disintegrate, become invisible.I want to see it where I couldn't when it happened.I want to see it all first hand this time.I want to know what it felt like.So I float behind police lines, reconstruct the scene in fragments of memories.I want to know what his mother looked like up close, I want to see her leaning over his body.So I float there, transcend time. I want to capture it accurately.I want to know what the color of the blood was spilling out from the tarp onto the concrete.I want to write it all down so I can always remember.If you could see it up close how could you ever forget how senseless death, how precious life.I want to be there when the bullet hit.And the crowd poured out as the shots drowned into siren sounds, out of their houses nowAnd over front yards, all the way up to the place where the police tape ran to mark the crimeScene. Everybody trying to catch a glimpse of what was happening,Of what was going on between the ambulance and all the cop cars.Everybody gossiping, "Whose kid got hit? Where'd it hit him? And who could've fired it?"Everybody wondering, "How did it happen again? And is he dead? These children. Our kids."Everybody wondering how far they were from where the victims lived.And I visit them, their houses. Inside my dream I visit them.My spirit, soaring high and high up over King Park, leaves the crime scene, travels further backTill far before the shooting, through their windows, to their living rooms.I see them younger this time, playing games and doing homework.All these marks of youth soon transformed coldly into stone for fights and stupid feuds.For ruins wrapped in gold. And cruelly... --- ### Nettoyer les fichiers de session PHP obsolètes sous Debian et Ubuntu - **URL**: https://www.skyminds.net/bash-supprimer-les-fichiers-de-session-php-obsoletes/ Lorsque des milliers de fichiers sess_* occupent les inodes d’un serveur, vérifiez d’abord le service Debian phpsessionclean.timer. Il nettoie automatiquement les sessions PHP expirées selon leur chemin et leur durée de vie. Une suppression manuelle avec find ne doit intervenir qu’après avoir identifié le gestionnaire, le chemin et la valeur session.gc_maxlifetime réellement utilisés par PHP-FPM. Les sessions PHP stockées sous forme de fichiers sont petites. Pourtant, un serveur peut en accumuler plusieurs centaines de milliers. Le volume occupé reste parfois modeste, mais chaque fichier consomme un inode. Lorsque tous les inodes d’un système de fichiers sont utilisés, Linux ne peut plus créer de nouveaux fichiers. Le serveur renvoie alors l’erreur No space left on device, même si plusieurs gigaoctets restent disponibles. Sous Debian et Ubuntu, le paquet php-common fournit normalement un script et un timer systemd chargés de nettoyer ces sessions. Avant d’ajouter une tâche cron personnelle, il faut donc vérifier pourquoi ce mécanisme ne fonctionne plus. Comment PHP stocke-t-il les sessions ? PHP peut enregistrer les sessions avec plusieurs gestionnaires. Le gestionnaire historique utilise des fichiers locaux : session.save_handler = files Le chemin de stockage est défini par : session.save_path = /var/lib/php/sessions Chaque session produit alors un fichier portant généralement un nom semblable à : sess_4efe62a42e47ca4a5e89e12197a7eaf4 Le fichier contient les données associées à l’identifiant de session envoyé au navigateur. Selon l’application, il peut mémoriser un panier, un formulaire, une authentification ou un état temporaire. Les installations plus avancées peuvent utiliser Redis, Memcached, une base de données ou un gestionnaire personnalisé. Dans ce cas, aucun nettoyage de /var/lib/php/sessions ne réglera le stockage réellement utilisé. Vérifier si les inodes sont réellement saturés Commencez par contrôler l’espace disque classique : df -hT Vérifiez ensuite les inodes : df -i Une sortie problématique peut ressembler à ceci : Filesystem Inodes IUsed IFree IUse% Mounted on /dev/nvme0n1p2 655360 655340 20 100% / Le disque n’est pas nécessairement plein en octets. Il ne reste simplement plus d’inodes pour créer un fichier, un socket, un cache ou un journal supplémentaire. Compter les fichiers de session PHP Sur une installation Debian classique, comptez les sessions avec : sudo find /var/lib/php/sessions \ -maxdepth 1 \ -type f \ -name 'sess_*' \ -printf '.' | wc -c Cette variante n’affiche pas des centaines de milliers de noms dans le terminal. Elle imprime seulement un caractère par fichier, puis les compte. Pour afficher l’espace disque apparent occupé par le répertoire : sudo du -sh /var/lib/php/sessions Pour connaître le nombre total d’entrées, y compris les autres fichiers éventuels : sudo find /var/lib/php/sessions \ -maxdepth 1 \ -type f \ -printf '.' | wc -c Identifier les répertoires qui consomment le plus d’inodes Lorsque l’origine du problème reste inconnue, recherchez les répertoires contenant le plus de fichiers dans le système de fichiers racine : sudo find / -xdev -type f \ -printf '%h\n' 2>/dev/null | sort | uniq -c | sort -nr | head -30 L’option -xdev empêche find de parcourir les autres systèmes de fichiers montés. Elle évite notamment de traverser un... --- ### Serveur dédié : installer NginX avec support HTTP2 et certificat SSL, PHP, MariaDB sous Debian - **URL**: https://www.skyminds.net/serveur-dedie-nginx-http2-ssl-php-mariadb-debian/ Aujourd'hui, nous sautons le pas et passons du serveur Apache au serveur NginX (à prononcer "engine X") pour booster les performances générales du site. Cela fait quelques serveurs que je monte pour d'autres en utilisant nginx et force est de constater que c'est beaucoup plus réactif qu'Apache et cela prend moins de temps à configurer pour optimiser les réglages. Je pars du principe que c'est une nouvelle installation mais si vous aviez déjà votre site qui tournait sous Apache, certaines étapes seront juste optionnelles. Ce tutoriel vise un serveur Debian mais est adaptable sans problème à ses dérivés comme Ubuntu ou Mint. Etape 1 : NginX Nous allons installer la dernière version du serveur nginx, avec le support pour HTTP2, depuis les dépôts Sury : nano /etc/apt/sources.list et nous ajoutons : # SURY, post-Dotdeb deb https://packages.sury.org/php/ stretch main deb https://packages.sury.org/nginx-mainline/ stretch main deb https://packages.sury.org/mariadb/ stretch main On rafraîchit les dépôts : apt update et on installe nginx et openssl : apt install nginx openssl libssl1.0.2 libssl1.0.1 libssl-dev Etape 2 : MariaDB Si vous ne l'avez pas déjà - cela remplace MySQL sans que vous n'ayez rien à changer au niveau du code ou de la configuration du serveur : apt install mariadb-server Etape 3 : PHP Je vous conseille de suivre mon dernier guide pour installer PHP 7.1. Etape 4 : configurer NginX Nous allons d'abord configurer toutes les options qui nous sont primordiales : compression des fichiers statiques, implémentation SSL, types mime... afin de gagner du temps (et éviter les erreurs) dans l'étape suivante. 1. Nous voulons un site rapide donc nous allons compresser tout ce qui peut l'être. On crée un nouveau fichier : nano /etc/nginx/snippets/gzip-config.conf et on y met : # MATT : add more mime-types to compress types { application/x-font-ttf ttf; font/opentype ott; } # MATT : gzip all the things! gzip on; gzip_disable "msie6"; gzip_vary on; gzip_proxied any; gzip_comp_level 6; gzip_min_length 256; gzip_buffers 16 8k; gzip_http_version 1.1; #gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; # Compress all output labeled with one of the following MIME-types. gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; # text/html is always compressed by gzip module # don't compress woff/woff2 as they're compressed already J'ai ajouté deux types mime qui ne sont pas dans la configuration de base d'NginX et étendu la liste des types de fichiers à compresser. Certains types le sont déjà donc c'est inutile de gaspiller des ressources en essayant de les compresser. 2. Nous allons booster la sécurité de nos certificats. Tout d'abord, nous allons créer un fichier Diffie-Hellman de 4096 bits pour chiffrer les échanges de clés. mkdir -p /etc/nginx/ssl openssl dhparam -out /etc/nginx/ssl/dhparam4096.pem 4096 Là, vous pouvez aller prendre un café parce que cela va prendre un bon bout de temps suivant votre processeur. Comptez 15-20 minutes. 3. Nous mettons toute notre configuration SSL dans un nouveau fichier : nano /etc/nginx/snippets/ssl-config.conf et on y ajoute:... --- ### Better Call Saul saison 3 - **URL**: https://www.skyminds.net/better-call-saul-saison-3/ La saison 3 de Better Call Saul nous ramène exactement là où nous étions à la fin de la seconde saison, après la querelle entre Jimmy et son frère Chuck. Pas de prolepse. En 2002, Jimmy aide son frère Chuck à retirer les panneaux d'aluminium qui couvrent les murs de sa maison et rappelle à son frère un livre qu'ils ont lu ensemble pendant leur enfance. Mais Chuck tranche la nostalgie sèchement et dit à Jimmy que jamais ses actions ne seront oubliées, ni pardonnées. Pendant ce temps, Kim commence à développer une certaine anxiété à développer sa propre firme d'avocats tout en gérant le secret frauduleux de Jimmy. Chuck joue l'enregistrement de la confession de Jimmy à Hamlin, qui le prévient que cela n'a aucune valeur juridique. Mike, déterminé à retrouver les traces du saboteur qui lui a empêché de tuer Hector, désosse sa voiture à la recherche d'un traqueur GPS. Cela lui prend un certain temps et sur le point d'abandonner, il a une épiphanie et le découvre finalement. Quelqu'un vient récupérer le traqueur. Mike s'habille, s'arme et commence sa filature. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Serveur dédié : mise à jour vers PHP7.1 sous Debian - **URL**: https://www.skyminds.net/serveur-dedie-upgrade-php-7-1-debian/ Aujourd'hui, le serveur passe à PHP7.1 ! Ce tutoriel aborde le passage de PHP7.0 à PHP7.1 sur une Debian stable (Jessie). L'opération prend une vingtaine de minutes, en comptant les opérations de vérifications (pre-flight checks en anglais). La retraite PHP chez Dotdeb Guillaume Plessis, qui maintient Dotdeb, a récemment annoncé que pour des raisons personnelles et professionnelles, Dotdeb ne fournira plus les mises à jour de PHP passé la version 7.0. Je comprends sa décision : c'est chronophage et il faut pouvoir être en mesure de répondre aux commentaires et attentes d'une foule de personnes qui utilisent ce dépôt. Pas toujours simple. Merci Guillaume pour tout le travail accompli ! Vérification de la compatibilité PHP7.x sous WordPress Si votre site tourne sous WordPress, il existe un plugin très utile - PHP Compatibility Checker - qui permet de vérifier que la mise à jour n'impactera pas votre site. Je pense notamment aux plugins dont certains peuvent être assez vieillots et dont les fonctions peuvent être maintenant obsolètes. Lancez-le avant de faire la mise à jour. S'il rapporte des warnings, ce n'est pas un problème. Si ce sont des erreurs par contre, mieux vaut y jeter un oeil avant de mettre à jour votre serveur. Nouveau dépôt PHP : Ondrey Sury Si l'on veut PHP7.1, il faut donc changer de dépôt et utiliser celui d'Ondrey Sury. On installe donc ce nouveau dépôt : apt install apt-transport-https lsb-release ca-certificates wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" >> /etc/apt/sources.list Installation de PHP7.1 On met à jour et on installe PHP7.1 : apt update && apt upgrade Résultat : The following NEW packages will be installed: libzip4 php7.1-cli php7.1-common php7.1-curl php7.1-fpm php7.1-gd php7.1-json php7.1-mbstring php7.1-mcrypt php7.1-opcache php7.1-readline php7.1-xml php7.1-xmlrpc The following packages will be upgraded: libssl-doc libssl1.0.2 php-common php-curl php-fpm php-gd php-mbstring php-mcrypt php-xml php-xmlrpc php7.0 php7.0-bcmath php7.0-cli php7.0-common php7.0-curl php7.0-fpm php7.0-gd php7.0-json php7.0-mbstring php7.0-mcrypt php7.0-mysql php7.0-opcache php7.0-readline php7.0-soap php7.0-xml php7.0-xmlrpc php7.0-zip On installe les paquets manquants : php7.1-mysql php7.1-soap Paramétrage de PHP-FPM et NginX Configuration de PHP-FPM On édite php.ini: nano /etc/php/7.1/fpm/php.ini et on modifie: upload_max_filesize = 32M post_max_size = 32M On vérifie que PHP-FPM est bien configuré pour utiliser les sockets : grep -E '^\s*listen\s*=\s*[a-zA-Z/]+' /etc/php/7.1/fpm/pool.d/www.conf Cela doit retourner la valeur suivante: listen = /run/php/php7.1-fpm.sock Si ce n’est pas le cas, on édite la configuration de PHP-FPM : nano /etc/php/7.1/fpm/pool.d/www.conf et on met à jour le fichier avec les directives suivantes: [www] listen = /run/php/php7.1-fpm.sock user = www-data group = www-data pm = dynamic pm.max_children = 20 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 10 On redémarre les services: service php7.1-fpm restart Paramétrage de NginX Editez le fichier de configuration de votre site, nous avons une ligne à changer pour pointer vers le bon binaire PHP : nano /etc/nginx/sites-available/skyminds.net On cherche la ligne fastcgi_pass et on pointe vers php7.1-fpm.sock: #fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_pass unix:/run/php/php7.1-fpm.sock; A ce stade, il ne reste plus qu'à redémarrer PHP-FPM et NginX: service php7.1-fpm restart service nginx restart Voyons maintenant quelle est notre version de PHP:... --- ### DJ Schmolli – Rock Of Ages - **URL**: https://www.skyminds.net/dj-schmolli-rock-of-ages/ Voici un petit mashup rock de DJ Schmolli qui s'appelle Rock Of Ages et qui fleure bon le rock et hard-rock de notre jeunesse : https://www.youtube.com/watch?v=K-8Rd9QBlJI Pas mal de chansons des années 60, 70 et 80. Allez, petit blind test musical : quels artistes êtes-vous capables de reconnaitre, à l'oreille comme à l'écran ? Donnez vos réponses en commentaires (avec timer si vous le souhaitez). --- ### Serveur High Availability : créer un load balancer avec une IP flottante - **URL**: https://www.skyminds.net/serveur-high-availability-creer-load-balancer-ip-flottante/ Après la réplication des bases de données et la réplication des fichiers, passons maintenant à la mise en place d'un load balancer avec keepalived et une IP flottante. Voici le principe général de ce que nous cherchons à accomplir, avec une petite animation: Voici ce dont vous avez besoin pour ce tutoriel: deux serveurs, VPS, ou Droplets si chez Digital Ocean; une IP flottante (gratuite chez DO). Installation et paramétrage de keepalived Keepalived est une application de routage qui permet de fournir un moyen simple et robuste de mettre en place des solutions de load balancing et de haute disponibilité sur des systèmes Linux. Cela se passe au niveau de la couche 4 du modèle OSI : Concrètement, keepalived va vérifier toutes les quelques secondes que notre serveur de fichier est bien actif sur notre serveur MASTER. Si jamais le serveur est down, l'IP flottante sera assignée au serveur BACKUP. L'enregistrement DNS A du site doit pointer vers l'IP flottante. Cela permet de rediriger le trafic automatiquement et de manière transparente sur le serveur BACKUP. Sur le serveur MASTER 1. On installe donc keepalived: apt-get install keepalived et on édite sa configuration init: nano /etc/init/keepalived.conf On y ajoute : description "load-balancing and high-availability service" start on runlevel [2345] stop on runlevel [!2345] respawn exec /usr/local/sbin/keepalived --dont-fork 2. On obtient l'adresse IP privée du serveur: curl http://169.254.169.254/metadata/v1/interfaces/private/0/ipv4/address && echo Résultat: 10.134.23.164 3. Passons maintenant à la configuration de keepalived : nano /etc/keepalived/keepalived.conf On y ajoute : vrrp_script chk_nginx { script "pidof nginx" interval 2 } vrrp_instance VI_1 { interface eth1 state MASTER priority 200 virtual_router_id 33 unicast_src_ip 10.134.23.164 unicast_peer { 10.134.4.220 } authentication { auth_type PASS auth_pass keepalivedpls! } track_script { chk_nginx } notify_master /etc/keepalived/master.sh } Notez les informations suivantes : on vérifie toutes les 2 secondes que nginx possède bien un PID. State : MASTER unicast_src_ip pointe vers 10.134.23.164 (master) unicast_peer pointe vers10.134.4.220 (backup) le mot de passe est keepalivedpls! Sur le serveur BACKUP Ce sont les mêmes étapes que sur le serveur MASTER, donc j'abrège un peu : apt-get install keepalived nano /etc/init/keepalived.conf ajoutez: description "load-balancing and high-availability service" start on runlevel [2345] stop on runlevel [!2345] respawn exec /usr/local/sbin/keepalived --dont-fork Configuration : nano /etc/init/keepalived.conf Ajoutez: vrrp_script chk_nginx { script "pidof nginx" interval 2 } vrrp_instance VI_1 { interface eth1 state BACKUP priority 100 virtual_router_id 33 unicast_src_ip 10.134.4.220 unicast_peer { 10.134.23.164 } authentication { auth_type PASS auth_pass keepalivedpls! } track_script { chk_nginx } notify_master /etc/keepalived/master.sh } Notez ce qui change : State : BACKUP priority 100 unicast_src_ip pointe vers 10.134.4.220 (backup) unicast_peer pointe vers 10.134.23.164 (master) C'est assez parlant. La priorité est moindre car on préférera toujours le MASTER au BACKUP. Gestion de l'IP flottante chez Digital Ocean Digital Ocean (DO) offre une IP flottante, que l'on peut attribuer à un VPS. Chez d'autres hébergeurs, c'est ce que l'on appelle une IP failover. Il suffit d'y associer un nom de domaine et ce domaine pourra être redirigé très facilement vers une autre machine. Cela permet de s'affranchir des délais... --- ### Hébergement OVH : passer à TLS 1.2+ pour WooCommerce et PayPal - **URL**: https://www.skyminds.net/ovh-tls-woocommerce-paypal/ Si vous possédez une boutique en ligne et que vous acceptez PayPal comme moyen de paiement, vous n'êtes pas sans savoir qu'à partir du 30 juin, PayPal exigera une connexion TLS version 1.2 pour gérer la transaction entre votre boutique et PayPal. Concrètement, votre serveur ou votre hébergement doit être configuré pour servir les pages en HTTPS (certificat SSL obligatoire) et avec une version d'OpenSSL qui donne la priorité au protocole TLS version 1.2+. Chez OVH, la version d'OpenSSL dépend de la version de PHP configurée pour votre hébergement et surtout du mode utilisé. Pour avoir la dernière version d'OpenSSL, il faut absolument être en mode Stable. Cela ne prend que quelques minutes à configurer. TLS sur un serveur dédié Dans le cas de votre serveur dédié, il suffit de mettre à jour OpenSSL et d'éditer la configuration du serveur (Apache / nginx) pour désactiver les protocoles SSL, TLSv1, TLS v1.1 pour ne garder que TLS v1.2 et TLS v1.3. TLS sur un hébergement mutualisé OVH Dans le cadre d'un hébergement mutualisé OVH voici la marche à suivre. Commencez par vous rendre dans le Manager OVH puis : activer le certificat SSL Let's Encrypt.choisir une version de PHP récente en mode Stable.passer l'intégralité de votre WordPress / Woocommerce en https (si ce n'est déjà fait mais si vous avez une boutique en ligne, ce devrait être le cas depuis longtemps). En image, voici ce que cela donne : C'est l'étape 2 qui est primordiale pour activer TLS 1.2 : cela permet de passer d'OpenSSL 0.9.8 à OpenSSL 1.0.1t à l'heure où j'écris ces lignes. Vérification TLS v1.2 Pour connaître la version d'OpenSSL en vigueur sur votre serveur : openssl version Enfin, pour savoir si la connexion entre votre serveur et les serveurs de PayPal se fait bien à l'aide du chiffrement TLS 1.2, lancez cette commande sur votre serveur/hébergement dans un terminal : php -r '$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://tlstest.paypal.com/"); var_dump(curl_exec($ch)); var_dump(curl_error($ch));' Si la connexion est bien servie en TLS 1.2, le résultat devrait être : PayPal_Connection_OKbool(true) string(0) "" Voilà, en espérant que cela puisse vous servir. C'est simple à mettre en place et ne prend que quelques minutes pour retrouver un chiffrement plus sécurisé. Si vous avez besoin d'un développeur WooCommerce professionel pour mettre tout cela en place, contactez-moi. Bonne mise à jour. --- ### Prison Break saison 5 : Resurrection - **URL**: https://www.skyminds.net/prison-break-saison-5-resurrection/ La cinquième saison de Prison Break, sous-titrée "Prison Break: Resurrection", continue la série originale de Paul Scheuring qui a été diffusée sur la Fox de 2005 à 2009. Au niveau des acteurs, Wentworth Miller est toujours Michael Scofield, Dominic Purcell est Lincoln Burrows, et Sarah Wayne Callies, Amaury Nolasco, Paul Adelstein, Robert Knepper et Rockmond Dunbar font toujours partie du casting. Au début de cette saison, T-Bag sort de prison et reçoit une photo de Michael qui semble être dans une nouvelle prison. T-Bag montre cette image à Lincoln, qui trouve le mot caché, "Ogygia", qui est un établissement pénitentier situé à Sana'a, au Yemen. Lincoln informe Sara, qui élève Mike, le fils qu'elle a eu avec Michael, en compagnie de son mari Jacob. Elle refuse d'y croire. Lincoln part au Yemen avec C-Note, qui s'est converti à l'Islam. Lincoln échange son passeport contre la promesse de voir Michael en prison mais ce dernier fait semblant de ne pas le reconnaitre. Pendant ce temps, T-Bag est contacté par un chirurgien qui lui propose une main bionique aussi fonctionnelle qu'une main naturelle. T-Bag apprend qu'une personne anonyme appelée Outis ("Personne" en grec) a financé l'opération et a insisté pour que ce soit uniquement lui qui en bénéficie. Personnellement, revoir Prison Break sur les écrans, cela me fait un peu étrange : il y eu énormément de séries de qualité depuis et ce n'est pas une série qui brille par son intrigue ou ses dialogues. C'est même la série type que je conseillais aux élèves et parents pour montrer que l'on pouvait très bien suivre une série en anglais sans sous-titres :) Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Créer un serveur High Availability : la réplication des fichiers - **URL**: https://www.skyminds.net/creer-serveur-high-availability-replication-fichiers/ Nous avons vu il y a quelques jours comment répliquer nos bases de données à la volée d'un serveur à l'autre. Voyons aujourd'hui comment répliquer les fichiers en temps réel avec lsyncd. Pour les besoins de ce tutoriel, vous avez besoin: deux serveurs, VPS, ou Droplets si chez Digital Ocean; d'une connexion SSH par clé, sans mot de passe, entre les deux serveurs. Mon serveur principal s'appelle MASTER. Le serveur de sauvegarde s'appelle BACKUP. Copier tous les fichiers d'un serveur à l'autre avec rsync rsync est le moyen le plus simple de copier tous les fichiers d'un répertoire sur votre serveur de sauvegarde. Nous copions donc tous les fichiers qui se trouvent dans /var/www/html de notre serveur MASTER vers BACKUP : rsync --progress -av --delete --stats --checksum --human-readable /var/www/html/* root@10.134.4.220:/var/www/html/ Cela permet d'avoir deux copies identiques très rapidement, surtout si vos deux VPS sont dans le même datacenter : vous pouvez alors utiliser l'IP interne du serveur - vitesse décuplée assurée (et cela ne compte pas dans la bande passante allouée). La réplication des fichiers du site avec lsyncd Je choisis d'utiliser lsyncd pour assurer la réplication des fichiers du site. C'est un petit service qui surveille le contenu d'un répertoire et qui fait un rsync toutes les 20 secondes vers votre autre VPS. 1. Sur le serveur MASTER, on installe lsyncd: apt-get install lsyncd 2. Et on crée ses répertoires et son fichier de configuration : mkdir /etc/lsyncd mkdir /var/log/lsyncd nano /etc/lsyncd/lsyncd.conf.lua 3. Munissez-vous de l'adresse IP interne du serveur BACKUP (10.134.4.220 chez moi). 4. Ajoutez le code suivant dans le fichier : settings { logfile = "/var/log/lsyncd/lsyncd.log", statusFile = "/var/log/lsyncd/lsyncd-status.log", statusInterval = 20, delete = true } sync { default.rsync, source="/var/www/html/", target="10.134.4.220:/var/www/html/", rsync = { acls = true, verbose = true, compress = true, owner = true, group = true, perms = true, _extra = {"-a"}, rsh = "/usr/bin/ssh -p 22 -o StrictHostKeyChecking=no" } } Il est important de changer l'adresse IP de la ligne 11 pour y mettre celle de votre serveur de destination (serveur BACKUP). Je mets l'adresse IP interne pour ne pas "manger" la bande passante mensuelle. Vous pouvez maintenant lancer lsyncd avec: service lsyncd start et vérifier son état de fonctionnement: service lsyncd status Si lsyncd est correctement configuré, lancé et actif, vous devriez avoir quelque chose comme ceci : lsyncd.service - LSB: lsyncd daemon init script Loaded: loaded (/etc/init.d/lsyncd; bad; vendor preset: enabled) Active: active (running) since Thu 2017-03-09 16:01:33 UTC; 2s ago Docs: man:systemd-sysv-generator(8) Process: 16275 ExecStop=/etc/init.d/lsyncd stop (code=exited, status=0/SUCCESS) Process: 16285 ExecStart=/etc/init.d/lsyncd start (code=exited, status=0/SUCCESS) Tasks: 1 Memory: 26.8M CPU: 1.001s CGroup: /system.slice/lsyncd.service └─16292 /usr/bin/lsyncd -pidfile /var/run/lsyncd.pid /etc/lsyncd/lsyncd.conf.lua Notez la mention active (running), en vert. Pour vérifiez si tout fonctionne : créez un fichier dans le répertoire /var/www/html sur votre server MASTER. Quelques secondes plus tard, ce fichier apparait sur le serveur BACKUP. Résoudre l'erreur "Error: Terminating since out of inotify watches" Si jamais il y a trop de fichiers à transférer d'un coup, il se peut que lsyncd ait du... --- ### Billions saison 2 - **URL**: https://www.skyminds.net/billions-saison-2/ La seconde saison de Billions, diffusée sur Showtime, commence par le bureau de Chuck qui fait l'objet d'une enquête de la part du procureur général. Pendant ce temps, Axe reconsolide Axe Capital et se demande quoi faire ensuite pour rendre à Chuck la monnaie de sa pièce. Le fonds d'investissement se bat contre une situation économique précaire qui menace l'existence même d'Axe Cap. Quant à Wendy, elle accepte l'offre d'un fond de capital rival tandis que Lara se porte volontaire en urgence pour travailler à l'école de ses enfants. Axe affronte publiquement le dirigeant d'un hedge fund concurrent et, grâce à l'aide précieuse d'un stagiaire très talentueux, lance un plan financier qui cherche à faire mal à la compétition. Chuck déploie son équipe sur le terrain afin de trouver rapidement une affaire importante qui pourrait le sortir de sa mauvaise passe - il doit impérativement faire ses preuves pour ne pas être mis à pied. Wendy doit répondre à une série de questions embarrassantes qui pourraient bien faire tomber Chuck, qui vit au Yale Club le temps de leur séparation. La série redémarre bien, les personnages sont vraiment construits avec intelligence et réalisme. Billions a d'ores et déjà été renouvelée pour une troisième saison, qui sera diffusée l'année prochaine, au début de l'année 2018. A regarder en version originale:Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Créer une clé SSH pour se connecter sans mot de passe - **URL**: https://www.skyminds.net/cle-ssh-connexion-sans-mot-de-passe/ SSH permet de se connecter à un serveur distant de manière chiffrée. Par défaut, vous pouvez vous authentifier avec un mot de passe. Cependant, pour administrer un serveur, lancer des sauvegardes ou automatiser des transferts, les clés SSH sont plus propres, plus rapides et plus fiables. Dans ce guide, nous allons créer une clé SSH moderne avec Ed25519, copier la clé publique sur un serveur distant, puis ouvrir une session sans mot de passe interactif. Attention toutefois au vocabulaire : “sans mot de passe” ne veut pas forcément dire “sans sécurité”. Dans beaucoup de cas, la meilleure pratique consiste à utiliser une clé protégée par une passphrase, puis à la charger dans ssh-agent. Pour les scripts automatisés, on peut utiliser une clé sans passphrase, mais il faut alors la restreindre côté serveur. Sinon, c’est une porte automatique. Et les portes automatiques, c’est formidable dans les supermarchés, moins sur un serveur root. Comment fonctionne une clé SSH ? Une clé SSH repose sur une paire de fichiers : la clé privée, qui reste sur votre machine ; la clé publique, que vous copiez sur les serveurs où vous voulez vous connecter. Lors de la connexion, le serveur vérifie que votre client possède bien la clé privée correspondant à la clé publique autorisée. La clé privée ne doit jamais être transmise, copiée sur un serveur tiers, envoyée par email ou collée dans un ticket support. Jamais. Même si le ticket dit “urgent”. Surtout s’il dit “urgent”. La clé publique, elle, peut être ajoutée dans le fichier ~/.ssh/authorized_keys du compte distant. Clé avec passphrase ou sans passphrase ? Avant de générer la clé, choisissez le bon modèle. Cas d’usageRecommandationConnexion depuis votre ordinateur personnelClé avec passphrase + ssh-agentAdministration serveur régulièreClé avec passphrase + agentGit, déploiements depuis votre posteClé avec passphrase + agentCron, sauvegarde automatisée, rsync nocturneClé dédiée sans passphrase, mais restreinte côté serveurAccès root directÀ éviter. Préférez un utilisateur sudo. Pour un poste de travail, une passphrase protège la clé privée si votre machine est compromise. Grâce à ssh-agent, vous ne la saisissez pas à chaque connexion. Pour un script cron, personne ne sera là pour saisir la passphrase. Dans ce cas, une clé sans passphrase peut se justifier, mais elle doit être dédiée à une seule tâche et limitée côté serveur. Créer une clé SSH Ed25519 Depuis votre machine locale, ouvrez un terminal et lancez : ssh-keygen -t ed25519 -a 100 -f ~/.ssh/id_ed25519 -C "matt@skyminds" Explication rapide : -t ed25519 crée une clé Ed25519 ; -a 100 augmente le nombre de tours de dérivation de clé pour protéger la clé privée ; -f ~/.ssh/id_ed25519 définit le chemin du fichier ; -C ajoute un commentaire utile pour identifier la clé. Quand ssh-keygen demande une passphrase, vous avez deux options : entrez une passphrase solide pour un usage humain ; appuyez deux fois sur Entrée pour une clé sans passphrase, réservée à une automatisation contrôlée. Vous obtenez deux fichiers : ~/.ssh/id_ed25519 : clé privée ; ~/.ssh/id_ed25519.pub : clé publique. Ne confondez pas les deux. La... --- ### Créer un serveur High Availability : la réplication des bases de données - **URL**: https://www.skyminds.net/creer-serveur-high-availability-replication-bases-donnees/ Ce tutoriel aborde la réplication des données d'un VPS ou serveur dédié : les bases de données seront répliquées d'un serveur principal (master) sur un autre serveur auxiliaire (backup). En cas de défaillance du serveur principal, le serveur auxiliaire prendra le relais automatiquement. Ce guide considère que vous avez : deux VPS ou Droplets chez Digital Ocean dans le même datacenter; une IP flottante qui peut être assignée à l'un ou l'autre des serveurs, à la demande; le même système d'exploitation sur les deux serveurs, pour des raisons de compatibilité. Créer une image du VPS principal pour le VPS de sauvegarde Commençons par la base du système : le système d'exploitation (OS). Lorsque j'ai pris le projet en main, le site était déjà en production et tournait sur la dernière version d'Ubuntu Server, avec NginX, MariaDB et SSL activé. On aurait pu tout réinstaller sur le nouveau VPS mais autant gagner du temps : Digital Ocean permet de faire une image du VPS existant et de l'installer sur un nouveau droplet. C'est quelques heures d'installation et de configuration économisées. Voici les données de mes deux VPS : MASTER ipv4: 104.xxx.xxx.133 Private IP: 10.134.23.164 BACKUP ipv4: 104.xxx.xxx.186 Private IP: 10.134.4.220 Floating IP Floating IP: 138.xxx.xxx.177 Je masque les IP publiques puisque mes serveurs sont en production, mais ces IP serviront pour le tuto : l'IP qui se termine en .133 est le Master, l'IP qui se termine en .186 est le Backup, et l'IP qui se termine en .177 est l'IP flottante. Réplication de la base de données Les deux serveurs LEMP sont maintenant identiques, même les fichiers et bases de données. Mais nous avons besoin d'avoir une base de données synchronisée en temps réel, dans les deux sens, master-master. Si un serveur tombe, l'autre prend le relais. Lorsque le serveur Master revient à lui, le serveur Backup lui redonne les données SQL manquantes. 1. Configuration du serveur MASTER On édite la configuration MariaDB: nano /etc/mysql/my.cnf On édite et remplace/ajoute : # MATT - skyminds.net : MariaDB replication instructions. # https://www.skyminds.net/?p=28739 # 1. bind-adress : replace 127.0.0.1 with Internal IP. # bind-address = 127.0.0.1 bind-address = 10.134.23.164 # 2. enable log_bin log_bin = /var/log/mysql/mariadb-bin log_bin_index = /var/log/mysql/mariadb-bin.index # 3. add server-id AND binlog_do_db # NOTE : server-id is a way to identify this server in MariaDB configs. # NOTE : binlog_do_db contains the names of the databases to replicate server-id = 1 binlog_format=mixed # first DB binlog_do_db = first_wpdb # second DB binlog_do_db = second_wp # /MATT Nous allons maintenant lancer quelques commandes sur le serveur SQL: mysql -u root -p On crée un utilisateur, replicator, qui utilise le mot de passe replicateME! et on lui donne les droits de réplication : create user 'replicator'@'%' identified by 'replicateME!'; grant replication slave on *.* to 'replicator'@'%'; FLUSH PRIVILEGES; On regarde maintenant l'état de notre serveur: show master status; Résultat: +--------------------+----------+---------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +--------------------+----------+---------------+------------------+ | mariadb-bin.000232 | 839505 | first_wpdb,second_wp | | +--------------------+----------+---------------+------------------+ 1 row in... --- ### NAS Synology : télécharger automatiquement les sous-titres avec Subliminal - **URL**: https://www.skyminds.net/nas-synology-telecharger-sous-titres-subliminal/ Quoi de plus normal que de regarder des séries et films en VO ? Et si vos sous-titres étaient automatiquement téléchargés sur votre NAS tous les soirs ? Regarder des séries et films en version originale, c'est ce que je passe mon temps à faire à recommander à mes élèves - et à leurs parents lors des réunions parents-professeurs. On s'affranchit souvent de ces petits fichiers textes mais il peut arriver de tomber sur une série un peu plus coriace, qui demande de bien tout comprendre si on veut vraiment saisir le fin mot de l'histoire. Bref, parfois, les sous-titres, ça peut servir. Voici donc un petit tutoriel pour récupérer automatiquement les bons sous-titres pour vos fichiers, avec en script en ligne de commande ou exécutable par votre NAS. Synology : installation de pip 1. Ouvrez une session SSH sur le NAS et passez root : ssh user@NAS sudo -i 2. Installez pip, le gestionnaire de paquets Python. Synology : installation de subliminal Subliminal est une librairie Python qui permet de rechercher et télécharger des sous-titres. C'est ce que nous allons lancer, soit en ligne de commande, soit par un cron sur le NAS. Installez subliminal: pip3 install subliminal Résultat, après quelques minutes: Successfully built pysrt enzyme guessit babelfish dogpile.cache rarfile rebulk Installing collected packages: pytz, chardet, pysrt, enzyme, rebulk, babelfish, python-dateutil, guessit, pbr, stevedore, futures, click, dogpile.cache, rarfile, beautifulsoup4, requests, subliminal Successfully installed babelfish-0.5.5 beautifulsoup4-4.5.3 chardet-2.3.0 click-6.7 dogpile.cache-0.6.2 enzyme-0.4.1 futures-3.0.5 guessit-2.1.1 pbr-1.10.0 pysrt-1.1.1 python-dateutil-2.6.0 pytz-2016.10 rarfile-3.0 rebulk-0.8.2 requests-2.13.0 stevedore-1.20.0 subliminal-2.0.5 Script de téléchargement automatique des sous-titres Passons maintenant au script de téléchargement automatique de nos sous-titres. Voici mes pré-requis : dossier à scanner : /volume1/video âge maximum des fichiers pour lesquels on recherche les sous-titres : 4 weeks langue des sous-titres: eng pour l'anglais, fra pour le français. Ici, je ne souhaite que de l'anglais. Créez donc un nouveau fichier (dans votre dossier utilisateur du NAS, pas dans root): nano /volume1/homes/matt/subby.py et ajoutez-y: from datetime import timedelta from babelfish import Language from subliminal import download_best_subtitles, region, save_subtitles, scan_videos # configure the cache region.configure('dogpile.cache.dbm', arguments={'filename': 'cachefile.dbm'}) # scan for videos newer than 2 weeks and their existing subtitles in a folder videos = scan_videos('/volume1/video', age=timedelta(weeks=10)) # download best subtitles in English subtitles = download_best_subtitles(videos, {Language('eng')}) # save them to disk, next to the video for v in videos: save_subtitles(v, subtitles[v]) Vous pouvez lancer ce script directement depuis un terminal avec : python /volume1/homes/matt/subby.py Mise à jour : on peut encore mieux faire ! Lassé d'avoir à installer pip et subliminal à chaque mise à jour du DSM, j'ai écrit un script bash qui gère toute l'installation (pip, subliminal) et qui lance le script python pour le téléchargement des sous-titres. On crée notre script bash : nano /volume1/homes/matt/subby.sh avec : #!/bin/bash # Script Name : Pip and Subliminal dependences FTW # Script Author : Matt Biscay # Script URL : https://www.skyminds.net/nas-synology-telecharger-sous-titres-subliminal/ # Script Version : 1.0 (2017-07) # working dir cd /volume1/homes/matt # is pip installed ? if which pip 2>/dev/null;... --- ### Jacob Raagaard – Steel Blues - **URL**: https://www.skyminds.net/jacob-raagaard-steel-blues/ Jacob Raagaard est un musicien danois qui a débuté la guitare à 11 ans et commencé le fingerpicking à l'âge de 14 ans... Et voici le résultat aujourd'hui : https://www.youtube.com/watch?v=MZ1mIN5ZpWc “Steel Blues” est une composition originale de Jacob, qui joue sur une guitare Weissenborn. J'adore ces tonalités blues et métalliques. On peut y reconnaître quelques accents Bonamassiens je trouve. --- ### Westworld saison 1 - **URL**: https://www.skyminds.net/westworld-saison-1/ Westworld est une série de science-fiction créée par Jonathan Nolan et Lisa Joy, produite par J. J. Abrams et Bryan Burk, et diffusée sur HBO. C'est l'adaptation télévisée du film Mondwest (Westworld) écrit et réalisé par Michael Crichton en 1973. Westworld est un parc d'attractions futuriste recréant l'univers de l'Ouest américain (le Far West) du XIXe siècle. Il est peuplé d'androïdes, appelés « hôtes » (hosts), réinitialisés à la fin de chaque boucle narrative. Les visiteurs, appelés « arrivants » (newcomers), peuvent y faire ce qu'ils veulent sans aucune conséquence. Mais à la suite d'une mise à jour du programme des androïdes, les dirigeants du parc devront faire face à plusieurs bugs dans leur comportement. Au casting, nous avons Anthony Hopkins, Ed Harris, Evan Rachel Wood, Thandie Newton... pas mal du tout. Le générique d'ouverture est conçu par le studio Elastic, déjà à l'origine de celui de Game of Thrones. En novembre 2016, au vu des très bonnes audiences et des excellentes critiques, HBO commande officiellement une seconde saison de dix épisodes. Cependant, la diffusion ne devrait être programmée que courant 2018 à cause de la taille du projet et du fait que les scénaristes veulent avoir fini d'écrire tous les épisodes avant de commencer à tourner. A regarder en version originale. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Concert d’Ana Popovic au Triskell de Pont l’Abbé - **URL**: https://www.skyminds.net/concert-ana-popovic-triskell-pont-labbe/ Dimanche 18 décembre 2016, je me suis rendu au Triskell de Pont-l'Abbé avec Jack pour assister au concert d'Ana Popović. Le concert commence à 17h, ce qui est tôt mais vraiment bien car cela laisse toute latitude à profiter de la soirée ensuite. La queue est déjà formée lorsque nous arrivons. A l'ouverture des portes de la salle, nous nous trouvons deux places au milieu d'une rangée déjà presque remplie. En quelques minutes, toutes les places trouvent preneurs et les retardataires peinent à trouver où s'asseoir. C'est très impressionnant de voir une salle se remplir aussi vite. Ana Popović est serbe (née en mai 1976) et a été initiée au blues très tôt par son père. En 1999, Ana déménage aux Pays-Bas pour étudier la guitare jazz. Elle devient rapidement un pilier de la scène du blues hollandais et s'aventure également dans l'Allemagne voisine. Avec l'album Comfort to the Soul (2003), Ana propulse sa carrière à un niveau supérieur, elle jongle avec diverses formes de blues, de rock de soul et de jazz. Cet album montre une idée claire : Ana Popović ne se contente pas de clichés usagés. Ana Popović est une véritable exception de la scène du blues, dans les milieux professionnels, on la surnomme souvent la "Jimi Hendrix au féminin". Vêtue d'une jupe en cuir et de chaussures montantes lacées, Ana fait chanter sa guitare six cordes comme les meilleurs. Son blues est frais, positif et ouvert aux autres genres et sa voix rauque et féline. Avec 11 albums au compteur, 5 nominations au Blues Music Awards et de multiples collaborations de prestige (elle a notamment joué aux côtés de Buddy Guy, Joe Bonamassa, Taj Mahal, Lucky Peterson et Maceo Parker), Ana Popović est LA star internationale du blues féminin. J'ai bien aimé le concert : beaucoup de dynamisme et de plaisir à jouer sur scène pour tous les musiciens. Bon son, beaucoup de technicité dans le jeu, même si je lui préfère Joanne Shaw Taylor (qui pour moi joue de manière plus naturelle, en faisant passer plus d'émotions). Je n'ai malheureusement pas de vidéo du concert mais voici ce que cela donnait deux jours plus tôt : https://www.youtube.com/watch?v=RyR7er_n_2M Un très bon concert toutefois, et en plus à Pont-l'Abbé ! C'est assez drôle de voir de telles têtes d'affiche dans de si petites villes. Et pourtant, des gens de tous âges étaient là, c'est vraiment agréable. Composition du groupe : Ana Popović (guitare, chant), Michele Papadia (claviers, chœurs), Ronald Jonker (basse, chœurs) et Stephane Avellaneda (batterie, chœurs). A voir ! --- ### Happy Birthday Matt : 36 - **URL**: https://www.skyminds.net/happy-birthday-matt-36/ Aujourd'hui, je fête mes 36 ans et j'ai envie de partager avec vous les réflexions que ce passage m'inspire. Bon, pour moi, avoir trente-six ans, c'est comme si je passais à l'âge adulte. Cela commence à devenir sérieux, je ne vais plus pouvoir faire les mêmes blagues qu'avant ! Je me suis fait quelques petites résolutions pour cette année : écrire un peu plus (Num verum illud nouum ), lire un peu plus de vrais livres avec une couverture et en papier (et pas uniquement des versions numériques sur un écran) et aller sur la mer. Le nombre 36 en mathématiques Trente-six est : le 6e nombre carré (carré de 6) et le 8e nombre triangulaire (somme des entiers de 1 à 8), ce qui en fait un nombre carré triangulaire, la somme de deux nombres premiers jumeaux (17 + 19) la somme des cubes des entiers 1, 2 et 3, l'indice du nombre triangulaire 666 (somme des entiers de 1 à 36), le nombre de la Bête. Trivia sur le nombre 36 Le nombre 36 est : en astrologie, le nombre de décans (soit 3 × 12 mois), une subdivision du compas euclidien ; la première division est constituée en douze parties égales, chacune divisées en trois parties formant 36 parties, le nombre de colonnes historiées du temple d'Artémis à Éphèse, un nombre assimilé à la tétraktys. le numéro atomique du krypton, le nombre de touches noires sur un piano, le nombre d'années de mariage des noces de mousseline, sur un serveur, le chmod 666 signifie que tous les utilisateurs peuvent lire et écrire les fichiers mais ne peuvent pas les exécuter. le nombre dans l'expression française : En voir 36 chandelles. Ce nombre est parfois synonyme de 'beaucoup' : « il n'y a pas 36 solutions » et marque l'impossibilité dans l'expression « ce n'est pas tous les 36 du mois », le nombre de passagers à bord victimes du zeppelin LZ 129 Hindenburg le 6 mai 1937, catastrophe qui a influencé Led Zeppelin (l'image est d'ailleurs la pochette de Led Zeppelin I). l'âge auquel Bob Marley, Marilyn Monroe ou Lady Diana sont décédés. Bon, j'aime le métal et je ne suis pas hexakosioihexekontahexaphobe donc normalement, tout devrait bien se passer :-) --- ### Questions d’orthographe : « 1,9 gramme » ou « 1,9 grammes » ? « moins de deux heures suffira » ou « moins de deux heures suffiront » ? - **URL**: https://www.skyminds.net/questions-orthographe-1-9-gramme-ou-grammes/ L'autre soir, tranquillement installés dans le canapé au coin du feu, nous dégustions un bon plateau de fromage et prenions connaissance des résultats de cette vie politique actuellement tourmentée, lorsqu'une question d'orthographe pour le moins brûlante a interrompu notre bouchée de Maroilles. Faut-il donc écrire : "1,5 million" ou "1,5 millions" ? "1,9 gramme" ou "1,9 grammes" ? "1,9 gramme" ou "1,9 grammes" ? Puisque, concernant ce sujet, les articles sont quasiment inexistants sur le web et les grammaires peu prolixes, j'ai compris qu'il était grand temps d'élucider ce mystère. J'ai sorti mon ultime outil, mon bon vieux livre vert de grammaire* qui fait plus d'un millier de pages en papier à cigarettes avec de tout petits petits caractères. Je dois écrire ici que je suis extrêmement et paradoxalement attachée à ce livre vert de grammaire qui fut le bourreau de mes nuits durant deux années de préparation au CAPES puis à l'Agrégation. J'ai consacré un nombre d'heures infini à m'efforcer de comprendre puis d'engloutir ce millier de pages qui recense et finalement, expose l'implacable logique de toutes les subtilités offrant toute leur saveur à la langue française. J'aime donc intimement ressortir ce bon vieux livre vert de grammaire de mon étagère, qui me fait revivre ces moments d'intense concentration finalement couronnés par la satisfaction d'avoir progressé, ne serait-ce que très humblement. Alors, faut-il écrire "1,9 gramme" ou "1,9 grammes" ? La solution : On écrit 1.9 gramme. L'explication : Peu importe la présence de la décimale, c'est le numéral "un" qui commande l'accord. De fait, l'accord se fait au singulier. Très logiquement, le verbe se conjuguera lui aussi au singulier. La même règle s'applique à des tournures telles que "plus d'un" : l'accord du verbe se fait au singulier car le numéral "un" est considéré comme le noyau du groupe nominal. Ainsi, on écrira "plus d'un citoyen est venu". Faut-il écrire : "1,5 millions de votants" ou "1,5 million de votants" ? La solution : On écrit 1,5 millions. L'explication : Les numéraux cardinaux sont en principe invariables, à l'exception de : un, vingt, cent, millier, million, billion et milliard. Ils sont considérés comme des noms. Avec le substantif numéral million on fait toujours l'accord avec son complément, y compris lorsque celui-ci est implicite. Ainsi, 1,2 millions de votants se sont déplacés aujourd'hui. Faut-il écrire : "moins de deux heures suffira" ou "moins de deux heures suffiront" ? La solution : On écrit "moins de deux heures suffiront pour effectuer ce trajet". L'explication : La logique est exactement la même lorsqu'il s'agit d'expressions telles que "moins de deux": là encore, c'est le numéral "deux" qui commande l'accord. Puisque "deux" est pluriel, on accordera le verbe au pluriel et on écrira donc : "moins de deux heures suffiront pour effectuer ce trajet". Ça y est, on peut enfin terminer cette bouchée de Maroilles... * Si vous aussi, vous souhaitez vous plonger dans ce bon vieux livre vert de grammaire que je vous recommande chaleureusement, en voici les références : Martin Riegel, Jean-Christophe Pellat,... --- ### Concert de Nada Surf au Stéréolux de Nantes - **URL**: https://www.skyminds.net/concert-nada-surf-stereolux-nantes/ Cécile et moi avons assisté au concert de Nada Surf au Stéréolux de Nantes, mardi 29 novembre 2016. La soirée a commencé doucement par un petit restaurant indien dans le quartier Bouffay. C'est notre indien préféré et nous sommes de fidèles clients : un vindaloo et une bouche en feu plus tard, nous rejoignons la salle de concert situé sur l'Ile de Nantes. Cela fait longtemps que je n'avais pas été fouillé à l'entrée d'une salle de concert - c'est comme au Zénith. Nous commandons une bière et je suis agréablement surpris de rencontrer Monsieur P., un collègue du lycée où j'enseigne. Après la première partie, le vigile a ouvert l'étage, ce qui nous a permis de truster deux places assises, au milieu, parfait pour tout voir. Nada Surf est formé au début des années 1990 par Matthew Caws et Daniel Lorca à New York. Tous deux ont partagé les bancs du lycée français de New York et ont fait leurs études en Belgique et en France, d'où leur français impeccable, quasi sans accent. Un de leur titre phare, Popular : https://www.youtube.com/watch?v=Rx7LwN6C66A Pour la petite histoire, Cécile a entendu le matin à la radio une chanson qui lui a beaucoup plu, se promettant de la rechercher dès que possible. Qu'elle ne fut pas sa surprise lorsqu'elle l'a découverte, jouée live devant ses yeux ébahis ! https://www.youtube.com/watch?v=4926zD_Zus8 J'ai été surpris de constater que Nada Surf n'était plus composé de trois membres mais de quatre : Matthew Caws - guitare et chant (depuis 1993), Daniel Lorca - basse et chant (depuis 1993), Ira Elliot - batterie et chant (depuis 1995) et Doug Gillard - guitare (depuis 2012). Cela faisait quelques années que je ne les avais pas vus et l'ajout d'un nouveau guitariste est pas mal, même si Matthew Caws m'avait vraiment impressionné la première fois lorsqu'il jouait toutes les parties de guitares à lui tout seul. Là, les rôles sont plus distribués, cela rend différemment. https://www.youtube.com/watch?v=a0rTWhQs6eY Le son était bon, par contre les lumières ont littéralement aveuglé le balcon pendant la quasi-totalité du show, ce qui gâchait un peu l'effet. Le concert était vraiment bien - ils sont même revenus pour un rappel à capella, unplugged, avec toute la salle qui chantait avec eux. Nous sommes sortis du concert enchantés ! --- ### NAS Synology : installer Entware en remplacement d’IPKG pour des applications à jour - **URL**: https://www.skyminds.net/nas-synology-installer-entware-ipkg-applications/ Vous avez sûrement remarqué qu'IPKG n'est plus maintenu depuis maintenant quelques années (2014) et qu'à chaque mise à jour DSM du NAS Synology, les applications sautent. Il devenait quasiment impossible d'installer IPKG sur les nouveaux NAS - jusqu'à l'arrivée d'Entware. Entware est un petit nouveau qui a mis des années à mûrir mais il est mis à jour en permanence et offre plus de 1800 paquets à votre NAS. Il est aussi compatible avec les routeurs OpenWRT et LEDE. Voyons donc comment installer cette nouvelle source d'applications. Entware-ng, le petit nouveau Entware-ng prend en charge les processeurs ARM et Intel, votre version de DSM doit quant à elle être égale ou supérieure à la version 3.2. Il faut utiliser : l'installeur armv5 pour les processeurs Marvell Kirkwood mv6282,l'installeur armv7 pour les processeurs ARM plus récents. Le dépôt armv7 a été compilé avec l'optimisation cortex-a9 mais reste totalement compatible avec les NAS basés sur des Marvell Armada XP . Déterminer le modèle du processeur du NAS Considérons que SSH est activé dans les options du DSM (Control Panel > Applications > Terminal & SNMP > Terminal > Enable SSH service). On commence par lancer une connexion SSH vers le NAS avec l'utilisateur admin : ssh admin@DiskStation et on passe root: sudo -i On peut trouver le modèle du processeur en tapant: cat /proc/cpuinfo | more Cela vous permet de savoir si vous êtes en armv5 ou armv7 (plus récent). Un autre moyen, peut-être même plus simple : uname -a Résultat chez moi: Linux DiskStation 2.6.32.12 #15132 Wed Jun 14 12:24:38 CST 2017 armv5tel GNU/Linux synology_212+ Installer Entware-ng sur notre NAS Synology Toujours dans votre session SSH, en tant que root, vous allez maintenant installer Entware sur votre Synology. 1. On crée un dossier sur le disque, en dehors du rootfs : mkdir -p /volume1/@entware-ng/opt Le dossier /opt doit absolument être vide, c'est-à-dire qu'Optware ne doit pas être installé. Dans le doute, on le vide dans l'étape suivante. 2. On supprime /opt et on crée un lien symbolique: rm -rf /opt ln -sf /volume1/@entware-ng/opt /opt 3. On lance le script d'installation: Pour armv5: wget -O - http://pkg.entware.net/binaries/armv5/installer/entware_install.sh | /bin/sh Pour armv7: wget -O - http://pkg.entware.net/binaries/armv7/installer/entware_install.sh | /bin/sh Pour x86-32: wget -O - http://pkg.entware.net/binaries/x86-32/installer/entware_install.sh | /bin/sh Pour x86-64: wget -O - http://pkg.entware.net/binaries/x86-64/installer/entware_install.sh | /bin/sh Pour MIPS: wget -O - http://pkg.entware.net/binaries/mipsel/installer/installer.sh | /bin/sh 4. On édite le fichier /etc/rc.local et on ajoute à la fin du fichier: /bin/ln -sf /volume1/@entware-ng/opt /opt /opt/etc/init.d/rc.unslung start La dernière ligne permet de lancer les services Entware lors du démarrage du NAS. Depuis DSM 6.1, /etc/rc.local n'est plus exécuté lors de la séquence de boot. Il faut donc créer une tâche planifiée qui lance ces deux instructions au démarrage du NAS. Rendez-vous dans Panneau de configuration > Planificateur de tâches > Créer > Tâche déclenchée > Script défini par l'utilisateur. Cette tâche sera lancée au démarrage du NAS: avec les instructions suivantes: /bin/ln -sf /volume1/@entware-ng/opt /opt /opt/etc/init.d/rc.unslung start 5. On ajoute cette ligne à la fin du fichier /etc/profile:... --- ### Concert de Joanne Shaw Taylor à l’Océanis de Ploemeur - **URL**: https://www.skyminds.net/concert-de-joanne-shaw-taylor-loceanis-de-ploemeur/ Le mois dernier, le 19 octobre 2016, Jac et moi nous sommes rendus à la salle Océanis de Ploemeur (56) pour assister au concert de Joanne Shaw Taylor. Je vous avais déjà parlé de Joanne il y a quelques années et m'étais même programmé une alerte sur le site de la Fnac pour me prévenir lorsqu'elle passerait en France. Et elle y passe chaque année, mais toujours dans l'Est du pays. Lorsque j'ai reçu le mail annonçant sa venue dans l'Ouest, j'ai sauté sur l'occasion! Nous voilà donc partis en pleine cambrousse (oui, Ploemeur, c'est un peu la cambrousse), par une belle nuit de tempête. Arrivés en avance, nous entrons dans le hall de l'Océanis, qui est un espace communal qui comprend une piscine et une salle de spectacle. Cela fait bizarre de faire la queue dans le hall d'une piscine avec l'odeur de chlore en attendant que les portes s'ouvrent. Le concert est à 19h et la salle se remplit rapidement. Nous avisons deux places assises en milieu de rangée et nous installons. Vue impeccable sur la scène, nous regardons le ballet incessant et fascinant des auditeurs qui cherchent une place. Pas de première partie. Après une brève introduction par le maître des lieux, Joanne Shaw Taylor et son groupe arrivent sur scène et commencent à jouer. Voix rauque, style simple mais très efficace, Joanne nous régale les oreilles par sa maitrise et les émotions qu'elle nous transmet, à la fois par son jeu et par sa posture. https://www.youtube.com/watch?v=2io9AXTXV7A https://www.youtube.com/watch?v=_aowKZeWw_k https://www.youtube.com/watch?v=fYrmhNqvK_k Le son était très bon et nous avons beaucoup apprécié les jeux de lumières, sobres et efficaces sans pour autant aveugler les spectateurs - même si Joanne s'est pris un beau coup de projecteur pendant quasiment une chanson ;-) Un vrai régal pour tous les amateurs de blues et un excellent concert. Je vous la recommande chaudement. --- ### Utiliser Rsync pour sauvegarder un serveur Linux vers un NAS Synology - **URL**: https://www.skyminds.net/rsync-sauvegarder-serveur-linux-vers-nas-synology/ Dans ce tutoriel, nous allons voir comment configurer rsync pour planifier des sauvegardes d'un serveur distant et permettre l'accès SSH vers votre NAS Synology en local. Armez-vous de votre terminal préféré et lancez une session SSH, c'est parti ! Étape 1 : créer un nouvel utilisateur Synology Afin de bien séparer les processus et privilèges, il vaut mieux créer un nouvel utilisateur Synology : cela permet de contrôler exactement ce à quoi il a accès. Dans ce tutoriel, notre utilisateur s'appellera saveme. Étape 2 : activer l'accès SFTP Activez l'accès SFTP dans Diskstation > Control Panel > FTP > SFTP > Enable SFTP service. Vérifiez aussi que le port 22 (SSH) est bien ouvert dans votre routeur et firewall; et bien redirigé vers votre NAS. Ensuite, ouvrez une session SSH sur votre NAS : ssh admin@IP_NAS Entrez votre mot de passe, vous devriez être loggué. Si ce n'est pas le cas, vérifiez la configuration routeur/firewall du port 22. Étape 3 : éditer le fichier passwd Une fois que vous êtes identifié en SSH sur votre NAS, il vous faut éditer le fichier passwd: nano /etc/passwd Allez à la dernière ligne, qui gère le nouvel utilisateur créé à l'étape 1. A la fin de cette ligne, remplacez : /sbin/nologin par /bin/sh Sauvegardez le fichier. Maintenant, on assigne un dossier de travail avec tous les droits nécessaires à notre utilisateur (qui s'appelle saveme). Au lieu de le mettre dans /homes, on va plutôt le mettre à la racine, bien au chaud, sous /volume1/backup. On donne accès au dossier : chown saveme:users /volume1/backup Étape 4 : identification avec notre nouvel utilisateur On s'identifie avec notre utilisateur saveme : su - saveme Si vous obtenez des messages d'erreur comme : su: can't chdir to home directory '/volume1/backup' su: can't run /sbin/sh: No such file or directory La première erreur est due à une erreur de permissions. Vérifiez que vous avez bien chowné le bon dossier. La seconde montre que vous avez oublié d'ajouter /bin/sh à votre utilisateur dans l'étape 3. Étape 5 : ajouter la clé SSH du NAS sur le serveur distant On crée la clé en utilisant le chemin par défaut et on appuie juste sur "entrée" lorsqu'on nous demande un mot de passe de clé : ssh-keygen -t rsa On copie la clé sur le serveur distant: cat ~/.ssh/id_rsa.pub | ssh user@IP_SERVER "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" Essayez maintenant d'ouvrir une session SSH sur votre serveur distant depuis la session SSH du NAS : la session devrait s'ouvrir sans que vous n'ayez à entrer le mot de passe du compte. Si vous obtenez une erreur de permission, voici les bonnes permissions à appliquer : le répertoire .ssh doit avoir un chmod 700,la clé publique (fichier .pub) doit avoir un chmod 644,la clé privée (id_rsa) doit avoir un chmod 600. Voici donc les commandes à lancer pour attribuer les bonnes permissions sur le NAS: chmod /volume1/backup/.ssh 700 chmod /volume1/backup/.ssh/id_rsa.pub 644 chmod /volume1/backup/.ssh/id_rsa 600 Etape 6 : établir une structure et... --- ### Monkey3 – Birth of Venus - **URL**: https://www.skyminds.net/monkey3-birth-of-venus/ Je ne me lasse pas d'écouter les mélodies à la fois heavy et étherées de Monkey3. Voici Birth of Venus : https://www.youtube.com/watch?v=sbFqdgRk_oE Encore un excellent morceau, issu de l'album The 5th Sun (2013). --- ### In lycée with Mister B. : « welcome home » - **URL**: https://www.skyminds.net/in-lycee-with-mister-b-welcome-home/ Welcome home. Vendredi, je passe dans la salle des professeurs et on me signale gentiment qu'une copie a été déposée dans mon casier. C'est bizarre me dis-je parce que je n'ai pas demandé à ce que l'on me rende quoi que ce soit cette semaine. J'ouvre donc la porte du casier et mon regard tombe sur une petite pochette réalisée avec une copie d'élève, scellée à la colle et portant mon nom. Tiens, cela me rappelle une chose ou deux. Je me saisis de l'enveloppe maison et l'ouvre pour y extraire le message suivant : Not sure I'd call our high-school home but I appreciate your kind message nonetheless. Thank you Anons! --- ### GRUB : résoudre l’erreur « Grub loading 1.5. Grub loading, please wait… ERROR 15 » - **URL**: https://www.skyminds.net/grub-loading-please-wait-error-15/ Hier, petite surprise sur ma machine à la maison : au démarrage, Ubuntu se charge puis finit dans les limbes avec un écran noir. Je redémarre la machine et là, patatras, une erreur GRUB laconique : Grub loading 1.5. Grub loading, please wait... ERROR 15 Un redémarrage plus tard, je m'aperçois que même certains réglages du BIOS sont même revenus aux réglages d'usine... Étrange, c'est la première fois que je vois ça sur ma machine. GRUB, l'erreur 15 L'erreur 15 de GRUB correspond à un fichier de démarrage non trouvé. Cela signifieque GRUB n'est pas installé sur le disque de démarrage et qu'il ne peut donc lancer le menu de démarrage. Ma machine comprend quatre disques dur, et mes deux disques durs principaux (Linux et Windows) sont du même type et de la même marque, ce qui n'est pas vraiment idéal pour les identifier puisque dans les réglages du BIOS, la référence est la même. Le BIOS ne m'indique qu'un seul disque dur de démarrage, sans autre indication que le numéro de série. Vérification des options du BIOS On commence par vérifier les options du BIOS et la séquence initiale de boot : DVD, disque dur. Cela nous sera utile pour la suite lorsque nous utiliserons le live CD. Utilisation de Boot-Repair J'ai commencé par utiliser le live CD d'Ubuntu avant de me rendre rapidement compte des limitations dues au montage des points critiques du système. Le plus simple est d'utiliser Boot-Repair-Disk, le disque ultime de réparation du démarrage qui vous permettra de redémarrer votre machine comme avant. Le Réparateur de Démarrage (Boot-Repair en anglais) est un petit outil qui propose : un bouton Réparation recommandée permettant de réparer la plupart des problèmes de démarrage (par exemple lorsque Ubuntu ne démarre plus suite à l'installation de Windows, lorsque le menu GRUB n’apparaît plus1) ou lorsque vous avez une erreur GRUB rescue> ou out-of-disk) ;un deuxième bouton permettant de créer un rapport Boot-Info en un clic (pour obtenir de l’aide via email ou forum) ;les options avancées permettant, entre autres, de : mettre à jour le menu de démarrage GRUB ; reconfigurer GRUB (ajouter des options de kernel, etc.) ; purger et réinstaller GRUB2 ; restaurer un secteur d’amorçage compatible Windows (XP, Vista, Seven) ; restaurer un MBR permettant de démarrer Windows en mode Legacy. Restauration de GRUB Voici la marche à suivre : téléchargez Boot Repair Diskgravez l'image sur un CD / DVD ou utilisez Rufus ou Unetbootin pour graver l'image sur une clé USB.Insérer votre CD/DVD/clé USB contenant Boo Repair puis redémarrez la machine.Choisissez la langue de l'interface et activez la connexion internet (recommandé)Choissisez "Réparation recommandée" dans la majeure partie des cas courants.Redémarrez la machine, cela solutionne la majorité des problèmes de boot liés à GRUB. Curieusement, lorsque Boot Repair s'est lancé, il m'a demandé si mon disque sdb était un disque dur externe alors que c'est mon disque dur de démarrage principal sous Ubuntu. J'ai répondu "non" puis ai choisi le menu Options avancées afin d'installer de purger GRUB et d'installer la dernière version de... --- ### The Walking Dead saison 7 - **URL**: https://www.skyminds.net/the-walking-dead-saison-7/ La fin du mois d'octobre marque toujours le début de la nouvelle saison de The Walking Dead, juste à temps pour Halloween ! Dans cette septième saison, l'épisode pilote nous ramène directement là où nous étions dans le dernier épisode de la saison 6, qui avait fini sur un évènement cliff-hanger au possible. Rick et le groupe se font coincer dans la clairière d'une forêt par un nouveau groupe, mené par Negan, le leader totalitaire des Saviors. Nous avons donc le fin mot de l'histoire, ce qui va avoir de grosses conséquences sur le groupe de Rick. Et je pense pouvoir dire sans me tromper que le nouveau showrunner, Jeffrey Dean Morgan, nous promet de beaux moments de sadisme et de manipulation. Comme le veut la coutume, la saison comportera seize épisodes qui seront diffusés en deux salves : les 8 premiers épisodes à partir d'octobre et les 8 derniers en février 2017. A regarder comme des survivants en version originale: Voir Synology : corriger “rsync permission denied” sur Amazon --- ### WordPress : installer des plugins et thèmes sur un site de développement local - **URL**: https://www.skyminds.net/wordpress-installer-plugins-themes-site-local/ Lorsque vous installez WordPress en local sur votre machine, il est assez courant que les droits des fichiers et dossiers ne permettent pas d'entrée de jeu d'installer ou de mettre à jour des plugins ou des thèmes. Voici comment résoudre ce problème en quelques minutes. Passage au système de fichier direct 1. On commence par éditer notre fichier wp-config.php, qui contient pas mal de constantes primordiales pour WordPress: nano wp-config.php 2. On y rajoute, vers le haut du fichier, une constante qui passe le système de fichier en mode direct: define('FS_METHOD', 'direct'); Sauvegardez votre fichier wp-config.php. Les fichiers de thèmes et de plugins seront désormais directement installés sans que la popup demandant des informations FTP ou SSH ne s'affiche. Vérification des droits des fichiers et répertoires Pour rappel, WordPress recommande un chmod 644 pour les fichiers et un chmod 755 pour les répertoires. En local, par contre, ce sera un petit peu différent : l'utilisateur www-data (Apache ou NginX) doit pouvoir gérer les fichiers mais si vous souhaitez éditer des fichiers, ce qui est quand même le but d'une installation en locale, il faut que votre utilisateur puisse aussi gérer et avoir le droit d'écriture sur les fichiers. 1. Tout d'abord, on donne les droits à Apache à tous les fichiers et dossiers de l'installation WordPress : sudo chown www-data:www-data -R /home/matt/www/ 2. J'ajoute ensuite mon utilisateur de session, matt, dans le groupe www-data (Apache): sudo usermod -aG www-data matt 3. On vérifie que l'utilisateur matt fait bien partie du groupe www-data : groups matt Cela nous retourne la liste de tous les groupes auquel j'appartiens : matt : matt adm lp dialout fax cdrom floppy tape audio dip www-data video plugdev fuse lpadmin netdev admin sambashare vboxusers usb bluetooth scanner 4. On stipule que l'utilisateur matt est propriétaire de ces fichiers : sudo chown matt:www-data -R /home/matt/www/ 5. On assigne les permissions standard de WordPress, chmod 755 pour les répertoires et chmod 664 pour les fichiers, le tout en mode récursif pour n'oublier personne : cd /home/matt/www sudo find . -type d -exec chmod -R 750 {} \; sudo find . -type f -exec chmod -R 640 {} \; Vous pouvez maintenant installer thèmes et plugins en local et être en mesure d'éditer vos fichiers avec votre utilisateur linux, sans problèmes de droits. --- ### Android : configurer un clavier sans-fil en AZERTY - **URL**: https://www.skyminds.net/android-configurer-un-clavier-sans-fil-en-azerty/ Je me suis récemment acheté un super clavier sans-fil, un Logitech K400 Plus, qui va me permettre de saisir mes textes un peu plus vite qu'en tapotant sur les lettres de l'écran tactile de mon téléphone ou de ma tablette. J'ai choisi ce clavier parce qu'il possède également un touchpad. Cela pourra m'être utile si je veux naviguer sur la télévision ou piloter un Raspberry Pi, directement depuis mon canapé - ou dans le train ou la voiture. Android ne reconnaît que le QWERTY Sous Android, lorsque l'on branche un clavier sans-fil Bluetooth ou WiFi, la disposition du clavier par défaut est QWERTY et il n'est pas possible de la modifier sans installer une application tierce. Par conséquent, il faut donc installer une application gratuite : Clavier physique AZERTY. Pensez à activer les sources inconnues dans les paramètres Android pour pouvoir installer le fichier APK sans souci. Branchement du dongle USB Les claviers sans-fil fonctionnent avec un mini-dongle USB à brancher sur votre appareil. Il se pose toutefois souvent un problème de connectique physique. Les ports USB des tablettes sont en effet souvent de type microUSB. Il faut donc un cordon adaptateur microUSB OTG mâle/femelle, qui convertit le connecteur microUSB femelle en connecteur USB femelle pour y brancher le dongle. Cet adaptateur microUSB - USB ne coûte que quelques euros et vous permettra aussi de brancher une clé USB sur votre appareil, pratique pour les sauvegardes. Configuration du clavier AZERTY Une fois que vous avez installé l'application et branché votre clavier sans-fil sur votre téléphone ou tablette Android avec le dongle USB, il faut se rendre dans Paramètres > Langues et Saisie : dans Clavier et mode de saisie > Clavier actuel, sélectionnez Clavier physique AZERTY,dans Clavier et mode de saisie > Clavier physique et vérifiez les options de votre clavier. Vous pouvez maintenant taper du texte avec votre clavier AZERTY, avec la disposition AZERTY. Clavier Logitech K400 Si vous recherchez un bon clavier sans-fil avec un touchpad intégré et un accès simplifié pour les recherches et les contrôles multimédia comme le volume, je vous conseille le clavier Logitech K400 Plus, sans hésiter. C'est mon clavier de prédilection que j'utilise pour la télévision, le RaspberryPI, ou bien même mon laptop lorsqu'il est à distance: il est bien plus maniable, léger et avec un excellent confort de frappe. Disponible chez Amazon pour moins de 35 euros. --- ### GIMP : tutoriel pour créer un meme - **URL**: https://www.skyminds.net/gimp-tutoriel-pour-creer-un-meme/ Qu'est-ce qu'un meme ? Un mème ou « meme », qui se prononce [mi:m] en anglais, décrit un élément ou un phénomène repris et décliné en masse sur internet. Origine du mot "meme" Le terme de « mème » a été proposé pour la première fois par Richard Dawkins dans Le Gène égoïste (1976) par déformation du terme mimesis (« imitation », en grec ancien) par analogie avec le mot gène. Selon Dawkins, dans le domaine mental, les mèmes sont des réplicateurs, comparables à ce titre aux gènes, mais responsables de l'évolution de certains comportements animaux et des cultures. Formes du meme Dans sa forme la plus sommaire, un mème internet est une idée simple propagée à travers le web. Cette idée peut prendre la forme d'un hyperlien, d'une vidéo, d'un site internet, d'un hashtag, d'un personnage récurrent ou simplement d'une phrase ou d'un mot. Ce mème peut être propagé par plusieurs personnes par le biais de réseaux sociaux, de blogs, de messageries instantanées, d'actualité, et autres services internet. L’élément humoristique est un facteur très important pour les mèmes. Une communication décalée par rapport à un contexte en combinaison avec des images, est bien souvent la base des mèmes sur internet. L'imitation entre pairs induit implicitement une compétition créative pour se faire remarquer et générer collectivement le buzz. Commercialement, ils sont utilisés en tant que marketing viral, aperçus comme publicités de masse. Créer un meme sous GIMP La création d'un meme tient surtout du texte que l'on va apposer sur notre image. C'est un texte en lettres capitales blanches avec un contour blanc, pour respecter le code du meme.Nous allons donc utiliser la police d'écriture Impact, en blanc, avec un contour noir pour respecter le code du meme. Ouvrez l'image qui va servir de support à votre futur meme. Je choisis ici "The Most Interesting Man in the World".Cliquez sur l'icône Texte et entrez votre punchline, écrite avec la police de caractère Impact, en blanc. Ajustez la taille de la police selon la longueur de votre punchline :Ensuite, faîtes un clic droit sur le calque texte et sélectionnez Alpha vers sélection qui se trouve en bas de la liste:Vérifiez que la couleur de premier plan sélectionnée est bien sur Noir.Sélectionnez maintenant le menu Edition > Tracer la sélection. Sur la page d'options, cochez Ligne de tracé, Couleur pleine et Anti-crénelage. Choisissez l'épaisseur du trait en pixel qui convient, 1 pixel ou plus selon la taille de la police :Validez : votre texte blanc devrait maintenant avoir une bordure noire ! Il ne vous reste plus qu'à répéter l'opération pour la seconde ligne de texte (si besoin) et enregistrer votre meme tout neuf. Résultat : Et voilà, vous venez de créer votre propre meme avec GIMP ! --- ### Justin Johnson – Crankin’ Up the 3-String Spade Guitar - **URL**: https://www.skyminds.net/justin-johnson-crankin-up-the-3-string-spade-guitar/ Je vous présente l'OVNI musical du jour : Justin Johnson, qui nous fait une démonstration épatante en jouant de la musique avec une bêche-guitare à 3 cordes! Admirez plutôt: https://www.youtube.com/watch?v=V9-ltPsbw9g Justin Johnson est un artiste américain, surnommé "The Wizard" pour sa maîtrise des instruments à cordes. Il est connu comme le Slidestock International Slide Guitar Champion et est sponsorisé par plusieurs fabricants de guitares dans le monde entier. Il publie des livres de théories et de techniques musicales. Cet instrument hors du commun a été fabriqué par Roger G. Berry du Mississippi Blues Guitars à Hazlehurst, aux États-Unis. Sympa comme son, non ? Sa maîtrise est vraiment impressionnante... et je ne regarderai plus jamais ma bêche comme avant. --- ### EXCLUSIF : Au cœur du système d’affectation de l’Education Nationale - **URL**: https://www.skyminds.net/exclusif-systeme-affectation-education-nationale/ Pour la première fois, des journalistes ont pu infiltrer le très secret "Centre d'Affectation des Fonctionnaires de l’Éducation Nationale" (le CAFEN) et découvrir l'incroyable processus par lequel les enseignants français sont affectés, en apparence aléatoirement, à tel ou tel établissement public. Plongée dans le monde surréaliste de la haute administration de l’Éducation Nationale. Ici pas d'ordinateurs, pas de connexion internet; juste une dizaine de lignes fixes reliées aux académies : le Centre d'Affectation fonctionne à l'ancienne. Niché à 1500 mètres d'altitude dans un ancien monastère des Alpes du sud, cet établissement unique en son genre emploie une centaine de personnes et... beaucoup d'animaux. Des rats pour être précis. Des rats qui courent sur une carte de France géante Pour affecter chacun des 841 700 enseignants de l’Éducation Nationale à l'un des 64 300 établissements scolaires, le CAFEN a peaufiné au cours des siècles un ingénieux procédé dans lequel des rats affamés, symbolisant les enseignants, se déplacent sur une immense carte de France (de la taille d'un stade de football), à la recherche de nourriture, déposée aux emplacements des établissements. Tout s'explique L'ensemble du processus est trop complexe pour être décrit entièrement ici. Toutefois, nous avons dégagé pour vous les 12 principes fondamentaux du système : Un rat = un enseignant; Rayon d'action : Les rats sont reliés par un fil (légèrement élastique) à leur ville de rattachement; Plus l'enseignant est jeune, plus le fil est long; Plus l'enseignant possède de points (ancienneté, enfants à charge), plus le rat est jeune et en bonne santé (les rats incarnant les jeunes professeurs sont vieux, malades, ou handicapés); Mariage & PACS : 2 rats représentant 2 enseignants mariés ou pacsés sont attachés entre eux par un élastique; Les établissements : posés sur la carte de France, ils sont représentés par des petits morceaux de fromage. Il n'y a pas assez de fromage pour nourrir l'ensemble des rats; Du fromage de haute qualité est utilisé pour les établissements les plus demandés Du fromage moisi est utilisé pour les établissements... les moins demandés; Les rats sont lâchés en même temps et doivent se battre pour le meilleur fromage; Le premier fromage mangé par un rat donne le nouvel établissement de rattachement de l'enseignant associé; Les rats qui n'ont pas mangé de fromage (les plus faibles) participent à un "second mouvement", entre eux; Les voeux formulés par les enseignants ne rentrent pas en considération dans le système d'affectation par rongeurs. Affectations aberrantes, conjoints séparés, injustices flagrantes : toutes ces situations trouvent enfin une explication rationnelle à la lumière du Système d'Affectation par Simulation Animale (SASA) de l’Éducation Nationale : « Pourquoi Madame B, qui a le même nombre de points que moi, a-t-elle été mutée à côté de chez elle alors que moi, Madame A, je dois me taper 200 bornes par jour ? » Le jour du "grand mouvement", le rat de Madame B avait plus faim que le vôtre. « Je commence à peine ma carrière et j'ai été affecté juste à côté de chez moi ! Comment est-ce possible ? » Votre rat s'est emmêlé dans son fil et a finit par rejoindre son... --- ### Planet of Zeus – Leftovers - **URL**: https://www.skyminds.net/planet-of-zeus-leftovers/ Planet of Zeus est un groupe de heavy rock et southern metal qui vient d'Athènes, Grèce. Formé en 2000, le groupe a joué en Grèce dans des salles allant du bouge local à des stades. Leur renommée a dépassé les frontières du pays et leur a permis de partager la scène de Monster Magnet,Karma to Burn, Eyehategod, ou encore Church of Misery. Voici leur chanson intitulée "Leftovers" : https://www.youtube.com/watch?v=CfGvtZoDkBk Planet of Zeus a sorti deux albums : “Eleven the hard way” (2008) et “Macho Libre” (2011). Les deux albums sont épuisés et en attente de réédition. Le succès de l'album “Macho Libre” est dû au fait que ses chansons s'inspirent de la crise économique et sociale grecque et expriment la frustration, la colère et une certaine soif de revanche. Cette année, le groupe a joué à Athènes avec Paradise Lost, Machine Head et Black Sabbath et sont actuellement en train d'écrire les chansons du troisième album. --- ### In lycée with Mister B. : « baïonnette » - **URL**: https://www.skyminds.net/in-lycee-with-mister-b-baionnette/ Hier, je rentre à la maison et découvre le message qu'une collègue d'histoire-géographie a envoyé à tous les enseignants depuis la messagerie de l'ENT au sujet de leur baïonnette : Nous avons donc une baïonnette de la première guerre mondiale dans la nature soit au lycée on ne sait où, soit chez un professeur. Bien bien. --- ### CSS : corriger les problèmes de float et créer une mise en page fluide - **URL**: https://www.skyminds.net/css-remplir-le-contenu-dune-div-de-maniere-fluide/ J’ai récemment été confronté à un problème lors de la réécriture du CSS d’un formulaire Gravity Forms : je voulais que le contenu remplisse son conteneur de manière fluide, sans provoquer de retour à la ligne inutile. Le cas était simple en apparence : un label, un champ, quelques styles hérités, et une mise en page qui refusait obstinément de rester propre. Le genre de petit bug CSS qui ne paie pas de mine, mais qui finit par vous voler une heure. Voire deux, si le café est mauvais. Je pensais naïvement qu’un simple float: none et une largeur à 100% suffiraient : .gfield_label { float: none !important; width: 100% !important; } Mais cette correction a fini par chambouler tous les champs du formulaire. Les labels et les champs n’étaient plus alignés, certains éléments passaient à la ligne, et la structure générale devenait moins lisible. La vraie solution dépend du contexte. Si le formulaire repose encore sur des flottants, on peut corriger le flux avec clear. Mais si l’on peut moderniser le layout, Flexbox ou Grid seront généralement plus propres. Comprendre le problème : float sort l’élément du flux normal Historiquement, beaucoup de mises en page CSS utilisaient float. Cette propriété était très utilisée pour aligner des colonnes, placer un label à gauche et un champ à droite, ou créer des blocs côte à côte. Le problème, c’est que float n’a jamais vraiment été conçu comme un système de layout complet. Il sert surtout à faire flotter un élément à gauche ou à droite, afin que le texte ou les éléments en ligne l’entourent. L’élément flottant est retiré du flux normal, ce qui peut perturber la hauteur du parent et le placement des éléments suivants. On obtient alors des symptômes classiques : un parent qui semble ne plus contenir ses enfants ; un bloc suivant qui remonte à côté d’un élément flottant ; des labels et champs qui ne s’alignent plus correctement ; des retours à la ligne imprévus ; un formulaire qui se casse dès qu’un champ est plus long que prévu. Dans ce cas, ajouter une largeur à 100% ne règle pas toujours le fond du problème. Cela peut même l’aggraver, car l’élément prend toute la largeur disponible et force les autres éléments à passer dessous. Solution historique : clear: both Si le formulaire utilise encore des flottants, la solution la plus directe consiste à utiliser clear: both. Cette propriété force un élément à se placer sous les éléments flottants précédents. Dans mon cas, il suffisait d’ajouter clear: both au bloc parent du champ concerné : /* Make it flow. */ li#field_11_10 { clear: both !important; } Cette règle permet au champ de reprendre une position propre dans le flux de la page, au lieu de tenter de se placer à côté d’un flottant précédent. C’est une correction simple, efficace, et parfois suffisante sur un vieux formulaire ou un thème historique. En revanche, je la réserverais aux cas où le layout existant repose déjà sur float. Pour un... --- ### Ted Yoder – Everybody Wants to Rule the World (Tears for Fears cover) - **URL**: https://www.skyminds.net/ted-yoder-everybody-wants-to-rule-the-world/ Ted Yoder vient de Goshen, dans l'Arkansas et est un expert reconnu du dulcimer, un instrument hors du commun qui appartient à la famille des cithares. Voici sa reprise du morceau "Everybody Wants To Rule The World" du groupe Tears for Fears : https://www.youtube.com/watch?v=E6QOr-oCTwU Le dulcimer produit des tonalités musicales lorsque ses cordes sont frappées par de petits maillets en forme de cuillère. Les sonorités de cet instrument sont vraiment agréables et redonnent un petit coup de jeune à cette chanson qui date de 1985. --- ### La ferme auto-suffisante en énergie et nourriture de Ben Falk : Whole Systems Research Farm - **URL**: https://www.skyminds.net/ferme-auto-suffisante-energie-nourriture/ Ben Falk est un architecte-designer qui habite dans l'État du Vermont, aux États-Unis et qui s'est mis petit à petit à transformer une ferme auto-suffisante et ses champs en une oasis qui lui fournit pléthore de fruits et de légumes bio toute l'année. https://www.youtube.com/watch?v=Q2oUTrZHeCQ Son ballon d'eau chaude est réchauffé grâce à son poëlle à bois qui chauffe la maison en permanence. La citerne qui récupère l'eau de pluie est enterrée sous des mètres de compost, ce qui garde l'eau tiède et permet d'arroser et de réchauffer les serres : il peut donc commencer ses cultures plus tôt, en mars/avril, et les finir plus tard, vers novembre. Il ne vit pas en complète autarcie car il cherche à développer des liens avec ses voisins qui, par exemple, sont meilleurs que lui dans la production de sirop d'érable. Les échanges de produits sont donc courants et encouragés, ce qui favorise l'entraide et le renforcement du lien social. Je trouve cela vraiment génial, non seulement il réduit son empreinte mais il arrive à produire mieux et plus intelligemment, grâce à des optimisations permanentes de son mode de vie. Je compte bien m'en inspirer pour le jardin (à mon échelle, bien plus modeste). Cela doit être très intéressant de réfléchir à ce type de projet avant même la construction d'une maison, de manière à avoir tous les raccords, tranchées déjà prêts. Clairement, c'est l'avenir. --- ### Synology : installer PIP, le gestionnaire de paquets Python - **URL**: https://www.skyminds.net/synology-installer-pip-paquets-python/ Si l'on souhaite rajouter pas mal de fonctionnalités à un NAS Synology, on est vite limité par les applications officielles. On peut passer par IPKG ou alors tout simplement installer pip, le gestionnaire de paquets Python. Voici comment installer pip sur votre NAS Synology en moins de 3 minutes. Installation de pip sur votre Synology Pré-requis : vous devez avoir installé Python (version 2.7 chez moi) depuis le gestionnaire de paquets du DSM. 1. On commence par ouvrir une session SSH avec l'utilisateur root sur le port 22 de l'IP de notre NAS : ssh -l admin 192.168.IP.NAS -p22 sudo -i Depuis DSM6, on ne peut plus ouvrir de session SSH avec l'utilisateur root. Il faut donc ruser en ouvrant une session avec un autre utilisateur (admin par exemple) puis passer root avec sudo -i 2. Une fois connecté en tant que root, on récupère le paquet pip : wget https://bootstrap.pypa.io/get-pip.py 3. Et on installe pip : python get-pip.py Cela prend un peu de temps. Voici ce que vous devriez obtenir : Collecting pip Downloading pip-8.1.2-py2.py3-none-any.whl (1.2MB) 100% |████████████████████████████████| 1.2MB 103kB/s Collecting setuptools Downloading setuptools-27.1.2-py2.py3-none-any.whl (464kB) 100% |████████████████████████████████| 471kB 99kB/s Collecting wheel Downloading wheel-0.29.0-py2.py3-none-any.whl (66kB) 100% |████████████████████████████████| 71kB 535kB/s Installing collected packages: pip, setuptools, wheel Successfully installed pip-8.1.2 setuptools-27.1.2 wheel-0.29.0 pip est maintenant installé. Il ne vous reste plus qu'à installer les paquets de votre choix, à la manière d'un apt, apt-get ou aptitude : Usage: pip [options] Commands: install Install packages. download Download packages. uninstall Uninstall packages. freeze Output installed packages in requirements format. list List installed packages. show Show information about installed packages. search Search PyPI for packages. wheel Build wheels from your requirements. hash Compute hashes of package archives. help Show help for commands. À vous les paquets Python sur votre Synology ! --- ### In lycée with Mister B. : « un muffin pour fêter nos 1 an! » - **URL**: https://www.skyminds.net/in-lycee-with-mister-b-un-muffin-pour-feter-nos-1-an/ Aujourd'hui, j'ai cours avec mes Terminales, dont je connais à peu près la moitié de l'effectif puisque je les avais déjà eu en classe de Première. Je les fait entrer en classe et m'aperçois que deux élèves sont en retard. Elles me disent qu'elles arrivent tout de suite. Okie dokie, je ne pose pas de question et laisse la porte ouverte. J'entre donc dans la classe et commence à préparer mes affaires pour le traditionnel discours de début d'année qui rappelle les règles du cours. Et au moment où je vais commencer à parler, mes deux élèves rentrent avec ceci : Un muffin aux pépites de chocolat, avec une bougie allumée plantée dedans : "c'est pour fêter nos 1 an Mister B.!" Bon, je ne vais pas cacher que cela m'a beaucoup fait plaisir mais c'était plutôt déroutant, surtout pour un premier cours avec d'autres élèves que je connaissais pas ! Merci encore Mathilde et Adélaïde. --- ### Romanticism in Art and Literature - **URL**: https://www.skyminds.net/the-19th-century-romanticism-in-art-and-literature/ Romanticism transformed European art, literature, music and thought from the late eighteenth century onwards. Rather than following one fixed doctrine, Romantic writers and artists explored imagination, emotion, individual freedom, nature, history and the sublime in response to political revolution, industrialisation and Enlightenment rationalism. Wanderer above the Sea of Fog, Caspar David Friedrich, around 1818. What is Romanticism? Romanticism was an artistic, literary and intellectual movement that developed in Europe during the late eighteenth century. It reached its greatest influence during the first half of the nineteenth century, although its chronology differs according to each country and artistic discipline. It is often described as a reaction against the Enlightenment, rationalism and neoclassical order. That definition is useful, but incomplete. Many Romantic writers inherited Enlightenment ideals of liberty, criticism and human progress. What they challenged was the belief that reason alone could explain human existence. Romanticism gave greater importance to imagination, emotion, intuition and individual experience. It also rediscovered nature, folklore, medieval history, national traditions and supernatural narratives. The movement did not simply replace reason with feeling. Instead, it asked what rational systems had neglected: memory, desire, terror, spiritual experience, creativity and the relationship between humanity and the natural world. Romanticism does not mean romantic love Today, the adjective romantic often describes love, courtship or sentimentality. Literary and artistic Romanticism has a much broader meaning. A Romantic work may explore love, but it may also concern revolution, childhood, death, imagination, political oppression, ruined civilisations or an individual confronting immense natural forces. Caspar David Friedrich’s solitary wanderer, William Blake’s prophetic visions and Percy Bysshe Shelley’s revolutionary wind are all Romantic. None can be reduced to a conventional love story. When did Romanticism begin? Romanticism has no single beginning or ending. It emerged gradually through interconnected movements in Germany, Britain, France and other European countries. German Sturm und Drang, usually translated as “Storm and Stress”, developed during the 1760s and 1770s. Writers such as Johann Wolfgang von Goethe and Friedrich Schiller rejected rigid conventions and emphasised intense emotion, rebellion and individual genius. In Britain, the publication of William Wordsworth and Samuel Taylor Coleridge’s Lyrical Ballads in 1798 is frequently used as a practical starting point for English Romanticism. However, William Blake had already developed a highly original visionary poetry before that date. In France, François-René de Chateaubriand and Germaine de Staël helped introduce Romantic thought during the early nineteenth century. Victor Hugo, Eugène Delacroix and Hector Berlioz later became major figures in French Romantic literature, painting and music. Consequently, Romanticism should be understood as an international network of related movements rather than a single school governed by one manifesto. The historical context of Romanticism Romanticism developed during a period of exceptional political, technological and social change. Revolutions challenged traditional authority. Industrialisation transformed landscapes and labour. Expanding cities altered everyday life. Meanwhile, new ideas about nationhood changed European politics. The American and French Revolutions The American Revolution and the French Revolution inspired many European intellectuals. They appeared to demonstrate that inherited institutions could be overthrown... --- ### Happy Valley saison 2 - **URL**: https://www.skyminds.net/happy-valley-saison-2/ Voici la seconde saison d'Happy Valley. Dix-huit mois après les évènements de la première saison, Catherine reprend le travail et a reçu une médaille, la Queen's Police Medal (QPM), qui récompense sa bravoure lorsqu'elle a sauvé Ann Gallagher (Charlie Murphy) des mains de Tommy Lee Royce (James Norton), qui est en prison à vie. Lorsque la mère de Royce est retrouvée assassinée, Catherine se retrouve impliquée dans une série de meurtres. Alors qu'elle cherche à prouver son innocence, on lui demande d'enquêter sur une opération de trafic de personnes liée aux meurtres en série. Pendant ce temps, le Detective Superintendent Andy Shepard (Vincent Franklin) et la Detective Inspector Jodie Shackleton (Katherine Kelly) commencent à suspecter qu'une des victimes du tueur en série a en réalité été tuée par quelqu'un d'autre. Le petit-fils de Catherine, Ryan, est approché par quelqu'un, ce qui va engendrer toute une série de réactions chez Catherine. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### TEOREM – Le Soleil de Bacchus - **URL**: https://www.skyminds.net/teorem-le-soleil-de-bacchus/ J'ai découvert la chanson Le Soleil de Bacchus du groupe TEOREM sur radio Nova l'autre jour : https://www.youtube.com/watch?v=gP8Mwm7ML4Y Sous l'soleil de BacchusJe bois l'vin du caliceMes pensées s'cumulussentJe vois des fleurs de lys Sous l'soleil de BacchusJe bois l'vin du caliceMes pensées s'cumulussentJ'deviens le roi du vice Je nage mon frère dans les vignes du seigneurDepuis des millénaires je savoure cette liqueurPetit Jésus en culotte de veloursViens à moi que je te savoureSi la vie est trop tristeJ'ai un r'mède efficaceVoici le sang du ChristLa boisson qui décrasseFaites place à l'artisteQui va boire la tasseJ'vais entrer en pisteVa y avoir d'la casse Refrain J'en ai un coup dans la musetteJ'ai abusé sur l'anisetteJ'ai les dents du fond qui baignentExcès de liqueur de châtaigneJ'en ai un coup dans l'pifTrop de téquila pafJ'ai claqué tous mes biff'sMa bourse a pris une baffeFais moi un tarifPour la dernière carafeCar il arrive que j'griffeGare au soûlographe Refrain Ce soir manque de bolJ'ai mal aux amygdalesY m'faut mon vitriolPour être prêt pour le balOn va s'en mettre plein l'colOn va s'lester la caleDégoupille la picolePour les bacchanalesMon nez d'vient écarlateSous l'effet d'l'eau béniteHop derrière la cravateJe soigne ma trachéiteJ'ai le gosier qui m'gratteEt j'crois qu'il faut faire viteMec prépare ton picrateEt ta tireuse d'élite Refrain Pas d'eau dans mon vinMais je dis oui à l'eau de viePas d'mousse dans mon bainJ'la bois en fin d'après-midi Les paroles sont de Rémi Libéreau, la musique est composée par le duo Rémi Libéreau et Curtis Efoua. Le champ lexical de la boisson est plutôt intéressant et recherché : on retrouve même des expressions qui ne sont plus utilisées au quotidien alors qu'elles étaient courantes il y a quelques années encore. Joli travail sur le texte et les références culturelles. --- ### In lycée with Mister B. : rentrée sans imprimante - **URL**: https://www.skyminds.net/lycee-mister-b-rentree-sans-imprimante/ Une rentrée sans imprimante. Tu sais que la rentrée s'annonce un peu tendue lorsque tu franchis la porte de la salle des profs un peu pressé avec une foultitude de documents à imprimer et photocopier parce que tu n'utilises pas le manuel du lycée et que tu découvres avec stupeur ce message laconique sur la photocopieuse : Et ce n'est pas comme si cette imprimante avait fonctionné tout l'été et qu'elle était tombée en panne juste là, comme ça, à force d'utilisation prolongée, hein? Et, comble de l'ironie ou activation immédiate de la loi de Murphy, l'autre imprimante n'a plus de toner. Une rentrée sans imprimante donc. TOUT. VA. BIEN. --- ### Stranger Things saison 1 - **URL**: https://www.skyminds.net/stranger-things-saison-1/ Stranger Things est annoncée comme la série évènement de Netflix. Un soir de l'année 1983 à Hawkins, dans l'Indiana, le jeune Will Byers, 12 ans, disparaît brusquement et sans laisser de traces. Plusieurs personnages vont alors tenter de le retrouver : sa mère Joyce ; ses amis emmenés par Mike Wheeler et aidés par l'intrigante Onze ; et le chef de la police Jim Hopper. Parallèlement, la ville est le théâtre de phénomènes surnaturels liés au Laboratoire national d'Hawkins, géré par le département de l'Énergie (DoE) et dont les expériences dans le cadre du projet MKULTRA ne semblent pas étrangères à la disparition de Will. Cela fleure bon les années 1980 et les influences de Steven Spielberg et Stephen King sont immanquables. Cette première saison comporte 8 épisodes et vu l'engouement du public, une deuxième saison est à prévoir l'année prochaine. --- ### Nick Zoulek – Amplituhedron - **URL**: https://www.skyminds.net/nick-zoulek-amplituhedron/ Nick Zoulek est un saxophoniste américain qui a joué aux États-Unis, en France, au Canada et au Royaume-Uni. Son jeu moderne se tourne vers l'unification de l'art contemporain avec le son. Il arrive à créer de subtiles harmonies avec son saxophone basse qui contrastent avec des sons qui tranchent comme du violon. En voici un exemple avec Amplituhedron : https://www.youtube.com/watch?v=UlM-wrnaMLY Surprenant non ? On peut retrouver cette chanson sur l'album Rushing Past Willow, qui sort le 28 août chez Innova Records. --- ### Le guide complet pour télécharger les vidéos d’Arte+7 en replay - **URL**: https://www.skyminds.net/telecharger-videos-arte7-replay/ Avez-vous déjà été captivé par une émission sur Arte+7, mais contrarié de ne pas pouvoir la télécharger pour la regarder plus tard ? Vous n'êtes pas seul! Beaucoup de téléspectateurs rencontrent des difficultés à télécharger des vidéos depuis Arte+7, un service de replay populaire qui propose un contenu riche et varié, car l'adresse du fichier vidéo n'est pas visible en clair et n'est pas détectée par toutes les extensions de capture de flux vidéo des navigateurs. Heureusement, il existe une méthode simple et efficace pour télécharger vos émissions préférées sans avoir besoin de logiciels tiers complexes. Dans cet article, nous allons explorer cette méthode étape par étape. Comprendre le défi du téléchargement sur Arte+7 Avant de plonger dans la solution, comprenons d'abord pourquoi le téléchargement de vidéos depuis Arte+7 peut sembler compliqué. Le site d'Arte+7 utilise une technologie de streaming avancée qui rend l'adresse du fichier vidéo invisible. Cela signifie que les extensions de capture de flux vidéo courantes peuvent ne pas fonctionner comme elles le feraient sur d'autres sites. J'ai longtemps essayé de télécharger les vidéos en regardant le code source pour identifier les flux, et ensuite utiliser des logiciels dédiés pour les télécharger... sans succès, alors qu'il existe une méthode bien plus simple et efficace. Utiliser la chaîne YouTube d’Arte+7 La première étape pour contourner ce problème est de se tourner vers la chaîne YouTube d'Arte+7. Arte met à disposition une grande partie de son contenu sur YouTube, ce qui simplifie grandement le processus de téléchargement. 1. Accéder à YouTube Commencez par ouvrir YouTube et recherchez la chaîne officielle d'Arte+7. Vous y trouverez une vaste sélection d'émissions disponibles en replay. 2. Naviguer sur la chaîne Parcourez la chaîne pour trouver l'émission ou le documentaire que vous souhaitez télécharger. Prenez le temps de parcourir les différentes catégories et playlists pour découvrir tout ce qu'Arte+7 a à offrir. Choisir la bonne extension de capture vidéo Une fois que vous avez trouvé la vidéo souhaitée sur YouTube, l'étape suivante consiste à utiliser une extension de capture vidéo pour la télécharger. Il existe plusieurs extensions fiables, mais deux des plus populaires sont Video DownloadHelper et Easy Youtube Video Downloader Express. VideoDownloadHelper VideoDownloadHelper est une extension disponible pour les navigateurs Chrome et Firefox. Elle est facile à utiliser et permet de télécharger des vidéos en quelques clics. Easy Youtube Video Downloader Express Easy Youtube Video Downloader Express est une autre excellente option, surtout pour les utilisateurs de Firefox. Elle est simple d'installation et d'utilisation, offrant une méthode rapide pour télécharger des vidéos. Télécharger la vidéo Maintenant que vous avez l'extension appropriée, vous pouvez procéder au téléchargement de la vidéo. 1. Activer l'extension Ouvrez la vidéo sur la chaîne YouTube d’Arte+7, puis cliquez sur l'icône de votre extension de capture vidéo. Elle détectera automatiquement la vidéo et vous proposera de la télécharger. 2. Choisir le format et la qualité vidéo Vous aurez souvent le choix entre différents formats et qualités pour votre téléchargement. Sélectionnez celui qui correspond le mieux à vos besoins. 3. Télécharger... --- ### The Tragically Hip – Courage (For Hugh MacLennan) - **URL**: https://www.skyminds.net/the-tragically-hip-courage-for-hugh-maclennan/ Avec la chanson Courage, j'ai découvert The Tragically Hip, un groupe rock canadien de Kingston constitué de Gordon Downie (voix), Paul Langlois (guitare), Rob Baker (guitare), Gord Sinclair (basse) et Johnny Fay (batterie). Le nom du groupe provient d'un sketch du film Elephant Parts de Michael Nesmith. Le groupe est hautement populaire et influent à travers le Canada. https://www.youtube.com/watch?v=ruGCZ1oVKrU Paroles Watch the band through a bunch of dancersQuickly, follow the unknownWith something more familiarQuickly, something familiarCourage, my wordIt didn't come, it doesn't matterSleepwalk, so fast asleepIn a motel that has the lay of homeAnd piss on all of your backgroundAnd piss on all your surroundingsCourage, my wordIt didn't come, it doesn't matterCourage, your wordIt didn't come, it doesn't matterCourage, my wordIt didn't come, it doesn't matterCourage, it couldn't come at a worse timeThere's no simpleExplanationFor anything importantAny of us doAnd, yeah, the humanTragedyConsists inThe necessityOf living withThe consequencesUnder pressureUnder pressureCourage, my wordIt didn't come, it doesn't matterCourage, your wordIt didn't come, it doesn't matterCourage, my wordIt didn't come, it doesn't matterCourage, it couldn't come at a worse timeIt couldn't come at a worse timeNoIt couldn't come at a worse time Analyse Il y a dans la chanson une référence au roman The Watch that Ends the Night de Hugh MacLennan : "But that night as I drove back to Montreal I at least discovered this: that there's no simple explanation for anything important any of us do, and that the human tragedy, or the human irony, consists in the necessity of living with the consequences of actions performed under the pressure of compulsions so obscure we do not and cannot understand them."Hugh MacLennan, The Watch that Ends the Night Dans le roman, un homme se marie avec son amour d'enfance (qui a une santé fragile) après que son mari est considéré comme mort à la guerre. Le retour du mari engendre une crise. La chanson fait écho au roman. Le courage ne pouvait pas venir à un pire moment mais il n'est pas non plus venu quand on en avait besoin. Ce n'est pas tant vivre avec les conséquences d'un acte terrible que de vivre avec les conséquences des décisions ordinaires que l'on prend tous les jours et les regrets que l'on a lorsque nous échouons à réaliser les choses. Une très belle chanson. --- ### Preacher saison 1 - **URL**: https://www.skyminds.net/preacher-saison-1/ Preacher est une série télévisée américaine basée sur les comics Preacher de Garth Ennis et diffusée sur la chaîne AMC. La série est créée par Seth Rogen, Evan Goldberg et Sam Catlin. Dans le pilot de la série, une entité traverse la galaxie pour arriver sur terre et prendre possession d'un prêtre en Afrique avant que celui-ci n'explose. Ce phénomène se répète également dans un temple sataniste en Russie et dans un rassemblement de l'église de Scientologie. Pendant ce temps, au Texas, Jesse Custer est un prêtre au passé sordide qui commence à perdre foi dans son église et se demande s'il ne devrait pas tout plaquer. Tulip O'Hare, une femme mystérieuse qu'a connu Jesse dans le passé, lui propose un travail mais Jesse refuse. Cassidy, un vampire Irlandais, atterrit au Texas après un épisode violent dans un jet privé. Jesse est confronté au mari d'une de ses ouailles mais il le maîtrise rapidement, lui et ses amis, et fait la connaissance de Cassidy à cette occasion. L'entité apparaît dans l'église et prend possession de Jesse. Trois jours plus tard, Jesse se réveille et décide de ne pas quitter l'église, considérant que sa tâche n'est pas terminée. La série est plutôt violente et les couleurs et la manière de filmer assez spéciales - on peut rapprocher la série Utopia, même si le contexte et l'histoire sont totalement différents. C'est un peu barré mais pas mal du tout. Dix épisodes sont prévus pour cette première saison, à regarder en version originale: Voir Synology : corriger “rsync permission denied” sur Amazon Une seconde saison de 13 épisodes verra le jour l'année prochaine. --- ### Une semaine en Sicile : journée à Cefalù, et retour de Palerme à Nantes - **URL**: https://www.skyminds.net/sicile-cefalu-palerme-nantes/ Voici la fin de notre compte-rendu de notre voyage en Sicile ! Au moment où nous ouvrons les yeux, le soleil est éclatant ! Nous nous empressons de nous préparer, de petit-déjeuner copieusement et nous sommes partis pour une nouvelle journée. Aujourd'hui, au programme, visite de Cefalù. Après la bonne soirée d'hier, notre impression sur ce petit village est très positive et, au long de la journée, nous ne serons pas déçus. En effet, lorsque nous sortons de notre chambre, la première image qui s'offre à nous est le bleu éclatant de la mer, exalté par le soleil rayonnant. Cefalù et sa falaise vertigineuse La particularité de Cefalù est sa construction au pied d'une falaise vertigineuse. Nous sommes bien décidés à l'arpenter. Nous nous engageons donc sur un petit chemin pavé en escaliers bordé par des pins, qui monte le long du rocher. Un chemin qui monte, qui monte... Cefalù, vue du chemin de l'ascension du rocher Il fait très chaud, mais nous avons de l'eau en quantité et sommes bien chaussés. La montée se fait donc sereinement. Au fur et à mesure de notre ascension, la ville médiévale et son petit port se déroulent sous nos pieds. La vue est absolument splendide et nous en profitons pour faire de belles photos. Toits de la ville Mer, ville et roc Muraille et porte de pierre en haut du rocher Cefalù, vue du haut Nous redescendons par le même chemin et arrivons dans la vieille ville. Nous en faisons le tour et admirons, de jour cette fois, les jolies maisons qui s'égrènent dans d'étroites ruelles. Le linge est étendu aux fenêtres et sèche en se laissant flotter au gré du vent, ce qui nous procure un doux sentiment de sérénité. Au fil de notre promenade, nous découvrons, caché dans une petite impasse, un petit lavoir médiéval relié à une source. L'eau est glacée, ce qui nous rafraîchit agréablement après notre montée au rocher. Nous arrivons alors au port et nous tend les bras une terrasse mi-ombre, mi-soleil, qui nous donne l'occasion de noyer notre regard dans la mer. Nous nous y installons confortablement et savourons une bière bien fraîche. Le ballet des passants est un vrai spectacle qui nous enchante. La caponata et les pâtes ont l'air délicieuses, et nous nous laissons tenter. Le repas est excellent. Cefalù, port et rocher Nous repartons, rassasiés, et décidons de faire un tour sur la jetée. La vue sur la vieille ville est magique et là encore, vient l'occasion d'essayer la vue panoramique de nos appareils photos. Tout est calme, l'eau est belle et nous savourons ce moment délicieux. Nous nous dirigeons ensuite vers le Duomo de la ville. Il est dressé au pied de la falaise et fut construit suite à un voeu du roi Roger II: en 1131, pris dans une violente tempête, il promit de construire une cathédrale s'il survivait. Chose promise, chose due : il survécut et s'exécuta. L'intérieur est copieusement décoré : une mosaïque imposante représentant le Christ Pancrator... --- ### Une semaine en Sicile : la villa romaine du Casale à Piazza Armerina - **URL**: https://www.skyminds.net/sicile-villa-romaine-du-casale-piazza-armerina/ Voici la sixième journée de notre voyage en Sicile. Aujourd'hui, nous devons partir d'Agrigente et prendre la direction du nord de la Sicile, pour remonter vers Palerme car notre vol de retour est dans deux jours. Deux solutions s'offrent à nous : soit nous reprenons le chemin que nous avons déjà pris (retour via Mazara del Vallo), soit nous passons par le centre de la Sicile (via Enna). C'est la seconde solution que nous choisissons, d'autant que nous avons repéré sur la carte une étape intéressante : les vestiges d'une villa romaine découverte il y a peu, mais déjà réputée pour ses mosaïques. La villa romaine du Casale La villa romaine du Casale est une villa située près de la ville de Piazza Armerina, au sud de la Sicile, classée au patrimoine mondial de l'UNESCO. Sa construction a débuté à la fin du IIIème siècle. Elle compte une trentaine de pièces décorées de mosaïques. Elle fut occupée jusqu'en 1160 lorsqu'elle fut ravagée par un incendie et disparut sous un glissement de terrain. C'est ce qui a permis de la retrouver quasi intacte quelques siècles plus tard. Le site fut découvert en 1812 mais il fallut attendre 1929 pour débuter les fouilles et mettre au jour la première mosaïque (Travaux d'Hercule). La fin des restaurations date de 1954. La villa fut longtemps attribuée à Maximien Herculeus, associé de Dioclétien dans la Tétrarchie. Il est aujourd'hui admis que son commanditaire devait être un riche romain dont le nom reste inconnu. On reconnaît l'aisance financière du propriétaire de la villa aux mosaïques qui ornent les sols : les services d'un artiste étaient très onéreux dans l'Antiquité. De plus, il s'était même fait construire des thermes privés. Ils constituent la première étape de notre visite. Les thermes étaient alimentés en eau par un aqueduc et constitués de salles différentes : un frigidarium, qui, comme son nom l'indique, contenait de l'eau froide. Son plan est circulaire et il est orné d'une mosaïque représentant une scène marine. Une autre salle appelée tepidarium contenait un bain dont l'eau était tiède. Deux salles étaient réservées aux bains chauds: c'est le système très élaboré de l'hypocauste qui permettait de chauffer l'eau. Il est encore visible aujourd'hui, et reconnaissable aux petits monticules de briquettes, permettant de faire circuler la chaleur de façon uniforme sous la cuve contenant l'eau du bain. Les thermes de ce riche romain étaient aussi constitués d'une salle de repos. La mosaïque qui l'orne indique la fonction de cette salle : sur le sol, est en effet représenté un strigile. Il s'agit d'un outil que les romains utilisaient avec de l'huile de façon à ôter les peaux mortes et se gommer le corps. C'est en quelque sorte l'ancêtre de nos gels douche exfoliants. Nous entrons ensuite dans la villa. Puisque les mosaïques ornent les sols, ont été aménagées des coursives placées en hauteur qui définissent un parcours pour les visiteurs. L'ensemble, recouvert d'un toit, permet de surplomber les oeuvres d'art sans les abîmer et protège en plus... --- ### Une semaine en Sicile : Eraclea Minoa, Agrigente et la Vallée des Temples - **URL**: https://www.skyminds.net/sicile-eraclea-minoa-agrigente-vallee-des-temples/ Voici le cinquième jour de notre voyage en Sicile. Après une nuit paisible, nous sommes d'abord réveillés par le chant du coq puis par le raffut des autres locataires qui claquent la porte qui mène vers la salle du petit déjeuner. Au moins, on se lève tôt ! Le petit déj' est tout simplement royal : toasts, croissants, jus de fruits, un vrai café avec du liquide dedans, des fruits... Cécile est ravie, tout est frais et cela va nous caler pour bien démarrer la journée. Nous quittons Sélinonte et reprenons la voiture pour rejoindre Agrigente. En théorie, cela prend deux heures mais sur les routes siciliennes, tout est plus long. Les limitations de vitesse ne sont pas toujours indiquées et il existe toujours deux limitations différentes, selon que l'on possède une grosse cylindrée ou une petite voiturette. Pas facile de s'y retrouver. Les ruines d'Eraclea Minoa Sur la route, nous nous arrêtons à mi-chemin pour admirer les ruines d'Eraclea Minoa. Il s'agit d'une ancienne colonie de la cité de Sélinonte, qui périt tragiquement au premier siècle avant Jésus-Christ du fait d'un glissement de terrain. On voit encore la cavea de l'amphithéâtre, situé en haut d'une crête qui donne une vue plongeante sur la mer. L'édifice est bien conservé, mais malheureusement recouvert d'un hideux toit de plastique blanc, qui ôte sa poésie à une oeuvre millénaire. En contrebas, apparaissent aussi les vestiges des habitations romaines dont on voit encore les fondations. Il pleut à verse et nous nous réfugions dans le petit musée archéologique qui contient plusieurs vitrines exposant les objets retrouvés sur le site : pièces de monnaies, statuettes et moulages de phallus. Nous revenons à la voiture en courant, nous abritant en vain sous nos doudounes. Nous poursuivons notre route et décidons d'aller voir la plage et passons donc par la ville d'Eraclea Minoa : lorsque nous la rejoignons, nous sommes saucés. Il pleut tellement que les égouts débordent et les rues sont totalement inondées. Nous prenons la rue qui descend vers la mer et l'eau de pluie arrive sur la plage avant nous. La plupart des maisons sont fermées et sont très certainement des résidences secondaires. On se sèche comme on peut dans la voiture et reprenons le chemin d'Agrigente. Nous arrivons côté port et commençons l'ascension de la ville avec la voiture. Agrigente est encaissée sur le flanc d'une colline et le centre de la ville se trouve dans les hauteurs. On monte donc en lacet, comme en montagne et les rues sont très étroites. Nous essayons de monter le plus haut possible pour garer notre véhicule et éviter d'avoir à faire l'essentiel du chemin qui mène au centre historique à pieds. Les virages en épingle sont impressionnants et nous nous accrochons vigoureusement au siège. Nous nous garons dans le parking face à l'hôtel de ville et flânons en quête d'un restaurant pour nous sustenter. Nous suivons les conseils du Routard et allons manger dans un petit restaurant bondé de touristes (Routard oblige). Nous choisissons tous... --- ### Suits saison 6 - **URL**: https://www.skyminds.net/suits-saison-6/ Suits revient pour sa sixième saison sur USA Network. Cette saison reprend là où la finale de la cinquième saison s'était arrêtée : Mike est conduit en prison où il est immédiatement envoyé chez le coiffeur pour recevoir une nouvelle coupe de cheveux alors que l'un des gardiens lui explique les règles. Grosso modo, il n'est plus dans son environnement et recevra des sanctions disciplinaires à la première incartade. Mike va donc avoir la vie dure car ni les gardiens ni son conseiller ne supportent son côté smart. Lorsqu'il n'obéit pas immédiatement à un ordre donné, l'un des gardiens lui impose de rester dans sa cellule. Pendant ce temps, les partenaires de la firme tentent de sauver les meubles et la réputation de la firme, malgré l’égoïsme de Louis. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Mr. Robot saison 2 - **URL**: https://www.skyminds.net/mr-robot-saison-2/ Mr. Robot revient sur USA Network pour la seconde saison. Dans cette nouvelle saison, un mois a passé depuis le piratage massif des données de ECorp par Fsociety et Eliott apparaît plus déconnecté que jamais : il tente de garder le contrôle sur Mr. Robot mais celui-ci devient impatient, voire complètement psychopathe. Réfugié chez sa mère, coupé de toute technologie, Eliott est à la recherche d’une normalité qui lui serait salvatrice. Il ne sait pas ce que c’est qu’être comme tout le monde, alors il s'est forgé un planning fixe qu'il suit rigoureusement, heure par heure, afin de donner l’impression que son existence est structurée. En réalité, il s’est construit une illusion à laquelle il ne croit pas réellement et c’est le doute qui permet à Mr. Robot de passer et de menacer de tout faire exploser. Son état est encore fragilisé quand Gideon Goddard lui rend visite et menace de révéler au FBI qu'il soupçonne son ancien employé d'avoir utilisé les moyens d'Allsafe pour permettre le piratage. La narration est déconstruite et il est même parfois difficile de savoir ce qui est censé être vrai et ce qui ne l’est pas. La confusion ne prend pas pour autant le dessus, car si Eliott se bat pour garder le contrôle, tout ne tourne pas autour de lui. Darlene le fait justement bien remarquer quand elle tente de rallier ses troupes pour la suite de son plan. Dans ce sens, il est important de bien se souvenir tout ce qui s’est passé auparavant : les rappels sont utilisés pour replacer l’histoire mais ne redonnent pas toutes les clés de celle-ci. Cela participe indéniablement à faciliter l’immersion dans l’ambiance parfois étouffante de la série. A regarder comme les hacktivistes que nous sommes. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Une semaine en Sicile : Mazara del Vallo et Sélinonte - **URL**: https://www.skyminds.net/sicile-mazara-del-vallo-selinonte/ Quatrième jour de notre voyage en Sicile. Ce matin, au moment où j'ouvre les yeux, la place de Matt dans le lit est encore chaude, mais vide. Matt est déjà lavé et dans la cuisine, en grande conversation en italien avec notre hôtesse Antonella. Résultat indéniable, il a fait de fulgurants progrès en italien au cours de ce voyage, et on comprend bien pourquoi ! Nous quittons Trapani et les adieux avec Antonella sont déchirants. Elle escalade même à la fenêtre de notre chambre avant de partir pour nous embrasser (Matt, surtout!). Nous garderons un excellent souvenir de notre visite de la ville. Il fait beau, et nous prenons la route pour Mazara del Vallo qui se situe à environ trois heures de route. Le trajet se déroule sereinement, sur des petites routes de campagne. Nous n'avons pas de carte vraiment très précise, mais trouvons notre chemin sans difficulté, sauf lorsque deux panneaux opposés indiquent la même direction. Nous prenons l'une des deux routes et arrivons finalement à bon port! Nous décidons de déjeuner dans la ville avant de la visiter. Lectrice assidue du Routard, je nous dégote une adresse très réputée de la ville, avec un excellent rapport qualité-prix. Nous nous garons dans une petite rue, et optons pour faire le reste du chemin à pieds. Un moment d'absence et nous nous retrouvons à longer la voie de chemin de fer pendant un certain temps, sans croiser l'ombre d'un restaurant, ni même d'une âme qui vive d'ailleurs. Matt commence à s'impatienter (il a faim !) et moi, hésitante, je commence à comprendre qu'il faudrait faire demi-tour. Nous nous exécutons et 20 bonnes minutes plus tard, nous arrivons quasiment exsangues au restaurant. Au moment de la commande, le chef qui vient lui-même nous présenter sa carte à bien du mal à comprendre la fraîcheur de l'atmosphère. Un bon verre de vin plus tard et une excellente pasta avalée, nous reprenons des couleurs et de la chaleur. La ville de Mazara del Vallo se révèle être un dédale de rue, témoin de l'influence des nombreuses cultures qui ont marqué l'histoire de la ville. Nous croisons de très belles et très nombreuses églises et lorsque nous nous engageons dans les ruelles, on se croirait dans la médina. C'est très bien fleuri et le soleil éclatant révèle la blancheur des murs. Notre programme de la journée est chargé et nous reprenons ensuite la route pour nous rendre sur le site antique de Sélinonte. Le site antique de Sélinonte Il est difficile de décrire ce que je ressens à ce moment précis. Sélinonte évoque en moi les cours suivis à l'Université de Lettres Classiques de Nantes et autant dire que j'attendais cette visite avec beaucoup d'excitation et d'impatience. La visite se révèle bien au-delà de ce que j'avais imaginé. Cécile, heureuse qui comme Ulysse a fait un beau voyage... Nous visitons le site en fin de journée et y sommes presque seuls. Les vestiges des temples s'offrent à nous en toute intimité. Le temple... --- ### Une semaine en Sicile : Trapani et les îles Égades - **URL**: https://www.skyminds.net/sicile-trapani-iles-egades/ Voici le compte-rendu du troisième jour de notre voyage en Sicile. Au moment où nous ouvrons les volets de notre chambre, nous découvrons un temps gris et pluvieux qui nous rappelle la Bretagne. Cela tombe bien, on a décidé de prendre le bateau pour rejoindre les îles aujourd'hui ! Antonella nous offre un petit déjeuner copieux composé de toasts grillés, de café à volonté et de croissants. La particularité de l'Italie, c'est qu'ils fourrent les croissants avec de la crème ou du Nutella, ce qui est inattendu pour nous. Nous rejoignons le port et en profitons pour nous promener dans la ville de Trapani. Le Corso Vittorio Emanuele est très agréable et animé. Nous flânons aussi sur le lungomare et admirons l'ancien marché aux poissons. L'archipel des îles Égades Puis, sur les environs de midi, nous embarquons sur un aliscafo qui nous emmène sur l'île de Favignana. C'est ici qu'Ulysse a fait escale lors de son périple vers Ithaque et les seuls habitants qu'il a découverts étaient des chèvres. D'où le nom de l'archipel des îles Égades, dont le nom vient d'aigos qui signifie chèvre en grec ancien (merci Cécile). Nous sommes enchantés par la traversée qui nous donne à voir au loin l'île de Levanzo que nous réservons pour un prochain voyage. A notre arrivée sur Favignana, nous sommes accueillis par le forte San Caterina qui nous guette depuis ses 300 mètres d'altitude. Dès que nous posons le pied sur l'île, il se met à pleuvoir des cordes. Cela tombe bien, c'est l'heure de manger et nous avisons une petite trattoria uniquement fréquentée par des locaux. La nourriture est excellente et servie généreusement. Nous profitons d'une accalmie pour découvrir l'île. La plupart des maisons du front de mer sont des résidences secondaires et donc non-habitées à cette période de l'année. Dans le centre du village, les ruelles sont extrêmement sinueuses et l'habitat blanc au toit plat nous fait penser à l'Afrique du Nord. Notre découverte de l'île est compromise par la pluie battante qui nous accompagne et nous nous réfugions dans un café pour attendre le bateau du retour. La traversée pour revenir à Trapani est plus agitée qu'à l'aller et nous nous amusons à prendre des selfies tout flous. Rentrés à l'appartement, nous nous jetons dans la douche pour nous réchauffer et changer de vêtements avant de nous rendre de nouveau en ville pour déguster une pizza chez Calvino (adresse : Via Nunzio Nasi, 71, 91100, Trapani) qui est l'une des très bonnes adresses prodiguées par Antonella. La pizzeria Calvino Au moment où nous arrivons, le restaurant est bondé, très prisé par les siciliens. Le chef nous demande de revenir 45 minutes plus tard pour le second service et nous en profitons pour aller boire une bière en terrasse. De retour à la pizzeria, le chef nous installe dans l'une des petites salles qui s'égrènent le long d'un couloir blanc aux portes verte. Chaque salle peut accueillir deux à trois tables, ce qui assure l'intimité de chaque groupe... --- ### Une semaine en Sicile : la cité antique de Ségeste et la ville médiévale d’Erice - **URL**: https://www.skyminds.net/sicile-segeste-erice/ Deuxième jour de notre voyage en Sicile. Notre nuit fut agitée car la circulation est dense à toute heure de la nuit et les murs et fenêtres de notre chambre mal isolés ! Nous prenons un petit déjeuner délicieux. Si le café est ristretto, les croissants frais et encore chauds sont absolument divins. De plus, le choix de gâteaux, de fruits et de biscuits offerts par notre hôte est impressionnant et nous met l'eau à la bouche. Et, cerise sur le gâteau, tout est à volonté ! Nous reprenons notre route. Notre première escale est l'ancienne cité de Ségeste. Cécile est ravie à l'idée de visiter cette cité millénaire. Nous sortons de l'autoroute et bifurquons sur une petite route de campagne un peu chaotique. La cité antique de Ségeste Les paysages sont magnifiques, car les champs et les collines qui s'étendent à l'horizon forment un patchwork de couleurs lin et lavande. Nous nous garons puis empruntons un petit chemin qui serpente entre les genêts en fleurs jusqu'à un temple grec, qui date du Vème siècle avant J.-C. Si vous faites partie de l’Éducation Nationale ou si vous êtes étudiant ou scolaire, vous pouvez obtenir l'entrée à moitié prix, comme dans la plupart des sites en Sicile. Ce jour-là, le théâtre situé à 2 km du temple est fermé pour restauration. Le temple est situé sur une crête qui domine une vallée verdoyante, clairsemée par les fleurs printanières. La vue est absolument splendide. Le temple arbore 36 colonnes doriques qui se dressent face à nous. La hauteur et la prestance de l'édifice témoignent du passé somptueux de la cité antique fondée par les Elymes. Le fronton est encore intact après 26 siècles chargés de guerres et de colonisations. C'est très émouvant de constater la survivance de l'édifice malgré les affres du temps et le manque de valorisation de la part des pouvoirs publics. Nous repartons enchantés par notre visite et décidons de filer vers Trapani. Il s'agit de l'antique Drépanum, réputée pour son activité maritime et son port. A quelques pas du centre-ville, nous trouvons un grand parking gratuit où nous garons la voiture. Nous trouvons un petit restaurant familial où nous commandons un assortiment d'antipasti avec du fromage et une tapenade d'aubergines, ainsi que des escalopes de veau au marsala. Les quantités sont gargantuesques et le vin de la maison délicieux. Voici l'adresse de cet excellent restaurant : Ristorante Antichi Sapori, Corso V. Emmanuele 191. La ville médiévale d'Erice L'après-midi, nous allons visiter la ville médiévale d'Erice qui se situe à 751 mètres l'altitude. Du centre-ville, nous prenons un bus qui nous dépose au nord de la ville, jusqu'à un téléphérique qui nous emmène jusqu'aux portes d'Erice. C'est génial car cela nous évite de prendre la voiture et nous profitons de la montée pour apprécier les paysages et une vue imprenable sur la ville et la mer. Selon la légende, la cité aurait été fondée par Eryx, le fils de Vénus elle-même, qui devint par la suite roi des Elymes.... --- ### Une semaine en Sicile : notre arrivée à Palerme - **URL**: https://www.skyminds.net/sicile-palerme/ Voici le résumé de nos vacances de Pâques en Sicile. Ce matin, c'est le grand départ, nous partons pour une semaine en Sicile. Nos valises sont bouclées, et nous sommes bien contents de découvrir une nouvelle destination que nous ne connaissons pas encore. Notre vol part de Nantes à 10h25 et nous arrivons à Palerme à 12h55. Le vol se passe sereinement. À notre arrivée à Palerme, le temps est radieux. Lorsque nous avons quitté Nantes, seuls 4 petits degrés s'affichaient au compteur de notre voiture. A Palerme, la situation est bien différente. Dès notre sortie de l'aéroport, nous nous dirigeons vers l'endroit où on peut louer des voitures. Nous avons créé notre réservation au préalable chez la compagnie Goldcar que nous n'avons aucune difficulté à trouver sur le parking des loueurs de voitures . À ce propos, nous vous conseillons vivement lors de votre réservation sur Internet de passer directement par le site du loueur en question (Goldcar, Hertz...). En effet, certains sites comparatifs proposent des offres alléchantes comprenant location du véhicule + assurance à un prix dérisoire. Mais dans les faits, cela revient beaucoup plus cher car sur place, le loueur oblige les clients à souscrire son assurance car il ne reconnait pas celle déjà souscrite auprès du site internet. Résultat : l'assurance est payée deux fois. La dame de Goldcar et très gentille et nous propose le choix entre 3 voitures différentes. Une C3 Picasso, une Renault Clio, et une Opel Corsa. Nous choisissons la première qui se révèle être une voiture familiale avec un grand coffre et une bonne motorisation. Rien à voir avec les sempiternelles Fiat Panda qui tirent la langue dans les montées. L'affaire se règle en quelques minutes, et nous nous enfilons un t-shirt et un short pour se mettre à l'aise. Ça y est, on y est et sommes prêts pour une semaine d'aventure ! Arrivée à Palerme Nous nous dirigeons d'emblée vers Palerme car c'est la première étape de notre voyage. Trente kilomètres séparent l'aéroport du centre ville et la route que nous empruntons est très agréable, il y a peu de circulation, les paysages sont absolument magnifiques et nous longeons la côte et l'eau turquoise de la Sicile. L'arrivée dans le centre ville de Palerme se révèle moins aisée. En effet, les panneaux qui indiquent les directions sont très difficiles à trouver pour des yeux profanes, et la circulation est vraiment démente. Les voitures doublent par la droite et n'ont aucun sens du stop : c'est à qui aura la priorité sur l'autre, sans jamais tenir compte de la signalisation pourtant présente. Malgré tout, Matt se révèle être un pilote hors-pair, qui s'habitue très vite à cette nouvelle façon de conduire. L'autre difficulté à laquelle nous nous confrontons - et cela sera le cas bien souvent lors de notre voyage - c'est le stationnement. En effet, la recherche d'une place de stationnement se révèle être mission quasiment impossible. Nous nous éloignons un petit peu du centre et parvenons finalement à... --- ### PJ Harvey – The Wheel - **URL**: https://www.skyminds.net/pj-harvey-the-wheel/ Polly Jean Harvey dite PJ Harvey, née le 9 octobre 1969 à Yeovil (dans le comté de Somerset, au Royaume-Uni), est une chanteuse, auteure-compositrice britannique de rock alternatif. Voici The Wheel qui se trouve sur l'album The Hope Six Demolition Project (2016) : https://www.youtube.com/watch?v=7ReW0jJkag8 Je vous préviens (un peu tard) : cela reste bien en tête ! Merci Jack pour la découverte :) Voir Synology : corriger “rsync permission denied” sur Amazon --- ### In lycée with Mister B. : « who are we ? » - **URL**: https://www.skyminds.net/in-lycee-with-mister-b-who-are-we/ Il y a quelques mois, je vous ai parlé de ce message des anonymous students que j'avais retrouvé dans mon casier. Hé bien figurez-vous que j'en ai retrouvé un autre! Cette fois, j'ai mis du temps à m'en rendre compte car il était en dessous de tout le contenu du casier : les photocopies, les devoirs à rendre, les manuels, les listes de début d'année pour faire l'appel et retenir les noms des élèves... J'ai été très surpris de ne pas le trouver plus tôt mais le fond de mon casier n'est réellement visible qu'à la fin de l'année, lorsque je le vide pour faire place à l'année scolaire suivante. La puce à l'oreille m'est venue lorsque j'ai découvert un petit papier plié en quatre dans mon sac de cours en revenant de l'école, avec un simple point d'interrogation coloré. Je me suis alors dit que j'étais passé à côté d'un autre message. Au passage, je note avec plaisir que l'orthographe du mot "students", écorchée dans le premier message, est maintenant corrigée. Well done you! Donc, pour répondre à la question : je pense que vous étiez cette année en seconde - am I right ? --- ### Installer le kernel Liquorix sur Linux Mint - **URL**: https://www.skyminds.net/linux-mint-kernel-liquorix/ Linux Mint fournit un noyau stable, testé et bien intégré à la distribution. Dans la majorité des cas, c’est exactement ce qu’il faut. Pourtant, certains utilisateurs veulent tester un noyau plus récent ou plus orienté réactivité desktop, notamment pour un ordinateur portable récent, la MAO, le multimédia, le gaming ou un périphérique mal reconnu. C’est là que Liquorix peut entrer en scène. Liquorix est un noyau Linux optimisé pour les systèmes interactifs : latence plus faible, meilleure réactivité ressentie, réglages orientés desktop, audio/vidéo et jeux. Mais attention : installer un noyau alternatif n’est pas une petite extension de thème Cinnamon. On touche au cœur du système. Donc on sauvegarde, on garde le noyau officiel, on vérifie Secure Boot, on teste, puis seulement on décide si cela vaut le coup. Qu’est-ce que le kernel Liquorix ? Liquorix est un noyau Linux maintenu pour les postes de travail. Il vise surtout la réactivité et la faible latence plutôt que le rendement serveur pur. Il peut être intéressant pour : un PC desktop où la fluidité compte plus que la consommation ; un ordinateur portable avec du matériel récent mal reconnu ; la production audio ou vidéo ; les jeux sous Linux ; les workloads interactifs avec beaucoup d’I/O ; les utilisateurs qui veulent tester un noyau plus récent sans compiler eux-mêmes. En revanche, Liquorix n’est pas une baguette magique. Si votre machine fonctionne parfaitement avec le noyau officiel Linux Mint, vous n’avez peut-être rien à gagner. Le meilleur kernel, c’est souvent celui qu’on oublie parce que tout marche. Faut-il installer Liquorix sur Linux Mint ? Avant de l’installer, posez-vous la bonne question : quel problème voulez-vous résoudre ? Liquorix peut valoir le test si : votre Wi-Fi, Bluetooth, pavé tactile ou GPU est mal reconnu ; le noyau officiel est trop ancien pour votre matériel ; vous cherchez une meilleure réactivité en audio ou vidéo ; vous jouez sous Linux et voulez comparer le ressenti ; vous savez revenir au noyau officiel en cas de souci. Liquorix est moins indiqué si : vous voulez une machine ultra-stable sans maintenance ; vous utilisez Secure Boot sans vouloir le gérer ; vous dépendez de modules DKMS sensibles ; vous avez besoin d’un support strict de votre distribution ; vous administrez une machine de production. Sur un poste personnel, tester Liquorix se défend. Sur un serveur ou une machine critique, gardez le noyau officiel. Le frisson du noyau alternatif a ses limites. Linux Mint classique ou LMDE : même prudence Linux Mint existe en deux grandes familles : Linux Mint classique, basée sur Ubuntu LTS ; Linux Mint Debian Edition, ou LMDE, basée sur Debian. Liquorix cible Debian et Ubuntu, donc les deux familles peuvent théoriquement l’utiliser. Toutefois, les dépendances, dépôts et versions de paquets ne sont pas identiques. Ne copiez pas une commande trouvée pour Debian Sid dans un système Mint sans comprendre ce qu’elle ajoute. Le site officiel Liquorix propose aujourd’hui un script d’installation pour Debian, Ubuntu et Arch. C’est l’option la plus... --- ### Prey saison 2 - **URL**: https://www.skyminds.net/prey-saison-2/ Voici la seconde saison de Prey sur ITV. Après John Simm comme héros principal au sein de la saison 1, Prey a obtenu une suite reprenant le concept d'un homme en fuite dans les rues de Manchester. Le héros est maintenant campé par Philip Glenister qui est pourchassé par les forces de l'ordre, en compagnie de Myanna Buring. Cette saison 2 de Prey se centre donc sur David Murdoch (Philip Glenister), un gardien de prison dont la vie prend un tournant lorsqu'une visite de routine à l'hôpital de Manchester avec une prisonnière nommée Jules (Myanna Buring) déraille. Il reçoit en effet un coup de téléphone qui fait basculer toute son existence. Pour sauver sa fille, il est forcé de fuir avec Jules et se retrouve du mauvais côté de la loi. Il est amusant de noter que John Simm et Philip Glenister ont joué ensemble dans plusieurs séries déjà : Life on Mars et Mad Dogs et dans Prey, l'un succède à l'autre. Cette saison contient trois épisodes, à regarder en version originale. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### PHP : résoudre l’erreur « PHP Fatal error: Uncaught Error: Class DOMDocument » - **URL**: https://www.skyminds.net/php-resoudre-class-domdocument-not-found/ Aujourd'hui, petite mise à jour mineure de PHP7, en utilisant les dépôts DotDeb. Le problème : PHP-FPM désactivé par défaut A la fin de l'installation, j'obtiens ce message d'avertissement : Setting up php7.0-fpm (7.0.8-1~dotdeb+8.1) ... Installing new version of config file /etc/init.d/php7.0-fpm ... NOTICE: Not enabling PHP 7.0 FPM by default. NOTICE: To enable PHP 7.0 FPM in Apache2 do: NOTICE: a2enmod proxy_fcgi setenvif NOTICE: a2enconf php7.0-fpm NOTICE: You are seeing this message because you have apache2 package installed. [ ok ] Restarting PHP 7.0 FastCGI Process Manager: php-fpm7.0. C'est bien la première fois qu'une mise à jour de PHP désactive PHP-FPM, ce n'est pas vraiment une mise à jour mineure et sans accroc. On réactive donc les deux modules indiqués et on relance la configuration de PHP-FPM avant de relancer Apache et PHP-FPM : a2enmod proxy_fcgi setenvif a2enconf php7.0-fpm service apache2 restart && service php7.0-fpm restart Je lance le site : page d'erreur de certificat la première fois, et page blanche ensuite ! Des modules PHP à installer séparément Après analyse des dernières lignes du fichier log d'Apache, je me suis rendu compte que le site avait besoin des modules mbstring et xml or, cette nouvelle version ne les fournit plus : ce sont maintenant des paquets à installer à part. Voici le message d'erreur des logs: [26-Jun-2016 08:39:12 UTC] PHP Fatal error: Uncaught Error: Class 'DOMDocument' not found in /public_html/wp-content/plugins/ginger/front/gingerfront.core.php:171 Stack trace: #0 /public_html/wp-includes/plugin.php(235): ginger_parse_dom('...') On installe donc mbstring et xml avant de relancer Apache et PHP : apt install php7.0-mbstring php7.0-xml service apache2 restart && service php7.0-fpm restart Cette fois-ci, c'est tout bon. Tous les services sont actifs et le site est de nouveau opérationnel. Attention donc : c'est une mise à jour mineure que j'aurais pu faire en SSH depuis mon téléphone, sans avoir les moyens de réparer à distance. Cela remet en perspective les mises à jour "on-the-go". Voici les nouveaux modules qui ne sont plus inclus par défaut avec PHP : bcmath, dba, mbstring, soap, xml et zip. Ce sont donc maintenant des paquets à part entière, à installer séparément. --- ### Baptême de l’air en ULM - **URL**: https://www.skyminds.net/bapteme-de-lair-en-ulm/ Le week-end dernier, j'ai eu le privilège de faire un baptême de l'air en ULM ! Tout a commencé par un cadeau surprise de la part de Claire à Noël. Il fallait que je sois disponible un samedi dans l'année, de préférence un jour où il fait beau. Entre les samedis où je travaille et les caprices de la météo, cela a pris un peu de temps mais la date a été calée en juin. Le cadeau était une surprise, et je n'ai eu que des brèves instructions qui ne laissaient pas vraiment deviner ce que c'était : "habille-toi avec des vêtements amples, et qui ne craignent rien et prends des gants, un bonnet, des chaussures de randonnée, une raquette de tennis". Autant vous dire que j'ai pas mal cogité pour tenter de trouver à quelle sauce j'allais être mangé. J'ai d'abord pensé à une partie de paintball mais le message laconique de la carte de Noël était "pour t'envoyer en l'air". Le mystère était entier. Le jour J, je me rends à Héric, en Loire-Atlantique, avec des coordonnées GPS (type latitude, longitude). Ce type de données est quasiment impossible à rentrer sous Google Maps sur un téléphone (voilà une bonne idée d'amélioration de l'appli) donc j'ai rapidement jeté un oeil à la petite carte d'invitation pour me situer. Nous roulons donc le long de la N137 et arrivons sur une voie goudronnée qui s'étiole ensuite pour devenir un chemin plein de gravillons et de poussières. On passe un terrain de motocross sur lequel des motos pétaradent en s'élançant dans les airs. L'inquiétude me gagne, je me dis que je ne sais pas conduire de moto. Le chemin tourne puis on arrive dans un champ d'herbe où se trouve un hangar. Je crois qu'on va faire de l'ULM ! Un casque anti-bruit avec un microphone et un casque avec visière pour le vent et je prends place à l'arrière de l'ULM pendulaire : Il n'y a rien pour se tenir - on n'est maintenu que par un simple ceinture de sécurité comme dans les avions et il faut mettre ses pieds sur les calepieds comme sur une mobilette. Le décollage est très rapide, il n'y pas besoin de beaucoup d'élan pour s'élever dans les airs. Daniel, le pilote, communique avec moi grâce au casque-micro et m'explique le fonctionnement de l'appareil. J'en profite pour lui poser quelques questions sur la formation : il faut plus d'une centaine d'heures de vol ainsi qu'un brevet pour faire voler les gens et c'est son gagne-pain. On commence à voler à 400 mètres d'altitude, puis à 600 mètres. Les maisons sont toutes petites et on peut voir sur des dizaines de kilomètres à la ronde. Depuis Héric, on peut apercevoir la Tour Bretagne, au centre de Nantes. On remonte le cours de l'Erdre : Carquefou, Nort-sur-Erdre, Sucé-sur-Erdre, le canal de Nantes à Brest, les tourbières, la carrière de Casson... La vue est grandiose, les différents champs forment un patchwork composé d'une multitude de couleurs différentes... --- ### Luna Lee – With or Without You Gayageum (U2 cover) - **URL**: https://www.skyminds.net/luna-lee-with-or-without-you-gayageum/ Voici encore une superbe reprise par Luna Lee : With or Without You de U2, jouée au gayageum : Cet instrument étrange, le gayageum, et les notes qui s'en dégagent me fascinent. Cela donne une autre dimension à la chanson et je ne me lasse pas d'écouter cette version un peu plus orientale. --- ### Le fonctionnement des réseaux sociaux - **URL**: https://www.skyminds.net/le-fonctionnement-des-reseaux-sociaux/ Comment les réseaux sociaux fonctionnent-ils ? Cette question est au coeur de la problématique des groupes sociaux et de l'intégration des inidividus à la société. I. Les réseaux sociaux relient les individus entre eux A. Définition et exemples de structuration Les réseaux sociaux peuvent être définis comme l'ensemble des relations que les individus et les groupes sociaux entretiennent les uns avec les autres. Ce sont donc les relations des individus. On parle d'analyse de réseaux à partir du moment où l'on étudie au moins trois unités (individus) - ils constituent une triade. C'est seulement à partir de cette unité que l'on peut, en effet, étudier les liens d'interdépendance qu'entretiennent les individus à l'intérieur d'un réseau. Traditionnellement, il existe deux formes d'analyse de réseau. Soit on se centre sur un individu ou un groupe et on regarde quelles sont ses relations, on parle alors d'étoile ; soit on prend également en compte les relations que les contacts de l'individu peuvent entretenir entre eux, on parle alors de zone. Dans l'analyse de réseaux, on différencie les liens qu'entretiennent les individus selon leur degré d'intimité. Les liens forts relient un individu le plus souvent aux membres de sa parenté et à ses amis proches et se caractérisent par une forte affectivité et des relations très fréquentes. Les liens faibles quant à eux sont des liens qui le relient à de simples connaissances ou encore à des relations de ses contacts personnels (ils sont beaucoup moins fréquents et très peu chargés d'affectivité). B. Les réseaux forment la sociabilité La sociabilité est un ensemble de relations qu'un individu entretient avec les autres et les formes que prennent ses relations. L'analyse des réseaux étudie bien plus la sociabilité réelle (réception à domicile, sorties, fréquentation des bals, cafés, pratique du sport...) que la sociabilité virtuelle sur des sites tels que Facebook, Twitter, Instagram, Snapchat... Malgré tout, la sociabilité virtuelle peut rejoindre des réseaux réels. En effet, certains réseaux virtuels comme LinkedIn sont un moyen de se créer des relations dans le domaine professionnel. Il faut noter que la sociabilité prend en compte des relations choisies tout comme des relations non choisies (échange avec un commerçant par exemple). L'amitié va être définie comme les relations électives et affinitaires qu'entretient l'individu. On note alors de l'homophilie : les individus sont amis avec des personnes qui leur ressemblent socialement : même PCS, même religion, même âge... Les explications sont les mêmes que celles concernant l'homogamie (mariage entre personnes socialement proche) : fréquentation des mêmes lieux, mêmes centres d'intérêts, amis communs... II. Les réseaux peuvent constituer une véritable ressource A. Le capital social Les relations d'un individu peuvent constituer pour lui une forme spécifique de ressources : le capital social. Cela est d'autant plus vrai que les relations qu'il entretient détiennent un capital économique (ressources financières) et un capital culturel important (niveau de diplôme élevé, détention de biens culturels). Les relations constituent alors ce que l'on nomme le carnet d'adresses de l'individu et il est d'autant plus utile que les personnes... --- ### Underground saison 1 - **URL**: https://www.skyminds.net/underground-saison-1/ Underground est une série télévisée américaine créée par Misha Green et Joe Pokaski, et diffusée sur la chaîne WGN America. La série se déroule au XIXème siècle, pendant ce que les historiens appellent l'Antebellum Era ou encore Plantation Era. Elle suit à la fois la quête de liberté d'un groupe d'esclaves travaillant dans une plantation de coton et la mise en place du chemin de fer clandestin ("Underground Railroad"). Un groupe d'esclaves planifie une échappée téméraire, délaissant leur plantation de Géorgie pour aller se réfugier à plus de 600 miles de là. En chemin, ils sont aidés par un couple d'abolitionnistes secrets qui sont en charge d'une station de l'Underground Railroad. Le groupe tente par tous les moyens de fausser compagnie aux gens chargés de les ramener à la plantation - morts ou vifs. --- ### Steven Wilson et Ninet Tayeb – Space Oddity (David Bowie cover) - **URL**: https://www.skyminds.net/steven-wilson-ninet-tayeb-space-oddity-david-bowie-cover/ Voici une reprise de Space Oddity par Steven Wilson en duo avec Ninet Tayeb à l'Hammersmith Apollo lors du concert du 27 janvier 2016 : https://www.youtube.com/watch?v=NGNRaUOg6JE Steven Wilson et Ninet Tayeb sont accompagnés du groupe de prog-rock de Steven Wilson, ce qui rend vraiment bien l'atmosphère de l'univers de Major Tom. Le tout a été filmé avec des caméras GoPro disposées le long de la scène. Un très bel hommage à David Bowie. --- ### JavaScript : afficher du contenu dans un bloc DIV après un délai défini - **URL**: https://www.skyminds.net/javascript-contenu-bloc-div-apres-delai-defini/ Voici comment afficher du contenu (texte, HTML, JS, CSS ou tout autre contenu) dans un bloc DIV, après un délai que vous aurez préalablement défini, le tout en JavaScript. C'est écrit en JavaScript pur (vanilla JavaScript), c'est-à-dire sans librairies supplémentaires, et donc compatible avec tous les navigateurs. On utilise innerHTML pour faire apparaître la div après le délai imparti. Exemple de contenu affiché après un délai Le texte suivant apparaît 7 secondes après le chargement de la page : Le code : afficher le contenu d'une DIV après un délai Voici le style CSS à placer dans l'entête de la page (HEAD) : .centered { margin:0 auto; text-align:center; } Et voici le contenu HTML à placer dans le corps de la page (BODY): Ainsi que le code JavaScript qui s'occupe du délai: /* |----------------------------------------------------------------------- | Delayed DIV text in vanilla JavaScript by Matt | URL : https://www.skyminds.net |----------------------------------------------------------------------- | | Returns predefined text in a DIV after a delay. | */ (function(){ var element_id = 'example_div' ; /* name of div ID w/ delayed text */ var delayed_text = "Ceci est un texte d'illustration pour tester l'affichage d'un bloc DIV après un délai défini."; var time = 7; /* time in seconds until display */ setTimeout(function(){ document.getElementById(element_id).innerHTML = delayed_text;},time*1000); })(); Fonctionnement du script Voici comment fonctionne le script : on recherche le bloc DIV qui possède l'identifiant #exemple_div et on lui injecte le contenu de la variable delayed_text après le délai en secondes défini dans la variable time. Ne pas oublier d'échapper les slash par des antislash dans les balises de fermeture (liens, paragraphes etc) dans la variable delayed_text. Simple et efficace. --- ### Blue Öyster Cult – Veteran of the Psychic Wars - **URL**: https://www.skyminds.net/blue-oyster-cult-veteran-of-the-psychic-wars/ Veteran of the Psychic Wars "Veteran of the Psychic Wars" est une chanson du groupe de hard-rock américain Blue Öyster Cult, écrite par Eric Bloom et l'auteur britannique Michael Moorcock, qui se trouve aussi être le créateur d'Elric de Melniboné. https://www.youtube.com/watch?v=7pFdkkjGiEs La chanson est sur l'album Fire of Unknown Origin, une version longue apparaît sur l'album Extraterrestrial Live et également dans la bande originale du film d'animation Heavy Metal de 1981. L'expression "...veteran of a Thousand Psychic Wars" vient de la chanson "Standing at the Edge" du groupe Hawkwind, qui se trouve sur l'album Warrior on the Edge of Time (1975), et qui traitait également du mythe du Champion éternel. Elric de Melniboné Elric de Melniboné est un personnage de fiction, inventé par l'écrivain anglais Michael Moorcock et héros du Cycle d'Elric, écrit entre 1961 et 1972. Inspiré par Zenith l'Albinos, le méchant de la série Sexton Blake, Elric est un albinos à la santé défaillante, ce qui l'oblige à consommer de nombreux remèdes jusqu'à ce qu'il trouve Stormbringer, une épée qui, en buvant les âmes de ses adversaires, est capable de lui redonner de la vigueur. Dernier empereur de l'île de Melniboné en pleine décadence, il tente vainement d'y introduire des réformes, mais se voit finalement contraint d'amener sa chute à la suite de la félonie de son cousin Yyrkoon. Tourmenté par le meurtre qu'il a lui-même commis de sa cousine et amante Cymoril, il parcourt par la suite son monde, ainsi que quelques autres mondes du Multivers, aux côtés de son fidèle ami Tristelune d'Elwher. Le mythe du Champion éternel Sur chacun des plans des millions de sphères du multivers, il existe une incarnation du Champion éternel qui, délibérément ou pas, est le gardien de la balance cosmique. Chaque incarnation du Champion éternel est déchirée par le doute, la crainte, et souvent la culpabilité. Parfois, il recherche un être plus élevé qui commande les dieux lunatiques de la Loi et du Chaos. Les différentes incarnations du Champion sont liées par divers points communs, par exemple leurs noms : celui de Jherek Carnelian rappelle Jerry Cornelius, et le nom complet de Corum, Corum Jhaelen Irsei, est une anagramme de Jeremiah Cornelius. Michael Moorcock emprunte parfois à la mythologie ou à l'histoire pour nommer les champions éternels. Ainsi dans le multivers, Ulysse est une incarnation du champion éternel : « Ryan, Hawkmoon. Powys. Cornell. Brian. Umpata. Soian. Klan. Clovis Marca. Pournachas. Oshbek-Uy. Ulysse. Ilanth.Ma propre voix s'éleva soudain.- NON ! JE SUIS SEULEMENT EREKOSË !-Champion Eternel. Soldat du Destin ».extrait de Les guerriers d'argent (The silver Warriors),1970.extrait de Les guerriers d'argent (The silver Warriors),1970. Heavy Metal Heavy Metal est un film d'animation pour adulte, anthologie de diverses histoires de science fiction et de fantasy, adaptées du magazine Heavy Metal et d'histoires originales dans le même esprit. Sorti en 1981, il est mis en scène par Gerald Potterton et produit par Ivan Reitman et Leonard Mogel, qui était également l'éditeur du magazine Heavy Metal, qui est la base du film. --- ### BIOS/UEFI : retrouver l’option de boot pour démarrer sur un DVD ou une clé USB - **URL**: https://www.skyminds.net/bios-boot-demarrer-lecteur-dvd/ Récemment, j’ai eu à réinstaller le système d’exploitation sur un ordinateur portable. Jusque-là, rien de bien nouveau : on insère le DVD ou la clé USB d’installation, on redémarre, puis on choisit le bon support dans le menu de démarrage. Sauf que cette fois, surprise : impossible de démarrer depuis le lecteur optique. Le BIOS/UEFI ne proposait aucun lecteur DVD dans l’ordre de boot. Seuls les disques internes apparaissaient dans la liste. Ce problème arrive souvent sur les machines récentes, surtout lorsqu’elles utilisent un firmware UEFI avec Secure Boot activé, ou lorsque le support d’installation n’est pas reconnu comme amorçable dans le mode de démarrage actuel. Voici comment retrouver l’option permettant de démarrer depuis un lecteur DVD, une clé USB ou un support d’installation externe. BIOS ou UEFI : de quoi parle-t-on vraiment ? Par habitude, on parle encore souvent de “BIOS”. Pourtant, sur la plupart des ordinateurs modernes, il s’agit plutôt d’un firmware UEFI. L’UEFI remplace progressivement l’ancien BIOS traditionnel. Il gère le démarrage de la machine, les périphériques amorçables, les entrées de boot, le Secure Boot et parfois un mode de compatibilité appelé CSM. Dans les menus constructeur, les termes varient beaucoup : BIOS Setup, UEFI Setup, Boot Menu, Boot Priority, Secure Boot, Legacy Boot, CSM, Launch CSM, Boot Override. Le principe reste le même : il faut que le firmware voie votre support comme un périphérique de démarrage valide. Pourquoi le lecteur DVD ou la clé USB n’apparaît pas ? Si le lecteur DVD ou la clé USB n’apparaît pas dans l’ordre de boot, plusieurs causes sont possibles : le support d’installation n’est pas amorçable ; la clé USB a été créée dans le mauvais mode, UEFI ou Legacy ; le lecteur DVD est désactivé dans le firmware ; le Secure Boot bloque le support de démarrage ; le mode CSM/Legacy est désactivé ; l’ordre de boot cache les périphériques non détectés ; le support doit être branché avant d’entrer dans le BIOS/UEFI ; le menu de démarrage ponctuel affiche le support, mais pas l’ordre de boot permanent. Dans mon cas, il fallait désactiver Secure Boot puis activer le mode CSM afin de faire réapparaître le lecteur DVD et les supports USB dans les options de démarrage. Secure Boot : pourquoi il peut bloquer certains supports Secure Boot est une fonction de sécurité intégrée à l’UEFI. Elle vérifie la signature du logiciel lancé au démarrage : firmware, chargeur d’amorçage, applications EFI et système d’exploitation. Microsoft décrit Secure Boot comme un standard de sécurité destiné à s’assurer qu’un appareil démarre uniquement avec du logiciel approuvé par le fabricant. Voir la documentation Microsoft sur Secure Boot. C’est utile contre certains malwares de démarrage, mais cela peut empêcher de booter sur un vieux DVD, une ancienne distribution Linux, un outil de récupération, ou un support qui n’a pas de chargeur signé compatible. Ubuntu rappelle aussi que Secure Boot empêche l’exécution de code non approuvé pendant le démarrage. Les versions modernes d’Ubuntu savent généralement fonctionner avec Secure Boot, mais certains supports personnalisés ou... --- ### Bob Culbertson – While My Guitar Gently Weeps (Chapman Stick) - **URL**: https://www.skyminds.net/bob-culbertson-while-my-guitar-gently-weeps-chapman-stick/ Voici Bob Culbertson qui interprète While My Guitar Gently Weeps des Beatles au Chapman Stick : https://www.youtube.com/watch?v=dYKB6Lag-wg Le son est chaud et envoûtant - magnifique. Le stick ou Chapman stick est un instrument de musique amplifié inventé par Emmett Chapman en 1969. Il est dérivé de la guitare, et comporte huit, dix ou douze cordes séparées en une partie mélodique et une partie basse. Sa singularité est que ces cordes sont frappées avec les doigts selon la technique du tapping à deux mains ou touch-style et permet un jeu nettement plus polyphonique qu'un instrument à corde plus classique, ce qui le rapproche des instruments à clavier. Les cordes de la partie basse et de la partie mélodique sont d'ailleurs amplifiables séparément. Il peut être utilisé dans n'importe quel style : rock, funk, classique, jazz, blues, salsa, celtique, punk… Le son de cet instrument est chaud et puissant, et sert en général à grossir les basses des accords. La technique utilisée s'apparente un peu au piano dans le sens où la main gauche joue généralement les basses — avec éventuellement les accords — pendant que la main droite joue les mélodies ou les accords. On peut entendre du Stick sur de nombreux enregistrements, en particulier dans les parties de basse. Parmi les groupes ou les artistes ayant utilisé le Stick, on trouve Alphonso Johnson, Tony Levin sur les disques de Peter Gabriel, King Crimson, Liquid Tension Experiment, Nick Beggs, Kittyhawk, Anderson Bruford Wakeman Howe (à nouveau Tony Levin), le Dave Matthews Band ou encore Dream Theater. --- ### The Reaper : mise à jour vers Ubuntu 16.04 Xenial Xerus - **URL**: https://www.skyminds.net/the-reaper-mise-a-jour-vers-ubuntu-16-04-xenial-xerus/ Aujourd'hui, ma machine desktop - The Reaper - vient d'avoir une jolie petite mise à jour et passe d'Ubuntu 14.04 à 16.04, codename Xenial Xerus. Mise à jour d'Ubuntu La mise à jour se fait assez simplement : sudo apt update && sudo apt upgrade sudo apt autoremove sudo apt dist-upgrade Comme je n'installe que des versions LTS (Long-Time Support) sur cette machine, il y avait plus de 2.3 Go de paquets à télécharger soit un sacré paquet de mises à jour. Plusieurs erreurs sont apparues pendant l'installation, qui a laissé à peu près une trentaine de paquets non configurés et non des moindres : GRUB, initramfs-tools etc. En regardant les messages d'erreurs, j'ai vu que le problème se situait au niveau de DPKG. Lorsqu'un paquet obsolète bloque DPKG Si cela vous arrive, pas de panique. Il faut juste régler le problème *avant* de redémarrer la machine. On commence par relancer la configuration des paquets non configurés: dpkg --configure -a En résultat, vous obtenez une (très) longue liste de tous les paquets non configurés avec tous les messages d'erreurs associés. Ce qui importe, ce sont les premières lignes du résultat : le paquet qui bloque est toujours mentionné en premier. Dans mon cas, il s'agissait d'un paquet obsolète depuis Ubuntu 12.04 (donc depuis 4 ans), virtuoso-nepomuk. Je l'ai donc totalement supprimé : sudo apt purge virtuoso-nepomuk On relance ensuite la configuration des paquets : dpkg --configure -a Puis une petite vérification des nouveaux paquets au cas où et la suppression des paquets obsolètes : sudo apt update && sudo apt upgrade && sudo apt autoremove Un reboot plus tard, Ubuntu 16.04 boote tranquillement. Je conseille de régler le problème des paquets non configurés avant le reboot, c'est bien plus galère autrement. Réactiver les dépôts désactivés pendant la mise à niveau Enfin, il reste à réactiver les dépôts APT qui ont été désactivés pendant la mise à niveau. Je vous conseille pour cela d'automatiser la tâche avec Y PPA Manager, qui permet de gérer les dépôts simplement et de manière graphique : vérification des dépôts, mise à jour vers la dernière distribution d'Ubuntu, résolution automatique des erreurs de clés GPG... c'est très utile. Installez Y PPA Manager si ce n'est déjà fait : sudo add-apt-repository ppa:webupd8team/y-ppa-manager sudo apt update && apt install y-ppa-manager Lancez Y PPA Manager et allez dans Advanced >Re-enable working PPAs after Ubuntu upgrade: Validez. Vous venez de mettre à jour et réactivez tous vos dépôts pour la nouvelle mouture d'Ubuntu en quelques clics. Bonne mise à jour. --- ### The Hollow Crown saison 2 - **URL**: https://www.skyminds.net/the-hollow-crown-saison-2/ Quatre ans après la première saison, The Hollow Crown est de retour sur BBC2. Cette seconde saison est sous-titrée "The Wars of the Roses" (les Guerres des Roses) en référence à la période de l'histoire qui correspond aux événements des épisodes. Cette saison se base sur la première tétralogie de Shakespeare : Henry VI, Part I; Henry VI, Part II et Henry VI, Part III sont condensés en seul film; et Richard III, dont le personnage est joué par Benedict Cumberbatch. Les nobles anglais se querellent au sujet des guerres avec la France. Les nouvelles de la défaite des Anglais à Orléans parviennent jusqu'au Duc de Gloucester et des autres nobles. Après les funérailles d'Henry V, c'est son fils, le dauphin Henry VI, qui est proclamé roi. Dix-sept ans plus tard, Henry est sur le trône alors que les rivalités à la cour continuent et la défaite des Anglais à Rouen par Jeanne d'Arc met le feu aux poudres entre les deux maisons : les York et les Lancaster, qui se retrouvent en opposition. --- ### Si Jésus Christ vivait au 21ème siècle… - **URL**: https://www.skyminds.net/si-jesus-christ-vivait-au-21eme-siecle/ ... et qu'il fêtait son anniversaire avec ses potes voilà ce qui pourrait se passer dans sa vie : https://www.youtube.com/watch?v=2VKkSQlUt10 Après Jésus pédagogue et Jésus et les drogues, voici une réécriture moderne - et parisienne - de la vie de Jésus. Je trouve le court métrage très inspiré du court-métrage réalisé par Antoine Della-Maria même si la production est bien plus professionnelle et donne un bon coup de jeune à l'histoire, abordant bien plus de thèmes et de manière plus fine. On peut ainsi voir Marie Madeleine jouer le rôle de l'aguicheuse de la soirée, Judas comme l'ami délaissé qui devient aigri ou encore Joseph au bord de l'alcoolisme qui se prend le bac avec Marie au sujet de sa paternité réelle. Bien fait, cela redonne un bon coup de dépoussiérage au mythe. --- ### Monique et Michel Pinçon-Charlot – La violence des riches, Chronique d’une immense casse sociale - **URL**: https://www.skyminds.net/la-violence-des-riches-immense-casse-sociale/ Les travaux de Michel Pinçon et de Monique Pinçon-Charlot se concentrent essentiellement sur les élites, par le biais d’enquêtes ethnographiques et dans leur livre La violence des riches, Chronique d'une immense casse sociale. Leurs recherches s’inscrivent dans la tradition sociologique qui produit une analyse du système social par le prisme des rapports de domination entre groupes sociaux, renvoyant aux travaux de Karl Marx et de Pierre Bourdieu. Voici un documentaire de 26 minutes réalisé par Yannick Bovy en janvier 2014, diffusé dans une émission de la FGTB wallonne : https://www.youtube.com/watch?v=Ys3cjJlTcDE Ici, c’est à travers le conflit entre classes sociales que sont analysés les mouvements socio-économiques. Leur approche remet au goût du jour les théories marxistes : la guerre des classes est déclarée car les rapports sociaux de classes sont violents dans le capitalisme mondialisé. Cette violence est exercée par les classes dominantes (la bourgeoisie qui se confond avec les élites financières) sur le peuple (les classes moyennes et populaires). Les auteurs tentent de déterminer comment se produit cette violence, et comment elle est acceptée par le plus grand nombre. La violence des riches Cette violence se réalise en connivence avec les gouvernants. Le gouvernement socialiste a en effet, depuis 2012, favorisé les politiques libérales, et continué à désavantager fiscalement le peuple. Le gouvernement oligarchique socialiste rassemble professionnels de la politique et acteurs de la finance en son sein. Les lignes de partage entre la droite traditionnelle et la gauche libérale sont devenues floues, ce qui amène à désigner le gouvernement socialiste par les termes de « deuxième droite ». L’idéologie néolibérale faisant désormais consensus, les intérêts de la bourgeoisie financière sont privilégiés, et se matérialisent par les cadeaux fiscaux et par la clémence face aux fraudes des plus riches. Comment les classes dominantes arrivent-elles à asseoir leur domination et à la faire perdurer ? D’une part, pour maintenir sa domination, la bourgeoisie doit convaincre le plus grand nombre d’être dans son bon droit. Les membres de la bourgeoisie ne peuvent donc assumer publiquement la recherche de leur enrichissement personnel, dans le système économique néolibéral. Tout d’abord, la bourgeoisie se décharge de sa responsabilité dans la crise économique. Elle impose alors l’idée que le marché se dirige seul, et que la crise est un coup du sort aléatoire et incontrôlable. Est alors pointé du doigt le coût du travail et des protections sociales, accusé de peser trop lourd dans l’économie. Ce discours permet de poursuivre les atteintes au droit du travail et au système de protection sociale. Par ailleurs, les plus fortunés, pourtant responsables de la déstabilisation de plusieurs États démocratiques, à l’image de la Grèce ou de l’Espagne, se présentent eux-mêmes comme des producteurs de richesses. Toute forme de revendication devient une atteinte aux dominants légitimes, qui seraient au service de l’intérêt général. Légitimité et intériorisation de la domination D’autre part, la bourgeoisie a intérêt à ce que le peuple intériorise la légitimité de sa domination, et cela par différents moyens. Tout d’abord, les riches s’affichent comme les promoteurs de... --- ### Corriger l’erreur APT NO_PUBKEY sans apt-key - **URL**: https://www.skyminds.net/linux-apt-no-pubkey-signed-by-keyrings/ Sur Debian, Ubuntu ou une distribution basée sur APT, une mise à jour peut parfois échouer avec une erreur de clé publique manquante. sudo apt update Et APT répond avec ce genre de message : The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 0123456789ABCDEF Le problème est simple : APT connaît le dépôt, mais il ne possède pas la clé publique qui permet de vérifier sa signature. Sans cette clé, il refuse de faire confiance aux paquets. C’est agaçant, mais sain. Un gestionnaire de paquets trop confiant, c’est comme un videur de boîte qui laisse entrer tout le monde parce que “ça avait l’air sympa”. Dans ce guide, nous allons corriger l’erreur NO_PUBKEY proprement, sans utiliser l’ancienne méthode apt-key adv. Aujourd’hui, la bonne pratique consiste à utiliser un fichier de clé dédié dans /etc/apt/keyrings, puis à le référencer avec signed-by dans la source APT. Pourquoi apt affiche NO_PUBKEY ? APT vérifie les dépôts avec des signatures cryptographiques. Chaque dépôt publie une signature, et votre système doit posséder la clé publique correspondante pour vérifier que les paquets viennent bien de la source attendue. L’erreur NO_PUBKEY apparaît généralement dans ces cas : vous avez ajouté un dépôt tiers sans importer sa clé ; la clé du dépôt a changé ; la clé a expiré ; vous avez migré vers une version plus récente de Debian ou Ubuntu ; une ancienne configuration utilisait apt-key ou trusted.gpg ; un fichier .list n’utilise pas encore signed-by. Les dépôts officiels Debian et Ubuntu sont normalement couverts par les paquets de clés de la distribution. Si l’erreur vient d’un dépôt officiel, il faut d’abord vérifier la date système, les sources APT et le paquet de keyring de la distribution. Pour un dépôt tiers, la correction consiste souvent à importer la bonne clé dans un keyring dédié. Pourquoi ne plus utiliser apt-key adv ? Vous trouverez encore beaucoup de vieux tutoriels avec cette commande : sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0123456789ABCDEF Ne partez plus là-dessus pour une nouvelle configuration. apt-key est déprécié. L’ancienne méthode ajoutait souvent des clés dans un trousseau global, ce qui signifiait qu’une clé pouvait valider trop largement des dépôts. La méthode moderne limite la confiance : une clé donnée doit valider un dépôt donné, via signed-by. Concrètement, au lieu de jeter une clé dans le grand panier trusted.gpg, on la range dans un fichier dédié, puis on dit explicitement à APT : “ce dépôt doit être vérifié avec cette clé”. C’est plus propre, plus lisible, et beaucoup moins flou. Méthode moderne : /etc/apt/keyrings + signed-by Depuis APT 2.4, /etc/apt/keyrings est l’emplacement recommandé pour les clés locales qui ne sont pas gérées par un paquet système. Les clés fournies par des paquets peuvent plutôt vivre dans /usr/share/keyrings. La forme moderne ressemble à ceci : deb [signed-by=/etc/apt/keyrings/example.gpg] https://repo.example.com/debian stable main Ou, au format deb822 : Types: deb URIs: https://repo.example.com/debian Suites: stable Components: main Signed-By: /etc/apt/keyrings/example.gpg Le format deb822 utilise des fichiers .sources dans /etc/apt/sources.list.d/. Debian le recommande désormais pour... --- ### Orphan Black saison 4 - **URL**: https://www.skyminds.net/orphan-black-saison-4/ Orphan Black revient pour une quatrième saison sur BBC America. Le premier épisode revient quelques jours avant le suicide de Beth Childs, alors qu'elle essayait de gérer la découverte de sa nature de clone avec Alison et Cosima. Beth était en contact avec Mika, une autre clone Léda qui suivait de près les Néolutionnistes. Elle s'est ainsi retrouvée sur l’affaire du meurtre d'Edward Capra, un Néolutionniste ayant subi plusieurs modifications corporelles et dont la joue droite a été retirée chirurgicalement, mais surveillée de près par ses supérieurs qui la suspecte, à raison, de se droguer aux médicaments. Elle commence son enquête sur les Néolutionnistes, faisant la rencontre du Dr Leekie, et d'autres Néolutionnistes extrêmes. Dans la soirée, droguée, elle tente de confronter Paul, dont elle sait qu'elle le surveille, mais il garde son secret. Plus tard, une Néolutionniste lui indique une planque où elle découvre que dans la joue des Néolutionnistes se trouve un œuf donnant une larve. Confuse, elle est repérée et dans sa fuite, tue une femme. Deux mois après la fuite de Sarah Manning en Islande avec sa fille, elle reçoit un appel de Mika : les Néolutionnistes l'ont retrouvé. Dix épisodes sont prévus, à regarder en version originale: Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Activer et configurer le touchpad multitouch sous Linux - **URL**: https://www.skyminds.net/linux-touchpad-multitouch-libinput/ Le touchpad multitouch sous Linux fonctionne aujourd’hui beaucoup mieux qu’à l’époque où il fallait bricoler un fichier Xorg pour faire reconnaître deux doigts sur un portable Asus. Dans la plupart des distributions modernes, le noyau Linux détecte le pavé tactile, puis libinput gère les clics, le défilement, le tap-to-click et une partie des gestes. Mais il reste un détail croustillant : selon que vous utilisez GNOME, KDE Plasma, X11 ou Wayland, les réglages disponibles ne sont pas les mêmes. Un geste à trois doigts peut fonctionner immédiatement dans GNOME Wayland, rester limité dans X11, ou nécessiter un outil tiers selon votre environnement. Voici une méthode moderne pour diagnostiquer votre touchpad, activer les options utiles et comprendre quoi faire si le multitouch ne répond pas comme prévu. Touchpad multitouch sous Linux : ce qu’il faut comprendre Un touchpad multitouch peut détecter plusieurs doigts en même temps. Cela permet notamment : le défilement à deux doigts ; le clic droit avec deux doigts ; le tap-to-click ; le défilement naturel ; les gestes à trois ou quatre doigts ; le pinch-to-zoom dans certains environnements ; le changement d’espace de travail ; l’affichage de la vue d’ensemble des fenêtres. La prise en charge dépend de quatre éléments : le matériel : certains vieux touchpads ne savent pas détecter trois ou quatre doigts ; le noyau Linux : il expose le périphérique au système ; libinput : il interprète les mouvements, clics et gestes ; l’environnement de bureau : GNOME, KDE, Xfce, Cinnamon ou autre choisissent ce qu’ils en font. En clair : si votre touchpad ne fait pas exactement ce que vous voulez, ce n’est pas forcément “Linux qui bugue”. C’est peut-être une limite matérielle, un réglage de session, un environnement de bureau trop discret, ou une vieille configuration X11 qui traîne comme une chaussette oubliée dans un serveur. Première étape : savoir si vous êtes sous X11 ou Wayland Avant de modifier quoi que ce soit, vérifiez votre session graphique. Les gestes multitouch modernes fonctionnent souvent mieux sous Wayland, surtout avec GNOME et KDE Plasma. echo "$XDG_SESSION_TYPE" La commande renvoie généralement : wayland : session Wayland ; x11 : session X11. Si vous utilisez GNOME ou Ubuntu avec GNOME, Wayland est souvent le meilleur choix pour les gestes intégrés. Sous X11, vous pouvez encore configurer beaucoup de choses, mais les gestes avancés demandent parfois des outils supplémentaires. Vérifier que le touchpad est bien détecté Commencez par lister les périphériques d’entrée reconnus par libinput. libinput list-devices Si la commande n’existe pas, installez les outils nécessaires. Ubuntu, Debian, Linux Mint sudo apt update sudo apt install libinput-tools Fedora sudo dnf install libinput-utils Arch Linux, Manjaro, EndeavourOS sudo pacman -S libinput Ensuite, recherchez une section ressemblant à ceci : Device: ELAN1200:00 04F3:30BA Touchpad Kernel: /dev/input/event7 Group: 8 Seat: seat0, default Capabilities: pointer gesture Tap-to-click: disabled Natural Scrolling: disabled Scroll methods: *two-finger edge Click methods: *button-areas clickfinger Les lignes importantes sont : Device : nom du touchpad ; Capabilities : présence de gesture ; Tap-to-click :... --- ### Fear The Walking Dead saison 2 - **URL**: https://www.skyminds.net/fear-the-walking-dead-saison-2/ Voici la seconde saison de Fear The Walking Dead, diffusée sur AMC. Les évènements reprennent sur la plage devant la villa de Strand. Ce dernier amène le groupe formé des familles Manawa, Clark et Salazar sur son yacht de luxe « Abigail » pour échapper par la mer aux rôdeurs qui ont envahi Los Angeles... Quinze épisodes sont prévus cette saison : les sept premiers épisodes sont diffusés en ce moment et les huit suivants seront diffusés plus tard dans l'année, après ce qui est devenu avec le temps le traditionnel season break. Une troisième saison - de quinze épisodes également - est déjà prévue pour 2017. A regarder en version originale. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Prince, Tom Petty, Steve Winwood, Jeff Lynne and Dhanni Harrison – While My Guitar Gently Weeps - **URL**: https://www.skyminds.net/prince-tom-petty-steve-winwood-while-my-guitar-gently-weeps/ Voici Tom Petty, Steve Winwood, Jeff Lynne, Dhanni Harrison et Prince qui interprètent la chanson While My Guitar Gently Weeps lors du Tribute to George Harrison de 2004 : https://www.youtube.com/watch?v=6SFNW5F8K9Y On peut y voir tout le talent et la flamboyance de Prince, coiffé d'un chapeau rouge, qui est à la limite de l'impertinence tant ce qu'il joue (et qui est difficile) jure avec la nonchalance qu'il affiche lors du solo. Sa prestation est totalement décalée par rapport à celle du reste du groupe : dès qu'il arrive sous le feu des projecteurs, c'est lui qui vole la lumière et éclipse les autres musiciens. Un véritable électron libre, de pur génie. While My Guitar Gently Weeps est une chanson écrite par George Harrison et qui est parue sur le double album The Beatles en 1968. --- ### Game of Thrones saison 6 - **URL**: https://www.skyminds.net/game-of-thrones-saison-6/ Voici la sixième saison de la série culte que tout le monde attend et qui n'a plus besoin d'être présentée : Game of Thrones. C'est le moment de programmer une coupure volontaire des réseaux sociaux, voire même de la télévision et de la radio, pour éviter de se faire spoiler ! Contrairement aux saisons précédentes, cette saison contient principalement du contenu original qui ne se trouve pas la sage A Song of Ice and Fire de George R. R. Martin. Au delà du Mur, Bran Stark s'est entrainé avec le Corbeau aux 3 Yeux (the Three-Eyed Raven), sa dernière apparition dans la série remontant à l'épisode final de la saison 4. Près de la Mer Dothraki, Daenerys Targaryen découvre de nouvelles traditions chez les Dothraki. Pendant ce temps, Jaime Lannister est retourné à King's Landing auprès de Cersei Lannister... Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Prince meurt à 57 ans - **URL**: https://www.skyminds.net/prince-meurt-a-57-ans/ Prince Rogers Nelson, connu sous le nom de Prince, né le 7 juin 1958 à Minneapolis, Minnesota vient de mourir le 21 avril 2016 à Chanhassen. Auteur-compositeur-interprète de génie, réalisateur artistique et producteur américain de pop, de funk, de rock et de RnB contemporain, il était également danseur et acteur. Sa carrière, entamée en 1978, est l'une des plus denses dans l'univers de la pop, avec plus de trente recueils studio parus en moins de quarante ans. Il faut y ajouter de nombreux albums et chansons façonnés pour les Bangles, Sheena Easton, Chaka Khan, Patti LaBelle, Madonna, Sheila E., Mavis Staples ou The Time. Son plus gros succès commercial est la bande originale du film Purple Rain (dans lequel il joue le rôle-titre), publiée en 1984 et vendu à vingt millions d'exemplaires: https://www.youtube.com/watch?v=TvnYmWpD_T8 Il est également l'auteur de Sign "☮" the Times, des chansons du Batman de Tim Burton, des tubes Little Red Corvette, When Doves Cry, Kiss, Cream ou encore Sexy M.F. Le morceau phare de Sinéad O'Connor, Nothing Compares 2 U, est par ailleurs une composition de Prince. Multi-instrumentiste – il en pratique une vingtaine – il s'est forgé une aura de créateur ambitieux, éclectique, et une réputation scénique hors pair, en affectionnant en concert les danses, les solos, de même qu'en valorisant ses musiciens. C'était un guitariste extrêmement talentueux et un show-man extraordinaire. R.I.P. Prince. --- ### Serveur dédié : ajouter l’authentification DMARC à Postfix et BIND - **URL**: https://www.skyminds.net/serveur-dedie-authentification-dmarc-postfix-bind/ Notre serveur de mail possède une identification SPF, Sender-ID et DKIM et est sécurisé par un certificat TLS. Nous allons aujourd'hui voir comment lui adjoindre l'authentification DMARC. Aux origines de l'authentification des emails Les technologies d'authentification des emails SPF et DKIM ont été développées afin de fournir une plus grande assurance sur l'identité de l'expéditeur d'un message. L'adoption de ces technologies a augmenté régulièrement mais le problème des emails frauduleux et trompeurs n'a pu etre réglé. Il existe une multitude d'environnements et de systèmes différents pour envoyer des emails, et on fait souvent appel à des applications tierces pour gérer les envois. S'assurer que chaque message peut être authentifié avec SPF ou DKIM n'est pas une mince affaire étant donné que le traitement des emails se fait en temps réel. Si le propriétaire d'un domaine envoie un groupe de message et que certains peuvent être authentifiés et d'autres non, alors les récipiendaires de ces messages sont obligés de faire la distinction entre les messages légitimes qui ne sont pas authentifiés et les messages frauduleux qui ne sont pas authentifiés non plus. Par nature, les algorithmes de spam sont sujets aux erreurs et doivent évoluer constamment pour répondre aux nouvelles tactiques des spammeurs. Au final, certains messages frauduleux parviendront toujours à atteindre la boite de réception du destinataire final. Le seul moyen de résoudre ces problèmes est de partager l'information entre l'expéditeur et le destinataire. Les destinataires vont fournir des informations sur leur infrastructure d'authentification des messages et les expéditeurs vont dire aux destinataires quoi faire lorsqu'un message reçu n'est pas authentifié. En 2007, Paypal a été pionnier dans cette approche et a construit un système avec l'aide de Yahoo! Mail puis Gmail. Les résultats ont été très probants, menant à une baisse du nombre des emails frauduleux qui se faisaient passer comme venant des serveurs de Paypal acceptés par les destinataires. DMARC : un protocole d'authentification email DMARC, qui signifie Domain-based Message Authentication, Reporting and Conformance est un protocole d'authentification email qui se base sur les protocoles SPF et DKIM - maintenant largement déployés - en ajoutant une fonction de rapport qui permet aux expéditeurs et destinataires d'améliorer et vérifier la protection du domaine contre les emails frauduleux. DMARC se base sur le processus d'authentification des messages entrants et aide les destinataires à déterminer si les message est "aligné" avec ce que le destinataire connaît de l'expéditeur. Sinon, DMARC inclut une manière de gérer les messages "non-alignés". Voici le principe de fonctionnement de DMARC : Il est important de noter que DMARC est basé à la fois sur les spécifications de DKIM (DomainKeys Identified Mail) et SPF (Sender Policy Framework) qui sont toujours en cours de développement par l'IETF. DMARC a pour but de remplacer ADSP en ajoutant le support pour: des wildcards ou des politiques de sous-domaines,des sous-domaines non-existants,des implémentations lentes (par exemple avec des expérimentations avec des pourcentages),SPF,la quarantaine des emails. DMARC cherche donc à satisfaire les besoins suivants : minimiser les faux-positifs,fournir des rapports robustes sur l'authentification,réduire... --- ### Wintergatan – Marble Machine - **URL**: https://www.skyminds.net/wintergatan-marble-machine/ Tiens, YouTube vient encore de me proposer une petite vidéo musicale tout à fait loufoque. Martin Mollin, artiste suédois qui oeuvre aussi sous le pseudonyme Wintergatan, a réalisé une machine capable de créer de la musique à partir de billes qui tapent sur des bouts d'instrument. Au bout de quatorze mois de plans et de réalisations, Wintergatan a dessiné, découpé et assemblé des pièces de bois, cordes, bouts d’instruments pour finalement obtenir un résultat poétique et surprenant. Voici donc la Marble Machine : https://www.youtube.com/watch?v=IvUU8joBb1Q Je trouve le résultat très entêtant, extrêmement poétique et bien réalisé. Cela fait même un peu penser à un univers post-rock, voire de science-fiction. --- ### Séries TV: la scène délaisse le conteneur MP4 et passe au MKV - **URL**: https://www.skyminds.net/series-tv-la-scene-delaisse-le-conteneur-mp4-et-passe-au-mkv/ Quatre ans après le passage du codec XviD au codec x264, voici que la "scene" change de nouveau les règles du jeu : les fichiers SD et HD seront maintenant en .MKV (Matroska) et non plus en .MP4 pour les séries TV. Depuis le 10 avril 2016, les nouvelles règles sont entrées en vigueur : si le codec x264 est bien gardé, le conteneur va lui changer - finis les fichiers portant l'extension MP4, ce seront maintenant des fichiers MKV (Matroska) que l'on pourra trouver sur la toile. Daenerys est passée au MKV Les raisons du changement de conteneur Concrètement, la scène justifie ce changement de conteneur avec les évolutions des standards et de la qualité des encodages. Dans l'introduction des règles, on peut lire que "depuis la dernière révision du document qui date de 2012, TV-X264-SD a évolué et est devenu une section majeure à laquelle beaucoup de gens contribuent et dont beaucoup dépendent. Cette nouvelle révision vise à mettre à jour les standards pour 2016 et après." Ces règles sont à l'intention des groupes de la scène uniquement (qui s'échangent les fichiers entre eux via des topsites) mais la plupart des fichiers finiront entre les mains du grand public, partagés sur des sites publics. Cela signifie donc que ces changements vont impacter des centaines de millions de personnes à travers le monde, indirectement, par simple effet domino. Les règles sont très exhaustives et abordent tous les aspects techniques de l'encodage des fichiers : normes audio, vidéo, formats, sous-titres... jusqu'au nom des tags des fichiers mais ce qui importe avec la mouture 2016 est la partie concernant le conteneur. Règles 2016 : the SD TV x264 Releasing Standards 2016 Voici les règles 2016 concernant les releases en SD: The.SD.TV.x264.Releasing.Standards.2016-SDTVx264 [ Intro ] Since the last revision of this document in 2012, TV-X264-SD has grown and become a major section that many people contribute to and depend on. This new revision aims to update the standards from 2012 to standards suitable for 2016 and the future. Adding clarity and patching loopholes to once again allow for consistent and quality releases, which was the aim of this standard back in 2012. Compliance with this document is optional as of its pre date, and mandatory as of 2016-04-10 00:00:00 UTC (1460246400 Unix time). 1) [ HDTV Sources ] 1.1) HDTV is considered as a high definition natively recorded transport stream. 1.2) HDTV sources must not be upscaled, see section 2. 1.3) Providers which downscale 1080i to 720p (e.g. BellTV) are not allowed. 2) [ PDTV & DSR Sources ] 2.1) PDTV is considered as a 576i/576p natively recorded transport stream. 2.2) DSR is considered as a 480i/480p natively recorded transport stream. 3) [ AHDTV & APDTV & ADSR Sources ] 3.1) AHDTV, APDTV and ADSR are considered as captured streams from the analog output (e.g. Component, DVI, HDMI) of a set-top box. 3.2) Captures must be done at the native broadcast format of the source. 3.2.1) Captures from devices which are unable... --- ### Serveur dédié : à la recherche de l’inode perdue ou comment résoudre le problème « no space left on device » - **URL**: https://www.skyminds.net/serveur-dedie-inodes-perdues-no-space-left-on-device/ Les inodes perdues ! Cette semaine, j'ai eu droit à un problème particulier sur le serveur : alors que rien dans la configuration des services n'a été changé, je me suis rendu compte que WordPress ne réagissait pas comme d'habitude. Les symptômes les plus visibles sont la lenteur de l'application, l'impossibilité de mettre à jour ou corriger un article ou encore ajouter des tags à un nouvel article. J'avais déjà connu cet état lors d'un crash de la base SQL il y a maintenant quelques années donc je me suis dit que j'allais commencer par redémarrer Apache puis réparer la base de données. Suppression des instances Apache et redémarrage du service Dès le lancement de la session SSH, il est évident que quelque chose ne tourne pas rond. Après le message de bienvenue, un message d'erreur apparaît : /usr/bin/xauth: error in locking authority file /root/.Xauthority Et en voulant arrêter Apache, on obtient: Restarting web server: apache2. [error] There are processes named 'apache2' running which do not match your pid On commence donc par régler ce problème et on regarde quels sont les PID utilisés par Apache: pidof apache2 La commande pidof nous retourne toute une liste de pid: 32691 31385 31154 30917 30663 29150 27368 24820 24563 17531 15227 14235 13559 13064 11028 10906 10256 9156 9144 9042 8855 8542 On met fin à toutes ces instances avec un simple kill -9: kill -9 32691 31385 31154 30917 30663 29150 27368 24820 24563 17531 15227 14235 13559 13064 11028 10906 10256 9156 9144 9042 8855 8542 Une fois toutes les instances d'Apache supprimées, il nous est de nouveau possible de redémarrer le service normalement: service apache2 restart Ménage dans l'espace disque et le nombre d'inodes disponibles Au moment de réparer les tables de la base de données, rebelote, erreur : No space left on device (error 28) On commence par un petit ménage dans les paquets obsolètes, qui ne résoudra pas grand-chose: apt-get autoclean && apt-get autoremove Je tente un simple df pour vérifier si les disques sont pleins : df mais visiblement, non, il reste bien de la place : Filesystem Size Used Avail Use% Mounted on /dev/root 9.8G 4.4G 5.0G 47% / devtmpfs 2.0G 0 2.0G 0% /dev tmpfs 390M 408K 390M 1% /run tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 780M 0 780M 0% /run/shm /dev/sda2 683G 531G 118G 82% /home Je tente alors un df -i pour vérifier le nombres d'inodes disponibles : df -i Un nœud d'index ou inode (contraction de l'anglais index et node) est une structure de données contenant des informations à propos d'un fichier stocké dans les systèmes de fichiers Linux/Unix. À chaque fichier correspond un numéro d'inode (i-number) dans le système de fichiers dans lequel il réside, unique au périphérique sur lequel il est situé. Descripteurs de fichiers, table des fichiers et table des inodes sous Linux Les inodes contiennent notamment les métadonnées des systèmes de fichiers, et en particulier celles concernant les droits d'accès. Les inodes sont créés lors de... --- ### Line of Duty saison 3 - **URL**: https://www.skyminds.net/line-of-duty-saison-3/ Voici la troisième saison de Line of Duty, diffusée sur BBC Two. Après Lenny James dans la première saison puis Keeley Hawes dans la seconde saison, c’est au tour de Daniel Mays d’être le principal suspect d’une investigation dirigée par la brigade anticorruption. Mays incarne le sergent Danny Waldron, leader d’une unité d’intervention rapide dont le comportement imprévisible fait de lui un danger pour ses collègues et les suspects. La brigade anticorruption est alors appelée pour enquêter sur ses actions et ils pourraient à leur tour se trouver en difficultés. Martin Compston (DS Steve Arnott), Vicky McClure (DC Kate Fleming) et Adrian Dunbar (Ted Hastings) sont tous les trois de retour cette saison, qui est filmée à Belfast, en Irlande du Nord. Six épisodes sont prévus cette saison, à regarder en version originale: Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Luna Lee – Back in Black Gayageum (AC/DC cover) - **URL**: https://www.skyminds.net/luna-lee-back-in-black-gayageum/ Vous traînez sur Youtube et tout à coup, boom, vous tombez sur une petite perle. Je vous présente Luna Lee qui reprend Back in Black d'AC/DC au gayageum : https://www.youtube.com/watch?v=OEpVDafY6Z8 Le gayageum (parfois également transcrit kayagum, kayakeum, kayago) est un instrument de musique traditionnel de Corée de la famille des cithares, comportant douze cordes de soie et une structure et caisse de résonance en bois de paulownia. Les plus anciennes traces remontent au VIe siècle, époque où les moines chinois chan ont apporté le bouddhisme, l'écriture et une partie de la culture chinoise en Corée. Le gayageum est probablement le plus connu des instruments de musique coréens. Son usage a été développé par Ureuk, musicien à la cour de Gaya (hanja, d'où il tire son nom). C'est un proche cousin du guzheng chinois, du koto japonais ou encore du zhetygen kazakh. Il se joue assis par terre, un des côté de l'instrument posé sur les jambes du joueur et l'autre au sol. Une main pince les cordes avec les doigts pour faire vibrer la corde, tandis que les doigts de l'autre main appuient sur les cordes afin d'obtenir la hauteur de son désirée. Il est également possible de déplacer les chevalets mobiles pour modifier la hauteur de la note de chaque corde. Cet instrument peut se jouer en solo ou en orchestre de chambre de quelques personnes et est utilisé dans différents styles de musique. Je vous conseille la page Soundcloud de Luna, elle reprend des dizaines de classiques rock et hard-rock, c'est vraiment un plaisir de réentendre ces chansons jouées avec un instrument quasi-médieval. Superbe reprise non ? --- ### NAS Synology : retrouver l’accès SSH pour rsync après la mise à jour du DSM - **URL**: https://www.skyminds.net/nas-synology-acces-ssh-rsync-apres-mise-a-jour-dsm/ Mon NAS Synology est configuré pour se mettre automatiquement à jour, ce qui est plutôt pratique puisque cela permet d'automatiser les mise à jour de sécurité et des paquets essentiels. Hier, une nouvelle mise à jour du DSM est arrivée : DSM 6. La mise à jour s'est visiblement bien déroulée mais quelques petites choses ont été modifiées au sein du système, dont la perte d'accès root pour rsync, ce qui est problématique pour mes sauvegardes. Le truc qui change, c'est qu'au lieu d'utiliser root comme utilisateur, il va désormais être obligatoire d'utiliser un utilisateur qui appartient au groupe administrators. Chez moi, il y en a plusieurs mais pour des raisons de simplicité, nous utiliserons l'utilisateur admin dans ce tutoriel. Voyons donc comment donner l'accès à rsync pour l'utilisateur admin, cela ne prend que quelques minutes. Ajouter des utilisateurs dans le groupe des administrateurs Nous commençons par vérifier que nous possédons bien au moins un administrateur sur le NAS. Par défaut, il devrait au minimum y avoir le compte admin mais vous pourriez l'avoir désactivé pour des raisons de sécurité (c'était mon cas avant de faire cette mise à jour). Rendez-vous dans Synology > Control Panel > Group > Administrators > Edit members: Ici, nous avons bien l'utilisateur admin. N'hésitez pas à y ajouter vos autres utilisateurs qui possèdent les droits d'administration. Note: profitez-en pour faire un détour par Control Panel > User et changez le mot de passe de l'utilisateur admin pour un mot de passe plus robuste. Activer l'accès rsync pour le groupe des administrateurs La mise à jour du DSM 6 m'a carrément désactivé l'accès à rsync pour le groupe administrators. Cela me semble un peu violent de changer mes réglages sans me demander mais bon, nous allons réactiver cet accès. Rendez-vous dans Synology > Control Panel > Group > Administrators > Edit > Applications et cochez la case Allow rsync (et toutes les autres pendant qu'on y est puisque c'est le groupe des admins) : Enregistrez les changements. Vous devriez maintenant être en mesure de lancer une sauvegarde rsync avec l'utilisateur admin. Rsync : plus besoin de la directive --rsync-path Souvenez-vous, avec le DSM5, l'absence de la directive --rsync-path provoquait une erreur "permission denied". D'après mes tests, il n'est plus nécessaire d'indiquer cette directive qui explicitait le chemin du binaire rsync. Celui-ci a changé d'emplacement depuis DSM 6 et se trouve maintenant sous /usr/bin/rsync, qui est un emplacement plus standard sous linux. Il ne semble plus nécessaire d'indiquer la directive --rsync-path donc nous la retirons de nos lignes de commande pour le moment. Au pire, nous pourrons toujours rajouter --rsync-path=/usr/bin/rsync par la suite. A titre indicatif, voici ce que je lance pour sauvegarder un répertoire donné du serveur vers le NAS : rsync --ignore-existing --progress -vr --rsh='ssh -p44222' /home/backups/completed/* admin@example.com:/volume1/backups Bonne mise à jour et bonnes sauvegardes! --- ### Dark Net saison 1 - **URL**: https://www.skyminds.net/dark-net-saison-1/ Dark Net est une série documentaire sur les nouvelles technologies et les secrets du web, diffusée sur Showtime. Les dernières avancées dans la technologie nous ont permis de nous connecter de manière étonnante. Série documentaire qui explore les frontières du web et les personnes qui les fréquentent, Dark Net jette un œil à la fois révélateur et d'avertissement sur ce que l'on peut trouver dans les profondeurs d'Internet. Cette série, que je vous recommande chaudement, est provocante et suscite la réflexion sur ce qu'est Internet aujourd'hui et sur ce qu'il pourrait devenir demain. Chaque épisode met en lumière une frontière à la fois excitante et qui ne cesse d'être repoussée, où les gens peuvent faire ce qu'ils veulent et voir ce qu'ils veulent, que ce soit autorisé ou non. C'est une très bonne porte d'entrée pour le grand public ou le profane qui cherche à découvrir l'envers du décor, qui peut aussi s'avérer bien scabreux par endroit. Divers sujets bien différents sont abordés, le panel est large et très intéressant. J'ai travaillé avec mes classes de secondes sur le deuxième épisode pour lancer un débat sur les nouvelles technologies et la dérive du traitement des informations personnelles sur Internet. Cela a très bien fonctionné pour déclencher la parole et les avis contradictoires. Huit épisodes sont prévus pour cette première saison. --- ### Linux : corriger les accents circonflexes avec la bonne disposition clavier - **URL**: https://www.skyminds.net/linux-accents-circonflexes-disposition-du-clavier/ Après une mise à jour, une nouvelle installation Linux ou un changement de clavier, il peut arriver que les accents circonflexes ne fonctionnent plus correctement. Vous appuyez sur la touche ^, puis sur e, et au lieu d’obtenir ê, vous obtenez quelque chose comme ^e. Agaçant. Surtout en français, où l’on aime manifestement poser de petits chapeaux sur les voyelles. Le plus souvent, le problème vient de la disposition du clavier. Vous utilisez probablement une variante sans touches mortes. Pour retrouver les accents circonflexes, il faut sélectionner une disposition française avec touches mortes. Le problème : touches mortes désactivées Sur Linux, certains caractères accentués sont produits avec des touches mortes. Une touche morte ne tape pas immédiatement un caractère visible. Elle attend la touche suivante pour composer le caractère final. Exemples : SéquenceRésultat^ puis aâ^ puis eê^ puis iî^ puis oô^ puis uû Si votre clavier est réglé sur Français, sans touches mortes, la touche ^ n’attend plus la voyelle suivante. Elle écrit directement le symbole. C’est pratique pour certains usages techniques, moins pour écrire “forêt”, “hôtel” ou “être”. La solution rapide Choisissez une disposition clavier française classique avec touches mortes. Dans la plupart des environnements Linux, cherchez une disposition nommée : Français ; French ; Français (variante) selon la distribution ; mais évitez Français, sans touches mortes si vous voulez taper les accents normalement. Après modification, testez immédiatement : ^ puis e = ê ^ puis a = â ^ puis o = ô Si ces caractères s’affichent correctement, le problème est réglé. Corriger le clavier sous GNOME Sur Ubuntu, Fedora, Debian GNOME ou toute distribution utilisant GNOME : ouvrez Paramètres ; allez dans Clavier ; cherchez la section Sources de saisie ; ajoutez une source de saisie Français ; supprimez ou désactivez la variante Français, sans touches mortes ; testez l’accent circonflexe dans un éditeur de texte. Si plusieurs dispositions sont présentes, vérifiez aussi l’indicateur de langue dans la barre supérieure. Vous êtes peut-être simplement passé sur une autre disposition sans vous en rendre compte. Corriger le clavier sous KDE Plasma Sous KDE Plasma : ouvrez Configuration du système ; allez dans Périphériques d’entrée ou Clavier ; ouvrez l’onglet Dispositions ; activez les dispositions si nécessaire ; ajoutez Français ; évitez la variante sans touches mortes ; appliquez les changements et testez ^ puis e. Corriger le clavier sous Xfce ou Linux Mint Sous Xfce, Xubuntu ou Linux Mint Xfce : ouvrez Paramètres ; ouvrez Clavier ; allez dans Disposition ; décochez l’utilisation des paramètres système si nécessaire ; ajoutez la disposition Français ; supprimez Français, sans touches mortes ; testez les caractères ê, â, ô. Sur Linux Mint Cinnamon, cherchez plutôt Paramètres système > Clavier > Dispositions, puis appliquez la même logique. Corriger temporairement avec setxkbmap Si vous êtes sous X11, vous pouvez corriger temporairement la disposition clavier avec setxkbmap. Pour passer en clavier français classique : setxkbmap fr Pour vérifier la disposition active : setxkbmap -query Vous pouvez aussi tester une variante précise. Par exemple, pour... --- ### Mica Paris and David Gilmour – I Put A Spell On You - **URL**: https://www.skyminds.net/mica-paris-david-gilmour-i-put-a-spell-on-you/ I Put A Spell On You est une chanson de rhythm'n'blues de Screamin' Jay Hawkins qui date de 1956 et qui a été depuis reprise par plus d'une trentaine de groupes célèbres comme Creedence Clearwater Revival, The Animals, Eric Calpton et BB King... Voici une version un peu plus blues avec Mica Paris au chant, David Gilmour à la guitare, Jools Holland aux claviers, Pino Palladino à la basse et Gilson Lavis de Squeeze à la batterie : https://www.youtube.com/watch?v=mmXU7C7MYlw Belle version n'est-ce pas ? La voix de Mica Paris est superbe, le jeu de David Gilmour toujours aussi fin. --- ### Linux : installer Variety pour changer votre fond d’écran automatiquement - **URL**: https://www.skyminds.net/linux-variety-wallpaper-automatique/ Du besoin de changer de fond d'écran J'aime bien que mon fond d'écran change de temps en temps. Cela permet de ne pas avoir un bureau trop fixe, de ne pas avoir toujours la même image sous les yeux. Ce qui est drôle, c'est que ce n'était pas le cas avant - je pouvais garder le même fond d'écran pendant des mois, voire même des années pour certains. Sous linux, j'ai utilisé plusieurs programmes pour varier les fonds d'écrans comme Drapes ou Wallch mais, au fur et à mesure des nouvelles moutures de mon système d'exploitation et/ou des mises à jours des paquets et dépendances, ces programmes ont cessé de fonctionner. D'abord Drapes puis, récemment Wallch. Je suis donc parti en croisade pour chercher une nouvelle alternative et suis tombé sur Variety, qui tourne sous tous les linux dérivés de Debian, comme Ubuntu ou Linux Mint. Variety Variety est donc un changeur de fond d'écran (wallpaper changer, c'est plus chic et ça sonne mieux en anglais) léger, très exhaustif en fonctionnalités et ultra-simple à prendre en main. Il peut automatiquement télécharger de nouvelles images depuis des sources diverses, changer le fond d'écran à un intervalle donné ou à la demande et permet de trier les images pour garder les meilleures. On peut également ajouter de nouvelles sources d'images. Voilà à quoi ressemble l'interface : Comme vous pouvez le voir, vous pouvez récupérer tous les fonds d'écran pour bâtir votre propre collection, tout en respectant certaines limites en espace disque. Très utile ! Ce qui est drôle, c'est qu'avant ce programme je n'utilisais que mes propres images, bien rangées dans un dossier sobrement appelé "wallpapers". Et depuis que j'ai installé Variety, je n'utilise que de nouvelles images qui viennent du net. C'est bien, cela donne un petit vent de fraîcheur et d'entropie supplémentaire, étant donné que l'on ne sait vraiment ce qui sera affiché. Pour installer Variety, il suffit d'ouvrir un terminal et d'installer le bon PPA: sudo add-apt-repository ppa:peterlevi/ppa et on met la liste des paquets à jour avant d'installer variety: sudo apt-get update && sudo apt-get install variety Si vous utilisez d'autres versions de Linux, suivez ce guide d'installation de Variety. Et voilà! A vous maintenant de définir la fréquence de rotation de vos fonds d'écran. --- ### Du bunker au cloud : les hébergeurs de la cybercriminalité (et des gouvernements) - **URL**: https://www.skyminds.net/du-bunker-au-cloud-les-hebergeurs-de-la-cybercriminalite/ Internet est basé sur une architecture bien réelle, avec des serveurs hébergés dans des datacenters dans le monde entier. Les cybercriminels aussi utilisent des serveurs pour archiver les données qu'ils volent ou pour maintenir toute une infrastructure comme l'envoi de spams ou scams. Dans les années 2000, des hébergeurs appelés "bulletproof hosters" (l'équivalent internet des banques suisses) offraient de stocker des données sans poser de questions et surtout sans répondre à celles des autorités - devenant ipso facto les repaires préférés des cybercriminels. Certains appartiennent même au folklore d'internet comme le bunker anti-nucléaire CyberBunker - datant de la guerre froide -, The Pirate Bay ou la principauté auto-proclamée de Sealand, ancienne plateforme pétrolière basée dans les eaux internationales et reconvertie en un datacenter uniquement accessible par hélicoptère. Cependant, la plupart de ces endroits précurseurs ont subi des raids ou ont été dans l'obligation de cesser leurs activités et les cybercriminels ont depuis stocké leurs données ailleurs. Le documentaire The Most Dangerous Town: Where Cybercrime Goes to Hide, réalisé par l'éditeur d'antivirus Norton, traite de l'évolution des lieux d'hébergement des données. Aujourd'hui, les pirates n'utilisent plus de bunkers ou de plateformes pétrolières mais préfèrent se cacher au vu et au su de tous, derrière une vitrine d'une entreprise qui semble légale. Les cybercriminels préfèrent maintenant utiliser des hébergeurs standards et cacher leurs activités à travers l'utilisation de serveurs proxies et VPN. Une autre tactique employée, visible dans le documentaire, est l'utilisation d'appartements vides comme adresse professionnelle. Ils peuvent ainsi changer très rapidement d'adresse au moindre mouvement des forces de police et plus rapidement que la délivrance des mandats de perquisition. La cybercriminalité est donc passée du monde caché et souterrain des bunkers au monde aérien du cloud, nuage d'informations qui permet de cacher leurs exactions. Tout cela rend bien sûr leur identification et arrestation bien plus difficiles pour les forces de l'ordre. --- ### Histoire des Arts with Mister B. : le signe « V » - **URL**: https://www.skyminds.net/histoire-des-arts-with-mister-b-le-signe-v/ Voici une autre planche issue des épreuves orales de l'épreuve d'Histoire des Arts. J'y assiste en tant qu'examinateur et suis accompagné d'une professeur d'histoire et géographie. Le sujet le plus abordé est sans conteste l'affiche rouge et la résistance française lors de la seconde guerre mondiale, qui a déjà donné lieu à la planche Olga. Voici donc ce que nous a sorti Camille sur le signe "V" : Elle aura donc confondu le V de la victoire de la seconde guerre mondiale avec le V peace and love de la génération hippie de la fin des années 60. Cela m'a bien fait rire. Ma collègue, beaucoup moins! --- ### Kamasi Washington – Clair de Lune - **URL**: https://www.skyminds.net/kamasi-washington-clair-de-lune/ Clair de Lune est un poème de Paul Verlaine tiré de son recueil Fêtes galantes (1869). Il a été mis en musique par Gabriel Fauré en 1887 (Clair de lune, op.46 n°2) et par Claude Debussy à deux reprises, en 1882 puis en 1892. Son titre a inspiré le troisième mouvement de la Suite bergamasque pour piano de Claude Debussy. Kamasi Washington est un saxophoniste de jazz américain, connu principalement pour son jeu tenor. Voici sa version du Clair de Lune de Verlaine : https://www.youtube.com/watch?v=KqJJ-2cRR0M Clair de LuneVotre âme est un paysage choisiQue vont charmant masques et bergamasquesJouant du luth et dansant et quasiTristes sous leurs déguisements fantasques.Tout en chantant sur le mode mineurL'amour vainqueur et la vie opportuneIls n'ont pas l'air de croire à leur bonheurEt leur chanson se mêle au clair de lune,Au calme clair de lune triste et beau,Qui fait rêver les oiseaux dans les arbresEt sangloter d'extase les jets d'eau,Les grands jets d'eau sveltes parmi les marbres.Paul Verlaine, "Clair de Lune" in Fêtes galantes (1869) --- ### Billions saison 1 - **URL**: https://www.skyminds.net/billions-saison-1/ Billions est une nouvelle série diffusée sur Showtime qui traite du monde de la finance à New York. Dans le monde de la finance, Chuck Rhoades (Paul Giamatti), un procureur fédéral de New York, affronte certains des plus riches gestionnaires de fonds d'investissement des Etats-Unis. Dans sa ligne de mire se trouve l'ambitieux et brillant gestionnaire de hedge funds Bobby "Axe" Axelrod (Damian Lewis, qui a joué Brody dans Homeland), dont la puissance ne cesse de croître. Les deux hommes rivalisent d'ingéniosité pour manoeuvrer au mieux au grand dam de l'autre. Bobby "Axe" Axelrod est un survivant du 11 septembre qui dirige Axe Capital, un hedge fund basé dans le Connecticut. Il est charmant, charismatic et sa générosité fait de lui un membre apprécié de la communauté - il paie la première année d'étude pour tous les enfants de ses collèges qui ont péri lors de l'attentat du World Trade Center. Cependant, la Sécurities & Exchange Commission (SEC) pense qu'il manipule le marché. La SEC fait alors appel à Chuck Rhoades, un masochiste sans limite qui se trouve également ^etre l'U.S. Attorney for the Southern District of New York mais Rhoades refuse de poursuivre Axelrod tant que ce dernier n'a pas fait d'erreur, car il ne veut pas sacrifier son score parfait de 81 à 0 dans la poursuite des crimes financiers au nom du Ministère Public. La série est basée sur les croisades du procureur fédéral des crimes financier Preet Bharara, alors U.S. Attorney pour le district sud de New York. On peut aisément la classer entre les films Margin Call et The Wolf of Wall Street (avec Leonardo DiCaprio). Douze épisodes sont prévus cette saison et une deuxième saison est d'ores et déjà prévue. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### The Gothic and the Fantastic: Definitions, Themes and Differences - **URL**: https://www.skyminds.net/the-gothic-and-the-fantastic/ Gothic literature creates fear through oppressive settings, transgression and encounters with the supernatural. The fantastic produces a more specific uncertainty: readers hesitate between a rational explanation and a supernatural one. The two modes frequently overlap, but they are not interchangeable. What is Gothic literature? Gothic literature is a mode of writing built around fear, secrecy, transgression and threatened identities. It often places vulnerable characters inside hostile environments where the past refuses to remain buried. Its familiar elements include ruined castles, monasteries, underground passages, storms, apparitions, forbidden rooms and persecuted heroines. However, Gothic fiction cannot be reduced to decorative cobwebs and conveniently timed thunderstorms. Its settings give physical form to psychological, social and political anxieties. A castle may represent inherited power. A locked room may conceal family guilt. A ghost may embody a crime that official history has suppressed. Consequently, Gothic stories often transform places into extensions of the characters’ fears. The origins of the Gothic novel Horace Walpole’s The Castle of Otranto, first published in 1764, is commonly regarded as the first Gothic novel. Walpole combined medieval architecture, dynastic conflict, supernatural events and theatrical excess in a form that later writers developed considerably. The genre emerged during a period usually associated with Enlightenment reason. This apparent contradiction matters. The eighteenth century celebrated rational enquiry, scientific knowledge and social progress, yet it also developed a renewed fascination with ruins, folklore, medieval history and irrational experience. Gothic literature therefore did not simply reject the Age of Enlightenment. It exposed the fears and desires that rational systems could not entirely contain. Major Gothic works Several works established or transformed the Gothic tradition: The Castle of Otranto by Horace Walpole, published in 1764; Vathek by William Beckford, written in French and first published in 1782; The Mysteries of Udolpho by Ann Radcliffe, published in 1794; The Monk by Matthew Lewis, published in 1796; Frankenstein by Mary Shelley, published in 1818; Melmoth the Wanderer by Charles Maturin, published in 1820; The Private Memoirs and Confessions of a Justified Sinner by James Hogg, published in 1824; Dracula by Bram Stoker, published in 1897. These works do not all use the supernatural in the same way. Radcliffe frequently provides rational explanations for apparently supernatural events. Lewis, by contrast, allows demonic forces to exist within the fictional world. Mary Shelley combines Gothic imagery with philosophical, scientific and political questions. The Gothic is therefore better understood as a flexible literary mode than as a rigid formula. The sublime: beauty mixed with terror The concept of the sublime helps explain the emotional power of Gothic landscapes. In A Philosophical Enquiry into the Origin of Our Ideas of the Sublime and Beautiful, Edmund Burke distinguishes beauty from experiences that overwhelm the observer. Beauty is associated with harmony, delicacy, smoothness and pleasure. The sublime arises from vastness, obscurity, power, danger and terror. A gentle garden may appear beautiful. A mountain range, violent storm or immense ruined fortress may become sublime. The observer experiences the sublime from a position of relative safety. The... --- ### Arcade Fire – My Body is a Cage (Sergio Leone’s Once Upon a Time in the West edit) - **URL**: https://www.skyminds.net/arcade-fire-my-body-is-a-cage-sergio-leone/ Je vous ai déjà proposé un clip vidéo pour My Body is a Cage d'Arcade Fire mais en voici un autre que j'aime beaucoup et qui se base sur des scènes du western Once Upon a Time in the West de Sergio Leone : Warning : cette vidéo spoile la fin du film ! Pour la petite histoire, cette vidéo a été à l'origine réalisée par J. Tyler Helms, un directeur créatif et designer basé à Chicago,IL. Elle a ensuite été supprimée de YouTube et c'est Benjammin Jackson qui l'a recréée, en HD. C'est une excellente sélection de scènes du film, très différente de la vidéo précédente et qui montrent combien les images associées à une musique ou chanson peuvent en changer le sens ou du moins notre perception et notre ressenti. --- ### Serveur dédié : ajouter le domaine à la liste HSTS preload - **URL**: https://www.skyminds.net/serveur-dedie-domaine-liste-hsts-preload/ Maintenant que votre site est servi en HTTPS à l'aide d'un certificat SSL/TLS et sécurisé par DNSSEC et DANE, il est maintenant temps de l'ajouter à la liste HSTS preload. HSTS (HTTP Strict Transport Security) est un entête de réponse qui demande au navigateur de toujours utiliser SSL/TLS pour communiquer avec votre site. Qu'importe si l'utilisateur ou le lien qu'il clique spécifie HTTP, HSTS forcera l'usage d'HTTPS. Toutefois, cela laisse l'utilisateur vulnérable lors de sa toute première connexion à un site. L'HSTS preloading corrige donc cela. L'HSTS preloading Il existe une liste qui permet d'inclure un domaine dans la liste HTTP Strict Transport Security preload de Chrome. Il s'agit d'une liste de sites qui sont codés en dur dans Chrome comme étant uniquement servis en HTTPS. Firefox, Safari, IE 11 and Edge ont également des listes HSTS preload qui incluent la liste de Chrome. Pré-requis Il y a quelques pré-requis avant de pouvoir être inclus dans la liste HSTS preload. Votre site doit: avoir un certificat valide,rediriger tout le trafic HTTP vers HTTPS, c'est-à-dire n'être servi qu'en HTTPS uniquement,servir tous les sous-domaines en HTTPS, même le sous-domaine www si un enregistrement DNS existe pour ce sous-domaine,servir un entête HSTS pour les requêtes HTTPS avec une date d'expiration supérieure à 18 semaines (10886400 seconds), les tokens includeSubdomains et preload doivent impérativement être spécifiés. Si vous servez une redirection depuis votre site HTTPS, cette redirection doit obligatoirement contenir l'entête HSTS.L'entête HSTS doit être présent dans le VirtualHost HTTP aussi, juste avant la redirection vers le VirtualHost HTTPS. Voici un exemple d'entête HSTS valide : Strict-Transport-Security: max-age=63072000; includeSubDomains; preload Voici ce qu'il faut rajouter dans votre VirtualHost Apache: Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" N'oubliez pas d'ajouter l'entête HSTS dans la configuration de votre VirtualHost HTTP, juste avant la redirection vers votre VirtualHost HTTPS. Sauvegardez la configuration et relancez Apache : service apache2 restart Inscription à la liste HSTS preload Note : il est facile d'ajouter un domaine mais il n'est pas simple de le retirer de la liste. Il faut donc être sûr et certain que le domaine ne sera désormais servi qu'en HTTPS. Une fois que vous remplissez toutes les conditions, vous pouvez soumettre votre site à la liste d'inclusion HSTS preload. Cela ne prend que quelques jours avant d'être ajouté à la liste. --- ### Daft Punk – End of Line - **URL**: https://www.skyminds.net/daft-punk-end-of-line/ J'aime beaucoup la chanson End of Line de Daft Punk, utilisée ici dans le film Tron 2.0 : https://www.youtube.com/watch?v=AHGvaQMClEo Elle me semble vraiment adaptée pour tout ce qui est à la fois futuriste et dystopique. Cela colle très bien avec l'innovation technologique et ses excès, avec ce qui pourrait un jour nous faire perdre tout sentiment d'humanité. Je verrais bien cette musique dans une nouvelle version - beaucoup plus moderne - de 1984 ou de Brave New World. --- ### Linux : réparer les touches Fn de luminosité écran et clavier - **URL**: https://www.skyminds.net/linux-touches-fn-luminosite-ecran-clavier/ Après l'installation, au redémarrage de la machine avec Ubuntu Mate, je constate que la luminosité de l'écran est au maximum et qu'il m'est impossible de régler la luminosité avec les touches Fn + F5/F6. Sur un ordinateur portable, les touches Fn + F5/F6 servent souvent à régler la luminosité de l’écran ou le rétroéclairage du clavier. Sous Linux, elles fonctionnent généralement très bien. Jusqu’au jour où elles ne font plus rien. Le problème peut venir du noyau, du pilote graphique, de l’ACPI, de l’environnement de bureau, de Wayland, de Xorg, d’un raccourci clavier non configuré ou simplement d’une confusion entre luminosité de l’écran et rétroéclairage du clavier. Voici une méthode moderne pour diagnostiquer et réparer les touches Fn de luminosité sous Linux. Écran ou clavier : de quelle luminosité parle-t-on ? Avant de corriger le problème, il faut identifier ce que vos touches Fn sont censées contrôler. ÉlémentChemin Linux courantExempleLuminosité de l’écran/sys/class/backlight/intel_backlight, amdgpu_bl1, acpi_video0Rétroéclairage du clavier/sys/class/leds/*kbd_backlight*, *keyboard*Touches FnACPI / input eventsXF86MonBrightnessUp, XF86KbdBrightnessUp Les touches Fn avec un soleil règlent souvent l’écran. Les touches avec une icône de clavier lumineux règlent le rétroéclairage du clavier. Selon les marques, les pictogrammes peuvent être trompeurs. Les constructeurs ont visiblement décidé que trois traits et une ampoule suffisaient comme langage universel. Méthode recommandée : installer brightnessctl brightnessctl est l’outil le plus pratique pour lire et modifier la luminosité des périphériques exposés par Linux. Il fonctionne aussi bien pour l’écran que pour certains claviers rétroéclairés, selon le matériel. Installez-le sous Ubuntu, Debian ou Linux Mint : sudo apt update sudo apt install brightnessctl Sous Fedora : sudo dnf install brightnessctl Sous Arch Linux : sudo pacman -S brightnessctl Listez les périphériques de luminosité détectés : brightnessctl --list Vous verrez peut-être un périphérique d’écran, par exemple intel_backlight, et parfois un périphérique de clavier, par exemple asus::kbd_backlight, tpacpi::kbd_backlight ou smc::kbd_backlight. Tester la luminosité de l’écran Pour afficher la luminosité actuelle : brightnessctl get brightnessctl max Pour augmenter la luminosité de l’écran de 10 % : brightnessctl set +10% Pour la diminuer de 10 % : brightnessctl set 10%- Pour définir une valeur précise : brightnessctl set 50% Si ces commandes fonctionnent mais pas les touches Fn, le matériel et le pilote sont probablement corrects. Le problème se situe plutôt côté raccourcis clavier ou environnement de bureau. Tester le rétroéclairage du clavier Listez d’abord les périphériques reconnus : brightnessctl --list Cherchez un nom lié au clavier, par exemple : asus::kbd_backlight tpacpi::kbd_backlight dell::kbd_backlight smc::kbd_backlight Ensuite, testez en indiquant explicitement le périphérique. Exemple : brightnessctl --device='asus::kbd_backlight' set +1 Pour diminuer : brightnessctl --device='asus::kbd_backlight' set 1- Adaptez le nom du périphérique à votre machine. Si brightnessctl --list ne montre aucun périphérique de clavier, le rétroéclairage n’est peut-être pas exposé par le noyau, ou votre modèle demande un pilote spécifique. Vérifier les interfaces système Linux Pour l’écran, vérifiez les périphériques de backlight : ls -l /sys/class/backlight/ Pour un clavier rétroéclairé, cherchez dans les LEDs : ls -l /sys/class/leds/ Filtrez les entrées liées au clavier : ls /sys/class/leds/ | grep -Ei 'kbd|keyboard|backlight' Si... --- ### Grading papers with Mister B. : « only the brave are really allowed to surf on the Internet » - **URL**: https://www.skyminds.net/mister-b-only-the-brave-surf-the-internet/ Cette semaine, j'ai fini de corriger les expressions écrites sur l'usage des nouvelles technologies de mes chers secondes. Grosso modo, ils ont bien joué le jeu et ont parlé de l'importance de la vie privée, des dangers de trop dévoiler sa vie sur les réseaux sociaux à titre personnel (harcèlement, moqueries) et professionnel (recruteurs qui scrutent vos profils), de l'importance des écrans dans nos vies... Mon tas de copie descend gentiment lorsque tout à coup, une petite perle. Comme les copies ne sont pas anonymes, il est très facile de savoir à quoi s'attendre avec certain(e)s élèves et, lorsque je me saisis de la feuille, je me délecte déjà de ce que je vais bien pouvoir y lire. Et ce serait un euphémisme de vous dire que je n'ai pas été déçu. Je vous livre la fin de sa lettre sur l'importance des écrans dans nos vies: Mon élève est donc plutôt gamer et semble avoir une bonne connaissance de ce qu'est Internet (ce qui, soit dit en passant, n'est pas vraiment le cas de tous les élèves, du moins en seconde). J'aime beaucoup la manière dont il conclut sa lettre : That's why only the brave are really allowed to surf on the Internet. C'est totalement inattendu, décalé et cela me fait bien rire. J'ai donc immédiatement pensé à une tribu d'amérindiens, unique catégorie de personnes autorisée à surfer sur le web. Excellent! --- ### Synology, Freebox et DLNA : afficher les sous-titres SRT - **URL**: https://www.skyminds.net/nas-synology-sous-titres-dlna-freebox/ Lorsque l'on possède un NAS, on apprécie de pouvoir bénéficier de toutes ses fonctionnalités. Or, outre les fonctions de sauvegardes, de téléchargement et téléversement des données, il est aussi très agréable de pouvoir lire de la musique ou des vidéos (stockées sur le NAS) directement sur une télévision. Ce tutoriel s'adresse à celles et ceux qui possèdent une Freebox et un NAS Synology. Nous allons voir comment configurer le Synology afin que les sous-titres soient détectés et lus par notre Freebox, automatiquement au lancement de notre vidéo. Voici la méthode propre pour diagnostiquer les sous-titres avec un NAS Synology, Media Server, DLNA/UPnP et une Freebox : nommage, encodage, formats, limites du DLNA, sous-titres intégrés dans les MKV et alternatives plus fiables. Comprendre le problème : DLNA et sous-titres externes Le premier point à comprendre est simple : DLNA ne garantit pas la prise en charge des sous-titres externes. Un serveur DLNA comme Media Server sur Synology peut exposer une vidéo au lecteur Freebox. En revanche, l’affichage d’un fichier .srt séparé dépend ensuite de plusieurs éléments : le serveur DLNA utilisé ; le profil de périphérique détecté par Synology ; le format vidéo ; le conteneur du fichier ; le nom du fichier de sous-titres ; l’encodage du fichier SRT ; le Freebox Player utilisé ; le firmware du Player ; la manière dont le lecteur Freebox interprète le flux DLNA. En clair : si les sous-titres externes ne s’affichent pas, cela ne signifie pas forcément que votre NAS est mal configuré. Cela peut simplement venir d’une limite du couple DLNA + lecteur. La règle de base : vidéo et SRT avec le même nom Avant de chercher plus loin, vérifiez le nom du fichier de sous-titres. Le fichier vidéo et le fichier .srt doivent porter exactement le même nom de base. Exemple correct : Mon-film.mkv Mon-film.srt Autre exemple correct pour un épisode : Serie.S01E03.mkv Serie.S01E03.srt Exemple à éviter : Serie.S01E03.1080p.WEB-DL.mkv Serie episode 3 sous titres FR corriges.srt Certains lecteurs acceptent les suffixes de langue, mais ce n’est pas toujours fiable en DLNA. Pour un premier test, restez minimaliste : Film.mkv Film.srt Quand ce test fonctionne, vous pouvez essayer les variantes multilingues : Film.mkv Film.fr.srt Film.en.srt Mais si rien ne s’affiche, revenez à un seul fichier Film.srt. Le DLNA aime les choses simples. Les conventions trop élégantes, il les regarde parfois comme un chat regarde une porte fermée. Placer le fichier SRT dans le même dossier que la vidéo Le fichier de sous-titres doit se trouver dans le même dossier que la vidéo. Structure recommandée : /volume1/video/Films/Mon-film/ ├── Mon-film.mkv └── Mon-film.srt Structure moins fiable : /volume1/video/Films/Mon-film/Mon-film.mkv /volume1/video/Sous-titres/Mon-film.srt Certains logiciels de médiathèque savent associer des sous-titres stockés ailleurs. En DLNA brut, évitez. Gardez la vidéo et son fichier SRT côte à côte. Encoder les sous-titres en UTF-8 Si les sous-titres apparaissent avec des caractères bizarres, des accents cassés ou des symboles illisibles, le problème vient souvent de l’encodage du fichier SRT. Pour le français, utilisez de préférence UTF-8. Cela évite les problèmes... --- ### Better Call Saul saison 2 - **URL**: https://www.skyminds.net/better-call-saul-saison-2/ Voici le retour de Better Call Saul avec la seconde saison diffusée sur AMC. Nous retrouvons donc Saul, avocat véreux, roi des affaires louches, et poissard indécrottable. Dans sa vie après Walter White, Jimmy travaille dans une cafétéria et se retrouve coincé pendant quelques heures dans le local poubelle du centre commercial. En attendant d'être libéré, il grave un message dans le mur : « SG was here. » Jimmy McGill, de son vrai nom, en a assez de faire semblant. Assez de vivre pour plaire à son grand frère Chuck, brillant avocat, d'encaisser les coups, de courber l'échine. « J'ai fait ce qu'il faut pendant des années, et ça ne m'a mené nulle part », lâche, dès ce premier épisode, celui dont le cabinet est installé dans l'arrière-boutique d'un salon de beauté d'Albuquerque, Nouveau-Mexique. C'est décidé, désormais, il va vivre « pour lui », pas pour les autres, et se consacrer à la seule chose pour laquelle il est vraiment doué : l'arnaque. Tournant le dos à une alléchante proposition d'emploi dans le cabinet Davis & Main, il ferme son cabinet et passe ses journées dans la piscine d'un hôtel de luxe, comme un crocodile attendant qu'une proie juteuse passe sous ses crocs. Kim essaie de comprendre et pour cela, Jimmy l'enrôle dans une de ses arnaques où il dupe un trader en lui faisant payer une énorme addition. Amusée et ivre, Kim passe la nuit avec Jimmy. Pendant ce temps, Pryce devient flambeur et décide de se passer des services de Mike. Nacho en profite pour voler ses informations personnelles. Le lendemain, Pryce est cambriolé et les policiers repèrent aussitôt Pryce comme suspect. Pris de remords, Jimmy revient son poste d'avocat et accepte d'intégrer Davis & Main. Better Call Saul n'a rien perdu de sa maestria visuelle, de son sens du (faux) rythme, de sa capacité à faire durer les scènes pour en tirer toute la substance dramatique et comique. Dix épisodes sont prévus cette saison, à regarder en version originale : Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Wax Audio – A Hotel Full of Secrets (The Eagles and Pink Floyd mashup) - **URL**: https://www.skyminds.net/wax-audio-a-hotel-full-of-secrets/ Voici un bon petit mashup de Wax Audio qui combine Hotel California des Eagles avec A Saucerful of Secrets (Live at Pompeii) de Pink Floyd : https://www.youtube.com/watch?v=wJ-tBiGBFfY Wax Audio est un producteur australien de mashup, qui se concentre surtout sur les légendes du rock. Et tous ses albums de mashups sont téléchargeables gratuitement depuis son site ! C'est aussi l'occasion de revoir le théâtre de Pompéi, que nous avions adoré lors de notre voyage à Rome. Le résultat de cette combinaison est surprenant mais je le trouve très bien. --- ### In lycée with Mister B. : a message from anonymous students - **URL**: https://www.skyminds.net/in-lycee-with-mister-b-anon-message/ Cette année, je travaille le samedi et cette année, pas de chance, cela tombe sur mon anniversaire. Alors que je rejoins avec entrain le lycée et pousse la porte d'une salle des professeurs déserte en cette heure matinale (7h40 quand même), je me décide à ouvrir mon casier, histoire de vérifier si je n'ai pas eu de courrier intéressant depuis la journée précédente. Là, je découvre une enveloppe blanche, sans aucun objet, destinataire, ou expéditeur. Ne se trouve sur l'enveloppe que la date du jour : 30/01. Je dois vous avouer que cela pique ma curiosité. Je pense d'abord à un chèque quelconque pour un voyage ou une sortie scolaire qu'un élève retardataire aurait fait déposer en loucedé dans mon casier. J'ouvre l'enveloppe et tombe sur ceci : Un morceau de feuille à grands carreaux, découpé avec une paire de ciseaux, et arborant "for Matt'". C'est très intéressant : la date sur l'enveloppe ainsi que cette adresse directe à mon encontre montrent que quelqu'un au lycée est au courant de mon surnom et de ma date d'anniversaire. Peut-être une lectrice ou un lecteur du site ? Je déplie alors la feuille de papier et découvre le message : Quelqu'un qui connaît donc ma date de naissance, mon pseudo et qui fait des références à Anonymous ? Cela fait beaucoup de coincidences ! “There is no coincidence. Only the illusion of coincidence.” ― Alan Moore, V for Vendetta, Vol. III of X Cela m'a beaucoup amusé mais je ne sais toujours pas qui remercier pour cette gentille carte. C'est très bien fait et cela m'a bien fait plaisir - merci :) --- ### Mon nouveau laptop : Asus N551VW - **URL**: https://www.skyminds.net/mon-nouveau-laptop-asus-n551vw/ Pour mes 35 ans, j'ai reçu un super cadeau d'anniversaire : un nouvel ordinateur portable Asus N551VW-FW119T. Asus N551VW Voici la bête en images : et le clavier : Au programme : un écran 15,6" mat et anti-reflets, un processeur i7-6700HQ (2,6 GHz), 8 Go de RAM en DDR4, une carte graphique GTX 960M, un disque SSD de 128 Go + 1 To en SATA, coque en aluminium brossé... Premières impressions On ne va pas se le cacher, il est très rapide! Démarrage éclair, aucun lag dans le lancement des applications, c'est vraiment du bonheur. Le clavier est vraiment bien, avec pavé numérique et rétro-éclairage. Parmi les inconvénients, je noterai le poids/encombrement puisque avec ses 2.7 kg, on ne va pas le trimballer tous les jours et l'autonomie - qui tourne autour des 3h30-4h. Il est difficile d'allier performance et autonomie à l'heure actuelle. Ubuntu Mate J'y ai installé Ubuntu Mate, qui est vraiment sympa parce qu'il reprend le look de GNOME : C'est bien, le système est rapide et stable mais j'ai pour le moment des difficultés à faire fonctionner le touchpad Elantech multi-touch : scrolling vertical à deux doigts etc. Il fonctionne en mode simple mais les fonctions multi-touch avancées ne sont pas détectées sous Ubuntu pour le moment. Je suis donc content d'avoir une machine qui tourne. Il ne reste plus qu'à régler le souci du touchpad ! --- ### Concert de TOTO au Zénith de Nantes - **URL**: https://www.skyminds.net/concert-toto-zenith-nantes/ Lundi soir - 1er février 2016 -, je suis allé voir TOTO en concert au Zénith de Nantes avec Jac, Nicole, Julia et Cécile. Première partie : Pascale Picard La première partie a été assurée par Pascale Picard, toute seule sur scène avec sa guitare acoustique. Elle a beaucoup d'humour et, venant du Canada, a un petit accent québécois qui nous fait sourire. https://www.youtube.com/watch?v=_m9WeN5Xuw4 J'ai bien aimé, c'était une bonne première partie : j'ai apprécié la partie guitare, peut-être un peu moins la partie voix lorsque cela partait dans tous les sens en mode un peu fou-fou mais cela reste très positif. TOTO Vingt minutes d'entracte plus tard, soit deux bières, TOTO arrive sur scène et boom, ça donne le ton dès que le rideau tombe : du bon rock'n'roll avec des accents de blues et de jazz. Le mélange est subtil, les musiciens au top, le mixage bon. Plus de trente cinq ans de carrière, quasiment quarante et ils ont joué comme des damnés pendant deux heures, sans aucune pause, en enchaînant les tubes. Cela a été l'occasion pour moi de retrouver Steve Lukather, que j'avais vu lors de sa tournée solo en 2010 à l'Élisée Montmartre. Dès la première chanson, otus les gens assis se sont levés... vraiment pas de bol pour nous qui étions dans le carré qui correspond à la fosse. Du coup nous avons dû suivre le concert debout pour y voir quelque chose. Cela nous servira de leçon : la prochaine fois, on prendra des places un peu plus derrière. Le spectacle a été intense et Steve Lukather impressionnant de maîtrise. C'est vraiment un super guitariste. Le reste de la bande aussi me direz-vous : Steve Lukather - vocals, guitarsDavid Paich - vocals, keyboardsSteve Porcaro - keyboardsJoe Williams - vocalsLeland Sklar - bassShannon Forrest - drumsLenny Castro - percussionJenny Douglas - vocalsMabvuto - vocals Rosanna : https://www.youtube.com/watch?v=yMKpKoEZxo8 Hold The Line : https://www.youtube.com/watch?v=6Moyv7eQYqk Et, en rappel, Africa bien sûr : https://www.youtube.com/watch?v=TyT2KC3OFBY Une super soirée et un excellent concert. --- ### The Gregory Brothers – Not Today (The Building Is on Fire) ft. Michelle Dobyne - **URL**: https://www.skyminds.net/the-gregory-brothers-not-today/ Michelle Dobyne a récemment vu son appartement partir en fumée, alertée par sa voisine de palier. Voici la vidéo de l'interview qu'elle a donné à Charlie Hannema pour News 6 à Tulsa: https://www.youtube.com/watch?v=m7WDwvSO4z8 Cette dame est impressionnante rien qu'avec ses effets de voix et ses grimaces. Mais à l'heure d'internet, tout est réuni pour faire le premier grand meme de 2016 ! Arrivent en piste The Gregory Brothers, composé de Michael, Andrew, Sarah, et Evan. Leur but ultime est de mettre l'univers en chanson ("songify the universe (because everything is better as a song, duh)"). Et voici leur oeuvre : https://www.youtube.com/watch?v=XpSOWfFtKJE Paroles The building is on fireThe building is on fireI said naw, what, i got my three kidsAnd we bounced out, bounced outI said, hey, heyWe ain't gonna be in no fire, not todayNot today, not todayNuh-uhI was on the phone cookin me and my baby some breakfastMy friend said "hey" something wrong is poppingI said "what" she said "yeah"I said "naw" she come out her apartmentwith her baby with no shoes onI said "aw, girl it's cold outside"She said "something something something ain't right"I said "what" i said "aw man"She said "aw man"The building is on fireThe building is on fireI said naw, what, i got my three kidsAnd we bounced out, bounced outI said, hey, heyWe ain't gonna be in no fire, not todayNot today, not todayNuh-uh Accords chorus: Fm Cm Db Ab (walkdown) repeat verse: Fm Db Bbm Cm Fm Db Bbm Gb Pour la petite histoire, Michelle Dobyne a été obligée de vivre dans sa voiture quelques jours et toutes les recettes des vidéos utilisant l'interview lui sont reversées, ce qui est un bon moyen d'aider ceux qui sont dans le besoin. Je dois dire que le résultat est vraiment bien, je me surprends à chantonner ce petit morceau très (trop) fréquemment ces derniers jours. Preuve que l'exercice de style est réussi ! --- ### Happy Birthday Matt : 35 - **URL**: https://www.skyminds.net/happy-birthday-matt-35/ Boom, je viens d'avoir 35 ans aujourd'hui ! C'est fou comme le temps passe, j'ai l'impression d'avoir écrit l'article sur mes 34 ans il y a quelques mois à peine. J'ai comme l'impression que le temps s'accélère, ou du moins la perception que j'en ai. Les années scolaires semblent elles aussi s'écouler plus vite qu'au début de ma carrière, ce qui ne semble pas être un très bon signe! Le nombre 35 en mathématiques 35 est un nombre semi-premier, le 5e nombre pentagonal, le 5e nombre tétraédrique (la somme des 5 premiers nombres triangulaires), le 3e nombre cubique centré et le 4e nombre pentatopique. 35 est le nombre d'hexaminos, ces polynomes composés de 6 carrés. Trivia sur le nombre 35 Trente-cinq est aussi : le numéro atomique du brome, un halogène.l'âge minimum des candidats aux élections de président des États-Unis ou président de l'Irlande.le nombre d'années de mariage des noces de rubis.le score maximum d'une volée de sarbacane sportivela règle 35 des règles de l'Internet, qui dit que s'il n'existe pas de porno à ce sujet, cela va venirl'âge auquel décèdent Wolfgang Amadeus Mozart, Jeanne de Valois-Saint-Rémy (célèbre pour l'affaire du collier de la reine) ou le guitariste Stevie Ray Vaughanl'année 35 avant J.-C. marque le début à Rome du consulat de Lucius Cornificius et Sextus Pompeius.l'année où Octavie, sœur d'Octavien, est envoyée par ce dernier rejoindre son mari Marc Antoine avec des renforts afin d'aider celui-ci dans sa préparation d'une nouvelle expédition contre les Parthes. Octavie reçoit un message de Marc Antoine, alors qu'elle vient d'arriver à Athènes, lui enjoignant de retourner à Rome ce qu'elle fait. Les renforts, eux, arrivent à Marc Antoine.le printemps des campagnes victorieuses d’Octavien en Illyrie et en Dalmatie (fin en 33 av. J.-C.). Il combat les Iapydes, les Pannoniens et les Dalmates. Selon Suétone, Octavien est blessé deux fois pendant cette campagne.l'année où Hérode fait noyer "accidentellement" Aristobule III ; Hananel reprend la charge de grand prêtre. Alexandra, la mère d’Aristobule, écrit à Antoine et Cléopâtre pour obtenir réparation. Hérode est convoqué à Laodicée de Syrie. Il confie la régence de Judée à son oncle Joseph, avec ordre d'exécuter Mariamne, épouse d'Hérode et sœur d’Aristobule, s’il ne revenait pas. Le bruit court qu'il a été exécuté par Antoine et une révolte des partisans des Hasmonéens contre les Hérodiens éclate. Hérode gagne Antoine avec de d'argent et réprime la révolte. Bref, j'ai 35 ans et je commence à dater. --- ### Linux : installer Android Studio pour développer des applications Android - **URL**: https://www.skyminds.net/linux-android-studio-developper-applications-android/ Aujourd'hui, nous installons tous les outils nécessaires pour devélopper des applications Android sous Linux. Ce tutoriel s'adresse aux utilisateurs Linux mais est très facilement transférable d'un système à l'autre. Ma machine principale tourne sous Ubuntu mais le tuto fonctionne aussi pour Linux Mint ou Debian. Pour mener à bien l'installation, il nous faut donc : une version récente de Java et Android Studio pour coder nos applications pour mobiles, tablettes, télévision, Android wear... vous allez vraiment pouvoir vous amuser ! Installation de Java On installe la version Oracle de Java pour maximiser les chances que tout tourne bien ensuite, avec un PPA : sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer sudo apt-get install oracle-java8-set-default On vérifie notre version de Java: java -version ce qui nous retourne : java version "1.8.0_66" Java(TM) SE Runtime Environment (build 1.8.0_66-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode) Java 8 est donc bien installé. Installation d'Android Studio On installe Android Studio avec un PPA également: sudo add-apt-repository ppa:paolorotolo/android-studio sudo apt-get update sudo apt-get install android-studio et on lance l'assistant de configuration qui va récupérer les packages et les mises à jour : /opt/android-studio/bin/studio.sh L'installation prend pas mal de temps, il y a environ 600 Mo à télécharger et à compiler ensuite. Définir le chemin de JAVA_HOME Au lancement d'Android Studio, il est possible d'obtenir une erreur dans les logs qui indique "Could not determine Java Version". Cela signifie que plusieurs versions différentes de Java cohabitent sur votre système. Ce n'est pas un problème mais vous allez devoir définir la bonne version de Java pour Android Studio. Deux possibilités s'offrent à vous. Définir le chemin Java dans le projet La première solution est de définir le chemin de l'exécutable Java directement dans votre projet. Il suffit de se rendre dans Android Studio > File > Project Structures > SDK location et de rentrer le bon chemin (/usr/lib/jvm/java-8-oracle pour Java8), comme ceci: Définir le chemin Java globalement La seconde solution, plus pérenne, est d'éditer le fichier de configuration global /etc/profile, qui s'appliquera à tous les utilisateurs du système : sudo nano /etc/profile Et on y ajoute : # MATT set JAVA_HOME export JAVA_HOME=$(readlink -e /usr/bin/java | sed 's/\(.*\)bin\/java$/\1/') export PATH=$JAVA_HOME/bin:$PATH Le plus de cette méthode est qu'au lieu de mettre un lien en dur qui cassera l'installation à la prochaine mise à jour majeure de Java, on s'assure de toujours pointer vers la dernière version de notre exécutable. Enregistrez le fichier et relancez-le pour activer les changements: source /etc/profile On vérifie ensuite notre chemin vers l'exécutable Java : echo $JAVA_HOME qui nous retourne bien : /usr/lib/jvm/java-8-oracle/jre/ Ajouter Android Studio au menu Gnome Pour ajouter Android Studio au menu Gnome (ou le faire apparaître), il suffit de lancer: alacarte Naviguez ensuite dans la catégorie Programmation puis cochez Android Studio et validez: Si le raccourci n'existe pas, créez-le et pointez-le vers le chemin de l'exécutable suivant: /opt/android-studio/bin/studio.sh Création de votre premier projet Il ne vous reste plus qu'à créer votre premier projet d'application Android.... --- ### Glenn Frey, guitariste des Eagles, meurt à 67 ans - **URL**: https://www.skyminds.net/glenn-frey-eagles-meurt-a-67-ans/ Décidément, 2016 semble avoir décidé de mettre un coup aux icônes du rock... Après Lemmy et David Bowie, Glenn Frey vient de passer l'arme à gauche le 18 janvier 2016, emporté par les complications d'une polyarthrite rhumatoïde et d'une pneumonie. Né le 6 novembre 1948, Frey commence à jouer dans des groupes de Detroit au milieu des années 60. Il déménage ensuite pour Los Angeles à la fin des années 60, où il fait la rencontre de J.D. Souther et Jackson Browne. Lorsque la petite amie de Souther, Linda Ronstadt, eu besoin d'un nouveau groupe pour l'accompagner, elle embaucha Glenn Frey, le batteur Don Henley, le bassiste Randy Meisner et le guitariste Bernie Leadon. L'alchimie fut si bonne qu'après la tournée de 1971, les quatre musiciens quittent Linda Ronstadt et prennent le nom "The Eagles". Le groupe connaît un succès immédiat. Le premier single, “Take It Easy”, est coécrit par Frey et Browne et devient le modèle du groupe qui mélange du rock country avec des harmonies au pitch parfait. https://www.youtube.com/watch?v=AaBw37-nWaY La voix douce de Glenn Frey contrastait parfaitement avec la voix râpeuse de Don Henley, donnant le même mélange vocal qui a rendu les Beatles aussi célèbres. Rest in peace Glenn! --- ### Se connecter depuis un serveur vers un NAS Synology avec des clés SSH, sans mot de passe - **URL**: https://www.skyminds.net/connecter-nas-synology-cles-ssh-sans-mot-de-passe/ La sauvegarde des données Un des problèmes majeurs dans la gestion des données informatiques est la sauvegarde des données. Idéalement, il faut pouvoir être en mesure de disposer de plusieurs copies de sauvegarde de nos données, intégres et utilisables, disponibles dans plusieurs lieux géographiquement éloignés afin de prévenir les risques. Il est très utile d'avoir un script de sauvegarde comme backup-manager sur le serveur qui va automatiquement envoyer les fichiers de sauvegarde sur un espace de stockage distant. Sur ce serveur par exemple, les sauvegardes sont envoyées sur le FTP de backup mis à disposition par OVH. Connexion à un serveur distant en SSH, sans mot de passe Mais il est également possible d'en envoyer une copie chez vous, directement sur votre NAS. Pour plus de sécurité (le FTP n'est pas un protocole sécurisé) il peut être très intéressant de créer un set de clés SSH pour que le script de sauvegarde (ou alors rsync) se connecte directement à votre NAS/serveur de sauvegarde en SSH. Voyons donc comment nous pouvons créer un jeu de clés SSH sur notre serveur linux - ou n'importe quelle autre machine Unix, comme votre PC - vers un NAS Synology. Cela nous permettra de nous identifier sur le NAS depuis le serveur, sans avoir à rentrer de mot de passe ou à le mettre en clair dans un script. C'est aussi un grain de temps de se logguer en SSH au NAS sans mot de passe ! Activer SSH sur le Synology Première étape : on active le service SSH sur le Synology : - connectez-vous au webadmin de votre Synology, - rendez-vous dans Control Panel > Applications > Terminal & SNMP, - dans l'onglet Terminal, cochez l'option Enable SSH service, - changez le port par défaut pour quelque chose de plus exotique : 44222 par exemple, - sauvegardez les options. Retenez bien le numéro du port que vous avez défini. Il sera maintes fois utilisé par la suite. Ouvrir une session SSH sur le NAS avec l'utilisateur root Cette étape est cruciale et permet d'éviter de longues heures de recherche sur Internet pour comprendre pourquoi les commandes des étapes suivantes ne fonctionnent pas... Vous devez *absolument* ouvrir une session SSH sur le NAS en tant qu'utilisateur root. Le mot de passe de l'utilisateur root est le même que celui de l'utilisateur admin mais une session en tant qu'admin ne vous donnera pas les droits nécessaires pour installer quoi que ce soit. root vous devez donc être, sur notre port SSH: ssh root@diskstation -p44222 Résultat: BusyBox v1.16.1 (2015-10-28 13:19:22 CST) built-in shell (ash) Enter 'help' for a list of built-in commands. DiskStation> Créer une clé SSH pour se connecter sans mot de passe au NAS depuis un PC de bureau Pour éviter d'avoir à rentrer un mot de passe à chaque fois que je veux me connecter en root sur le NAS, il est très utile de générer une clé SSH sur le PC de bureau et copier cette clé sur le NAS. Sur le... --- ### Nine Inch Nails – Hurt (live) - **URL**: https://www.skyminds.net/nine-inch-nails-hurt-live/ Je suis tombé amoureux de cette chanson par le groupe Nine Inch Nails : https://www.youtube.com/watch?v=dhh21crSohs Accords : A B G D I hurt myself today To see if I still feel I focus on the pain The only thing that's real The needle tears a hole The old familiar sting Try to kill it all away But I remember everything What have I become? My sweetest friend Everyone I know Goes away in the end You could have it all My empire of dirt I will let you down I will make you hurt I wear this crown of shit Upon my liar's chair Full of broken thoughts I cannot repair Beneath the stains of time The feelings disappear You are someone else I am still right here What have I become? My sweetest friend Everyone I know Goes away in the end You could have it all My empire of dirt I will let you down I will make you hurt If I could start again A million miles away I would keep myself I would find a way Superbe. --- ### NAS Synology : installer IPKG pour ajouter des applications supplémentaires - **URL**: https://www.skyminds.net/nas-synology-ipkg-ajouter-applications/ Note : IPKG n'est plus maintenu donc je vous conseille de suivre le nouveau tutoriel pour votre NAS Synology : installer Entware en remplacement d’IPKG pour des applications à jour. De temps en temps, on a besoin d'intervenir sur le NAS et l'interface web d'administration du Synology n'est ni la plus intuitive, ni la plus rapide. En tout cas, sur un D212+, cela rame toujours un peu. Aujourd'hui, je vous montre comment ouvrir une session SSH en tant que root sur votre Synology afin d'y installer des applications non officielles mais toutes aussi valables comme nano ou screen. Ce tuto prend à peine 10 minutes à réaliser. Cela nous permettra à terme de pouvoir lancer différentes commandes et d'exploiter à fond les possibilités du NAS. Activer SSH sur le Synology Première étape : on active le service SSH sur le Synology : connectez-vous au webadmin de votre Synology, rendez-vous dans Control Panel > Applications > Terminal & SNMP, dans l'onglet Terminal, cochez l'option Enable SSH service, changez le port par défaut pour quelque chose de plus exotique : 44222 par exemple, sauvegardez les options. Retenez bien le numéro du port que vous avez défini. Il sera maintes fois utilisé par la suite. Ouvrir une session SSH sur le NAS avec l'utilisateur root Cette étape est cruciale et permet d'éviter de longues heures de recherche sur Internet pour comprendre pourquoi les commandes des étapes suivantes ne fonctionnent pas... Vous devez *absolument* ouvrir une session SSH sur le NAS en tant qu'utilisateur root. Le mot de passe de l'utilisateur root est le même que celui de l'utilisateur admin mais une session en tant qu'admin ne vous donnera pas les droits nécessaires pour installer quoi que ce soit. On se connecte avec l'utilisateur admin en SSH : ssh admin@DiskStation -p44222 Et comme nous devons être root, on le devient : sudo -i Résultat: BusyBox v1.16.1 (2015-10-28 13:19:22 CST) built-in shell (ash) Enter 'help' for a list of built-in commands. DiskStation> Installer IPKG sur le Synology La deuxième étape est d'installer un gestionnaire de paquet sur le NAS, pour ajouter des paquets supplémentaires qui ne sont pas présents sur les dépôts officiels de Synology. C'est un peu comme un apt-get ou aptitude. Vous devez connaître le modèle du processeur exact de votre Synology en vous aidant de cette capture d'écran récapitulative : Sur mon Synology 212+, le processeur est donc un Marvell Kirkwood mv6282 2.0Ghz ARM (Marvell ARMADA 300). Un autre moyen de connaître le modèle du processeur est de lancer un simple : cat /proc/cpuinfo | more Ce qui nous retourne : Processor : Feroceon 88FR131 rev 1 (v5l) BogoMIPS : 1985.74 Features : swp half thumb fastmult edsp CPU implementer : 0x56 CPU architecture: 5TE CPU variant : 0x2 CPU part : 0x131 CPU revision : 1 Ensuite, il nous reste à télécharger le bon fichier fichier correspondant à notre processeur. Le wiki Synology allemand existe toujours et nous donne : ARM (armv5tejl, nur DS107+,DS207+,CS407,RS407): http://ipkg.nslu2-linux.org/feeds/optware/syno-x07/cross/unstable/syno-x07-bootstrap_1.2-7_arm.xsh PowerPC (ppc_6xx): http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/unstable/ds101-bootstrap_1.0-4_powerpc.xsh PowerPC (ppc_85xx, e500v?): http://ipkg.nslu2-linux.org/feeds/optware/syno-e500/cross/unstable/syno-e500-bootstrap_1.2-7_powerpc.xsh Marvell Kirkwood... --- ### David Bowie meurt à 69 ans - **URL**: https://www.skyminds.net/david-bowie-meurt-a-69-ans/ David Bowie, artiste caméléon légendaire et musicien de génie né en 1947, vient de nous quitter le 10 janvier 2016 à New York à 69 ans, emporté par un cancer du foie. https://www.youtube.com/watch?v=KYJgK13Wong Le music-hall, le folk hippie, le glam-rock, la soul, le funk, la pop, les musiques électroniques, le jazz… auront été quelques-uns des genres qu’il avait abordés, leur donnant à chaque fois une couleur, une personnalité. Au cours des années, il endossera aussi le costume de personnages, des doubles possibles. Le jeune homme tranquille de ses débuts, dandy et élégant, jouera sur le travestissement dans la fin des années 1960. Son personnage le plus célèbre pour le grand public, Ziggy Stardust, sera comme un avatar de la star du rock avec paillettes, dans l’ascension vers la gloire et la chute. Il apparaîtra le visage orné d’un éclair coloré pour Aladdin Sane ; figurera une sorte de pirate annonciateur du punk lorsqu’il se transformera en Halloween Jack. Voici Space Oddity avec Mick Ronson : https://www.youtube.com/watch?v=pXSGocWifAg Et Starman avec les Spiders from Mars: https://www.youtube.com/watch?v=4B5zmDz4vR4 Il sera ensuite le Thin White Duke, probablement le plus proche de ce qu’il vit alors, vers la fin des années 1970, miné par une consommation importante de cocaïne ; avant de se grimer en Pierrot lunaire, au début des années 1980 ou d'apparaître dans plusieurs films. David Bowie aura été l'un des artistes les plus influents des années 1970, touchant à tout. Il avait même perçu tout le potentiel ce qu'allait devenir Internet tel que nous le connaissons aujourd'hui et ce, bien avant tout le monde. En 1998, il avait lancé BowieNet, un service d'accès à internet par modem avec des fonctions de réseau social. Bowie était un précurseur et un visionnaire. Helen Green a créé un GIF animé retraçant tous les looks cultes Davie Bowie de 1964 à 2014. Cela va de la coupe mullet au patch de pirate, des faux grains de beauté aux permanentes: https://www.youtube.com/watch?v=xJKdqYCUf3w So long starman, may you rest in peace. Thanks for the music and powerful poetic imagery, we miss you sorely. --- ### Apache : résoudre l’erreur « 421 Misdirected Request » - **URL**: https://www.skyminds.net/apache-erreur-421-misdirected-request/ Après la mise à jour d'Apache et HTTP/2, il est apparu un nouveau type d'erreur : l'erreur 421 Misdirected Request. Erreur 421 : erreur de configuration mod_ssl entre Virtual Hosts Ce type d'erreur arrive lorsque: HTTP/2 est activé,les paramètres SSL de plusieurs Virtual Hosts diffèrent du serveur responsable du handshake SSL/TLS. En analysant le changelog d'Apache 2.4.18, je me suis rendu compte que si les paramètres SSL et notamment la liste des ciphers utilisables ne sont pas équivalentes entre les différents Virtual Hosts, alors l'erreur 421 est déclenchée. Solution : harmoniser la configuration mod_ssl La solution est donc toute simple, il suffit de comparer la configuration mod_ssl des Virtual Hosts et l'harmoniser de manière à lisser les différences. Je vous recommande un outil comme Meld pour comparer les différences entre vos fichiers. Meld est disponible dans les dépôts de base, vous pouvez l'installer sur votre machine de dév avec un simple: apt-get install meld Le domain sharding ou servir les ressources statiques sur un sous-domaine Sur le site, cela est dû à la mise en place du domain sharding que j'avais mis en place il y a quelques années pour charger plusieurs fichiers ressources en parallèle et accélérer les temps de chargement. HTTP/2 promet beaucoup de choses et apparemment le domain sharding serait maintenant devenu inutile. J'attends un peu de voir comment vont évoluer les choses avant de changer toute ma configuration et éditer tous mes liens. --- ### Luther saison 4 - **URL**: https://www.skyminds.net/luther-saison-4/ Voici le grand retour de Luther après plus de deux ans d'absence. Nous retrouvons Luther en congé de la police, faisant profil bas dans un cottage délabré. Une visite de ses collègues, DCI Theo Bloom et DS Emma Lane, lui apporte une information choquante qui l'attire de nouveau à Londres dans une nouvelle quête de vérité. Au même moment, un tueur en série cannibal frappe la ville, dévorant des morceaux de corps partout où il passe. En suivant la piste d'indices menant d'une scène de crime à l'autre, DSU Martin Schenk et son équipe doivent travailler sur la logique tordue qui relie chaque victime. Mais cet ingénieux meurtrier met en difficulté les membres de l'équipe de Schenk et joue avec eux avec toujours un coup d'avance. Luther fait un retour triomphant, déterminé à capturer le tueur avant qu'un autre corps mutilé ne rejoigne la liste des victimes. Mais Luther est toujours obsédé par les fantômes de son passé et il lui faudra toutes les fibres de son être pour garder sa raison. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Changement de design : SkyMinds 2016 - **URL**: https://www.skyminds.net/changement-de-design-skyminds-2016/ Ce week-end, pour fêter la nouvelle année et les 17 ans du site (et oui, déjà !), je me suis amusé à changer radicalement le thème graphique du site. Nouvelle année, nouveau thème Cela fait des années que je n'ai pas changé de thème : apparemment, mon thème précédent remonte à 2010, soit 6 ans. A l'échelle d'Internet, cela remonte quasiment à la préhistoire ! Il aura bien évolué : de XHTML transitional à strict, puis HTML5. D'abord basique puis responsive, avec microdata... on peut dire que je l'ai bien usé, sous toutes les coutures mais que j'ai envie maintenant de quelque chose d'autre. La charte graphique convenait à une certaine époque mais il faut savoir faire table rase et se remettre en question pour essayer des choses différentes. A titre de comparaison, voici à quoi ressemblait le site le 1er janvier au petit matin: et voici maintenant le nouveau thème, sobrement intitulé "SkyMinds 2016" : Les nouveautés Pas mal de nouveautés sont apparues. Tout d'abord, le site est désormais entièrement responsive, ce qui n'était pas tout à fait le cas avant. J'avais - bonant malant - utilisé des responsive queries mais on ne peut pas dire que l'affichage était optimal sur toutes les tailles d'écran. Là, c'est bien mieux géré. Ensuite, le thème utilise beaucoup moins d'images que le précédent : adieu l'image de fond pour le header, le dégradé en PNG de 1600 pixels de hauteur et les dégradés CSS pour les colonnes de contenus et le footer. Je n'ai gardé que le logo, le reste n'est composé que de couleurs unies. Mine de rien, cela influe énormément sur le rendu des pages. En ce qui concerne la CSS, je n'ai gardé que quelques styles que j'affectionne mais le principal a changé. Ce changement graphique est pour moi l'occasion de donner un petit coup de peinture et surtout de faire le ménage dans ma feuille de style et les fichiers du thème de WordPress. J'ai également désactivé certains plugins comme le plugin qui créait un menu responsive - maintenant géré nativement par le thème, ainsi que d'autres qui s'ajoutaient à la feuille de style principale. Le rendu est donc plus moderne et devrait se charger plus rapidement, faisant appel à moins de ressources. What's next? Pour l'instant, ce nouveau thème est clair et me convient plutôt bien. J'y apporte quelques petites touches çà et là afin d'harmoniser le tout mais je trouve que le résultat n'est pas trop mal. Et vous, vos impressions? --- ### Bash : personnaliser le prompt du terminal - **URL**: https://www.skyminds.net/bash-personnalise-prompt-du-terminal/ Quand on travaille avec plusieurs serveurs, plusieurs fenêtres de terminal et parfois plusieurs utilisateurs SSH, il devient vite important de savoir où l’on tape. Un mauvais terminal, une mauvaise machine, une commande trop confiante… et la journée prend une saveur légèrement carbonisée. Le prompt Bash permet justement d’afficher des informations utiles avant chaque commande : utilisateur, nom du serveur, dossier courant, heure, statut de la dernière commande ou encore branche Git. On peut aussi le colorer pour identifier plus vite un environnement local, staging ou production. Voici comment personnaliser proprement le prompt du terminal sous Bash, sans casser les retours à la ligne ni transformer votre console en sapin de Noël nucléaire. Qu’est-ce que le prompt Bash ? Le prompt est l’invite affichée par le shell avant chaque commande. Dans Bash, le prompt principal est défini par la variable PS1. Un prompt très simple peut ressembler à ceci : matt@apollo:~$ Ce prompt indique l’utilisateur, le serveur, le dossier courant et le type d’utilisateur. Le signe $ correspond généralement à un utilisateur normal. Le signe # indique souvent une session root. C’est le moment où l’on respire avant d’appuyer sur Entrée. Modifier le prompt dans .bashrc Pour personnaliser votre prompt de manière permanente, éditez le fichier ~/.bashrc de l’utilisateur concerné. nano ~/.bashrc Ajoutez ensuite votre configuration en fin de fichier. Pour appliquer immédiatement les changements, rechargez le fichier : source ~/.bashrc Si vous êtes connecté en SSH, vous pouvez aussi ouvrir un nouveau terminal pour vérifier le rendu sans risquer de casser votre session active. Les variables utiles dans PS1 Bash propose plusieurs séquences spéciales pour construire un prompt lisible. SéquenceAffichageExemple\uNom de l’utilisateurmatt\hNom d’hôte courtapollo\HNom d’hôte completapollo.skyminds.net\wChemin courant complet~/public_html\WNom du dossier courantpublic_html\tHeure au format 24 h14:32:10\dDateTue May 19\nNouvelle ligne\$$ ou # selon l’utilisateur$\[ et \]Délimitent les séquences non imprimablesCouleurs Les deux séquences les plus sous-estimées sont \[ et \]. Elles indiquent à Bash que ce qui se trouve entre les deux ne prend pas de place visible à l’écran. C’est essentiel pour les couleurs. Pourquoi les couleurs peuvent casser votre terminal Les couleurs du terminal sont produites par des séquences d’échappement. Elles ne s’affichent pas comme du texte, mais Bash doit savoir qu’elles existent. Si vous ne les entourez pas avec \[ et \], Bash calcule mal la longueur du prompt. Symptômes classiques : la ligne se replie au mauvais endroit ; le curseur se décale ; l’historique s’affiche bizarrement ; les commandes longues écrasent le prompt ; le copier-coller devient pénible. Donc, dès que vous ajoutez une couleur, encadrez-la correctement. Le terminal vous remerciera en silence. C’est son langage affectif. Définir des couleurs propres avec tput On peut écrire les couleurs ANSI à la main, mais tput reste plus portable. Il interroge la base terminfo pour générer les séquences adaptées au terminal. Ajoutez ce bloc dans ~/.bashrc : # Couleurs utilisables dans le prompt Bash. if command -v tput >/dev/null 2>&1 && [ -n "$TERM" ]; then BOLD="\[$(tput bold)\]" RESET="\[$(tput sgr0)\]" BLACK="\[$(tput setaf 0)\]" RED="\[$(tput setaf 1)\]" GREEN="\[$(tput setaf 2)\]" YELLOW="\[$(tput setaf... --- ### Pearl Jam – Indifference (waves) - **URL**: https://www.skyminds.net/pearl-jam-indifference-waves/ Voici Indifference par Pearl Jam: https://www.skyminds.net/wp-content/uploads/pearl-jam-indifference.mp4 Intro: Em - Dsus4 - D (4x) Em D Em D I will light the match this mornin', so I won't be alone Em D Em D Watch as she lies silent, for soon light will be gone Em D Em D Oh, I will stand arms outstretched, pretend I'm free to roam Em D Em D Oh, I will make my way, through, one more day...alone... G D Em - Em7 How much difference does it make G D Em - Em7 How much difference does it make, yeah... Em - Dsus4 - D Em D Em D I will hold the candle till it burns up my arm Em D Em D Oh, I'll keep takin' punches until their will grows tired Em D Em D Oh, I will stare the sun down until my eyes go blind Em D Em D Hey, I won't change direction, and I won't change my mind G D Em - Em7 How much difference does it make G D Em - Em7 Mmm, how much difference does it make.. how much difference... Em - Dsus4 - D Em D Em D I'll swallow poison, until I grow immune Em D Em D I will scream my lungs out till it fills this room Très belle chanson. --- ### « If » – by Rudyard Kipling - **URL**: https://www.skyminds.net/if-by-rudyard-kipling/ If you can keep your head when all about youAre losing theirs and blaming it on you,If you can trust yourself when all men doubt you,But make allowance for their doubting too;If you can wait and not be tired by waiting,Or being lied about, don’t deal in lies,Or being hated, don’t give way to hating,And yet don’t look too good, nor talk too wise: If you can dream – and not make dreams your master;If you can think – and not make thoughts your aim;If you can meet with Triumph and DisasterAnd treat those two impostors just the same;If you can bear to hear the truth you’ve spokenTwisted by knaves to make a trap for fools,Or watch the things you gave your life to, broken,And stoop and build ‘em up with worn-out tools: If you can make one heap of all your winningsAnd risk it on one turn of pitch-and-toss,And lose, and start again at your beginningsAnd never breathe a word about your loss;If you can force your heart and nerve and sinewTo serve your turn long after they are gone,And so hold on when there is nothing in youExcept the Will which says to them: ‘Hold on!’ If you can talk with crowds and keep your virtue,‘ Or walk with Kings – nor lose the common touch,if neither foes nor loving friends can hurt you,If all men count with you, but none too much;If you can fill the unforgiving minuteWith sixty seconds’ worth of distance run,Yours is the Earth and everything that’s in it,And – which is more – you’ll be a Man, my son! -- Rudyard Kipling, "If", 1895 --- ### Serveur dédié : mettre à jour Apache pour HTTP/2 - **URL**: https://www.skyminds.net/serveur-dedie-mettre-a-jour-apache-pour-http2/ C'est sur toutes les lèvres : 2015 aura vu l'arrivée de PHP7 et de la révision du protocole HTTP qui passe à la version 2, en remplacement du mod_spdy de Google. Tout cela promet pas mal de gains de performance donc il est très tentant de le vérifier par nous-mêmes. HTTP/2 : une évolution du protocole HTTP Avec HTTP/1.1, la vie des développeurs n'était pas simple. L'optimisation d'un site revenait à plusieurs techniques qui tournaient toutes autour de l'idée de minimiser le nombre de requêtes HTTP vers un serveur d'origine. Un navigateur ne peut ouvrir qu'un nombre limité de connexions TCP simultanées vers une origine et le chargement des ces ressources via chacune de ces connexions est un processus en série : la réponse de chaque ressource doit être retournée avant que la réponse de la ressource suivante ne soit envoyée. C'est ce qu'on appelle le head-of-line blocking. HTTP/2 promet donc des gains de performance d'environ 30%, sans avoir à gérer ni minification ni concaténation dans le processus de création et déploiement des pages. Plus besoin (normalement!) d'optimiser les connexions TCP ou les requêtes HTTP avec la création de sprites, le chargement des ressources directement dans le corps des pages, la concaténation ou la création de sous-domaines pour charger les ressources en parallèle (domain sharding) pour contourner les limitations d'HTTP 1.1. Optimiser pour HTTP/2 Avec HTTP/2, il faut maintenant concentrer les efforts d'optimisation sur les scénarios de cache du site. La nouvelle règle est d'utiliser de petites ressources, granulaires, qui peuvent être mises en cache indépendamment et transférées en parallèle. Ce changement est possible grâce aux nouvelles fonctions de multiplexing et de compression des entêtes d'HTTP/2. Le multiplexing permet à plusieurs requêtes de partager une connexion TCP unique, ce qui permet le chargement de plusieurs ressources en parallèle, sans le délai dû à la création de connexions multiples. Cela élimine le problème d'head-of-line blocking que l'on rencontre avec HTTP/1.1. La compression des entêtes réduit encore davantage la pénalité lors du chargement de plusieurs ressources (requêtes HTTP multiples) puisque l'overhead de chaque requête est plus petit que leur équivalent non compressé en HTTP/1.1. HTTP/2 offre aussi la hiérarchisation des flux (stream prioritization) qui permet aux navigateurs de spécifier dans quel ordre ils souhaitent recevoir les ressources, ainsi que le server push qui laisse le serveur envoyer des ressources supplémentaires par anticipation, alors que le navigateur ne sait pas encore qu'il en aura besoin. Cela implique donc pas mal de changements dans les manières et l'état d'esprit d'optimisation par rapport à HTTP/1.1. Configuration initiale du serveur Mon serveur dédié tourne sur la dernière version stable de Debian qui ne dispose que d'Apache 2.4.10. Or le module http2 ne fonctionne qu'à partir d'Apache 2.4.17. Il va donc falloir mettre Apache à jour ! Nous allons temporairement basculer sur les dépôts sid le temps de mettre à jour Apache et OpenSSL. Apt : passage sur les dépôts sid De manière temporaire, nous éditons le fichier sources.list d'apt: nano /etc/apt/sources.list et nous ajoutons les dépôts... --- ### Histoire des Arts with Mister B. : Louis Aragon - **URL**: https://www.skyminds.net/histoire-des-arts-with-mister-b-louis-aragon/ Cette planche commence à dater un peu mais je me dis que si je ne la sors pas maintenant, elle restera dans un carton pendant très longtemps, avec toutes les chances de ne jamais voir le jour. La scène se passe lors de la journée Histoire des Arts, qui fait partie intégrante des épreuves du Brevet des Collèges. Emma nous parle alors de Louis Aragon: Louis Aragon est un poète, romancier et journaliste français, né le 3 octobre 1897 à Paris et mort le 24 décembre 1982. Il est également connu pour son engagement et son soutien au Parti communiste français de 1930 à sa mort. Avec André Breton, Paul Éluard et Philippe Soupault, il fut l'un des fers de lance du dadaïsme parisien et du surréalisme. Donc bon, non, Louis Aragon ne date pas du Xème siècle... Pour remettre les choses dans le contexte, au Xème siècle, Hugues Capet (940-996), roi des Francs, fonde la dynastie capétienne. --- ### Rammstein – Du Hast (version bossa nova) - **URL**: https://www.skyminds.net/rammstein-du-hast-version-bossa-nova/ Vous êtes-vous déjà demandé à quoi ressemblerait Rammstein arrangé à la mode bossa nova? Et bien Andy Rehfeldt s'est amusé à créer tous les arrangements pour donner naissance à ce mashup totalement surréaliste: https://www.youtube.com/watch?v=PyTqXqRuYq0 Écrit, arrangé, joué, produit par Andy. Et en plus, cela colle parfaitement à la vidéo d'un concert live ! --- ### Fail2Ban: protéger Postfix contre les attaques DoS de types AUTH, UNKNOWN et EHLO - **URL**: https://www.skyminds.net/fail2ban-postfix-attaques-dos-auth-unknown-ehlo/ Aujourd'hui, Jac m'envoie un message pour m'informer que sa redirection email ne fonctionne plus. Je lance donc un terminal et vérifie les logs de Postfix, qui chargent des dizaines de lignes d'erreurs de ce type: Dec 15 16:30:33 mail postfix/smtpd[5912]: connect from static-68-236-203-102.nwrk.east.verizon.net[68.236.203.102]Dec 15 16:30:34 mail postfix/smtpd[5912]: lost connection after AUTH from static-68-236-203-102.nwrk.east.verizon.net[68.236.203.102]Dec 15 16:30:34 mail postfix/smtpd[5912]: disconnect from static-68-236-203-102.nwrk.east.verizon.net[68.236.203.102]Dec 15 16:30:34 mail postfix/smtpd[5908]: connect from static-68-236-203-102.nwrk.east.verizon.net[68.236.203.102]Dec 15 16:30:34 mail postfix/smtpd[5908]: lost connection after AUTH from static-68-236-203-102.nwrk.east.verizon.net[68.236.203.102]Dec 15 16:30:34 mail postfix/smtpd[5908]: disconnect from static-68-236-203-102.nwrk.east.verizon.net[68.236.203.102] Comme vous pourvez le constater, ça débite et ça impacte forcément les ressources du système. Voyons donc comment nous pouvons y mettre un terme. Pré-requis : fail2ban Nous allons utiliser fail2ban, un compagnon très utile pour surveiller les logs et analyser les comportements néfastes à l'aide d'expressions régulières. Je vous invite à relire le guide d'installation de fail2ban. Nouvelle définition dans fail2ban : postfix-auth Nous ajoutons donc une nouvelle définition, [postfix-auth], dans notre fichier jail.local: nano /etc/fail2ban/jail.local On l'ajoute à la fin des déclarations pour les serveurs mails : [postfix-auth] enabled = true filter = postfix.auth action = iptables-multiport[name=postfix, port="http,https,smtp,submission,pop3,pop3s,imap,imaps,sieve", protocol=tcp] # sendmail[name=Postfix, dest=you@mail.com] logpath = /var/log/mail.log Je désactive volontairement l'envoi des notifications, ce serait un comble. Nouveau filtre : postfix.auth.conf Maintenant que nous avons déclaré notre filtre dans fail2ban, passons à l'expression régulière qui va gérer le bannissement. nano /etc/fail2ban/filter.d/postfix.auth.conf On y ajoute: [Definition] failregex = lost connection after (AUTH|UNKNOWN|EHLO) from (.*)\[\] ignoreregex = Cela nous permet de gérer les erreurs AUTH mais aussi UNKNOWN et EHLO, afin de couvrir un large spectre. Redémarrage de fai2ban et Postfix Il ne nous reste plus qu'à relancer les services fail2ban et Postfix: service fail2ban restart service postfix restart A noter que cela prend une bonne minute pour que toutes instances de connexions soient tuées par le filtre. Après deux minutes, nous avons retrouvé le fichier log épuré de tout message d'erreur dont nous avions l'habitude. --- ### Optimiser TCP sous Linux : bons réglages sysctl pour serveur web - **URL**: https://www.skyminds.net/serveur-dedie-optimiser-tcp-linux/ Optimiser TCP sur un serveur dédié peut améliorer la stabilité, la latence et la capacité à absorber beaucoup de connexions. Cependant, les vieux réglages copiés-collés depuis des forums de 2010 font souvent plus de dégâts qu’autre chose. Le cas typique : un serveur web affiche beaucoup de connexions TIME_WAIT, puis quelqu’un recommande de réduire brutalement les timeouts, d’activer tcp_tw_recycle, de désactiver SACK, et de lancer sysctl -p avec la confiance d’un chat devant un aquarium. Aujourd’hui, on va faire mieux : mesurer d’abord, comprendre les états TCP, éviter les options obsolètes, puis appliquer uniquement des réglages adaptés à un serveur web moderne sous Linux. Avant de tuner TCP : mesurez le serveur Avant de modifier le noyau, commencez par regarder l’état réel des connexions. L’ancien outil netstat fonctionne encore sur certaines distributions, mais ss est l’outil moderne fourni par iproute2. Il affiche les statistiques de sockets et donne plus d’informations TCP que netstat. Pour obtenir un résumé rapide : ss -s Pour compter les connexions par état TCP : ss -tan | awk 'NR > 1 {print $1}' | sort | uniq -c | sort -nr Pour lister les ports TCP en écoute : ss -tlnp Pour observer uniquement les connexions HTTP et HTTPS : ss -tan '( sport = :80 or sport = :443 )' Sur un serveur web actif, voir des connexions TIME_WAIT n’a rien d’anormal. TCP garde volontairement certaines connexions fermées pendant un moment pour éviter la confusion entre anciens et nouveaux paquets. Ce n’est donc pas automatiquement un problème. TIME_WAIT : faut-il vraiment s’en débarrasser ? Pas forcément. TIME_WAIT est un état normal du protocole TCP. Il apparaît après la fermeture d’une connexion, notamment pour éviter que des paquets retardés perturbent une future connexion utilisant le même couple IP/port. Le vrai problème n’est pas “j’ai des TIME_WAIT”. Le vrai problème serait plutôt : une explosion anormale du nombre de connexions ; une saturation des ports éphémères ; des erreurs côté application ; une file d’attente SYN saturée ; un reverse proxy ou un backend qui ouvre trop de connexions courtes ; un crawler, un bot ou une attaque qui tape le serveur comme un métronome énervé. Avant de toucher au noyau, vérifiez donc qui génère ces connexions : ss -tan state time-wait | awk 'NR > 1 {print $5}' | sed 's/:[0-9]*$//' | sort | uniq -c | sort -nr | head -30 Si une IP ressort massivement, le problème se règle peut-être mieux avec Nginx, Apache, Fail2ban, CrowdSec, votre WAF, Cloudflare ou une règle firewall. TCP n’a pas vocation à compenser une application mal protégée. Les anciens réglages à ne plus utiliser Commençons par le ménage. Certains réglages que l’on trouvait partout il y a quelques années ne doivent plus être recommandés aujourd’hui. Ne pas utiliser tcp_tw_recycle tcp_tw_recycle était censé recycler plus vite les connexions en TIME_WAIT. Le problème : cette option cassait des connexions légitimes, surtout lorsque plusieurs clients passaient par une même adresse IP, comme derrière du NAT. Sur les noyaux Linux modernes,... --- ### Monkey3 – Once We Were - **URL**: https://www.skyminds.net/monkey3-once-we-were/ Voici un deuxième extrait de l'album "The 5th Sun" du groupe de stoner suisse Monkey3 : https://www.youtube.com/watch?v=vJeoSdTQ44c Toujours aussi lourd, martial, épique mais à la fois empreint de délicatesse et d'un côté presque aérien dans les breaks. C'est un vrai régal de se plonger dans leur univers. Je n'ai pas encore pu les voir cette année... l'année prochaine peut-être?! Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Serveur dédié : installer PHP7 FPM avec FastCGI sous Debian - **URL**: https://www.skyminds.net/serveur-dedie-installer-php7-fpm/ Aujourd'hui, on passe de PHP5 à PHP7 en moins de 20 minutes montre en main sur notre serveur dédié qui tourne sous la version stable de Debian. Pré-requis : les dépôts Dotdeb Avant toute chose, vous devez avoir les dépôts Dotdeb installés dans votre apt. On édite donc la liste des dépôts: nano /etc/apt/sources.list puis on y ajoute : # Dotdeb stable deb http://packages.dotdeb.org stable all deb-src http://packages.dotdeb.org stable all On installe la clé GPG de Dotdeb: wget https://www.dotdeb.org/dotdeb.gpg sudo apt-key add dotdeb.gpg et on met notre liste de paquet à jour : apt-get update && apt-get upgrade Lorsque vous avez complété cette étape, vous êtes prêt à lancer la mise à jour de PHP. Installation de PHP7 Je découpe volontairement cette installation en plusieurs sous-étapes, par souci de clarté. Suppression des paquets PHP5 On commence par supprimer tous les paquets relatifs à PHP5 sur le serveur: apt-get purge php5-* Résultat: The following packages will be REMOVED: libapache2-mod-php5* php-pear* php5* php5-apc* php5-cli* php5-common* php5-curl* php5-dev* php5-fpm* php5-gd* php5-json* php5-mcrypt* php5-mysql* php5-mysqlnd* php5-pecl-http* php5-propro* php5-raphf* php5-ssh2* On garde cette liste sous le coude en cas de problème. Installation des paquets PHP7 On installe les paquets PHP7 qui nous sont nécessaires: apt-get install php7.0 php7.0-fpm php7.0-gd php7.0-mysql php7.0-cli php7.0-common php7.0-curl php7.0-opcache php7.0-json Configuration du module FastCGI On édite notre configuration FastCGI: nano /etc/apache2/mods-available/fastcgi.conf Les chemins des binaires ont changé, leurs noms aussi. Il y a donc deux lignes importantes à modifier dans notre configuration précédente: AddType application/x-httpd-fastphp .php Action application/x-httpd-fastphp /php-fcgi # PHP5 # Alias /php-fcgi /usr/lib/cgi-bin/php5-fcgi # FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -appConnTimeout 10 -idle-timeout 250 -socket /var/run/php5-fpm.sock -pass-header Authorization # PHP7 Alias /php-fcgi /usr/lib/cgi-bin/php FastCgiExternalServer /usr/lib/cgi-bin/php -appConnTimeout 10 -idle-timeout 250 -socket /run/php/php7.0-fpm.sock -pass-header Authorization # Apache 2.4+ Require all granted # Configuration de php.ini On vérifie la configuration de php.ini: nano /etc/php/7.0/fpm/php.ini J'augmente généralement la valeur des directives upload_max_filesize et post_max_size, assigne le bon fuseau horaire à date.timezone et définis session.save_path : upload_max_filesize = 32M post_max_size = 32M date.timezone = Europe/Paris session.save_path = "/tmp" Configuration de PHP-FPM On vérifie que PHP-FPM est bien configuré pour utiliser les sockets : grep -E '^\s*listen\s*=\s*[a-zA-Z/]+' /etc/php/7.0/fpm/pool.d/www.conf Cela doit retourner la valeur suivante: listen = /run/php/php7.0-fpm.sock Si ce n'est pas le cas, on édite la configuration de PHP-FPM : nano /etc/php/7.0/fpm/pool.d/www.conf et on met à jour le fichier avec les directives suivantes: [www] listen = /run/php/php7.0-fpm.sock user = www-data group = www-data pm = dynamic pm.max_children = 20 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 10 Redémarrage des services Il ne vous reste plus qu'à redémarrer Apache et PHP-FPM : service apache2 restart service php7.0-fpm restart Voici la version de PHP7 installée: php -version Résultat : PHP 7.0.0-1~dotdeb+8.1 (cli) NTS Copyright (c) 1997-2015 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies Au cas où PHP7 pose problème : le downgrade vers PHP5 Si jamais PHP7 vous pose des problèmes de compatibilité, vous pouvez toujours remettre PHP5 et retrouver votre configuration initiale. Suppression de... --- ### 8 règles d’or pour bien déployer DNSSEC et DANE - **URL**: https://www.skyminds.net/8-regles-dor-pour-bien-deployer-dnssec-et-dane/ Vous avez sécurisé votre domaine avec DNSSEC et DANE ? Très bien ! Il a cependant quelques petites choses à garder à l'esprit pour anticiper les difficultés et bien gérer la maintenance. De la rigueur dans la gestion des enregistrements DS (DNSSEC) et TLSA (DANE) Les enregistrements au niveau du DNS sont à manipuler avec précaution, ce ne sont pas le genre de choses que l'on peut configurer une bonne fois pour toute. On ne publie pas des enregistrements DS (DNSSEC) et TLSA (DANE) par effet de mode. Les zones DNSSEC doivent être signées régulièrement et les enregistrements TLSA mis à jour en cas de changement de certificats TLS. Si la maintenance n'est pas assurée correctement, le domaine risque d'être injoignable. Automatiser la signature de la zone DNS Vous devez absolument mettre en place un crontab qui signe votre zone DNS automatiquement et vous informe du bon fonctionnement de votre zone. Mettre à jour les enregistrements TLSA avant la chaine de certificat du serveur Vous devez absolument mettre à jour les enregistrements TLSA avant de mettre à jour la chaine de certificat du serveur (déploiement de nouvelles clés ou utilisation d'un nouveau certificat TLS issu par une autorité de certification). Lorsque vous mettez à jour votre certificat, vous devez garder les anciens enregistrements TLSA dans votre fichier de zone et ajouter les nouveaux enregistrements TLSA. Les anciens et les nouveaux doivent donc coexister, le temps que les enregistrements DNS soient mis à jour, après quelques TTLS (quelques jours seulement). Par exemple, la key1 est déployée initialement sur le serveur : _25._tcp.mail.example.com. IN TLSA 3 0 1 On ajoute la nouvelle clé key2 pendant quelques jours, juste derrière la key1 : _25._tcp.mail.example.com. IN TLSA 3 0 1 _25._tcp.mail.example.com. IN TLSA 3 0 1 Après le déploiement de la key2, on supprime la key1 : _25._tcp.mail.example.com. IN TLSA 3 0 1 SMTP : choisir le bon type d'enregistrement TLSA Pour le SMTP, l'usage du certificat pour l'enregistrement TLSA doit être soit DANE-TA(2) or DANE-EE(3). Les usages PKIX-TA(0) et PKIX-EE(1) ne sont pas supportés. Un sélecteur et un hash TLSA valides Attention à bien vérifier que le sélecteur TLSA est bien valide et que le hash de l'enregistrement TLSA est bien celui du certificat. Il vaut mieux extraire ce hash depuis le certificat TLS en ligne de commande. Le hash TLSA doit être généré uniquement à partir de la forme binaire ASN.1 DER du certificat ou de la clé publique (au format SPKI) et non dans un autre format. La disponibilité sélective de STARTTLS La disponibilité sélective de STARTTLS n'est pas compatible avec DANE. Il faut donc s'assurer que STARTTLS est toujours activé ou que les enregistrements TLSA pour DANE ne sont pas publiés pour ce domaine. Autoriser les requêtes TLSA dans le parefeu Si le domaine est validé par DNSSEC, il faut s'assurer que le parefeu autorise les requêtes TLSA à joindre le serveur de nom de domaine, sur tous les types d'adresses, en IPv4 comme IPv6. Implémentation partielle DANE ne protège votre domaine que si... --- ### In lycée with Mister B. : roadrunner - **URL**: https://www.skyminds.net/in-lycee-with-mister-b-roadrunner/ Cette scène se passe à la fin d'un cours de seconde. Alors qu'il ne reste que quelques secondes avant la sonnerie, une élève m'interpelle et m'annonce qu'elle m'a vu dans la rue. Je souris, l'écoute, et obtiens ceci : Hilarité générale de la classe. Ils aiment bien se moquer gentiment de leurs professeurs. J'ai bien ri avec eux. Et, je l'avoue, je n'ai rien eu d'intelligent à redire... juste rire ! They just pwned me ! :) --- ### Serveur dédié : mise en place du protocole DANE - **URL**: https://www.skyminds.net/serveur-dedie-mise-en-place-du-protocole-dane/ Aujourd'hui, je vous montre comment mettre en place le protocole DANE sur votre serveur. En pré-requis, votre domaine doit: être servi en HTTPS avec un certificat TLS valide,être signé par DNSSEC. Cela prend environ 20 minutes à configurer, auxquelles s'ajouteront quelques heures afin que la résolution DNS avec les changements soit complète. DANE : l'authentification TLS sans autorité de certification DANE (DNS-based Authentication of Named Entities) est un protocole qui permet aux certificats X.509 - généralement utilisés pour TLS - d'être liés au DNS en s'appuyant sur DNSSEC. L'IETF a défini DANE dans la RFC 6698 comme un moyen d'authentifier des clients TLS et des serveurs sans passer par une autorité de certification (AC). Cette démarche s'enregistre dans une logique de sécurisation des accès clients-serveurs pour d'une part sécuriser les requêtes DNS effectuées depuis les postes clients au travers des protocoles/mécanismes DNSSEC et TLS, et d'autre part mieux sécuriser les accès chiffrés des clients vers le serveurs. Le chiffrement TLS est actuellement basé sur des certificats qui sont délivrés par des Autorités de Certification (AC ou Certificate Authority, CA en anglais). Or, ces dernières années ont vu un certain nombre d'AC qui ont souffert de sérieux problèmes d'intrusions et de failles de sécurité, ce qui a permis la délivrance de certificats pour des sites très connus à des personnes qui ne détenaient pas ces domaines. Faire confiance à un large nombre d'Autorités de Certification peut être un problème, étant donné que n'importe laquelle d'entre elles, si elle est compromise, pourrait délivrer un certificat pour n'importe quel nom de domaine. Le protocole DANE permet à l'administrateur d'un nom de domaine de certifier les clés utilisées dans les clients ou serveurs TLS de ce domaine en les insérant au niveau du DNS. DANE a donc besoin que les enregistrements DNS soient signés avec DNSSEC pour que son modèle de sécurité fonctionne. De surcroit, DANE permet à l'adminstrateur du domaine de spécifier quelle autorité de certification est autorisée à délivrer des certificats pour une ressource particulière, ce qui résoud le problème des autorités de certification qui sont capables de délivrer des certificats pour n'importe quel nom de domaine. Les enregistrements TLSA DANE utilise des enregistrements TLSA, qui incluent l'empreinte du certificats X.509 qui protège un nom de domaine. Nous devons tout d'abord générer cet enregistrement TLSA en nous basant sur le certificat installé sur notre serveur. Ensuite, cet enregistrement TLSA sera ajouté à notre zone DNS. Anatomie d'un enregistrement TLSA Un enregistrement TLSA se présente sous cette forme : _PORT._PROTOCOL.URI. 3600 IN TLSA (3 0 1 HASH) Décortiquons en détail ce que tout cela signifie : _PORT._PROTOCOL. indique le port et le protocole sur lesquels tourne le service qui va être authentifié par DANE. Exemple: _443._tcp.URI est l'adresse de notre service. Exemple: www.skyminds.net.3600 correspond à la mise en cache de notre enregistrement TLSA, soit 3600 secondes, Les chiffres 3 0 1 correspondent à la valeur de différents champs: le champs Usage : 0 - PKIX-TA: Certificate Authority Constraint1 - PKIX-EE: Service Certificate Constraint2... --- ### Happy Valley saison 1 - **URL**: https://www.skyminds.net/happy-valley-saison-1/ Voici Happy Valley, une excellente mini-série anglaise diffusée sur BBC One. À Nestling, dans la région des vallées du Yorkshire, le sergent de police Catherine Cawood, divorcée, vit avec sa soeur et son petit-fils, qu'elle élève. Catherine s'est secrètement promis de venger sa fille, qui s'est suicidée huit ans plus tôt après un viol dont elle ne s'était jamais remise. Alors qu'elle semble finalement reprendre le dessus, elle apprend que Tommy Lee Royce, l'homme qu'elle juge responsable de ce suicide, sort de prison ayant purgé une peine pour d'autres faits. Elle devient rapidement obsédée par l'idée de se confronter à lui, ignorant qu'il est impliqué dans une organisation criminelle visant à enlever une jeune femme afin d'en obtenir une rançon. La série est vraiment très bien construite et le suspense est au rendez-vous. La BBC a confirmé la production d'une deuxième saison qui devrait être diffusée en 2016. Grandement recommandée ! Cette première saison comporte six épisodes d'une heure chacun. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Kurt Vile – Pretty Pimpin - **URL**: https://www.skyminds.net/kurt-vile-pretty-pimpin/ Kurt Samuel Vile est un auteur-compositeur multi-instrumentaliste qui a fondé le groupe d'indie rock The War on Drugs, avec lequel il a enregistré un album avant de se consacrer à sa carrière solo. Voici "Pretty Pimpin", une chanson plutôt entêtante: https://www.youtube.com/watch?v=659pppwniXA Kurt Vile, qui arbore fièrement un look des années 70 avec ses cheveux longs et son look old-school, est influencé par Pavement, Bruce Springsteen, Neil Young, Tom Petty, et John Fahey. En studio et lors des concerts, Kurt Vile est accompagné de son groupe, the Violators, qui inclut Jesse Trbovich (basse, guitare, saxophone), Rob Laakso (guitare, basse) et Kyle Spence (batterie). Le single "Pretty Pimpin" est à retrouver sur le sixième album studio de Kurt Vile, intitulé B'lieve I'm Goin Down... et sorti le 25 septembre 2015 chez Matador Records. Voir Synology : corriger “rsync permission denied” sur Amazon Chaudement recommandé ! --- ### PHP : nettoyer les attributs HTML avec DOMDocument et wp_kses - **URL**: https://www.skyminds.net/php-script-supprimer-certains-attributs-de-tags-html/ J’ai eu besoin récemment de contrôler les attributs de certains liens affichés sur le blog, notamment ceux fournis par des sites tiers, des régies publicitaires, des sponsors ou des contenus embarqués. Le problème est simple : certains fragments HTML arrivent avec des attributs inutiles, obsolètes, gênants ou franchement inadaptés. On peut trouver du style inline partout, des classes inutiles, des attributs propriétaires, ou encore des liens forcés en target="_blank". Dans certains cas, cela casse la cohérence du site. Dans d’autres, cela perturbe la navigation, ouvre des fenêtres ou onglets supplémentaires sans raison, ou rend le code HTML plus lourd que nécessaire. J’avais donc écrit un petit script PHP pour supprimer certains attributs de tags HTML. La première version utilisait une expression régulière. Elle avait le mérite d’être courte, mais elle mérite aujourd’hui une version plus robuste. La première approche : supprimer des attributs avec une regex Voici l’idée de départ : on définit une liste d’attributs à retirer, puis on parcourt le HTML pour supprimer ces attributs partout où ils apparaissent. --- ### Arcade Fire – My Body is a Cage - **URL**: https://www.skyminds.net/arcade-fire-my-body-is-a-cage/ Voici un clip vidéo intitulé "A Rain of Sadness" et réalisé par Anthony Taieb qui met en scène la musique "My Body is a Cage" du groupe canadien Arcade Fire : https://www.youtube.com/watch?v=DXr3CCQPxJY Ce clip est tout simplement magnifique et colle très bien à l'ambiance de la chanson et à son univers à la fois écorché et grandiloquent. On peut y reconnaitre quelques extraits de films tels que "La fille sur le pont" de Patrice Leconte, "Blade Runner" de Ridley Scott, "Matrix Revolution" des frères Wachowski, et "Singin' in the Rain" de Stanley Donen et Gene Kelly. On peut également retrouver quelques images qui proviennent du clip vidéo pour la chanson "Stranger in Moscow" de Mickael Jackson. --- ### Ubuntu : installer GNOME Flashback pour retrouver un bureau classique - **URL**: https://www.skyminds.net/ubuntu-installer-bureau-gnome-classic-unity/ J’ai récemment installé Ubuntu sur un ordinateur portable, avec l’envie de retrouver un bureau simple, rapide et classique. Ubuntu utilise aujourd’hui GNOME comme environnement de bureau par défaut, après avoir longtemps utilisé Unity. L’interface moderne convient très bien à beaucoup d’utilisateurs, mais elle ne plaît pas forcément à ceux qui préfèrent une organisation plus traditionnelle, avec des menus, un panneau supérieur, une liste d’applications claire et moins d’effets visuels. Si vous venez d’un vieux GNOME 2, d’un ancien Ubuntu, de MATE, de Xfce ou d’un environnement plus sobre, GNOME Flashback peut être une excellente option. GNOME Flashback fournit une session basée sur GNOME 3, mais avec une expérience proche de GNOME 2. Le projet GNOME explique qu’il s’appelait auparavant GNOME Fallback et qu’il propose une interface similaire aux sessions GNOME 2.x, tout en utilisant GTK 3 et des composants GNOME récents. Voir la page GNOME Flashback. Voici comment l’installer sur Ubuntu, puis le sélectionner à l’ouverture de session. GNOME Flashback, c’est quoi exactement ? GNOME Flashback est une session de bureau qui reprend l’esprit de GNOME 2 : menus classiques, panneaux, applets et gestionnaire de fenêtres plus traditionnel. Elle ne réinstalle pas vraiment GNOME 2. Elle propose plutôt une expérience similaire avec des briques plus modernes. Le paquet GNOME Flashback s’appuie notamment sur gnome-panel, gnome-applets, gnome-flashback et metacity. Le dépôt GNOME décrit d’ailleurs GNOME Flashback comme une session et une application d’assistance utilisant Metacity et les modules nécessaires à une session GNOME. Voir la description du projet GNOME Flashback. En clair, GNOME Flashback s’adresse aux utilisateurs qui veulent un bureau plus direct, plus léger visuellement, et moins orienté “vue d’ensemble” que GNOME Shell. Pas forcément plus moderne dans l’apparence. Mais parfois, un menu Applications qui fait ce qu’il dit, c’est déjà une petite victoire civilisationnelle. GNOME Flashback, GNOME Classic, MATE : quelles différences ? Les noms prêtent facilement à confusion. GNOME Flashback : session GNOME 3 qui imite l’expérience GNOME 2 avec panneaux et Metacity ; GNOME Classic : mode officiel de GNOME Shell qui modifie l’interface de GNOME moderne ; MATE : fork historique de GNOME 2, devenu un environnement complet ; Cinnamon : environnement moderne développé à l’origine par Linux Mint ; Xfce : bureau léger, stable et très configurable. La documentation Ubuntu-fr précise que GNOME Classic et GNOME Flashback ne sont pas exactement la même chose : GNOME Classic est une session GNOME Shell, tandis que GNOME Flashback reprend une organisation plus proche de GNOME 2.x. Voir la documentation Ubuntu-fr sur GNOME Flashback. Si vous cherchez une expérience classique sans changer complètement de distribution, GNOME Flashback est donc une solution simple. Si vous voulez un bureau classique plus complet et assumé, Ubuntu MATE peut aussi être très pertinent. Installer GNOME Flashback sur Ubuntu Pour installer GNOME Flashback, mettez d’abord à jour la liste des paquets : sudo apt update Installez ensuite le paquet gnome-session-flashback : sudo apt install gnome-session-flashback La documentation communautaire Ubuntu indique également cette méthode d’installation pour obtenir la session GNOME Flashback, avec les variantes Metacity ou... --- ### Android et iPhone: pack de 300 sonneries folk, rock, hard-rock et metal pour votre smartphone - **URL**: https://www.skyminds.net/android-iphone-300-sonneries-folk-rock-metal/ J'aime bien changer ma sonnerie de smartphone de temps à autre, histoire d'éviter la lassitude et les réflexes pavloviens. Petit à petit, ma collection de sonneries a grandi jusqu'à atteindre plus de 300 sonneries au format m4a et je me suis dit que cela pourrait vous intéresser. Au menu, vous trouverez donc des sonneries des styles musicaux que j'affectionne : cela va du folk au rock et hard-rock en passant par le metal. Il devrait y en avoir pour tous les goûts, du moment que vous êtes plutôt rock (voire classic rock). Télécharger le pack de sonneries Le pack contient pour l'instant 304 sonneries, qui font 30 secondes maximum donc taillées pour les appels vocaux. Vous pouvez télécharger gratuitement le pack en cliquant sur le bouton suivant: Télécharger le pack de sonneries Installation des sonneries sur votre mobile Android Si vous avez un téléphone Android, vous pouvez suivre le tutoriel Android : personnaliser les sonneries et sons des notifications de votre smartphone ou alors suivre la marche à suivre suivante : Copiez les sonneries de votre choix dans /media/audio/ringtones pour les sonneries d'appel, Ou dans /media/audio/alarms pour les sonneries d'alarmes. Ensuite, il suffit de choisir et définir votre sonnerie dans Paramètres > Sons. Installation des sonneries sur votre iPhone Si vous possédez un iPhone, il suffit de renommer les fichiers m4a en fichiers m4r et de suivre le tutoriel Ajouter des sonneries à un iPhone. Enjoy! --- ### Simon O’Brien, rider BMX flatland et la Nosebleed Section (Hilltop Hoods) - **URL**: https://www.skyminds.net/simon-obrien-rider-bmx-flatland/ Aujourd'hui, j'ai envie de parler de BMX et de hip-hop australiens ! Simon O’Brien, rider BMX flatland En guise d'introduction, je vous propose ce clip de l'australien Simon O'Brien, un rider BMX flatland (qui roule sur du plat) : https://www.youtube.com/watch?v=gdokDdSwflA Simon O'Brien (né le 18 septembre 1979) est l'un des meilleurs flatlander australien du moment. Il a remporté la médaille d'or des American X Games ainsi que les Australia's BMX Games deux années de suite. J'adore ce genre de figures. Hilltop Hoods - The Nosebleed Section En ce qui concerne la musique, The Nosebleed Section est une chanson de Hilltop Hoods, un groupe de hip-hop d'Adélaide constitué de MCs Suffa (Matt Lambert), Pressure (Daniel Smith), DJ Debris (Barry Francis). Si vous tendez l'oreille, vous pourrez reconnaître deux samples : le premier sert au chorus et au rythme tout au long de la chanson, il s'agit de The People In The Front Row par Melanie Safka : I looked around for faces I'd know,I fell in love with the people in the front row, oh how......Put me here, and I'm all yours,It's not for the money and it's not for the applause, no. Le second sample est celui que j'ai immédiatement reconnu : il s'agit d'une ligne des paroles de These Days par Powerfinger, un groupe rock de Sydney. This life turned out nothing like I had planned. C'est d'ailleurs lorsque j'étais en Australie que je les ai découverts, au siècle dernier. Le genre de groupe qui n'a pas percé de manière internationale mais qui, soyons honnêtes, aurait franchement dû tant ils sont bons. L'expression "nosebleed section" peut être une référence aux premiers rangs des salles de concert, souvent sujets aux saignements de nez (lors des pogos par exemple), ou alors au volume sonore démesuré près de la scène, qui peut causer des saignements de l'oreille. --- ### Postfix : corriger l’erreur SASL _sasl_plugin_load failed pour le plugin SQL - **URL**: https://www.skyminds.net/postfix-resoudre-erreur-sasl-for-plugin-sql/ Sur un serveur mail, les erreurs SASL dans les logs Postfix peuvent vite donner envie de fermer le terminal et d’aller vivre dans une forêt sans SMTP. Mauvaise nouvelle : les arbres ne relaient pas les mails. Bonne nouvelle : cette erreur se diagnostique proprement. Le message typique ressemble à ceci : Oct 10 11:35:05 mail postfix/smtpd[18553]: sql_select option missing Oct 10 11:35:05 mail postfix/smtpd[18553]: auxpropfunc error no mechanism available Oct 10 11:35:05 mail postfix/smtpd[18553]: _sasl_plugin_load failed on sasl_auxprop_plug_init for plugin: sql L’ancien réflexe consistait parfois à commenter smtpd_sasl_path = private/auth dans Postfix. Aujourd’hui, ce n’est pas une bonne recommandation générique. Cette ligne est indispensable dans une configuration Postfix + Dovecot SASL classique. La bonne méthode consiste d’abord à répondre à une question simple : Postfix utilise-t-il Cyrus SASL ou Dovecot SASL ? Comprendre le rôle de SASL dans Postfix SASL sert à gérer l’authentification SMTP, notamment pour les utilisateurs qui envoient du courrier via le port de soumission 587. C’est ce qui permet à un client mail de s’authentifier avant d’envoyer un message. Postfix ne vérifie pas forcément lui-même les mots de passe. Il délègue cette partie à une implémentation SASL. Les deux cas les plus courants sont : Backend SASLUsageConfiguration typiqueDovecot SASLPostfix réutilise l’authentification Dovecotsmtpd_sasl_type = dovecot et smtpd_sasl_path = private/authCyrus SASLPostfix utilise la bibliothèque Cyrus SASLsmtpd_sasl_type = cyrus ou valeur par défaut selon distribution L’erreur sasl_auxprop_plug_init for plugin: sql concerne généralement Cyrus SASL et son plugin SQL, pas Dovecot SASL. Étape 1 : vérifier le support SASL de Postfix Commencez par voir quelles implémentations SASL sont disponibles dans votre Postfix : postconf -a Exemple de sortie : cyrus dovecot Si vous voyez dovecot, Postfix peut utiliser la socket d’authentification Dovecot. Si vous voyez cyrus, Postfix peut utiliser Cyrus SASL. Vous pouvez aussi vérifier le support SASL côté client SMTP/LMTP : postconf -A Pour cette erreur précise, le plus important reste le serveur SMTP Postfix, donc postconf -a. Étape 2 : lire la configuration SASL active Affichez les paramètres SASL actifs de Postfix : postconf -n | grep -i sasl Cas Dovecot SASL attendu : smtpd_sasl_auth_enable = yes smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth Cas Cyrus SASL possible : smtpd_sasl_auth_enable = yes smtpd_sasl_type = cyrus Si vous utilisez Dovecot, ne commentez pas smtpd_sasl_path = private/auth. Cette valeur indique à Postfix où trouver la socket d’authentification créée par Dovecot, généralement sous /var/spool/postfix/private/auth. Cas recommandé : Postfix avec Dovecot SASL Sur beaucoup de serveurs mail modernes, Dovecot gère déjà l’authentification IMAP/POP. Il est donc logique de le réutiliser pour SMTP AUTH dans Postfix. Configuration Postfix typique dans /etc/postfix/main.cf : smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = $myhostname Dans Dovecot, la socket doit être exposée pour Postfix. Exemple dans la configuration Dovecot : service auth { unix_listener /var/spool/postfix/private/auth { mode = 0660 user = postfix group = postfix } } auth_mechanisms = plain login Ensuite, rechargez les services : sudo systemctl reload dovecot sudo systemctl reload postfix Ou redémarrez si vous venez de changer... --- ### Johnny Cash – I Hung My Head - **URL**: https://www.skyminds.net/johnny-cash-i-hung-my-head/ "I Hung My Head" est une chanson écrite par Sting en 1996. Il écrit cette chanson pour se souvenir de son enfance, quand il était fan des films de western qui passaient à la télévision. En 2002, Johnny Cash reprend cette chanson sur l'album American IV: The Man Comes Around. La chanson raconte l'histoire d'un jeune homme qui tue quelqu'un par accident, avec les émotions qu'il ressent et les conséquences que son acte va entraîner. https://www.youtube.com/watch?v=0M53FcPoWtA Voici comment la jouer à la guitare : Intro - C, F handful of times [C]Early one morning With [F]time to kill I [Am]borrowed Jeb's rifle And [F]sat on the hill I [C]saw a lone rider [F]Crossing the plain I [Am]drew a bead on him To [F]practice my aim [Dm]My brother's rifle Went [G]off in my hand A shot rang out [C]Across the land The [F]horse he kept running The [Am]rider was dead I [C]hung my head I [F]hung my head [C] [C]I set off running To [F]wake from the dream [Am]My brother's rifle Went [F]into the stream [C]I kept on running [F]Into the salt lands And [Am]that's where they found me My [F]head in my hands The [Dm]sheriff he asked me [G]Why had I run Then it came to me Just [C]what I had done And [F]all for no reason Just [Am]one piece of lead I [C]hung my head I [F]hung my head [C] [C]Here in the courthouse The [F]whole town is there [Am]I see the judge High [F]up in his chair "Ex[C]plain to the courtroom What [F]went through your mind And [Am]we'll ask the jury What [F]verdict they find" I said [Dm]"I felt the power Of [G]death over life I orphaned his children I [C]widowed his wife I [F]beg their forgiveness I [Am]wish I was dead" I [C]hung my head, I [F]hung my head I [C]hung my head, I [F]hung my head [C] [C]Early one morning With [F]time to kill [Am]I see the gallows [F]Up on the hill And [C]out in the distance A [F]trick of the brain I [Am]see a lone rider [F]Crossing the plain [Dm]And he's come to fetch me To [G]see what they done We'll ride together [C]'Til kingdom come I [F]pray for God's mercy For [F]soon I'll be dead I [C]hung my head, I [F]hung my head I [C]hung my head, I [F]hung my head I [C]hung my head, I [F]hung my head L'histoire est racontée du point de vue d'un jeune homme qui emprunte le fusil de son frère. Il aperçoit un cavalier au loin dans la plaine et l'observe depuis la lunette de son fusil ("I drew a bead on him; to practice my aim.") lorsque celui-ci se décharge d'un coup, tuant le cavalier. L'homme court vers les marais salants et jette le fusil dans la rivière (la version de Johnny Cash change "salt lands" en "south lands", et "stream" to "sheen"). Il est appréhendé par un shérif et réalise ce qu'il vient de commettre. Il est amené au tribunal devant un juge et des jurés,... --- ### Serveur dédié : mettre en place DNSSEC pour sécuriser les DNS du domaine - **URL**: https://www.skyminds.net/serveur-dedie-mettre-en-place-dnssec/ Aujourd'hui, nous allons mettre en place DNSSEC afin d'ajouter une couche de sécurité supplémentaire dans la gestion des DNS de notre domaine. Principe de fonctionnement du DNS Le DNS (Domain Name System) est un maillon clé du fonctionnement d’Internet car la quasi-totalité des services en ligne utilisent des noms de domaine à un moment ou à un autre. Le DNS est organisé sous la forme d’une arborescence inversée, avec une « racine » dont dépendent les différentes « branches ». Au premier niveau de l’arborescence se trouvent les « Top Level Domains » (TLD) ou domaines de premier niveau, comme les .fr, .com, .net etc. Au second niveau, nous avons les noms de domaine « classiques » comme « skyminds.net ». Fonctionnant comme une base de données distribuée sur des millions de machines, le DNS repose sur des interactions entre ces machines permettant d’identifier celle qui est la plus susceptible de pouvoir répondre à la requête d’un internaute. Dans l’exemple ci-dessus, l’utilisateur veut se connecter au site http://www.wikipedia.fr. Il envoie sa requête via son navigateur. Celle-ci est reçue par un serveur dit « résolveur » qui a pour première mission d’identifier la machine sur laquelle est installé le nom de domaine wikipedia.fr. Le résolveur s’adresse d’abord à la « racine » du DNS, qui lui indique quels sont les serveurs « faisant autorité » (c’est-à-dire compétents) pour .fr puisque le nom de domaine est en .fr. Dans un second temps, les serveurs du .fr indiquent à leur tour au résolveur que le nom de domaine wikipedia.fr est hébergé sur tel serveur. Celui-ci est alors en mesure d’indiquer au navigateur l’adresse IP du serveur web hébergeant les contenus du site web www.wikipedia.fr. Ce schéma se vérifie quel que soit le site web auquel on souhaite accéder. DNSSEC : authentifier l'origine et l'intégrité des données DNSSEC, acronyme de Domain Name System Security Extensions, désigne un ensemble défini d’extensions de sécurité du protocole DNS, standardisé par l'IETF dans la RFC 4033. DNSSEC signe cryptographiquement les enregistrements DNS et met cette signature dans le DNS. Ainsi, un client DNS méfiant peut récupérer la signature et, s'il possède la clé du serveur, vérifier que les données sont correctes. Cela permet de s’assurer que les données obtenues par résolution DNS proviennent de la zone légitime du nom de domaine (authentification de l’origine des données) et que les données ne sont pas altérées lors du transfert (intégrité des données). Ces extensions de sécurité font de DNSSEC une composante essentielle des communications Internet qui nécessitent un haut niveau de confiance dans l’infrastructure DNS. DNSSEC utilise un mécanisme reposant sur une paire de clés ayant des rôles complémentaires. La première clé, privée, crée une signature par chiffrement; alors que la seconde clé, publique, vérifie les signatures par déchiffrement: Contrairement à d'autres protocoles comme SSL/TLS, DNSSEC ne sécurise pas juste un canal de communication mais il protège les données et les enregistrements DNS, de bout en bout. Ainsi, il est efficace même lorsqu'un serveur intermédiaire trahit l'intégrité des données (DNS... --- ### Don Alder – Dancing with Spin Doctors - **URL**: https://www.skyminds.net/don-alder-dancing-with-spin-doctors/ Don Alder, Donald L. Alder, est un guitariste canadien qui maîtrise le fingerstyle. Voici sa chanson Dancing with Spin Doctors: https://www.youtube.com/watch?v=SNVyuK_0hdM Il a commencé à jouer de la guitare à l'âge de 11 ans et c'est lui qui a joué la chanson "Space Oddity" de David Bowie en avril 2014 avec l'astronaute et commandeur de la Station Internationale Chris Hadfield. Don Alder joue aussi de la guitare-harpe, que l'on peut d'ailleurs voir au second plan dans la vidéo. --- ### Recette de la gaufre française - **URL**: https://www.skyminds.net/recette-de-la-gaufre-francaise/ Voici la recette de la gaufre française. Ingrédients 250g de farine,1 pincée de sel,100g de sucre en poudre,9 œufs,3 cuillerées à soupe de crème,1 verre de liqueur de cognac,125 g de beurre fondu. Préparation Mélanger la farine, le sel, le sucre et les 5 œufs.Puis, quand le mélange est lisse, ajouter un à un les 4 œufs restants puis la crème, le cognac, et le beurre fondu.Enfin, monter en neige les blancs des 4 œufs et incorporer au mélange. Notes Servir avec du chocolat chaud et une boule de glace vanille. --- ### Narcos saison 1 - **URL**: https://www.skyminds.net/narcos-saison-1/ Narcos est une série télévisée américaine créée par Chris Brancato, Carlo Bernard et Doug Miro, et réalisée par José Padilha pour Netflix. À la tête du cartel de Medellín, Pablo Escobar est le plus célèbre trafiquant de drogue des années 1980. Son organisation criminelle qui domine le marché mondial de la cocaïne est impitoyablement pourchassée par les agents de DEA (Drug Enforcement Administration) et par les autorités colombiennes. Deux agents de la DEA, Steve Murphy et Javier Peña, participent en Colombie à cette lutte contre le cartel et à la traque de Pablo Escobar. Le Brésilien Wagner Moura s’est installé en Colombie six mois avant le tournage pour s’imprégner de l’ambiance et pour apprendre l’espagnol qu’il ne pratiquait pas du tout. Il a pris 10 kg pour s’approcher du physique de Pablo Escobar. Les agents de la DEA Steve Murphy et Javier Peña ont réellement existé. Boyd Holbrook et Pedro Pascal qui les interprètent à l’écran ont passé une journée avec eux au centre de formation de la DEA. Ils ont conseillé les scénaristes sur la chronologie des faits et nombre de détails. Pour Javier Peña il s'agissait de leur décrire « le mensonge, la corruption, le sexe, l'amour...» qui ont fait la trame de la vie de Pablo Escobar et de sa traque. Malgré l’aversion du public nord-américain pour les sous-titres, Netflix a choisi de faire parler en espagnol les Colombiens qui échangent entre eux. C'est aussi un coup marketing puisque 55 millions d’hispaniques vivent aux États-Unis, sans compter l’international avec un marché sud-américain en pleine croissance. Le public colombien s’est quant à lui amusé et agacé de l’accent des acteurs de la série, étant donné qu'ils ne sont pas natifs de Colombie. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Concert Autour de la Guitare au Zénith de Nantes - **URL**: https://www.skyminds.net/concert-autour-de-la-guitare-zenith-nantes/ Samedi soir, je suis allé au concert "Autour de la Guitare", organisé par Jean-Felix Lalanne au Zénith de Nantes, en compagnie de mes parents. Cela a été l'occasion de voir jouer Robben Ford, Larry Carlton, Christopher Cross, Ron "Bumblefoot" Thal, Paul Personne, Axel Bauer, Dan Ar Braz, Norbert Nono Krief et Michael Jones. Ron Thal qui reprend Jump de Van Halen avec sa guitare double-manche (dont l'un est fretless): https://www.youtube.com/watch?v=nPe7bmkqNm4 Ron Thal a été - entre autres - guitariste pour les Guns'n'Roses (période Axl Rose) de 2006 à 2014. La formule est plutôt surprenante : ce n'est pas un concert comme on en a l'habitude mais plus un spectacle. Les musiciens sont régulièrement interrompus par la stagiaire de Lalanne qui lui passe le téléphone ou demande aux musiciens de jouer moins fort ! C'est très spécial, on a l'impression d'être dans un voyage organisé pour une maison de retraite, avec des coupures à tout bout de champ pour garder l'attention du public. J'ai trouvé Dan Ar Braz et Paul Personne vraiment en-dessous des autres. Robben Ford et Larry Carlton ont été impeccables, vraiment impressionnants. Robben Ford fait preuve d'une maîtrise et d'une versatilité de jeu d'un style à l'autre vraiment remarquables. Ron Thal et la Panthère Rose: https://www.youtube.com/watch?v=ufy86DIyPv0 Christopher Cross - Ride Like the Wind : https://www.youtube.com/watch?v=X0QJ111ZuxE Christopher Cross - Sailing: https://www.youtube.com/watch?v=uir-wVxbYM4 Christopher Cross a très bien chanté, Michael Jones aussi. Je ne trouve pas de vidéos pour la prestation de Robben Ford, c'est bien dommage. Axel Bauer joue lui aussi très bien, j'ai été très impressionné par son jeu. Un bon concert au final, on a passé un super moment. --- ### Serveur dédié : produire une meilleure réserve d’entropie avec haveged - **URL**: https://www.skyminds.net/serveur-dedie-entropie-haveged/ Sur notre serveur dédié, nous avons parfois besoin de générer des nombres aléatoires avec une forte entropie, par exemple lorsque l'on génère une clé SSH, un certificat SSL/TLS ou une clé pour DNSSEC. Aujourd'hui, je vous propose donc un article un petit peu plus théorique, qui nous permettra d'améliorer la qualité des données aléatoires et l'entropie générale de notre serveur. On commence donc par la théorie et on enchaîne sur la partie technique. L'entropie ou le caractère aléatoire sous Linux Le chiffrement est basé sur deux facteurs principaux : les nombres premiers et les nombres aléatoires. Sous Linux, les nombres aléatoires sont générés par le pseudo random number generator (PRNG) qui génère des données aléatoires depuis les interruptions matérielles (clavier, souris, accès disque, accès réseau...) et depuis d'autres sources provenant du système d'exploitation. Une interruption matérielle (en anglais Interrupt ReQuest ou IRQ) est une interruption déclenchée par un périphérique d'entrée-sortie d'un microprocesseur ou d'un microcontrôleur. Ce caractère aléatoire ou aléa, que l'on désigne sous le terme entropie, est utilisé principalement pour le chiffrement comme SSL/TLS mais peut aussi avoir plein d'utilisations pratiques (génération de mots de passe, de clés, de chaînes de caractères aléatoires...). Par exemple, prenons un jeu de dés virtuels : l'entropie permettrait d'améliorer la qualité de l'aléa pour ne pas tomber toujours sur les mêmes nombres. Il existe deux grands outils aléatoires sous Linux : /dev/random et /dev/urandom. /dev/random est un fichier spécial qui sert de générateur de nombres aléatoires (ou éventuellement de générateur de nombres pseudo-aléatoires). Il utilise comme source d'aléa les interruptions matérielles recueillies auprès de pilotes de périphériques et d'autres sources, et les traite à l'aide de fonctions de hachage cryptographiques. La lecture du fichier est bloquée quand l'activité du système (entropie) n'est pas suffisante, quitte à provoquer un temps de latence. /dev/urandom fonctionne de façon analogue en dehors du fait que la lecture n'est pas bloquante : il continue de produire des données "aléatoires" même lorsque la réserve d'entropie se vide ; l'aléa produit est donc moins aléatoire. En résulte une qualité médiocre des données générées, qui pourraient être des redites des données précédentes. Apparaissent ainsi d'importants risques de sécurité sur un serveur de production, surtout s'il nécessite des fonctions cryptographiques. Les dangers d'une entropie trop faible pour les services d'un serveur Prenons un serveur qui utilise des services chiffrés avec SSL/TLS comme un serveur HTTPS, un serveur de mails entrants/sortants, SSH, SFTP, un client bittorrent... Si l'un de ces services a besoin de générer de l'aléa alors que toute la réserve d'entropie a été épuisée, il devra faire une pause pour attendre que cette réserve se reconstitue, ce qui peut provoquer un temps de latence excessif dans les applications. Pire, la plupart des applications récentes définissent leur propre graine aléatoire (random seed) au moment de l'installation ou recourent à /dev/urandom pour éviter le blocage et risquent de pâtir de la mauvaise qualité des données aléatoires générées. La graine aléatoire (random seed) est un nombre utilisé pour l'initialisation d'un générateur de nombres pseudo-aléatoires.... --- ### The Walking Dead saison 6 - **URL**: https://www.skyminds.net/the-walking-dead-saison-6/ Voici le retour de The Walking Dead sur AMC avec la sixième saison. Le premier épisode reprend là où nous avons laissé Rick, Daryl, Morgan et tous les autres survivants : dans la zone de sécurité Alexandria, entourée par ses multiples menaces. Pour survivre, les gens d’Alexandria devra apprendre à se faire confiance et à se battre. Les survivants sont encore faibles et doivent s’endurcir dans leur manière de vivre. Le groupe de Rick, quant à lui, se bat pour quelque chose de plus grand que la survie. Rick et ses amis se battent pour leur maison. Ils vont les défendre à tout prix, contre toutes les menaces qui entourent la zone de sécurité, mais aussi celles qui sont à l’intérieur. Rick et le groupe éprouvent encore quelques difficultés à s'intégrer aux autres. Est-ce qu'une nouvelle menace les rapprochera un peu plus les uns des autres ou, au contraire, les éloignera encore davantage ? Voir Synology : corriger “rsync permission denied” sur Amazon --- ### James Taylor et Mavis Staples – Let It Be/Hey Jude (medley) aux Kennedy Center Honors - **URL**: https://www.skyminds.net/james-taylor-mavis-staples-let-it-be-hey-jude/ Voici un petit medley des Beatles de la part de James Taylor et Mavis Staples lors des Kennedy Center Honors 2010, qui consacrait alors l'oeuvre et la carrière de Paul McCartney : https://www.youtube.com/watch?v=BEGwgUcKgUQ Avec Steven Tyler, frontman d'Aerosmith, qui vient chanter pour son vieil ami - ainsi que Dave Grohl, Norah Jones et No Doubt (trouvez l'intrus!). Superbe hommage. --- ### 20 signes qui montrent que vous êtes proches du burnout au travail - **URL**: https://www.skyminds.net/20-signes-burnout-au-travail/ Le travail représente une grande partie de notre vie. Mais il y a des moments où il n'est pas simple de tout gérer, alors que nous sommes tiraillés entre les nécessités de notre vie professionnelle et nos aspirations personnelles. Le burnout au travail est quelque chose de sérieux. Lorsque l'on travaille trop dur, trop longtemps, on a tendance à tirer sur la corde. Le burnout n'arrive pas d'un coup, c'est quelque chose de progressif. On ne se réveille pas un beau jour en décidant qu'on est en burnout. C'est quelque chose d'insidieux, quelque chose que l'on ne remarque pas tout de suite. Voici une infographie qui montre les signes précurseurs du burnout : Utiliser trop souvent la fonction snooze de votre réveil S’appuyer sur la fonction snooze peut sembler bénin, mais c'est souvent le signe d'un besoin de repos non comblé ou d'une résistance au travail. Ce comportement peut indiquer une insatisfaction professionnelle ou un stress qui rend difficile la sortie du lit. Il est important d'analyser vos routines et d'évaluer s'il y a des aspects de votre travail qui contribuent à cette lassitude. Réorganiser votre emploi du temps pour y inclure des pauses réparatrices et réfléchir aux aspects de votre travail qui sont source de plaisir peuvent être bénéfiques. La mise en place d'une routine de sommeil régulière et le coucher à une heure raisonnable permettent de mieux reposer le corps et l'esprit, vous préparant ainsi pour le jour suivant. La gestion du temps et la définition de priorités claires peuvent également contribuer à une meilleure organisation de la journée de travail, permettant d'aborder la matinée avec une perspective plus positive. Adapter votre environnement de sommeil pour qu'il soit propice à la détente et exempt de distractions peut aussi améliorer la qualité de votre repos. Se sentir épuisé après le travail L'épuisement après le travail peut être un indicateur que les exigences professionnelles dépassent vos capacités à gérer le stress et la fatigue. Cela peut être dû à un horaire surchargé, à des délais serrés ou à un environnement de travail difficile. Il est crucial de reconnaître et d'adresser ce sentiment pour éviter un épuisement plus sérieux. Pour contrer cet état, il est bénéfique d'instaurer des limites claires entre le travail et la vie personnelle, de s'assurer que votre charge de travail est gérable et de trouver du temps pour des activités qui vous revitalisent, comme les loisirs ou les exercices physiques. Optimiser l'organisation de votre journée peut également alléger la pression et vous permettre de vous ressourcer plus efficacement après le travail. Enfin, réfléchir aux aspects de votre travail qui vous motivent et vous apportent de la satisfaction peut vous aider à retrouver de l'énergie et à vous sentir plus épanoui dans votre vie professionnelle. Un rythme de sommeil incohérent Un rythme de sommeil incohérent peut être le reflet d'un stress professionnel qui envahit l'espace personnel, perturbant ainsi le cycle naturel de repos. Ce signe avant-coureur de burn-out mérite une attention particulière car un sommeil réparateur est essentiel... --- ### BASH : lister, bloquer et débloquer des adresses IP avec iptables - **URL**: https://www.skyminds.net/bash-lister-bloquer-debloquer-ip-iptables/ Sur un serveur dédié, il n'est pas rare d'avoir des adresses IP à bannir pour se débarrasser de visiteurs malveillants, de spammeurs ou de bots qui effectuent des requêtes farfelues visant à perturber le bon fonctionnement des services du serveur. Heureusement, toutes ces petites contrariétés peuvent être résolues en quelques secondes grâce à un firewall comme iptables. Ce petit tutoriel vous montre les quelques commandes à retenir pour lister, bannir ou débloquer des adresses IP avec iptables ainsi qu'un petit script bash qui vous permettra d'automatiser la gestion de ces trois fonctions très simplement. Bannir une IP Pour bannir une adresse IP avec iptables, il suffit de lancer cette commande: iptables -I INPUT -s x.x.x.x -j DROP L'argument DROP indique que l'adresse IP indiquée (x.x.x.x) n'aura plus accès à la machine. Lister les IP bloquées Pour voir la liste des adresses IP bloquées, il suffit de demander à iptables la liste et de ne sélectionner que celles qui sont en DROP: iptables -L INPUT -v -n | grep DROP Résultat : Chain INPUT (policy DROP 23 packets, 4122 bytes) Débloquer une IP Pour débloquer une IP, il faut d'abord afficher la liste des IP bannies: iptables -L INPUT -v -n | grep DROP Toutes les IP sont classées dans un ordre numéroté, ligne par ligne. Il suffit d'indiquer le numéro de la ligne de la règle à supprimer avec la commande: iptables -D INPUT numero-de-la-regle L'argument -D (pour delete) permet de supprimer la règle qui correspond à l'adresse IP que nous souhaitons supprimer. Par exemple, si on veut supprimer la règle 1, il suffit d'indiquer: iptables -D INPUT 1 Vous aurez remarqué que toutes ces commandes sont bien fastidieuses et leurs syntaxes assez complexes à retenir. Voyons donc comment créer un script bash qui prendrait en charge toutes ces commandes. Script Bash pour automatiser la gestion des IP bannies dans iptables Voici un script bash qui devrait grandement vous simplifier la gestion des IP dans iptables. Il permet de bloquer, débloquer et lister les adresses IP en toute simplicité. 1. Sur le serveur, créez un nouveau fichier bash, banip : nano banip 2. Insérez ce script dans le fichier : #!/bin/bash # Script name : Ban/Unban IP with Iptables function help { echo "Syntax: $0 -[L][u] targets" echo " Parameters come first. Target is expressed as an IP address." echo " No specified parameter will ban the IP." echo " -L to list currently banned IPs." echo " -u to unban IPs." exit 1 } # If no arguments are passed, call the "help" function. if [ -z "$1" ]; then help fi # Define some variables ACTION="-A" txtred=$(tput setaf 1) txtyel=$(tput setaf 3) txtcya=$(tput setaf 6) txtrst=$(tput sgr0) while getopts "huL" OPTION do case $OPTION in h) help ;; u) ACTION="-D" shift $(($OPTIND - 1)) ;; L) ACTION="-L" shift $(($OPTIND - 1)) ;; \?) help ;; esac done if [ $ACTION == "-L" ]; then echo $txtcya"List of Banned IPs:"$txtrst iptables -L INPUT -v -n | grep DROP else... --- ### Sniff ‘n The Tears – Driver’s Seat - **URL**: https://www.skyminds.net/sniff-n-the-tears-drivers-seat/ Sniff 'n' the Tears est un groupe anglais formé en 1977 à Londres qui a notamment connu le succès en 1978 grâce à son tube Driver's Seat, issu de l'album Fickle Heart: https://www.youtube.com/watch?v=9SCzVEUlqqA On peut entendre une reprise de cette chanson dans la bande originale de l'excellent film Boogie Nights, sorti en 1997. --- ### The Whitest Boy Alive – Burning - **URL**: https://www.skyminds.net/the-whitest-boy-alive-burning/ The Whitest Boy Alive est un projet de musique électronique formé en 2003 à Berlin, qui s'est très rapidement mué en véritable groupe, avec de véritables instruments, sans éléments programmés. Le groupe est mené par le musicien Erlend Øye, accompagné de Marcin Öz, Sebastian Maschat et Daniel Nentwig. Ils ont créé leur propre label Bubbles, sur lequel ils ont sorti en Allemagne leur premier album, Dreams, en juin 2006. C'est sur cet album que l'on peut retrouver Burning: https://www.youtube.com/watch?v=fAWurnyKZUM Dansant non ? Malheureusement, le groupe a annoncé sa décision de ne plus jouer ensemble : ils ont rompu en 2014. --- ### Les balises meta indispensables pour les réseaux sociaux : Facebook, Twitter, Pinterest, LinkedIn - **URL**: https://www.skyminds.net/balises-meta-reseaux-sociaux-facebook-twitter-pinterest/ Voici quelques-unes des balises nécessaires à vos pages pour que vos articles soient partagés avec le maximum d'impact sur les réseaux sociaux comme Facebook, Twitter, LinkedIn ou Pinterest. Cela permet d'optimiser les titres, descriptions et images de chaque page afin d'apparaître de manière correctement formatée dans les flux sociaux. Cela aide également le SEO puisque les bonnes données, associées à des images optimisées, permettent au contenu d'être partagé plus facilement, ce qui augmente le nombre de liens et de mentions vers les pages de contenu. Modèle complet de balises meta sociales Voici le modèle que j'utilise sur SkyMinds. Nous avons donc les balises pour Google Authorship et Publisher, les balises Schema.org et Open Graph pour les articles, et une Twitter Summary card avec une grande image : Les balises meta indispensables pour les réseaux sociaux : Facebook, Twitter, Google+, Pinterest Guide des tailles pour les images des sites sociaux L'image que vous proposez dans les balises méta pour les réseaux sociaux n’est pas forcément celle qui se trouve dans l'article mais elle doit représenter le contenu de manière correcte. Elle vous permet de contrôler ce que les gens voient lorsqu'ils partagent et cliquent sur vos liens donc il est important d'utiliser des images de qualité et au format adapté à chaque plateforme. Chaque réseau social utilise des tailles d'images différentes mais en règle générale, si votre image est de bonne qualité et d'une taille assez grande, cela conviendra très bien. Sur Twitter, la grande image fait 499 pixels de large.Sur Facebook, elle fait 484 pixels.Sur Google+, c'est 346 pixels. Je vous recommande de mettre l'adresse d'une image qui fait plus de 600 pixels de large. Elle sera automatiquement recadrée par les sites de réseaux sociaux. Outil pour approuver et valider vos pages Facebook Debugger L'outil de validation de Facebook s'appelle Facebook Debugger. Il suffit d'entrer l'URL de la page à tester, il n'y a pas besoin de valider le domaine comme chez Twitter. Outil de validation Twitter Il se trouve ici : Twitter Card Validator Avant que vos Twitter cards ne s'affichent sur Twitter, vous devez d'abord ajouter le code des Twitter Cards, puis demander l'approbation de votre domaine par Twitter. Il vous suffit d'entrer l'URL d'une page contenant les balises méta pour Twitter et de cliquer sur le bouton "Soumettre pour approbation". Google Structured Data Testing Tool Chez Google, l'outil de validation des balises méta pour les données structurées s'appelle Google Structured Data Testing Tool. Pinterest Rich Pins Validator Chez Pinterest, c'est le Rich Pins Validator. Comme Twitter, Pinterest nécessite d'approuver votre site avant de pouvoir utiliser les fonctionnalités de Rich Pin. Il suffit d'utiliser le valideur pour tester votre code et demander la validation en même temps. Conclusion Voilà, il ne vous reste plus qu'à éditer et ajouter les balises qui manquent à vos pages pour améliorer les partages de vos pages de contenus sur les réseaux sociaux ! --- ### Passenger – I’ll Be Your Man - **URL**: https://www.skyminds.net/passenger-ill-be-your-man/ Passenger est le nom de scène de Michael David Rosenberg, un chanteur-compositeur folk rock Britannique, qu'il a gardé pour sa carrière solo après la dissolution du groupe éponyme en 2009. J'aime bien leur chanson I'll Be Your Man : https://www.youtube.com/watch?v=U68jIuNlJ0g A retrouver sur le sixième album intitulé Whispers II, sorti en avril 2015. --- ### Serveur dédié : migration de MySQL vers MariaDB - **URL**: https://www.skyminds.net/serveur-dedie-migration-de-mysql-vers-mariadb/ Aujourd'hui, on aborde la migration du serveur de base de données : nous passons de l'historique MySQL à son fork libre MariaDB. Les raisons de remplacer Oracle MySQL avec MariaDB sont nombreuses. MySQL vs MariaDB Tout d'abord, MariaDB assure la compatibilité et la continuité de service avec MySQL. Les librairies sont exactement équivalentes et permettent d'utiliser les APIs et commandes de MySQL. Les performances de MariaDB sont souvent meilleures que celles de MySQL, notamment grâce à l'amélioration de l'optimiseur de requêtes et l'intégration du moteur XtraDB de Percona, qui vise à remplacer InnoDB. Un nouveau moteur de stockage, Aria, a été écrit pour devenir un moteur à la fois transactionnel et non-transactionnel pour remplacer MyISAM. Il pourrait même être inclus dans de prochaines versions de MySQL. Dans un autre registre, Oracle semble ne pas vouloir garder le modèle libre de MySQL : pas mal de choses (rapports de bugs, scénarios de test) sont maintenant disponibles uniquement pour les grands comptes payants. Michael "Monty" Widenius, le fondateur de MySQL AB, a quitté Sun Microsystems lors de son rachat par Oracle pour créer Monty Program AB puis la Fondation MariaDB. Il est rapidement rejoint par de nombreux développeurs originaux de MySQL. Ces développeurs maîtrisent donc parfaitement le code source du système de gestion de base de données, cela promet encore de nombreuses nouveautés et optimisations pour les versions suivantes. Installation de MariaDB Avant toute chose, faîtes une sauvegarde de vos bases de données. On ne sait jamais. Notre serveur dédié tourne toujours sur Debian stable et les paquets de MariaDB sont disponibles dans les dépôts officiels. MariaDB est un "drop-in replacement" pour MySQL, c'est -à-dire qu'il suffit de désinstaller MySQL et d'installer MariaDB : rien ne change, pas de pertes de données, pas de lignes de code à changer, tout est compatible. L'installation est donc très simple : apt-get install mariadb-server Résultat: Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: mariadb-client-10.0 mariadb-client-core-10.0 mariadb-common mariadb-server-10.0 mariadb-server-core-10.0 Suggested packages: mariadb-test tinyca The following packages will be REMOVED: mysql-client-5.6 mysql-client-core-5.6 mysql-server mysql-server-5.6 mysql-server-core-5.6 The following NEW packages will be installed: mariadb-client-10.0 mariadb-client-core-10.0 mariadb-common mariadb-server mariadb-server-10.0 mariadb-server-core-10.0 0 upgraded, 6 newly installed, 5 to remove and 0 not upgraded. Need to get 11.8 MB of archives. After this operation, 18.4 MB disk space will be freed. L'installation vous demandera de donner un mot de passe pour l'utilisateur root. De manière à assurer la continuité avec MySQL, j'ai redonné le même mot de passe que pour mon utilisateur root sous MySQL. Enfin, l'installation vous demande si vous désirez vraiment migrer vers MariaDB, en vous expliquant qu'il est très aisé de migrer dans le sens MySQL-MariaDB mais que l'inverse (MariaDB-MySQL) peut poser des problèmes étant donné que MariaDB propose plus de fonctionnalités que MySQL. Il suffit d'accepter la migration. Tout est transparent. Testez vos services, tout devrait fonctionner parfaitement. Configuration de MariaDB Lors de l'installation, j'ai préféré installer le fichier my.cnf de mariaDB plutôt que de garder celui... --- ### Dan Tyminski – The Boy Who Wouldn’t Hoe Corn - **URL**: https://www.skyminds.net/dan-tyminski-the-boy-who-wouldnt-hoe-corn/ Dan Tyminski est un compositeur, chanteur et musicien américain de bluegrass, surtout connu pour sa version de la chanson Man of Constant Sorrow, jouée dans le film O Brother, Where Art Thou?. J'aime beaucoup sa chanson The Boy Who Wouldn't Hoe Corn, accompagné de Jerry Douglas au dobro : https://www.youtube.com/watch?v=Z5X4Q6jFtHg Dan Tyminski est membre du groupe Alison Krauss and Union Station et a lancé deux albums solo : Carry Me Across the Mountain (2000) et Wheels (2008). C'est un joli mélange de musique celtique et de bluegrass/country, cela se marie très bien! --- ### VLC : résoudre le problème de lecture de dossiers avec le clic-droit - **URL**: https://www.skyminds.net/vlc-lecture-de-dossiers-avec-clic-droit/ VLC sait lire à peu près tout. Vidéos, musiques, flux réseau, fichiers improbables récupérés au fond d’un vieux disque dur : il avale beaucoup sans broncher. Pourtant, il peut parfois refuser une chose très simple : lire un dossier ouvert depuis le menu clic droit. Le cas typique est assez agaçant. Vous faites un clic droit sur un dossier, puis Ouvrir avec > Lecteur multimédia VLC. Le dossier apparaît bien dans la playlist de VLC, mais rien ne démarre. Le nom du dossier semble vibrer, comme si VLC toussait poliment avant de ne rien faire. J’avais déjà parlé de VLC dans mon article sur le téléchargement automatique des sous-titres de films et séries avec VLC. Ici, le problème est différent : il ne vient pas des sous-titres, mais souvent d’un réglage avancé enregistré dans le fichier de configuration de VLC. Diagnostic : VLC reçoit bien le dossier, mais ne le parcourt pas Les symptômes sont généralement les suivants : le menu contextuel propose bien Ouvrir avec VLC ; le dossier arrive dans la playlist de VLC ; le bouton lecture ne lance rien ; un double-clic sur le dossier ne démarre pas la lecture ; les fichiers lus individuellement fonctionnent encore. Dans ce cas, inutile de réinstaller VLC immédiatement. Le souci vient souvent d’un réglage utilisateur. Plus précisément, une option avancée peut forcer le module Demux sur une valeur qui empêche VLC de traiter correctement un dossier comme une liste de médias. Étape 1 : tester VLC avec une configuration propre Avant de modifier le fichier de configuration, testez VLC sans vos préférences actuelles. Sous Linux, vous pouvez lancer VLC avec une configuration temporaire : vlc --no-plugins-cache --reset-config Attention : cette commande réinitialise les préférences de VLC. C’est efficace, mais un peu radical. Si vous avez beaucoup personnalisé VLC, commencez plutôt par sauvegarder votre configuration puis corrigez la ligne problématique. Étape 2 : trouver le fichier vlcrc VLC stocke ses préférences dans un fichier nommé vlcrc. Son emplacement dépend du système. SystèmeEmplacement habituelLinux~/.config/vlc/vlcrcWindows%APPDATA%\vlc\vlcrcmacOS~/Library/Preferences/org.videolan.vlc/vlcrc Sous Linux, évitez de mettre un chemin personnel en dur comme /home/matt/.config/vlc/vlcrc. Utilisez plutôt ~, qui pointe vers votre dossier utilisateur. Étape 3 : sauvegarder la configuration VLC Avant toute modification, faites une copie du fichier. C’est moins spectaculaire qu’une réinstallation, mais nettement plus intelligent. cp ~/.config/vlc/vlcrc ~/.config/vlc/vlcrc.backup Vous pouvez ensuite ouvrir le fichier avec votre éditeur préféré : nano ~/.config/vlc/vlcrc Si vous utilisez GNOME, vous pouvez aussi passer par l’éditeur graphique : gnome-text-editor ~/.config/vlc/vlcrc Sur d’anciennes versions d’Ubuntu, gedit reste possible : gedit ~/.config/vlc/vlcrc Étape 4 : corriger la ligne demux Dans le fichier vlcrc, cherchez la section liée au module Demux. Vous pouvez rechercher le mot demux dans l’éditeur. Si vous trouvez cette ligne active : # Demux module (string) demux=any commentez-la en ajoutant un # au début : # Demux module (string) #demux=any En clair, vous laissez VLC choisir automatiquement le bon module au lieu de forcer une valeur. C’est souvent ce qui répare la lecture des dossiers depuis le menu clic droit. Étape... --- ### Factotum : « Amazing how grimly we hold on to our misery » - **URL**: https://www.skyminds.net/factotum-how-grimly-we-hold-on-to-our-misery/ Henry Chinaski (Matt Dillon) : Amazing how grimly we hold on to our misery. The energy we burn fueling our anger. Amazing how one moment we can be snarling like a beast, then, a few moments later, forgetting what or why. Not hours of this, or days, or months or years of this, but decades. Lifetimes completely used up, given over to the pettiest of rancour and hatred. Finally, there's nothing here for Death to take away. - Factotum --- ### Serveur dédié : optimiser les GIF avec Gifsicle - **URL**: https://www.skyminds.net/serveur-dedie-optimiser-gif-avec-gifsicle/ Les GIF ont une qualité rare : ils fonctionnent partout. Ils ont aussi un défaut magnifique : ils peuvent peser beaucoup trop lourd pour ce qu’ils affichent. Sur un site web, quelques GIF non optimisés peuvent ralentir une page, consommer inutilement de la bande passante et dégrader les Core Web Vitals. Heureusement, sous Linux, un petit outil fait très bien le ménage : Gifsicle. Gifsicle permet de créer, modifier, inspecter et optimiser des fichiers GIF depuis le terminal. Il fonctionne aussi bien sur des GIF statiques que sur des GIF animés. Et surtout, il s’automatise très facilement sur un serveur dédié. /more À quoi sert Gifsicle ? Gifsicle est un outil en ligne de commande pour manipuler les images GIF. Il peut optimiser un GIF existant, extraire des frames, modifier une animation, gérer la transparence, changer les délais entre images, contrôler la boucle, redimensionner ou comparer deux GIF. Dans un contexte serveur, son usage le plus courant reste simple : réduire le poids des fichiers .gif déjà présents dans un dossier web. Optimisation de GIF statiques. Optimisation de GIF animés. Traitement en lot. Traitement récursif dans des dossiers. Suppression de données inutiles. Réduction des frames animées grâce aux différences entre images. Redimensionnement de GIF quand c’est nécessaire. Gifsicle ne transforme pas un GIF absurde de 40 Mo en chef-d’œuvre léger à tous les coups. Mais il fait souvent mieux que laisser les fichiers tels quels. Et sur un vieux dossier d’uploads, c’est déjà une belle victoire. Installer Gifsicle sur Debian ou Ubuntu Sur Debian, Ubuntu et la plupart des distributions dérivées, Gifsicle s’installe depuis les dépôts. sudo apt update sudo apt install gifsicle Vérifiez ensuite la version installée : gifsicle --version Et gardez le manuel sous la main : man gifsicle Sur un serveur minimal, l’installation est rapide et n’ajoute pas une pile graphique lourde. C’est parfait pour un traitement périodique via SSH ou cron. Optimiser un GIF simple Pour optimiser un seul fichier GIF et écrire le résultat dans un nouveau fichier : gifsicle -O3 image.gif -o image-optimized.gif Cette méthode est la plus prudente. Elle conserve l’original et vous permet de comparer le résultat avant remplacement. Comparez ensuite les deux tailles : ls -lh image.gif image-optimized.gif Si le fichier optimisé est plus léger et s’affiche correctement, vous pouvez remplacer l’original. Optimiser plusieurs GIF avec --batch Pour optimiser tous les GIF du dossier courant en modifiant les fichiers sur place : gifsicle --batch -O3 *.gif L’option --batch indique à Gifsicle de modifier les fichiers existants. L’option -O3 active le niveau d’optimisation le plus poussé. C’est efficace, mais pas totalement réversible. Utilisez cette commande uniquement si vous avez une sauvegarde ou si vous travaillez sur une copie. Optimiser tous les GIF d’un site de manière récursive Pour optimiser tous les GIF d’un dossier web et de ses sous-dossiers : cd /home/public_html find . -type f -iname "*.gif" -exec gifsicle --batch -O3 {} \; Cette commande fonctionne, mais elle lance un processus Gifsicle par fichier. Pour un petit site, c’est très bien.... --- ### Bash : lister et redémarrer tous les services qui utilisent libssl après une mise à jour d’OpenSSL - **URL**: https://www.skyminds.net/bash-redemarrer-services-libssl-openssl/ Lorsque l'on met à jour OpenSSL, tous les services qui utilisent les librairies SSL et qui sont chargés en mémoire ne rechargent pas les librairies (dont libssl) qui viennent d'être mises à jour. Idéalement, il faudrait rebooter le système mais lorsqu'il s'agit d'un serveur, ce n'est pas toujours possible. Si les services ne sont pas redémarrés (restart) ou rechargés (reload) après une mise à jour, ils seront toujours vulnérables aux problèmes de sécurité que corrige la nouvelle version. Voici donc comment détecter les services qui utilisent les librairies d'OpenSSL afin de les redémarrer et éviter de rebooter la machine. Lister les services qui utilisent libssl Vérifiez que votre système possède la commande lsof. Elle devrait normalement être prise en charge par votre gestionnaire de paquets. Pour lister les services qui utilisent OpenSSL, il suffit de vérifier lesquels utilisent le paquet libssl en les classant par ordre alphabétique et en supprimant les doublons: lsof | grep libssl | awk '{print $1}' | sort | uniq Résultat: apache2 fail2ban- opendkim php5-fpm tlsmgr Il ne vous reste plus qu'à redémarrer les services présents dans cette liste qui font appel à OpenSSL. Lister les services qui utilisent une ancienne version de libssl Si vous avez mis à jour OpenSSL mais que vous n'avez pas redémarré votre serveur, il est possible que certains services utilisent toujours une ancienne librairie non-patchée d'OpenSSL. Voici comment trouver les services qui utilisent une ancienne version de libssl: lsof | grep 'DEL.*lib' | cut -f 1 -d ' ' | sort -u Si vous obtenez une liste de services, il ne vous reste plus qu'à les redémarrer un à un. A titre indicatif, cette commande ne retourne aucun résultat après avoir redémarré le serveur. Dans le doute, reboote Enfin, dernier petit conseil : n'hésitez pas à redémarrer le serveur après des mises à jour importantes. Cela reste le meilleur moyen de s'assurer que les services utilisent bien la dernière version des librairies OpenSSL. --- ### The National – About Today - **URL**: https://www.skyminds.net/the-national-about-today/ The National est un groupe indie-rock américain formé par Aaron Dessner (guitares et claviers), Bryce Dessner (guitares), Scott Devendorf (basse) et Bryan Devendorf (batterie). J'aime beaucoup la chanson "About Today" : https://www.youtube.com/watch?v=Ef1nJWtkprU Les paroles du groupe, considérées comme sombres, mélancoliques et difficiles à interpréter, sont écrites et chantées par Matt Berninger, qui est bariton. En tout, The National a composé six albums studio qui ont tous été des succès. La plupart de leurs chansons sont utilisées dans des films, séries télévisées (dont Suits, Chuck, Southland), émissions de télévision et même pendant la campagne présidentielle d'Obama. "About Today" se trouve sur l'EP Cherry Tree qui est sorti en 2004. --- ### Recette de la gaufre lyonnaise - **URL**: https://www.skyminds.net/recette-de-la-gaufre-lyonnaise/ Voici la recette de la gaufre lyonnaise. Ingrédients 500g de farine150g de beurre6 œufs50g de sucre en poudre1 pincée de sel75 cl de lait1 cuillerée de fleur d'oranger (ou rhum) Préparation mettre la farine dans un récipient, ajouter les œufs et la fleur d'oranger.faire chauffer le lait avec le beurre, le sel, et le sucre.incorporer ce liquide à la pâte. Notes Personnellement, je mets très peu de sucre car on en met en garniture sur la gaufre avec la crème chantilly et les vermicelles en chocolat. --- ### Mr. Robot saison 1 - **URL**: https://www.skyminds.net/mr-robot-saison-1/ Mr. Robot est une série diffusée sur USA Network. Elliot Alderson (Rami Malek) est un jeune informaticien antisocial habitant New York qui décide qu'il ne peut vraiment interagir avec les gens qu'en les manipulant grâce à l'ingénierie sociale (social engineering en anglais). Il travaille pour une entreprise de sécurité la journée, devient hacker justicier la nuit, et une organisation de hackers underground tente de le recruter pour faire tomber les 1% de la population qui détient toutes les richesses. Un de ses clients devient la cible d’attaques et ses deux mondes entrent alors en collision. Elliot rencontre un mystérieux anarchiste connu sous le pseudonyme de "Mr. Robot", qui recrute Elliot pour son équipe de hackers, "fsociety". La série suit les efforts de Mr. Robot pour engager Elliot dans sa mission pour détruire l'entreprise qu'Elliot est payé pour protéger. Torturé par sa conscience, Elliot parviendra-t-il à résister à l'occasion de faire tomber les dirigeants de multinationales qui dirigent (et ruinent du même coup) notre monde ? J'aime bien le côté réaliste de cette série : le héros ne tape pas n'importe quoi dans son terminal (comme dans la plupart des films) et il est aisé de reconnaître les commandes lancées. Du coup, on sait exactement ce qu'il cherche à faire. Je trouve cela très ludique et cela prouve que le réalisateur a bien fait son travail. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Télécharger automatiquement des sous-titres avec VLC - **URL**: https://www.skyminds.net/telecharger-sous-titres-films-series-avec-vlc/ Vous regardez un film ou une série en version originale avec VLC, mais les sous-titres manquent. Avant, il fallait chercher un fichier .srt, le télécharger, le décompresser, le renommer exactement comme la vidéo, puis espérer que le timing colle. Heureusement, VLC peut simplifier tout ça. Avec l’extension VLSub, vous pouvez chercher des sous-titres directement depuis VLC, les télécharger, puis les charger dans la vidéo en cours de lecture. Le principe reste simple : ouvrez votre vidéo, lancez VLSub, choisissez la langue, cherchez par empreinte du fichier ou par nom, puis téléchargez le sous-titre adapté. Quand tout se passe bien, c’est trois clics. Quand ça ne marche pas, c’est souvent un problème de version, de compte OpenSubtitles, de nom de fichier ou de décalage temporel. VLC peut-il encore télécharger des sous-titres automatiquement ? Oui, mais cela dépend de votre version de VLC et de l’extension utilisée. Historiquement, VLC proposait une extension VLSub intégrée ou facilement accessible via le menu Vue → Télécharger les sous-titres. Elle cherchait les sous-titres sur OpenSubtitles à partir du hash du fichier vidéo ou de son nom. Aujourd’hui, sur certaines installations, cette ancienne extension peut ne plus fonctionner correctement. Vous pouvez notamment rencontrer une erreur d’authentification, un code 401 Unauthorized, ou une recherche qui ne retourne rien alors que les sous-titres existent. Dans ce cas, installez la version moderne VLSub for OpenSubtitles.com. Elle utilise l’API récente d’OpenSubtitles.com et demande un compte OpenSubtitles.com gratuit. Mettre VLC à jour avant de commencer Commencez par installer une version récente de VLC. Les vieilles versions de VLC peuvent embarquer une ancienne extension VLSub incapable de communiquer correctement avec OpenSubtitles. Sur Windows et macOS, téléchargez VLC depuis le site officiel de VideoLAN. Sur Linux, utilisez les paquets de votre distribution, Flatpak, Snap, ou les dépôts officiels selon votre environnement. Vérifiez votre version dans VLC : Windows/Linux : Aide → À propos ; macOS : VLC → À propos de VLC media player. Si votre VLC date d’un autre âge, mettez-le à jour avant d’accuser les sous-titres, OpenSubtitles, votre connexion ou Mercure rétrograde. Méthode simple : utiliser VLSub dans VLC Ouvrez d’abord votre fichier vidéo dans VLC, puis lancez la lecture. Sur Windows ou Linux, ouvrez ensuite : Vue → Télécharger les sous-titres Sur macOS, le menu peut se trouver ici : VLC → Extensions → VLSub Dans la fenêtre VLSub, choisissez la langue souhaitée. Pour des sous-titres français, sélectionnez French. Pour des sous-titres anglais, choisissez English. Vous avez ensuite deux méthodes de recherche : Search by hash : cherche un sous-titre correspondant exactement à l’empreinte du fichier vidéo ; Search by name : cherche à partir du titre, de la saison ou de l’épisode. Commencez par Search by hash. Si le résultat est vide ou mauvais, essayez Search by name. Sélectionnez le sous-titre le plus adapté, puis cliquez sur Download selection. VLC télécharge alors le fichier et le charge dans la vidéo. Si tout fonctionne, les sous-titres apparaissent immédiatement : Installer la nouvelle extension VLSub pour OpenSubtitles.com Si l’extension intégrée à VLC... --- ### Leb I Sol & Dado Topic – Uci me majko, karaj me - **URL**: https://www.skyminds.net/leb-i-sol-dado-topic-uci-me-majko-karaj-me/ Leb I Sol ("Pain et Sel" en français) est un groupe de fusion ex-Yougoslave qui s'est formé le 1er janvier 1976 à Skopje, qui se trouve maintenant dans la République de Macédoine. Voici leur version de "Uci me majko, karaj me", avec Dado Topic (ex-chanteur du groupe de prog Time): https://www.youtube.com/watch?v=vIS-i1y21rU Au début de leur carrière, Leb I Sol essaie de marrier une approche jazz-rock instrumentale avec les sons traditionnels des Balkans. Les deux premiers albums sont des reprises instrumentales de chansons traditionnelles de la Macédoine. Le troisième album, "Rucni rad", explore l'improvisation laissée par le jazz alors que le quatrième album, alors que le groupe devient un trio, repart sur l'esprit de la fusion. Stefanovski a toujours été considéré comme l'un des meilleurs guitaristes de l'ex-Yougoslavie, même si sa technique se rapproche beaucoup de celles d'Allan Holdsworth ou de John McLaughlin. Leb I Sol est un des groupes les plus important de la République de Macédoine. Ils ont joué pour la dernière fois à Thessalonica, en Grèce, en décembre 1995, avant que le groupe ne se sépare. Très bon mélange de fusion et de rock progressif. --- ### Une semaine à Prague : mur de John Lennon, Ordre de Malte, bières et retour à Nantes - **URL**: https://www.skyminds.net/prague-mur-de-john-lennon-ordre-de-malte/ Aujourd'hui est notre dernier jour dans cette bonne ville de Prague. Nous commençons par un solide petit déjeuner. Notre vol retour est prévu pour 22h donc nous avons toute la journée pour finir de visiter la ville. Le concierge de l'hôtel accepte gentiment de nous garder nos valises jusqu'à l'arrivée de notre taxi vers 19h. Cela nous permet d'aller en ville sans traîner nos bagages sur les pavés, ce qui est plutôt confortable. Nous retraversons le Pont Charles et allons prendre quelques photos devant le mur de John Lennon ou « Lennon Wall », mémorial informel à John Lennon qui recueille depuis 1980 des hommages sous la forme de graffitis et de paroles de chanson des Beatles. Ce mur appartient à l'Ordre des Chevaliers de Malte, qui autorise les gens à écrire sur le mur. Le portrait original de John Lennon a depuis longtemps été recouvert par une tonne de graffitis et de messages divers - les autorités ont même repeint le mur à plusieurs reprises pendant la période communiste mais les gens continuent de taguer et peindre messages, symboles et portraits sur les messages existants. C'est une véritable œuvre d'art vivante, qui évolue avec le temps - le mur tel que nous l'avons vu ne sera jamais plus pareil, il aura changé depuis. L'Ordre de Malte possède une superbe propriété avec une Eglise inaccessible au public mais dont on peut percevoir la richesse de l'intérieur en regardant par les interstices de la porte : La grille d'entrée de la propriété en dit déjà beaucoup sur les chevaliers de l'île de Malte : Nous sommes en fait dans le Grand Prieuré de Bohème de l'Ordre de Malte, qui contient les services hospitaliers et la mission diplomatique de l'Ordre en République Tchèque. Je vous conseille l'histoire de l'Ordre de Malte, c'est passionnant. Nous repartons ensuite et allons déjeuner au restaurant tchèque que nous avions bien aimé, “U Provaznice”, où Cécile déguste une pinte de Gambrinus tandis que Matt se laisse tenter par la seule brune de l'établissement, une Kozel. La Gambrinus est une bière blonde très douce, qui très bon goût. La Kozel est considérée là-bas comme une bière brune mais ce n'est pas du tout la même chose que chez nous : le goût est proche d'une blonde à laquelle on aurait ajouté de la crème de cassis. C'est très surprenant, extrêmement léger et bien loin du goût fort en bouche des bières belges, françaises ou britanniques (et strictement rien à voir avec une Guinness, mais bon, c'est facile à dire, vu que cela ne ressemble à rien d'autre). Nous ne prenons pas de plats mais choisissons de partager quelques spécialités végétariennes : du kucmoch, gateau de pomme de terre servi avec du fromage et des cornichons, et du fromage (hermelin) grillé sur des pommes de terre en robe des champs. C'est copieux, très bon, et ça cale bien tout le monde ! Il est intéressant de noter que la plupart des plats végétariens tchèques sont à base de fromage... --- ### Fear The Walking Dead saison 1 - **URL**: https://www.skyminds.net/fear-the-walking-dead-saison-1/ Fear the Walking Dead est un spin-off et prequel de The Walking Dead. Dans The Walking Dead, nous avons découvert l’invasion des walkers auprès de Rick Grimes (Andrew Lincoln), alors qu'il sortait tout juste d’un coma qui lui avait permis de passer à côté du plus gros du massacre, mais nous ne savons pas comment cela s’est produit. Fear the Walking Dead se propose donc de repartir aux origines et de combler ce manque. Pour ce faire, direction Los Angeles où se trouvent Madison (Kim Dickens), Travis (Cliff Curtis) et leur famille recomposée. Le couple travaille dans un lycée public où les élèves sont de plus en plus absents, une histoire de grippe apparemment. Nick (Frank Dillane), le fils drogué de Madison, vient d’être admis à l’hôpital après s’être fait renverser. Il se trouve qu’il a paniqué parce qu’il a découvert que son amie Gloria en train de dévorer quelqu’un. AMC a d'ores et déjà programmé deux saisons pour commencer : la première saison comprend six épisodes alors que la seconde, prévue pour 2016, recevra quinze épisodes. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Une semaine à Prague : vieille ville, concert de rue et musée des machines sexuelles - **URL**: https://www.skyminds.net/prague-vieille-ville-musee-des-machines-sexuelles/ Aujourd'hui, c'est dimanche. Matinée calme à l'hôtel, on profite de notre temps pour nous reposer et lire un peu. En effet, Matt est un lecteur compulsif et s'il ne lit pas pendant plusieurs heures d'affilée, il commence à se sentir mal. Ce midi, nous n'avons pas très faim et nous laissons tenter seulement par un trdlo, ce petit gâteau que nous avions apprécié la veille. Nous nous régalons tout en nous baladant au gré des rues. Nous les connaissons plutôt bien à présent mais nous prenons toujours autant de plaisir à nous imprégner des couleurs, des odeurs et de l'ambiance qui y règnent. Sur la place Wenceslas, nous nous laissons charmer par un jeune guitariste à la chevelure blonde et en bataille. Sa voix claire et écorchée rappelle celle de Ben Howard que Cécile aime tant. Il alterne entre reprises de chansons de style pop-rock (Radiohead, Coldplay) et compositions personnelles. Nous restons un bon moment à l'écouter et à le regarder, avec beaucoup de plaisir. Nous ne sommes pas les seuls à être sous le charme: petit à petit, la place se remplit d'auditeurs et les donations pleuvent lorsque ce chanteur entonne "The scientist" de Coldplay. Nous allons ensuite boire un petit café à une terrasse et écrivons nos cartes postales. Nous repartons dans la vieille ville flâner puis avisons un musée dont le nom nous fait sourire: le musée des machines sexuelles. Intriguée, Cécile convainc Matt d'y entrer. La visite commence par une exposition de godes, de toutes époques, de toutes tailles et de toutes matières. On y voit même un exemplaire en pierre datant de l'Antiquité grecque. Ensuite, dans les vitrines se trouve toute une panoplie d'instruments visant à empêcher l'érection ou toute forme d'onanisme chez les jeunes gens. Il y a ainsi une ceinture qui enserre le sexe avec des pics et le blessera s'il gonfle. On trouve même un modèle électrique qui déclenche une sonnette dans la chambre des parents du jeune homme chez qui survient une érection. Sont exposés aussi des godes mécaniques qui mettent en œuvre une machinerie extrêmement savante et élaborée. Une robe permet enfin d'avoir une relation intime sans que les corps ne soient en contact. L'inscription "Dieu le veut" qui y figure frappe nos esprits. La salle du haut est intégralement consacrée aux instruments S&M: chaînes, cravaches, menottes, divers instruments de torture. On voit même des masques de chien ! Une autre salle présente bon nombre de poupées gonflables ou de peluches à caractère sexuel. La visite se termine par la projection d'un film X datant de 1925. Il est intégralement muet, mais sans équivoque ! Il y a même une scène qui, de nos jours, s'apparente à une relation non consentie. Cela devait choquer à l'époque. C'est d'ailleurs le premier film qui fasse apparaître une scène d'amour à 3 ou 4 personnes. Notre curiosité satisfaite, nous repartons et prenons une petite mousse avant de retourner dans le restaurant indien que nous avions tant aimé l'autre jour. Nous flânons un peu... --- ### Une semaine à Prague : beer museum et soirée torride au club de strip-tease - **URL**: https://www.skyminds.net/prague-beer-museum-soiree-club-de-strip-tease/ Aujourd'hui, lever tranquille juste à l'heure pour la douche et le petit déjeuner. C'est la canicule aujourd'hui comparé aux autres jour: le ciel est couvert mais il fait 27 degrés, ça chauffe! Nous en profitons pour manger une friandise de forme cylindrique, à base de pâte et de sucre, dorée sur les braises : le trdlo. C'est vendu en pleine rue dans des cahutes, cela se mange sans faim et c'est très bon, surtout pour 60 couronnes. Nous nous posons à une terrasse de la vieille ville et regardons les passants déambuler en dégustant une bouteille d'eau, histoire de rester hydratés. Nous arpentons ensuite quelques rues dans lesquelles nous n'avions jamais mis les pieds et décidons d'essayer le Prague Beer Museum, qui se targue d'avoir plus de 30 bières en pression. On ne peut décemment pas passer une occasion pareille! Cécile commande donc une pinte de Konrad tandis que Matt essaie une Bohemian Lager. Toutes les deux sont excellentes. La Konrad a un petit goût de grains de café grillés et possède des reflets cuivrés. La Bohemian est plus trouble mais très douce, plus florale. Matt déguste sa mousse Nous passons un très bon moment dans un petit jardin arboré. La terrasse est d'ailleurs bondée, signe que le lieu est charmeur. La bière nous envoûte agréablement, elle y est bien plus forte que celle que nous dégustons habituellement. Nous nous mettons en quête d'un endroit où manger, et arpentons tranquillement les petites rues au hasard. Nous nous retrouvons en réalité tout près du quartier juif, et au détour du chemin, nous nous retrouvons nez à nez avec une statue étonnante vu le lieu : il s'agit d'une femme nue composée d'un assemblage de cubes de métal. Elle s'exhibe ouvertement et à l'endroit de son entrejambe, il y a un espace où l'on peut se glisser. Matt s'y jette avec délectation tandis que Cécile nous offre sa propre interprétation de l'oeuvre. Nous repartons dans les petites ruelles et trouvons un italien, qui nous permettra de goûter à d'autres saveurs. Le gérant est italien et possède la verve et le bagout typique des latins. Nous commandons deux pizzas et nous laissons tenter par deux verres de Montepulciano di Abruzzo, vin que nous avions adoré lors de notre séjour à Rome. Si les pizzas sont excellentes, le vin est quant à lui imbuvable car bien trop chargé en alcool. En dessert, Matt se laisse charmer par la diatribe dythrambique du chef et déguste un savoureux tiramisu. Cécile choisit un sorbet au citron maison. La soirée est parfaite. C'est samedi soir, et dans les rues règne une certaine excitation : en sortant du restaurant, on assiste au déhanché lascif d'une jeune femme sur un poteau de signalisation à l'entrée d'une boîte de nuit. Quelques mètres plus loin, sa copine complètement ivre remet sa culotte puis se gratte les fesses de manière totalement éhontée. Pas de doute, on est bien samedi soir! Nous remontons tranquillement le cours Venceslas pour retourner à la bouche de métro.... --- ### Une semaine à Prague : le Pont Charles, la vieille ville - **URL**: https://www.skyminds.net/prague-le-pont-charles-la-vieille-ville/ Ce matin, nous sommes bien décidés à ne pas louper le petit déjeuner et à partir suffisamment tôt pour pouvoir arpenter le Pont-Charles de manière sereine, sans la cohue. En effet, nous avions fait deux tentatives auparavant, mais n'étions jamais allés jusqu'au pont, tant la foule était compacte : pont noir de monde, queue des 600 diables pour y accéder. Ce matin, les petites ruelles médiévales qui conduisent jusqu'à l'édifice sont vides, et c'est de bon augure pour la visite. De plus, il fait beau et les rayons du soleil caressent notre peau avec douceur. Arrivés au pied du pont, nous sommes accueillis par une entrée imposante de pierre sombre et aux dorures brillantes. Au cours de notre promenade, nous croisons quelques couples d'amoureux, des petits groupes de musiciens qui jouent en live et offrent une atmosphère guillerette à la visite. Bon nombre d'artistes exposent leurs talents et proposent de dessiner ou de caricaturer les passants, en échange de quelques couronnes. Mais le clou du spectacle est certainement ce défilé de statues de pierre qui nous observent tour à tour depuis la rambarde du pont. Celle de Nepomucène attire sans doute le plus de touristes car elle est intimement liée à l'histoire religieuse de la ville: figure pro-catholique durant l'époque de la Contre-Réforme, Jean Nepomucène fut arrêté, torturé, puis jeté ligoté et à moitié mort dans la rivière par ses opposants. La légende veut que cinq étoiles soient apparues là où son corps coula. Sa dépouille fut récupérée en 1719 et, miracle, on s'aperçut que malgré l'état de putréfaction de l'ensemble de son corps, sa langue était encore rose et charnue ! La statue ne tire pas la langue mais arbore cinq étoiles au-dessus de sa tête. Nous poursuivons notre balade, saluons les autres statues et arrivons de l'autre côté de la ville et sommes surpris par son caractère touristique: les panneaux et les couronnes tchèques ont été détrônés par l'anglais et l'Euro ! Après une pause au Starbucks où nous buvons un mauvais thé, nous visitons l'église Notre-Dame de la Chaîne, fraîche, calme et jolie, puis nous repartons. Nous ne sommes alors plus seuls sur le pont, les touristes se sont levés ! Nous nous perdons dans le labyrinthe de petites ruelles pour parvenir à Staromestske Namesti. Il est 12h50 et nous souhaitons assister à la ronde des apôtres, qui a lieu toutes les heures à l'horloge astronomique. Nous attendons donc dix minutes et à 13 heures précises, au-dessus des deux cadrans, deux petites fenêtres s'ouvrent et laissent apparaître l'une après l'autre des statues de bois figurant chacun des douze apôtres. Et, un coq doré situé entre les deux fenêtres agite ses ailes pour faire retentir les treize coups de l'horloge. C'est un moment très plaisant! Mais, depuis ce matin, nous commençons à sentir la faim. Notre guide nous indique un restaurant dans une petite rue calme, que nous avons envie d'essayer: nous choisissons un suprême de poulet accompagné de tagliatelles aux champignons. Nous goûtons le vin de Moravie... --- ### Une semaine à Prague : le quartier juif et l’anonymous bar - **URL**: https://www.skyminds.net/prague-quartier-juif-anonymous-bar/ Ce matin, réveil aux aurores pour s'assurer de ne pas rater le petit déjeuner. Nous partons pour le quartier juif de la ville. Il y a cinq synagogues à visiter et un ancien cimetière juif. Nous optons donc pour le multipass, qui comprend l'entrée de chacun des sites. Matt et Kafka C'est la première fois que nous entrons dans une synagogue et apprécions l'architecture bien particulière de chacune d'entre elles. La synagogue espagnole, qui allie le style juif au style maure est remarquable : chaque centimètre de la pièce est orné et l'ensemble est superbe. La visite de tous les sites constitue en réalité un musée consacré à l'histoire du peuple juif pragois, et en particulier à sa déportation. La synagogue Pinkas est ainsi un mémorial de l'holocauste puisque sur l'ensemble des murs sont inscrits les noms des victimes, classés par camp d'extermination. À l'étage, sont exposés les dessins des enfants de Terezin qui ont représenté leur vie dans les camps. La visite est vraiment saisissante. Le cimetière juif est le plus ancien d'Europe: il présente des stèles sur lesquelles apparaissent des épitaphes rédigées en hébreu datant du XVème siècle. Elles sont souvent indéchiffrables car le temps à fait son œuvre... Les stèles sont disposées cahin caha: en réalité, ce sont trois couches de tombes qui ont été empilées au fil des siècles car la religion juive interdit de toucher les sépultures. Le visiteur évolue donc dans cette sombre forêt de pierres, illuminée par les doux rayons du soleil que laissent passer les feuilles des arbres. La faim commence à se faire sentir et il est urgent de se sustenter tant Cécile est affamée. Nous trouvons un pub typiquement tchèque face à la statue de Kafka, à côté de la synagogue espagnole. Nous choisissons un plat typique, qui a longtemps été l'unique plat végétarien du pays: de l'edam et du camembert frits, accompagnés de pommes de terres bouillies et d'une sauce tartare. C'est très bon et change des plats en sauce. Nous terminons notre repas par une glace à la vanille arrosée de coulis chaud de framboise. Le nom du dessert "hot love" est prometteur...et c'est un vrai délice. Matt et Cécile. Vers 16h, nous rentrons à nos pénates, sieste oblige. Le soir, nous repartons en ville pour essayer un bar dégoté par Matt : l'AnonymouS Bar, qui reprend le décor de V for Vendetta (les toilettes sont peintes comme les portes de prison où est enfermée Nathalie Portman dans le film). Le masque de Guy Fawkes est omniprésent et des citations propres à Internet couvrent les murs : "it's a trap", " the cake is a lie", "mind=blown"... ainsi que le slogan des Anonymous. Le principe de la carte est le suivant : on commande une boisson surprise appelée "the key" : il s'agit en fait d'un excellent rhum aux épices qui pique nos papilles. Cette boisson est accompagnée d'une lampe spéciale, qui permet de lire la carte des cocktails. Chacun porte le nom d'une opération, rappelant celles que... --- ### Une semaine à Prague : château de Prague, torture et tir à l’arbalète - **URL**: https://www.skyminds.net/prague-chateau-torture-tir-arbalete/ Cela doit être dû au petit train d'hier soir... nous nous réveillons à 10:30 et constatons avec stupeur que nous avons loupé le petit déjeuner! Notre surprise passée, nous nous mettons en route et, à l'heure où nous arrivons en ville, optons pour un déjeuner rapide chez Burger King. Une fois Cécile rassasiée, nous pouvons repartir. Nous optons pour la visite du château de Prague et de la Cathédrale St Guy (Saint Vitus en anglais). Nous prenons le billet qui permet aussi de voir la basilique et la Golden Lane. On y voit la maisonnette de 12m² dans laquelle Kafka est supposé avoir écrit un de ses ouvrages. On reste plutôt sceptique face à cette annonce de la vendeuse qui s'empresse de nous demander notre pays d'origine et de nous montrer quels ouvrages acheter... Nous passons notre chemin et optons pour la visite du musée des armes et armures. C'était vraiment super de voir toutes les évolutions au fil du temps. Plastron Matt en a aussi profité pour s'essayer au tir d'arbalète: 3 tirs pour 50 couronnes, soit deux euros! Tir en plein dans le mille au premier essai, même le camelot était impressionné. A la fin de la visite, il y a une pièce qui rassemble tous les instruments de torture du Moyen-Age, cela donne le frisson : Quand nous sortons de l'enceinte du château, nous admirons une très belle vue de Prague et de ses toits rouges : Ensuite, retour en centre-ville pour reprendre une bière au bar à train et nous sommes allés dans un excellent restaurant indien qui est devenu notre restaurant indien numéro 1 et pourtant, Dieu sait que nous les écumons! Nous avons été impressionnés par le prix de la bière à Prague : non seulement elle est moins chère que l'eau, mais en plus pour deux pintes, on s'en tire pour 2.50 euros. On s'est souvenus avec douleur du prix d'une pinte à Paris... Retour tranquille à l'hôtel. --- ### Une semaine à Prague : Old Town Square, horloge astronomique et gastronomie - **URL**: https://www.skyminds.net/prague-old-town-square-horloge-astronomique-et-gastronomie/ Ce matin, après une bonne nuit et un petit déjeuner rassérénant à l'hôtel, nous décidons de visiter la vieille ville, autour d'Old Town Square. Nous optons pour l'achat de pass 3 jours à 310 couronnes l'unité (environ 11,50 euros) qui nous permettent d'emprunter le métro en illimité. Quelques jours plus tard, nous nous rendrons compte qu'il valait mieux acheter des tickets à l'unité, pour chaque trajet. Nous descendons à l'arrêt de métro Namesti Republiky et nous retrouvons sur la place éponyme. Nous nous perdons dans les petites ruelles de la vieille ville au gré des marchés où les objets médiévaux se mêlent aux fruits et légumes de saison. Se déploient devant nos yeux des façades bigarrées sur lesquelles différents styles et différentes époques se côtoient. Old Town Square Au détour de notre ballade, nous visitons l'église Saint Nicolas, croisons la statue de Jan Hus et admirons l'horloge astronomique dont le mécanisme et les ornements nous font voyager dans le temps : à chaque heure, s'enclenche la marche des apôtres. Elle présente aussi les douze signes du zodiaque et indique la position de la lune et du soleil. Horloge Astronomique à Old Town Square Nous sentons quelques gouttes de pluies mais avons à peine le temps de nous en apercevoir qu'elle a déjà cessé. Nous continuons notre promenade dans les jolies ruelles de la ville, jusqu'à ressentir la faim. A l'arrêt de métro Muztek (ligne C), nous optons pour l'établissement appelé "U Provaznice" avec son long comptoir et son mobilier moyenâgeux. Les fresques du plafond présentent des petits démons qui nous observent à travers un oculus et nous donnent l'impression de nous trouver dans une taverne d'un autre temps. Oculus de la taverne La nourriture est typiquement tchèque : Matt choisit de goûter le goulasch et Cécile le "vepro knedlo zelo" autrement dit, du porc mariné au cumin accompagné de knedliky (pain trempé dans la sauce) et de choucroute. Les portions sont pantagruéliques et une fois n'est pas coutume, Matt ne prend pas de dessert (!). De la bière ! L'après-midi, petite promenade dans la ville, sieste à l'hôtel. Nous repartons le soir dans une brasserie dans laquelle les pintes sont servies sur la table par un train : 400 mètres de rails parcourent le bar jusqu'aux tables et le serveur, déguisé en chef de gare avec sa casquette bleue, dépose les pintes dans le wagon puis programme le train pour desservir les tables numérotées. C'est extrêmement ludique : quel plaisir d'entendre et de voir nos bières arriver directement sur la table! La bière qui arrive en train, à l'heure de l'apéro! Le concept nous plaît tellement que nous reprenons une tournée et mangeons là. Heureux qui comme Ulysse a fait un beau voyage... Ensuite, retour à l'hôtel. --- ### Une semaine à Prague : Nantes – Prague - **URL**: https://www.skyminds.net/une-semaine-a-prague-nantes-prague/ Pour les 27 ans de Cécile, nous partons à Prague, en République Tchèque. Il y a une ligne directe Nantes - Prague avec la compagnie Volotea et le trajet dure environ 2 heures. Nos valises prêtes, Julia nous conduit à l'aéroport et nous décollons avec environ 45 min de retard, comme souvent avec Volotea. Deux heures plus tard, nous atterrissons. Nul besoin de présenter notre passeport; en 5 minutes, nous sommes dehors. Un chauffeur de taxi de la compagnie Prague Airport Transfer nous attend avec une pancarte à notre nom. C'est la grande classe ! C'est l'avantage de réserver à l'avance: le chauffeur connaît déjà notre destination, et nous savons le prix de la course, ce qui évite toute arnaque. Nous n'avons qu'à nous laisser guider jusqu'à ce que nous arrivions au pied de notre hôtel au bout d'une demi-heure. Notre hôtel se trouve au nord de la ville, un peu excentré, sur la ligne C du métro. Le check-in se fait sans encombre, car nous avions déjà tout réservé sur Booking. Notre chambre est spacieuse, très propre et pourvue d'un lit king size ! Un petit thé de bienvenue nous y attend et nous le dégustons avec plaisir avant de repartir découvrir la ville et dîner. Nous allons à la bouche de métro, retirons des couronnes tchèques au distributeur et découvrons que le distributeur de tickets de métro n'accepte que des pièces ! Nous repartons donc à l'hôtel situé à 150 mètres de là et achetons des tickets de métro valables 30 minutes au concierge de l'hôtel. Il ne faut que 12 minutes en métro pour rejoindre l'arrêt Muzeum, en plein centre-ville, sur la place Venceslas. On y trouve tous les grands magasins et des fast-foods en pagaille dans un mouchoir de poche. En sortant de la bouche de métro, la hauteur des édifices frappe notre esprit : devant nous se trouvé l'immense Musée national et à notre droite s'élève l'imposante statue de Václav Havel à cheval. Nous nous retournons et découvrons l'avenue Venceslas qui s'étend sur plusieurs kilomètres. En son centre, une esplanade où les Pragois se retrouvent pour bavarder sur des bancs, déguster un hot-dog. Le tramway d'époque y circule aussi tout en bas. Place Venceslas Armés du routard, nous nous rendons dans un pub pour y manger des plats traditionnels tchèques : bœuf à la confiture d'airelles et à la chantilly accompagné de pain qui baigne dans la sauce pour Matt et aubergines fourrées au poulet pour Cécile. En dessert, nous dégustons respectivement un tiramisu et un apple strudel. Les plats sont très bons, la bière aussi. Par contre, on s'aperçoit vite que les seuls clients sont... français ! Le routard les attire comme des mouches, c'est fou. Ensuite, petite balade digestive dans les rues de la ville. Tout est éclairé, il fait bon, c'est très agréable. Les gens sont vraiment tranquilles, pas bruyants et on se sent bien. Au détour d'un chemin, nous tombons sur la statue d'un cheval renversé qui est en fait la... --- ### Salmonella Dub – Slide - **URL**: https://www.skyminds.net/salmonella-dub-slide/ Salmonella Dub est un groupe de Dub/Drum'n'Bass/Reggae/Roots formé en 1992 par Andrew Penman, David Deakins, et Mark Tyler à Christchurch, en Nouvelle Zélande. J'aime bien leur morceau Slide : https://www.youtube.com/watch?v=6ItRMpgwXg0 C'est vraiment l'été quand on se remet à écouter du dub et du reggae ! --- ### Recette du punch planteur multi-fruits - **URL**: https://www.skyminds.net/recette-du-punch-multifruits/ Punch multi-fruits Je ne sais plus qui a parlé de recette de pot. Voici une recette de punch planteur multi-fruits ultra facile. Ingrédients 1 litre de jus de goyave1 litre de jus d'orange1 litre de jus de poire (ou banane)1/2 litre rhum brun1/2 litre rhum blancvanille et sucre vanillé (selon le goût) Préparation Ajoutez tous les ingrédients dans une grande marmite. Notes Cela donne 4 litres de boisson. Si vous en voulez plus, il suffit de multiplier les doses de chaque ingrédient. Personne ne s'est jamais plaint de cette recette. --- ### The Eagles – Hotel California - **URL**: https://www.skyminds.net/the-eagles-hotel-california/ "Hotel California", un des hits des Eagles, est un morceau que l'on peut retrouver sur l'album éponyme de 1976. Voici la version live jouée en 1977 à Washington DC : https://www.youtube.com/watch?v=3394H9tGsoQ Dans une interview remontant à 2009, le critique musical John Soeder a posé la question suivante à Don Henley : Dans "Hotel California" vous chantez: "So I called up the captain / 'Please bring me my wine' / He said, 'We haven't had that spirit here since 1969.'" Je me rends compte que je ne suis probablement pas le premier à attirer votre attention sur ce point, mais le vin n'est pas un spiritueux. Le vin est fermenté ; les spiritueux sont distillés. Regrettez-vous ces paroles ? Don Henley lui a alors répondu : Merci pour le tutoriel et, non, vous n'êtes pas le premier à attirer mon attention sur ce sujet—et vous n'êtes pas le premier à interpréter complètement de travers la parole et à manquer la métaphore. Croyez-moi, j'ai consommé suffisamment de boissons alcooliques dans ma vie pour savoir comment elles sont fabriquées et quelle est la nomenclature appropriée. Mais cette ligne de la chanson a peu ou rien à voir avec les boissons alcooliques. C'est une déclaration sociopolitique. Mon seul regret serait de devoir vous l'expliquer en détail, ce qui annulerait le but de l'utilisation de dispositifs littéraires dans l'écriture de chansons et abaisserait la discussion à une querelle stupide et sans rapport sur les processus chimiques. Wikipedia Classic. --- ### Bilan de l’année scolaire 2014-2015 - **URL**: https://www.skyminds.net/bilan-de-lannee-scolaire-2014-2015/ Cette année, j'ai eu droit à enseigner dans deux lycées de centre-ville. Cela change de l'année précédente ! Les lycées Bien qu'ils soient tous deux en centre-ville, l'atmosphère est très différente au sein des deux établissements : mon premier lycée est récent, l'autre fait partie des lycées "historiques" de la ville et cela se ressent au niveau de l'ambiance de la salle des professeurs. Le lycée récent est beaucoup plus dynamique et les profs de maths ne ressemblent pas à Socrate comme dans l'autre ;-) Les élèves Cette année, j'ai eu des secondes, des premières L et ES, et deux terminales ES. C'est la première fois que j'avais des secondes et je les ai trouvé très bien : bon niveau, bien éduqués. Tous savent se servir des TICE et ils m'apprennent même quelques astuces sur Google Drive ou sur les applis qu'ils utilisent. C'est très enrichissant. En fait, je me suis réconcilié avec les secondes cette année - ils sont bien loin des secondes que nous étions à l'époque et c'est tant mieux! La pratique Je me suis amusé à changer un peu ma pratique cette année : j'ai tenté de faire les choses différemment et d'éviter le frontal, c'est à dire moi devant eux. Du coup, on a fait d'autres activités comme de la recherche en salle info, de la réalisation de diaporama au départ (mais bonjour l'ennui) pour aller vers des choses plus créatives comme l'écriture de scénario gore, jouer une scène de théâtre qui dénonce quelque chose, écrire une nouvelles à plusieurs, créer l'invention de demain et la présenter à la classe... bref, j'ai tenté de nouvelles approches et cela a bien fonctionné. J'ai beaucoup privilégié les travaux de groupes, avec toujours des travaux individuels, et je pense que cela a été plutôt productif. Il me semble que les élèves ont plus accroché que la méthode un texte/des questions/un récapitulatif. L'année prochaine, je remets cela. What's next? La grande nouvelle, c'est que je ne serai pas TZR l'année prochaine : j'ai obtenu ma mutation dans un lycée et j'en suis extrêmement content :) --- ### Recette du punch au muscadet - **URL**: https://www.skyminds.net/recette-du-punch-au-muscadet/ Punch au muscadet Ingrédients 1 bouteille de muscadet10 cl de rhum12 cl de sirop de sucre de canne1/2 sachet de sucre vanilléassortiment de fruits : tranches d'orange et de citron Préparation Ajoutez tous les ingrédients. Notes J'ai utilisé du rhum blanc et du sirop de sucre de canne roux.A la fin, j'ai ajouté un tout petit peu de cannelle pour ajouter plus de goût. --- ### Ressources pour enseigner l’anglais au primaire - **URL**: https://www.skyminds.net/ressources-pour-enseigner-langlais-au-primaire/ L'année dernière, j'ai - contre mon gré - enseigné à l'école primaire à deux classes de CM2 et ces quelques ressources m'ont été utiles : J'apprends l'anglais avec les Mémen Ma Primaire : Anglais J'ai étudié aussi quelques vidéos en fin d'année dont deux en particulier ont suscité un certain intérêt de la part des élèves. School in Britain : https://www.youtube.com/watch?v=yMUJKH1fFF0 et This is London : Je me suis servi de ces vidéos pour montrer aux élèves à quoi ressemble un peu l'école en Angleterre. C'est très intéressant pour marquer les différences et les points communs, en utilisant les modaux. --- ### Bilan des années scolaires 2012-2014 - **URL**: https://www.skyminds.net/bilan-des-annees-scolaires-2012-2014/ Je viens de me rendre compte que mon dernier bilan annuel date de 3 ans, en 2011-2012... il y eu des changements depuis ! Histoire de ne pas perdre le rythme, voici ce qui s'est passé. Récapitulatif de l'année scolaire 2012-2013 J'ai eu un collège et un lycée, en faisant le grand écart : professeur principal de 6ème, 4ème SEGPA, et des premières et terminales L full options... Autant dire que passer des SEGPA au TL à l'heure suivante, ça fait tout drôle ! Les élèves Une très bonne année qui m'a fait découvrir le lycée. Et j'ai eu des élèves de lycée super sympas, avec qui je suis allé boire un coup après leur obtention du bac. Un des points forts des élèves de lycée : il n'y a quasiment plus besoin de dressage comme au collège. Ils sont éduqués, connaissent les règles et savent à peu près pourquoi ils sont là. Au niveau du travail par contre, pas de grands changements : il ne faut toujours pas compter sur les manuels dans les sacs ou sur la lecture des oeuvres chez eux. Les collègues Les collègues de lycée sont bien moins stressés que ceux du collège (à part de très rares exceptions). Par contre, les gens vont et viennent et il n'y pas de cohésion dans la salle des professeurs. J'ai également bien apprécié le fait de sortir prendre des pots ou aller au restaurant avec mes collègues du lycée après une journée de travail. C'est vraiment un petit plus. Au collège, je me suis fait un bon pote - Jan - avec qui on boit des coups de temps en temps. J'y ai aussi rencontré Cécile --- ### Hell on Wheels saison 5 - **URL**: https://www.skyminds.net/hell-on-wheels-saison-5/ Voici la cinquième et dernière saison de Hell on Wheels sur AMC. Le chemin de fer n'est toujours pas achevé et Cullen Bohannon se trouve toujours avec la Central Pacific Railroad. Il est toujours déterminé à finir sa tâche, rallier la Californie à l'Utah, et espère toujours retrouver sa famille. Enfin, s'il arrive à ne pas se faire tuer ou à ne pas croiser les mauvaises personnes sur son chemin ! Cette dernière saison de quatorze épisodes sera diffusée en deux parties : sept épisodes durant l'été 2015, puis sept autres épisodes en 2016. A regarder en version originale: Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Old Crow Medicine Show – Wagon Wheel - **URL**: https://www.skyminds.net/old-crow-medicine-show-wagon-wheel/ "Wagon Wheel" est une chanson composée à deux mains. Le refrain et la mélodie viennent d'une démo enregistrée par Bob Dylan pendant les sessions Pat Garrett and Billy the Kid. Bien qu'elle ne soit jamais sortie officiellement, la chanson de Dylan est sortie sur un bootleg et porte le nom du refrain "Rock Me Mama". Bob Dylan ayant laissé la chanson inachevée, Ketch Secor du groupe Old Crow Medicine Show a écrit des couplets pour compléter le refrain original de Dylan. Les paroles additionnelles de Secor transforment également "Rock Me, Mama" en "Wagon Wheel" : https://www.youtube.com/watch?v=1gX1EP6mG-E La chansol décrit le voyage vers le sud d'un auto-stoppeur le long de la côte Est des Etats-Unis, depuis New England au Nord-Est, en passant par Roanoke, Virginia pour atteindre Raleigh, North Carolina, où le narrateur espère retrouver celle qu'il aime. Alors qu'il marche au sud de Roanoke, il est pris en stop par un routier qui vient de Philadelphie, en passant par l'Ouest de la Virginie en direction de Cumberland Gap et Johnson City, Tennessee. Wagon Wheel lyrics Headed down south to the land of the pinesAnd I'm thumbin' my way into North CarolineStarin' up the roadPray to God I see headlights I made it down the coast in seventeen hoursPickin' me a bouquet of dogwood flowersAnd I'm a-hopin' for RaleighI can see my baby tonight So rock me, mama, like a wagon wheelRock me, mama, any way you feelHey, mama rock meRock me, mama, like the wind and the rainRock me, mama, like a south-bound trainHey, mama rock me Runnin' from the cold up in New EnglandI was born to be a fiddler in an old-time string bandMy baby plays the guitarI pick a banjo now Oh, the North country winters keep a-gettin' me nowLost my money playin' poker so I had to up and leaveBut I ain't a-turnin' backTo livin' that old life no more So rock me, mama, like a wagon wheelRock me, mama, any way you feelHey, mama rock meRock me, mama, like the wind and the rainRock me, mama, like a south-bound trainHey, mama rock me Walkin' to the south out of RoanokeI caught a trucker out of PhillyHad a nice long tokeBut he's a-headed west from the Cumberland GapTo Johnson City, Tennessee And I got to get a move on before the sunI hear my baby callin' my nameAnd I know that she's the only oneAnd if I die in RaleighAt least I will die free So rock me, mama, like a wagon wheelRock me, mama, any way you feelHey, mama rock meRock me, mama, like the wind and the rainRock me, mama, like a south-bound trainHey, mama rock me --- ### Suits saison 5 - **URL**: https://www.skyminds.net/suits-saison-5/ Voici la cinquième saison de Suits sur USA Networks. Après la victoire difficile sur l'affaire Liberty Rail, rien ne va plus chez Pearson Specter Litt. Donna quitte Harvey après plus de douze années passées à son service et propose ses talents à son rival de toujours, Louis. Pendant ce temps, Harvey se plonge dans une affaire de banqueroute et n'accepte pas le départ de Donna. Cela le pousse à faire une erreur qui va coûter cher à son client. Harvey est aussi victime d'une attaque de panique et commence une thérapie chez une psychiatre dans le but d'obtenir des anti-dépresseurs et retrouver le sommeil. Jessica, maintenant célibataire, réorganise sa vie et Mike et Rachel ont une bonne nouvelle à annoncer. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Afficher le bureau sous Ubuntu : raccourci, dock et bouton - **URL**: https://www.skyminds.net/ubuntu-afficher-bureau-show-desktop/ Afficher le bureau sous Ubuntu : raccourci, dock et bouton “Show Desktop” Sur les anciennes versions d’Ubuntu, on pouvait ajouter une petite icône “Show Desktop” dans le tableau de bord GNOME. Elle permettait de masquer toutes les fenêtres pour afficher rapidement le bureau. Si vous avez connu cette époque, vous avez peut-être aussi connu le bug charmant où l’applet “Show Desktop” ne se chargeait pas correctement au démarrage. Il fallait alors bricoler la session, relancer le panel ou remettre l’applet à la main. Du grand artisanat GNOME 2, avec copeaux fournis. Aujourd’hui, ce fonctionnement n’existe plus comme avant. Ubuntu utilise GNOME Shell, l’Ubuntu Dock et des extensions GNOME. La bonne question n’est donc plus “comment réparer l’applet Show Desktop au démarrage ?”, mais plutôt : comment afficher rapidement le bureau sous Ubuntu aujourd’hui ? L’ancien applet “Show Desktop” a disparu L’applet historique appartenait à l’environnement GNOME 2. Il vivait dans un tableau de bord classique, à côté du menu, de l’horloge et des lanceurs. Les versions modernes d’Ubuntu ne fonctionnent plus ainsi. GNOME Shell a remplacé les anciens panels par une interface centrée sur : la touche Super ; la vue Activités ; le dock Ubuntu ; les espaces de travail ; les extensions GNOME Shell. Il ne sert donc plus à rien de chercher à réparer l’ancien applet. Il faut utiliser les méthodes actuelles. Méthode la plus simple : utiliser le raccourci clavier Sur Ubuntu, le plus rapide reste le clavier. Essayez d’abord : Ctrl + Alt + D Selon votre version d’Ubuntu, ce raccourci peut masquer toutes les fenêtres et afficher le bureau. Sur certaines configurations, vous pouvez aussi utiliser : Super + D La touche Super correspond généralement à la touche Windows sur un clavier PC, ou à la touche Commande sur certains claviers Mac utilisés avec Linux. Si aucun des deux raccourcis ne fonctionne, vous pouvez le définir manuellement dans les paramètres clavier. Créer ou modifier le raccourci “Afficher le bureau” Pour configurer le raccourci depuis l’interface graphique : Ouvrez les Paramètres. Allez dans Clavier. Ouvrez la section Raccourcis clavier. Cherchez Masquer toutes les fenêtres normales ou Afficher le bureau. Attribuez le raccourci de votre choix. Si vous venez de Windows, Super + D reste le raccourci le plus naturel. Si vous avez de vieux réflexes Ubuntu, Ctrl + Alt + D peut être plus confortable. Ubuntu documente aussi les principaux raccourcis GNOME : Super ouvre la vue Activités, Super + A affiche la liste des applications, et Super + Page Up / Super + Page Down permettent de naviguer entre les espaces de travail. Afficher le bureau avec la vue Activités GNOME Shell pousse moins l’idée d’un bureau couvert d’icônes. Il privilégie la vue Activités. Appuyez simplement sur : Super Cette touche affiche la vue d’ensemble des fenêtres, les espaces de travail et le dock. Ce n’est pas exactement “Afficher le bureau” au sens ancien, mais c’est souvent plus efficace pour changer de fenêtre, lancer une application ou retrouver son environnement. Pour beaucoup d’utilisateurs, le... --- ### Hellfest 2015 : Highway to Hell (All Stars cover) - **URL**: https://www.skyminds.net/hellfest-2015-highway-to-hell-all-stars-cover/ Voici une reprise exceptionnelle All Stars du titre "Highway To Hell" d'AC/DC, enregistrée lors du Hellfest 2015 : https://www.youtube.com/watch?v=Gzm8HU3BnXA Ce All Stars se compose de Brian "HEAD" Welch - Korn, Joel O'Keeffe - Airbourne, Ryan Roxie - Alice Cooper, Jason Hook - Five Finger Death Punch, Björn Gelotte - In Flames, The Answer, Max Cavalera - Soulfly & Cavalera Conspiracy, Didier Wampas - Les Wampas, Ladies Ballbreaker, Butcher Babies, Jansen Press - Carousel Vertigo, Charlie Parra Del Riego et Steven André. A noter que Joel o'Keeffe aurait totalement pu chanter également. Super solo acoustique de Ryan Roxie et solo shred de Charlie Parra Del Riego. Génial. Cela dépote comme version non ? --- ### BASH : lancer une tâche en arrière-plan et fermer le terminal sans interrompre la tâche - **URL**: https://www.skyminds.net/bash-lancer-une-tache-en-arriere-plan/ J’ai récemment mis à jour mon article sur Rsync pour rapatrier quelques fichiers d’un serveur vers mon NAS Synology. Or, une question revient vite dès qu’une commande doit tourner pendant plusieurs heures : comment lancer une tâche depuis un terminal, fermer ce terminal, puis laisser la commande continuer tranquillement ? Par défaut, ce n’est pas toujours gagné. Quand on ferme un terminal, le shell peut envoyer un signal SIGHUP aux processus qu’il a lancés. Résultat : la commande peut s’arrêter, même si elle était encore en train de travailler. Heureusement, Bash propose plusieurs méthodes pour lancer une commande en arrière-plan, la détacher du terminal, ou même retrouver une session plus tard. Voici les solutions que je garde sous le coude. Lancer une commande en arrière-plan avec & La méthode la plus simple consiste à ajouter une esperluette & à la fin de la commande. Bash lance alors le processus en arrière-plan et rend immédiatement la main au terminal. sleep 100 & Le shell affiche alors un numéro de job et un identifiant de processus, aussi appelé PID : [1] 12345 C’est pratique, mais ce n’est pas suffisant si vous voulez fermer le terminal sans risque. La commande reste encore rattachée à la session du shell. On peut vérifier les tâches lancées depuis le shell courant avec : jobs Et on peut vérifier que le processus tourne toujours avec : ps aux | grep sleep Détacher une tâche avec disown La commande disown permet de retirer un job de la table des tâches du shell. En clair, Bash ne le surveille plus. Ainsi, lorsque le terminal se ferme, le shell ne tente plus de gérer cette commande. On peut lancer une commande en arrière-plan, puis la détacher immédiatement : sleep 600 & disown Ou bien, plus compact : sleep 600 & disown À partir de là, vous pouvez fermer le terminal. Le processus devrait continuer à tourner. Pour une vraie commande longue, comme un transfert Rsync, cela donne par exemple : rsync -avh --progress /home/www/ user@nas:/volume1/backups/www/ & disown Petit bémol tout de même : si la commande écrit dans le terminal, sa sortie peut devenir gênante, voire provoquer des comportements inattendus après la fermeture de la session. Il vaut donc mieux rediriger la sortie standard et les erreurs vers un fichier de log. rsync -avh /home/www/ user@nas:/volume1/backups/www/ > ~/rsync-backup.log 2>&1 & disown On peut ensuite suivre l’avancement avec : tail -f ~/rsync-backup.log Utiliser nohup nohup signifie “no hangup”. La commande sert justement à ignorer le signal SIGHUP, souvent envoyé lorsqu’un terminal se ferme. Exemple simple : nohup sleep 600 & Par défaut, nohup écrit la sortie de la commande dans un fichier nommé nohup.out, dans le répertoire courant ou dans votre dossier personnel. Pour une commande longue, je préfère être explicite et définir moi-même le fichier de log : nohup rsync -avh /home/www/ user@nas:/volume1/backups/www/ > ~/rsync-backup.log 2>&1 & C’est simple, robuste, et suffisant pour une commande ponctuelle que l’on n’a pas besoin de reprendre en main ensuite. Créer un sous-shell On... --- ### Compte-rendu du Hellfest 2015 - **URL**: https://www.skyminds.net/compte-rendu-du-hellfest-2015/ Mon incontournable événement du mois de juin est le Hellfest. C'est ma bouffée d'air frais, qui me permet d'anticiper la fin de l'année avec délectation. Et cette année marque les 10 ans de ce festival de metal génial. Vendredi Cette année, accompagné de Cécile et Julia, on décide de partir en camping-car - fini la tente et le matelas à gonfler ! Je pars avec Julia chercher le camping-car chez les parents de Cécile puis nous nous dépotons vers 11h pour rejoindre le festival. Une demi-heure de marche plus tard, nous entrons dans Clisson Rock City. Au programme ce vendredi, nous avons écouté Vulcain, The Quire Boys, We Are Harlot, Skyforger, Orchid, Billy Idol, Sodom, Motorhead, Lamb of God, Alice Cooper. J'ai bien aimé réentendre The Quire Boys, qui assuraient la première partie d'Alice Cooper lors des Monsters of Rock de 2003 lors de la tournée anglaise. Nous avons découvert We Are Harlot, qui n'était pas mal. J'ai été un peu déçu de constater que Skyforger étaient venus sans leur flûte, je trouvais ça cool. Orchid, génial, a oscillé entre Black Sabbath et Ronnie James Dio, cela a été pour moi un des meilleurs concerts de la journée : https://www.youtube.com/watch?v=zPqU2Ih2LZk https://www.youtube.com/watch?v=jPgh-2qAfHs Billy Idol n'avait pas un son terrible et je l'ai trouvé fatigué sur plusieurs chansons. Motorhead - Lemmy égal à lui-même. Alice Cooper, toujours au top, nous a encore offert un superbe spectacle, en véritable showman. A chaque fois que je le vois, je me dis que vraiment chaque détail est réglé au millimètre et que c'est vraiment lui qui mène la danse. Il a joué tous ses grands classiques mais n'a pas eu le temps d'éclater les ballons, qui se sont vite retrouvés dans la foule. Samedi Au programme du jour: Ace Frehley, Backyard Babies, Airbourne, Slash, Killing Joke, ZZ Top, Faith No More, Scorpions, Marilyn Manson. Airbourne est vraiment dans la veine AC/DC. Ils n'ont pas eu de bol car il y a eu une panne de son dès le départ du concert. Visiblement, seule la fosse pouvait les entendre. Nous avons donc tous croisé nos bras en l'air pour leur signifier que quelque chose clochait. Et lorsque le son est revenu, je pense qu'ils ont entendu notre contentement : cela ressemblait à un tsunami sonore ! Slash a bien joué comme à son habitude, plutôt précis même. Il a visiblement arrêté la drogue et a grossi en conséquence. Le chanteur Myles Kennedy est vraiment bien je trouve : https://www.youtube.com/watch?v=CDjN6JCTef8 On a tous adoré le show de Faith No More, qui a été notre très bonne surprise de ce festival : les chansons étaient variées allant du crooner romantique au metal ou au rap. Franchement, c'était extrêmement agréable et le chanteur a interagi avec le public, allant même jusqu'à taxer le t-shirt d'un gars de la sécurité, pour le mettre et repartir sur scène. Vraiment un très bon concert: PlayFaith No More | Live Hellfest 2015 Scorpions a très lourdement insisté sur "vive la France" à tout... --- ### True Detective saison 2 - **URL**: https://www.skyminds.net/true-detective-saison-2/ Voici la seconde saison de True Detective sur HBO. L’intrigue nous entraîne cette fois en Californie où on pourra suivre quatre personnages se retrouvant impliqués dans une conspiration. Le point de départ sera la découverte d’une scène de crime par le policier Paul Woodrugh (Taylor Kitsch) qui va attirer l’attention des détectives Ray Velcoro (Colin Farrell) et Ani Bezzerides (Rachel McAdams), mais aussi de Frank Semyon (Vince Vaughn), un entrepreneur et criminel qui est marié à Jordan (Kelly Reilly). Comme dans la première saison, nos détectives sont pris dans une affaire qui s’étend sur plusieurs années et qui va bouleverser leur vie. A noter que les acteurs ont changé puisque la série se présente comme une anthologie - chaque saison ayant un casting et une intrigue distincts. Nous quittons également le décor de la Louisiane pour un coin méconnu de la Californie. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Pronote ne gère ni Chromium, ni Opera - **URL**: https://www.skyminds.net/pronote-ni-chromium-ni-opera/ Pronote est le logiciel utilisé par la quasi-totalité des lycées de France, ainsi que quelques collèges. Il est très pratique à utiliser, sort des graphiques lors des conseils de classe etc mais au niveau de l'inter-opérabilité, ce n'est pas encore ça. Voici quelques captures d'écran qui illustrent le problème. Sous Chromium 45.0.2414.0 - plus précisément Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/45.0.2414.0 Chrome/45.0.2414.0 Safari/537.36: Opera 31 (basé sur Chrome 44.0.2398.0) - plus précisément Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2398.0 Safari/537.36 OPR/31.0.1876.0 (Edition developer) : Vous pouvez remarquer que ces deux navigateurs utilisent le moteur de Chrome - bien que Pronote annonce qu'il soit compatible avec Chrome 5... Bref, pour l'inter-opérabilité, Pronote peut revoir sa copie. --- ### Subversion : ajouter et mettre à jour un plugin WordPress sur le dépôt officiel - **URL**: https://www.skyminds.net/subversion-ajouter-maj-plugin-wordpress-depot-officiel/ De temps en temps, je mets mes plugins WordPress sur le dépôt officiel mais j'utilise assez rarement subversion - connu également sous le doux nom svn - et j'ai tendance à en oublier la syntaxe. Voici donc un petit aide-mémoire pour l'utilisation de subversion avec les plugins WordPress. Ajouter un plugin sur le dépôt officiel WordPress 1. On crée un répertoire local sur notre machine pour y accueillir notre projet: mkdir my-local-dir 2. On synchronise le dépôt avec un check-out en donnant le slug du plugin: svn co https://plugins.svn.wordpress.org/your-plugin-name my-local-dir Résultat: > A my-local-dir/trunk > A my-local-dir/branches > A my-local-dir/tags > Checked out revision 1135625. Subversion vient d'ajouter ( "A" signifie "add" ) tous les répertoires du dépôt central à notre copie locale. 3. On copie tous les fichiers du plugin dans le répertoire trunk/: cd my-local-dir/ my-local-dir/$ cp ~/my-plugin.php trunk/my-plugin.php my-local-dir/$ cp ~/readme.txt trunk/readme.txt 4. On prépare l'ajout des fichiers du plugin au dépôt central: my-local-dir/$ svn add trunk/* assets/* > A trunk/my-plugin.php > A trunk/readme.txt 5. On donne un message à notre check-in et on envoie les fichiers au dépôt central : my-local-dir/$ svn ci -m 'Adding first version of my plugin' > Adding trunk/my-plugin.php > Adding trunk/readme.txt > Transmitting file data . > Committed revision 1135626. Voilà, vous venez d'ajouter votre plugin au dépôt officiel de WordPress ! Supprimer un fichier sur le dépôt Pour supprimer un fichier sur le dépôt, il faut supprimer le fichier avec svn delete puis commettre les changements avec svn commit. C'est lors du commit que le fichier est supprimé du dépôt : svn delete myfile > D myfile svn commit -m "Deleted file 'myfile'." > Deleting myfile > Transmitting file data . > Committed revision 1135629. Mettre à jour un plugin sur le dépôt Une fois le plugin hébergé chez WordPress, vous serez sûrement amené à le mettre à jour. 1. On commence par vérifier que notre copie locale est à jour avec la copie qui se trouve chez WordPress: cd my-local-dir/ my-local-dir/$ svn up Résultat : > At revision 1135626. Nous sommes à jour. S'il y avait eu des changements, subversion vous aurait averti pour les fusionner avec votre copie locale. 2. On édite les fichiers du plugin, on n'oublie pas de mettre à jour readme.txt 3. On vérifie ce qui a changé entre notre copie locale et celle du dépôt : my-local-dir/$ svn stat Résultat: > M trunk/my-plugin.php Le fichier a bien été modifié ( "M" for "modified" ). 4. On envoie tout ça sur le serveur avec un check-in : my-local-dir/$ svn ci -m "fancy new feature: now you can foo *and* bar at the same time" Résultat: > Sending trunk/my-plugin.php > Transmitting file data . > Committed revision 113562. 5. On taggue maintenant la version du plugin que l'on vient de sortir. Cela permet aux utilisateurs (ou au développeurs) de voir ce qui a changé entre deux versions ou de revenir à la version précédente si besoin. Important : on commence par mettre à jour le champs... --- ### Iron Horse – Rocket Man - **URL**: https://www.skyminds.net/iron-horse-rocket-man/ Voici une reprise du Rocket Man d'Elton John par le groupe de bluegrass Iron Horse, qui vient d'Alabama : https://www.youtube.com/watch?v=WdAyO1_0noM Sympas les arrangements avec le banjo et la mandoline ! --- ### Bash : convertir des MP3 en Ogg Vorbis avec FFmpeg - **URL**: https://www.skyminds.net/bash-convertir-fichiers-mp3-en-ogg-vorbis/ Pour les besoins du Centre de Kriya Yoga France, j’ai déjà eu à convertir toute une série de fichiers MP3 vers Ogg Vorbis afin de les publier proprement sur le Web. À l’époque, j’utilisais avconv. Aujourd’hui, je recommande plutôt ffmpeg. Il est plus courant, mieux documenté, disponible dans les dépôts des distributions Linux modernes, et beaucoup plus simple à retrouver dans six mois quand vous aurez oublié la commande exacte. Ce qui arrivera. Soyons honnêtes. Voici donc une version moderne pour convertir des fichiers MP3 en Ogg Vorbis, puis faire l’opération inverse si nécessaire. Installer FFmpeg sous Linux Sur Ubuntu, Debian, Linux Mint et distributions dérivées, installez FFmpeg avec apt : sudo apt update sudo apt install ffmpeg Vérifiez ensuite que la commande est disponible : ffmpeg -version Vous pouvez aussi vérifier que FFmpeg connaît les encodeurs Vorbis et MP3 : ffmpeg -encoders | grep -E 'libvorbis|libmp3lame' Vous devriez voir au moins libvorbis pour Ogg Vorbis et libmp3lame pour MP3. Convertir un fichier MP3 en Ogg Vorbis Pour convertir un seul fichier MP3 en Ogg Vorbis : ffmpeg -i "fichier.mp3" -c:a libvorbis -q:a 5 "fichier.ogg" Le paramètre -c:a libvorbis force l’encodeur audio Vorbis. Le paramètre -q:a 5 active une qualité variable raisonnable pour la plupart des usages. Pour Ogg Vorbis, la qualité ne se pense pas exactement comme un débit fixe en kilobits par seconde. On utilise plutôt une échelle de qualité. En pratique, -q:a 4 ou -q:a 5 donne déjà un résultat propre pour de l’audio parlé ou musical standard. Convertir tous les MP3 d’un dossier en Ogg Vorbis Si vos noms de fichiers ne contiennent pas d’espaces, une boucle simple peut suffire : for file in *.mp3; do ffmpeg -i "$file" -c:a libvorbis -q:a 5 "${file%.mp3}.ogg" done La partie ${file%.mp3}.ogg remplace proprement l’extension .mp3 par .ogg. Version plus robuste, avec gestion des fichiers contenant des espaces : find . -maxdepth 1 -type f -iname '*.mp3' -print0 | while IFS= read -r -d '' file; do output="${file%.*}.ogg" ffmpeg -i "$file" -c:a libvorbis -q:a 5 "$output" done Cette version utilise find avec -print0, ce qui évite de casser la boucle dès qu’un fichier contient un espace, une apostrophe ou un caractère un peu pénible. Éviter d’écraser les fichiers existants Par défaut, FFmpeg peut demander confirmation si le fichier de sortie existe déjà. Pour refuser l’écrasement automatiquement, ajoutez -n : find . -maxdepth 1 -type f -iname '*.mp3' -print0 | while IFS= read -r -d '' file; do output="${file%.*}.ogg" ffmpeg -n -i "$file" -c:a libvorbis -q:a 5 "$output" done À l’inverse, pour écraser les fichiers existants sans poser de question, utilisez -y. À manier avec calme et caféine modérée. ffmpeg -y -i "fichier.mp3" -c:a libvorbis -q:a 5 "fichier.ogg" Choisir la qualité Vorbis Pour Ogg Vorbis, -q:a définit une qualité variable. Plus la valeur est élevée, plus le fichier sera lourd, mais meilleure sera la qualité. QualitéUsage conseillé-q:a 3Audio parlé, taille réduite-q:a 4Bon compromis pour voix et musique légère-q:a 5Qualité confortable pour un usage Web-q:a 6Meilleure qualité, fichiers plus lourds Pour des... --- ### The 18th Century: the Age of Enlightenment - **URL**: https://www.skyminds.net/the-18th-century-the-age-of-enlightenment/ Introduction The 18th Century can be dubbed "the Age of Enlightenment" as it was marked by French philosophers such as Voltaire, Rousseau or Diderot (the Encyclopédie was published in 1761). The Enlightenment is characterized by the belief of the natural goodness of man: man is perfectible, it is the idea of progress obtained through the use of reason. Since man is naturally good, all bad things come from society: if we could fight prejudices and oppressive social institutions, man would be better. It's a question of education: political and social reforms would bring man happiness. These are the principles of the French Revolution. The situation is different in the United Kingdom. The revolution had already been made: the "Glorious Revolution" of 1688 established a parliamentary monarchy but it was not a democracy since you needed to be rich to go to Parliament. John Locke, a famous British philosopher, influenced the notion of parliamentary democracy. He was a predecessor of the Enlightenment but his ideas were only applied in America after the War of Independence (1776-1782). The American Constitution was applied in 1789. In the USA, there is a republican government with a president and a principle of equality in front of the law: "Everyone has the right to life, liberty and the pursuit of happiness". There is a truly optimistic belief in man and happiness, and progress and reason. The end of the 18th century saw an evolution: the development of the rational and the irrational. There were general changes in taste in arts in the 1750's : rococo and its myriad of details primitivism (more simple) and its two sides: neoclassicism and its imitation of Greek and Latin architecture (strict and rational), and the Gothic revival. Reading Voltaire's tragedy L'Orphelin de la Chine at Madame Geoffrin's salon, painted in 1812 by Gabriel Lemonnier (1743-1824). DEA/G. DAGLI ORTI/Getty Images Primitivism Primitivism is connected to a new vision of nature. Instead of being addicted to laws, nature became a sentimental reference. It helps you meditate, and find yourself - it's a new conception of life. Nature is not a rational entity any longer but it is sentimentalized. This shift can also be seen in gardening: French gardens were less controlled, and more spontaneous than British gardens for example. Cult of "sensibility" Feelings were seen as an essential part of human nature, that should be expressed rather than repressed: romanticism is based on the expression of feelings humanitarianism is the sentimental promotion of feelings and asks how feelings affect our minds through compassion for the poor and unhappy. Jean-Jacques Rousseau in La Nouvelle Héloïse glorifies passions and feelings, and as such can be considered a pre-romantic writer. the development of a new type of psychology: our sensations influence our minds. The Rise of the Novel During the 18th century, the modern novel came into being and became the most important genre in literature. The novel is characterized by its realism and simplicity : the characters are not noble but middle-class characters it... --- ### MySQL : convertir les tables MyISAM au format InnoDB - **URL**: https://www.skyminds.net/mysql-convertir-tables-myisam-format-innodb/ MySQL : MyISAM et InnoDB A ses débuts, MySQL utilisait le moteur de stockage MyISAM. C'est la raison pour laquelle on retrouve beaucoup d'exemples de création de tables sur Internet avec l'instruction engine=MyISAM (ce qui, au passage, peut faire planter pas mal de créations de bases/tables). Aujourd'hui, le moteur de stockage par défaut de MySQL est InnoDB. MyISAM n'est plus activement développé, à l'inverse d'InnoDB. Il est donc recommandé de convertir les tables MyISAM au format InnoDB, afin de bénéficier des dernières optimisations de performance du nouveau moteur. Le moteur InnoDB InnoDB est un moteur de stockage inclus d'origine dans toutes les distributions fournies par MySQL AB. Son principal avantage par rapport aux autres moteurs de stockage de MySQL est qu'il permet des transactions ACID (Atomiques, Cohérentes, Isolées et Durables), ainsi que la gestion des clés étrangères (avec vérification de la cohérence). Toutes les bases de données sont stockées au même endroit. Par défaut dans le fichier ibdata1 qui, sous les systèmes de type unix, se trouve généralement dans /var/lib/mysql. Il est également possible d'utiliser plusieurs fichiers ou même d'utiliser directement une ou plusieurs partitions sur le disque en mode RAW. Ce moteur de base de données utilise aussi deux fichiers de logs, d'habitude ib_logfile0 et ib_logfile1. Les fichiers de définitions de table .frm sont également dans un dossier au nom de la base comme pour MyISAM. Depuis sa version 5.5, MySQL utilise InnoDB comme moteur par défaut. Comment connaitre le format actuel de vos tables ? Pour faire un petit état des lieux du format actuel des tables de votre base de données, il suffit de vous identifier sur le serveur SQL et de lancer cette requête : SHOW TABLE STATUS FROM `database`; Il vous suffit de remplacer database par le nom de votre base de données et de regarder la valeur de la colonne Engine. Convertir les tables MyISAM au format InnoDB Pour convertir des tables MyISAM au format InnoDB, il suffit de lancer une requête SQL va grandement nous simplifier la vie: SELECT CONCAT('ALTER TABLE ',table_schema,'.',table_name,' ENGINE=InnoDB;') FROM information_schema.tables WHERE 1=1 AND engine = 'MyISAM' AND table_schema NOT IN ('information_schema', 'mysql', 'performance_schema'); Le résultat de cette requête est une liste bien formatée de requêtes à lancer pour que toutes nos tables soient converties au format InnoDB. Voici le résultat de cette requête sur le serveur : +-----------------------------------------------------------+ | CONCAT('ALTER TABLE ',table_schema,'.',table_name,' ENGINE=InnoDB;') | +-----------------------------------------------------------+ | ALTER TABLE blog.blog_wc_comments_subscription ENGINE=InnoDB; | ALTER TABLE blog.blog_wc_phrases ENGINE=InnoDB; | ALTER TABLE blog.blog_wc_users_voted ENGINE=InnoDB; +-----------------------------------------------------------+ Toutes les tables des bases de données qui sont au format MyISAM au format InnoDB sont listées, à l'exception des tables utilisées dans la gestion de MySQL ('information_schema', 'mysql', 'performance_schema') qui doivent rester en MyISAM. Etape de Conversion Il vous suffit ensuite de lancer cette liste de requêtes ALTER TABLE sous MySQL, Adminer ou PHPMyAdmin pour convertir vos tables. Lancez la liste de commandes que vous venez de trouver : ALTER TABLE blog.blog_wc_comments_subscription ENGINE=InnoDB; ALTER TABLE blog.blog_wc_phrases ENGINE=InnoDB; ALTER TABLE blog.blog_wc_users_voted ENGINE=InnoDB; Et voilà, vos tables MyISAM... --- ### Pole Emploi utilise des navigateurs obsolètes - **URL**: https://www.skyminds.net/pole-emploi-utilise-des-navigateurs-obsoletes/ Aujourd'hui, j'ai eu le plaisir de recevoir un mail de la part de quelqu'un qui travaille chez Pole Emploi. Rien qui sorte de l'ordinaire jusque là. Enfin, jusqu'à ce que j'arrive à la fin du message et que je remarque ceci : FireFox 17, dont la date de sortie remonte au 20 novembre 2012, soit presque 3 ans... ce n'est pas comme s'il y avait des attaques et des problèmes de sécurité entre temps (Poodle, Heartbleed, la fin de SSL...). C'est légérement inquiétant, surtout que la mise à jour vers la dernière version de FireFox ne représente aucune complication réelle depuis la version 17. Bref, "drôle" de politique de sécurité chez Pole Emploi ! J'espère que leurs serveurs sont mieux sécurisés que leurs postes clients. --- ### Karo Swen – Pole Dance (Artwork 1) - **URL**: https://www.skyminds.net/karo-swen-pole-dance-artwork-1/ Karo Swen est une danseuse et professeur de pole-dance. Voici une démo de son art : https://www.youtube.com/watch?v=rCRP-5om_3Y C'est technique, impressionnant et je ne me lasse pas d'admirer les figures gymnastiques. C'est à la fois sportif et artistique et loin des images véhiculées dans les films. Joli(e) non ? Musique : Tha Trickaz - Mégaphone. --- ### Une semaine à Rome : visite de Pompéi - **URL**: https://www.skyminds.net/une-semaine-a-rome-visite-de-pompei/ Aujourd'hui, nous avons pour projet de visiter Pompéi : nous nous levons donc à l'aube et partons à Termini pour tenter de trouver un train. Comme nous n'avons pas préparé notre départ en avance, nous ne sommes pas certains de réussir à trouver un horaire qui nous convienne, et décidons donc de nous placer sous les auspices d'Hermès. Train Rome - Pompéi En arrivant à Termini, nous nous renseignons : pour visiter Pompéi, il faut aller jusqu'à Naples en train et prendre ensuite une sorte de RER qui nous dépose jusqu'au site antique. A Rome, plusieurs compagnies ferroviaires sont en concurrence, et pour un même trajet, il y a plusieurs tarifs, pouvant varier du simple au triple. Le guichetier nous propose deux allers pour Naples, l'un à 11 euros par personne, et l'autre à 43 euros par personne. Notre choix est instantané ! Quant aux billets Naples-Pompéi, puisque la compagnie ferroviaire n'est pas la même, impossible de les acheter ou de connaitre les horaires à Rome, nous verrons bien sur place... Juste le temps de prendre un café avant le départ, et nous partons pour deux heures trente de trajet jusqu'à Naples. Le voyage en train est très agréable. Nous voyageons en face d'un groupe de bonnes sœurs italiennes, qui passent leur temps à rire et à bavarder : leur bonne humeur est communicative ! Nous arrivons à la gare de Naples vers 10h45 et achetons nos billets pour Pompéi. Le guichetier napolitain nous réserve un accueil plutôt froid : pour deux billets aller-retour, il nous demande 10,80 euros. Cécile lui tend un billet de 10 euros et Matt une pièce d'1 euro. Entre temps, Cécile retrouve 80 centimes dans son porte-monnaie, et tend l'appoint au guichetier. Celui-ci refuse alors bec et ongles de lui rendre la pièce d'un euro de Matt, arguant que ça n'est pas la sienne ! Mais qu'importe ! Nous prenons le train-RER qui nous dépose au pied des "scavi archeologici di pompei" et déjeunons sur le pouce avant de nous lancer dans la visite du site antique. Les ruines de Pompéi Nous pénétrons alors dans cette ville fantôme, dont le destin est enfoui sous les cendres le 24 août 79 après J.-C., suite à l'éruption soudaine du Vésuve. Il est extrêmement émouvant de fouler les rues pavées à la suite de cette riche aristocratie romaine, et de se rendre compte que depuis une vingtaine de siècles, presque rien n'a changé... Les jarres intégrées dans les comptoirs des magasins semblent encore contenir de l'huile, du vin ou des olives ; les meules du boulanger tirées par des ânes semblent encore en mouvement devant nous ; et on a l'impression que la matrone qui rentre de ses courses en traversant la rue sur les pierres zébrées vient tout juste de disparaitre à l'angle de la rue... Jarres intégrées au comptoir du marchand Nous déambulons dans ces ruines chargées d'histoire et de vie et retraçons le parcours quotidien d'un habitant de Pompéi: nous commençons notre itinéraire par le... --- ### Clara Darko – Rain Movie Montage - **URL**: https://www.skyminds.net/clara-darko-rain-movie-montage/ Après Dystopian Utopias, voici un nouveau montage de Clara Darko qui s'intitule "Rain Movie Montage" et dans lequel - surprise! - il n'est question que de personnages de films sous la pluie : https://www.youtube.com/watch?v=FRDQmqQElWQ Il y a en tout et pour tout cent films représentés. Quels films avez-vous reconnu? SONG: "Why does it always rain on me?" by Travis and "November Rain" by Guns n' Roses.0:00 - Magnolia0:06 - Forrest Gump0:10 - Take shelter0:12 - The Two Towers0:14 - Death becomes sher0:16 - The year of living dangerously0:19 - Point break0:21 - Ben-Hur0:23 - Willow0:25 - Pride and prejudice0:28 - Accidental hero0:30 - Cast away0:32 - Enchanted0:34 - High fidelity0:36 - Pee We's big adventure0:38 - LadyHawke0:40 - Romancing the Stone0:42 - Little children0:44 - Labyrinth0:45 - Psycho0:47 - Rebecca0:49 - Tonari no Totoro0:51 - Dark water0:52 - Hauru no ugoku shiro0:54 - Mary Poppins0:56 - Singing in the rain1:00 - The NeverEnding Story1:02 - Toy Story 31:06 - Hellboy1:09 - Shutter Island1:12 - The quick and the dead1:14 - Wall-E1:18 - Return to Oz1:20 - Inception1:22 - Dragonheart1:23 - Lethal weapon 41:25 - Magnolia1:27 - Mary Poppins1:28 - Hero1:32 - V for Vendetta1:36 - Pitch Black1:41 - Breakfast at Tiffany's1:44 - The Crow1:46 - What's eating Gilbert Grape1:50 - The quiet man1:54 - Little women1:56 - Dead again1:58 - Match Point2:00 - Cast away2:02 - Enchanted2:05 - Breakfast at Tiffany's2:07 - Eternal sunshine of the spotless mind2:08 - Jumanji2:10 - The money pit2:12 - The Truman Show2:17 - Hearts and souls2:20 - L.A. Confidential2:23 - Casablanca2:27 - Braveheart2:29 - Pan's Labyrinth2:31 - Sense and Sensibility2:33 - The Bridges of Madison County2:35 - Say anything2:38 - Thor2:40 - Crazy stupid love2:42 - Sin City2:44 - Ben-Hur2:46 - Interview with the vampire2:51 - 28 days later2:53 - Watchmen2:55 - Road to Perdition2:57 - Saving Private Ryan2:59 - American Beauty3:02 - Back to the future, Part 23:05 - The Mosquito Coast3:07 - Seven3:09 - Cape Fear3:11 - Wall Street3:14 - Unbreakable3:17 - The Two Towers3:20 - The Attack of the Clones3:22 - Saving Private Ryan3:24 - 3003:27 - Zatoichi3:30 - Lethal weapon 43:32 - Hellboy3:34 - Pitch Black3:35 - Jurassic Park3:36 - Hellboy3:37 - 28 days later3:38 - Die hard with a vengeance3:39 - Lethal weapon 43:41 - The Attack of the Clones3:42 - Spider-Man3:43 - Pitch Black3:44 - The Attack of the Clones3:45 - Point break3:46 - Le pacte des loups3:47 - Lethal weapon 4 / The Attack of the Clones3:48 - Le pacte des loups3:49 - Hellboy3:50 - Hero3:51 - Hellboy3:52 - Zatoichi3:53 - The Crow3:54 - Zatoichi3:55 - The Crow3:56 - Willow3:58 - The Two Towers3:59 - Seven Samurai4:00 - Harry Potter and the Prisoner of Azkaban4:02 - Return to Oz4:03 - Enchanted4:04 - The Attack of the Clones / Poltergeist4:05 - Romancing the Stone4:06 - Thor4:08 - Point break4:09 - Cape Fear4:11 - Jurassic Park4:12 - Poltergeist4:13 - Inception4:15 - Jurassic Park4:17 - Indiana Jones and the Last Crusade4:18 - Watchmen4:20 - Bram Stoker's Dracula4:21 - To die... --- ### Orphan Black saison 3 - **URL**: https://www.skyminds.net/orphan-black-saison-3/ Nos clones préférées reviennent dans la troisième saison d'Orphan Black, diffusée sur BBC America. Après avoir blessé Rachel, Sarah a pris sa fille Kira et s'est enfuie du Dyad Institute. Comme Sarah est la seule clone fertile, les scientifiques du Dyad qui surveillent les clones LEDA veulent faire des expériences sur ses ovaires mais elle s'enfuit avant que cela n'arrive. Marion, une nouvelle alliée du Clone Club, apprend à Sarah l'existence d'une autre expérience de clonage humain qui concerne les hommes : le Projet Castor. Face au nettoyeur du Dyad, Sarah est obligée de camper le personnage de Rachel. Pendant ce temps, Helena est prisonnière d'une boite cadenassée avec un scorpion qui lui parle... Dix épisodes sont prévus cette saison, à regarder en version originale: Voir Synology : corriger “rsync permission denied” sur Amazon --- ### V for Vendetta : « you may call me V. » - **URL**: https://www.skyminds.net/v-for-vendetta-you-may-call-me-v/ Cette année, avec mes classes de Premières, je me suis amusé avec le film V for Vendetta - réalisé par les frères Wachowski et inspiré des personnages créés par Alan Moore et David Lloyd - pour illustrer la notion Seats and Forms of Power. Nous avons abordé la notion sous l'angle pouvoirs/contre-pouvoirs et on s'est demandé comment le peuple pouvait se rebeller contre un ordre établi qui pourrait s'avérer despotique totalitaire et dictatorial. J'aime bien cette notion, c'est pour moi la seule qui permet réellement d'entendre l'opinion personnelle des élèves et un semblant de réflexion sur les libertés individuelles et ce qu'est vraiment la démocratie. Elle permet de se projeter et d'analyser notre société un peu plus sérieusement, de se poser des questions et d'exercer un peu de sens critique. Et cela permet aussi de travailler sur la langue et les figures de style, comme cette magnifique introduction de V à base d'allitérations en "v", d'accumulation et de gradation: https://www.youtube.com/watch?v=c6Q0dfrbr10 Et dans un registre soutenu en plus. Un vrai régal pour qui aime les lettres. - V : I can assure you I mean you no harm...- Evey : Who are you ?- V : Who ? Who is but the form following the function of what and what I am is a man in a mask.- Evey : Well I can see that.- V : Of course you can. I'm not questioning your powers of observation, I'm merely remarking upon the paradox of asking a masked man who he is.- Evey : Oh, right.- V : But on this most auspicious of nights, permit me then, in lieu of the more commonplace soubriquet to suggest the character of this dramatis persona.Voilà! In view, a humble vaudevillian veteran, cast vicariously as both victim and villain by the vicissitudes of Fate. This visage, no mere veneer of vanity, is a vestige of the vox populi, now vacant, vanished. However, this valorous visitation of a by-gone vexation, stands vivified and has vowed to vanquish these venal and virulent vermin van-guarding vice and vouchsafing the violently vicious and voracious violation of volition. (he carves a "V" into a sign)The only verdict is vengeance; a vendetta, held as a votive, not in vain, for the value and veracity of such shall one day vindicate the vigilant and the virtuous. (giggles)Verily, this vichyssoise of verbiage veers most verbose, so let me simply add that it's my very good honor to meet you and you may call me V.- Evey : Are you like a crazy person ?- V : I am quite sure they will say so. --- ### Postfix : résoudre l’erreur « Untrusted TLS connection established to Gmail » - **URL**: https://www.skyminds.net/postfix-untrusted-tls-connection-established-to-gmail/ En vérifiant les logs de mon serveur mail, je me suis aperçu que, malgré mon certificat, la connexion du serveur à un serveur sortant n'était pas entièrement chiffrée. Voici comment remédier à ce problème. Postfix : "untrusted connection SMTP" Concrètement, voici la transcription du log d'une connexion SMTP dite "untrusted connection SMTP" : postfix/cleanup: message-id= opendkim: DKIM-Signature field added (s=mail, d=example.com) postfix/qmgr: from=, size=483, nrcpt=1 (queue active) postfix/smtp: Untrusted TLS connection established to gmail-smtp-in.l.google.com[2a00:1450:4013:c01::1a]:25: TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits) postfix/smtp: to=, relay=gmail-smtp-in.l.google.com[2a00:1450:4013:c01::1a]:25, delay=1.5, delays=0.12/0.06/0.55/0.73, dsn=2.0.0, status=sent (250 2.0.0 OK 1430771763 z16si1523612wjr.190 - gsmtp) postfix/qmgr: removed Comme on peut le constater, notre connexion TLS n'est pas chiffrée de bout en bout : Untrusted TLS connection established to gmail-smtp-in.l.google.com[2a00:1450:4013:c01::1a]:25: TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits) Solution : ajouter la directive smtp_tls_CAfile J'ai pour habitude de mettre les mêmes valeurs pour les directives smtp_* et smtpd_* mais dans ce cas précis, il faut modifier la valeur de la directive smtp_tls_CAfile. On édite le fichier de configuration de Postfix : nano /etc/postfix/main.cf On modifie smtp_tls_CAfile pour pointer vers le fichier /etc/ssl/certs/ca-certificates.crt: ### # Trusted TLS connection to gmail-smtp # by Matt # https://www.skyminds.net smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt ### et on redémarre Postfix : service postfix restart Trusted TLS connection established Après un envoi de test, voici ce que nous donnent les logs: postfix/cleanup: message-id= opendkim: DKIM-Signature field added (s=mail, d=example.com) postfix/qmgr: from=, size=483, nrcpt=1 (queue active) postfix/smtp: Trusted TLS connection established to gmail-smtp-in.l.google.com[74.125.136.27]:25: TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits) postfix/smtp: to=, relay=gmail-smtp-in.l.google.com[74.125.136.27]:25, delay=1.1, delays=0.12/0.07/0.31/0.58, dsn=2.0.0, status=sent (250 2.0.0 OK 1430772064 jt5si24487408wjc.48 - gsmtp) postfix/qmgr: removed Et voilà, connexion vers les serveurs SMTP chiffrée et validée comme trusted! --- ### Une semaine à Rome : la Basilique Saint Pierre, le Vatican et la Chapelle Sixtine, les jardins de la Villa Borghese - **URL**: https://www.skyminds.net/rome-saint-pierre-vatican-chapelle-sixtine-villa-borghese/ Ce matin, il est 7h30, il tombe quelques gouttes et nous sommes parmi les premiers dans la queue pour la visite de la Basilique Saint Pierre. La file d'attente est due au portique de sécurité semblable à ceux des aéroports. Matt et Cécile à St Pierre La place Saint Pierre de Rome La Basilique Saint Pierre Vers 8h, nous entrons dans la Basilique et pouvons admirer la grandeur et les richesses de ce sanctuaire chrétien. Tout y est démesuré et on se sent comme un lilliputien dans le monde de Gulliver. Plafonds de la Basilique Jesus loves you. Game of Thrones ? Au dehors, le ciel est chargé mais nous en profitons pour nous placer à l'endroit idoine depuis lequel il est possible d'aligner toutes les colonnes pour n'en voir qu'une rangée. Une colonne peut en cacher une autre. Saint Pierre : statues et colonnes Nous filons et faisons tout le tour du mur d'enceinte pour faire la queue pour entrer dans les musées du Vatican. Il est 8h30, soit une demi-heure avant l'ouverture officielle du musée. Nous sommes bien mieux placés dans la file qu'hier. Il commence à pleuvoir et les vendeurs de babioles troquent leurs porte-clés décapsuleurs contre des parapluies, s'adaptant ainsi à toute inconstance du ciel en temps réel. Une heure et dix minutes de queue plus tard - le temps de prendre nos tickets (16 euros la place) - nous entrons au musée. Nous suivons le conseil du Routard et filons directement à la Chapelle Sixtine admirer l’œuvre de Michel-Ange : pour y accéder, il faut déambuler dans les couloirs et passer par les chambres de Raphaël, qui sont vraiment magnifiques. Les chambres de Raphaël On voit notamment la fresque connue sous le nom d’École des Philosophes, qui ravit Cécile, étant donné qu'elle l'étudie chaque année avec ses élèves. C'est quand même formidable de pouvoir l'admirer en vrai. Raphaël : l’École des Philosophes. La Chapelle Sixtine Le parcours vers la Chapelle Sixtine se poursuit par une exposition d’œuvres chrétiennes modernes, toutes plus surprenantes et inhabituelles les unes que les autres. Puis, nous pénétrons sous la voûte et nous laissons envoûter par ces magnifiques peintures. Bien sûr, le ciel étoilé du Jugement Dernier, la Création d'Adam sont absolument époustouflants, mais en plus à chaque endroit où se posent nos yeux, il y a un détail à admirer. Nous pourrions passer des heures à en étudier chaque scène, chaque personnage. Michel-Ange, la Création d'Adam Michel-Ange, le Jugement Dernier Michel-Ange adorait peindre des corps nus, d'hommes en particulier. Dans la chapelle Sixtine, il s'en est donné à cœur joie. Malheureusement, la censure bien-pensante de l’Église est passée par là et, devant le refus du peintre de couvrir les attributs masculins, un autre peintre à été chargé à la mort de Michel-Ange de masquer la nudité offensante avec des draps. Les musées du Vatican Nous ressortons et arpentons les galeries pour découvrir les autres musées Étrusque, Grec, Égyptien, Latin, Chrétien mais aussi les tapisseries, et les cartes et planisphères de... --- ### Une semaine à Rome : la fontaine de Trevi, le Panthéon, la place Navone - **URL**: https://www.skyminds.net/rome-fontaine-de-trevi-pantheon-place-navone/ Aujourd'hui, nous décidons d'aller au Vatican. Le problème, c'est que l'on s'est couché tard et que l'on a levé le camp un peu tard aussi... Arrivés au Vatican vers 11h du matin, nous sommes manifestement tombés au pire moment de la journée: une queue des 600 diables s'étend sur plusieurs centaines de mètres et des racoleurs vous harcèlent à tout bout de champ pour vous proposer de l'éviter : "skip the line, skip the line..." L'offre est la suivante: moyennant 48 euros par tête de pipe, plus 5 euros de frais si on règle par carte bancaire (soit un total de 53 euros par personne au lieu des 16 euros pour une entrée simple), vous pouvez passer devant tout le monde... bref, nous jetons l'éponge et décidons de revenir le lendemain en nous réorganisant mieux pour arriver plus tôt. La Fontaine de Trévi Nous sommes allés voir la fontaine de Trévi, mais quelle n'est pas notre surprise lorsque nous constatons qu'elle est asséchée pour cause de restauration. Comme la tradition est de jeter une pièce pour faire un vœu, la ville a mis en place un bac d'eau ridicule destiné à recueillir l'obole des touristes ! Nous poursuivons notre promenade dans les ruelles romaines pour nous rendre au Panthéon. Nous en profitons pour entrer visiter quelques églises qui se trouvent sur notre chemin et trouvons un petit restaurant où nous faisons halte pour déjeuner. L'endroit est fréquenté par des italiens de tous horizons et en particulier par des prêtres. Le repas est délicieux : gnocchis al pomodoro, caprese (mozzarella di buffala accompagnée d'une insalata di pomodoro), et un excellent plat d'épinards mêlé à du chou-fleur (Cécile qui déteste les épinards et n'est pas fan de chou fleur s'est régalée!). Le tout, arrosé d'un petit Montepulcciano. Le Panthéon Repus, nous repartons et arrivons au Panthéon. Après s'être amusés à traduire l'inscription latine du fronton, ce que Matt réussit avec brio - pour qui aime traduire du latin, Rome est un paradis ! - nous entrons sous cette magnifique et immense coupole qui constitue le plafond de l'édifice. Le fronton du Panthéon C'est impressionnant, surtout lorsqu'on en connaît les dimensions : 45 mètres de diamètre et 45 mètres de hauteur. De plus, l'oculus de la coupole qui donne directement sur le ciel laisse entrer une lumière douce, et même l'eau de pluie! L'oculus du Panthéon Nous admirons au fond du monument le tombeau de Rafael. Nous avons beaucoup apprécié cette visite. La place Navone Nous flânons ensuite dans ces ruelles anciennes jusqu'à la place Navone, qui ne se trouve pas très loin. Les dimensions impressionnantes ainsi que la forme oblongue de cette place nous surprennent au premier abord: il s'agit en réalité de l'ancien cirque, où se déroulaient les courses de chars. Il est encore tout à fait possible de voir l'emplacement de la spina, l'épine centrale, de la piste et aussi de la cavea, qui a aujourd'hui laissé place aux habitations et restaurants qui ceignent l'ensemble de la place ! Il... --- ### Serveur dédié : la mise à jour vers Debian 8 Jessie - **URL**: https://www.skyminds.net/serveur-dedie-la-mise-a-jour-vers-debian-8-jessie/ Hier soir, j’ai mis à jour le serveur : nous sommes passés de Debian 7.8 Wheezy à Debian 8.0 Jessie. Globalement, la migration s’est plutôt bien passée. Le serveur a connu environ dix minutes d’interruption, principalement le temps de comprendre les changements introduits par Apache 2.4 et de corriger quelques détails dans la configuration de Postfix. Voici donc un retour d’expérience sur cette mise à jour, avec les commandes utilisées, les points de vigilance, les erreurs rencontrées et les corrections appliquées. Petite précision utile : Debian 8 Jessie est aujourd’hui une ancienne version. Cet article garde donc surtout une valeur d’archive technique. Pour un serveur actuel, il faut évidemment viser une version Debian maintenue, avec des dépôts de sécurité actifs. Debian indique que la version stable actuelle est Debian 13 Trixie. Versions Debian Avant de commencer : sauvegardes et plan de retour Avant une mise à jour majeure de Debian, la première étape ne consiste pas à modifier sources.list. La première étape consiste à vérifier que les sauvegardes sont exploitables. Dans l’idéal, il faut disposer de : une sauvegarde complète des fichiers web ; un dump récent des bases de données ; une copie de /etc ; une copie des configurations Apache, PHP, Postfix et cron ; un accès console hors SSH, par exemple via l’interface de l’hébergeur ; un plan de retour en arrière si le serveur ne redémarre pas correctement. Une mise à jour majeure peut modifier le noyau, les services, les fichiers de configuration, les versions de PHP, les modules Apache ou les paquets système. Autant éviter de découvrir au milieu de la nuit que “sauvegarde” voulait dire “un vieux zip quelque part”. Sur un serveur web, je conseille aussi de noter l’état des services avant l’opération : service apache2 status service mysql status service postfix status apache2 -v php -v mysql --version postconf -n Cela permet de comparer plus facilement l’avant et l’après. Vérifier l’état du système avant la migration Avant de changer de version Debian, j’ai commencé par vérifier qu’aucun paquet n’était cassé ou à moitié installé : dpkg --audit On vérifie aussi les paquets placés en attente : dpkg --get-selections | grep 'hold' Si des paquets sont retenus, il vaut mieux comprendre pourquoi avant de lancer une mise à niveau complète. Un paquet bloqué peut empêcher une dépendance importante de se mettre à jour. On peut aussi vérifier les paquets installés depuis des dépôts tiers : apt-cache policy grep -R "^[^#]" /etc/apt/sources.list /etc/apt/sources.list.d/ Les notes de publication Debian recommandent de retirer ou désactiver les paquets tiers lorsque cela améliore la fiabilité de la mise à niveau. C’est particulièrement pertinent si le serveur utilise des dépôts externes pour PHP, Apache, MariaDB, Nginx, Node.js ou des outils de sécurité. Notes de publication Debian Jessie Mettre à jour les dépôts APT On édite ensuite le fichier des sources APT : nano /etc/apt/sources.list L’idée est de remplacer les occurrences de wheezy par jessie. À l’époque, ma configuration ressemblait à ceci : # Debian Jessie. deb http://mirror.ovh.net/debian/ jessie main... --- ### Corriger les lightbox vides dans l’administration WordPress - **URL**: https://www.skyminds.net/lightbox-vides-administration-wordpress/ Vous cliquez sur “Voir les détails” d’une mise à jour de plugin dans l’administration WordPress. Une lightbox s’ouvre, mais elle reste complètement vide. Même chose lors d’une mise à jour de plugin, de thème ou de WordPress : l’interface semble fonctionner, mais certaines fenêtres modales n’affichent rien. Dans beaucoup de cas, le problème ne vient ni du plugin, ni du thème, ni d’un fichier WordPress corrompu. Il vient d’un en-tête HTTP de sécurité trop strict, souvent ajouté lors du passage du site en HTTPS. Le coupable le plus fréquent est celui-ci : X-Frame-Options: DENY Cet en-tête protège contre le clickjacking, mais la valeur DENY empêche aussi WordPress d’afficher certaines pages de l’administration dans ses propres iframes. Résultat : une belle lightbox vide. Sobre, minimaliste, inutile. Le symptôme : une lightbox vide dans wp-admin Le problème apparaît généralement dans l’administration WordPress, par exemple : quand vous cliquez sur Voir les détails d’un plugin ; quand WordPress affiche une modale ThickBox ; pendant une mise à jour de plugin ou de thème ; quand une extension ouvre une iframe dans l’administration ; quand une fenêtre modale se charge, mais sans contenu. Visuellement, tout semble presque normal : l’overlay apparaît, la lightbox s’ouvre, mais l’intérieur reste blanc ou vide. Dans la console du navigateur, vous pouvez voir une erreur proche de celle-ci : Load denied by X-Frame-Options: DENY does not permit framing. Ou, si votre site utilise une Content Security Policy, une erreur de ce type : Refused to frame because an ancestor violates the following Content Security Policy directive: "frame-ancestors 'none'". Pourquoi WordPress utilise encore des iframes dans l’administration WordPress utilise ThickBox dans certaines parties de l’administration. Cette vieille bibliothèque sert à afficher des fenêtres modales, notamment dans l’écran des extensions. Quand vous cliquez sur les détails d’un plugin, WordPress peut charger le contenu dans une iframe intégrée à la modale. Cette iframe pointe vers la même origine que votre site WordPress. Donc, si votre serveur envoie X-Frame-Options: DENY, le navigateur bloque même les iframes venant du même site. WordPress essaie d’afficher le contenu, le navigateur refuse, et vous obtenez une lightbox vide. Comprendre X-Frame-Options X-Frame-Options indique au navigateur si une page peut être affichée dans une frame ou une iframe. Cet en-tête sert surtout à limiter les attaques de clickjacking. Les valeurs utiles sont : DENY : la page ne peut jamais être affichée dans une frame, même depuis le même site ; SAMEORIGIN : la page peut être affichée dans une frame seulement si la page parente vient de la même origine ; ALLOW-FROM : ancienne valeur peu fiable aujourd’hui, à éviter pour une configuration moderne. Pour une administration WordPress classique, SAMEORIGIN est le bon compromis. Il continue de bloquer les sites externes, tout en autorisant WordPress à intégrer ses propres pages dans ses propres modales. La correction simple : remplacer DENY par SAMEORIGIN Si votre configuration contient ceci : Header always set X-Frame-Options "DENY" Remplacez par : Header always set X-Frame-Options "SAMEORIGIN" Cette correction suffit souvent à restaurer les... --- ### Une semaine à Rome : le Mont Palatin, le Cirque Maxime et le Forum Trajan - **URL**: https://www.skyminds.net/rome-mont-palatin-cirque-maxime-forum-trajan/ Notre billet Colisée - Forum -Palatin n'est valable que 48 heures. Notre programme pour la journée est donc établi: nous commencerons par le Mont Palatin. Petit coup de stress à l'entrée: le mont Palatin et le forum doivent être visités le même jour, dans la foulée. Or nous avons visité le forum la veille, ce qui bloque le portique de l'entrée. Heureusement, la dame a été gentille et nous a autorisés à rentrer grâce à son pass. Devant le forum romain, depuis le Palatin Le Mont Palatin Le Mont Palatin est la célèbre colline sur laquelle le sort de Rome a été décidé : Romulus et Remus, deux frères jumeaux, recueillis puis allaités par la louve, se disputaient le pouvoir de la ville qu'ils s'apprêtaient à fonder. Pour se départager, rien de plus simple que d'observer le vol des oiseaux! Les deux jumeaux allaités par la louve, Musée du Capitole, Rome Romulus se plaça donc sur le Mont Palatin et Rémus grimpa sur la colline en face et les deux frères attendirent le passage de volatiles, signe divin par excellence. Romulus vit douze vautours alors que Rémus n'en vit que six. C'est donc Romulus qui l'emporta : il devint donc le premier Roi de Rome. Mais Rémus eut la mauvaise idée de franchir les murailles, malgré l'interdiction de son frère. Alors, Romulus le transperça illico d'un coup d'épée. Entre les vautours et le fratricide, le Mont Palatin porte une riche histoire sur ses versants ! Bien sûr, il s'agit d'une légende et de tout cela, on ne voit plus rien. C'est aussi le lieu que l'empereur Auguste choisit pour faire construire un palais à son épouse Livie, détruit par le temps au fil des années. Ruines du Palatin Bon nombre d'empereurs tels que Tibère ou Dioclétien se firent à leur tour construire un palais sur le Mont Palatin (le nom même de "Palatin" est construit sur le terme "palais" et désigne ainsi les palais qui s'y succédèrent). A la Renaissance, Alexandre Farnese réaménagea le site en de somptueux jardins, appelés "jardins du farnese". La promenade y est très agréable car elle est propice à la rêverie et éveille l'imaginaire sur ces siècles d'histoire, et ce, dans un doux parfum d'orangers. Au détour du chemin, les arbres et les fleurs laissent place à une vue magnifique et imprenable sur le forum romain. Kholanta? Nous passons ensuite devant le Lupercal, une grotte ornée de mosaïques et de coquillages, qui serait la hutte de Romulus. On s' imaginerait presque retrouver sa carte d'identité au pied d'un arbre! Bien évidemment, il ne s'agit certainement pas de la maison de Romulus, mais d'un témoignage inestimable des premiers habitants du site au 8ème siècle avant Jésus Christ. Le Cirque Maxime (Circus Maximus) Du Mont Palatin, il est possible de voir le Cirque Maxime, qui a brûlé lors de l'incendie de Rome causé par Néron en 64. Il a été reconstruit à plusieurs reprises après mais il tomba en ruines et fut pillé pour la reconstruction des... --- ### Une semaine à Rome : le Colisée et le Forum Romain - **URL**: https://www.skyminds.net/ome-colisee-forum-romain/ Nous nous réveillons, les oreilles encore vrillées par le tintamarre tonitruant des klaxons et des sirènes: la nuit prochaine, boules quiès de rigueur ! Affamés, nous découvrons que notre petit déjeuner est composé de croissants ensachés et d'une capsule de café chacun, de laquelle nous obtenons trois centilitres de café ! On est loin de l'hospitalité que nous connaissons habituellement dans les B&B. Il nous en faudra plus pour nous décourager! C'est donc le ventre vide mais heureux, que nous partons à la découverte de la Rome Antique. Nous visitons une petite église de quartier que nous croisons sur notre chemin, nous recueillons un moment, puis attrapons un tram qui nous conduit vers le centre historique de Rome. Au détour de notre trajet, se dresse soudain devant nos yeux le majestueux Colisée. Pleins d'excitation, nous descendons illico du tram pour finir notre itinéraire à pieds et laisser le colosse se dévoiler petit à petit à notre regard. Pour prendre de la hauteur, nous empruntons les jardins de la Domus Aurea, palais que s'est construit l'empereur Néron après l'incendie de Rome, en 64. Elle est en restauration actuellement mais nous profitons du calme des jardins et de la vue sur Rome. Nous arrivons au pied du Colisée, et sommes surpris par la foule ! Touristes en masse, vendeurs de pacotille en tous genres (le produit star est le selfie stick), légionnaires romains papillonnent tout autour. Une ambiance sans doute peu différente de l'animation qui régnait à l'époque les jours de spectacle ! Aussitôt, un rabatteur nous alpague en anglais et nous propose d'échapper à la file d'attente pour visiter le monument contre la modique somme de 30 euros par personne (sachant que le prix du billet officiel est à 12 euros et comprend l'entrée à trois sites différents). En un regard,nous savons que nous sommes d'accord pour congédier cet attrape-touriste et décidons de ne pas visiter le Colisée bondé de suite. Nous nous dirigeons donc vers le forum romanum, où la file d'attente pour acheter les billets qui permettent l'accès au forum, au Colisée et au Mont Palatin est nettement moins importante. Le Forum Romain C'est parti, nous passons sous l'arc de Titus et entrons sur cette esplanade, place du marché et centre de la vie administrative et politique. Nous admirons les différents vestiges qui ponctuent notre parcours: basiliques, temples, et colonnes. Le forum romain Nous apprécions particulièrement de passer devant la Curie, bâtiment où se tenaient les séances du Sénat Romain et nous sentons minuscules sous les colonnes du temple de Vulcain. Le forum romain avec le Colisée au fond Vestiges du forum La maison des Vestales et le temple adjacent attirent notre attention: les Vestales sont les prêtresses du foyer, au nombre de 30, chargées d'entretenir le feu sacré de la cité pour qu'il ne s'éteigne jamais. Elles sont recrutées à l'âge de 10 ans et doivent impérativement rester vierges jusqu'à la fin de leur sacerdoce. Si l'une d'entre elles ne respecte pas son honneur, elle est emmurée vivante.... --- ### Une semaine à Rome : Nantes – Rome - **URL**: https://www.skyminds.net/une-semaine-a-rome-nantes-rome/ Aujourd'hui, grand départ pour Rome ! Notre avion décolle à 15h30: cette année, une fois n'est pas coutume, nous décidons de ne prendre qu'une seule valise cabine chacun! Nos bras se souviennent encore de notre chemin de croix a travers les méandres du métro parisien charges de trois énormes valises et de deux sacs a dos lors de notre dernier voyage en avion vers la Thaïlande. Cela nous permettra aussi de gagner du temps puisque nous echapperons a la longue formalité de l'enregistrement des bagages en soute. Comme c'est agréable de voyager léger! Notre vol se déroule très sereinement, à tel point que nous arrivons avec 20 minutes d'avance à l'aéroport de Roma Fiumicino. Dès que nous sortons de l'avion, débarrassés des bagages à récupérer, nous filons vers la gare pour emprunter le train Leonardo, à destination de Termini, la gare située en plein centre de Rome. Nous sommes frappés par la ressemblance entre les paysages qui défilent sous nos yeux avec ceux que nous avons déjà pu voir en Espagne. Nous arrivons à la station Termini après 35 minutes de voyage et nous jetons dans le trafic du métro romain. C'est l'heure de pointe, il est bondé, il faut donc lutter pour entrer. Alors qu'une femme descend du wagon, elle repousse violemment un homme en train d'y monter, les yeux rivés sur son téléphone, et l'invective vertement au passage en délestant de toute sa frustration de sa journée de travail. L'homme se retourne, ahuri et lui lâche un "psichopati !" cathartique. Nous avons admiré son sang froid, sa répartie, et la retenue de sa remarque, contrastant fort avec les insultes qui auraient fusé par chez nous. Un flegme qui tranche nettement avec les préjugés que l'on peut avoir à propos des latins. Arrivés à Termini, c'est l'heure de la rando pour nous rendre à notre Bed & Breakfast. Quinze minutes de marche plus tard, nous déposons nos valises et prenons une bonne douche. Remis de nos émotions, nous remettons nos chaussures de marche en quête d'un restaurant où dîner. Nous choisissons l'Hostaria I Buoni Amici, qui ravit nos papilles. Nos dégustons un exquis Montepulcciano 2010, qui accompagne una saltimbocca alla romana, pièce de veau délicieusement recouverte de proscuitto et de sauce à la sauge. L'ambiance de ce restaurant fréquenté par des italiens est vivante, sans être trop bruyante. Nous vous le recommandons chaudement. Nous passons une excellente première soirée romaine. --- ### Game of Thrones saison 5 - **URL**: https://www.skyminds.net/game-of-thrones-saison-5/ La cinquième saison de la série de fantasy épique Game of Thrones vient de commencer sur HBO. Cette saison adapte ce qui se passe dans A Feast for Crows and A Dance with Dragons, les quatrième et cinquième volumes de la série A Song of Ice and Fire de George R. R. Martin. Dans un flashback, une jeune Cersei rend visite à une diseuse de bonne aventure qui lui prédit qu'elle deviendra reine puis sera remplacée par une autre... Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Chuck Mangione – Children Of Sanchez (Overture) - **URL**: https://www.skyminds.net/chuck-mangione-children-of-sanchez-overture/ Chuck Mangione est un bugliste et trompettiste de jazz américain né le 29 novembre 1940 à Rochester dans l'État de New York. Depuis le début des années 1960, il a sorti plus de 30 albums et joué avec les plus grands noms du jazz. En 1978, Chuck Mangione compose la musique du film The Children of Sanchez, avec Anthony Quinn dans le rôle principal. Voici Children Of Sanchez (Overture): https://vimeo.com/14360923 Magnifique. --- ### HPLIP : résoudre l’erreur « no system tray detected on this system » - **URL**: https://www.skyminds.net/hplip-no-system-tray-detected-on-this-system/ Lors du démarrage de ma machine, sous Ubuntu, il n'est pas rare que j'obtienne le message d'erreur "no system tray detected on this system". Le message exact se présente sous cette forme : Voici comment remédier à ce problème en quelques secondes. HPLIP et la barre des tâches HPLIP est le petit gestionnaire d'imprimante HP qui se loge dans la barre des tâches et permet d'avoir un accès rapide aux options de l'imprimante. Si le chargement du système n'est pas assez rapide et qu'HPLIP se lance avant que la barre des tâches n'ait été créé, le message s'affiche. Ajout d'un délai pour charger HPLIP Ma solution est toute simple : il suffit de retarder le chargement d'HPLIP. Pour cela, direction Applications > Outils système > Préférences > Applications au démarrage. Sélectionnez ensuite HP System Tray Service puis cliquez sur le bouton modifier. Remplacez la commande d'origine (hp-systray -x) par: sh -c "sleep 45; exec hp-systray" Voici ce que cela donne en image: Et voilà, problème réglé. --- ### PHP 5.6 sur serveur dédié : migrer vers PHP 8 proprement - **URL**: https://www.skyminds.net/serveur-dedie-php-5-6/ PHP 5.6 a eu son heure de gloire. À sa sortie, il représentait une vraie mise à jour pour les serveurs encore bloqués en PHP 5.4 ou 5.5. Sur Debian Wheezy, on pouvait même passer par les dépôts Dotdeb pour installer rapidement PHP 5.6 avec PHP-FPM. Aujourd’hui, le problème a changé. PHP 5.6 n’est plus une version à installer sur un serveur de production. C’est une dette technique à sortir proprement. Si votre site, votre application métier ou votre vieux WordPress dépend encore de PHP 5.6, l’objectif n’est donc pas de prolonger l’ancien serveur. L’objectif est d’auditer, isoler, corriger, tester, puis migrer vers une version PHP maintenue. PHP 5.6 est obsolète PHP 5.6 n’est plus maintenu. Cela signifie qu’il ne reçoit plus de correctifs officiels de sécurité, ni de corrections de bugs, ni de support normal dans les distributions modernes. Le sujet n’est donc plus “comment installer PHP 5.6 ?”, mais plutôt : “comment sortir d’un serveur qui dépend encore de PHP 5.6 sans casser le site ?”. Un vieux site peut parfois continuer à fonctionner longtemps. C’est même le piège. Tant que rien ne bouge, tout semble stable. Puis un plugin se met à jour, une extension disparaît, l’hébergeur change de version, OpenSSL évolue, Composer refuse de travailler, ou une fonction PHP obsolète casse toute la page. Le réveil pique. Pourquoi l’ancien tutoriel ne doit plus être appliqué L’ancien article montrait comment ajouter les dépôts Dotdeb pour installer PHP 5.6 sur Debian 7. Cette méthode correspondait à une époque précise : Debian Wheezy, PHP 5.x, Apache ou PHP-FPM ancienne génération, et un écosystème serveur très différent. Ne reprenez plus ce type de configuration sur un serveur actuel : Debian 7 est obsolète ; Dotdeb n’est plus une base saine pour un serveur moderne ; PHP 5.6 n’est plus maintenu ; les extensions PHP 5 ne correspondent plus aux paquets actuels ; les bibliothèques système ont changé ; les applications modernes ne testent plus cette version ; WordPress, WooCommerce, Composer et les frameworks récents ciblent PHP 7.4+ ou PHP 8.x. Le vieux tutoriel reste utile comme trace historique, mais pas comme procédure à suivre. C’est un peu comme une carte routière de 2015 : elle explique d’où l’on vient, pas forcément comment éviter les travaux aujourd’hui. Quand trouve-t-on encore PHP 5.6 ? PHP 5.6 apparaît encore dans plusieurs cas typiques : vieux WordPress jamais migré ; WooCommerce très ancien ; thème premium abandonné ; plugin critique non maintenu ; application métier développée sur mesure ; intranet oublié mais encore utilisé ; serveur Debian ou Ubuntu jamais vraiment mis à niveau ; code PHP utilisant encore mysql_*, anciens constructeurs, fonctions supprimées ou comportements permissifs ; application qui dépend d’une extension PHP ancienne. Dans ces situations, la migration demande de la méthode. Passer brutalement de PHP 5.6 à PHP 8 peut créer des erreurs fatales immédiates. Mais rester en PHP 5.6 expose le serveur à un risque permanent. Entre les deux, il y a une vraie stratégie de migration. Ce qu’il ne... --- ### Joel Havea – Back in Black (AC/DC cover) - **URL**: https://www.skyminds.net/joel-havea-back-in-black-acdc-cover/ Joel Havea est un auteur-compositeur et guitariste australien qui vient de Melbourne. Il a commencé à jouer depuis son plus jeune âge avec “the Havea Brothers”, en duo avec son petit frère Dave, et c'est alors qu'il a développé son propre style de reggae avec une sensibilité pop acoustique. Après avoir parcouru le monde en jouant des concerts en Asie et en Europe, il pose ses valises à Hambourg, en Allemagne pour y jouer dans des salles ou des bars de la ville. Voici son interprétation de Back in Black d'AC/DC, version acoustique, au Kemp's English Pub, Hamburg le 10 octobre 2013 : https://www.youtube.com/watch?v=aazFEyre4_w Sympa non ? Le percussionniste gère aussi... une reprise bien groovy ! --- ### In lycée with Mister B. : « Gandhi » - **URL**: https://www.skyminds.net/in-lycee-with-mister-b-gandhi/ L'autre jour, je demande des volontaires dans ma classe de Terminales ES pour les entrainer à l'épreuve d'expression orale du baccalauréat. Devant la foule de volontaires, j'en désigne deux, de niveaux différents. Je commence avec une élève qui a plutôt des facilités d'expression et sur la notion de progrès, j'obtiens cela à l'issue de l'entretien : Gandhi peintre, c'est bien, celle-là on ne me l'avait jamais sortie. Je suppose qu'il y a eu confusion avec Antoni Gaudí, l'architecte catalan ? --- ### Raspberry Pi : copier une image sur une carte microSD - **URL**: https://www.skyminds.net/raspberry-pi-copier-image-carte-sd/ Pour démarrer un Raspberry Pi, il faut généralement écrire une image système sur une carte microSD, une clé USB, un SSD ou un autre support de démarrage. Il ne suffit pas de copier le fichier .img comme un simple document : il faut l’écrire comme une image disque complète. À l’époque, la méthode classique sous Linux consistait à utiliser dd. Elle fonctionne toujours, mais elle demande beaucoup d’attention. Aujourd’hui, la méthode la plus simple consiste à utiliser Raspberry Pi Imager, l’outil officiel de la fondation Raspberry Pi. Voici les méthodes modernes pour copier une image Raspberry Pi sur une carte microSD : Raspberry Pi Imager pour la méthode recommandée, Balena Etcher pour une alternative graphique, puis dd pour les utilisateurs Linux/macOS qui veulent garder la main. Image disque ou simple copie de fichier : quelle différence ? Une image Raspberry Pi est souvent fournie sous forme de fichier .img, .img.xz, .zip ou parfois via un outil qui télécharge l’image automatiquement. Ce fichier contient une structure complète : table de partitions, partition de démarrage, partition système, fichiers, permissions et configuration de base. Si vous copiez simplement le fichier .img sur une carte SD avec votre gestionnaire de fichiers, le Raspberry Pi ne démarrera pas. Vous aurez seulement une carte contenant un gros fichier image. C’est comme poser un ISO sur une clé USB sans la rendre bootable : le fichier est là, mais la machine ne sait pas quoi en faire. Il faut donc “flasher” l’image sur la carte. Cette opération écrit directement la structure du système sur le support. Elle efface aussi le contenu existant de la carte SD. Quelle méthode choisir ? MéthodePlateformesÀ privilégier si…Raspberry Pi ImagerWindows, macOS, LinuxVous voulez la méthode officielle, simple et fiable.Balena EtcherWindows, macOS, LinuxVous avez déjà une image à flasher et voulez une interface graphique.ddLinux, macOSVous savez identifier un périphérique bloc sans vous tromper.Raspberry Pi Imager CLILinux principalementVous voulez automatiser ou travailler sans interface graphique. Pour la plupart des utilisateurs, choisissez Raspberry Pi Imager. Il évite beaucoup d’erreurs, télécharge les images officielles et permet de configurer le Raspberry Pi avant le premier démarrage. Gardez dd pour les cas où vous savez exactement ce que vous faites. La commande est excellente, mais elle ne pardonne pas. Elle efface le disque que vous lui donnez, sans demander s’il contenait vos photos de vacances. Ambiance. Pré-requis Avant de commencer, préparez : un Raspberry Pi compatible avec l’image choisie ; une carte microSD de bonne qualité, idéalement 16 Go ou plus ; un lecteur de carte microSD ; un ordinateur sous Windows, macOS ou Linux ; Raspberry Pi Imager, Balena Etcher ou les outils de ligne de commande ; une image système, sauf si vous utilisez Raspberry Pi Imager pour la télécharger. Pour un Raspberry Pi 4, Raspberry Pi 5 ou un usage serveur, prenez une carte microSD fiable. Les cartes bas de gamme provoquent souvent des erreurs étranges : démarrage aléatoire, système en lecture seule, corruption après coupure, lenteurs incompréhensibles. Le Pi n’est pas toujours coupable. Parfois,... --- ### Eddie Hazel – California Dreamin’ - **URL**: https://www.skyminds.net/eddie-hazel-california-dreamin/ Edward Earl "Eddie" Hazel (10 avril 1950 – 23 décembre 1992) était un guitariste américain de funk. Il est surtout connu pour son poste de guitariste lead au côté de George Clinton dans les groupes Parliament puis Funkadelic. Je vous recommande particulièrement sa reprise du California Dreamin' des Mamas & the Papas : https://www.youtube.com/watch?v=CqDGTT2OtsQ Hazel a été introduit au Rock and Roll Hall of Fame en 1997, avec quinze autres membres de Parliament-Funkadelic. --- ### Sex, Drugs and Rock’n’Roll - **URL**: https://www.skyminds.net/sex-drugs-rocknroll/ Sex, Drugs & Rock'n'Roll… take out the drugs and it leaves more time for the other two. - Steven Tyler (Aerosmith) Sex, Drugs & Rock'n'Roll. L'hymne des années 1970, repris en coeur par le monde entier. Il me semble qu'aucun autre style de musique a connu autant d'excès, prenant racines dans un état d'esprit d'abord contestataire puis libertaire ensuite. On est rock ou on ne l'est pas. C'est un principe de vie, une certaine philosophie. Les racines du rock'n'roll Le rock'n'roll est né dans les années 1950 aux États-Unis, fruit d'un mélange explosif entre le rhythm and blues, le country et le gospel. Cette nouvelle musique incarnait l'esprit rebelle de la jeunesse d'après-guerre, en quête de liberté et d'émancipation. Des artistes comme Elvis Presley, Chuck Berry et Little Richard ont posé les bases de ce qui allait devenir un phénomène culturel mondial. Leurs performances énergiques et leur attitude provocante ont rapidement séduit un public avide de nouveauté et de transgression. L'émergence d'une contre-culture Dans les années 1960, le rock est devenu le porte-voix d'une génération en pleine révolution culturelle. Les Beatles, les Rolling Stones et Bob Dylan, entre autres, ont incarné cette nouvelle ère où la musique se mêlait aux revendications sociales et politiques. C'est à cette époque que l'association entre le rock, la sexualité libérée et l'usage de drogues s'est cristallisée. Le festival de Woodstock en 1969 en est l'exemple parfait : trois jours de musique, d'amour libre et d'expérimentations psychédéliques qui ont marqué l'imaginaire collectif. "Sex, Drugs & Rock'n'Roll" : naissance d'un slogan L'expression "Sex, Drugs & Rock'n'Roll" est attribuée à Ian Dury, qui en a fait le titre d'une chanson en 1977 avec son groupe The Blockheads. Cependant, l'idée était déjà présente dans l'esprit du public bien avant. Dès 1969, un article du magazine LIFE évoquait "les sacrements de la contre-culture dans le sexe, la drogue et le rock". Cette formule résumait parfaitement l'état d'esprit hédoniste et rebelle associé au rock'n'roll. Le sexe et le rock : une histoire d'amour tumultueuse La sexualité a toujours été au cœur du rock'n'roll. Des déhanchés suggestifs d'Elvis aux performances provocantes de Jim Morrison, en passant par l'androgynie de David Bowie, le rock a constamment repoussé les limites de l'expression sexuelle sur scène. Les paroles des chansons ont également joué un rôle crucial dans cette libération sexuelle. Des titres comme "Let's Spend the Night Together" des Rolling Stones ou "I Wanna Be Your Dog" des Stooges ont choqué les bien-pensants tout en séduisant une jeunesse en quête d'émancipation. Les drogues : muse dangereuse L'usage de drogues dans le milieu du rock est un sujet complexe et souvent tragique. Si certaines substances ont pu stimuler la créativité de nombreux artistes, elles ont aussi causé la perte de trop nombreux talents. Les expériences psychédéliques ont influencé la musique des années 1960 et 1970, donnant naissance à des œuvres novatrices comme "Sgt. Pepper's Lonely Hearts Club Band" des Beatles ou "The Dark Side of the Moon" de Pink Floyd. Malheureusement, l'abus de drogues a... --- ### Serveur dédié : activer l’IP canonique du serveur sous Apache - **URL**: https://www.skyminds.net/serveur-dedie-ip-canonique-du-serveur/ J'ai récemment procédé à quelques tests sur le serveur et me suis rendu compte que l'adresse IP du serveur ne renvoyait pas vers le nom de domaine : la canonisation de l'IP serveur n'était pas activée. Mise en forme canonique de l'IP du serveur La mise en forme canonique (canonicalization en anglais) est le procédé par lequel on convertit des données qui ont plusieurs représentations possibles vers un format standard. Dans le cas des URL, cela va nous permettre d'associer une page à une seule adresse. Cela aide les moteurs de recherche à indexer uniquement les pages sur lesquelles se trouvent les contenus et évite le doublons d'indexation pénalisants. Au cours d'un test, j'ai donc obtenu ce message : Your site's IP does not redirect to your site's domain name. This could cause duplicate content problems if a search engine indexes your site under both its IP and domain name. En soi, cela n'est pas gênant mais cela signifie que l'on peut accéder au site à partir de l'adresse IP et qu'il n'y a pas de redirection vers le nom de domaine. Cela me dérange un peu donc nous allons voir comment l'activer en quelques secondes sous Apache. Editer le VirtualHost par défaut Sous Apache, il existe les VirtualHost que vous avez défini pour vos sites mais également un VirtualHost par défaut, activé par défaut. C'est ce VirtualHost que nous allons éditer: nano /etc/apache2/sites-available/default On y garde simplement ceci : ServerAdmin webmaster@localhost DocumentRoot / Options FollowSymLinks AllowOverride None RewriteEngine On # redirect all domains to skyminds.net RewriteCond %{HTTP_HOST} !^((.*)\.skyminds\.net)?$ RewriteRule (.*) https://www.skyminds.net/$1 [R=301,L] # Enforce www and canonicalization RewriteCond %{HTTP_HOST} !^www\.skyminds\.net [NC] RewriteRule (.*) https://www.skyminds.net/$1 [R=301,L] # IP to domain RewriteCond %{HTTP_HOST} ^xxx\.xxx\.xxx\.xxx RewriteRule (.*) https://www.skyminds.net/$1 [R=301,L] Il vous suffit de remplacer mon domaine (skyminds.net) avec le votre et de modifier l'adresse IP de votre serveur. On sauvegarde nos changements et on redémarre Apache: service apache2 restart Conclusion Et voilà, vous venez de rediriger le trafic de l'IP de votre serveur à votre nom de domaine. Cela ne change pas la face du monde mais c'est toujours mieux quand tout est redirigé proprement. --- ### Estás Tonné – Cuban Dance and Cuban Rhapsody (long version) - **URL**: https://www.skyminds.net/estas-tonne-cuban-dance-cuban-rhapsody/ Un petit peu d'atmosphère cubaine en ce début de printemps ! Voici Estás Tonné et sa version longue de Cuban Dance and Cuban Rhapsody: https://www.youtube.com/watch?v=5JpuVyhCDX0 Toujours aussi génial. --- ### Code du Collégien - **URL**: https://www.skyminds.net/code-du-collegien/ Introduction au Code Aujourd'hui, je vous fais part d'un document que j'utilise chaque année lorsque j'enseigne au collège : le Code du Collégien. C'est la base sur laquelle je m'appuie pour établir les règles de vie de classe et c'est l'une des premières feuilles que l'on colle dans le cahier. Le but est d'avoir en tout et pour tout dix règles de vie commune qui permettent de mieux vivre ensemble en société, de manière respectueuse. C'est primordial au collège où les élèves n'ont pas forcément une idée de ce qui est acceptable au non. Cela leur donne un cadre, des normes et des valeurs. Pour bien vivre ensemble, travailler et réussir! Règle n ° 1 : J’obéis à tous les adultes de l’établissement.Je ne discute pas les décisions ni les sanctions d’un adulte. Règle n ° 2 : Je suis poli(e) et je n’utilise pas de langage vulgaire ni un ton agressif envers qui que ce soit. Règle n ° 3 : Je ne règle pas mes problèmes par la violence (même pour jouer). Règle n ° 4 : J’ai une tenue vestimentaire correcte.Je n’ai pas de téléphone portable, ni de lecteur MP3, etc… Règle n ° 5 : J’arrive à l’heure.Dès la sonnerie, je me range calmement sur la base.J’assiste à tous les cours (je justifie mes absences dès mon retour). Règle n ° 6 : J’entre en classe en silence.J’enlève mon manteau, mon écharpe, etc…Je sors mes affaires, mon carnet de liaison et j’attends l’autorisation de m’asseoir.Je garde ma place et je ne me déplace pas. Règle n ° 7 : Je suis en classe pour travailler.J’ai tout mon matériel. Mes devoirs doivent être faits et les leçons apprises. Règle n ° 8 : Je ne mange pas à l’intérieur des bâtiments (chewing-gum, bonbons, sucettes, etc…).Je ne sors pas de la cantine avec de la nourriture. Règle n ° 9 : Je respecte mon collège.Je laisse ma table et ma salle propres.Je ne jette rien par terre, ni dans les couloirs, ni dans la cour. Règle n ° 10 : Je ne m’attarde pas dans les couloirs pendant les interclasses.Je n’entre dans aucune salle sans autorisation et je ne gêne pas les autres cours.Je sors dans la cour dès le début de la récréation. --- ### Jules and the Polar Bears – You Just Don’t Wanna Know - **URL**: https://www.skyminds.net/jules-and-the-polar-bears-you-just-dont-wanna-know/ Jules and the Polar Bears est un groupe américain formé par Jules Shear avec Stephen Hague (aux claviers, et qui est devenu plus tard producteur), Richard Bredice (guitare), David White (basse), et David Beebe (batterie). Voici un extrait de l'album, "You Just Don't Wanna Know": https://www.youtube.com/watch?v=asfLW90smlw Ils signent chez Columbia Records en 1978, uniquement sur la base des démos de Shear - le groupe n'ayant jamais joué ensemble auparavant. Ils enregistrent alors leur premier LP, Got No Breeding en 1978, acclamé par la critique. L'album est comparé à ceux de Jackson Browne, the Kinks, Bob Dylan, et Bruce Springsteen mais n'est pas vraiment un succès commercial, à l'heure de la new wave des années 80. J'aime bien cette chanson, un peu pop, un peu rock. C'est un peu fou que ce groupe n'ait pas décollé. --- ### La caissière ne sait plus quoi faire - **URL**: https://www.skyminds.net/la-caissiere-ne-sait-plus-quoi-faire/ (La scène se passe chez Carrefour. Après quelques courses rapides, MATT en caisse et dépose le contenu du panier sur le tapis roulant de LA CAISSIÈRE.) MATT. - Bonjour! LA CAISSIÈRE (lui jetant un bref coup d’œil, le regard fuyant vers le tapis roulant). - Bonjour.(Les produits défilent. Au dernier article, LA CAISSIÈRE s'empare du téléphone.) LA CAISSIÈRE. - Oui, c'est pour dire que je... (elle raccroche le combiné avec agacement) Ils pourraient au moins me laisser finir ma phrase - à deux semaines de la retraite! MATT (le visage soudain illuminé). - Il ne vous reste plus que deux semaines ? Mais c'est génial ça, vous devez être très contente ! LA CAISSIÈRE (lui dévouant sa totale attention). - Hé ben non, ça fait deux mois que je ne dors plus à cause de ça! Je suis même allée voir le docteur. MATT (interloqué). - Mais pourquoi ? LA CAISSIÈRE (paniquée). - Parce que ça me fait peur... la retraite me fait peur. J'aimais bien travailler moi. Qu'est-ce que je vais bien pouvoir faire maintenant ? --- ### Kickboxing : les meilleurs combats de Yuri Boyka - **URL**: https://www.skyminds.net/kickboxing-les-meilleurs-combats-de-yuri-boyka/ Voici une compilation des meilleurs scènes de combat de Yuri Boyka, le combattant de kickboxing le plus violent des films Undisputed II: Last Man Standing (Un seul deviendra invincible 2 : Dernier round en français) et Undisputed III: Redemption (Un seul deviendra invincible 3) : https://www.youtube.com/watch?v=SbI_04n3lLU Yuri Boyka est le personnage incarné par l'acteur et cascadeur britannique Scott Adkins, qui joue dans pléthore de films d'action. Dans Undisputed, il joue le rôle d'un criminel russe incarcéré dans une prison de haute sécurité en Russie, où sont organisés des combats entre prisonniers. Kickboxing et MMA sont au programme. J'y trouve même un petit côté Mortal Kombat, mais l'humour en moins. Une fois n'est pas coutume : si vous n'avez pas vu les films, je ne vous les conseille pas, cette vidéo suffit amplement! Il n'y a pas de scénario, pas vraiment de jeu d'acteur... juste la castagne qui vaut le détour. --- ### Serveur dédié : installer la dernière version d’OpenSSL sous Debian - **URL**: https://www.skyminds.net/serveur-dedie-installer-derniere-version-openssl/ Aujourd'hui, on s'intéresse à la mise à jour d'OpenSSL sur un serveur Debian, en utilisant les dépôts sid. Cela va nous permettre d'installer la dernière mise à jour d'OpenSSL, responsable du chiffrement des connexions de plusieurs services (serveur de fichier, serveur mail, serveur DNS...), pour plus de sécurité sur le serveur. Ce tutoriel ne prend que quelques minutes et quatre étapes mais il faut bien le suivre jusqu'au bout. Vérification de la version d'OpenSSL On commence par vérifier la version d'OpenSSL installée sur notre Debian, pourtant à jour : openssl version résultat : OpenSSL 1.0.1e 11 Feb 2013 Ouch! Ah oui, ça date un peu! Vérifions les versions disponibles : apt-cache policy openssl résultat : openssl: Installed: 1.0.1e-2+deb7u14 Candidate: 1.0.1e-2+deb7u14 Version table: *** 1.0.1e-2+deb7u14 0 500 http://security.debian.org/ wheezy/updates/main amd64 Packages 100 /var/lib/dpkg/status 1.0.1e-2+deb7u13 0 500 http://mirror.ovh.net/debian/ wheezy/main amd64 Packages Nous avons la dernière version stable qui correspond aux dernières mises à jour de notre distribution mais c'est loin d'être la dernière version disponible. Mise à jour de nos dépôts avec la version sid (unstable) Nous allons tous simplement installer la dernière version d'OpenSSL qui se trouve dans les dépôts sid, réputés instables car non-testés de manière exhaustive. On édite la liste de nos dépôts : nano /etc/apt/sources.list et on y ajoute les dépôts sid : deb http://ftp.debian.org/debian sid main deb-src http://ftp.debian.org/debian sid main On met à jour nos dépôts: apt-get update On vérifie les versions d'OpenSSL disponibles : apt-cache policy openssl Résultat : openssl: Installed: 1.0.1e-2+deb7u14 Candidate: 1.0.1k-1 Version table: 1.0.1k-1 0 500 http://ftp.debian.org/debian/ sid/main amd64 Packages *** 1.0.1e-2+deb7u14 0 500 http://security.debian.org/ wheezy/updates/main amd64 Packages 100 /var/lib/dpkg/status 1.0.1e-2+deb7u13 0 500 http://mirror.ovh.net/debian/ wheezy/main amd64 Packages Pas mal : nous pouvons passer de la version 1.0.1e à la version 1.0.1k et donc bénéficier de tous les mises à jour récentes d'OpenSSL. Vérifions maintenant ce qui change au niveau des dépendances de cette nouvelle version : apt-cache show openssl Résultat : Package: openssl Version: 1.0.1k-1 Installed-Size: 1101 Maintainer: Debian OpenSSL Team Architecture: amd64 Depends: libc6 (>= 2.15), libssl1.0.0 (>= 1.0.1) Suggests: ca-certificates Description-en: Secure Sockets Layer toolkit - cryptographic utility This package is part of the OpenSSL project's implementation of the SSL and TLS cryptographic protocols for secure communication over the Internet. . It contains the general-purpose command line binary /usr/bin/openssl, useful for cryptographic operations such as: * creating RSA, DH, and DSA key parameters; * creating X.509 certificates, CSRs, and CRLs; * calculating message digests; * encrypting and decrypting with ciphers; * testing SSL/TLS clients and servers; * handling S/MIME signed or encrypted mail. Description-md5: 9b6de2bb6e1d9016aeb0f00bcf6617bd Tag: implemented-in::c, interface::commandline, protocol::ssl, role::program, scope::utility, security::cryptography, security::integrity, use::checking Filename: pool/main/o/openssl/openssl_1.0.1k-1_amd64.deb Size: 676816 Package: openssl Version: 1.0.1e-2+deb7u14 Installed-Size: 1082 Maintainer: Debian OpenSSL Team Architecture: amd64 Depends: libc6 (>= 2.7), libssl1.0.0 (>= 1.0.1e-2+deb7u5), zlib1g (>= 1:1.1.4) Suggests: ca-certificates Description-en: Secure Socket Layer (SSL) binary and related cryptographic tools This package contains the openssl binary and related tools. . It is part of the OpenSSL implementation of SSL. . You need it to perform certain cryptographic actions like:... --- ### Neil Young – Cortez the Killer - **URL**: https://www.skyminds.net/neil-young-cortez-the-killer/ "Cortez the Killer" est une chanson de Neil Young qui se trouve sur l'album studio Zuma de 1975. En voici la version live à Rio en 2001 : https://www.youtube.com/watch?v=c93-UdPz1BI La chanson parle d'Hernán Cortés (dont le nom de famille est écorné dans le titre de la chanson), le conquistador qui a conquis le Mexique pour l'Espagne au XVIème siècle. "Cortez the Killer" fait également référence au dirigeant Aztèque Moctezuma II et à d'autres évènements qui se sont déroulés lors de la conquête espagnole du Nouveau Monde. Au lieu de décrire les batailles de Cortés avec les Aztèques, les paroles du dernier vers changent soudainement d'un récit à la troisième personne à un récit à la première personne, avec une référence à une femme dont on ne connait pas le nom: And I know she's living thereAnd she loves me to this day.I still can't remember whenor how I lost my way Ces paroles suggèrent une histoire d'amour perdu et apportent une touche personnelle à ce qui était autrement un récit historique, suggérant une connexion entre des relations interrompues et l'invasion impérieuse par quelqu'un d'autre. Neil Young avait rompu avec Carrie Snodgress à l'époque de l'écriture de la chanson. Ce vers peut aussi simplement faire référence à La Malinche (Doña Marina), conseillère et amante mexicaine de Cortés, qui s'est avéré être une source de savoir local précieuse pour les Espagnols. Enfin, une autre interprétation possible est que "she" représente le principal temple Aztèque, le Templo Mayor. Dans la littérature méso-américaine, le temple est souvent désigné par le pronom "she" puisque les hommes comme les femmes y étaient sacrifiés et une partie considérable du temple était dédiée au dieu aztèque de la pluie, souvent décrit comme étant femme. Le Templo Mayor a été découvert en 1978, soit trois ans après la sortie de l'album, après avoir été enterré sous la ville de Mexico pendant près de 500 ans. Jimmy McDonough, qui écrivait alors la biographie de Neil Young, lui a demandé un jour si ses chansons étaient autobiographiques: Jimmy McDonough: So, are your songs autobiographical? Neil Young: It's not about information. The song is not meant for them to think about me. The song is meant for people to think about themselves. The specifics about what songs are about are not necessarily constructive or relevant. Songs come from a source and the source may be several … it could give credence to the theory of reincarnation, where you've been a whole lotta places but obviously you haven't. What the fuck am I doing writing about Aztecs in "Cortez the Killer" like I was there, wandering around? 'Cause I only read about it in a few books. A lotta shit I just made up because it came to me. Notons que, selon les notes de l'album Decade, la chanson était bannie en Espagne à l'époque de Franco. --- ### Serveur dédié : retirer Varnish, devenu inutile avec HTTPS - **URL**: https://www.skyminds.net/serveur-dedie-retirer-varnish-devenu-inutile-avec-https/ J'ai vraiment aimé jouer avec Varnish. Le problème, c'est qu'en passant l'intégralité du site en HTTPS, il m'est devenu inutile. Varnish est incompatible avec HTTPS et ne le sera probablement jamais puisque les connexions chiffrées ne doivent, par définition, jamais être mises en cache. Par conséquent, j'ai décidé de le retirer temporairement du serveur : cela me fera un service de moins à gérer. Notez que je ne le désinstalle pas, je m'assure juste qu'on ne fait pas appel à lui. Cela me permettra de le remettre en route si jamais j'héberge un jour un site en HTTP simple. Ce tutoriel part du principe que vous avez suivi les tutoriels précédents et que votre serveur tourne avec Apache et Varnish comme reverse-proxy. Configuration d'Apache On doit éditer plusieurs fichiers : 1. le fichier /etc/apache2/ports.conf : nano /etc/apache2/ports.conf On remet les valeurs par défaut et on écoute sur le port 80 : # If you just change the port or add more ports here, you will likely also # have to change the VirtualHost statement in # /etc/apache2/sites-enabled/000-default # This is also true if you have upgraded from before 2.2.9-3 (i.e. from # Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and # README.Debian.gz # SkyMinds.Net # Quand Varnish est actif # NameVirtualHost *:8080 # Listen 8080 # Apache only NameVirtualHost *:80 Listen 80 # If you add NameVirtualHost *:443 here, you will also have to change # the VirtualHost statement in /etc/apache2/sites-available/default-ssl # to # Server Name Indication for SSL named virtual hosts is currently not # supported by MSIE on Windows XP. NameVirtualHost *:443 Listen 443 Listen 443 2. les fichiers de chacun de nos VirtualHosts : nano /etc/apache2/sites-available/www.skyminds.net nano /etc/apache2/sites-available/static.skyminds.net On écoutait sur le port 8080, on se remet sur le port 80 : # Configuration de Varnish Au cas où le service Varnish se lance un jour, on modifie le port sur lequel il tourne: nano /etc/default/varnish On n'écoute plus sur le port 80 mais sur un autre port, disons 8081 : #DAEMON_OPTS="-a :80 \ DAEMON_OPTS="-a :8081 \ -T localhost:6082 \ -f /etc/varnish/default.vcl \ -S /etc/varnish/secret \ -p vcc_err_unref=off \ -s file,/home/install/varnish/$INSTANCE/varnish_storage.bin,2G" # -s file,/var/lib/varnish/$INSTANCE/varnish_storage.bin,2G" Relance des services Une fois ces changements effectués, il ne reste plus qu'à relancer les services : service varnish stop service apache2 restart Et voilà, plus de Varnish pour le moment. --- ### Concert de LA Chords, Terry Ilous, Jorge Salán et Jeff Scott Soto au Ferrailleur de Nantes - **URL**: https://www.skyminds.net/concert-la-chords-terry-ilous-jorge-salan-jeff-scott-soto/ Samedi 14 février 2014, Cécile et moi avons assisté au concert de Terry Ilous, Jorge Salán, et Jeff Scott Soto au Ferrailleur de Nantes, avec le groupe LA Chords en première partie. LA Chords La première a été assurée par les LA Chords : Sébastien Ianotto au chant, Sébastien Naud à la guitare et chant et Yann Le Gars à la guitare. Bon groupe avec des reprises acoustiques rock et hard-rock sympas : AC/DC, The Rolling Stones, The Guns'N'Roses... pas mal de classiques rock en fait. Ils ont joué une demi-heure à peu près. Terry Ilous et Jorge Salán Ensuite, sont apparus Terry Ilous et Jorge Salán. Pour la petite histoire, Terry Ilous est français - né à la Courneuve - et il est à l'origine du groupe XYZ mais aussi le chanteur de Great White... rien que ça ! Il est très bon communiquant avec le public et n'hésite pas à nous raconter quelques anecdotes, c'était vraiment sympa. Il a visiblement apprécié de pouvoir dialoguer en français, chose impossible aux Etats-Unis, où il rassemble des foules de plus de 45 000 personnes. Nous devions être à peu près 200 dans la salle, c'était plutôt intimiste pour lui :) Au niveau de la voix, je n'ai pas été déçu : j'ai bien reconnu son timbre particulier et il a vraiment assuré. Aucun stress : on voit qu'il a l'habitude de tourner. Bon jeu de guitare également, tout acoustique. La guitare de la soirée est sans aucun doute décernée à Jorge Salán, un formidable guitariste espagnol humble et discret, qui a joué avec Mägo de Oz et Jeff Scotto Soto (entres autres) et qui a assuré la partie avec Terry puis Jeff. Jorge a un jeu vraiment génial et retranscrit tous les solos, bends et autres riffs sur ses guitares acoustiques. Un guitariste hors pair. Jeff Scott Soto et Jorge Salán Après la partie de Terry, Jeff Scott Soto est entré en scène. Jeff Scott Soto, américain d'origine portoricaine, a chanté pour Journey, Talisman, Yngwie Malmsteen, Axel Rudi Pell et Trans-Siberian Orchestra... sacré palmarès aussi! "Eyes of Love" de Jeff Scotto Soto : https://www.youtube.com/watch?v=OBVibz4EKRg "Mysterious" : https://www.youtube.com/watch?v=k9BylOhiosI "I'll Be Waiting" : https://www.youtube.com/watch?v=15PfIwSDYrE Terry les a ensuite rejoint pour reprendre "Purple Rain" de Prince: https://www.youtube.com/watch?v=Qw0iOu_IdSg Je mets la version de "Purple Rain" filmée à Madrid le jour précédent pour que vous puissiez voir Jorge jouer : https://www.youtube.com/watch?v=QHy5uqkS1HM "Heaven and Hell": https://www.youtube.com/watch?v=wPMVkT_vk08 "With a Little Help From my Friend": https://www.youtube.com/watch?v=imGjpF8Djzs On a discuté avant le concert avec des gens qui n'avaient pas vu qu'il s'agissait d'un concert purement acoustique : effectivement, ils ont dû être déçus. Note : pas de batteur du tout lors de ce concert : tout est géré par un iPad ! Niveau guitares, Jeff et Jorge ont tous les deux la même guitare électroacoustique qui ne possède pas de corps : vu le design, je pense qu'il s'agit d'une Yamaha SLG110S Silent Guitar. C'était un concert acoustique très sympa, à peu près 2h de show avec des titres de... --- ### Andre Antunes – Get Lucky joué dans le style de 10 guitaristes célèbres - **URL**: https://www.skyminds.net/andre-antunes-get-lucky-10-guitar-styles/ Andre Antunes, guitariste portugais, vient de reprendre la chanson "Get Lucky" de Daft Punk en s'inspirant du style de jeu de dix guitaristes très célèbres. https://www.youtube.com/watch?v=T_5sUcMpFXk Nous avons droit aux styles de jeu caractéristiques de Carlos Santana, Steve Vai, Kurt Cobain (Nirvana), Angus Young (AC/DC), Slash (Guns'n'Roses), Brian May (Queen), Mark Knopfler (Dire Straits), Tom Morello (Rage Against The Machine), Joe Satriani et Eddie Van Halen. Andre Antunes réussit un joli tour de force : celui d'intégrer les riffs originaux de certains de leurs titres phares, le tout sur fond de "Get Lucky" de Daft Punk. J'aime particulièrement la version inspirée par Brian May, que je trouve géniale. Et vous, quelle est votre version préférée ? --- ### Better Call Saul saison 1 - **URL**: https://www.skyminds.net/better-call-saul-saison-1/ Voici la première saison de Better Call Saul, un spin-off analeptique et proleptique de Breaking Bad produit par AMC par Vince Gilligan et Peter Gould. La série est basée sur le personnage secondaire et petit avocat Saul Goodman (Bob Odenkirk), l'avocat véreux de Walter White et Jesse Pinkman. Better Call Saul se passe en 2002, soit 7 ans avant son apparition dans Breaking Bad même si des évènements pendant et après la série originale sont aussi explorés. Dans l'épisode pilote, Saul rêve de jours meilleurs, misérable dans sa nouvelle existence dans le Nebraska. Des années plus tôt, alors qu’il se nommait Jimmy McGill, il avait tenté une carrière d'avocat de la défense à Albuquerque, mais rien n'avait vraiment fonctionné pour lui. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### TRUST – Antisocial - **URL**: https://www.skyminds.net/trust-antisocial/ Antisocial est une chanson du groupe de hard-rock français TRUST, parue sur l'album Répression en 1980. Écrit par Bernie Bonvoisin et Norbert Krief, ce titre est le plus connu du groupe et est représentatif du ton engagé et révolté de l'époque, alors que la France était encore sous la présidence de Valéry Giscard d'Estaing. https://www.youtube.com/watch?v=SxGXXgGgRWc Tu bosses toute ta vie pour payer ta pierre tombale,Tu masques ton visage en lisant ton journal,Tu marches tel un robot dans les couloirs du métro,Les gens ne te touchent pas, il faut faire le premier pas,Tu voudrais dialoguer sans renvoyer la balle,Impossible d'avancer sans ton gilet pare-balle.Tu voudrais donner des yeux a la justiceImpossible de violer cette femme pleine de vices.Antisocial, tu perds ton sang froid.Repense à toutes ces années de service.Antisocial, bientôt les années de sévices,Enfin le temps perdu qu'on ne rattrape plus.Écraser les gens est devenu ton passe-temps.En les éclaboussant, tu deviens gênant.Dans ton désespoir, il reste un peu d'espoirCelui de voir les gens sans fard et moins bâtards.Mais cesse de faire le point, serre plutôt les poings,Bouge de ta retraite, ta conduite est trop parfaiteRelève la gueule, je suis la, t'es pas seulCeux qui t'enviaient, aujourd'hui te jugeraient.Tu bosses toute ta vie pour payer ta pierre tombale,Tu masques ton visage en lisant ton journal,Tu marches tel un robot dans les couloirs du métro,Les gens ne te touchent pas, il faut faire le premier pas,Tu voudrais dialoguer sans renvoyer la balle,Impossible d'avancer sans ton gilet pare-balle.Tu voudrais donner des yeux à la justiceImpossible de violer cette femme pleine de vices.Antisocial! antisocial! antisocial! antisocial! Philippe Manœuvre a souligné une anecdote concernant le chœur final : au moment où ils allaient l'enregistrer, tous les employés étaient partis et seuls étaient présents les présidents de Sony, qui acceptèrent d'être mis à contribution pour répéter le titre à tue-tête. C'est bon ça ! Malheureusement, 35 ans après, rien n'a changé... --- ### Jeu vidéo : Cyberpunk 2077 trailer - **URL**: https://www.skyminds.net/jeu-video-cyberpunk-2077-trailer/ J'aime beaucoup la bande-annonce de Cyberpunk 2077, un jeu vidéo qui a été annoncé en 2012 mais qui n'est toujours pas sorti : https://www.youtube.com/watch?v=P99qJGrPNLs Basé sur la série de jeux de rôle sur table Cyberpunk, ce jeu d'action est développé par CD Projekt RED, un développeur polonais de jeux vidéo. Cyberpunk 2077 se situe dans un monde futuriste dystopique dans lequel une société humaine dégénérée coexiste avec de la technologie ultra-moderne. Le jeu se veut mature et ambitieux, avec une histoire non-linéaire et avec différentes classes de personnages. Il y aura des perspectives à la fois first-person et third-person et les voix seront énoncées par des natifs des pays de chaque nationalité des personnages, pour plus de réalisme. On aimerait bien que ce jeu voit le jour, la bande-annonce met vraiment l'eau à la bouche. --- ### Soul Asylum – Runaway Train - **URL**: https://www.skyminds.net/soul-asylum-runaway-train/ Soul Asylum est un groupe de rock alternatif formé à Minneapolis, Minnesota, USA en 1983. Il est généralement connu pour son tube Runaway Train, extrait de l'album Grave Dancers Union (1992). Voici une version live de Runaway Train à Tokyo le 13 avril 1994 : https://www.youtube.com/watch?v=cKlxLJPYNXY Cela fleure bon les années 90 ! --- ### Linux : installer le plugin Flash sous Opera Developer - **URL**: https://www.skyminds.net/linux-installer-le-plugin-flash-sous-opera-developer/ Après avoir mis à jour Ubuntu récemment, j'ai testé la nouvelle version d'Opera : Opera Developer qui s'adresse aux développeurs web. Si vous recherchez un navigateur ultra-rapide, essayez-le ! Je m'en sers comme navigateur d'appoint et il est vraiment plus rapide que la version classique d'Opera. Seul hic : Flash n'était pas activé par défaut donc il faut faire une petite manipulation qui prend 15 secondes montre en main. Ceci-dit, on avait eu le même problème pour installer Flash sous Chromium. Ce tutoriel permet donc 'installer Flash rapidement sous Opera Developer en utilisant PepperFlash et FFmpeg sous Ubuntu et Linux Mint. Installation de PepperFlash Sous Mint et Ubuntu, il suffit d'installer le paquet pepperflashplugin-nonfree pour installer Pepper Flash : sudo apt-get install pepperflashplugin-nonfree Une fois le paquet installé, il suffit de relancer le navigateur. Installation de FFmpeg Si cela n'est pas suffisant, mettez à jour FFmpeg avec la dernière version en date: sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next sudo apt-get update sudo apt-get install ffmpeg Relancez Opera, à vous les vidéos Flash ! --- ### Happy Birthday Matt : 34 - **URL**: https://www.skyminds.net/happy-birthday-matt-34/ C'est officiel, j'ai aujourd'hui 34 ans :) Le nombre 34 en mathématiques 34 est un nombre semi-premier produit de deux nombres premiers distincts (2 et 17), de même que ses voisins 33 et 35. Chacun possède donc quatre diviseurs (1, 2, 17 et 34), et 34 est le plus petit nombre à être entouré par deux nombres ayant le même nombre de diviseurs que lui. C'est le neuvième nombre de Fibonacci, un nombre de Pell compagnon - et la constante magique des 880 carrés magiques normaux d'ordre 4, en utilisant les 16 premiers nombres: 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1 Trente-quatre est un nombre heptagonal, anti-indicateur et anticoïndicateur. Trivia sur le nombre 34 Trente-quatre est aussi : le numéro atomique du sélénium,l'indicatif téléphonique international pour appeler l'Espagne,la règle 34 du mème Internet selon lequel tout sujet admet un équivalent pornographique,le nombre d'années de mariage des noces d'ambre,en NBA, Shaquille Reshaun O'Neal portait le numéro 34 sous les couleurs des Los Angeles Lakers,la naissance de Perse, aka Aulus Persius Flaccus, poète latin. C'est lui qui figure en exergue au Livre I des Confessions de Jean-Jacques Rousseau : « Intus et in cute » (« De l'intérieur et sous la peau »). Le vers entier est « Ego te intus et in cute novi » (Satires, III, vers 30 - « Moi, je te connais par coeur »).l'année où Paullus Fabius Persicus et Lucius Vitellius deviennent consuls romainsla construction d'un aqueduc romain en 3 parties superposées partant de Nîmes : le pont du Gard.Naevius Sutorius Macro gagne les faveurs de l'Empire en prostituant sa femme Eunius avec Caligula.la mort d'Etienne, premier martyr de la Chrétienté (lapidé par les Juifs pour avoir prêché que Jésus était le Christ) et mort approximative de Jésus.St. Paul et St. Barnabé commencent à prêcher l'Evangile aux Gentils. 34, here I come! --- ### Rules of the Internet - **URL**: https://www.skyminds.net/rules-of-the-internet/ Introduction Il n'existe pas vraiment de règles pour régir Internet, à part les quatre règles standard qui mettent tout le monde d'accord (règles 1, 2, 33, 34, et 35) plus quelques autres règles inventées d'on ne sait où. Les règles 12 et 13, cependant, sont appliquées universellement et sans pitié, que vous soyez d'accord ou non et la réputation de certaines personnes est régulièrement détruite lorsque ces règles sont brisées. Même si les règles 8 et 9 s'appliquent spécifiquement à /b/ sur 4chan, en réalité elles s'appliquent à n'importe quel forum modéré sur Internet. Plusieurs de ces règles font office d'observations à la philosophie Internet : elles ne décrivent pas comment les gens doivent se comporter en ligne mais plutôt comment ils se comportent véritablement. C'était aussi le cas sur Usenet - avant /b/ - qui avait pour réputation d'être moins hostile : elles peuvent être considérées comme un artifact important de l'histoire d'Internet The Rules of the Internet 1. Do not talk about /b/. 2. Do NOT talk about /b/. 3. We are Anonymous. 4. Anonymous is legion. 5. Anonymous never forgives. 6. Anonymous can be a horrible, senseless, uncaring monster. 7. Anonymous is still able to deliver. 8. There are no real rules about posting. 9. There are no real rules about moderation either - enjoy your ban. 10. If you enjoy any rival sites - DON'T. 11. All your carefully picked arguments can easily be ignored. 12. Anything you say can and will be used against you. 13. Anything you say can be turned into something else - fixed. 14. Do not argue with trolls - it means that they win. 15. The harder you try the harder you will fail. 16. If you fail in epic proportions, it may just become a winning failure. 17. Every win fails eventually. 18. Everything that can be labeled can be hated. 19. The more you hate it the stronger it gets. 20. Nothing is to be taken seriously. 21. Original content is original only for a few seconds before getting old. 22. Copypasta is made to ruin every last bit of originality. 23. Copypasta is made to ruin every last bit of originality. 24. Every repost is always a repost of a repost. 25. Relation to the original topic decreases with every single post. 26. Any topic can be easily turned into something totally unrelated. 27. Always question a person's sexual preferences without any real reason. 28. Always question a person's gender - just in case it's really a man. 29. In the internet all girls are men and all kids are undercover FBI agents. 30. There are no girls on the internet. 31. TITS or GTFO - the choice is yours. 32. You must have pictures to prove your statements. 33. Lurk more - it's never enough. 34. There is porn of it, no exceptions. 35. If no porn is found at the moment, it will be made. 36. There will always be even more fucked up shit... --- ### Clara Darko – Dystopian Utopias - **URL**: https://www.skyminds.net/clara-darko-dystopian-utopias/ Clara Darko est fan de films et de montages vidéo. Dans Dystopian Utopias, elle rend hommage à des films qui présentent des sociétés qui ont des qualités à la fois utopiques et dystopiques avec des technologies avancées et de sévères restrictions de libertés civiques et de différences de classes sociales, basées sur les inégalités et le mensonge. https://www.youtube.com/watch?v=A1ZHl8qqg4A Clara Darko a établi plusieurs règles lors de la réalisation de son montage, pour plus de cohérence : 1. la société doit être organisée et non un chaos post-apocalyptique, 2. les populations opprimées doivent être humains et non aliens ou robots, 3. la société doit être contrôlée par des humains et non des aliens, machines ou autres vampires, 4. les évènements doivent avoir lieu dans le réel et non dans des mondes virtuels, 5. la société doit avoir évolué uniquement par des cheminements humains (par la science ou la politique) et non par des changements biologiques. Ce registre est un sous-genre de la science-fiction : ce n'est pas futuriste - car certains de ces films ont lieu dans le présent ou dans le passé - ni complètement post-apocalyptique. Cela donne un panel de directions vers lesquelles nos sociétés pourraient un jour se tourner s'il n'a avait pas de garde-fous ou de contre-pouvoirs efficaces. Musiques : "72 degrees and sunny" by Thomas Newman, extracted from the score of "Wall·E""End of Line" by Daft Punk, extracted from the score of "Tron: Legacy""Anthem for the Year 2000" by Silverchair"If you tolerate this, your children will be next" by Manic Street Preachers Dans un style plus explosif et sans règles, Eterna de Vadzim Khudabets est pas mal non plus. Liste des films. FILMS (51, dans l'ordre d'apparition):Starship TroopersMinority ReportDeath Race 2000Running ManDeath RaceGamerSurrogatesThe IslandZero TheoremSnowpiercerWall·EIdiocracyFahrenheit 451The PurgeTotal RecallRepo MenI, robotSoylent GreenThe LoraxDemolition ManElysiumThe GiverSerenityMetropolisAeon FluxLogan's RunDivergentA.I.Babylon A.D.Blade RunnerCloud AtlasTHX 1138The Hunger Games: Catching FireSleeperEscape from L.A.DreddTotal Recall (2012)FreejackThe Hunger GamesFortressGattacaCode 46Never let me goIn time1984BrazilScanner darklyEquilibriumV for VendettaA clockwork orangeJohnny Mnemonic --- ### Justified saison 6 - **URL**: https://www.skyminds.net/justified-saison-6/ Voici la sixième et dernière saison de la série Justified sur FX. La série développée par Graham Yost et basée sur les romans d'Elmore Leonard Pronto et Riding the Rap, ainsi que sur sa nouvelle "Fire in the Hole". Dans le premier épisode de cette saison, Raylan guide Ava et l'aide à donner des informations sur Boyd et ses agissements. Raylan essaie également de retourner Dewey Crowe contre son vieil ami Boyd. Pendant ce temps, Boyd s'attelle à essayer d'exécuter un vol à main armé osé au nez et à la barbe de Raylan. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Candide Thovex – One of Those Days 2 - **URL**: https://www.skyminds.net/ski-extreme-candide-thovex-one-of-those-days-2/ Envie de ski en cette saison ? Jetez un petit coup d'oeil à "One of Those Days 2", l'une vidéo de ski par Candide Thovex, qui ne laisse pas indifférent ! https://www.youtube.com/watch?v=yKP7jQknGjs La vidéo a été filmé à Val Blanc, en France, et c'est probablement l'une des vidéos de ski les plus impressionnantes que j'ai pu voir dernièrement. Candide Thovex est un skieur français, spécialiste du freestyle et du freeride, né le 22 mai 1982 à Annecy. Depuis 1996, il a remporté un grand nombre de compétitions internationales et jouit d'une importante notoriété dans le milieu du ski. Ce skieur est dingue, son palmarès l'est tout autant ! --- ### Fink – Yesterday Was Hard On All Of Us - **URL**: https://www.skyminds.net/fink-yesterday-was-hard-on-all-of-us/ Fink est un groupe folk formé par Fin Greenall (surnommé Fink), - auteur-compositeur né en Cornouailles (Angleterre) -, avec ses amis d'enfance, Guy Whittaker et Tim Thornton. Voici Yesterday Was Hard On All Of Us: https://www.youtube.com/watch?v=yNiX-tdmLC0 Leur musique folk et intimiste est un vrai régal pour les oreilles. Ce morceau est à retrouver sur l'album Perfect Darkness (2011). --- ### WordPress : afficher les accents dans des blocs texte colorisés par Crayon Syntax Highlighter - **URL**: https://www.skyminds.net/wordpress-afficher-accents-code-crayon/ Jusqu'à très récemment, il m'était tout à fait possible d'avoir des caractères accentués dans des blocs de texte sous WordPress en utilisant le plugin Crayon Syntax Highlighter pour coloriser le code. Or depuis quelques temps tous les blocs en lang="text" ne permettent plus d'afficher les accents : je me retrouve avec des mots tronqués comme si le texte n'était pas encodé en UTF-8. Problème : des caractères non-Unicode Voici ce que donne la phrase "j'ai mangé une tarte à la crème à Noël" avec une colorisation par défaut avec Crayon Syntax Highlighter : J'ai mangé une tarte à la crème à Noël. Gloups! C'est totalement illisible, les accents deviennent un caractère mal encodé et certaines lettres adjacentes sont littéralement supprimées. Pas glop. Solution : créer un alias La solution que je propose est plus une rustine d'appoint qu'une véritable solution. Je pense que le problème réside dans l'expression régulière des langages du plugin : certains langages (shell par exemple) n'acceptent pas les accents alors que d'autres (HTML par exemple) oui. Je me suis rendu compte en changeant la langue du bloc que le langage batch affichait correctement les accents. Comme je n'allais pas éditer tous mes articles pour changer le langage des blocs texte que j'ai utilisé jusqu'à maintenant, j'ai opté pour la création d'un alias. 1. On édite le fichier crayon-syntax-highlighter/langs/aliases.txt: nano crayon-syntax-highlighter/langs/aliases.txt 2. On ajouter la ligne suivante à la fin du fichier: batch text Cela crée un alias text qui va suivre les modalités de colorisation du code batch. Il faut mettre en premier le langage existant et à la suite les alias que l'on souhaite créer. Conclusion L'effet est immédiat, les accents reviennent immédiatement : J'ai mangé une tarte à la crème à Noël. C'est une rustine mais l'essentiel était pour moi de retrouver une certaine lisibilité dans mes articles techniques! --- ### Questions d’orthographe: écrit-on « Elles se sont succédées » ou « elles se sont succédé »? - **URL**: https://www.skyminds.net/orthographe-ecrit-on-elles-se-sont-succedees-ou-succede/ Il arrive fréquemment que l'on me pose cette question : "elles se sont succédées" ou "elles se sont succédé"? Une question épineuse, dont la réponse est surprenante... alors je vous propose un petit point grammaire. L'accord correct C'est : "elles se sont succédé". La règle L'exemple présenté fait partie des verbes pronominaux : ce sont des verbes qui se construisent avec "se", pronom qui renvoie au sujet de la phrase. Par exemple, dans "Jean se regarde" : Jean regarde quoi ? -> "se", c'est-à-dire lui-même. Même exemple dans "Je me maquille", "Ils se coiffent", "Nous nous parlons", etc. Comment savoir si le participe s'accorde ou non ? Tout dépend de la construction du verbe : 1. Le participe passé s'accorde avec le sujet de la phrase Si le verbe se construit avec un COD, dans ce cas, le pronom "se, me, te..." est COD du verbe, c’est-à-dire répond à la question QUOI / QUI ? Par exemple, "Je me suis coiffée" : j'ai coiffé QUI ? -> me, c'est-à-dire moi. Autre exemple, "Elles se sont lavées": Elles ont lavé QUI ? -> Se, c'est-à-dire elles-mêmes. 2. Le participe passé reste invariable Si le verbe se construit avec un COI, dans ce cas, le pronom "se, me, te, ..." est COI du verbe, c’est-à-dire qu'il répond à A QUOI / A QUI ? par exemple : "je lui parle" : je parle A QUI ? -> à lui. Autre exemple, "Je leur succède": je succède A QUI ? -> à eux. Donc, dans "elles se sont succédées", on dit "succéder A quelqu'un" et pas "succéder quelqu'un", donc, succéder se construit avec un COI. Donc, "elles se sont succédé", elles se sont parlé, ... Ça y est, vous êtes incollables ! --- ### Fink – This Is The Thing - **URL**: https://www.skyminds.net/fink-this-is-the-thing/ En ce jour un peu spécial étant donné les évènements de ces derniers jours en France, voici Fink interprétant This Is The Thing : https://www.youtube.com/watch?v=FPCeA5Vl29k I don't know if you notice anything different.It's getting dark and it's getting cold and the nights are getting longAnd I don't know if you even notice at allThat I'm long goneAnd the things that keep us apartKeep me aliveAnd the things that keep me aliveKeep me aloneThis is the thingI don't know if you notice anything missingLike the leaves on the trees or my clothes all over the floorAnd I don't know if you even notice at all'Cause I was real quiet when I closed the doorAnd the things that keep us apartKeep me aliveAnd the things that keep me aliveKeep me aloneThis is the thingAnd I don't know if you notice anything differentI don't know if you even notice at allThis is the thing --- ### Please Dance Hell Bear : My, NJBR, Blind - **URL**: https://www.skyminds.net/please-dance-hell-bear-my-njbr-blind/ Please Dance Hell Bear est un groupe de Moscou, Russie, qui distille une musique aux accents math-pop, post-punk et dance-punk. Le groupe est composé de quatre membres : Eugene (guitare), Alex (guitare), Misha (basse) et Ivan (batterie) et cela s'écoute vraiment bien, jugez plutôt : https://www.youtube.com/watch?v=58sm9daVIX8 --- ### Assistants de langue : droits, devoirs et conseils - **URL**: https://www.skyminds.net/assistants-de-langue-droits-devoirs-et-conseils/ Dans votre établissement, il y a un professeur référent qui est là pour vous aider et répondre à vos questions. Au niveau de l’administration, la personne en charge des professeurs et des assistants est le principal ou le principal adjoint (en collège) et le proviseur ou le proviseur adjoint (en lycée). En France on vouvoie les chefs d’établissements et les professeurs. Pour les élèves, faites comme vous le sentez. Ponctualité, absences Renseignez-vous sur les horaires précis des débuts et fins de cours dans votre établissement et pensez à téléphoner en cas de retard. Absences éventuelles : la personne à joindre aussitôt est le proviseur adjoint ou le principal adjoint. Si vous êtes malade, vous devrez fournir un certificat médical. Si vous avez besoin de vous absenter, vous devez d’abord en demander la permission et généralement rattraper les cours que vous avez manqués. Je vous conseille de lire le guide pratique sur l'arrivée dans un nouvel établissement. Emploi du temps On doit vous remettre un emploi du temps établi par les professeurs où figurent le nom des classes, les horaires précis et les salles dans lesquelles vous devez vous rendre. On vous donnera la liste des élèves et souvent également un trombinoscope qui vous aidera à mémoriser leurs visages. Vous devez enseigner 12h au maximum par semaine mais vous pouvez aussi faire des heures supplémentaires, payées. Vous êtes responsable des élèves qui vous sont confiés. Les professeurs doivent vous fournir la liste des élèves présents à vos cours. À chaque début d’heure, vous devrez prendre l’assistance, noter les absences ou retards, puis informer la vie scolaire. C’est obligatoire. Le professeur référent vous expliquera comment faire. Vous ne devez jamais laisser un élève sortir seul. Si l’un d’eux est malade, faites-le accompagner par un autre élève. En France, les élèves ne sont pas autorisés à boire ou à manger pendant les cours. Les attentes des professeurs Les professeurs doivent vous indiquer ce qu’ils attendent de vous, ce qu’ils font en cours et comment vous pouvez vous intégrer dans leur séquence. S’ils n’ont pas de demandes précises, à vous de prévoir ce que vous allez faire ; vous pouvez bien sûr leur demander conseil ou des idées. On ne doit pas vous donner de copies à corriger ou vous demander de noter un élève sans que le professeur intervienne. Il est pratique d'avoir un cahier pour noter ce que vous faites avec chaque classe. Cela permet de rendre compte aux professeurs et de vous souvenir d'une semaine à l'autre. En effet, on vous confiera souvent une demi-classe une semaine, et l'autre demi-classe la semaine suivante. Vous êtes là pour faire entendre de l’anglais authentique et faire parler anglais aux élèves et les faire s'exprimer dans votre langue. En cas de problèmes avec des élèves, ne restez pas isolés, parlez en tout de suite avec le professeur de la classe ou avec le Conseiller Principal d’Education (CPE) qui suit les élèves (retard, absences, problèmes divers). Il peut être de bon conseil car il connaît bien... --- ### Bill Laswell – Beyond The Zero - **URL**: https://www.skyminds.net/bill-laswell-beyond-the-zero/ Bill Laswell s'exprime à travers des genres musicaux variés comme le jazz, le dub, la drum and bass, le funk, le rock ou encore de façon plus vague la musique expérimentale. En voici un petit extrait avec Beyond The Zero : https://www.youtube.com/watch?v=ddjMHMuOE7Y Entêtant non ? La liste des artistes avec lesquels il a collaboré est assez incroyable - il est plutôt actif! --- ### SIGHT ou un futur possible et dystopique de la réalité augmentée - **URL**: https://www.skyminds.net/sight-futur-possible-dystopique-realite-augmentee/ Voici SIGHT, un court-métrage qui se demande à quel point nos vies pourraient changer si la réalité augmentée était totalement intégrée dans nos sociétés modernes : https://www.youtube.com/watch?v=lK_cdkpazjI Un peu à la manière de l'excellente série britannique Black Mirror, Eran May-raz et Daniel Lazo imagine une vision alternative du future, dans un monde où les nouvelles technologies, comme la réalité virtuel, commencent à être dommageables pour nos vies. Nous suivons donc Patrick, un célibataire qui vit dans une métropole sans nom. Au début du film, il semble être étendu au-dessus d'un tapis, flottant à une dizaine de centimètres du sol - mais Patrick voit les choses bien différemment : à travers des lentilles de contact spéciales, il joue à un jeu de skydiving en immersion. Nous le voyons ensuite se diriger vers la cuisine, où son frigo lui indique quels aliments vont bientôt arriver à leur date d'expiration. Il choisit un concombre et commence à le couper alors que le jeu Fruit Ninja se lance. Au fur et à mesure que le film avance, il apparait clair que la plupart des affaires de Patrick appartiennent plus à la fiction qu'à la réalité. Les murs de son appartement sont vides mais lorsqu'il les regarde avec ses lentilles, ils sont couverts de tableaux de score de jeux et d’œuvres d'art hors de prix. La vie de Patrick, à première vue remplie et parfaite, commence rapidement à apparaitre comme une existence vide et sans inspiration. Au moment où Patrick est dans le vrai monde lors d'un rendez-vous galant avec Daphné, la réalité augmentée est devenue un ennemi. Plutôt que d'améliorer son expérience, les lentilles deviennent un obstacle entre les deux personnes, une barrière qui empêchent Patrick et Daphné d'être véritablement connectés... --- ### jQuery : script toggle pour afficher et cacher de multiples blocs HTML - **URL**: https://www.skyminds.net/jquery-toggle-afficher-cacher-multiples-blocs-html/ J'ai écrit il y a quelques temps un script jQuery utilisant la fonction toggle pour afficher/cacher un seul bloc HTML mais pas mal de gens m'ont demandé comment faire pour afficher plusieurs blocs HTML. Voici comment s'y prendre, en utilisant les fonctions jQuery .slideup(), .slidedown() et .closest(). Démo Article A Matt Biscay est un développeur spécialisé WordPress et WooCommerce. Il conçoit des sites rapides, maintenables et orientés conversion, tout en soignant l’expérience d’administration et la fiabilité des mises à jour. Vous pouvez découvrir son travail, ses services et ses réalisations sur mattbiscay.com. Il intervient aussi sur l’optimisation des performances, la qualité du code et l’intégration WooCommerce. Lire la suite Replier Article B Utopique Plugins est une agence de développement de plugins WordPress et WooCommerce. Elle accompagne les équipes qui veulent des fonctionnalités sur mesure, propres et évolutives, avec une attention particulière portée à la compatibilité, aux performances et aux bonnes pratiques. L’agence peut créer des extensions métiers, automatiser des process et renforcer la stabilité d’un catalogue WooCommerce. Plus d’infos sur utopique.net. Lire la suite Replier Article C FastNyx est un hébergeur WordPress et WooCommerce focalisé sur la performance et la sécurité. La plateforme vise des temps de réponse bas, une stack optimisée et des pratiques sérieuses côté durcissement, supervision et fiabilité. C’est une approche adaptée aux boutiques WooCommerce qui cherchent vitesse, stabilité et protection sans compromis. Pour en savoir plus, rendez-vous sur fastnyx.com. Lire la suite Replier Le script 1. Ajoutez jQuery dans l’en-tête de votre page (head), comme ceci : 2. Ajoutez le script dans le corps de votre page, juste avant /body 3. Le code HTML avec vos blocs de texte : Article A Matt Biscay est un développeur spécialisé WordPress et WooCommerce. Il conçoit des sites rapides, maintenables et orientés conversion, tout en soignant l’expérience d’administration et la fiabilité des mises à jour. Vous pouvez découvrir son travail, ses services et ses réalisations sur mattbiscay.com. Il intervient aussi sur l’optimisation des performances, la qualité du code et l’intégration WooCommerce. Lire la suite Replier Article B Utopique Plugins est une agence de développement de plugins WordPress et WooCommerce. Elle accompagne les équipes qui veulent des fonctionnalités sur mesure, propres et évolutives, avec une attention particulière portée à la compatibilité, aux performances et aux bonnes pratiques. L’agence peut créer des extensions métiers, automatiser des process et renforcer la stabilité d’un catalogue WooCommerce. Plus d’infos sur utopique.net. Lire la suite Replier Article C FastNyx est un hébergeur WordPress et WooCommerce focalisé sur la performance et la sécurité. La plateforme vise des temps de réponse bas, une stack optimisée et des pratiques sérieuses côté durcissement, supervision et fiabilité. C’est une approche adaptée aux boutiques WooCommerce qui cherchent vitesse, stabilité et protection sans compromis. Pour en savoir plus, rendez-vous sur fastnyx.com. Lire la suite Replier 4. Le code CSS, à styliser selon vos goûts et envies : .less.active .button-read-more, .button-read-less {display: none} .less.active .button-read-less {display: block} .more {margin-top: 10px} .more p {margin: 0;padding: 0} .toggle{margin-block:2rem} Et si on voulait que le bloc... --- ### NAS Synology : récupérer les données d’un disque dur issu d’un RAID1 - **URL**: https://www.skyminds.net/nas-synology-recuperer-donnees-disque-dur-raid1/ Je possède un NAS Synology pour archiver mes données. Pour simplifier, un NAS est un système à part entière qui gère des disques dur de sauvegarde accessibles par le réseau. Synology en RAID1 Dans mon cas, il s'agit d'un Synology 212+ 2 baies qui accueille deux disques dur de 2 To chacun. Je les ai mis en RAID1, ce qui signifie que tout ce qui est copié sur le volume est répliqué : les données du disque 1 sont recopiées à la volée sur le disque 2. Le RAID1 est donc un système de redondance qui donne au stockage des données une certaine tolérance aux pannes matérielles. En théorie, si un disque lâche, l'autre aura toutes les données intactes. Enfin, ça c'est la théorie ! Des données qui s'envolent Au courant de l'année 2013, je sauvegarde quelques séries sur le NAS. Je crée un raccourci dans Nautilus pour pouvoir glisser/déposer facilement les fichiers, ce qui semble un chouilla plus rapide que via l'interface web du Synology. Note : mes transferts semblent plafonner à 300 ko/s alors que j'utilise du CPL, si quelqu'un connaît un autre moyen d'augmenter ce débit, je suis preneur ! En décembre 2013, je vois les diodes du Syno qui clignotent comme un sapin de Noël : je me loggue et me rends compte qu'un de mes dossiers de sauvegarde est vide. Incompréhension totale. Je suspecte d'abord une intrusion et vérifie les logs mais je n'ai rien trouvé d'inhabituel. Je penche maintenant pour une erreur de manipulation dans nautilus, même si j'y crois peu. Je débranche le Syno du réseau puis l'éteins. Récupérer les données d'un disque dur issu d'un RAID1 En décembre 2014, c'est-à-dire la semaine dernière, je me dis que ce serait cool de remettre le Syno en route et de me pencher sur le mystère. Je retire un disque dur d'une des baies et le branche en USB sur ma machine linux. Voici les étapes qui m'ont permis de lire ce disque. 1. On passe en mode administrateur pour éviter à taper sudo à chaque commande: sudo -i et on liste les disques et partitions du système fdisk -l Résultat : Disk /dev/sdd: 2000.4 GB, 2000398934016 bytes 255 tetes, 63 secteurs/piste, 243201 cylindres, total 3907029168 secteurs Unites = secteurs de 1 * 512 = 512 octets Taille de secteur (logique / physique) : 512 octets / 512 octets taille d'E/S (minimale / optimale) : 512 octets / 512 octets Identifiant de disque : 0x0004a99e Peripherique Amorcage Debut Fin Blocs Id. Systeme /dev/sdd1 256 4980735 2490240 fd RAID Linux autodetecte /dev/sdd2 4980736 9175039 2097152 fd RAID Linux autodetecte /dev/sdd3 9437184 3907015007 1948788912 f Étendue W95 (LBA) /dev/sdd5 9453280 3907015007 1948780864 fd RAID Linux autodetecte 2. on crée un point de montage : mkdir /mnt/md2 la commande mount ne fonctionne pas pour ce type de volume : mount /dev/sdd1 /mnt/md2 Résultat : mount : type de systeme de fichiers « linux_raid_member » inconnu 3. On installe le paquet mdadm pour gérer le RAID : apt-get install mdadm On... --- ### Questions d’orthographe : écrit-on : « les pommes que j’ai mangées » ou « les pommes que j’ai mangé »? - **URL**: https://www.skyminds.net/questions-dorthographe-accord-participe-passe/ Aujourd'hui, dans Questions d'orthographe, nous allons nous intéresser à l'accord du participe passé. L'accord correct C'est "les pommes que j'ai mangées". La règle Cette phrase interroge sur l'accord du participe passé : Mini-rappel pour ceux à qui ce terme paraît flou : le participe passé est cette forme du verbe qui sert, à l'aide de l'auxiliaire être ou avoir, à former les temps composés des verbes. Par exemple, dans "j'ai mangé": "j" est le sujet, "ai" est l'auxiliaire avoir et "mangé" est le participe passé du verbe manger. Comment faire pour savoir s'il faut accorder ou non le participe passé ? Pour savoir si le participe passé s'accorde ou non, on regarde tout simplement l'auxiliaire qui l'accompagne. Si c'est l'auxiliaire ETRE qui accompagne le participe passé : le participe passé s'accorde toujours avec le sujet de la phrase. Par exemple : "Claudine est sortie": Claudine est un sujet féminin, donc accord du participe passé au féminin. Si c'est l'auxiliaire AVOIR qui accompagne le participe passé, peu importe le sujet, on regarde le COD. Rappel, pour trouver le COD, on pose la question "quoi ?" ou "qui ?" après le verbe. Par exemple, "je mange des pommes" : je mange quoi ? -> des pommes. Si le COD est placé devant le verbe, le participe passé s'accorde avec le COD. Par exemple, "les pommes qu'il a mangées": le COD "que" est placé avant le verbe. Comme il renvoie aux pommes (féminin pluriel) le participe passé s'accorde au féminin pluriel. Si le COD est placé après le verbe, le participe passé reste toujours invariable : Par exemple, "il a mangé des pommes". Et voilà, maintenant, on peut manger des pommes en toute tranquillité ! --- ### Ubuntu : installer Pepper Flash sous Chromium pour lire les vidéos Flash - **URL**: https://www.skyminds.net/ubuntu-installer-pepper-flash-sous-chromium/ Suite à une mise à jour de Chromium, il y a quelques années, j'ai perdu la possibilité de lire les vidéos flash sous Chromium. Bon, étant utilisateur de FireFox, je ne trouvais pas vraiment cela gênant, sauf pour les vidéos YouTube et Dailymotion. Et puis aujourd'hui, cela m'a un peu agacé alors je me suis un peu penché sur le problème. Pepper Flash et Chromium Si on utilise Chrome, pas de souci, le plugin Pepper Flash comme le lecteur PDF natif sont inclus. Si on utilise Chromium par contre, le navigateur est nu et il faut installer Pepper Flash soi-même. Installer Pepper Flash sous Chromium avec Ubuntu Si vous possédez Ubuntu 14.04+, un installeur Pepper Flash Player installer est disponible dans les dépôts, il suffit de l'installer avec : sudo apt-get install pepperflashplugin-nonfree && sudo update-pepperflashplugin-nonfree --install Si votre version d'Ubuntu est inférieure à la version 14.04, il faut passer par un PPA qui va télécharger la version stable de Google Chrome, extraire les fichiers de Pepper Flash et les installer proprement dans votre installation de Chromium. Google Chrome ne sera pas installé, seuls les fichiers Pepper Flash seront utilisés. 1. on ajoute le PPA et on installe le paquet pepflashplugin-installer: sudo add-apt-repository ppa:skunk/pepper-flash sudo apt-get update && sudo apt-get install pepflashplugin-installer 2. on édite le fichier /etc/chromium-browser/default en root : sudo gedit /etc/chromium-browser/default dans ce fichier, on ajoute à la fin du fichier, après la ligne CHROMIUM_FLAGS="": . /usr/lib/pepflashplugin-installer/pepflashplayer.sh Note: la ligne commence par un point, puis un espace.Il vous suffit de redémarrer Chromium et de vous rendre sur la page chrome://plugins pour vérifier que Pepper Flash est bien activé par défaut. --- ### Manu Delago – Two Handsful of Sound - **URL**: https://www.skyminds.net/manu-delago-two-handsful-of-sound/ Le hang est un instrument de musique acoustique de la famille des idiophones inventé par Felix Rohner et Sabina Schärer à Berne en Suisse en 2000 : c'est un volume lenticulaire creux composé de deux coupelles métalliques embouties. Le nom « hang » signifie main en dialecte bernois. La partie supérieure du hang, le « Ding », permet d'obtenir un son très différent suivant la manière dont elle est utilisée ; il est ainsi possible d'obtenir des sonorités proches de celles d'une harpe ou d'une cloche. On retrouve sur le Ding 7 à 8 notes disposées en cercle de la plus grave à la plus aigüe, et d'une plus grave en son centre. Chacune de ces notes fondamentales a trois harmoniques accessibles de différentes façons ; on pourra par exemple étouffer la fondamentale avec un doigt et faire résonner les harmoniques en frappant sur les côtés de la note. La partie inférieure de l'instrument, le « Gu », est essentiellement constitué d'une surface lisse avec un creux arrondi en son centre. Cette cavité vide permet l'apparition d'une résonance de Helmholtz, comme dans l'udu, qui permet à l'instrument de résonner et de faire sonner ses différentes harmoniques. Cette création est inspirée de nombreux instruments de percussion venant des différents pays et cultures musicales comme le gong, le gamelan, le ghatam, le tambour, la cloche ou la scie musicale. Two Handsful of Sound est un morceau composé de dix pistes Hang par Manu Delago. https://www.youtube.com/watch?v=JrJVUsnsimw Génial non ? Cela me rappelle un peu la musique du jeu vidéo Dune. --- ### Corriger xulrunner-bin et les erreurs de bibliothèques Ubuntu - **URL**: https://www.skyminds.net/ubuntu-xulrunner-bin-shared-libraries/ Sur une vieille installation Ubuntu, une mise à jour ou une suppression de paquet peut échouer avec une erreur de ce type : xulrunner-bin: error while loading shared libraries: libhunspell-1.2.so.0: cannot open shared object file: No such file or directory Cette erreur signifie qu’un programme lié à XULRunner essaie de démarrer, mais qu’il ne trouve plus une bibliothèque partagée nécessaire, ici libhunspell-1.2.so.0. Le problème est surtout historique. XULRunner appartenait à l’écosystème Mozilla et servait à exécuter des applications basées sur XUL. Il a notamment accompagné d’anciennes versions de Firefox, Thunderbird ou d’applications construites avec la plateforme Mozilla. Aujourd’hui, il n’a plus vraiment de place sur une Ubuntu moderne. Donc, si vous tombez encore sur cette erreur, vous êtes probablement face à un vieux paquet cassé, une mise à niveau ancienne, une dépendance orpheline ou une application Mozilla préhistorique qui refuse de partir dignement. Bref, un fossile qui mord encore. Ce qu’était XULRunner XULRunner était un environnement d’exécution Mozilla. Il permettait de lancer des applications utilisant XUL, le langage d’interface historiquement utilisé par Mozilla. Dans les anciennes versions d’Ubuntu, XULRunner pouvait être installé comme paquet séparé. Il servait parfois à Firefox, Thunderbird, Songbird, KompoZer ou d’autres applications construites autour de technologies Mozilla. Sur les distributions actuelles, vous ne devriez normalement plus avoir besoin de XULRunner. Si un vieux paquet xulrunner-1.9.2 traîne encore dans le système, l’objectif raisonnable est généralement de le supprimer proprement, pas de le ressusciter. Pourquoi l’erreur libhunspell apparaît Le message indique que xulrunner-bin cherche une bibliothèque précise : libhunspell-1.2.so.0 Hunspell est une bibliothèque de correction orthographique. Les anciennes applications Mozilla pouvaient l’utiliser pour la correction dans les champs texte, les emails ou les éditeurs intégrés. Le problème est que les versions de bibliothèques évoluent. Sur une Ubuntu plus récente, vous pouvez avoir une version moderne de Hunspell, mais plus l’ancienne bibliothèque exactement nommée libhunspell-1.2.so.0. Résultat : quand le script de suppression du paquet tente d’exécuter xulrunner-bin, le binaire échoue avant même de faire son travail. Et comme ce script échoue, dpkg refuse de terminer la désinstallation. Le paquet est cassé, et il bloque sa propre sortie. Très élégant. Très Linux 2010. Vérifier si XULRunner est encore installé Commencez par vérifier les paquets liés à XULRunner : dpkg -l | grep -i xulrunner Vous pouvez aussi chercher les fichiers restants : find /usr -iname '*xulrunner*' 2>/dev/null find /var/lib/dpkg/info -iname '*xulrunner*' 2>/dev/null Si vous ne voyez rien, l’erreur vient peut-être d’une application Mozilla ancienne ou d’un binaire installé manuellement. Dans ce cas, cherchez le binaire concerné : command -v xulrunner command -v xulrunner-bin Sur une Ubuntu moderne, ces commandes ne devraient généralement rien retourner. Vérifier l’état de dpkg et apt Si l’erreur apparaît pendant une mise à jour ou une suppression de paquet, vérifiez d’abord l’état du gestionnaire de paquets : sudo dpkg --audit Puis tentez une réparation classique : sudo apt --fix-broken install sudo dpkg --configure -a Si ces commandes échouent toujours à cause de xulrunner-bin, passez à la correction ciblée. Solution historique : neutraliser le script prerm cassé... --- ### Black Mirror Season 2 Special : White Christmas - **URL**: https://www.skyminds.net/black-mirror-christmas-special-s2-white-christmas/ Voici l'épisode spécial de la seconde saison de Black Mirror, qui s'intitule White Christmas. Il s'agit, comme le veut la tradition en Angleterre, d'offrir aux fans de la série un épisode pour Noël. Black Mirror oscille entre récits technologiques, science-fiction et anticipation, et s’appuie sur notre époque et ses technologies en les faisant évoluer pour le meilleur… et pour le pire. White Christmas L'épisode, avec en guest star Jon Hamm (le charismatique Don Draper dans Mad Men), utilise à nouveau l’idée d’une convergence des nouvelles technologies avec le corps humain. Nous nous retrouvons donc dans un monde dans lequel chaque personne peut copier sa personnalité sur un mini disque dur, quitte à avoir son double numérique à côté de soi, ou des interactions réelles gérées comme de simples contacts numériques (notamment la possibilité de "bloquer" quelqu’un). A regarder en VO : Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Bon Iver – Wolves (Act I & II) - **URL**: https://www.skyminds.net/bon-iver-wolves-act-i-ii/ Winter is coming..., c'est l'heure de s'écouter un petit Bon Iver avec Wolves : https://www.youtube.com/watch?v=9YgjZ4oPrj4 J'adore Bon Iver. --- ### Ben Howard – Promise - **URL**: https://www.skyminds.net/ben-howard-promise/ Voici Promise, un très bon morceau issu de l'album Every Kindom (2011) de Ben Howard : https://www.youtube.com/watch?v=e8dgvZ-s8ts Ben a filmé cette vidéo alors qu'il rentrait chez lui en voiture, un soir juste après l'enregistrement de l'album. Il s'est ensuite dit que cela collerait bien à l'une de ses "night time songs". Cet album s'écoute décidément très bien ! Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Charte du Conseil de Classe - **URL**: https://www.skyminds.net/charte-du-conseil-de-classe/ 1. Le conseil de classe est la réunion de l’équipe pédagogique et éducative : les professeurs, le CPE – Conseiller Principal d’Éducation, les délégués des élèves et des parents en sont les membres permanents ; le chef d’établissement ou son représentant en est le président. Le COP, l’infirmière ou l’assistante sociale peuvent y participer ponctuellement. 2. Le conseil de classe a pour missions : de traiter les questions pédagogiques intéressant la vie de classe, et notamment les modalités d'organisation du travail personnel des élèves, de son suivi et de proposer des accompagnements individualisés.d'examiner les résultats scolaires : s’appuyant sur les appréciations et évaluations portées sur le bulletin, il recherche et propose à l’élève et à sa famille des conseils pour la suite de sa scolarité. Des entretiens peuvent être provoqués par le professeur principal ou le chef d’établissement à la suite du conseil avec l’élève et sa famille.d'émettre un avis sur les vœux d'orientation exprimés par les familles et les élèves, et le cas échéant faire d'autres propositionsd'émettre un avis éclairant le jury d'examen (pour les classes à examen)d'émettre un avis sur les vœux de poursuites d'études post-bac dans le cadre de la procédure Admission Post Bac (APB). 3. Le président du conseil de classe donnera la parole tout d’abord au professeur principal qui présentera les résultats et l’ambiance de travail dans la classe. Puis la parole sera donnée aux délégués élèves et aux représentants des parents : les points abordés doivent concerner uniquement la vie dans la classe. 4. L’examen des cas individuels peut se faire dans un ordre différent que celui de l’ordre alphabétique, en regroupant les élèves suivant d’autres critères. Pour chaque élève, il s’agira de connaitre dans les grandes lignes ses points forts, ses points faibles, ses potentialités et son niveau d’acquisition des compétences attendues pour la classe concernée. Un bilan rapide peut être fait sur les dispositifs d’aide dont il bénéficie. Chaque fois que possible, on s’attachera à valoriser les éléments positifs et les progrès, même lorsqu’ils sont modestes. 5. Trois mentions pourront être décernées en conseil de classe par l’équipe pédagogique : les encouragements, les compliments et les félicitations ; ces mentions seront portées sur le bulletin.Les définitions correspondant à chaque mention sont les suivantes : Encouragements : témoignage de reconnaissance adressé à l’élève pour son engagement significatif dans le travail, même si les résultats restent modestes, qui se traduit notamment par des signes d’efforts, d’investissement, d’intérêt, de peine qu’on se donne, etc.Compliments : témoignage de reconnaissance adressé à l’élève pour le bon niveau de ses résultats et une attitude positive face au travail.Félicitations : témoignage de reconnaissance adressé à l’élève pour l’excellence de ses résultats et de son comportement face au travail. 6. En cas de remarques très négatives sur le comportement et la mise au travail, le conseil de classe peut éventuellement « mettre en garde » l’élève mais il ne peut prononcer de sanction (avertissement). 7. L’ensemble des délégués disposeront des moyennes par discipline de tous les élèves seulement pendant le... --- ### Elton John – Rocket Man - **URL**: https://www.skyminds.net/elton-john-rocket-man/ Voici "Rocket Man", une chanson composée par Elton John et Bernie Taupin, et interprétée par Elton John sur l'album Honky Château (1972) : https://www.youtube.com/watch?v=1GAKOLOnfV4 La chanson aurait inspirée par la vision d'une étoile filante ou d'un avion au loin par Taupin. Les astronautes ne sont plus considérés comme des héros mais comme ayant un travail banal, ce qui explique les premières lignes de la chanson : "She packed my bags last night, pre-flight. Zero hour: 9 a.m. And I'm gonna be high as a kite by then." Les paroles, inspirées de la nouvelle The Rocket Man de Ray Bradbury, décrivent les sentiments qu'éprouve un astronaute sur Mars à l'idée de quitter sa famille pour aller effectuer son travail. Musicalement, la chanson est une ballade pop au piano, avec une texture ajoutée par un synthétiseur et de la guitare slide. C'est aussi la première chanson d'Elton John avec les choeurs combinés de Dee Murray, Nigel Olsson et Davey Johnstone, qui deviendront une de ses signatures. Cette chanson rappelle le thème de "Space Oddity" (1969) de David Bowie (les deux chansons ont été produites par Gus Dudgeon) et certains pensent que la chanson pourrait être une référence au Major Tom, le personnage créé par David Bowie. Ce dernier a d'ailleurs chanté "Oh, Rocket Man!" à plusieurs reprises en jouant "Space Oddity" en concert. --- ### Refonte WooCommerce du Centre de Kriya Yoga France - **URL**: https://www.skyminds.net/refonte-woocommerce-centre-kriya-yoga-france/ Depuis plus de vingt ans, j’accompagne le Centre de Kriya Yoga France dans l’évolution de son site. Parti de quelques pages statiques, le projet est devenu une plateforme WordPress et WooCommerce complète, avec boutique, cours en ligne, adhésions, abonnements et espace membre. Un site ancien ne devient pas forcément obsolète. En revanche, son architecture doit évoluer avec les usages, les contenus et l’organisation qui le fait vivre. Le site du Centre de Kriya Yoga France illustre parfaitement cette évolution. Le projet a commencé avec des pages HTML écrites à la main. Il s’appuie aujourd’hui sur WordPress et WooCommerce pour vendre des livres, distribuer des contenus numériques, gérer les adhésions et réserver certains avantages aux membres. Cette étude de cas retrace les principales étapes du projet, les problèmes rencontrés et les solutions mises en place au fil du temps. Le projet en quelques chiffres Plus de 20 ans de collaboration et d’évolutions techniques Plus de 100 produits livres, cours, mantras, séminaires et adhésions Une plateforme pour le contenu, la vente et les membres Le besoin initial Le Centre de Kriya Yoga France publie et diffuse les enseignements de Goswami Kriyananda en français. Son activité repose notamment sur l’édition de livres, les cours, les séminaires, les mantras et la vie de l’association. Le site devait donc répondre à plusieurs besoins complémentaires : présenter le Centre et ses activités ; publier régulièrement des contenus ; commercialiser des livres et des ressources numériques ; permettre aux adhérents de régler leur cotisation ; réserver certains contenus et avantages aux membres ; rester suffisamment simple pour une gestion quotidienne autonome ; évoluer sans devoir reconstruire toute la plateforme à chaque étape. Ces besoins n’ont pas tous existé dès le départ. Ils sont apparus progressivement, ce qui explique l’évolution du site par étapes plutôt qu’une refonte unique et définitive. Première étape : un site statique construit à la main La première version du site reposait sur des pages HTML créées manuellement. À l’époque, cette approche suffisait pour publier quelques informations institutionnelles. Cependant, chaque mise à jour imposait de modifier les fichiers, puis de les transférer par FTP. La publication dépendait donc directement d’une intervention technique. Cette architecture présentait plusieurs limites : maintenance lente ; risque d’incohérence entre les pages ; publication difficile depuis une autre machine ; absence de véritable gestion éditoriale ; évolutions fonctionnelles coûteuses. Ce premier site a néanmoins rempli son rôle. Il a permis au Centre de disposer rapidement d’une présence en ligne et de commencer à structurer ses contenus. 2005 : migration vers un hébergement plus souple Avec l’augmentation du trafic et l’apparition de nouveaux besoins, le premier hébergement a montré ses limites. Les performances se dégradaient et certaines restrictions empêchaient le fonctionnement normal d’applications dynamiques. Le site a donc été transféré vers un environnement plus adapté. Cette migration devait préparer les évolutions suivantes, notamment la boutique et l’espace membre. transfert des fichiers et des données ; configuration du nouvel hébergement ; vérification de la compatibilité PHP ; suppression des restrictions les plus... --- ### Estás Tonné – The Song of the Golden Dragon - **URL**: https://www.skyminds.net/estas-tonne-the-song-of-the-golden-dragon/ Estás Tonné est russe (du temps où l'Ukraine appartenait à l'ex-URSS) et un guitariste virtuose qui gère très bien la guitare classique : https://www.youtube.com/watch?v=7O7Jeei6wv0 Troubadour des temps modernes, Estás Tonné parcourt le monde et s'inspire d'une multitude de références culturelles. Sa musique est une fusion de structures classiques, flamenco, musique tsigane et latine. Sa musique est harmonieuse, toujours mélodique, pleine d'émotions. Estás Tonné joue en concert, à des conférences, dans la rue, dans des festivals de yoga ou d'art mais est aussi engagé dans différents projets : cinéma, poésie, méditation... C'est un artiste au sens propre du terme. --- ### Serveur dédié : configurer Postfix et Courier pour utiliser TLS-SSL en Perfect Forward Secrecy - **URL**: https://www.skyminds.net/serveur-dedie-postfix-courier-ssl-perfect-forward-secrecy/ Aujourd'hui, on va s'atteler à sécuriser le serveur de mail, géré par Postfix et Courier, pour utiliser notre certificat SSL et en ajoutant le Perfect Forward Secrecy. Ce tutoriel part du principe que votre serveur tourne sous Debian et que vous avez suivi le tutoriel précédent sur Postfix avec gestion d'utilisateurs virtuels, c'est-à-dire que le serveur de mail doit déjà être opérationnel. Vérification du fonctionnement du serveur de mail On commence par vérifier que le serveur est capable d'envoyer des mails avec : echo "test" | mail -s testsubject user@example.com Si le mail est reçu, passez à l'étape suivante. Configuration du certificat SSL Nous allons concaténer la clé et le certificat pour Courier : cd /etc/ssl cat skyminds.net.key skyminds_net.crt >> courier-key-crt-dh.pem et on va y inclure un échange de clés Diffie-Hellman : openssl dhparam 2048 >> courier-key-crt-dh.pem On ajoute une autre clé DH en 2048 bits: openssl gendh -out /etc/postfix/dh_2048.pem -2 2048 L'échange de clés Diffie-Hellman - du nom de ses auteurs Whitfield Diffie et Martin Hellman - est une méthode par laquelle deux personnes nommées conventionnellement Alice et Bob peuvent se mettre d'accord sur un nombre (qu'ils peuvent utiliser comme clé pour chiffrer la conversation suivante) sans qu'une troisième personne appelée Ève puisse découvrir le nombre, même en ayant écouté tous leurs échanges. Cela sécurise un peu plus l'échange. Configuration Postfix pour le certificat SSL On concatène notre certificat avec le certificat root de notre CA dans un nouveau fichier de certificat au format PEM pour Postfix : cd /etc/ssl cat skyminds_net.crt skyminds_net.ca-bundle > skyminds-crt-ca-postfix.pem On édite le fichier de configuration Postfix : nano /etc/postfix/main.cf On y ajoute : # skyminds.net real certificate smtpd_tls_cert_file = /etc/ssl/skyminds-crt-ca-postfix.pem smtpd_tls_key_file = $smtpd_tls_cert_file smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt # TLS Auth smtpd_tls_security_level = may smtp_tls_security_level = $smtpd_tls_security_level smtpd_tls_auth_only = yes # TLS Ciphers - PFS #tls_ssl_options = NO_COMPRESSION tls_preempt_cipherlist = yes smtpd_tls_ciphers = high smtp_tls_ciphers = $smtpd_tls_ciphers smtpd_tls_mandatory_ciphers = high smtp_tls_mandatory_ciphers = $smtpd_tls_mandatory_ciphers smtpd_tls_exclude_ciphers = aNULL, MD5, DES, 3DES, DES-CBC3-SHA, RC4-SHA, AES256-SHA, AES128-SHA smtpd_tls_protocols = !SSLv2, !SSLv3 smtpd_tls_mandatory_protocols = TLSv1, TLSv1.1, TLSv1.2 tls_high_cipherlist = ECDH+aRSA+AES256:ECDH+aRSA+AES128:AES256-SHA:DES-CBC3-SHA smtp_tls_protocols = $smtpd_tls_protocols smtp_tls_mandatory_protocols = $smtpd_tls_mandatory_protocols smtp_tls_note_starttls_offer = yes smtpd_tls_received_header = yes # DH smtpd_tls_dh1024_param_file = /etc/postfix/dh_2048.pem # ECDH smtpd_tls_eecdh_grade = ultra # cache smtp_tls_session_cache_database = btree:${data_directory}/smtp_tls_session_cache smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_tls_session_cache tls_random_source = dev:/dev/urandom # logs smtpd_tls_loglevel = 1 smtp_tls_loglevel = 1 Sauvegardez le fichier et relancez Postfix: postfix reload Configuration de Courier pour le certificat SSL Pour Courier, il y a deux fichiers à éditer : /etc/courier/pop3d-ssl et /etc/courier/imapd-ssl. 1. On commence par /etc/courier/pop3d-ssl : nano /etc/courier/pop3d-ssl Changez la configuration pour adopter ces valeurs : POP3DSSLSTART=NO POP3_STARTTLS=YES POP3_TLS_REQUIRED:1 TLS_PROTOCOL=TLS1 TLS_STARTTLS_PROTOCOL=TLS1 TLS_CIPHER_LIST="TLSv1:HIGH:!SSLv3:!SSLv2:!LOW:!MEDIUM:!EXP:!NULL:!aNULL@STRENGTH" TLS_CERTFILE=/etc/ssl/courier-key-crt-dh.pem Important : on édite maitenant le fichier de service courier-pop-ssl: nano /etc/init.d/courier-pop-ssl On recherche : case "$POP3DSSLSTART" in [yY]*)START=yes;; esac et juste en dessous de ce bloc, on ajoute : // Matt : start TLS case "$POP3DSTARTTLS" in [yY]*)START=yes;; esac // 2. On passe ensuite à /etc/courier/imapd-ssl : nano /etc/courier/imapd-ssl Changez les directives suivantes pour y mettre ces valeurs : IMAPDSSLSTART=NO IMAPDSTARTTLS=YES IMAP_TLS_REQUIRED=1 TLS_PROTOCOL=TLS1 TLS_STARTTLS_PROTOCOL=TLS1 TLS_CIPHER_LIST="TLSv1:HIGH:!SSLv3:!SSLv2:!LOW:!MEDIUM:!EXP:!NULL:!aNULL@STRENGTH" TLS_CERTFILE=/etc/ssl/courier-key-crt-dh.pem Cela... --- ### Diego Stocco – Bassoforte - **URL**: https://www.skyminds.net/diego-stocco-bassoforte/ Diego Stocco est un hacker musicien plutôt original : en récupérant le clavier d'un piano démembré qui traînait dans son jardin, il a décidé d'en créer un nouvel instrument avec d'autres pièces d'instruments qu'il possédait. Le résultat est cet instrument mécanique hybride qui porte le doux nom de "Bassoforte" (contraction de "basse" et "pianoforte"). Le son qui s'en dégage est plutôt génial : https://www.youtube.com/watch?v=lhp6P9Ygsoc Le manche vient d'une basse électrique hors d'usage, les micros viennent d'une guitare, la partie haute métallique est une partie de chapeau de cheminée qui sert de résonateur et pour la percussion. Une vrai musique de western futuriste! Les photos du montage sont dans la galerie du projet Bassoforte. --- ### Récupérer un serveur OVH/Kimsufi en mode rescue après un kernel cassé - **URL**: https://www.skyminds.net/recuperer-serveur-kimsufi-plantage-kernel-mode-rescue-ovh/ Un serveur dédié qui ne redémarre plus après une mise à jour de kernel, c’est un grand classique. On lance un reboot confiant, on attend quelques minutes, puis rien. SSH ne répond plus. Les services sont morts. Le monitoring hurle. Ambiance feutrée. Heureusement, OVHcloud propose un mode rescue pour les serveurs dédiés, Kimsufi et So you Start. Il démarre la machine sur un système temporaire, indépendant du système installé sur vos disques. Vous pouvez alors monter vos partitions, récupérer vos données, corriger une configuration cassée ou réparer le démarrage. Ce guide couvre surtout le cas d’un serveur Debian qui ne démarre plus après : une mise à jour de noyau ratée ; un initramfs absent ou corrompu ; un GRUB mal généré ; une erreur dans /etc/fstab ; un pare-feu qui bloque SSH ; une mise à niveau Debian interrompue ; un disque ou un RAID à diagnostiquer ; une mauvaise manipulation dans /boot. L’objectif est simple : reprendre la main sans réinstaller le serveur. Et, si la réparation échoue, récupérer les données proprement avant de reconstruire. Avant de réparer : sauvegarder ce qui peut l’être Avant de toucher au kernel, à GRUB ou aux partitions, sauvegardez les données importantes. Le mode rescue sert à réparer, oui. Mais il sert aussi à sauver les meubles avant de jouer au chirurgien système. Depuis le rescue, vous pourrez copier vos données vers un autre serveur avec rsync, scp ou sftp. Priorisez : les sites web, souvent dans /home, /var/www ou /srv ; les bases MySQL/MariaDB si elles ne sont pas déjà sauvegardées ; les configurations dans /etc ; les certificats TLS ; les clés SSH ; les crons ; les fichiers applicatifs spécifiques. Exemple de sauvegarde vers un autre serveur : rsync -aHAXx --numeric-ids --info=progress2 /mnt/home/ backup@example.net:/backups/serveur/home/ rsync -aHAXx --numeric-ids --info=progress2 /mnt/etc/ backup@example.net:/backups/serveur/etc/ L’option -x évite de traverser d’autres systèmes de fichiers montés. C’est souvent souhaitable pendant une récupération. Si vous hébergez WordPress ou WooCommerce, pensez aussi à sauvegarder les uploads et la base de données. Un noyau se réinstalle. Une base client perdue, beaucoup moins. Étape 1 : passer le serveur en mode rescue OVHcloud Dans l’espace client OVHcloud, ouvrez votre serveur dédié : Bare Metal Cloud ; Serveurs dédiés ; sélectionnez le serveur concerné ; dans les informations générales, modifiez le réglage Boot ou Netboot ; choisissez Booter en mode rescue ; sélectionnez le rescue Linux, souvent appelé Customer rescue system ; validez, puis redémarrez le serveur. L’interface OVHcloud évolue régulièrement, donc les libellés exacts peuvent changer. Le principe, lui, reste le même : on change le Netboot, puis on redémarre la machine. Après quelques minutes, OVHcloud envoie les accès au mode rescue par e-mail. Ces informations sont aussi disponibles dans l’espace client, dans les e-mails de service. Les anciennes captures ci-dessous montrent l’ancien manager OVH. Elles restent utiles pour comprendre le principe, mais l’interface actuelle se trouve désormais dans la section Bare Metal Cloud. Ancienne interface OVH : le principe reste le même, mais l’espace client actuel a changé.... --- ### Derek and The Dominos – Why Does Love Got To Be So Sad - **URL**: https://www.skyminds.net/derek-and-the-dominos-why-does-love-got-to-be-so-sad/ Eric Clapton a écrit la chanson "Why Does Love Got To Be So Sad?" en Angleterre avec Bobby Whitlock. https://www.youtube.com/watch?v=0Aw7Jai7peM Tout l'album, Layla And Other Assorted Love Songs (1970), parle d'amour non-partagé. C'est inspiré par la femme de George Harrison, Pattie, avec qui Eric Clapton entretenait une liaison. Cela le tourmentait parce qu'il était ami avec George. Plus tard, Clapton and Pattie ont vécu ensemble puis se sont mariés. George n'a jamais été vraiment atteint et tous deux sont restés amis. Finalement, Pattie et Eric ont divorcé et Pattie s'est remarié avec quelqu'un qui ne jouait pas de la guitare. Pendant cette période, Eric Clapton a aussi écrit "Layla" pour Pattie, ainsi que "Wonderful Tonight" et "Forever Man". --- ### Linux : installer l’imprimante d’étiquettes WiFi Brother QL-710W et utiliser gLabels pour le publipostage - **URL**: https://www.skyminds.net/linux-imprimante-etiquettes-wifi-brother-ql710w-glabels/ J'ai toujours rêvé d'une imprimante d'étiquettes - principalement parce que j'ai la flemme de toujours rechercher sur Google les mêmes adresses parce que je n'ai pas de carnet d'adresse à jour, mais aussi parce que cela fait plus professionnel pour les gens qui reçoivent mes missives. Après une petite visite sur Amazon, je découvre l'imprimante d'étiquette Brother QL-710W, qui en plus bénéficie d'une offre de remboursement de 50 euros jusqu'à fin décembre 2014. Je me dis que cela pourrait être cool, surtout qu'elle est USB et WiFi. Commandée, reçue le lendemain, déballée, branchée en USB, je me penche maintenant sur la configuration sous Linux. Installation en USB Alors, sous Ubuntu, l'imprimante s'installe toute seule. Par contre, sous certaines versions Linux (Linux Mint ou Debian par exemple), il va falloir passer en manuel, en ligne de commandes dans le terminal. On branche l'imprimante en USB et on l'allume. On se rend sur la page des pilotes linux de la Brother QL-710W et on y télécharge les deux fichiers suivants : LPR printer driver et CUPSwrapper printer driver. En voulant lancer l'installation des paquets comme indiqué sur la page du support Brother, j'ai été confronté aux erreurs suivantes : mkdir: impossible de creer le repertoire "/var/spool/lpd/ql710w": Aucun fichier ou dossier de ce type chown: impossible d'acceder à "/var/spool/lpd/ql710w": Aucun fichier ou dossier de ce type chgrp: impossible d'acceder à "/var/spool/lpd/ql710w": Aucun fichier ou dossier de ce type chmod: impossible d'acceder à "/var/spool/lpd/ql710w": Aucun fichier ou dossier de ce type< Ce qui signifie tout simplement que le répertoire /var/spool/lpd n'existe pas. On s'en assure : file /var/spool/lpd résultat : /var/spool/lpd: ERROR: cannot open `/var/spool/lpd' (No such file or directory) donc on le crée : sudo mkdir -p /var/spool/lpd Ensuite, on installe nos deux paquets : sudo dpkg -i --force-architecture ql710wlpr-1.0.1-1.i386.deb sudo dpkg -i --force-architecture ql710wcupswrapper-1.0.1-1.i386.deb Plus d’erreurs, on continue et on vérifie que les pilotes ont été installés et chargés : dpkg -l | grep Brother qui nous retourne: ii printer-driver-ptouch 1.3-3ubuntu0.1 printer driver Brother P-touch label printers ii ql710wcupswrapper:i386 1.0.1-1 Brother CUPS PTouch Printer Definitions ii ql710wlpr:i386 1.0.1-1 Brother lpr Ptouch Printer Definitions À ce stade l'imprimante est quasiment installée, il suffit de se rendre sur la page d'administration de CUPS, à l'adresse http://localhost:631 et de cliquer sur Admin > Add Printer > Local Printer et on se laisse guider. Voir Synology : corriger “rsync permission denied” sur Amazon Installation sur le réseau sans fil (WiFi) Normalement, l'installation sur le réseau WiFi se fait à l'aide du bouton WPS de la box internet. Cela permet l'association simple et rapide de l'appareil sans avoir à y rentrer les identifiants. Le hic, c'est que la Freebox Révolution n'a pas ce bouton. Une fois n'est pas coutume, je me suis cassé les dents à installer cette imprimante sur le réseau WiFi : je n'ai pas trouvé sous Linux le moyen d'insérer les données du réseau sans fil (SSID, mot de passe WPA2) dans la configuration de l'imprimante. Comme toutes les imprimantes réseau, elle possède bien... --- ### The Cinematic Orchestra – That Home (Extended Full Version) - **URL**: https://www.skyminds.net/cinematic-orchestra-that-home-extended-full-version/ Voici un mashup de That Home et To Build a Home de The Cinematic Orchestra et Patrick Watson: https://www.youtube.com/watch?v=8Q-TWgfHmNo Apparemment, le créateur de ce superbe mashup serait Tanner ZoBell, aka Teez. On peut entendre cette chanson à plusieurs reprises dans la seconde saison de la série Suits. --- ### Bad Education saison 3 - **URL**: https://www.skyminds.net/bad-education-saison-3/ Voici la troisième saison de Bad Education sur BBC3. Créée par Jack Whitehall qui tient également le premier rôle, cette comédie se centre sur Alfie Wickers, un professeur d’histoire à l’Abbey Grove School qui est aussi immature que ses élèves. C'est le dernier trimestre de l'année avant les vacances d'été et Alfie Wickers revient motivé des vacances de Pâques pour amener sa classe à l'examen. Néanmoins, Alfie est choqué d'apprendre que son père, Martin Wickers, a été nommé principal adjoint. Ses premières actions sont d'augmenter les effectifs des classes et de licencier un des membres de la communauté éducative pour avoir investi l'argent de l'école pour sa garde-robe personnelle, Dolce and GaBanter. Pour Alfie, cela signifie l'arrivée d'une nouvelle élève, Cleopatra, et une dure décision à prendre : appuyer la position de sa petite amie, Miss Gulliver, lorsqu'elle lance un piquet de grève ou se sacrifier pour sauver sa classe de l'échec aux examens. --- ### Configurer Apache avec PHP-FPM et MPM Event sous Debian ou Ubuntu - **URL**: https://www.skyminds.net/serveur-dedie-php-fpm-apache-mpm-worker/ Pour moderniser une installation Apache utilisant encore mod_php, installez PHP-FPM, désactivez MPM Prefork, puis activez MPM Event avec mod_proxy_fcgi. Apache continue de servir les requêtes HTTP, tandis que PHP-FPM exécute séparément le code PHP. Cette architecture convient aux serveurs Debian et Ubuntu qui hébergent WordPress, WooCommerce ou d’autres applications PHP. Elle remplace les anciennes configurations fondées sur mod_fastcgi, mod_fcgid ou un module PHP chargé directement dans Apache. La migration reste assez simple. Cependant, elle touche au moteur d’exécution PHP de tous les sites concernés. Effectuez-la avec une seconde session SSH ouverte, une sauvegarde de la configuration et une procédure de retour arrière prête à l’emploi. Comprendre Apache, les MPM et PHP-FPM Apache utilise un module de multitraitement, ou MPM, pour accepter et distribuer les connexions. Une seule implémentation MPM peut être active à la fois. MPM Prefork MPM Prefork utilise plusieurs processus sans threads. Chaque processus traite une requête à la fois. Cette architecture reste compatible avec les modules non thread-safe, notamment l’ancien mod_php. Elle consomme toutefois davantage de mémoire lorsque le nombre de connexions augmente. Chaque processus Apache charge aussi les modules nécessaires, même lorsqu’il sert uniquement une image, une feuille CSS ou un autre fichier statique. MPM Worker MPM Worker combine plusieurs processus avec plusieurs threads par processus. Il utilise généralement moins de mémoire que Prefork pour servir un nombre équivalent de connexions. Worker reste disponible, mais il ne constitue plus le meilleur choix général pour une nouvelle configuration Apache destinée au web. MPM Event MPM Event dérive de Worker. Il délègue notamment les connexions persistantes inactives à des threads d’écoute, afin de libérer les threads de travail pour les requêtes actives. Cette architecture convient mieux à HTTP/1.1 avec Keep-Alive et aux protocoles modernes. Elle constitue donc le choix recommandé pour Apache lorsque PHP fonctionne séparément avec PHP-FPM. Pourquoi utiliser PHP-FPM avec Apache ? PHP-FPM, pour FastCGI Process Manager, exécute PHP dans un service distinct. Apache lui transmet uniquement les requêtes qui doivent réellement être interprétées par PHP. Cette séparation apporte plusieurs avantages : Apache peut utiliser MPM Event au lieu de Prefork ; les processus PHP disposent de leurs propres limites de mémoire et de concurrence ; plusieurs versions de PHP peuvent cohabiter sur un même serveur ; chaque site peut utiliser un pool PHP-FPM distinct ; les pools peuvent fonctionner sous des utilisateurs système différents ; les scripts lents peuvent être enregistrés dans un journal dédié ; PHP peut être redémarré sans interrompre entièrement Apache ; la configuration se rapproche de celle utilisée avec Nginx. PHP-FPM ne rend pas automatiquement une application PHP plus rapide. Les performances dépendent surtout du code, de la base de données, d’OPcache, du cache de page et du dimensionnement des processus. En revanche, cette architecture améliore la maîtrise des ressources et la capacité du serveur à absorber plusieurs connexions simultanées. Architecture obtenue après la migration Une fois la migration terminée, le chemin d’une requête PHP devient : Navigateur ↓ Apache avec MPM Event ↓ mod_proxy + mod_proxy_fcgi ↓ socket Unix PHP-FPM ↓ processus PHP-FPM ↓ application PHP ou WordPress... --- ### Pink Floyd – Comfortably Numb Guitar Solo by David Gilmour (P.U.L.S.E. 1994) - **URL**: https://www.skyminds.net/pink-floyd-comfortably-numb-guitar-solo/ Probalement l'un des plus beaux solos de David Gilmour, voici le solo de Comfortably Numb lors de la tournée de P.U.L.S.E. (1994) de Pink Floyd : https://www.youtube.com/watch?v=UPdlJFDpU6o Tout simplement magnifique. --- ### Pack de correctifs post-SP3 pour Windows XP - **URL**: https://www.skyminds.net/fin-du-pack-de-correctifs-post-sp3/ Je vous annonce la fin du pack de correctifs post-SP3 pour Windows XP. Historiquement, le pack a géré toutes les mises à jour de Windows XP de niveau Critique et Important depuis la sortie du SP3 en mai 2008. Les mises à jour obsolètes - remplacées par des correctifs plus récentes - sont retirées grâce à des fichiers batch. Les raisons de la fin du pack Je n’utilise plus Windows XP depuis 2009 et j'ai de plus en plus de mal à trouver le temps pour le mettre à jour. Il n'existe plus sur mon système que sur une machine virtuelle VirtualBox qui tourne sous Linux. De plus, de moins en moins d'applications vont continuer de supporter XP donc avec le temps, il ne sera plus possible de mettre les applications à jour. La dernière version de FileZilla, par exemple, n'est plus compatible avec XP. C'est dommage car Windows XP est l'un des systèmes d'exploitation qui a connu une longévité assez exceptionnelle. Il restera pour beaucoup d'entre nous un bon OS mais il est temps de migrer vers d'autres OS, plus sécurisés et maintenus plus régulièrement. Pack de correctifs Windows XP post-SP3 En prérequis, vous devez avoir installé le Service Pack 3 sur votre machine. Le but est d'avoir à disposition tous les correctifs critiques et importants dans le but de sécuriser rapidement l'installation et d'assurer la stabilité du système. Le pack contient les 152 correctifs qui sont sortis après le Service Pack 3 (SP3) de mai 2008. Le fichier zip pèse 147 Mo et vous permettra d'intégrer tous les correctifs à un CD d'installation personnalisé avec nLite. Télécharger le pack Miroir La version 3.3 est la version finale du pack : MS ne donne plus de correctifs pour XP via Windows Update. Installation et suppression automatiques des correctifs Placez tous les correctifs dans le répertoire c:\hotfix. Téléchargez le script d'installation automatisée. Lancez 1_cleaner.bat pour supprimer les vieux correctifs obsolètes. Lancez 2_installer.bat pour mettre à jour votre système. NOTE : le pack ne gère pas les correctifs pour JScript/VBScript, ni Windows Media Player, ni Media Format Runtime, ni .NET Framework, ni Malicious Software Removal Tool, ni Outlook Express, ni Flash Player, ni Windows Genuine Advantage. Je mise sur la sécurité du système principalement et laisse à l’administrateur et/ou l'utilisateur final le soin de choisir d’installer le reste, selon ses besoins. Bonne mise à jour! Intégration au CD de Windows XP Armé du pack, suivez le tutoriel de création du CD d'installation de Windows XP SP3+ mis à jour avec nLite. C'est la solution la plus simple et la plus rapide si vous venez de formater et cherchez à avoir un système propre, fonctionnel et à jour dès l'installation. Important : Windows XP arrive à expiration le 8 avril 2014 : pensez à sauvegarder l’activation pour une future (ré-)installation. --- ### Apache et PHP : diagnostiquer une erreur Segmentation fault (11) - **URL**: https://www.skyminds.net/apache-php-segmentation-fault-sigsegv/ L’erreur Apache « child pid … exit signal Segmentation fault (11) » indique le plantage d’un processus natif. Elle provient souvent de PHP, d’une extension compilée ou d’une bibliothèque système. Voici comment identifier la cause sans augmenter aveuglément la mémoire. Un serveur web qui renvoie ponctuellement une erreur 502, une page blanche ou une connexion interrompue peut masquer un plantage plus grave dans ses journaux. Une erreur 502 peut toutefois avoir plusieurs causes : par exemple, Nginx peut aussi signaler un en-tête trop volumineux envoyé par le serveur en amont. Avec Apache et mod_php, le message ressemble souvent à ceci : [core:notice] [pid 1234] AH00052: child pid 5678 exit signal Segmentation fault (11), possible coredump Avec PHP-FPM, Apache ou Nginx peut rester actif tandis qu’un processus PHP se termine : php-fpm[1234]: [WARNING] [pool www] child 5678 exited on signal 11 (SIGSEGV - core dumped) Dans les deux cas, le signal 11 correspond à SIGSEGV. Le processus a tenté d’accéder à une zone mémoire invalide et le noyau l’a arrêté. Ce que signifie réellement Segmentation fault (11) Une erreur de segmentation se produit dans du code natif. PHP est principalement écrit en C et charge de nombreuses extensions compilées. Apache, ses modules et les bibliothèques utilisées par ces composants contiennent eux aussi du code natif. Les suspects habituels sont donc : une régression dans PHP ; une extension PHP défectueuse ou incompatible ; une extension chargée deux fois ; un module Apache ; une bibliothèque native utilisée par une extension ; une incompatibilité après une mise à jour partielle ; un cache d’opcodes ou un JIT révélant un bug ; un binaire ou un fichier partagé corrompu ; plus rarement, un problème matériel. Un script PHP ordinaire ne devrait pas pouvoir provoquer directement un accès mémoire invalide. Il peut néanmoins déclencher un bug présent dans l’interpréteur ou dans une extension native. Un segfault n’est pas une erreur de limite mémoire PHP Il faut distinguer deux erreurs très différentes. Dépassement de memory_limit Lorsqu’un script dépasse la mémoire autorisée par PHP, celui-ci renvoie normalement une erreur explicite : PHP Fatal error: Allowed memory size of 268435456 bytes exhausted Le processus PHP reste alors capable de détecter le dépassement et d’écrire son message d’erreur. Erreur de segmentation Avec un segfault, le processus s’interrompt brutalement après un accès mémoire invalide. Il peut disparaître avant que PHP puisse journaliser une erreur applicative exploitable. Augmenter memory_limit peut modifier les conditions du crash, mais cela ne constitue ni un diagnostic ni une correction générale d’un SIGSEGV. Ne passez donc pas immédiatement la limite à -1. Vous risqueriez seulement de masquer un problème, d’augmenter la consommation du serveur ou de déplacer le plantage. Étape 1 : identifier le processus qui plante Le message visible dans Apache ne prouve pas toujours qu’Apache lui-même contient le bug. Tout dépend de la manière dont PHP est exécuté. Cette distinction est détaillée dans le guide consacré au fonctionnement d’Apache avec PHP-FPM et MPM Worker. Apache avec mod_php Avec mod_php, PHP s’exécute à l’intérieur... --- ### The Walking Dead saison 5 - **URL**: https://www.skyminds.net/the-walking-dead-saison-5/ The Walking Dead revient pour une cinquième saison sur AMC et à d'ores et déjà été renouvelée pour une sixième saison. La saison reprend là où s'était terminée la saison précédente : le shérif Rick Grimes et son groupe ont finalement réussi à se rejoindre et à échapper au groupe de cannibales du Terminus. Alors qu'ils sont libres et sans menace directe, ils trouvent refuge dans l'église du père Gabriel Stokes. Alors que la moitié du groupe part pour Washington D.C., pour qu'Eugene Porter puisse trouver un antidote pour le virus, l'autre moitié du groupe reste à l'église et essaie de retrouver et sauver Beth Greene, qui a été kidnappée dans la saison précédente. Cette saison sera composée de 16 épisodes, comme les précédentes. A regarder en VO : Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Questions d’orthographe : dit-on « des pièces ci-joint » ou « des pièces ci-jointes » ? - **URL**: https://www.skyminds.net/questions-dorthographe-des-pieces-ci-joint-ou-ci-jointes/ Au cours d'un déjeuner avec Jac, on en est venus à parler grammaire et nous avons évoqué ce problème récurrent qui se pose souvent lorsque l'on écrit un mail : doit-on écrire des pièces"ci-joint" ou "ci-jointes" lorsque l'on attache des fichiers ? Alors, voici la règle pour savoir quand on doit l'accorder. 1. "Ci-joint" reste invariable : Si votre phrase commence par "ci-joint" : (par exemple : "ci-joint ces documents"). Dans ce cas, "ci-joint" est comparable à "il y a" ("il y a des pièces jointes") qui ne s'accorde pas. Quand "ci-joint" se trouve juste après un verbe : (exemple : "vous trouverez ci-joint les documents"). Dans ce cas, "ci-joint" est comparable à "ici" (par exemple : "vous trouverez ici des documents"). Il joue alors le rôle d'un adverbe et ne s'accorde donc jamais. 2. "Ci-joint" s'accorde : Quand "ci-joint" est placé juste après le nom qu'il accompagne : (exemple : "vous trouverez les fiches ci-jointes"). Dans ce cas, "ci-joint" est envisagé comme un adjectif qualificatif (exemple : "vous trouverez des fiches vertes") et doit donc impérativement s'accorder. Ça y est, vous pouvez maintenant envoyer des mails en toute tranquillité ! L'envie me prend de commencer une série sur des questions de langue épineuses : avez-vous d'autres points d'orthographe ou de grammaire à élucider ? --- ### Serveur dédié : installer et configurer Varnish 4 - **URL**: https://www.skyminds.net/serveur-dedie-installer-configurer-varnish-4/ Cette semaine, j'ai décidé de mettre mon installation de Varnish à jour. La version 3.0.5 date de décembre 2013 et il est temps de mettre le serveur à jour pour bénéficier des dernières nouveautés et corrections de bugs. Nous passons donc de Varnish 3 à Varnish 4. Cela ne se fait pas sans peine car chez Varnish, ils renomment certaines directives d'une version à l'autre... ce qui fait planter le serveur Varnish puisqu'il ne reconnait plus les directives. Résultat : le fichier de configuration de la version précédente plantera obligatoirement sous la dernière version ! Ce tutoriel en 3 étapes nous donnera l'occasion de mettre à jour Varnish et de scinder notre fichier de configuration en plusieurs modules de manière à en simplifier l'édition et la maintenance futures. Etape 1 : mise à jour des dépôts Varnish Pour mettre à jour Varnish, il suffit de pointer apt vers les derniers dépôts à jour. On édite donc /etc/apt/sources.list : nano /etc/apt/sources.list et on y met à jour nos dépôts: # varnish deb http://repo.varnish-cache.org/debian/ wheezy varnish-4.0 On rafraîchit la liste des paquets et on lance la mise à jour : apt-get update && apt-get upgrade Varnish est maintenant mis à jour mais loin d'être fonctionnel étant donné que le format du fichier de configuration a changé. Etape 2 : le nouveau fichier de configuration de Varnish 4 pour WordPress Certaines directives ont changé de nom et, malgré avoir lu le guide de migration officiel, j'ai modifié mon fichier de configuration en corrigeant les erreurs une à une. Cela prend du temps mais au final, le fichier est plus clair qu'avant. Voici donc mon nouveau fichier default.vcl optimisé pour WordPress : # Marker to tell the VCL compiler that this VCL has been adapted to the # new 4.0 format. vcl 4.0; # Default backend definition. Set this to point to your content server. backend default { .host = "127.0.0.1"; .port = "8080"; .connect_timeout = 600s; .first_byte_timeout = 600s; .between_bytes_timeout = 600s; .max_connections = 800; } backend example { .host = "127.0.0.1"; .port = "8088"; } import std; include "xforward.vcl"; include "bigfiles.vcl"; include "mobile_cache.vcl"; include "mobile_pass.vcl"; include "static.vcl"; sub vcl_recv { # Happens before we check if we have this in cache already. # Typically you clean up the request here, removing cookies you don't need, # rewriting the request, etc. if (req.http.host ~ "example.com") { set req.backend_hint = example; } elseif (req.http.host ~ "skyminds.net") { set req.backend_hint = default; } # ---------------------- WORDPRESS SPECIFIC CONFIG -------------------- # # Did not cache the RSS feed if (req.url ~ "/feed") { return (pass); } # Blitz hack if (req.url ~ "/mu-.*") { return (pass); } # Did not cache the admin and login pages if (req.url ~ "/wp-(login|admin)") { return (pass); } # First remove the Google Analytics added parameters, useless for our backend if(req.url ~ "(\?|&)(utm_source|utm_medium|utm_campaign|gclid|cx|ie|cof|siteurl)=") { set req.url = regsuball(req.url, "&(utm_source|utm_medium|utm_campaign|gclid|cx|ie|cof|siteurl)=([A-z0-9_\-\.%25]+)", ""); set req.url = regsuball(req.url, "\?(utm_source|utm_medium|utm_campaign|gclid|cx|ie|cof|siteurl)=([A-z0-9_\-\.%25]+)", "?"); set req.url = regsub(req.url, "\?&", "?"); set req.url = regsub(req.url, "\?$", ""); } #... --- ### Black Sabbath – It’s Alright - **URL**: https://www.skyminds.net/black-sabbath-its-alright/ Black Sabbath a sorti, avec pas mal de difficultés, l'album Technical Ecstasy en 1976, sur lequel on peut entendre la chanson "It's Alright". Je vous conseille la lecture de la page Wikipedia dédié à l'enregistrement de l'album, c'est très intéressant. On y apprend notamment que The Eagles ont dû, à plusieurs reprises, arrêter leurs enregistrement de l'album Hotel California parce que le son de Sabbath était trop fort et passait à travers les murs du studio. La chanson "It's Alright" a ceci de particulier qu'elle a été écrite et chantée par le batteur Bill Ward. Plutôt réticent à la chanter par peur d'offenser Ozzy Osbourne, Bill a été encouragé par tout le reste du groupe à le faire. https://www.youtube.com/watch?v=-Eed4Rfu6Ug Dans son autobiographie, Ozzy Osbourne salue sa performance : "He's got a great voice, Bill, and I was more than happy for him to do the honours." It's Alright a aussi souvent été reprise par les Guns N' Roses en concert. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### PHP : résoudre l’erreur « it is not safe to rely on the system’s timezone settings » - **URL**: https://www.skyminds.net/php-not-safe-to-rely-on-the-systems-timezone-settings/ Voici le message d'erreur PHP qui est apparu récemment dans mes logs Apache : PHP Warning: strtotime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. Ajout de la directive date.timezone dans php.ini On commence par trouver le fichier php.ini qui est actuellement utilisé par le serveur. Il en existe plusieurs, suivant les modules activés donc on commence par repérer le bon avec : php -i | grep 'Configuration File' Résultat : Configuration File (php.ini) Path => /etc/php5/cli Loaded Configuration File => /etc/php5/cli/php.ini PHP Warning: Unknown: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in Unknown on line 0 Effectivement, l'erreur est répétée même dans un simple phpinfo(). On édite donc notre fichier : nano /etc/php5/cli/php.ini La page de manuel des timezones nous indique toute la liste des fuseaux horaires disponibles. Nous choisissons celle qui correspond à l'emplacement de notre serveur : 'Europe/Paris'. On recherche la bonne directive avec Ctrl + W et en tapant : date. On trouve alors : [Date] ; Defines the default timezone used by the date functions ; http://php.net/manual/en/datetime.configuration.php#ini.date.timezone ;date.timezone = qu'il faut modifier en : [Date] ; Defines the default timezone used by the date functions ; http://php.net/manual/en/datetime.configuration.php#ini.date.timezone date.timezone = 'Europe/Paris' On relance Apache pour prendre en compte la nouvelle configuration : service apache2 restart Ajout de la fonction date_default_timezone_set() dans votre script PHP Il est fort possible que votre script PHP ne fonctionne pas si la fonction date_default_timezone_set() ne précède pas votre code concernant les fonctions relatives aux dates. Vous devez donc éditer votre script et ajouter cette ligne avant votre code : date_default_timezone_set('Europe/Paris'); Et voilà, problème réglé. --- ### L’accord des verbes en français : ce que vous avez toujours voulu savoir - **URL**: https://www.skyminds.net/accord-verbes-francais-toujours-voulu-savoir/ Quand vous êtes professeur de français, votre entourage vous considère comme une grammaire sur pattes. Ainsi, dès que par malheur, vous laissez traîner une faute dans la carte de noël que vous envoyez, c’est parti pour dix ans de brimades ! Et puis, quand se pose une question d'orthographe épineuse, votre portable devient une véritable hotline... Les accords du verbe La règle générale est simple : le sujet s'accorde en nombre avec le verbe. Ainsi, de façon tout à fait logique, si le verbe a plusieurs sujets, il se met au pluriel. Pour le moment, aucun problème. Mais certains cas particuliers posent souvent question et sont donc bons à connaître : 1. Doit-on dire "c'est des beaux enfants" ou "ce sont de beaux enfants" ? En langage de grammaire, cette formule "c'est" ou son équivalent pluriel "ce sont" s'appelle un présentatif. En fait, qu'importe son nom pour comprendre cette règle qui est totalement logique : Lorsque le présentatif est suivi d'un nom singulier, le verbe est au singulier : "c'est". Exemple : c'est un bel enfant. Lorsque le présentatif est suivi d'un nom pluriel, le verbe est au pluriel : "ce sont". Exemple : ce sont de beaux enfants. Mais attention, au risque de choquer les puristes, depuis les années 70, devant un nom au pluriel, on admet aussi bien le verbe au singulier ou au pluriel. En bref, c'est comme vous voulez : "ce sont de beaux enfants" ou "c'est de beaux enfants"sont tous deux acceptés ! 2. Doit-on dire "une multitude de personnes viendra" ou "une multitude de personnes viendront" ? Ce type de mots (une foule de, une armée de, une multitude, un tas, etc) s'appelle un nom collectif. Si le nom collectif est employé seul (par exemple : une foule viendra/ une armée se battra / un tas se trouve là), aucun problème, l'accord est simple et logique : si le nom est au singulier, le verbe est au singulier. si le nom est au pluriel, le verbe est au pluriel.Par exemple : Une foule se disperse / Des foules se dispersent Mais attention, si le nom collectif est suivi d'un complément au pluriel (exemple : une foule de personnes / une armée de guerriers / un tas de cailloux), c'est là qu'il faut réfléchir à ce que l'on veut vraiment dire. Deux cas de figure : soit le nom collectif (le tas, l'armée) est ce dont on parle vraiment. Par exemple, dans "quel tas de cailloux énorme !", c'est le tas qui est gros, et peu importe qu'il soit de cailloux ou de terre, c'est de lui dont on parle. Dans ce cas, on accorde le verbe au singulier. Le tas de cailloux est très haut. soit le nom collectif sert à désigner la quantité, le grand nombre. Par exemple : un tas d'hommes ont combattu : c'est sur la quantité, le grand nombre d'hommes que l'on cherche à insister (et on pourrait remplacer le mot "tas" par "multitude", sans que ça change le sens de la phrase). Dans ce cas,... --- ### Installer une carte Wi-Fi Broadcom BCM43222 sous Linux Mint - **URL**: https://www.skyminds.net/linux-installation-carte-wifi-bgn-broadcom-43222/ Les vieilles machines portables ont parfois encore de beaux restes. Un SSD, une distribution légère comme Linux Mint, un peu de mémoire, et elles peuvent reprendre du service pour écrire, naviguer, administrer un serveur ou bricoler tranquillement. Le problème vient souvent du Wi-Fi. Sur certains anciens portables, la carte d’origine est lente, instable, ou limitée au 802.11b/g. Dans mon cas, j’ai remplacé l’ancienne carte Wi-Fi d’un Toshiba Satellite par une carte Broadcom BCM43222 compatible b/g/n au format Mini-PCI. La carte fonctionne sous Linux, mais elle demande un peu de méthode : identifier précisément le chipset, installer le bon firmware, éviter les conflits entre pilotes Broadcom, vérifier rfkill, puis tester NetworkManager. Broadcom sur Linux, c’est rarement dramatique, mais c’est rarement poétique non plus. Quel est le problème avec les cartes Wi-Fi Broadcom sous Linux ? Broadcom a longtemps été un petit sujet de crispation sous Linux. Certaines cartes fonctionnent avec un pilote libre et un firmware. D’autres demandent le pilote propriétaire STA, souvent empaqueté sous les noms bcmwl-kernel-source ou broadcom-sta-dkms. D’autres encore peuvent être prises en charge par plusieurs pilotes, avec des résultats variables. Pour les cartes Broadcom 43xx, on rencontre principalement : b43 : pilote libre pour de nombreuses puces Broadcom SoftMAC ; b43legacy : ancien pilote pour quelques modèles plus vieux ; brcmsmac : pilote libre pour certaines puces Broadcom plus récentes ; wl : pilote propriétaire Broadcom STA, fourni via DKMS ; brcmfmac : pilote libre pour certaines puces FullMAC, souvent plus récentes. La Broadcom BCM43222/BCM4322 peut fonctionner avec b43 selon le matériel exact et le firmware installé. Debian documente les puces Broadcom BCM4321 et BCM4322 parmi les périphériques couverts par sa page Broadcom 43xx. Le point clé : ne choisissez pas un pilote au hasard. Identifiez d’abord la carte. Ensuite seulement, installez le bon paquet. Étape 1 : identifier précisément la carte Wi-Fi Pour une carte interne PCI ou Mini-PCI, commencez avec lspci : lspci -nn | grep -i -E 'network|wireless|broadcom' Pour afficher plus de détails : lspci -vvnn -d 14e4: Exemple pour une Broadcom BCM43222 : 06:02.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM43222 Wireless Network Adapter [14e4:4350] Notez surtout : le nom du chipset ; l’ID vendeur 14e4, qui correspond à Broadcom ; l’ID périphérique, ici 4350 ; le pilote actuellement utilisé, si un pilote est déjà chargé. Pour voir le pilote actif : lspci -k -nn -d 14e4: Vous cherchez une ligne comme : Kernel driver in use: b43 ou : Kernel driver in use: wl Debian prévient que l’ID PCI ne suffit pas toujours à identifier totalement la puce Broadcom, car le pilote peut découvrir des détails internes au chargement. Il faut donc aussi regarder dmesg ou journalctl. Étape 2 : vérifier les messages du noyau Les messages du noyau indiquent souvent le vrai problème : firmware absent, module bloqué, conflit de pilote ou bouton Wi-Fi désactivé. sudo dmesg | grep -i -E 'b43|brcm|broadcom|firmware|wl|ssb|bcma' Avec journalctl : sudo journalctl -k -b | grep -i -E 'b43|brcm|broadcom|firmware|wl|ssb|bcma' Si vous voyez une erreur du... --- ### Sons of Anarchy saison 7 - **URL**: https://www.skyminds.net/sons-of-anarchy-saison-7/ Voici la septième et dernière saison de Sons of Anarchy sur FX. C'est la dernière saison de la série. De retour en prison, Jax va rapidement retrouver le chemin de la liberté et reprendre en main le contrôle de son club alors que tous les gangs de la région s’apprêtent à entrer en guerre. La police n'a aucune piste concernant le meurtre de tara. Un nouveau shérif arrive à Charming et Patterson demande à Unser de lui laisser gérer les relations avec le club. Jax essaie de former des alliances avec les gangs rivaux qu'il a aliéné alors qu'il voulait rentrer dans la légalité. Etre dans la légalité est une erreur qu'il se jure de ne plus commettre alors qu'il prend la direction de la table du club. Les beaux discours sur la nécessité de s’éloigner de la violence partent en fumée, de nouveaux visages sont introduits et le business reprend tranquillement. Marilyn Manson a un caméo et joue le rôle d'un drogué qui est un membre éminent d'une secte néo-nazie en prison. Lea Michele,- l'actrice de Glee -, joue un rôle en tant que serveuse et mère célibataire dans un restaurant routier. A regarder les mains gantées en VO. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Serveur dédié : configurer Transmission pour accéder au WebUI via TLS-SSL - **URL**: https://www.skyminds.net/serveur-dedie-transmission-webui-ssl/ TLS est activé sur notre serveur Apache, WordPress sert désormais ses pages avec une connexion chiffrée et Webmin se sert de notre certificat SSL. Aujourd'hui, je cherche à lancer le client bittorent Transmission et... je tombe sur un message d'erreur qui m'empêche d'accéder son interface web : "Error code: ssl_error_rx_record_too_long". Voici donc comment corriger le problème et afficher l'interface Web de Transmission en HTTPS. Ce tutoriel prend moins de 10 minutes à réaliser. Erreur : "SSL received a record that exceeded the maximum permissible length" Le premier message d'erreur sur lequel je tombe est le suivant : Secure Connection FailedAn error occurred during a connection to www.example.com:9091. SSL received a record that exceeded the maximum permissible length. (Error code: ssl_error_rx_record_too_long) Je commence par vérifier le fichier de configuration de Transmission et m'aperçoit assez rapidement qu'il ne sera d'aucun secours. Une recherche sur le net m'informe qu'il faut probablement voir du côté de la configuration Apache - qui ne contenait jusqu'alors aucune référence à Transmission. Plusieurs essais de configuration plus tard, l'erreur se transforme en erreur 409. Erreur "409: Conflict" Le second message auquel je me heurte est le suivant : 409: ConflictYour request had an invalid session-id header.To fix this, follow these steps:When reading a response, get its X-Transmission-Session-Id header and remember itAdd the updated header to your outgoing requestsWhen you get this 409 error message, resend your request with the updated headerThis requirement has been added to help prevent CSRF attacks. C'est la première fois que je tombe sur une erreur 409, je suis plutôt content. Je continue donc de tester diverses directives Apache jusqu'à trouver la bonne recette pour faire fonctionner le client web UI de Transmission over SSL. La solution : activer les modules Apache mod_proxy et proxy_http A force de tâtonner, je me rend compte qu'il va falloir utiliser les directives d'SSLProxyEngine de mod_proxy. Voici donc la marche à suivre, cela prend 3 minutes. On active deux nouveaux modules Apache, mod_proxy et mod_proxy_http : a2enmod proxy proxy_http On édite le fichier de configuration Apache sur le domaine qui héberge Transmission et on ajoute : # Transmission Apache redirect for SSL by skyminds.net # Forward all requests for /transmission to transmission-daemon SSLProxyEngine On SSLProxyCheckPeerCN on SSLProxyCheckPeerExpire on ProxyPass /transmission http://127.0.0.1:9091/transmission ProxyPassReverse /transmission http://127.0.0.1:9091/transmission #/Transmission Concrètement, les requêtes qui passent par /transmission sont redirigées vers le port 9091 (port du client Transmission) sur l'adresse IP interne du serveur. Notez que l'adresse IP interne est en http et non en https. On valide l'enregistrement et on redémarre Apache et Transmission : service apache2 restart service transmission-daemon restart Et voilà, on peut désormais accéder au WebUI de Transmission via la connexion chiffrée du domaine. --- ### Amit Trivedi and Mame Khan – Chaudhary - **URL**: https://www.skyminds.net/amit-trivedi-mame-khan-chaudhary/ Amit Trivedi, auteur et compositeur indien, est accompagné par Mame Khan au chant (en Hindi et Marwari) dans cette magnifique chanson qu'est Chaudhary. https://www.youtube.com/watch?v=1gukvtH_a3I La demoiselle demande à son amoureux "Chaudhary" (titre donné à un propriétaire terrien qui fait partie des clans ethniques du Rajasthan et d'Haryana) de ne plus tester sa patience et de vite la rencontrer. Elle est tellement impatiente de le voir, de lui montrer combien elle est heureuse et comment son amour est devenu le fil de sa vie. Exaltée, elle se compare à la lumière, puis à la lune et lui dit que son coeur est en trance depuis qu'il est apparu dans sa vie. Elle l'attire en l'invitant à partager du Daal-Bhaati - un plat sucré - qu'elle a spécialement préparé pour lui juste pour avoir l'occasion de le revoir. Elle dit qu'elle a ajouté beaucoup de Ghee (du beurre) dans le plat pour y ajouter du goût, tout comme son amour pour elle a embelli tout son être. Amit Trivedi et Mame Khan sont accompagnés par tout un orchestre, dont les traditionnels khartal et sarangi, auxquels s'ajoutent les percussions et les guitares, ce qui nous donne une magnifique musique folk du Rajasthani. --- ### Configurer Webmin en HTTPS avec un certificat TLS - **URL**: https://www.skyminds.net/serveur-dedie-configurer-webmin-tls-certificat-ssl/ Webmin permet d’administrer un serveur Linux depuis une interface web. C’est pratique, puissant, et donc à sécuriser sérieusement. Si vous laissez Webmin accessible avec un certificat auto-signé, un vieux TLS ou une configuration ouverte à tout Internet, vous transformez un outil d’administration en belle cible lumineuse. L’objectif est simple : faire répondre Webmin en HTTPS avec un certificat TLS valide, idéalement Let’s Encrypt, puis limiter l’accès au strict nécessaire. Webmin utilise son propre mini serveur web, appelé miniserv. Sa configuration principale se trouve généralement dans /etc/webmin/miniserv.conf. C’est là que Webmin sait quel certificat, quelle clé privée et quel port utiliser. Avant de commencer : faut-il encore exposer Webmin publiquement ? Avant de parler certificat, posons la vraie question : Webmin doit-il être accessible depuis tout Internet ? Dans beaucoup de cas, la meilleure configuration est : Webmin écoute en HTTPS ; le port 10000 est filtré par firewall ; seules vos IPs d’administration peuvent se connecter ; l’authentification à deux facteurs est activée ; Webmin est mis à jour régulièrement ; l’accès root direct est évité si possible. Un certificat TLS protège la connexion. Il ne remplace pas une vraie politique d’accès. Une porte blindée reste une porte ouverte si vous laissez la poignée dans la rue. Vérifier que Webmin fonctionne déjà Commencez par vérifier l’état du service : sudo systemctl status webmin --no-pager Regardez ensuite sur quel port Webmin écoute : sudo grep -E '^(port|listen|ssl|keyfile|certfile)=' /etc/webmin/miniserv.conf Par défaut, Webmin écoute souvent sur le port 10000. Testez localement : curl -kI https://localhost:10000/ Depuis une autre machine, remplacez par votre nom d’hôte : curl -kI https://admin.example.com:10000/ L’option -k ignore temporairement l’erreur de certificat. Elle sert au diagnostic, pas à valider la sécurité. Choisir le bon nom d’hôte Un certificat TLS doit correspondre au nom utilisé dans le navigateur. Évitez d’accéder à Webmin avec l’adresse IP si vous voulez un certificat public valide. Utilisez plutôt un sous-domaine dédié : admin.example.com panel.example.com webmin.example.com Créez un enregistrement DNS A ou AAAA vers le serveur : admin.example.com. 3600 IN A 203.0.113.10 admin.example.com. 3600 IN AAAA 2001:db8::10 Vérifiez la résolution DNS : dig +short admin.example.com A dig +short admin.example.com AAAA Le nom d’hôte doit pointer vers le bon serveur avant de demander un certificat Let’s Encrypt. Méthode 1 : utiliser Let’s Encrypt depuis Webmin La méthode la plus simple consiste à demander un certificat Let’s Encrypt depuis l’interface Webmin, si votre installation le permet. Connectez-vous à Webmin. Allez dans Webmin → Webmin Configuration. Ouvrez SSL Encryption. Allez dans l’onglet Let’s Encrypt. Indiquez le nom d’hôte, par exemple admin.example.com. Définissez un renouvellement automatique, par exemple tous les 1 ou 2 mois. Cliquez sur Request Certificate. Cette méthode est propre si Webmin peut valider le domaine. Selon votre configuration, la validation Let’s Encrypt peut dépendre du port 80, d’un répertoire web accessible, ou de la configuration Apache/nginx détectée par Webmin. Si la demande échoue, ne forcez pas. Lisez le message d’erreur : DNS incorrect, port 80 bloqué, challenge inaccessible, proxy Cloudflare mal réglé, ou nom d’hôte qui ne... --- ### From There to Here saison 1 - **URL**: https://www.skyminds.net/from-there-to-here-saison-1/ From There to Here est une série avec Philip Glenister, diffusée sur BBC One. La série réunit Philip Glenister et sa collègue de Life On Mars, Liz White, ainsi que Bernard Hill (Five Days, Lord Of The Rings), Steven Mackintosh (Inside Men), Saskia Reeves (Luther), Daniel Rigby (Big School) et Morven Christie (Hunted). Une bombe à Manchester L’histoire de From There To Here commence en juin 1996, le jour où une bombe de l’IRA détruit une grosse partie du centre de Manchester, et correspond aussi à l’été où l’Angleterre était unie pour l’Euro 96 – la 10e édition du Championnat d’Europe de football. Le récit, qui se déroule sur 4 ans, raconte l’histoire d’une ville, mais aussi celle de deux familles qui vont se retrouver connectés suite à l’explosion de la bombe. Philip Glenister campe Daniel Cotton, le fils de Samuel (Bernard Hill). Les deux hommes dirigent ensemble une fabrique de bonbons. Daniel est l’heureux époux de Clare (Saskia Reeves), avec laquelle il a eu deux enfants, Charlie (Daniel Rigby) et Louise (Morven Christie). Son frère Robbo (Mackintosh) ne s’entend par contre pas très bien avec son père et il est impliqué dans la vie urbaine de Manchester où il tient un night-club. Aux côtés de Joanne (Liz White), une femme de ménage, Daniel, Samuel et Robbo vont frôler la mort et cela va changer leurs vies, à l’image de la ville qui va devoir se reconstruire après ce tragique évènement. A regarder en VO, comme des mancuniens. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Serveur dédié : passer WordPress en HTTPS (TLS/SSL) - **URL**: https://www.skyminds.net/serveur-dedie-passer-wordpress-en-https-tlsssl/ Vous avez sauté le pas et avez validé votre nom de domaine avec un certificat TLS/SSL. Très bien ! Voyons comment passer WordPress sur la version sécurisée de votre site. Il existe des plugins WordPress entièrement dédiés à SSL pour rediriger vers les pages sécurisées mais on peut très bien faire sans, avec un peu d'huile de coude. Le tutoriel est pour Debian et WordPress tourne sous Apache chez moi. Cela prend moins d'une heure pour configurer l'essentiel mais il est probable que vous ayez des petites corrections (thèmes, plugins) pour que tout soit servi en https. Le but est de tout (oui, absolument tout!) servir via la connexion sécurisée. Étape 1 : configurer Apache On édite notre fichier de configuration : nano /etc/apache2/sites-available/www.skyminds.net et voici ce que garde pour VirtualHost *:80 : ServerName www.skyminds.net ServerAlias skyminds.net DocumentRoot /home/skyminds/public_html/ Redirect 301 / https://www.skyminds.net/ La directive ServerName est nécessaire. Ensuite, une simple redirection renvoie toutes les requêtes du port 80 vers le port 443, sécurisé. Même pas besoin de mod_rewrite! On déplace ensuite toutes nos règles WordPress dans VirtualHost *:443 : ServerAdmin webmaster@localhost ServerName www.skyminds.net ServerAlias skyminds.net DocumentRoot /home/skyminds/public_html/ LogLevel warn CustomLog /var/log/apache2/www-access.log varnishcombined ErrorLog /var/log/apache2/www-error.log # SSL Certificate # + Ciphers # + Perfect Forward Secrecy rules # relire https://www.skyminds.net/serveur-dedie-apache-https-perfect-forward-secrecy/ AllowOverride None # BEGIN WordPress RewriteEngine On RewriteBase / # SSL RewriteCond %{SERVER_PORT} !^443$ RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L] # if this request is for "/" or has already been rewritten to WP RewriteCond $1 ^(index\.php)?$ [OR] # if request is for image, css, or js file RewriteCond $1 \.(gif|jpg|png|ico|css|js)$ [NC,OR] # or if URL resolves to existing file RewriteCond %{REQUEST_FILENAME} -f [OR] # or if URL resolves to existing directory RewriteCond %{REQUEST_FILENAME} -d # then skip the rewrite to WP RewriteRule ^(.*)$ - [S=1] # else rewrite the request to WP RewriteRule . /index.php [L] # END wordpress Options FollowSymLinks Order allow,deny Allow from all Vous remarquerez que mes règles WordPress ne sont pas tout à fait standards mais légèrement optimisées depuis quelques années déjà, de manière à limiter les traitements via PHP. Dans le code ci-dessus, j'ai rajouté ceci pour prendre en compte SSL : # SSL RewriteCond %{SERVER_PORT} !^443$ RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L] Enregistrez le fichier et relancez Apache : service apache2 restart Lancez la version https de votre site et vérifiez que votre site est accessible. Étape 2 : configurer WordPress pour HTTPS La configuration pour HTTPS se fait en plusieurs étapes. J'ai tenu une liste de tout ce que j'ai eu à faire au fur et à mesure que j'avançais. Voici donc comment procéder. On édite wp-config.php et on ajoute : /* SSL /* The constant FORCE_SSL_ADMIN can be set to true to force all logins and all admin sessions to happen over SSL. /* http://codex.wordpress.org/Administration_Over_SSL */ define('FORCE_SSL_ADMIN', true); Cela force TLS/SSL sur l'administration et la page de connexion de WordPress. On ajoute (ou on modifie) ensuite les constantes WP_SITEURL et WP_HOME de manière à faire apparaître https : // HOME define('WP_SITEURL', 'https://www.skyminds.net'); define('WP_HOME', 'https://www.skyminds.net'); J'ai... --- ### Zepparella – When The Levee Breaks (Led Zeppelin cover) - **URL**: https://www.skyminds.net/zepparella-when-the-levee-breaks-led-zeppelin-cover/ Zepparella est un tribute-band de Led Zeppelin entièrement féminin fondé par la batteuse Clementine et composé de Gretchen Menn (guitare), Angeline Saris (basse) et Noelle Doughty (chant). Zepparella : les membres du groupe Clementine tourne constamment aux Etats-Unis et en Europe, avec différents projets très divers : Bottom, AC/DShe, The House Of More, The Solid, Francis Bakin, et Stars Turn Me On. La guitariste Gretchen Menn combine des éléments de classic-rock, rock, progressive, jazz, et metal. Influencée par Eric Johnson, Steve Morse, Frank Zappa et Jeff Beck, c'est Jimmy Page qu'elle prend pour modèle et qui la pousse vers la guitare. Angeline Saris, à la basse, crédite John Paul Jones comme son influence principale et n'hésite pas à chanter pour accompagner la chanteuse Noelle Doughty, qui peut vraiment reprendre la voix de Robert Plant. https://www.youtube.com/watch?v=xH-_9cwdLug Très bon. --- ### Android : résoudre l’erreur « aucun APN détecté sur cet appareil » - **URL**: https://www.skyminds.net/android-resoudre-erreur-aucun-apn-detecte-appareil/ Je suis chez Virgin Mobile depuis quelques années déjà et à chaque fois que je me rends dans un autre pays, c'est la même chose : mon smartphone "perd" toutes ses données APN. La conséquence est simple : sans les noms de points d'accès, plus moyen de se connecter au réseau de données (3G) et impossible d'envoyer et recevoir des MMS. Solution : ajouter les APN manuellement Voici donc les APN de Virgin Mobile, mon FAI mobile. 1. Rendez-vous dans Paramètres > Réseau mobile > Noms des points d'accès. 2. créez un nouvel APN pour la data avec ces informations : Nom : VM data APN : virgin-mobile.fr Proxy : Port : Username : Password : Serveur : MMSC : Proxy MMS : Port MMS : MCC : 208 MNC : 23 Type d'authentification : Type d'APN : default 3. créez ensuite un second APN pour les MMS avec : Nom : VM MMS APN : virgin-mobile.fr Proxy : Port : Username : Password : Serveur : MMSC : http://mmc.omeatelecom.fr/servlets/mms Proxy MMS :10.6.10.1 Port MMS : 8080 MCC : 208 MNC : 23 Type d'authentification : Type d'APN : mms 4. validez, et sélectionnez l'APN data avec le bouton radio par défaut. Redémarrez votre téléphone, vous devriez maintenant être capable de vous connecter au réseau Virgin et d'envoyer et recevoir des MMS. --- ### Apache HTTPS : activer TLS 1.3 et la Perfect Forward Secrecy - **URL**: https://www.skyminds.net/serveur-dedie-apache-https-perfect-forward-secrecy/ La Perfect Forward Secrecy, souvent abrégée en PFS, protège les anciennes connexions TLS même si la clé privée du serveur est compromise plus tard. L’idée est simple : chaque session TLS négocie un secret éphémère. Ainsi, la clé privée du certificat ne suffit pas à déchiffrer rétroactivement tout le trafic enregistré. Aujourd’hui, TLS 1.3 fournit la forward secrecy par conception, et TLS 1.2 reste acceptable si vous limitez les suites à des choix modernes comme ECDHE avec AES-GCM ou CHACHA20-POLY1305. Ce qui a changé depuis les anciennes configurations SSL Les anciens tutoriels Apache recommandaient souvent : de désactiver SSLv2 et SSLv3 ; de choisir une longue liste de suites de chiffrement ; de générer un paramètre Diffie-Hellman personnalisé ; d’utiliser SSLHonorCipherOrder on ; de tester avec SSL Labs. Ces idées étaient bonnes à l’époque. Mais une configuration actuelle doit surtout : activer TLS 1.3 ; garder TLS 1.2 seulement avec des suites fortes ; désactiver TLS 1.0 et TLS 1.1 ; éviter les ciphers RSA sans forward secrecy ; activer OCSP Stapling si possible ; servir le site en HTTPS partout ; ajouter HSTS seulement quand tout le domaine est prêt ; vérifier la configuration après chaque modification. Perfect Forward Secrecy : définition rapide Sans forward secrecy, un attaquant qui enregistre aujourd’hui votre trafic HTTPS pourrait le déchiffrer plus tard s’il obtient la clé privée du serveur. Avec forward secrecy, cette attaque devient beaucoup moins utile. Chaque session utilise un secret éphémère négocié pendant la connexion. La clé privée du certificat sert à authentifier le serveur, mais elle ne suffit plus à retrouver les clés de session passées. En TLS 1.2, la PFS dépend surtout des suites ECDHE ou DHE. En TLS 1.3, les échanges éphémères sont intégrés au fonctionnement normal du protocole. Avant de modifier Apache : vérifier les versions Commencez par vérifier Apache, OpenSSL et les modules chargés. apache2 -v openssl version apache2ctl -M | grep -E 'ssl|headers|socache' Sur Debian ou Ubuntu, les modules utiles sont généralement : sudo a2enmod ssl sudo a2enmod headers sudo a2enmod socache_shmcb Puis rechargez Apache après validation de la configuration : sudo apache2ctl configtest sudo systemctl reload apache2 Ne redémarrez pas Apache à l’aveugle sur un serveur de production. Testez d’abord la syntaxe. C’est moins héroïque, mais nettement plus professionnel. Configuration recommandée : profil Intermediate Pour la majorité des sites publics, utilisez un profil de compatibilité moderne mais pas extrême. Le profil “Intermediate” de Mozilla est généralement le bon compromis. Il permet de servir les navigateurs actuels, les mobiles récents, les robots légitimes et la plupart des clients encore raisonnables, sans garder TLS 1.0, TLS 1.1 ou des suites faibles. Créez un fichier de configuration commun, par exemple : sudo nano /etc/apache2/conf-available/ssl-hardening.conf Ajoutez cette base : SSLProtocol -all +TLSv1.2 +TLSv1.3 SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305 SSLHonorCipherOrder off SSLSessionTickets off SSLUseStapling on SSLStaplingResponderTimeout 5 SSLStaplingReturnResponderErrors off SSLSessionCache shmcb:/var/run/apache2/ssl_scache(512000) Activez ensuite la configuration : sudo a2enconf ssl-hardening sudo apache2ctl configtest sudo systemctl reload apache2 Cette configuration active TLS 1.2 et TLS 1.3, refuse les vieux protocoles et limite... --- ### Flying Colors – Mask Machine - **URL**: https://www.skyminds.net/flying-colors-mask-machine/ Flying Colors est un supergroupe americain composé de Mike Portnoy, Dave LaRue, Casey McPherson, Neal Morse et son frère Steve Morse. Pour la petite histoire, Mike Portnoy a joué avec Dream Theater, Transatlantic, Liquid Tension Experiment, Neal Morse, Avenged Sevenfold, Bigelf, et The Winery Dogs. Dave LaRue a joué avec Joe Satriani, Dixie Dregs, Steve Morse Band, Planet X et John Petrucci. Casey McPherson avec Alpha Rev, Endochine, Johnny Goudie et Joseph King. Neal Morse a joué avec Spock's Beard, Transatlantic, Eric Burdon, Yellow Matter Custard et Steve Morse avec Dixie Dregs, Kansas, Deep Purple, Living Loud, Angelfire. Autrement dit, ce sont tous des pointures ! Voici Mask Machine, issu de leur second album intitulé Second Nature, qui va paraître demain : https://www.youtube.com/watch?v=FdnKddL9giw Tout simplement génial. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Configurer SPF, DKIM et DMARC avec Postfix et OpenDKIM - **URL**: https://www.skyminds.net/spf-dkim-dmarc-postfix-opendkim/ Quand un serveur Postfix envoie des emails sans authentification correcte, les fournisseurs comme Gmail, Outlook ou Yahoo deviennent vite soupçonneux. Et franchement, ils n’ont pas complètement tort. Un email peut techniquement prétendre venir de n’importe quel domaine. C’est pratique pour les spammeurs, beaucoup moins pour votre délivrabilité. Pour éviter cela, vous devez configurer trois briques DNS et serveur : SPF, DKIM et DMARC. Cet article modernise l’ancienne approche SPF, Sender ID et DKIM. Sender ID n’a plus vraiment sa place aujourd’hui. On part donc sur une configuration propre avec Postfix, OpenDKIM, des enregistrements DNS fiables et une politique DMARC progressive. SPF, DKIM, DMARC : qui fait quoi ? Avant de modifier Postfix ou vos DNS, il faut comprendre le rôle de chaque mécanisme. SPF indique quels serveurs ont le droit d’envoyer des emails pour votre domaine. DKIM ajoute une signature cryptographique aux messages sortants. DMARC dit aux serveurs destinataires quoi faire quand SPF ou DKIM échoue. SPF répond donc à la question : “cette adresse IP peut-elle envoyer pour ce domaine ?”. DKIM répond : “ce message a-t-il été signé par un domaine autorisé ?”. DMARC répond : “le domaine visible dans le From est-il aligné avec SPF ou DKIM, et que fait-on en cas d’échec ?”. Les trois sont complémentaires. SPF seul ne suffit pas. DKIM seul ne suffit pas toujours. DMARC donne une politique exploitable aux fournisseurs email. C’est le trio qui compte. Pourquoi Sender ID ne mérite plus une section dédiée Sender ID était une ancienne tentative, surtout poussée par Microsoft, pour vérifier l’identité de l’expéditeur. Le problème : le protocole n’a jamais gagné l’adoption durable de SPF, DKIM et DMARC. Aujourd’hui, ne perdez pas de temps à publier des enregistrements Sender ID. Configurez plutôt correctement SPF, DKIM et DMARC. Votre serveur, vos logs et votre patience vous remercieront. Pré-requis serveur Ce guide suppose que vous avez déjà : un serveur Debian ou Ubuntu ; Postfix installé et capable d’envoyer des emails ; un nom de domaine configuré ; un accès root ou sudo ; la main sur la zone DNS du domaine ; un reverse DNS correct sur l’adresse IP du serveur. Si votre serveur mail Postfix n’est pas encore en place, relisez d’abord ce guide : configurer un serveur mail avec Postfix et des domaines virtuels. Si vous utilisez WordPress, gardez aussi une règle simple : les emails applicatifs importants doivent partir via un vrai SMTP authentifié. La fonction PHP mail() peut fonctionner, mais elle offre rarement une délivrabilité propre sur la durée. Étape 1 : vérifier le nom d’hôte et le reverse DNS Avant SPF, DKIM et DMARC, vérifiez déjà l’identité SMTP du serveur. Un serveur qui dit s’appeler localhost ou vps123456, c’est rarement rassurant. Affichez le nom d’hôte : hostnamectl hostname -f Vous devriez obtenir un FQDN cohérent, par exemple : mail.example.com Ensuite, vérifiez l’adresse IP publique utilisée par le serveur : curl -4 ifconfig.me curl -6 ifconfig.me Puis vérifiez le reverse DNS : dig -x 203.0.113.10 +short Le reverse DNS doit pointer... --- ### Steve Hackett and Ray Wilson – The Carpet Crawlers - **URL**: https://www.skyminds.net/steve-hackett-and-ray-wilson-the-carpet-crawlers/ Voici Steve Hackett qui invite Ray Wilson à chanter sur la chanson The Carpet Crawlers - issue de l'excellent album The Lamb Lies Down on Broadway (1974) - au The Glasgow Royal Concert Hall (15 mai 2013) : https://www.youtube.com/watch?v=V8_P5wP34Bw Magnifique version non ? --- ### Apache : lorsque le domaine seul (sans WWW) renvoie une erreur 403 - **URL**: https://www.skyminds.net/apache-domaine-seul-sans-www-erreur-403/ Après avoir ajouté un sous-domaine dédié aux images, j’ai remarqué qu’en appelant le domaine nu, par exemple skyminds.net sans www, je tombais sur une erreur 403 Forbidden. Pourtant, jusque-là, le domaine sans www avait toujours été redirigé vers www.skyminds.net. En analysant les logs Apache, je me suis rendu compte que le domaine nu ne tombait plus sur le bon virtual host. Apache servait le contenu d’un sous-domaine dédié aux ressources statiques. Or ce sous-domaine ne contenait que des images et n’était pas prévu pour afficher une page d’accueil. Résultat : erreur 403. Le problème venait tout simplement d’une configuration incomplète du virtual host principal. Comprendre le problème : Apache choisit un virtual host Sur un serveur Apache qui héberge plusieurs domaines ou sous-domaines sur la même adresse IP, Apache utilise les virtual hosts pour décider quel site doit répondre à une requête. Le navigateur envoie un header Host, par exemple : Host: skyminds.net Apache cherche alors un virtual host dont le ServerName ou le ServerAlias correspond à ce nom. Si aucun virtual host ne correspond, Apache utilise le premier virtual host chargé pour cette adresse IP et ce port. La documentation Apache explique justement que si aucune correspondance plus spécifique n’est trouvée, le premier virtual host listé devient le serveur par défaut pour cette paire IP/port. C’est là que les choses deviennent amusantes, au sens “Apache vient de servir le mauvais site avec beaucoup de sérieux”. Symptôme classique Le site en www fonctionne : https://www.example.com/ Mais le domaine nu renvoie une erreur 403 : https://example.com/ Ou bien il affiche le mauvais site, le mauvais sous-domaine, une page par défaut Apache, ou une erreur de certificat SSL. Dans mon cas, skyminds.net tombait sur le virtual host du sous-domaine statique. Comme le répertoire n’était pas prévu pour être listé ou servir une page index, Apache répondait logiquement avec une 403. La correction simple : ajouter le domaine nu dans ServerAlias La correction consiste à déclarer le domaine nu dans le virtual host principal. Exemple si votre domaine canonique est www.example.com : ServerName www.example.com ServerAlias example.com DocumentRoot /home/www/example.com/public_html Et pour HTTPS : ServerName www.example.com ServerAlias example.com DocumentRoot /home/www/example.com/public_html SSLEngine on SSLCertificateFile /etc/letsencrypt/live/www.example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/www.example.com/privkey.pem La directive ServerName définit le nom principal du virtual host. ServerAlias permet d’ajouter les autres noms qui doivent pointer vers le même virtual host, comme le domaine nu, le www, ou d’autres alias. Dans mon cas, la correction minimale était donc : ServerName www.skyminds.net ServerAlias skyminds.net Une fois cette ligne ajoutée dans le bon virtual host, le domaine sans www retombe sur le bon site. Mais faut-il servir les deux versions ou rediriger ? Techniquement, ServerAlias permet de faire répondre le même virtual host à plusieurs noms. Mais côté SEO et maintenance, je préfère choisir une version canonique : https://www.example.com/ ; ou https://example.com/. Ensuite, l’autre version doit rediriger en 301 vers la version canonique. Cela évite les doublons, les cookies dispersés, les URLs incohérentes, et les petites surprises côté cache. Apache documente plusieurs méthodes de redirection et de remapping... --- ### Documentaire: « Hellfest, le metal expliqué à ma mère » - **URL**: https://www.skyminds.net/documentaire-hellfest-le-metal-explique-a-ma-mere/ Le reportage « Hellfest : le metal expliqué à ma mère » a été diffusé sur France 4. Thomas VDB est allé à la rencontre des festivaliers et des artistes pour tenter de comprendre l’esprit du festival et de l’expliquer au plus grand nombre. Le documentaire démarre avec des images de festivaliers qui courent vers l’enceinte du Hellfest avant de mettre en avant le fameux discours sur le metal du député Patrick Roy à l’Assemblée nationale. Très vite, on se retrouve également devant des images du concert de Judas Priest donné à Clisson tout en naviguant dans l’Histoire de notre mouvement musical avec l’exemple Black Sabbath, les explications de Stephan Forté (Adagio) et les réponses de Rob Zombie, Phil Anselmo (Down), Attila (Mayhem). https://www.youtube.com/watch?v=XPARKqtv-5g C'est valorisant pour le Hellfest tout en restant drôle : qui a dit que se faire réveiller au camping par une dizaine de metalleux hurlant à plein poumons n’était pas le réveil idéal ? J'émets quelques petites réserves là quand même : y'a des matins où je préfére récupérer de la nuit ! Le documentaire est bien construit et satisfera autant les fans du genre que les néophytes auquel il s'adresse en envisageant le metal comme un mouvement musical à part entière sans mettre de côté les principales thématiques qui lui sont liées et qui font son folklore. --- ### Logrotate : corriger l’erreur « line too long in state file /var/lib/logrotate/status » - **URL**: https://www.skyminds.net/cron-line-too-long-state-file-logrotate-status/ Ce matin, j’ai reçu ce message d’erreur de mon serveur par email : /etc/cron.daily/logrotate: error: line 672139 too long in state file /var/lib/logrotate/status error: could not read state file, will not attempt to write into it run-parts: /etc/cron.daily/logrotate exited with return code 1 Sous GNU/Linux, logrotate gère la rotation des fichiers de logs. Il archive, compresse, supprime ou renouvelle les journaux afin d’éviter qu’un fichier comme access.log, error.log, mail.log ou syslog ne grossisse indéfiniment. Lorsque logrotate échoue, les logs ne tournent plus correctement. Et, tôt ou tard, les fichiers explosent en taille. Sur un serveur web, mail ou applicatif, cela peut finir par remplir une partition. C’est rarement le genre de surprise qui améliore un lundi matin. L’erreur line too long in state file indique généralement que le fichier d’état de logrotate est corrompu. Voici comment le diagnostiquer et le corriger proprement. À quoi sert logrotate ? logrotate automatise la rotation des journaux système. Il peut traiter les logs tous les jours, toutes les semaines, tous les mois, ou selon leur taille. Il peut aussi compresser les anciennes archives, supprimer les plus anciennes, créer un nouveau fichier vide, exécuter des scripts après rotation et envoyer certains logs par email. La documentation Ubuntu-fr résume bien son rôle : logrotate limite la taille des fichiers journaux présents dans /var/log en effectuant une rotation et, si configuré, une compression. Voir la documentation Ubuntu-fr sur logrotate. Sur Debian et Ubuntu, la configuration principale se trouve généralement ici : /etc/logrotate.conf Les configurations par service se trouvent souvent dans : /etc/logrotate.d/ Chaque service peut donc avoir sa propre politique de rotation : Apache, nginx, MySQL, PHP-FPM, Postfix, Dovecot, Redis, Varnish, etc. À quoi sert le fichier /var/lib/logrotate/status ? Le fichier /var/lib/logrotate/status garde l’état des dernières rotations. Il indique à logrotate quand chaque fichier de log a été traité pour la dernière fois. La page de manuel Debian précise que le fichier d’état par défaut est /var/lib/logrotate/status, et que l’option -s ou --state permet d’utiliser un autre fichier d’état. Voir la page de manuel Debian de logrotate. Ce fichier ressemble généralement à ceci : logrotate state -- version 2 "/var/log/nginx/access.log" 2026-5-11-0:0:0 "/var/log/nginx/error.log" 2026-5-11-0:0:0 "/var/log/syslog" 2026-5-11-0:0:0 Il ne devrait pas contenir des lignes interminables. S’il contient une ligne énorme, tronquée ou corrompue, logrotate peut refuser de le lire et abandonner l’opération. Comprendre l’erreur “line too long in state file” Le message suivant signifie que logrotate a trouvé une ligne anormalement longue dans son fichier d’état : error: line 672139 too long in state file /var/lib/logrotate/status Il refuse ensuite d’écrire dans ce fichier pour éviter d’aggraver la corruption : error: could not read state file, will not attempt to write into it Le projet logrotate a déjà documenté ce type de comportement dans ses tickets : lorsqu’une ligne du fichier d’état n’est pas terminée correctement ou dépasse ce que logrotate peut lire, l’outil échoue avec une erreur de ligne trop longue. Voir l’issue logrotate #78. Les causes possibles : fichier status corrompu ; écriture interrompue ; exécution concurrente ou anormale ;... --- ### Chet Faker – Love and Feeling (Live Sessions) - **URL**: https://www.skyminds.net/chet-faker-love-and-feeling-live-sessions/ Chet Faker, de son vrai nom Nicholas James Murphy, est un musicien australien né en 1988. Son pseudo est un hommage au jazzman Chet Baker: "I listened to a lot of jazz and I was a big fan of ... the way he sang, when he moved into mainstream singing. He had this really fragile vocal style—this really, broken, close-up and intimate style. The name is kind of just an ode to Chet Baker and the mood of music he used to play—something I would like to at least pay homage to in my own music."-- Chet Faker-- Chet Faker Voici le morceau Love and Feeling, issu des Live Sessions : https://www.youtube.com/watch?v=N9CbhqnAuBc Mélancolique ! --- ### Hell on Wheels saison 4 - **URL**: https://www.skyminds.net/hell-on-wheels-saison-4/ Voici la quatrième saison de la série Hell on Wheels sur AMC. Cette saison se centre encore et toujours sur l'expansion vers l'Ouest de l'Union Pacific Railroad. Des conflits entre le gouvernement et des entreprises, des ranchers, des colons et la ligne de chemin de fer éclatent. Tous ces intérêts différents entrent en compétition les uns avec les autres pour le contrôle de la ville de Cheyenne, dans le Wyoming, l'un des noeuds les plus importants de la ligne de chemin de fer en 1867. Il y a 13 épisodes, à regarder comme des hors-la-loi en VO : Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Sun tan lines : les lignes de bronzage - **URL**: https://www.skyminds.net/sun-tan-lines-les-lignes-de-bronzage/ La rentrée passée, il est toujours rigolo de constater les marques ou l'absence de marques de bronzage chez les collègues, selon les sports qu'ils ont pratiqués durant l'été. Il y a celles et ceux qui sont encore sous Biafine, ceux qui se sont dorés la pilule pendant deux mois et les autres, ceux qui se sont cachés du soleil et qui restent blancs comme des cachets d'aspirine, été comme hiver. Dans mon cas, un peu de crème solaire au début des vacances et hop, tranquille pour le reste de l'année. --- ### Hell On Wheels : Mumford & Sons – As Brothers We Will Stand - **URL**: https://www.skyminds.net/hell-on-wheels-mumford-sons-as-brothers-we-will-stand/ Lorsque je fais ma séquence sur les Natives avec mes 3èmes, je leur montre quelques extraits de la série Hell on Wheels. Cela leur montre les conditions de vie de l'époque, les tenues vestimentaires, le racisme et l'intolérance... bref, c'est très instructif et cela les fait parler. Cette scène en particulier les touche beaucoup : il s'agit de la scène de l'épisode 1x09 où les Natives se font massacrer par les hommes du régiment : https://www.youtube.com/watch?v=-si9_hrflzw La musique de Mumford & Sons est superbe et contraste avec la violence des images. --- ### Karl Golden and Lui Matthews – All Along The Watchtower - **URL**: https://www.skyminds.net/karl-golden-lui-matthews-all-along-the-watchtower/ All Along The Watchtower est un morceau légendaire écrit par Bob Dylan et repris par une foule d'artistes dont Jimi Hendrix ou Eric Clapton. Voici le morceau repris par Karl Golden à la guitare et Lui Matthews au chant : https://www.youtube.com/watch?v=OXXeb01x-IM J'adore cette version, c'est plutôt moderne comme angle. --- ### Linux : corriger “only root can unmount” sur un disque - **URL**: https://www.skyminds.net/linux-only-root-can-unmount/ Sur mon ordinateur, surnommé The Reaper, j'ai plusieurs disques dur : mon disque principal est un disque formaté en EXT4, entièrement dédié à Linux. Les deux autres disques durs sont formatés en NTFS car ils datent du temps où j'avais Windows dessus. Vous essayez de démonter un disque sous Linux, mais le système refuse avec une erreur du type : Error unmounting: umount exited with exit code 1: helper failed with: umount: only root can unmount Le message paraît brutal, mais il dit simplement ceci : ce système de fichiers a été monté d’une manière qui ne permet pas à votre utilisateur courant de le démonter. Le problème arrive souvent avec des disques internes, des partitions NTFS venues de Windows, des lignes ajoutées dans /etc/fstab, ou des montages faits manuellement avec sudo mount. Bonne nouvelle : ce n’est généralement pas grave. Mauvaise nouvelle : si vous corrigez au hasard, vous pouvez rendre le montage automatique encore plus pénible. Linux adore punir l’approximation avec une précision remarquable. Ce que signifie “only root can unmount” Sous Linux, monter ou démonter un système de fichiers est une opération sensible. Par défaut, seul root peut le faire. Un utilisateur normal peut démonter un disque seulement dans certains cas : le disque a été monté par cet utilisateur via l’environnement graphique ou udisks ; la ligne correspondante dans /etc/fstab contient une option comme user ou users ; l’utilisateur passe par un outil autorisé comme udisksctl ; l’action est validée par Polkit dans l’environnement de bureau. Si le disque a été monté automatiquement par root au démarrage, ou manuellement avec sudo mount, votre utilisateur courant ne pourra généralement pas le démonter avec un simple clic. Première solution : démonter avec sudo Si vous voulez simplement démonter le disque maintenant, utilisez sudo. Commencez par identifier les disques et les points de montage : lsblk -f Ou : findmnt Puis démontez le point de montage, pas seulement le périphérique : sudo umount /media/matt/MonDisque Vous pouvez aussi démonter la partition si elle n’est montée qu’à un seul endroit : sudo umount /dev/sdb1 Le manuel de umount précise toutefois que démonter via le répertoire de montage reste la méthode la plus fiable, car un même périphérique peut parfois être monté à plusieurs endroits. Ne démontez pas tout au hasard Avant de lancer une commande, vérifiez toujours quelle partition vous manipulez. Ne faites pas ceci au hasard : sudo umount /dev/sda1 Sur beaucoup de machines, /dev/sda1 peut être une partition système. Aujourd’hui, avec NVMe, SATA, USB et lecteurs externes, les noms peuvent varier : /dev/sda1, /dev/sdb1, /dev/nvme0n1p1, etc. Utilisez plutôt : lsblk -o NAME,FSTYPE,SIZE,LABEL,UUID,MOUNTPOINTS Cette commande donne une vue beaucoup plus claire : nom du périphérique, système de fichiers, taille, label, UUID et point de montage. Si le disque est monté par l’interface graphique Sur GNOME, KDE, Xfce, Cinnamon ou d’autres environnements de bureau, les disques amovibles sont souvent gérés par udisks. Dans ce cas, utilisez udisksctl plutôt que umount directement. Pour démonter une partition : udisksctl unmount -b /dev/sdb1 Pour... --- ### Led Zeppelin – Whole Lotta Love (Rough Mix With Vocal) - **URL**: https://www.skyminds.net/led-zeppelin-whole-lotta-love-rough-mix-with-vocal/ Led Zeppelin est - une nouvelle fois - en train de remasteriser ses albums. Voici Whole Lotta Love, sur l'album Led Zeppelin II, avec une version sans les arrangements habituels et la voix de Robert : https://www.youtube.com/watch?v=F6q4PpfcPnY Le clip est une compilation de performances live rares et la chanson fera partie du CD bonus de la version "Limited Edition Super Deluxe" de Led Zeppelin II. Voici ce qu'a dit Jimmy Page à propos du morceau : "This version of Whole Lotta Love is the mix down from the night that we recorded it so it doesn’t have any of the overdubs that everyone will be familiar with, because when they hear this they’ll think, ‘Oh yeah, that’s the original’ and all of a sudden they’ll go ‘No, it’s not.’People who love Led Zeppelin, who listen intently, are going to get so much out of this.”Jimmy Page et Robert Plant : “You can see how songs grow. There must have been five or six other takes of that, which are not present. So the shaping of these things is very interesting and you can hear with this particular version that we haven’t quite reached the point yet, and that it’s very, very close.”Robert Plant --- ### Thailand Summer Trip : quelques réflexions sur notre voyage - **URL**: https://www.skyminds.net/thailand-summer-trip-quelques-reflexions-sur-notre-voyage/ La rentrée approchant, on s'est remémorés nos vacances avec nostalgie, et on s'est dit que pour les faire durer encore un peu, il nous fallait dresser le bilan de notre expérience en Thaïlande. La formule circuit Nous pensons que ce n'est pas ce qui nous correspond le mieux. En effet, il nous a fallu composer avec les membres de notre groupe. Rester avec les mêmes personnes pendant douze jours et partager de nombreuses heures de bus n'est pas simple ! De plus, il faut suivre une cadence et un emploi du temps imposés: pas de place pour l'improvisation ou la flânerie et nous aurions aimé davantage d'indépendance. Nous regrettons aussi certaines visites peu intéressantes car souvent faites dans un but mercantile. En revanche, cette formule nous a offert la possibilité de visiter des sites que nous n'aurions sans doute pas pu voir par nos propres moyens. De plus, le guide nous a fourni des informations abondantes et précieuses concernant la vie quotidienne en Thaïlande, la religion, ou autres anecdotes savoureuses. En outre, la qualité de certaines visites guidées dépassait largement le Routard que nous avions apporté. La vie en Thaïlande Ce qui nous a immédiatement frappés en sortant de l'aéroport, c'est la conduite vraiment zen des automobilistes thaïs. Pas de coups de klaxon ou de gestes colériques à l'encontre des autres usagers, ils laissent volontiers la priorité en ralentissant pour permettre au trafic de s'écouler de manière fluide. On ne s'attend pas à cela, c'est vraiment safe et appréciable car on ne voit pas ça chez nous. A la louche, il doit y avoir 90% de véhicules Toyota et le reste de Mitsubishi. Partout où nous sommes allés, et même dans les endroits particulièrement reculés, les gens possèdent tous le même modèle de moto : une "Honda Wave", qui ne fait pas de bruit et roule très bien ! Les Thaï sont aussi très sereins, très doux et souriants. On ne sent pas de stress, pas de pression dans leurs gestes ou dans leur comportement. Le contraste entre l'aéroport de Bangkok et Roissy Charles de Gaule et en ce sens particulièrement frappant ! De plus, les commerçants ne sont absolument pas agressifs ni collants envers les touristes et ne vous forcent pas à acheter. Si vous leur dites non, ils comprennent et vous remercient. Même les chiens sont zen ! Ils n'aboient pas, et vous reniflent pas lorsque vous approchez d'eux. La nourriture On peut se nourrir en Thaïlande pour trois fois rien. Les plats sont très épicés, mais certains restaurants adaptent leur cuisine au palais et à l'estomac sensibles des Européens. La nourriture se compose principalement de riz, de nouilles, de légumes, de poisson et de poulet. Les plats que nous avons dégustés étaient vraiment excellents et rien qu'en écrivant cet article, nous en avons encore l'eau à la bouche ! En somme, nous très satisfaits de notre voyage en Thaïlande. Nous nous sommes gorgés d'odeurs inconnues, de paysages uniques et splendides et de nouvelles expériences. Nous avons déjà... --- ### Grace Potter and The Nocturnals – The Lion The Beast The Beat - **URL**: https://www.skyminds.net/grace-potter-and-the-nocturnals-the-lion-the-beast-the-beat/ Grace Potter and the Nocturnals est un groupe de rock du Vermont, formé en 2002 par le batteur Matt Burr, le guitariste Scott Tournet et la pulpeuse Grace Potter au chant. D'abord un groupe indie, ils touchent ensuite aux sous-genres du rock : blues rock, folk rock, hard rock, et alternative rock comme dans leur titre The Lion The Beast The Beat : https://www.youtube.com/watch?v=Ov8uT8DTvlw Le groupe est mené par Grace Potter (née le 20 juin 1983), connue pour ses qualités vocales qui ne sont pas sans rappeler celles de chanteuses de rock comme Janis Joplin. C'est vibrant d'énergie et ça s'écoute tout seul! --- ### Retirer toutes les publicités du client uTorrent - **URL**: https://www.skyminds.net/retirer-toutes-les-publicites-du-client-utorrent/ Lors de notre petite réunion familiale annuelle, j'ai aidé ma soeur à mettre quelques unes de ses applications à jour. Il se trouve que l'on a utilisé uTorrent sur sa machine Windows et j'ai été surpris de constater qu'il y avait maintenant une foule de publicités dans l'interface. Cela fait bien longtemps que je n'avais pas utilisé ce logiciel, étant donné que j'utilise Transmission sur mes machines (linux). Voici donc comment retirer les publicités d'uTorrent, en quelques clics et directement depuis les options du logiciel. Etape 1 : ouvrez les préférences du logiciel Ouvrez uTorrent puis allez dans le menu Options > Preferences > Advanced. Etape 2 : modifiez les options relatives à l'affichage des publicités Recherchez les options suivantes et modifiez leur valeur à "Non" (ou "false" si vous utilisez la version anglaise) : gui.show_plus_upsellgui.show_notorrents_nodeoffers.content_offer_autoexecoffers.featured_content_notifications_enabledoffers.featured_content_rss_enabledoffers.featured_content_rss_randomizeoffers.left_rail_offer_enabledoffers.sponsored_torrent_offer_enabled Cliquez sur OK pour valider les changements puis relancez uTorrent. Toutes les publicités ont maintenant disparu. --- ### Utopia saison 2 - **URL**: https://www.skyminds.net/utopia-saison-2/ Voici la seconde saison d'Utopia, diffusée sur Channel 4. La série nous ramène dans les années 1970, quand Philip Carvel commence à travailler sur Janus avec Milner. Alors qu'il teste le virus sur son fils réticent, Pietre, il conduit une expérience macabre sur un lapin avec l'espoir de susciter une réaction de la part de son enfant. Il pense avoir échoué jusqu'à ce que sa femme achète un lapin à Pietre qui le tue juste après. Sa femme le jette dehors et quelques mois plus tard, elle meurt en donnant naissance à Jessica, que Carvel élève seul. Cinq ans plus tard, sans rien dire à Milner, Carvel ajuste la formule du virus... Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Deux semaines en Thaïlande : séjour à Pattaya et retour en France - **URL**: https://www.skyminds.net/thailande-sejour-a-pattaya/ Aujourd'hui, on quitte Bangkok à 10h pour rejoindre Pattaya. C'est une station balnéaire située à environ 160 km de la capitale. Nous nous y rendons donc en bus. A notre arrivée, nous nous installons à l'hôtel, ce qui prend plus de temps que prévu car une esclandre a lieu: la réception exige que nous versions 1000 bahts de caution en espèces pour le mini-bar de chaque chambre. Personne n'était prévenu et certains ont refusé de verser cette somme, qu'ils réservaient pour leurs achats. La chambre et l'hôtel sont inférieurs à ce que nous avions connu auparavant. Nous partons ensuite nous promener aux alentours de l'établissement en quête d'un bouge où déjeuner. Et là, c'est le drame. Nous découvrons une plage peu spacieuse et sale, où des sacs plastique, et des poissons morts flottent à la surface des 10 premiers mètres d'eau. La ville est sale également et certains endroits sont carrément insalubres. Bref, nous allons à la supérette du coin et décidons de nous faire un pique-nique improvisé dans notre chambre. Nous nous rabattons sur la piscine de l'hôtel, très agréable vu la chaleur extérieure. Nous trouvons très appréciable de nous reposer et d'aller à notre rythme. Le soir, nous partons nous balader en ville et trouvons une rue où il n'y a que des bars avec une dizaine de filles dans chacun qui attendent le client. L'avantage, c'est que la bière n'est pas chère, le wifi gratuit, et les filles jolies ! Nous y passons notre soirée. Le surlendemain, c'est le grand départ : après le petit déjeuner, nous nous baignons dans la mer de Siam dans laquelle on rentre comme dans un bain. C'est agréable car la plage et l'eau ont été nettoyées, et la vue, qui donne sur une île située au large est très belle. Aussitôt sortis, aussitôt secs, nous partons faire nos valises puis passons l'après-midi à lézarder à la piscine. A 17h, un bus vient nous chercher. Nous entamons une tournée des hôtels dela ville et découvrons avec horreur qu'il existe un groupe encore pire que le nôtre, digne d'une téléréalité. Nous nous rendons compte que de tous ces hôtels, le nôtre était le moins bien, et surtout sacrément mal placé. La ville de Pattaya a une croisette comme à Cannes, mais nous en étions bien loin ! Nous arrivons à Bangkok après 3h de bus et l'attente pour le check-in et l'embarquement commence. Tout se déroule très sereinement. Notre avion décolle à 0h55, nous sommes partis pour 9h de vol. A 4h30 heure locale, nous arrivons au Caire. Notre escale dure 5 heures. Heureusement, nous avons chacun un bon livre ! Et à nouveau, check-in, embarquement, et décollage vers CDG. Quand arrive notre repas vers 12h, c'est un vrai soulagement pour Cécile: n'ayant pas mangé depuis 9h, j'ai cru qu'elle allait mordre les stewarts! Nous arrivons à Paris vers 14h30. Nous sommes frappés par l'ambiance anxiogène qui y règne. En comparaison, les aéroports de Bangkok et Le Caire sont beaucoup plus calmes et... --- ### Deux semaines en Thaïlande : train de la mort, pont de la rivière Kwaï et Bangkok - **URL**: https://www.skyminds.net/thailande-train-de-la-mort-pont-de-la-riviere-kwai/ Nous embarquons dans le bus pour 2h30 de trajet et arrivons vers 10h30 à la gare de Kanchanaburi. Au programme, une virée en train sur la ligne de chemin de fer de la mort. Rien à voir avec un train fantôme ou une descente à pic dans le train de la mine. C'est à son histoire que cette ligne doit son nom funeste: elle a été construite pendant la seconde guerre mondiale par des prisonniers de guerre JEATH (from Japan, England, Australia, America, Thaïland, and Holland). A cause de la maladie et des mauvais traitements qui leur ont été infligés durant la construction, des milliers d'hommes ont péri. Chaque traverse de chemin de fer représente un mort et la voie en compte plus de seize mille. Nous embarquons dans le train (c'est la journée train !) et cours de notre itinéraire qui traverse rizières, plaines brûlées et champs de manioc. Nous passons sur le fameux pont, rivière Kwaï d'un coté, flanc de falaise de l'autre. Le trajet dure 1h30 dans la pampa thaï - ce qui un peu longuet étant donné que le passage sur le pont dure à peine quelques secondes. Visite des ruines du sanctuaire cambodgien (khmer) de Muang Sing. Arrivée a l'hôtel, situé au milieu de nulle part. On se jette dans l'immense piscine qui se trouve dans un parc donnant sur le rivière Kwaï. C'est superbe. Ensuite, c'est soirée moustique : nous dinons sur la terrasse de l'hôtel et les moustiques virevoltent dans tous les sens, certains se crashant même dans notre curry. Après une heure de bataille à se claquer les cuisses, nous capitulons et rejoignons notre chambre. L'anti moustique Insectes Écran semble les faire rigoler, tout comme le bracelet à la citronnelle. Le lendemain, nous retournons au pont de la rivière Kwaï pour l'emprunter à pied, flâner au marché, visiter le musée de la guerre et parcourir la rivière en pirogue rapide à moteur. C'est la pirogue la plus rapide au bord de laquelle nous ayons embarqué. Nous filons à fond les ballons, grisés par la vitesse. Vient ensuite la visite très intéressante de deux cimetières situés à côté, le cimetière thaï et le cimetière de guerre anglais. Nous nous perdons parmi les tombes des civils thaïs et chinois, réunies en un seul lieu, mais pourtant bien distinctes. Les tombes thaïes ont la forme d'un chedi, tandis que les chinoises sont des stèles gravées. Des détritus jonchent le sol et l'entretien des tombes laisse à désirer, ce qui contraste pleinement avec le cimetière anglais, juste à côté. Les tombes sont bien alignées, fleuries et la pelouse est très bien tondue, détail qui réjouit considérablement Matt ! Nous apprécions cette petite promenade matinale : le silence des lieux nous apaise et nous ressentons la proximité de trois cultures pourtant très différentes. Vient alors l'heure du déjeuner au restaurant. Nous prenons ensuite la route de Bangkok. Nous parvenons à notre hôtel vers 15h30 et une fois n'est pas coutume, cet après-midi, nous n'avons pas de programme... --- ### Deux semaines en Thaïlande : femmes girafes, tigres et train couchette - **URL**: https://www.skyminds.net/thailande-femmes-girafes-tigres-et-train-couchette/ Réveil à 6h15. Finalement, nos craintes des moustiques n'étaient pas fondées. Nous avons très bien dormi au milieu de la nature. Nous avons adoré être réveillés par le bruit des animaux (coq, poules) et autres insectes tropicaux. Ce cadre tropical n'est pas sans rappeler le décor de la série LOST: Nous reprenons le mini-bus pour nous rendre à Thaton visiter un temple où cohabitent des bonzes en orange et des "bonzettes" tout vêtues de blanc. Le temple ressemble à une boutique d'antiquaire avec des statues de Bouddha, Shiva et Ganesh. Ce temple se distingue des autres par sa modernité car il a été construit il y a 30 ans mais perd donc de son caractère sacré. Ensuite, nous reprenons la route pendant 2 heures pour rejoindre le village des femmes girafes. Nous abandonnons le mini-bus pour monter dans un taxi-brousse, espèce de pick-up recouvert d'une bâche. La police française pâlirait devant le non-respect des normes de sécurité ! Nous arrivons au village : nous sommes accueillis par une femme montagnarde aux dents totalement noires qui essaie de nous vendre des bracelets colorés dans une langue incompréhensible. Trente mètres plus loin, nous rencontrons les femmes girafes ("Kayak" en thai), qui font partie du groupe des tribus Karen. Les femmes portent au cou de nombreux anneaux en cuivre spiralés, qu'elles empilent au fur et à mesure qu'elles prennent de l'âge. Une fois adultes, le collier pèse environ 15 kilos et mesure une trentaine de centimètres de hauteur. Nous reprenons le mini-bus et visitons un marché de fruits et légumes installé au bord de la route. Les odeurs, les couleurs vives et les cris des marchands rendent ce marché plus authentique que tous ceux vus précédemment. Nous apprécions le fait de découvrir fruits et légumes que nous n'avions jamais vus jusqu'alors : des pousses de bambou entières ou des avocats géants. Ensuite, nous partons manger au Tiger Kingdom de Chiang Mai. Un zoo dédié aux tigres qui n'attire que des touristes. Le principe est simple: vous déjeunez et avez la possibilité d'entrer dans la cage pour vous faire photographier avec les tigres, à condition d'avoir signé une décharge dans laquelle le zoo décline toute responsabilité en cas d'accident avec le tigre. Les touristes font la queue, bien que le prix soit élevé (1400 bahts, soit environ 40 euros par personne). A 17h, nous prenons le train pour Bangkok. C'est un train couchette, plus propre et plus confortable que le TGV de la SNCF! Cécile, affamée et refusant catégoriquement de manger son panier-repas (alors que j'ai mangé le mien sans sourciller), se commande un dîner. Une personne passe régulièrement dans le wagon et propose une carte avec plusieurs menus. Rien à voir avec le wagon restaurant aux prix prohibitifs et à la qualité discutable de chez nous : une soupe de légumes, un plat de riz et de poulet aigre-doux, un plat de porc sauté au curry rouge et un plateau de fruits pour la modique somme de 170 bahts, soit 4,25 euros le... --- ### Deux semaines en Thaïlande : le camp des éléphants, la ferme aux orchidées, LOST - **URL**: https://www.skyminds.net/thailande-camp-des-elephants-ferme-aux-orchidees/ Nous partons de bonne heure pour le camp des éléphants, le Maetaman Elephant Camp. Nous sommes accueillis par un troupeau d'éléphants, sur lesquels, en échange d'un petit billet, on nous propose de grimper. Chacun à notre tour avons donc l'occasion unique d'être portés sur la trompe de la bête. La sensation d'être sur le descendant d'un animal préhistorique tel que l'ont dessiné les premiers hommes est inoubliable. En plus, la trompe d'un éléphant, ça pique ! En effet, les individus ont des poils qui poussent sur leur tête et leur trompe au fur et à mesure qu'ils prennent de l'âge. Nous assistons ensuite au bain des éléphants : les animaux entrent petit à petit dans la rivière, leur Cormac sur le dos et s'immergent quasi totalement en prenant bien soin de ne pas mouiller leur maître. La scène est vraiment étonnante ! Puis, on nous propose un spectacle dans lequel les cormacs montrent ce que leurs éléphants sont capables de faire après des années de dressage : lever une patte, se tenir debout, se tenir sur les deux pattes avant, tirer et lever des rondins à deux. Un éléphant a même tiré un penalty en prenant son élan et en feintant par deux fois de tirer. Impressionnant ! Deux éléphants ont ensuite utilisé leur trompe pour prendre un pinceau et dessiner sur une toile. L'un a peint un arbre en fleur et l'autre a dessiné son autoportrait. Ces peintures sont ensuite vendues aux touristes pour la modique somme de 1000 bahts (environ 23-25 euros): l'éléphant comme le touriste se fait légèrement exploiter. Le pire, dans l'histoire est que certains membres de notre groupe ont couru pour être les premiers à acquérir l’œuvre qui venait d'être réalisée sous nos yeux! Vient alors le moment que nous attendions avec excitation : la promenade à dos d’éléphant. Ils portent sur leur dos une banquette rudimentaire qui peut nous accueillir tous les deux. La balade commence. Nous traversons la rivière puis empruntons un petit chemin de terre, qui s'enfonce dans la forêt. Les sensations sont uniques : nous avançons cahin-caha au rythme lent de l'animal et à chaque pas, le roulis est vraiment sensible. La promenade nous laisse le temps d'admirer les paysages sauvages et d'écouter le chant des animaux de la forêt. A certains moments, on se croirait dans la jungle: la végétation est luxuriante et la terre rouge sang. Une partie du chemin de retour se déroule dans la rivière : lorsque nous y descendons, la pente est très abrupte et l'impression de tomber dans le vide prégnante. Âmes sensibles, s'abstenir ! Nous sommes également frappés par la force et la puissance de l'animal. La pente du sentier est parfois très raide, et pourtant, l'éléphant ne peine aucunement à porter trois personnes : nous deux et le cormac, ainsi que l'attelage. Une expérience unique et inoubliable ! A peine descendus de l'éléphant, nous embarquons sur un radeau de bambous. Nous avons pu jouer tour à tour le rôle du capitaine armé d'une... --- ### Deux semaines en Thaïlande : temple de Doi Suthep et shopping à Chiang Mai - **URL**: https://www.skyminds.net/thailande-temple-de-doi-suthep-et-shopping-a-chiang-mai/ Ce matin, il va falloir mettre nos belles chaussures de randonnée. Nous commencons à grimper en bus plus de 1000 virages. La légende veut que la route ait été tracée par un éléphant qui a marché 12 kilomètres. Il aurait ensuite fait trois tours sur lui-même et serait mort de fatigue. C'est à cet endroit que le temple de Doi Suthep a été construit. Nous grimpons les 350 marches. Le temple est sublime, même si la brume nous empêche un peu de profiter du panorama de la montagne. Nous nous déchaussons et entrons dans le temple, à genoux devant le bonze qui nous bénit en nous aspergeant copieusement d'eau bénite avec son faisceau de brins de paille. Il dépose sur le poignet des hommes un bracelet de chanvre que l'on doit attacher nous-mêmes. Par contre, le bonze ne peut pas toucher les femmes : c'est un pratiquant qui attache le bracelet au poignet des femmes. Ensuite, c'est l'après-midi shopping de touristes. On redescend sur Chiang Mai et visitons une bijouterie, un atelier de fabrication d'objets laqués, une maroquinerie, une soierie, et un atelier qui produit des objets en bois et des ombrelles. Dans tous ces magasins, le principe de vente est similaire: la visite commence par une explication et une démonstration des techniques de fabrication. C'est de loin la partie la plus intéressante. Nous pouvons ainsi voir comment sont créés les objets laqués, comment les pierres précieuses sont serties et observer les verres à soie. Ensuite, nous sommes conduits dans un magasin sur-climatisé où une vendeuse qui parle un français nickel nous piste rayon après rayon. Elle commence par nous faire voir des objets hors de prix :- "Monsieur, vois n'achetez pas une bague en saphir à Madame? C'est un beau cadeau!"Ben écoute, à 25000 euros le caillou, Madame peut aller se brosser... .... Avant de nous emmener vers des rayons bien plus abordables où le collier à 60 euros nous semble être l'affaire du siècle. Technique de vente redoutable et éprouvée, reprise dans chacun des magasins, et qui embobine tous les membres de notre groupe. Demain, on va voir des éléphants ! --- ### Thailande : le Triangle d’Or et Chiang Mai - **URL**: https://www.skyminds.net/thailand-triangle-dor-et-chiang-mai/ Départ pour le Triangle d'Or: il s'agit de la zone septentrionale du pays, dans laquelle il est possible de voir les trois pays bordés par le fleuve Mékong. Lorsque l'on regarde le Triangle d'Or, on peut apercevoir la Birmanie à l'ouest, le Laos à l'est - de l'autre côté du Mékong - tout en étant en Thaïlande. La Chine se trouve à quelques 200 kilomètres face à nous après les montagnes. Le groupe se scinde en deux : certains traversent le fleuve pour aller visiter un village du Laos et obtenir un coup de tampon sur leur passeport, après avoir payé pour ça. Nous décidons de rester sur place et de découvrir les temples et le point de vue magnifique qu'offre le sommet de l'énorme colline. Au hasard de nos pérégrinations, nous tombons sur d'anciennes ruines encerclées par la végétation. On se croirait en pleine jungle avec la chaleur humide, et le bruit des animaux et des insectes. Les ruines du temple datent du 14eme siècle : on pourrait les croire à l'abandon et pourtant, l'originalité de ce lieu vient du fait qu'un culte bouddhique avec offrandes, bougies et statuettes y est installé. Il s'y dégage une impression de calme et de sérénité. Ensuite, nous visitons le musée de l'opium. Sa présence ici prend tout son sens puisqu'à l'origine, le triangle d'or ne vient pas de la couleur du Mékong, pourtant proche!, mais bien du trafic de drogue particulièrement développé dans cet endroit stratégique : la drogue était payée en or. Nous avons appris comment fabriquer chimiquement de l'héroïne, Breaking Bad style. De nombreuses pipes à opium y sont exposées ainsi que des fleurs de pavot. Détail amusant : il y a une récompense de 2 millions de dollars offerte par la DEA américaine pour qui donne des informations pour la capture d'un trafiquant de drogue. Pause déjeuner. Au détour du trajet, nous croisons deux éléphants qui s'abreuvent au bord du Mékong. L'après-midi, nous visitons deux villages de montagnards. Arnaque totale. Premier détail qui nous met la puce à l'oreille: le guide nous explique qu'il y a une église catholique dans le village. Celle-ci se trouve être un hangar avec des croix, cadenassé donc non-visitable. Deuxième détail: c'est un village fantôme et ses habitantes ne sont apparues qu'à notre arrivée pour mettre en place leurs étals et s'habiller en costumes traditionnels. La deuxième partie de l'après-midi est beaucoup plus intéressante. Nous montons sur une pirogue motorisée et descendons le fleuve Kok. Dès que le capitaine démarre, nous sommes surpris par la vitesse: nous avançons a vive allure, le vent frappe notre visage et les paysages défilent devant nos yeux émerveillés. Là encore, la nature est très sauvage, on se croirait dans une vedette rapide ou un hovercraft en pleine guerre du Vietnam. Grisés par la vitesse, nous nous laissons porter. Ensuite, retour à l'hôtel. Dîner rapide et nous nous préparons pour une soirée Muay Thaï, aka boxe thai. Une navette affrétée par l'hôtel nous emmène au Thaphae Boxing Stadium. Nous... --- ### Deux semaines en Thaïlande : Sukhothai et Chiang Rai - **URL**: https://www.skyminds.net/thailande-sukhothai-et-chiang-rai/ Nous partons visiter le parc historique de Sukhothai, qui a été la capitale du premier grand royaume thaï au 13ème siècle. Inscrit au patrimoine mondial de l'UNESCO, le site est immense. Le temple principal appelé Wat Mahathat était constitué à l'origine de plusieurs chedis alignés et d'un chedi principal au centre duquel se trouve une statue de Bouddha, bordée d'autres bouddhas. Ce qui rend ce site magnifique , c'est aussi l'aménagement des jardins qui mettent en valeur les vieilles pierres: des nénuphars et des fleurs de lotus dans de petites mares, des allées de palmiers s'étendent à perte de vue. L'humidité impreigne les lieux et accentue les contrastes. Toute cette atmosphère confère au visiteur un sentiment de bien-être et d'harmonie. Des siècles de vie semblent renaître sous nos yeux et laissent libre cours à nos rêveries. Après le déjeuner, nous partons pour Chiang Rai, surnommée la "ville des rois" et fondée par le roi Mengrai en 1262. Chiang Rai est devenue la première capitale du royaume de Lannathai mais a petit à petit perdu son statut au profit de Chiang Mai. C'est en 1432 que le Bouddha d'Émeraude, la plus importante représentation de Bouddha vénérée en Thaïlande, a été découvert à Chiang Rai puis transporté plus tard au Palais Royal de Bangkok. Le soir, après la fatigue accumulée tout au long du voyage jusu'au nord de la Thaïlande, nous allons nous faire masser dans un salon de massage thaï. Le massage a duré 2 heures : massage des pieds, des jambes et du reste du corps. C'était incroyable: la masseuse nous a massé avec ses coudes et utilisé des positions quasi-martiales pour nous débloquer et nous détendre. Cela a été l'un des meilleurs massages de ma vie! --- ### Deux semaines en Thaïlande : Ayuthaya - **URL**: https://www.skyminds.net/thailande-ayuthaya/ Nous nous réveillons ce matin, à l'aube, mais bien reposés. Lorsque nous ouvrons les rideaux de notre chambre d'hôtel, nous admirons le lever du soleil au-dessus du Chao Phraya, le fleuve qui passe à Bangkok. Nous partons pour Ayuthaya, qui est l'ancienne capitale du Royaume du Siam. Nous visitons la ville et sillonnons les canaux dans une espèce de jonque motorisée. Ce ne sont d'ailleurs pas des moteurs hors-bords marins comme on les trouve chez nous mais des moteurs de voiture qui ont été adaptés pour faire tourner l'hélice à ras de l'eau à environ 3 mètres à l'arrière du bateau. Cela permet notamment de se frayer un chemin parmi toutes les jacynthes d'eau qui prolifèrent sur la rivière, à tel point que cette dernière en est recouverte. Il est nécessaire de louvoyer : Ce petit tour sur les canaux nous permet de nous rendre compte de l'habitat insalubre des maisons sur pilotis qui bordent la rivière, ainsi que de l'extrême pauvreté des habitants qui n'ont pas l'eau courante et que l'on peut voir en train de se laver ou de faire leur lessive dans l'eau marronnée. Nous apercevons aussi des varans qui passent devant notre embarcation avant de s'éloigner vers la berge. De loin, ils passent facilement pour des crocodiles et font dans les deux mètres de long. A la fin de la visite, notre capitaine nous tend un paquet de briochettes chacun. Nous la remercions chaleureusement, contents de pouvoir nous restaurer après cette balade. Notre capitaine comprend notre intention et, avec des yeux ronds, nous fait signe de jeter les brioches à l'eau. Moment d'arrêt. Sans comprendre, nous nous exécutons. A peine le morceau de broche touche-t-il l'eau que des dizaines et des dizaines de silures, gigantesques, se battent pour l'attraper voracement : les poissons frétillent hors de l'eau dans un vacarme assourdissant. Nous visitons ensuite le Wat Srisanphet, temple du 15éme siècle et qui est considéré comme le plus beau de la ville. Après un déjeuner à Lopburi, nous visitons le temple de San Phra Kan et rejoignons la ville de Sukhothai. --- ### Bangkok : marché flottant de Damnoen Saduak, temple de Nakhon Pathom, Wat Phra Kaeo et le Grand Palais - **URL**: https://www.skyminds.net/bangkok-temple-nakhon-pathom-wat-phra-kaeo-grand-palais/ Après un réveil à 6h40, un petit déjeuner copieux et savoureux nous attend au restaurant de l'hôtel. Une multitude de plats appétissants s'offrent à nous, notamment des plats typiquement thaï. Le marché flottant de Damnoen Saduak Nous partons en bus pour le marché flottant de Damnoen Saduak, qui se trouve au sud-ouest de Bangkok. Les allées du marché sont des canaux que nous empruntons dans une pirogue. Les marchands de foulards, de statuettes, d'éventails et de chapeaux utilisent des gaffes pour amener notre pirogue le long du quai de leur échoppes ou nous accostent avec leur pirogue. Couleurs et senteurs diverses et variées s'offrent à nos sens. Un dresseur de serpents nous propose même, pour une centaine de bahts, de porter un de ses pythons sur nos épaules. Nous nous sommes contentés de prendre quelques photos de la bête. Les commerçants en Thaïlande ne sont pas du tout agressifs : ils ne vous sautent pas dessus et n'essaient pas de vous vendre quelque chose à tout prix. Le temple de Nakhon Pathom Ensuite, nous partons voir le temple de Nakhon Pathom, berceau de l'enseignement bouddhiste en Thaïlande, où se dresse le plus haut chedi du monde (120,50 mètres). Nous avons de la chance car nous tombons le jour d'une fête religieuse et assistons aux cérémonies rituelles bouddhiques: offrandes, encens, fleurs de lotus dédiés à Bouddha. Nous partons ensuite déjeuner dans un hôtel de Bangkok, plats thaï épicés au menu. Wat Phra Kaeo et le Grand Palais L'après-midi, nous découvrons le Grand Palais, construit en 1782 par Rama 1er. L'enceinte fait 219 hectares avec le palais, les dépendances, et les temples dont le Wat Phra Kaeo, temple bouddhique le plus fameux de Thaïlande, édifié pour accueillir le Bouddha d'Émeraude (qui se trouve être de jade). Retour à l'hôtel, on se délasse en faisant quelques brasses dans la piscine. Le soir, un dîner-spectacle est organisé en ville. On s'y rend en bus et admirons les danses thaïlandaises composées de combats mimés et de légendes thaï chorégraphiées. Les danseuses sont vraiment très jolies. Une pluie diluvienne nous accompagne durant cette sortie. L'avantage, c'est qu'il fait beau le jour pendant nos grosses visites et qu'il pleut dans la soirée, ce qui rafraichit un peu l'atmosphère pour le jour suivant. --- ### Deux semaines en Thaïlande : Paris – Le Caire – Bangkok - **URL**: https://www.skyminds.net/thailande-paris-le-caire-bangkok/ Cette année, Cécile et moi avons a décidé qu'on avait besoin de dépaysement, de découvrir des choses et des lieux que l'on ne trouve pas chez nous. Après quelques recherches sur internet, nous avons donc opté pour la Thaïlande cet été! Les préparatifs Partir en Asie demande un peu de préparation. D'abord, les vaccins: DT polio, hépatite A et B, typhoïde... Il faut les faire un mois avant et comme je n'étais à jour d'aucun vaccins, j'ai eu droit à une mise à jour intégrale de ma base antivirus. Ensuite, la trousse de survie: antimoustique tropical, crème solaire, aquatabs pour rendre l'eau potable, immodium, paracétamol, cure anti-palud... Ça pèse lourd tout ça! Enfin, je ne croyais pas dire ou écrire cela un jour mais, lorsque j'ai imprimé nos documents de voyage, je me suis aperçu qu'il y avait du trekking au programme. Je suis certain de ne jamais avoir signé pour cela! Je me demande d'ailleurs si ce n'est pas un coup fourré de la part de Cécile... Résultat, je me retrouve avec une paire de chaussures de randonnée Quechua flambant neuves. Et rouges. Le trajet Nous sommes partis de Nantes jeudi soir, à 18h. A peine le début du voyage et une première péripétie : en "raison d'un problème sur la voie à grande vitesse, notre train sera détourné par Chartres, sur une voie normale". Nous étions à peine au Mans, ce qui a rallongé notre trajet d'une heure et trente minutes. A eux de nous faire préférer le train qu'ils disaient! Après une nuit chez Julia, nous sommes arrivés à Roissy Charles de Gaulle. Enregistrement prévu à 12h45 mais en réalité, il a eu lieu à 14h! Retard sur retard, on a décollé à 17h30 au lieu de 15h45... Après cette course effrénée dans le dédale des terminaux de l'aéroport du Caire, essoufflés et heureux, nous nous installons confortablement dans nos sièges. Ça y est, nous décollons et sommes partis pour 9h de vol jusqu'à Bangkok. Le voyage, ponctué par les repas, et quelques heures de sommeil entrecoupées, se déroule sans anicroche. C'est à 14h heure locale que nous aterrissons à l'aéroport de Bangkok. Nous passons la douane aussi vite: rien à voir avec l'entrée aux États-Unis, en Angleterre ou en Australie. Le douanier regarde un film sur son iPod,se contente de tamponner notre passeport, et d'agrafer l'attestation de sortie du territoire complétée dans l'avion. Chose rare, nous récupérons nos valises en moins de 5 minutes et attendons notre guide à la porte C. Elle arrive après quelques minutes et nous hèle un taxi qui nous conduit droit vers l'hôtel. C'est l'occasion pour nous de regarder la route et de nous plonger dans la ville. Nous sommes très surpris par l'agencement des fils électriques sur les poteaux, il peut y avoir jusqu'à 23 compagnies différentes sur un seul poteau! Quarante minutes plus tard, nous sommes à l'hôtel. La douche s'impose et nous nous assoupissons quelques minutes avant d'aller plonger dans la piscine. A 17h, nous avons rendez-vous avec... --- ### Lire un CD ou DVD de DivX avec la Freebox - **URL**: https://www.skyminds.net/lire-un-cd-ou-dvd-de-divx-avec-la-freebox-revolution/ La Freebox Révolution possède un lecteur Blu-ray intégré capable de lire des CD, DVD et Blu-ray. Pourtant, si vous insérez un DVD contenant des fichiers DivX, AVI ou MKV, le Player peut afficher un message du type “Impossible de lire le DVD”. La raison est simple : votre disque n’est pas forcément un DVD vidéo classique. C’est souvent un DVD de données contenant des fichiers vidéo. Dans ce cas, il ne faut pas le lancer comme un film DVD. Il faut l’ouvrir comme un support de stockage. Voici la méthode pour lire un CD ou DVD de DivX avec la Freebox Révolution, sans s’acharner sur le bouton “Lire le disque”. Parce qu’un bouton qui semble logique est parfois un piège. La technologie aime l’ironie. Le problème : “Impossible de lire le DVD” Si vous gravez plusieurs fichiers vidéo sur un CD ou un DVD, la Freebox Révolution peut ne pas le reconnaître comme un vrai DVD vidéo. Elle cherche alors une structure de disque vidéo classique, avec ses dossiers et ses fichiers attendus. Or un disque de DivX, dans la plupart des cas, contient simplement des fichiers comme : film.avi episode.mkv video.mp4 sous-titres.srt Ce n’est donc pas le mode “DVD vidéo” qu’il faut utiliser, mais l’explorateur de fichiers du Player. Lire un CD ou DVD de DivX sur la Freebox Révolution Voici la procédure à suivre. Insérez le CD ou DVD dans la fente du lecteur Blu-ray du Player Freebox Révolution. Allumez la Freebox Player et votre télévision. Depuis l’accueil, allez dans la rubrique liée au lecteur Blu-ray. Choisissez l’option permettant d’insérer ou de charger le disque. Attendez que l’option “Lire le disque” apparaisse. Ne cliquez pas sur “Lire le disque”. C’est l’étape importante. Revenez dans le menu principal. Allez dans Mes Disques, Disques ou Multimédia, selon la version de l’interface. Sélectionnez le lecteur DVD. Ouvrez le fichier vidéo voulu, puis lancez la lecture avec la touche OK. Le contenu du disque devrait alors s’afficher comme un simple dossier. Vous pouvez naviguer dans les fichiers, choisir votre vidéo, puis la lancer directement. Pourquoi il ne faut pas cliquer sur “Lire le disque” Le bouton “Lire le disque” sert surtout à lancer un disque structuré comme un DVD vidéo ou un Blu-ray vidéo. Si votre disque contient seulement des fichiers DivX, AVI, MKV ou MP4, la Freebox peut ne pas savoir quoi faire dans ce mode. En passant par le menu des disques ou du multimédia, vous utilisez la Freebox comme un explorateur de fichiers. C’est exactement ce qu’il faut pour un disque de données. Dit autrement : le disque n’est pas illisible. Il est simplement mal ouvert. Et si le fichier ne se lance pas ? Si le fichier apparaît mais refuse de se lire, le problème vient probablement du format vidéo, du codec audio, du conteneur ou du sous-titre. Quelques vérifications simples permettent souvent de trouver la cause. Testez le fichier sur un ordinateur avec VLC. Vérifiez que le fichier n’est pas corrompu. Évitez les noms de fichiers trop longs... --- ### Suits saison 4 - **URL**: https://www.skyminds.net/suits-saison-4/ La quatrième saison de Suits vient de commencer sur USA Networks. L'entreprise de Walter Gillis, qui est toute sa vie, est sur le point de se faire racheter et Mike a un plan pour la sauver qui est raillé à la fois par Harvey et Sidwell car ils le considèrent trop peu ambitieux. Mike demande la révision de sa représentation par Pearson Specter et lorsqu'un autre client d'Harvey, Logan Sanders, annonce son plan d'OPA sauvage sur la société, Harvey est obligé de l'aider. Harvey et Mike sont en conflit d'intérêt. Pendant ce temps, Jeff Malone, qui travaille pour le SEC (Securities and Exchange Commission) annonce à Jessica et Harvey que Woodall - qui siège maintenant dans cette commission - veut poursuivre sa vendetta à l'encontre de la firme en attaquant tous leurs clients. Mais Malone veut quitter la SEC pour travailler chez Pearson Specter. Jessica accepte après avoir consulté Harvey, à la condition que Malone et elle mettent une fin à leur relation amoureuse. Rachel est prise entre deux feux, entre son employeur et son amant, et confesse à Mike avoir eu une liaison avec le client d'Harvey, Logan Sanders... Seize épisodes sont prévus cette saison, à regarder en VO : Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Concert de Sólstafir au Hellfest 2014 - **URL**: https://www.skyminds.net/concert-de-solstafir-au-hellfest-2014/ Les cowboys islandais de Sólstafir distillent depuis 1994 un métal qui mélange post-rock, hardcore et rock progressif. Le nom du groupe, Sólstafir, signifie "rayons crépusculaires". Leur style touche au post-metal et au métal progressif. Une sorte de Sigur Rós en plus musqué en somme... Planantes, nimbées de mystère et mélancoliques, ses compositions à la lisière des genres rendent Sólstafir difficile à classer. Voici ce qu'a donné leur concert au Hellfest 2014 : https://www.youtube.com/watch?v=VOMy4P20Kso Sympa comme tout, et - à l'exception du batteur - un look plus texan qu'islandais! --- ### Winston love coach : la drague virtuelle - **URL**: https://www.skyminds.net/winston-love-coach-la-drague-virtuelle/ Manu a besoin de quelques petits conseils pour draguer une fille et c'est Winston, son chat qui parle, qui se propose de l'aider : https://www.youtube.com/watch?v=D3B_bkSV9_w Il roxxe du poney Winston en love coach ! --- ### Utopia : résumé de la première saison en 3 minutes - **URL**: https://www.skyminds.net/utopia-resume-premiere-saison/ Après presque un an et demi, Utopia s’apprête à faire son retour sur Channel 4 pour sa seconde saison. Thriller énigmatique, Utopia se centre sur un groupe de personnes que rien ne connecte au départ, mais qui vont se rencontrer grâce à leur intérêt pour un étrange graphic novel. Leur existence va alors être bouleversée quand ils vont se retrouver pris au cœur d’une conspiration et être poursuivis par une mystérieuse organisation. Vous pouvez trouver la première saison ici : Voir Synology : corriger “rsync permission denied” sur Amazon ou le résumé de la première saison, pour se rafraîchir la mémoire (attention, contient des spoilers de la saison 1, bien évidemment) : https://www.youtube.com/watch?v=nz22hgHCCZM Retour sur nos écrans ce mois-ci. --- ### Linux : réparer la table de partition d’une carte SD (erreur : « can’t read superblock ») - **URL**: https://www.skyminds.net/linux-reparer-table-partition-carte-sd-superblock/ Le problème : une carte SD non détectée Aujourd'hui, je me rends compte que la carte microSD de mon téléphone Android n'est plus reconnue. Je ne l'ai pas vu tout de suite donc il est fort possible que cela fasse un petit bout de temps que cette situation perdure. Je la branche sur un lecteur de carte pour voir ce qui se passe et j'obtiens ce message d'erreur : Error mounting: mount: /dev/sdh1: can't read superblock On vérifie que la carte est détectée : sudo fdisk -l Résultat : Disk /dev/sdh: 16.6 GB, 16574840832 bytes 28 têtes, 60 secteurs/piste, 19269 cylindres, total 32372736 secteurs Unités = secteurs de 1 * 512 = 512 octets Taille de secteur (logique / physique) : 512 octets / 512 octets taille d'E/S (minimale / optimale) : 512 octets / 512 octets Identifiant de disque : 0x00000000 Périphérique Amorçage Début Fin Blocs Id. Système /dev/sdh1 8192 32372735 16182272 c W95 FAT32 (LBA) La carte est bien détectée mais elle ne peut être montée. On vérifie maintenant le système de fichiers. Ma carte est en FAT32 donc on lance : sudo fsck.msdos /dev/sdh1 Résultat : dosfsck 3.0.12, 29 Oct 2011, FAT32, LFN / Contains a free cluster (2). Assuming EOF. FAT32 root dir starts with a bad cluster! Nous avons donc bien des clusters corrompus qui empêchent de monter le sytème de fichier. Nous allons donc utiliser l'utilitaire testdisk pour réparer les mauvais clusters. La solution : testdisk On installe testdisk: sudo apt-get install testdisk et on le lance : sudo testdisk Voici ensuite les étapes à suivre dans l'interface sommaire de testdisk : → Create a new log file[ choisir le disque qui correspond à la carte SD dans la liste ]→ Intel/PC partition→ Advanced[ choisir la partition ]→ Boot→ Repair FAT[ accepter la configuration par défaut et sélectionner Write]→ appuyez sur (Q)uit jusqu'à sortir de l'application. Et voilà! Quelques secondes plus tard la carte peut de nouveau être montée. Je précise que toutes les données présentes sur la carte avant l'opération sont toujours là, rien n'a été perdu. A garder sous le coude au cas où cela recommencerait. --- ### Concert de Therapy? au Hellfest 2014 - **URL**: https://www.skyminds.net/concert-de-therapy-au-hellfest-2014/ Cela fait 25 ans que Therapy? prescrit à un public fidèle son ordonnance musicale très personnelle : à la croisée du metal, du punk et d’un rock plus traditionnel et mélodique, le groupe originaire d’Irlande du Nord se targue de « soigner les âmes en peine » depuis ses débuts. Voici le concert du Hellfest du 20 juin 2014 : https://www.youtube.com/watch?v=XBgQWa83q_M Un nouvel album est attendu pour la fin de l’année. --- ### Hellfest 2014 : compte-rendu du festival - **URL**: https://www.skyminds.net/hellfest-2014-compte-rendu-festival/ Cette année encore, je suis allé au Hellfest, dans les vignes de Clisson et comme l'année dernière, cela a dépoté. Day 1 : vendredi Sitôt mes cours terminés, j'abandonne mon sac de cours dans la salle des professeurs et me change rapidement dans le parking du collège. Adieu l'uniforme, symbole de l'aliénation et de l'asservissement. Je me retrouve enfin dans mes vrais vêtements, en l'occurrence un short et un t-shirt de Dream Theater. Je prends la route direction Clisson et me retrouve assez vite englué dans la foule de festivaliers qui tentent de rejoindre le site. A peu près une heure de bouchons, cul à cul avec la voiture de devant. Les gens se sont garés n'importe comment : sur le petit édifice d'un rond-point, sur les bandes d'arrêt d'urgence, dans les champs... c'est un peu l'anarchie question parking. Question camping aussi d'ailleurs, les tentes sont plantées dans des endroits insolites, au bord de la route ou devant le parking d'entreprises. Bivouac Parking numéro 2 complet, dommage, je ne vais pas pouvoir retrouver mes potes de bivouac de l'année dernière. Je suis les indications des volontaires et me retrouve au parking numéro 3, le plus éloigné du site mais aussi le plus tranquille. Je lance la tente à côté de la voiture, gonfle le matelas, installe le duvet et l'oreiller, me badigeonne de crème solaire puis prépare mon sac de concert : eau, crème solaire, petite polaire pour le soir. Je m'ouvre une bière pour la route, c'est parti pour le Hellfest 2014 ! Welcome to Hell City Il fait une chaleur étouffante mais j'ai la chance de tomber sur la navette qui prend les festivaliers du parking pour les emmener sur le site. Cinq minutes de mini-bus et deux euros plus tard, je passe les portes du Hellfest et cours obtenir le fameux sésame qui ceindra mon poignet pendant ces trois jours. La place de Hell City est noire de monde : il y a les boutiques du Market et de l'Extreme Market où l'on peut trouver t-shirts, pulls, vestes, accessoires, albums en tous genres. Il y a aussi une boutique de tatouage qui tourne à plein régime, un stand où des gens sont capables de jouer la rythmique et les solos de chansons demandées par le public (c'est très impressionnant d'ailleurs!), le stand Doc Martens où l'on peut obtenir des paires de Doc complètement customisées... Les concerts Allez, encore quelques minutes de queue, une petite fouille - on a le droit aux bouteilles d'eau dans le sac (et ça, c'est salvateur dans le champ de poussière!). A nous le temple du métal ! Et hop, on enchaîne avec les concerts. J'arrive au milieu du concert de Powerman 5000, qui me met un peu dans l'ambiance. C'est à ce moment-là que je me rends compte que j'ai laissé mes bouchons d'oreille dans la voiture. Le FAIL. Heureusement, ils en distribuent gratuitement à un stand près de la restauration en face du main stage. Ensuite, on enchaîne avec M.O.D (Mother... --- ### WordPress : héberger les images sur un sous-domaine - **URL**: https://www.skyminds.net/wordpress-images-sous-domaine/ Cela fait des années que je parle d'héberger les images du site sur un sous-domaine mais j'ai toujours remis cela à plus tard. Je pensais que la configuration me prendrait un temps infini mais au final cela ne m'aura pris qu'un peu de réflexion et quelques minutes pour tout finaliser. Le plus long aura été d'écrire ce tutoriel! Aujourd'hui, c'est chose faite : les images des articles du site sont donc placées sur un sous-domaine pour des raisons de performances. Voici donc un petit tutoriel qui détaille toutes les étapes. Cela prend environ 20 minutes. Principe de fonctionnement Les fichiers du site sont présentement servis par Apache. Le domaine est skyminds.net et nous allons créer un sous-domaine, qui est en fait un répertoire au niveau de l'arborescence du site, qui contiendra toutes les images de nos articles. Par défaut, WordPress place tous les fichiers uploadés via l'interface d'administration dans /wp-content/uploads. Nous allons donc créer un sous-domaine (static.skyminds.net) qui pointera vers le répertoire /wp-content/uploads. L'intérêt est que nous n'avons pas à copier ou à déplacer de fichiers. Cela permet aussi de revenir à une installation plus classique à tout moment, sans intervention majeure. Une fois ce VirtualHost créé, il ne reste plus qu'à modifier les options de WordPress pour les futurs articles et changer les anciennes URI des images dans les anciens articles. P our finir, nous redirigerons les anciennes URI vers les nouvelles via .htaccess. Etape 1 : on crée le sous-domaine sur le serveur Apache Commençons par créer un nouveau VirtualHost pour notre sous-domaine: nano /etc/apache2/sites-available/static.skyminds.net et ajoutons-y ceci : ServerAdmin webmaster@localhost DocumentRoot /home/skyminds/public_html/wp-content/uploads ServerName static.skyminds.net ErrorLog /var/log/apache2/www-error.log AllowOverride None RequestHeader unset Cookie Header unset Set-Cookie Options FollowSymLinks Order allow,deny Allow from all Plusieurs choses sont importantes à noter dans ce fichier de configuration Apache: DocumentRoot pointe vers le répertoire /home/skyminds/public_html/wp-content/uploadson retire tous les cookies servis par static.skyminds.net Pas de cookies, pas de soucis et un site qui gagne en rapidité ! Etape 2 : modification du chemin des nouvelles images uploadées par WordPress Pour cela, nous installons le plugin WP Original Media Path. Dans les options du plugin (ou dans Settings > Media), on modifie le chemin complet des images : Store uploads in this folder : wp-content/uploads Full URL path to files : https://www.skyminds.net/wp-content/uploads Voici la capture d'écran en utilisant le plugin : Toutes les nouvelles images insérées dans nos nouveaux articles auront comme donc une adresse qui commence par https://www.skyminds.net/wp-content/uploads Etape 3 : on remplace les anciennes URL par les nouvelles dans MySQL Pour les anciens articles par contre, il va falloir modifier le chemin de toutes les images pour le remplacer par le nouveau sous-domaine. Pour les articles, il suffit de lancer cette requête : UPDATE wp_posts SET post_content = REPLACE(post_content,'https://www.skyminds.net/wp-content/uploads/','https://www.skyminds.net/wp-content/uploads/'); et pour la bibliothèque de média : UPDATE wp_posts SET guid = REPLACE(guid,'https://www.skyminds.net/wp-content/uploads/','https://www.skyminds.net/wp-content/uploads/'); Etape 4 : on redirige les requêtes vers les nouvelles URL via .htaccess Comme le site est indexé depuis belle lurette, il faut maintenant rediriger les anciennes images vers leurs nouvelles... --- ### Monkey3 – Icarus - **URL**: https://www.skyminds.net/monkey3-icarus/ Monkey3 est un groupe de stoner-rock/rock progressif qui vient de Lausanne (Suisse), composé de Picasso Kevin à la basse (depuis janvier 2014), Walter à la batterie, Boris à la guitare et dB aux claviers. Fondé en 2003, Monkey3 participe maintenant à des festivals tel le Hellfest et l'itinérant Up In Smoke Vol.4 à travers l'Europe. En 2013, le groupe signe avec le label Napalm Records/Spinning Goblin. Voici un petit chef d'oeuvre, Icarus, issue de leur album "The 5th Sun" : https://www.youtube.com/watch?v=U6j7E31nnQM C'est vibrant et ça me fait imaginer toute une histoire derrière la musique. J'adore! Je suis un peu déçu de ne les avoir découvert qu'après leur passage à Nantes... ce sera pour une prochaine fois. Site officiel de Monkey3. --- ### Histoire des Arts with Mister B. : Olga - **URL**: https://www.skyminds.net/histoire-des-arts-with-mister-b-olga/ Aujourd'hui, je fais partie du jury de l'épreuve Histoire des Arts (connue sous le doux nom de HdA), qui compte autant qu'une des épreuves finales du Brevet (aka Diplôme National du Brevet ou DNB). Lors de cette épreuve orale (5 minutes d'exposé, 10 minutes d'entretien), le candidat doit montrer qu'il a travaillé ses sujets d'études et qu'il est capable de mettre en relations des oeuvres d'art diverses, venant de disciplines différentes (histoire, littérature, peinture, musique...). Je vous présente Tom, l'un de nos champions du jour : Un culot de commissaire et une nonchalance totale. Ma collègue a frisé la crise d'apoplexie. --- ### I Am Waiting For You Last Summer – In Eternal Lines - **URL**: https://www.skyminds.net/i-am-waiting-for-you-last-summer-in-eternal-lines/ I Am Waiting For You Last Summer est un groupe russe fondé en 2011 et qui joue de la musique electro, post-rock, instrumentale et expérimentale. Voici leur album In Eternal Lines, sorti en octobre 2013 : --- ### Un volontaire pour réciter le cours? - **URL**: https://www.skyminds.net/quand-tu-demandes-aux-eleves-qui-veut-reciter-le-cours/ Quand tu demandes aux élèves qui veut réciter le cours, que tout le monde baisse les yeux et que le malaise s'installe dans la classe. Ah, l'école ! Ce royaume intemporel où les jeunes esprits s'épanouissent, et où parfois, ils se réfugient derrière des regards fuyants pour échapper à l'interrogation. Qui n'a pas connu cette scène ? En tant que professeur, je suis témoin quotidien de cette comédie humaine, un tableau vivant d'élèves devenant soudainement fascinés par leurs cahiers, leurs stylos, ou même une invisible particule dans l'air, dès que je lance ma fameuse question : « Qui veut bien réciter le cours ? ». Il y a quelque chose de presque poétique dans ce ballet de regards qui plongent et de corps qui se ratatinent. C'est un langage universel, compréhensible par tous les enseignants à travers le monde. Chaque pupitre devient une forteresse, chaque élève un stratège, calculant le meilleur angle pour se rendre invisible. Mais derrière cette scène, souvent amusante pour nous les enseignants, se cache une réalité plus profonde. Ces regards baissés sont le symptôme d'une peur, celle de l'échec, du jugement, ou simplement de prendre la parole en public. Notre société valorise tellement la réussite et la performance que l'erreur est devenue un monstre sous le lit, un épouvantail dans le champ de l'estime de soi. Dans ce contexte, notre rôle d'enseignant va bien au-delà de la simple transmission de connaissances. Il s'agit de cultiver un environnement où l'erreur n'est pas une fin, mais un tremplin, où chaque faux pas est une opportunité d'apprentissage. Rappelons-nous que les grands esprits de notre histoire n'ont pas atteint leurs sommets sans trébucher à plusieurs reprises. Pour briser cette barrière invisible de l'anxiété et de l'appréhension, il faut d'abord comprendre nos élèves. Chacun d'eux est un univers complexe, avec ses propres peurs, ses propres rêves. Certains ont peut-être vécu des expériences désagréables lorsqu'ils ont pris la parole en public, tandis que d'autres manquent peut-être tout simplement de confiance en eux. Il est donc crucial de créer une atmosphère de classe où la bienveillance prime. Un environnement où les élèves savent qu'ils peuvent se tromper sans risque de moquerie ou de réprimande. Cela nécessite de notre part, en tant qu'éducateurs, une dose de patience, d'empathie, et un brin de créativité. Pourquoi ne pas transformer cette demande de récitation en une activité plus engageante ? Par exemple, en organisant des jeux de rôles où chaque élève peut jouer un personnage de l'histoire ou de la leçon. Ou encore, en intégrant des techniques d'apprentissage coopératif où les élèves travaillent en petits groupes, se soutenant et s'encourageant mutuellement. Il est également important de reconnaître et de valoriser les efforts de chacun. Un mot d'encouragement, un sourire, ou simplement un signe de reconnaissance peut parfois faire des miracles sur la confiance d'un élève. Rappelons-nous que l'éducation n'est pas seulement une question d'intellect, mais aussi et surtout d'émotion. En fin de compte, le défi n'est pas seulement d'enseigner le curriculum, mais de préparer ces jeunes esprits... --- ### Jimmy Page and Robert Plant – Babe I’m Gonna Leave You (live in Paris 1998) - **URL**: https://www.skyminds.net/page-plant-babe-im-gonna-leave-you/ Voici une magnifique version de "Babe I'm Gonna Leave You" par Jimmy Page et Robert Plant, filmée le 10 décembre 1998 à Paris - dans le cadre de la tournée promo de l’album "Walking Into Clarksdale". https://www.youtube.com/watch?v=UNwp-zq_XGo Les deux musiciens de Led Zeppelin partagent alors la scène avec Peter Gabriel, Youssou N'Dour, Radiohead, Shania Twain ou encore Bruce Springsteen, tous réunis pour un concert événement organisé afin de récolter des fonds pour Amnesty International. Lors de cette soirée, Page et Plant rejouent quelques standards de Led Zeppelin (six chansons au total) - dont notamment cette superbe version de "Babe I’m Gonna Leave You", un titre folk écrit par Anne Bredon et qui avait été popularisé par Joan Baez avant d'être repris magnifié et électrifié sur le premier album éponyme de Led Zeppelin en 1969. --- ### Mad Dogs saison 4 : The Finale - **URL**: https://www.skyminds.net/mad-dogs-saison-4-the-finale/ Voici la quatrième et ultime saison de Mad Dogs, composée de seulement deux épisodes, diffusée sur Sky1. Intitulée "Mad Dogs : The Finale", cette dernière saison est donc la fin du périple pour Woody (Max Beesley), Quinn (Philip Glenister), Baxter (John Simm) et Rick (Marc Warren). Tout a commencé quand ce groupe d’amis s’est rendu à Majorque (saison 1) pour célébrer la retraite anticipée du cinquième de la bande. Ces vacances se sont transformées en cauchemar pour le groupe qui s’est retrouvé alors mêler à une affaire qui les dépassait où se mêlaient flics corrompus, drogues meurtres, chantages. Cela les a entrainés à Ibiza (saison 2), puis en Afrique (saison 3). Pour cette ultime saison, le groupe d'amis retourne enfin en Angleterre, mais il leur est impossible de reprendre une vie normale. Quand Rick pense avoir trouvé une solution financière, il va de soi que cela ne va pas tourner rond. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### « Je crois que la torture est très efficace et qu’il faut s’en servir » déclare Auguste, premier empereur de Rome - **URL**: https://www.skyminds.net/la-torture-est-tres-efficace-auguste-premier-empereur-rome/ Mode d'emploi : construisez un taureau de bronze grandeur nature, allumez un feu en dessous, et enfin, jetez dans le creux de son ventre la personne dont vous souhaitez obtenir un aveu. Et hop, simple et efficace ! Tel est le fonctionnement du "taureau de Phalaris", ingénieusement inventé dans l'Antiquité. Le taureau de Phalaris, Pierre Woeiriot, XVIè s. La torture et la persécution des Chrétiens dans la Rome Antique Si le sujet vous intéresse, ou tout simplement, si vous avez un moment devant vous en métro, en voiture, ou ailleurs, vous serez surpris par cette émission sur la torture dans l'Antiquité. Elle est captivante, bien construite et explique de manière pertinente les modalités et utilisations de la torture dans le passé... "Un sujet dépassé !" pourriez-vous rétorquer. Si seulement ! Le sujet est brillant de modernité et, dans un contexte où Amnesty International vient de montrer que la torture est aujourd'hui encore en plein essor, voici une émission qui a de quoi faire se dresser nos cheveux sur nos têtes... Dans l'épisode d'aujourd'hui, Jean-Noël Jeanneney nous fait plonger dans une thématique grave : les méthodes de torture de l'époque romaine ancienne. Cette question, bien que lointaine, trouve un écho alarmant dans notre actualité. D'après les récentes révélations d'Amnesty International, la torture est malheureusement en augmentation, identifiée dans 141 pays à travers le monde. Ce constat est d'autant plus inquiétant que 79 des 155 pays ayant adhéré à la Convention des Nations Unies contre la torture en décembre 1984, laquelle repose sur les principes de la Déclaration universelle des droits de l'Homme de 1948, sont concernés. Amnesty International souligne par ailleurs que dans certains pays, dont les États-Unis, la lutte contre le terrorisme semble avoir banalisé l'usage de la torture, une réalité parfois glorifiée par des séries télévisées populaires comme « Homeland » ou « 24 heures chrono ». La pratique de la torture interroge profondément chaque société, révélant ses contradictions, sa philosophie sur l'humanité et ses droits, ses croyances religieuses et, au sens le plus large, son éthique. Yann Rivière, éminent spécialiste en histoire ancienne et maître de conférences à l’Ecole des hautes études en sciences sociales, ancien responsable à l’Ecole française de Rome, a exploré cette thématique dans son livre intitulé « Le cachot et les fers : Détention et coercition à Rome ». Il cite en exergue dans son travail une phrase d'Edgar Poe, qui résonne étrangement avec notre sujet : « Il se racontait sur ces cachots d’étranges choses – je les avais toujours considérées comme des fables – mais cependant si étranges et si effrayantes, qu’on ne pouvait les répéter qu’à voix basse ». Programmation sonore : Chanson « Le politique » de Boris VIAN et Albert ASSAYAG, interprétée par MOULOUDJI en 1974. Témoignage de Nizar SASSI au micro de Xavier PESTUGGIA, dans le cadre de l’émission Cosmopolitaine de Paula JACQUES, sur France Inter, le 21 mai 2006. Extrait d’un cours d’André AYMARD sur l’esclavage,le 14 mai 1958 sur les ondes de la RTF. Témoignage de... --- ### Kings Of Leon – Back Down South - **URL**: https://www.skyminds.net/kings-of-leon-back-down-south/ Il fait beau et la température qui augmente progressivement est annonciatrice de l'été. Cela me fait penser à Back Down South des Kings of Leon : https://www.youtube.com/watch?v=DBOuqyqmtJk Le clip a été tourné par Casey McGrath à Nashville,TN et dans l'Hampshire, TN et est une ode à leur mode de vie country. A retrouver sur l'album Come Around Sundown (2010). --- ### On your woman driving your car - **URL**: https://www.skyminds.net/on-your-woman-driving-your-car/ Si, de temps à autre, il vous arrive de laisser votre femme/copine/mère (rayez les mentions inutiles) conduire votre voiture et que votre réaction pendant tout le trajet se résume à ceci : ... alors vous n'êtes pas seul ! Anyone ? --- ### Lovett – Eye of the Storm - **URL**: https://www.skyminds.net/lovett-eye-of-the-storm/ Un petit peu de steampunk dans ce clip pour la chanson Eye of the Storm de Lovett : https://www.youtube.com/watch?v=H1mX8ptsmBM Cela me permet de parler un peu du mouvement steampunk, qui est au départ un genre littéraire dont l'intitulé a été forgé par allusion au cyberpunk par l'auteur K. W. Jeter à titre de boutade. Pour cette raison, il est parfois plus approprié de parler de « rétrofuturisme » pour désigner le mouvement. L'expression steampunk, ("punk à vapeur" littéralement) est un terme inventé pour qualifier un genre de littérature né à la fin du XXe siècle, dont l'action se déroule dans l'atmosphère de la société industrielle du XIXe siècle. Le terme fait référence à l'utilisation massive des machines à vapeur au début de la révolution industrielle puis à l'époque victorienne. Aujourd'hui le steampunk est considéré comme un esthétisme pouvant intéresser à la fois des œuvres littéraire fantastique, de fantasy, d'anticipation et certains sous-genres de la science-fiction. --- ### English : guide to good writing - **URL**: https://www.skyminds.net/english-how-to-write-good-by-frank-l-visco/ My several years in the word game have learnt me several rules: A writer must not shift your point of view. A writer should not alienate half his readers by using gender-specific language. Also, always avoid annoying alliteration. Always pick on the correct idiom. Analogies in writing are like feathers on a snake. And don’t start a sentence with a conjunction. Avoid clichés like the plague – they’re old hat. Avoid trendy locutions that sound flaky. Be careful to use the rite homonym. Be more-or-less specific. Contractions aren’t necessary, and shouldn’t be used. DO NOT use all caps for emphasis. Do not use hyperbole; not one in a million can do it effectively. “Do not use unattributed quotations.” Don’t be redundant; don’t use more words than necessary; it’s highly superfluous. Don’t indulge in sesquipedalian lexicological constructions. Don’t never use no double negatives – that’s a no-no! Don’t overuse exclamation marks!!!!! Don’t repeat yourself, or recapitulate what you have said before. Eliminate quotations. As Ralph Waldo Emerson said, “I hate quotations. Tell me what you know.” Eschew ampersands & abbreviations, etc. Eschew obfuscation. Everyone should be careful to use a singular pronoun with singular nouns in their writing. Exaggeration is a million times worse than understatement. Foreign words and phrases are no longer de rigueur; French is so passé. Go around the barn at high noon to avoid colloquialisms. If any word is improper at the end of a sentence, a linking verb is. Indubitably, you should employ the vernacular. It behoves thee to be abstentious of archaic expressions. Never use a big word when a diminutive alternative would suffice. No sentence fragments. One should never generalise. One-word sentences? Eliminate. Always! Parenthetical remarks (however relevant) are unnecessary. Parenthetical words however must be enclosed in commas. Place pronouns as close as possible, especially in long sentences of ten or more words, to their antecedents. Placing a comma between subject and predicate, is not correct. Prepositions are not words to end a sentence with. Proofread carefully to see if you any words out. Puns are for children, not groan adults. Remember to never split an infinitive. Subject and verb always has to agree. Take the bull by the hand and avoid mixing metaphors. The passive voice is to be avoided. Understatement is always absolutely the most fantastic and best way to promote earth-shattering ideas. Use an apostrophe in it’s proper place, but omit it when its not needed. Use words correctly, irregardless of how others use them. Using euphemisms is ill-advised; they should be consigned to the sanitary landfill. Who needs rhetorical questions? Writing carefully, dangling participles must be avoided. -- Written by Frank L. Visco and originally published in the June 1986 issue of Writers' Digest. --- ### Coup de cœur : Pegasus Actual - **URL**: https://www.skyminds.net/coup-de-coeur-pegasus-actual/ Pegasus Actual est un groupe de blues-rock qui vient de Memphis et qui est influencé par le Delta blues. Randy McFarland et JoJo Jefferies se sont associés pour créer un son fusion qui sonne comme le carrefour de musiques américaines : le jeu de guitare aérien de Randy McFarland colle tout à fait avec la voix chaude de Jo Jo Jeffries. Cela crée un son assez changeant, qui verse dans le blues-rock jusqu'à presque basculer dans le rock-progressif de Pink Floyd à certains moments. https://www.reverbnation.com/pegasusactual/playlist/-4 Le groupe se compose de JoJo Jefferies (vocals), Randy McFarland (guitars), Dennis Cupp (bass), Kenny Long (keyboards) et Rick Shelton (drums). Pegasus Actual a été à l'honneur de l'émission spéciale "Guitar Greats" de BBC Radio 2 le 13 octobre 2008. Le groupe passe presqu'exclusivement sur les ondes des radios indépendantes en Europe, aux Etats-Unis et en Australie. Recommandé ! --- ### Ubuntu : associer une clé bluetooth avec des enceintes bluetooth Novodio PureSound - **URL**: https://www.skyminds.net/ubuntu-bluetooth-cle-enceintes/ Pour mon anniversaire, j'ai eu la bonne surprise de découvrir mon cadeau : des enceintes Bluetooth Novodio PureSound, pour écouter de la musique ou des podcasts dans le salon sans pour autant rester planté devant l'ordinateur du bureau. J'ai récupéré une vieille clé bluetooth. Je la branche, elle est détectée instantanément sous Ubuntu sans avoir à installer de pilotes additionnels. Génial. Etape 1 : installation des paquets bluetooth Pour commencer, j'avais enlevé il y a quelques années tous les pilotes et applications relatifs à bluetooth, étant donné que je n'avais rien sur cette machine qui disposait de cette technologie. Du coup, il me faut réinstaller le paquet gnome-bluetooth sudo apt-get install gnome-bluetooth Etape 2 : établir une connexion permanente Mettez l'enceinte sous tension et appuyez sur le gros bouton broadcast au dos de l'appareil pour qu'il puisse être détecté. On lance le scan des appareils Bluetooth à portée : hcitool scan Résultat: Scanning ... DC:2C:26:10:09:8D Novodio PureSound Notre enceinte bluetooth Novodio PureSound est bien détectée. hcitool nous donne également son adresse MAC, que nous allons ajouter à notre configuration : sudo nano /etc/bluetooth/hcid.conf et on ajoute les informations relatives à notre enceinte : device DC:2C:26:10:09:8D { name "Novodio PureSound" auth enable; encrypt enable; } et on redémarre le service bluetooth sudo service bluetooth start Il existe une manière plus graphique d'ajouter l'enceinte : il suffit de cliquer sur Applications > Outils Système > Paramètres Systèmes > Bluetooth. Vous obtenez alors cette interface : Et vous pouvez gérer la configuration de l'enceinte. Etape 3 : activer et désactiver le son vers l'enceinte Dans la barre utilisateur d'Ubuntu, il suffit de cliquer sur l'icône bluetooth et de sélectionner l'enceinte puis de l'activer ou de la désactiver : Et voilà, à vous la musique de l'ordinateur dans le salon ! Voir Synology : corriger “rsync permission denied” sur Amazon --- ### YES – Soon (live, 1975) - **URL**: https://www.skyminds.net/yes-soon-live-1975/ Voici une version live de YES interprétant Soon en 1975 : https://www.youtube.com/watch?v=0pNm2VqLPx4 On peut retrouver cette chanson magnifique sur l'album Relayer de 1974, un album devenu un des classiques de YES, fabuleux groupe de rock progressif. A l'époque, Patrick Moraz remplace Rick Wakeman aux claviers. Voir Synology : corriger “rsync permission denied” sur Amazon Avec un son proche de Genesis à l'époque, Relayer est devenu une référence du genre avec son extravagance musicale, la guitare virtuose de Steve Howe, et le timbre particulier de la voix de Jon Anderson, qui est une véritable invitation à la rêverie. Chaudement recommandé. --- ### Prey saison 1 - **URL**: https://www.skyminds.net/prey-saison-1/ ITV vient de diffuser Prey, une série "chasse à l’homme". Scénarisée par Chris Lunt, Prey est une série en seulement trois épisodes qui met en scène John Simm dans la peau du DS Marcus Farrow, un policier accusé à tort du meurtre de sa femme et de son fils. Marcus va prendre la fuite, et cela va aboutir à jeu de chat et de souris dans la ville de Manchester, alors qu’il va tenter de retrouver son autre enfant et prouver son innocence. Rosie Cavaliero, Craig Parkinson, Anastasia Hille et Adrian Edmondson font aussi partie du casting. A regarder en version originale : Voir Synology : corriger “rsync permission denied” sur Amazon --- ### dEUS – Instant Street - **URL**: https://www.skyminds.net/deus-instant-street/ Voici le groupe de rock belge dEUS, interprétant Instant Street au festival Rock en Seine en 2012 : https://www.youtube.com/watch?v=9yel4INWfWA J'adore cette chanson ! --- ### WordPress : accorder les bonnes permissions aux fichiers et dossiers avec chown et chmod - **URL**: https://www.skyminds.net/wordpress-bonnes-permissions-chown-chmod/ Il est primordial d'accorder les bonnes permissions aux fichiers et dossiers d'un site sur un serveur web. Si ces permissions sont trop permissives, l'administrateur du site s'expose à la compromission du site, voire du serveur. Sous WordPress, c'est la même chose : les fichiers et dossiers du site doivent avoir les bonnes permissions. Le problème : des permissions trop larges Sur le site, j'ai eu pendant trop longtemps un problème avec les fichiers et répertoires de thèmes ou de plugins. Je m'explique : à chaque fois qu'un plugin voulait créer des fichiers (dans un répertoire /cache par exemple), la seule solution était de mettre les permissions de ce répertoire à 777, le mal absolu puisque cela permet au monde entier de lire, écrire et exécuter des fichiers dans ce dossier. Pour les fichiers de thèmes éditables par WordPress, il fallait que leurs permissions soient à 666, ce qui là aussi posait un gros souci de sécurité. Voici donc un tuto pour apprendre comment mettre les bonnes permissions à vos fichiers et dossiers pour votre site, qu'il tourne sous WordPress ou non. Étape 1 : définir le bon propriétaire et groupe pour les fichiers Les fichiers du site doivent appartenir au propriétaire et au groupe qui les fait tourner. En règle générale; les serveurs de fichiers (comme Apache ou NginX) ont comme propriétaire www-data et comme groupe groupe www-data. Dans mon cas, ayant installé les fichiers via SSH, les fichiers étaient détenus par l'utilisateur root. Je crée donc un nouvel utilisateur pour mon site: adduser caddy www-data Je vais donc assigner à l'utilisateur caddyet au groupe www-data la permission d'être propriétaire de mes fichiers, avec la commande chown. Pensez à changer caddypour le nom de votre utilisateur web ou FTP. chown (change owner en anglais) est utilisé de manière récursive (-R) et associe au propriétaire www-data du groupe www-data tous les fichiers du répertoire /home/skyminds/public_html qui contient les fichiers du site. Le fichier wp-config.php Le fichier wp-config.php doit être possédé par caddy:www-data: chown caddy:www-data /home/skyminds/public_html/wp-config.php Le dossier /public_html Le dossier /public_html doit lui aussi être possédé par caddy:www-data: chown -R caddy:www-data /home/skyminds/public_html Le dossier /wp-content et le cache FastCGI Le dossier /public_html/wp-content doit lui aussi être possédé par www-data:www-datapour permettre l'upload de fichiers: chown -R www-data:www-data /home/skyminds/public_html/wp-content On donne les mêmes droits pour le cache FastCGI de NginX: chown -R www-data:www-data /home/nginx-cache/* Étape 2 : chmod, quelques explications chmod (change mode en anglais) est une commande qui sert à changer les permissions de lecture, d'écriture et d'exécution d'un fichier ou d'un dossier, soit en mettant plus de droits sur la cible indiquée, soit en enlevant. Il existe 3 différentes types d'utilisateurs qui peuvent accéder à vos fichiers : Owner – c'est vous ou quiconque possède les droits administrateur sur le serveur.Group – un groupe de gens identifiés et reconnus par l'administrateur.Public – le reste du monde. A ces 3 catégories d'utilisateurs s'ajoutent 3 différentes sortes d'accès/droits/permissions qu'il faut configurer : Read – droit de lire le fichier.Write – droit d'écrire et... --- ### 24 saison 9 : Live Another Day - **URL**: https://www.skyminds.net/24-saison-9-live-another-day/ Jack is back !!! Jack Bauer nous revient pour une neuvième saison de 24 intulée Live Another Day - raccourcie puisqu'elle ne comportera que 12 épisodes - sur la chaîne Fox. Quatre ans après avoir disparu et toujours considéré comme un traitre par son pays, Jack Bauer se trouve à Londres. Lorsqu’une tentative d’assassinat contre le Président américain est planifiée sur le sol britannique, Jack est prêt à tout pour la stopper - même s’il est lui-même considéré comme un traitre et recherché comme l'ennemi public numéro un. Jack a seulement douze heures devant lui pour sauver le Président américain et peut-être même le monde par la même occasion. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Linux : renommer des fichiers en masse avec Thunar Bulk Renamer - **URL**: https://www.skyminds.net/linux-renommer-fichiers-thunar-bulk-renamer/ Renommer trois fichiers à la main, ça va. Renommer trois cents photos de vacances, des captures d’écran, des exports clients ou des fichiers audio mal nommés, c’est déjà moins bucolique. Sous Linux, Thunar Bulk Renamer, ou Thunar Renommer en masse en français, reste l’un des outils graphiques les plus simples pour renommer plusieurs fichiers à la fois. Thunar est le gestionnaire de fichiers de l’environnement Xfce. Son outil de renommage en masse peut aussi s’utiliser sur d’autres environnements Linux, comme GNOME, Cinnamon, MATE ou KDE, tant que le paquet thunar est installé. Pourquoi utiliser Thunar Bulk Renamer ? Thunar Bulk Renamer permet de renommer une liste de fichiers sans passer par une commande shell complexe. C’est pratique quand vous voulez voir le résultat avant de valider. L’outil permet notamment de : remplacer une partie du nom des fichiers ; insérer du texte au début ou à la fin du nom ; supprimer des caractères ; changer la casse ; ajouter une numérotation ; insérer une date ou une heure ; utiliser des recherches et remplacements plus avancés. Son gros avantage tient dans son aperçu : vous voyez les anciens noms et les nouveaux noms avant d’appliquer le changement. Pour éviter de transformer un dossier entier en catastrophe typographique, c’est assez appréciable. Installer Thunar Bulk Renamer sous Ubuntu et Debian Sur Ubuntu, Debian, Linux Mint et les distributions dérivées, installez Thunar avec apt : sudo apt update sudo apt install thunar Le renommage en masse fait partie de Thunar. Il n’est donc généralement pas nécessaire d’installer un paquet séparé. Sur Xubuntu, l’outil est normalement déjà présent, puisque Thunar est le gestionnaire de fichiers par défaut. Lancer Thunar Bulk Renamer Vous pouvez lancer l’outil de plusieurs manières. Depuis Thunar Ouvrez Thunar. Sélectionnez au moins deux fichiers. Appuyez sur F2. Choisissez l’action de renommage souhaitée. Vous pouvez aussi passer par le menu de Thunar : Édition > Renommer en masse. Depuis le terminal La commande moderne et courte est : Thunar -B La forme longue fonctionne aussi : thunar --bulk-rename Selon votre distribution, le binaire peut être sensible à la casse dans les exemples de documentation. En pratique, thunar --bulk-rename fonctionne souvent, tandis que la documentation Xfce met en avant Thunar -B. Créer un raccourci vers Thunar Bulk Renamer Si votre menu d’applications ne propose pas directement Renommer en masse, vous pouvez créer un lanceur personnalisé. Dans Xfce, vous pouvez ajouter un lanceur au tableau de bord : clic droit sur le tableau de bord ; choisissez Ajouter de nouveaux éléments ; ajoutez un lanceur ; renseignez une commande de lancement. Commande recommandée : thunar --bulk-rename Vous pouvez aussi utiliser : Thunar -B Pour l’icône, choisissez simplement celle de Thunar, souvent nommée org.xfce.thunar. C’est plus logique que de piquer l’icône d’un gestionnaire d’archives, même si personne ne vous dénoncera au comité des icônes. Exemple 1 : ajouter une numérotation Imaginez un dossier contenant ces fichiers : IMG_9481.jpg IMG_9482.jpg IMG_9483.jpg Vous voulez obtenir : vacances-2026-001.jpg vacances-2026-002.jpg vacances-2026-003.jpg Dans Thunar Bulk Renamer, choisissez un mode... --- ### Line of Duty saison 2 - **URL**: https://www.skyminds.net/line-of-duty-saison-2/ Voici la seconde saison de Line of Duty, diffusée sur la BBC. Un convoi de police est pris dans une violente embuscade : un témoin sous protection est grièvement blessé et trois policiers sont tués à l'exception de l'inspecteur Lindsay Denton, qui a organisé l'opération dans un délai très court et qui n'a mis au courant que son chef, Mike Dryden. Des preuves suggèrent qu'une source proche de la police pourrait avoir fuité des informations sur le parcours du convoi. Mike Dryden, chef en charge de l'unité, est chargé de mener l'enquête. Georgia Trotman mène l'interrogation et est choquée de constater que Lindsay est traitée comme un suspect par les hommes de son équipe - même ses finances sont épluchées. Lindsay est transférée au service des personnes disparues. Kate la suit jusqu'à la maison de retraite où vit sa mère et apprend qu'elle a appelé l'hôpital depuis une cabine téléphonique. Georgia et Steve foncent vers l'hôpital alors que quelqu'un est en train de tuer le témoin... Cette seconde saison a remporté l'adhésion de la critique comme du public et la BBC a d'ores et déjà commandé deux saisons supplémentaires. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Dub FX ft. CAde Anderson – Easy - **URL**: https://www.skyminds.net/dub-fx-ft-cade-anderson-easy/ Voici une reprise d'Easy des Commodores par Dub FX : https://www.youtube.com/watch?v=hP8pEcFEaAg Il y a du Sublime dans cette reprise ! --- ### Eric Sterman – Pipeline Winter 2013 - **URL**: https://www.skyminds.net/eric-sterman-pipeline-winter-2013/ Eric Sterman a filmé quelques vagues sur la côte nord du pipeline d'Oahu, à Hawaii, avec des prises de vue aériennes. Cela lui a permis de capturer quelques unes des plus belles vagues (swell) de l'hiver 2013. Jugez plutôt : https://vimeo.com/83187924 Music: Lindsey Stirling - Crystalize. Sympa, non ? --- ### Orphan Black saison 2 - **URL**: https://www.skyminds.net/orphan-black-saison-2/ Orphan Black est de retour sur BBC America pour sa seconde saison. On retrouve ainsi pour 10 nouveaux épisodes Sarah Manning et ses amies clones (toutes jouées par Tatiana Maslany), mais également de nouveaux visages : Michiel Huisman, Peter Outerbridge et Michelle Forbes sont annoncés dans des rôles récurrents. À peine Sarah vient-elle de découvrir la disparition de Mme S. et Kira qu'elle est de nouveau traquée, par la police mais aussi par des hommes qu'elle suspecte aux ordres de la pro-clone Rachel. Puisqu'Alison a signé son accord avec Dyad, seule Cosima peut l'aider. Le mystère s’épaissit autour de l’origine des clones alors que Sarah tente de retrouver sa fille et que Cosima découvre qu’elle est malade. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Installer VirtualBox sous Linux avec le dépôt Oracle - **URL**: https://www.skyminds.net/linux-installer-virtualbox-depot-oracle/ VirtualBox reste une solution simple pour lancer des machines virtuelles sous Linux. Elle permet de tester une distribution, isoler un environnement Windows, faire tourner un vieux logiciel, créer un lab réseau ou travailler sur un système invité sans toucher à l’installation principale. À l’époque, on parlait souvent du “PPA Oracle” pour installer VirtualBox sous Ubuntu. Aujourd’hui, le terme est trompeur : Oracle fournit surtout un dépôt APT officiel pour Debian, Ubuntu et distributions dérivées, ainsi que des paquets .deb à télécharger directement. Ce guide explique comment installer VirtualBox proprement sous Linux avec le dépôt Oracle moderne, sans utiliser apt-key, avec une clé dédiée, les modules DKMS, l’Extension Pack et les correctifs courants. PPA Oracle ou dépôt Oracle : quelle différence ? Un PPA est un dépôt hébergé sur Launchpad, généralement utilisé dans l’écosystème Ubuntu. VirtualBox ne s’installe pas via un PPA Oracle classique. Oracle fournit un dépôt APT spécifique, disponible à l’adresse download.virtualbox.org. La différence compte, car la méthode moderne n’utilise plus apt-key add. On ajoute plutôt la clé GPG dans /usr/share/keyrings/, puis on référence cette clé avec l’option signed-by dans le fichier de dépôt APT. C’est plus propre, plus sûr, et cela évite les avertissements liés à l’ancien trousseau global APT. Bref, moins de magie poussiéreuse dans /etc/apt. C’est toujours bon à prendre. Faut-il installer VirtualBox depuis Oracle ou depuis les dépôts Ubuntu/Debian ? Vous avez deux approches possibles. MéthodeAvantageLimiteDépôts de la distributionIntégration simple, paquets testés avec la distribution.Version parfois plus ancienne.Dépôt OracleVersion Oracle récente, Extension Pack correspondant facilement.Dépôt tiers à maintenir proprement.Paquet .deb téléchargéInstallation ponctuelle facile.Mises à jour moins pratiques. Pour un poste de travail classique, les dépôts de la distribution peuvent suffire. Pour obtenir une version VirtualBox plus récente ou suivre les versions Oracle, le dépôt Oracle est plus adapté. En revanche, évitez de mélanger les paquets VirtualBox de la distribution et ceux d’Oracle. Choisissez une source principale. Les mélanges de versions VirtualBox, DKMS et modules noyau finissent souvent par une erreur Kernel driver not installed, puis par une soirée passionnante à lire des logs. Mauvais plan. Pré-requis Avant d’installer VirtualBox, assurez-vous d’avoir : une distribution Debian, Ubuntu, Linux Mint ou dérivée compatible ; un compte avec accès sudo ; une connexion Internet fonctionnelle ; les en-têtes du noyau Linux installés ; DKMS pour reconstruire les modules VirtualBox après mise à jour du noyau ; Secure Boot désactivé ou une stratégie de signature des modules si Secure Boot reste actif. VirtualBox dépend de modules noyau. Cela signifie que l’installation ne se limite pas à une application graphique : le système doit aussi pouvoir compiler, charger et maintenir des modules comme vboxdrv, vboxnetflt ou vboxnetadp. Installer les dépendances nécessaires Sur Debian, Ubuntu ou Linux Mint, installez d’abord les dépendances utiles : sudo apt update sudo apt install ca-certificates curl gnupg lsb-release dkms build-essential linux-headers-$(uname -r) Ces paquets servent à : télécharger et vérifier la clé du dépôt Oracle ; compiler les modules VirtualBox ; reconstruire automatiquement les modules après mise à jour du noyau ; identifier le nom... --- ### Scott Bradlee ft. Dave Koz – Game of Thrones Theme (smooth jazz version) - **URL**: https://www.skyminds.net/scott-bradlee-dave-koz-game-of-thrones-theme-smooth-jazz/ Histoire de se replonger un peu dans la série Game of Thrones, voici une version smooth jazz du thème de la série, interprétée par Scott Bradlee et Dave Koz : https://www.youtube.com/watch?v=QDvt5q6bt1s The band:Dave Koz - saxAdam Kubota - bassAllan Mednard - drumsScott Bradlee - piano C'est très certainement la version la plus relaxante à ce jour. --- ### Mad Men saison 7 - **URL**: https://www.skyminds.net/mad-men-saison-7/ Et voici la dernière saison de Mad Men, diffusée sur AMC. Nous sommes en janvier 1969. C'est l'année où Nixon prête serment, où Neil Armstrong marche pour la première fois sur la lune, l'année de Woodstock, des émeutes de Stonewall et des meurtres de la famille Manson. Don rend visite à sa femme en Californie et en profite pour passer voir Pete qui lui fait visiter les locaux de l’agence. Freddy vend un concept à Peggy, mais celle-ci n’arrive pas à pousser son supérieur à l’accepter. Ken envoie Joan à sa place pour recevoir Wayne Barnes, le nouveau directeur marketing de Butler Footwear. Hors de son champs de compétence initialement, elle reçoit l'aide d'un professeur d'université qui lui donne un cours intensif en marketing et arrive à convaincre Barnes, temporairement, de ne pas laisser tomber SC&P. Pendant que Roger explore la contre-culture, sa fille Margaret lui dit qu'elle le pardonne pour toutes ses anciens méfaits à son égard, au vu de sa toute nouvelle illumination. AMC a décidé de couper la saison de quatorze épisodes en deux : les sept premiers épisodes forment "The Beginning": Voir Synology : corriger “rsync permission denied” sur Amazon Les sept épisodes restants formeront "The End of an Era": Voir Synology : corriger “rsync permission denied” sur Amazon --- ### La faille Heartbleed dans OpenSSL : mettez à jour vos serveurs - **URL**: https://www.skyminds.net/faille-heartbleed-openssl-serveurs/ Heartbleed Dans la nuit du lundi 7 au mardi 8 avril 2014, une équipe de chercheurs du Codenomicon et le chercheur Neel Mehta de Google Security ont découvert une faille dans la librairie open-source OpenSSL. OpenSSL est une librairie utilisée pour gérer la couche SSL/TLS de nombreux logiciels (serveurs webs, webmails, VPN, messagerie instantanée...). La faille, baptisée Heartbleed, est une vulnérabilité sérieuse dans le protocole d'encryption OpenSSL, utilisé pour chiffrer et sécuriser les connexions. Potentiellement, cette faille permet de dérober des données normalement chiffrées et des clés privées. Concrètement, cela signifie que toutes les données que nous avons considérées comme sécurisées ne l'étaient pas. Heartbleed affecte approximativement 66 % des serveurs du monde entier et existe depuis décembre 2011. En exploitant cette faille, un hacker peut lire 64 KB de la mémoire du système protégé par OpenSSL et ainsi voler les mots de passe, les clés de chiffrement, toutes les données qui transitent entre votre ordinateur et le serveur, et ensuite pouvoir se faire passer de manière transparente pour un service web ou un internaute... Cela ne laisse aucune trace : un PoC est disponible. Déterminer la version d'OpenSSL Toutes les versions d'OpenSSL 1.0.1 à 1.0.1f inclus sont vulnérables. Pour savoir quelle version d'OpenSSL est actuellement installées sur votre système, tapez : dpkg -s openssl | grep Version La faille a été introduit dans OpenSSL en décembre 2011 et s'est retrouvé dans la nature avec la sortie d'OpenSSL 1.0.1 le 14 mars 2012. OpenSSL 1.0.1g, sortie le 7 avril 2014, corrige Heartbleed. Un service en ligne a également été lancé pour savoir si un serveur est impacté par Heartbleed. Mettre à jour le serveur Pour patcher la faille, il faut suivre ces quelques étapes. Mettre à jour OpenSSL apt update && apt upgrade La nouvelle version d'OpenSSL qui corrige la faille est sortie le jour de l'annonce de l'existence de Heartbleed donc votre système de gestion de paquets devrait vous proposer la mise à jour. Relancer tous les services utilisant OpenSSL Lors de la mise à jour, OpenSSL dresse une liste des services qui dépendent d’OpenSSL et vous propose de les redémarrer : faîtes-le impérativement, c’est le seul moyen de patcher effectivement les services, en renouvellant leur liaison avec les nouveaux fichiers de la librairie. Le mieux est probablement de rebooter le serveur, histoire de n’oublier aucun service. Recréer un certificat SSL et regénérer un set de clés privées/publiques Les clés privées ayant pu être récupérées via la faille, le contenu de ce qui était chiffré peut être déchiffré et tout ce qui sera chiffré dans le futur avec ces mêmes clés pourra potentiellement être déchiffré aussi. Pour s’en prémunir, il vaut mieux recréer un certificat SSL et regénérer un set de clés privées/publiques. Changer les mots de passe des services impactés Il ne vous reste plus qu’à réinitialiser les mots de passe de vos utilisateurs et des services utilisant TLS qui auraient pu être récupérés. Cette dernière étape est bien sûr à faire une fois qu’OpenSSL a été mis à jour, le... --- ### Game of Thrones saison 4 - **URL**: https://www.skyminds.net/game-of-thrones-saison-4/ Nous voilà de retour dans l’univers de Game of Thrones qui a repris hier soir sur HBO. Tyrion doit accueillir le prince Doran Martell et son entourage, mais il apprend que le jeune frère de ce dernier, Prince Oberyn, a été envoyé à sa place pour le mariage. Jaime entre en conflit avec les différents membres de sa famille. Jon Snow révèle le plan d’attaque des wildings au commandant de la Night’s Watch. Daenerys se dirige avec son armée vers Meeren. Dix nouveaux épisodes vont composer cette saison 4 dont le motto est : All men must die. Voir Synology : corriger “rsync permission denied” sur Amazon A regarder en VO ! Il ne faut surtout pas rater le speech que tient Tyrion dans un des épisodes de cette saison, il est absolument incroyable. --- ### Graver un Blu-ray sous Ubuntu avec K3b - **URL**: https://www.skyminds.net/ubuntu-graver-un-disque-blu-ray-avec-k3b/ Graver un Blu-ray sous Ubuntu reste possible, même si les supports optiques ont clairement quitté le centre de la scène. Pour archiver beaucoup de données, conserver une copie hors ligne ou utiliser des disques M-DISC, un graveur Blu-ray garde pourtant un vrai intérêt. Sous Linux, K3b reste l’une des interfaces graphiques les plus confortables pour graver des CD, DVD et Blu-ray. Il s’appuie sur des outils système comme growisofs, genisoimage, wodim ou équivalents selon la distribution. Voici comment graver proprement un Blu-ray de données ou une image ISO sous Ubuntu avec K3b, comment éviter les erreurs classiques, et quand préférer la ligne de commande. Blu-ray sous Linux : de quoi parle-t-on exactement ? Avant de lancer K3b, il faut distinguer trois usages différents. UsageObjectifK3b suffit-il ?Blu-ray de donnéesArchiver fichiers, photos, vidéos, sauvegardes.Oui.Image ISOGraver une image déjà préparée.Oui.Blu-ray vidéo lisible sur platineCréer un disque avec menus, structure BDMV, codecs compatibles.Non, pas seul. Dans cet article, on parle principalement de Blu-ray de données et de gravure d’image ISO. Pour un Blu-ray vidéo de salon, il faut d’abord créer une structure Blu-ray compatible, avec les bons codecs, dossiers et métadonnées. K3b peut ensuite graver le résultat, mais il ne fait pas l’authoring à votre place. Vérifier le graveur Blu-ray Commencez par vérifier que votre machine voit bien le graveur Blu-ray. lsblk ls -l /dev/sr* Vous pouvez aussi demander les informations au noyau : dmesg | grep -Ei 'blu|bd-|dvd|cdrom|sr0' Pour un lecteur/graveur USB, vérifiez aussi qu’il est bien alimenté. Les graveurs Blu-ray externes aiment beaucoup les ports USB stables, les câbles courts et les alimentations correctes. Ils aiment beaucoup moins les hubs fatigués et les ports qui toussent. Installer K3b et les outils nécessaires Installez K3b et les outils de gravure utiles : sudo apt update sudo apt install k3b dvd+rw-tools genisoimage wodim udftools Selon votre version d’Ubuntu, certains paquets peuvent être déjà installés ou remplacés par des dépendances équivalentes. K3b utilise notamment les outils de gravure disponibles sur le système. Les discussions techniques autour de K3b rappellent souvent que la gravure Blu-ray repose notamment sur growisofs, fourni par dvd+rw-tools. :contentReference[oaicite:1]{index=1} Si vous utilisez KDE Plasma, l’intégration sera naturelle. Sous GNOME, Xfce ou Cinnamon, K3b fonctionne aussi, mais il installera quelques dépendances KDE. Ce n’est pas grave. Ce n’est pas une conversion religieuse à Plasma. Installer les codecs supplémentaires : utile ou pas ? L’ancien article recommandait des paquets liés aux codecs, à CDDB ou à la lecture DVD. Pour graver un Blu-ray de données, ils ne sont généralement pas indispensables. Pour de la simple gravure de fichiers, retenez surtout : k3b : interface graphique ; dvd+rw-tools : fournit notamment growisofs ; genisoimage : création d’images ISO/Joliet/Rock Ridge selon les cas ; wodim : outils de gravure compatibles avec plusieurs supports ; udftools : outils liés au système de fichiers UDF. Les paquets comme libdvdcss2 concernent surtout la lecture de DVD vidéo protégés. Ils ne sont pas nécessaires pour graver vos propres données sur Blu-ray. Choisir le bon disque Blu-ray Les disques Blu-ray existent... --- ### Michael Hedges – Aerial Boundaries - **URL**: https://www.skyminds.net/michael-hedges-aerial-boundaries/ Allez, après Because It's There, voici un autre classique de Michael Hedges, Aerial Boundaries : https://www.youtube.com/watch?v=YaIN13aDbCc La vidéo est extraite d'un concert à Los Angeles en juillet 1986, issue d'un DVD qui est maintenant introuvable. --- ### Stephen Bennett – Soon (YES cover) - **URL**: https://www.skyminds.net/stephen-bennett-soon-yes-cover/ https://www.youtube.com/watch?v=qUenNlQ-_ic Voici Stephen Bennett interprétant Soon du groupe de rock progressif anglais YES sur la nouvelle harpe-guitare Holloway. Stephen Bennett n'est pas un musicien ordinaire. Sa maîtrise de la harpe-guitare, un instrument fascinant, le distingue. Cet artiste a une capacité unique à repousser les limites musicales, particulièrement avec des pièces du groupe YES. Bennett est un véritable explorateur sonore, reconnu et admiré dans le monde de la musique acoustique. La harpe-guitare : un instrument unique La harpe-guitare Holloway est bien plus qu'une simple guitare. C'est un mélange sublime entre guitare et harpe, offrant une richesse sonore inégalée. Avec ses cordes supplémentaires, cet instrument permet des notes plus profondes et complexes. Imaginez la diversité des sons d'une harpe combinée à la familiarité d'une guitare. C'est une révolution dans l'univers musical, apportant une nouvelle dimension à chaque note jouée. "Soon" par YES : une reprise innovante Quand Bennett joue "Soon" de YES sur sa harpe-guitare Holloway, c'est une expérience musicale à part. "Soon", tiré de l'album "Relayer" de 1974, est un classique du rock progressif. Sur la harpe-guitare, Bennett revisite ce morceau avec une fraîcheur étonnante. Les harmonies de la harpe s'entremêlent avec les rythmes de la guitare, créant une interprétation riche et multidimensionnelle. C'est une façon audacieuse et innovante de rendre hommage à un grand classique. Une expérience musicale enrichie En somme, l'association de Stephen Bennett et de la harpe-guitare Holloway est un mariage parfait entre talent et innovation. La reprise de "Soon" n'est pas juste une simple interprétation; c'est une réinvention, une expérience musicale qui dépasse les frontières traditionnelles. Avec Bennett aux commandes, la harpe-guitare Holloway devient un instrument de découverte, ouvrant de nouveaux horizons sonores. C'est une invitation à redécouvrir les classiques sous un jour nouveau, riche en émotions et en surprises - et à comparer avec la version live de Soon de 1975. Jolie reprise et très joli son ! --- ### Test du SAV Free : le disque dur de ma Freebox Revolution a claqué - **URL**: https://www.skyminds.net/sav-free-disque-dur-freebox-revolution/ Il y a quelques jours, j'ai testé le service après vente (SAV) de Free à cause du disque dur de ma Freebox qui m'a claqué entre les doigts méchamment lâché. Disque dur défaillant Je possède depuis à peu près un an et demi une Freebox Révolution et récemment, je me suis aperçu que le disque dur ne fonctionnait pas vraiment correctement. Voici quelques symptômes notables : la disparition du disque dur dans l'arborescence FTP dans Filezilla. On dirait qu'on est dans un répertoire vierge. l'apparition d'un petit logo qui clignote sur l'écran de la télé accompagné du petit message "Le disque dur du freebox serveur n'est pas disponible" Le disque dur n'est pas visible lorsque l'on se rend sur mafreebox.freebox.fr. Les sondes ne fonctionnent pas non plus. Ce qui était étrange, c'est que de temps en temps le disque redémarrait. Le jour où il a redémarré, j'ai tenté de sauvegardé les quelques 200 Go que j'avais dessus. C'est tellement pratique de s'en servir comme d'un disque dur externe/NAS. Le lendemain, il était à nouveau dans les choux. Peu importe le nombre de fois que j'ai redémarré cette box, il n'a jamais daigné répondre. SAV de Free Par conséquent, j'ai contacté le SAV de Free par chat. Voici le transcript : [19h28] Assistance: Matt, bienvenue sur le Tchat de Free, vous êtes actuellement connecté(e) sur le salon Logistique. [19h28] Assistance: Bonsoir, Y. à votre écoute, en quoi puis-je vous aider ? [19h29] Moi: bonjour, le disque dur de ma freebox v6 n'apparait plus [19h29] Assistance: d'accord, nous allons voir cela ensemble [19h32] Assistance: je constate que le disque dur du server n'est pas détecté [19h32] Assistance: utilisez vous une multiprise électrique ? [19h33] Moi: oui avec parafoudre (mais cela fonctionnait avant) [19h35] Assistance: je vous invite à brancher la freebox directement à la prise électrique murale puis essayer d'activer le disque dur [19h37] Assistance: veuillez vérifier s'il apparaît dans mafreebox.freebox.fr après le branchement de la freebox directement [19h46] Moi: je viens de rebooter [19h47] Assistance: toujours le même souci [19h47] Assistance: je vais donc demander auprès de service concerné l'échange de votre boîtier server [19h47] Assistance: Afin de procéder au remplacement de votre matériel, je vous propose de choisir le mode d'échange. [19h47] Assistance: Soit via ChronoRelais, le nouveau matériel sera à échanger avec l'ancien dans un commerce partenaire. Vous pourrez faire l'échange à votre rythme, dans le délai de mise à disposition du colis (7 jours environ) [19h47] Assistance: Soit via UPS, le livreur récupère alors l'ancien matériel en échange du nouveau. Vous pouvez choisir l'adresse de livraison. Il faudra toutefois disposer du matériel à remplacer lorsque le livreur se présente. [19h47] Assistance: Le délai d'envoi ne change pas [19h50] Assistance: pouvez-vous m'indiquer les 6 derniers chiffres du numéro de série inscrit sous le code barre de l'étiquette située à l'arrière du boitier ADSL ? Ce numéro est également disponible sur l'étiquette de son emballage. [20h05] Assistance: pouvez-vous m'indiquer le numéro de série MAC inscrit sur l'étiquette située à l'arrière... --- ### True Detective saison 1 - **URL**: https://www.skyminds.net/true-detective-saison-1/ Voici la première saison de True Detective, qui vient d'être diffusée sur HBO. Vermilion Parish, Louisiana, 1995. Martin Hart (Woody Harrelson) et Rustin Cohle (Matthew McConaughey), deux inspecteurs, sont chargés de résoudre le meurtre d'une jeune prostituée, Dora Kelly Lange, coiffée de bois de cerfs et tatouée de dessins sataniques, dans une position de prière près d'un grand arbre solitaire. Cohle est convaincu que ce n'est pas le premier meurtre du tueur mais Hart reste sceptique. Cohle vient d'arriver dans le service et son côté mystérieux et sombre n'incite pas ses coéquipiers à lui faire confiance. Leur enquête les amène à l'affaire de Marie Fontenot, une petite fille dont la disparition 5 ans plus tôt n'a pas été élucidée. Un autre rapport mentionne une petite fille qui aurait été poursuivie dans les bois par un "monstre en spaghetti aux oreilles vertes." Dix-sept ans plus tard, Cohle et Hart sont interviewés séparement, à cinq jours d'intervalle, à propose de Dora Kelly Lange par les inspecteurs Thomas Papania (Tory Kittles) et Maynard Gilbough (Michael Potts). Hart et Cohle ne se sont pas parlés depuis 2002. On montre à Cohle la photo d'une autre fille dont le corps a été retrouvé dans une position similaire à celle de Lange. Papania et Gilbough veulent savoir comment un tueur a pu tuer de nouveau s'il a été arrêté en 1995. La série se présente comme une anthologie, chaque saison ayant un casting et une intrigue distincts. Cette saison se compose de huit épisodes. A regarder en version originale : Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Comment faire le moonwalk : technique, étapes et erreurs à éviter - **URL**: https://www.skyminds.net/guide-bon-moonwalk/ Source : https://animagraffs.com/moonwalk/ Comment faire le moonwalk : guide complet pour apprendre le pas Le moonwalk est l’un des pas de danse les plus reconnaissables au monde. Il donne l’illusion que le danseur marche vers l’avant tout en glissant vers l’arrière. Simple à comprendre, beaucoup plus subtil à maîtriser. La bonne nouvelle, c’est que le moonwalk n’est pas un tour de magie réservé à Michael Jackson. C’est une technique basée sur le transfert du poids du corps, la position des pieds, la glisse et le rythme. Une fois que vous comprenez la mécanique, le mouvement devient beaucoup plus accessible. Voici une méthode claire pour apprendre le moonwalk étape par étape, corriger les erreurs fréquentes et rendre le mouvement plus fluide. /more Qu’est-ce que le moonwalk ? Le moonwalk, aussi appelé backslide, est un pas de danse qui crée une illusion visuelle : le danseur semble avancer, mais son corps recule en glissant. Le mouvement repose sur une alternance très précise entre un pied à plat qui glisse et un pied sur la pointe qui porte le poids du corps. Le principe est simple : le pied qui porte le poids reste fixe, tandis que l’autre pied glisse vers l’arrière. Puis on inverse. C’est cette alternance qui donne l’impression d’un déplacement impossible. Michael Jackson a popularisé le moonwalk dans le monde entier, notamment lors de sa performance de Billie Jean pendant l’émission Motown 25: Yesterday, Today, Forever en 1983. Il n’a pas inventé le pas, mais il l’a rendu iconique grâce à sa précision, son contrôle et son style. Le secret du moonwalk : le transfert du poids La plupart des débutants se trompent sur un point : ils pensent que le moonwalk consiste surtout à faire glisser les pieds. En réalité, le plus important est le transfert du poids. À chaque instant, votre poids doit être principalement sur le pied qui est sur la pointe. L’autre pied, presque sans poids, peut alors glisser vers l’arrière. Si vous laissez trop de poids sur le pied qui doit glisser, il bloque. Vous forcez. Et là, le moonwalk ressemble à un meuble qu’on pousse sur du carrelage. Moins glamour. Retenez cette règle : Le pied sur la pointe porte le poids. Le pied à plat glisse. Tout le moonwalk repose sur cette alternance. Avant de commencer : chaussures, sol et posture Le moonwalk dépend beaucoup du contact entre vos chaussures et le sol. Il faut assez de glisse pour déplacer le pied, mais assez d’adhérence pour garder le contrôle. Choisir les bonnes chaussures Pour débuter, choisissez des chaussures légères avec une semelle plutôt lisse. Des baskets trop adhérentes rendent le mouvement difficile. Des chaussettes peuvent aider à comprendre la glisse sur un parquet ou un carrelage, mais elles donnent moins de contrôle. Bien : chaussures légères, semelle lisse, baskets souples. Correct : chaussettes sur parquet, pour travailler la sensation. Difficile : grosses semelles, chaussures très adhérentes, tapis épais. À éviter : sol mouillé, sol irrégulier, chaussettes sur surface glissante sans contrôle. Choisir le... --- ### Misha Mishenko – Strákur sem spilar með vindi - **URL**: https://www.skyminds.net/misha-mishenko-strakur-sem-spilar-med-vindi/ Misha Mishenko est un jeune et talentueux compositeur qui mixe les genres néoclassique, instrumental et ambient. Son premier album, “strákur sem spilar með vindi” est sorti sous le label russe Flowers Blossom In The Space et nous fait partager sa passion pour l'Islande : https://www.youtube.com/watch?v=l66rqIlceMM&list=OLAK5uy_lxysRs21J7TFRkM5JyQX4UlPJLgzRAUh8 Il vient de Moscou, en Russie, et sa musique est empreinte de ses rêves du grand Nord avec ses vallées sans fin, ses sources d'eau pure et glacée, ainsi que de volcans endormis. Toutes ses compositions sont titrées en Icelandais (comme Sigur Rós). --- ### Installer une imprimante HP Wi-Fi sur Linux Mint - **URL**: https://www.skyminds.net/linux-mint-installer-une-imprimante-hp-wifi/ Installer une imprimante HP Wi-Fi sur Linux Mint est souvent plus simple qu’avant. Dans beaucoup de cas, l’imprimante apparaît automatiquement grâce à CUPS, IPP Everywhere, AirPrint ou Mopria. Vous l’ajoutez, vous imprimez une page de test, et l’affaire est pliée. Mais parfois, évidemment, Linux et l’imprimante décident de former un petit club privé. L’imprimante est visible mais n’imprime pas. Le scanner ne répond pas. Le travail reste bloqué dans la file. Ou HPLIP vous annonce que votre version de Linux n’est pas prise en charge, alors que vous aviez simplement prévu d’imprimer une facture. Dans ce guide, nous allons installer proprement une imprimante HP Wi-Fi sur Linux Mint. Nous commencerons par la méthode moderne, sans pilote propriétaire, avec IPP Everywhere. Ensuite, nous verrons quand utiliser HPLIP, comment configurer le scanner, comment stabiliser l’adresse IP, et comment dépanner CUPS quand l’impression bloque. Avant de commencer : vérifier le réseau Wi-Fi Avant d’ouvrir les réglages Linux Mint, vérifiez que l’imprimante HP est bien connectée au même réseau que votre ordinateur. Sur l’écran de l’imprimante, ou depuis l’application HP Smart sur téléphone, contrôlez : le nom du réseau Wi-Fi ; l’adresse IP de l’imprimante ; l’état de connexion ; le niveau de signal ; l’absence de mode Wi-Fi Direct uniquement. Si votre box sépare les réseaux 2,4 GHz et 5 GHz, gardez en tête que beaucoup d’imprimantes utilisent surtout le 2,4 GHz. Elles peuvent être sur un SSID différent de votre portable. C’est le genre de détail qui fait perdre vingt minutes avec panache. Depuis Linux Mint, récupérez votre propre adresse IP : ip addr show Puis testez la connectivité avec l’imprimante : ping -c 4 192.168.1.50 Remplacez 192.168.1.50 par l’adresse IP réelle de votre imprimante. Méthode recommandée : ajouter l’imprimante en driverless IPP Les imprimantes modernes savent souvent parler IPP Everywhere, AirPrint ou Mopria. Dans ce cas, Linux Mint peut imprimer sans pilote HP spécifique. OpenPrinting indique que les imprimantes compatibles IPP Everywhere, AirPrint ou Mopria continuent de fonctionner sans pilote spécifique, tandis que les Printer Applications prennent le relais pour les modèles plus anciens. :contentReference[oaicite:1]{index=1} Depuis Linux Mint : ouvrez le menu principal ; cherchez Imprimantes ; cliquez sur Ajouter ; attendez la détection réseau ; choisissez l’entrée qui mentionne IPP, driverless, AirPrint ou IPP Everywhere ; validez ; imprimez une page de test. Si plusieurs entrées apparaissent pour la même imprimante, privilégiez généralement : IPP Everywhere ; driverless ; AirPrint ; puis seulement les anciens pilotes HP ou PPD. CUPS documente aussi l’usage du pilote everywhere pour les imprimantes réseau modernes, avec une URI IPP. :contentReference[oaicite:2]{index=2} Installer les paquets d’impression utiles Sur une installation Linux Mint normale, CUPS est déjà présent. Toutefois, si l’imprimante n’apparaît pas, installez ou réinstallez les paquets utiles : sudo apt update sudo apt install cups cups-browsed cups-filters system-config-printer avahi-daemon avahi-utils Redémarrez ensuite les services concernés : sudo systemctl restart cups sudo systemctl restart cups-browsed sudo systemctl restart avahi-daemon Vérifiez leur état : systemctl status cups --no-pager systemctl status cups-browsed --no-pager systemctl status avahi-daemon --no-pager Avahi... --- ### Michael Hedges – Because It’s There - **URL**: https://www.skyminds.net/michael-hedges-because-its-there/ Le maître du slapping et tapping acoustique, Michael Hedges, interprète Because It's There en 1986 au Wolf Trap National Park for the Performing Arts à Vienna, Virginia : https://www.youtube.com/watch?v=jN3439l4HR0 Sublime chanson. Michael Hedges est le précurseur d'un genre repris par Erik Mongrain, Kaki King, Antoine Dufour, Preston Reed, et Andy McKee... --- ### Linux : corriger l’erreur udev « failed to execute /hal/udev_event » - **URL**: https://www.skyminds.net/linux-failed-to-execute-udev-event/ Après une mise à jour Linux ou sur une vieille installation, vous pouvez tomber sur une erreur de ce type dans les logs : failed to execute '/hal/udev_event' Ou une variante plus longue : systemd-udevd: failed to execute '/lib/udev/socket:@/org/freedesktop/hal/udev_event' Ce message indique qu’une règle ou un composant udev tente encore d’appeler HAL, l’ancien Hardware Abstraction Layer. Sur une distribution moderne, c’est généralement un reliquat historique. Un vieux fantôme dans la tuyauterie matérielle. La correction consiste à identifier ce qui appelle encore HAL, puis à supprimer le paquet ou la règle obsolète. Il ne faut pas bricoler udev au hasard : c’est lui qui gère une bonne partie de la détection matérielle du système. HAL, c’était quoi ? HAL, pour Hardware Abstraction Layer, était une ancienne couche permettant aux applications de découvrir et d’utiliser le matériel : disques, périphériques amovibles, batteries, boutons, lecteurs optiques, cartes réseau et autres composants. À l’époque, HAL servait d’intermédiaire entre le noyau Linux, les périphériques et les applications de bureau. Mais son architecture monolithique a progressivement été remplacée par des outils plus spécialisés. Aujourd’hui, sur la plupart des distributions Linux, la détection dynamique des périphériques passe par udev, souvent intégré à systemd via systemd-udevd. udev, c’est quoi ? udev reçoit les événements du noyau quand un périphérique est ajouté, retiré ou modifié. Il applique ensuite des règles pour créer des nœuds dans /dev, définir des permissions, créer des liens symboliques ou déclencher certaines actions. Exemples d’événements gérés par udev : branchement d’une clé USB ; apparition d’un disque externe ; détection d’une carte réseau ; ajout d’un périphérique série ; création d’un lien stable vers un périphérique ; attribution de permissions à un périphérique précis. Sur les systèmes utilisant systemd, le service concerné est généralement : systemd-udevd.service Vous pouvez vérifier son état avec : systemctl status systemd-udevd --no-pager Pourquoi cette erreur apparaît encore ? L’erreur failed to execute /hal/udev_event apparaît généralement quand une ancienne règle udev ou un vieux paquet tente encore de notifier HAL lors d’un événement matériel. Les causes les plus fréquentes : ancienne installation mise à jour plusieurs fois ; paquet hal encore installé ; ancienne règle udev laissée dans /etc/udev/rules.d/ ; paquet tiers qui installe encore des règles historiques ; migration incomplète depuis un vieux système ; copie manuelle d’anciennes règles udev depuis un autre serveur. Sur une installation fraîche d’une distribution moderne, cette erreur ne devrait normalement pas apparaître. Étape 1 : lire les logs udev Commencez par lire les logs du service udev : journalctl -u systemd-udevd -b --no-pager Pour suivre les événements en direct : journalctl -u systemd-udevd -f Si votre distribution envoie aussi des messages dans le journal noyau, vérifiez : dmesg -T | grep -i udev Vous pouvez aussi chercher directement les traces HAL : journalctl -b --no-pager | grep -i hal Cette première étape permet de confirmer que l’erreur vient bien d’un appel à HAL, et pas d’une autre règle udev cassée. Étape 2 : vérifier si HAL est installé Sur Debian, Ubuntu ou dérivées, vérifiez... --- ### Concert de Joe Bonamassa au Grand Rex - **URL**: https://www.skyminds.net/concert-de-joe-bonamassa-au-grand-rex/ Lundi soir, je suis allé voir Joe Bonamassa au Grand Rex à Paris, en compagnie de Cécile et Julia. Métro : Bonne Nouvelle sur les lignes 8 et 9. J'étais déjà allé au Grand Rex une fois, c'était pour voir Joe Satriani en 2008. Et j'avais déjà vu Joe Bonamassa au New Morning, en 2008 également. Le concert Nous avons eu droit à un concert en deux parties : une partie acoustique et une partie électrique. Un régal pour nos cages à miel. Il est 20h, le concert commence pile à l'heure et Joe entame un set acoustique de 10 chansons. Il est au centre de la scène, entouré par 9 guitares qu'il utilisera toutes au fil des morceaux. Le set est principalement du blues acoustique. Joe est accompagné de l'irlandais Gerry O'Connor (fiddle, banjo) du groupe The Dubliners, du suédois Mats Wester (nyckelharpa, mandola), du claviériste Arlan Schierbaum, et du percussionniste légendaire Lenny Castro (qui a joué avec Eric Clapton et les Rolling Stones, entre autres). Que du talent! Stones in my Passway : https://www.youtube.com/watch?v=Hke6p4xULeM Mats Wester joue de la nyckelharpa, un instrument de musique traditionnel à cordes frottées d'origine suédoise, plus précisément de la région d'Uppland, au nord de Stockholm. Un quart d'heure de pause plus tard, revoilà Joe en compagnie de son autre groupe, beaucoup plus électrique. Django - Mountain Time : https://www.youtube.com/watch?v=_SnmUkgkFSM Midnight blues (Gary Moore cover) : https://www.youtube.com/watch?v=FJ2WFxx3mi8 Guitariste virtuose, Joe est aussi un chanteur chaleureux et un compositeur inspiré. Il est accompagné de musiciens qui sont de vraies pointures : Carmine Rojas à la basse, Derek Sherinian aux claviers, Tal Bergman aux baguettes... que du bon. Bref, un excellent concert ! Si vous avez l'occasion de le voir, foncez ! --- ### 2CELLOS – Thunderstruck (AC/DC cover) - **URL**: https://www.skyminds.net/2cellos-thunderstruck-acdc-cover/ 2CELLOS est un groupe de deux violoncellistes croates, Luka Sulic et Stjepan Hauser. Voici leur arrangement de Thunderstruck (original par AC/DC) : https://www.youtube.com/watch?v=uT3SBzmDxGk BaRock style! --- ### Paco de Lucia meurt à 66 ans - **URL**: https://www.skyminds.net/paco-de-lucia-meurt-a-66-ans/ Paco de Lucia, l'un des plus grands guitaristes de flamenco, vient de s'éteindre. Le guitariste espagnol de flamenco Paco de Lucia est mort d'une crise cardiaque au Mexique à l'âge de 66 ans, a annoncé mercredi 26 février la mairie d'Algeciras, sa ville natale du sud de l'Espagne. Né le 21 décembre 1947 à Algeciras, non loin de Cadix, il su moderniser le flamenco traditionnel en l'associant avec le jazz et en puisant son inspiration dans divers horizons musicaux. Voici Entre Dos Aguas : https://www.youtube.com/watch?v=2oyhlad64-s RIP Paco. --- ### Téléphone – Argent Trop Cher - **URL**: https://www.skyminds.net/telephone-argent-trop-cher/ Aujourd’hui, un petit coup de Téléphone avec cette version live d’Argent Trop Cher au RockPalast en Allemagne en 1983 : Argent trop cher : paroles Prenez un enfant et faites-en un roiCouvre-le d'or et de diamantsCachez-vous en attendantVous n'attendrez pas longtemps Les vautours tournent autourDe l'enfant Le blé a les dents acéréesEt les hyènes vont le dévorerLe môme deviendra banquierOu le môme sera lessivé, lessivé, lessivé Je dis, argent, trop cherTrop grandLa vie n'a pas de prix Argent, trop cherTrop grandLa vie n'a pas de prix, pas de prix Prends ton meilleur ami, fais-en un ennemiJe t'achète et je te vendsVautré dans le coma du commun des mortelsMon pote, t'es comme un rat, t'es commun, c'est mortel Les vautours tournent autourToujours Criez "non"("non") à l'esclavageEt payez-leurs de nouvelles cagesFaites installer des péagesLa où commence la rageLa rage, la rage Argent, trop cherTrop grandLa vie n'a pas de prix Argent, trop cherTrop grandLa vie n'a pas de prix Un compte bloquéL'autre à découvertMaintenant, banque 100, 200, 300, 400, 500, 600, 700, 800, 900Maintenant, banqueWahou Les vautours tournent autourDe nous maintenant Tu en as, tu n'en n'as pasTu n'as pas vraiment le choixUn mur de briques devant toiIl est temps, dépense-toiDépense-toi, dépense-toi Je dis, argent, trop cherTrop grandLa vie n'as pas de prix Argent, trop cherTrop grandLa vie n'as pas de prix Argent, trop cherTrop grandLa vie n'as pas de prix Je dis, argent, trop cherTrop grandLa vie n'as pas de prix, pas de prix Pas de prix, pas de prixPas de prix, pas de prix, pas de prixAhou Trop cherTrop grandTrop cherTrop grandTrop cherTrop grandTrop cherLa vie n'as pas de prixPas de prix Téléphone - Argent trop cher A retrouver sur le 3ème album du groupe, "Au cœur de la nuit" (1980) --- ### Justified saison 5 - **URL**: https://www.skyminds.net/justified-saison-5/ Voici la cinquième saison de Justified sur FX. Dans les marais boueux de Floride, Raylan est appeler à la barre pour témoigner contre une des branches les plus mortelles de la famille Crowe. Pendant ce temps, Boyd doit régler des problèmes avec la mafia de Détroit. Une sixième et dernière saison est d'ores et déjà annoncée pour l'année prochaine. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Cassette Kids – Spin - **URL**: https://www.skyminds.net/cassette-kids-spin/ Voici un autre titre des Cassette Kids, qui s'intitule Spin : https://www.youtube.com/watch?v=TR3cTXcNe58 Let me spin another record for you baby (pump it out, make it loud, bring the house down). --- ### Serveur dédié : mise en place de l’IPv6 - **URL**: https://www.skyminds.net/serveur-dedie-mise-en-place-de-lipv6/ IPv6 (Internet Protocol version 6) est un protocole réseau sans connexion de la couche 3 du modèle OSI. Grâce à des adresses de 128 bits au lieu de 32 bits, IPv6 dispose d'un espace d'adressage bien plus important qu'IPv4. Cette quantité d'adresses considérable permet une plus grande flexibilité dans l'attribution des adresses et une meilleure agrégation des routes dans la table de routage d'Internet. La traduction d'adresse, qui a été rendue populaire par le manque d'adresses IPv4, n'est plus nécessaire. Fin 2013, on estime le déploiement d'IPv6 à 2 %, et ce en dépit d'appels pressants à accélérer la migration, l'épuisement des adresses IPv4 publiques disponibles étant imminent. Histoire d'assurer la pérennité de la connexion de notre serveur Kimsufi, voici comment mettre en place l'IPv6. Cela prend à peu près 15 minutes. Etape 1 : récupérer l'adresse IPv6 Méthode graphique : identifiez-vous dans le Manager OVH et allez dans Serveur Dédié > Récapitulatif. Vous devriez obtenir quelques informations sur la connexion de votre Kimsufi, comme ceci : Méthode "terminal" : un autre moyen de trouver l'IPv6 est de lancer le terminal et taper la commande ifconfig : ifconfig Notez bien l'adresse IPv6 du serveur, nous allons nous en servir dans la prochaine étape. Etape 2 : ajout de la connexion IPv6 L'IP que nous a attribué OVH est donc 2001:41d0:1:4462::1 1. On commence par ajouter cette IP en direct. Dans le terminal, tapez : ip -6 addr add 2001:41d0:1:4462::1/64 dev eth0 Ensuite on ajoute l'IP de la passerelle. Pour déterminer cette adresse, il faut enlever les deux derniers chiffres du quatrième bloc de l'IPv6 (62 dans notre cas) et mettre FF:FF:FF:FF:FF juste derrière. Je récapitule, cela nous donne : IPv6: 2001:41d0:1:4462::1passerelle: 2001:41d0:1:44FF:FF:FF:FF:FF Maintenant, on peut ajouter notre nouvelle passerelle par défaut: route -A inet6 add default gw 2001:41d0:1:44FF:FF:FF:FF:FF dev eth0 Si les deux instructions précédentes n'ont pas fonctionné sur votre serveur, voici une alternative : a. On ajoute une route pour atteindre la passerelle : ip -6 r a 2001:41d0:1:44FF:FF:FF:FF:FF dev eth0 b. et ensuite, on ajoute la route par défaut via la passerelle : ip -6 r a default via 2001:41d0:1:44FF:FF:FF:FF:FF 2. Ensuite, on édite /etc/network/interfaces : nano /etc/network/interfaces et on ajoute : iface eth0 inet6 static address 2001:41d0:1:4462::1 netmask 56 gateway 2001:41d0:1:4FF:FF:FF:FF:FF 3. On édite /etc/hosts : nano /etc/hosts et on ajoute notre IPv6 juste en dessous de l'IPV4 : # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost 213.251.132.138 ksXXXXXX.kimsufi.com 2001:41d0:1:4462::1 ksXXXXXX.kimsufi.com # The following lines are desirable for IPv6 capable hosts #(added automatically by netbase upgrade) ::1 ip6-localhost ip6-loopback feo0::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts 4. Notre connexion IPv6 est presque prête, on redémarre la connexion avec : ifdown eth0 && ifup eth0 On vérifie que tout va bien : ifconfig Résultat : eth0 Link encap:Ethernet HWaddr 00:27:0e:1f:30:5e inet addr:213.251.185.98 Bcast:213.251.185.255 Mask:255.255.255.0 inet6 addr: fe80::227:eff:fe1f:305e/64 Scope:Link inet6 addr: 2001:41d0:1:4462::1/56 Scope:Global UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Etape 3 : configuration BIND... --- ### Evan Holm – Submerged Turntable - **URL**: https://www.skyminds.net/evan-holm-submerged-turntable/ L'artiste Evan Holm a créé une platine vinyle immergée dans un petit bassin, avec des composants électroniques étanches, comme dans cette installation : https://vimeo.com/38449496 Voici la présentation du projet par l'artiste : There will be a time when all tracings of human culture will dissolve back into the soil under the slow crush of the unfolding universe. The pool, black and depthless, represents loss, represents mystery and represents the collective subconscious of the human race. By placing these records underneath the dark and obscure surface of the pool, I am enacting a small moment of remorse towards this loss. In the end however this is an optimistic sculpture, for just after that moment of submergence; tone, melody and ultimately song is pulled back out of the pool, past the veil of the subconscious, out from under the crush of time, and back into a living and breathing realm. When I perform with this sculpture, I am honoring and celebrating all the musicians, all the artists that have helped to build our human culture.-- Evan Holm-- Evan Holm Pour montrer au public comment il a réussi cette prouesse, Evan a même filmé le making-of de sa submerged turntable, qui est actuellement visible dans l'atrium du San Francisco Museum of Modern Art (SFMOMA) : https://vimeo.com/73827977 Très joli à regarder non ? --- ### Concert de Phoenix au Zénith de Nantes - **URL**: https://www.skyminds.net/concert-de-phoenix-au-zenith-de-nantes/ Jeudi soir, je suis allé au concert de Pḧoenix au Zénith de Nantes en compagnie de mon père. A l'origine, le concert devait avoir lieu le 15 novembre 2013 mais le chanteur étant tombé malade et ne pouvant assurer sa partie, le groupe a préféré remettre le concert à plus tard. Il est 20h55 lorsque les lumières s'éteignent dans un Zénith plutôt plein. Le public est plutôt jeune et branché, entre 30 et 40 ans. On a réussi à se dégoter des places assises, un peu sur la droite de la scène, pas franchement proches mais c'est préférable au manque de place et d'oxygène de la fosse. Le concert commence et les membres du groupe Phoenix enchaînent les tubes qui ont fait leurs succès. J'étais venu pour une seule chanson, Love like a Sunset, que j'adore et j'ai été vraiment satisfait de leur version live. C'était différent de la version que l'on peut entendre sur les albums et j'avoue que cela m'a bien plu. https://www.youtube.com/watch?v=B5Lh9uyx1Zw Le concert a duré une heure ainsi qu'un rappel d'environ 15 minutes. J'ai trouvé cela un peu léger et la musique clairement trop répétitive, morceaux mis bout à bout. Nous en avons conclu que c'était de la bonne musique pour se déhancher lorsque l'on anime une soirée mais que ce n'est pas vraiment le top à écouter en concert : trop de répétitions dans les rythmes, pas assez d'originalité et de variété au niveau des guitares. https://www.youtube.com/watch?v=_TEC2xvP8Ok J'avoue avoir été quelque peu déçu par le concert, je m'attendais à mieux et j'ai fini par me rendre compte qu'au final, les premières chansons qui ont fait le succès du groupe étaient bien plus riches en notes et en inventivité que les suivantes. --- ### Vadzim Khudabets – Eterna - **URL**: https://www.skyminds.net/vadzim-khudabets-eterna/ Vadzim Khudabets, un producteur russe de bande-annonces, a condensé dans son court-métrage les meilleures scènes les plus explosives de 250 films et blockbusters les plus impressionnants pour créer le mashup ultime des films d'action, de superhéros, de fantasy et de science-fiction. Admirez un peu le résultat : https://www.youtube.com/watch?v=58mz7o5nE8s En quelques 6 minutes, il reprend tous les films de ces dix dernières années - dont certains sont devenus des classiques - pour une bonne claque visuelle (merci les effets spéciaux!) et sonore. Epic ! Alors, bien sûr, cela reste du mashup - n'empêche qu'il doit y avoir quelques heures de boulot pour avoir compilé et édité tout ça. Musiques : Shockwave Sound - Call For Heroes (Rock Mix) : http://www.shockwave-sound.com/Shockwave Sound - Fatal Fight (Rock Mix) : http://www.shockwave-sound.com/Les Friction - World On Fire : http://www.lesfriction.com/Immediate Music - Falling Skies : http://www.immediatemusic.com/Pfeifer Frankfort - Valentine : http://www.pfmusicgroup.com/Two Steps From Hell - Breathe : http://www.twostepsfromhell.com/ Petit jeu : retrouvez le nom des films ! --- ### Happy Birthday Matt : 33 - **URL**: https://www.skyminds.net/happy-birthday-matt-33/ Boom ! J'ai 33 ans aujourd'hui. Le nombre 33 en mathématiques 33 est le plus grand entier qui ne peut pas être exprimé comme une somme de nombres triangulaires différents. Trivia sur le nombre 33 Trente-trois est aussi : la constante du carré magique de la façade de la Passion de la Sagrada Familia.le nombre de vertèbres d'une colonne vertébrale humaine normale.un nombre significatif en numérologie moderne, comme l'un des nombres maîtres avec 11 et 22.ce que disaient les anciens docteurs français lorsqu'ils auscultaient leurs patients : « Dites trente-trois ». Il s'agissait de sentir, via les mains ou avec l'oreille la transmission des vibrations vocales (avant l'utilisation généralisée du stéthoscope) pour évaluer la densité et qualité des tissus des poumons éventuellement modifiés par une maladie. Même nombre pour en Italien, Roumain, Espagnol et Portugais : Trentatrè, Treizeci şi trei, Treinta y Tres and Trinta e Três.ce que disent les espagnols pour faire sourire les gens sur la photo : « diga treinta y tres » est l'équivalent de « cheese » ou « whisky ».pour les disques vinyl, 33 renvoie à un type d'enregistrement par sa vitesse de rotation de 33⅓ tours par minute. Les 33 tours sont aussi connus, dans les pays anglo-saxons sous l'abréviation LP (Long Playing records : enregistrement longue durée = album en France). Bon, pour les vinyls, les prochains seront 45 et 78... pas trop pressé d'y arriver !l'indicatif téléphonique international pour appeler la France.le nombre d'années de mariage des noces de porphyre.en NBA, en basketball, le numéro du maillot de Scottie Pippen (Chicago Bulls) et Patrick Ewing (New York Knicks).l'âge supposé du Christ lors de sa crucifixion.le numéro atomique de l'arsenic, un métalloïde. C'est parti pour une nouvelle année :) --- ### Educating Yorkshire saison 1 - **URL**: https://www.skyminds.net/educating-yorkshire-saison-1/ Voici Educating Yorkshire, une série produite et diffusée par Channel 4. Jonny Mitchell, le principal de Thornhill Community Academy à Dewsbury (Angleterre) a accepté les caméras dans son collège. Ce collège avait une une mauvaise réputation et faisait partie des 6% d'établissements les moins performants d'Angleterre en 2007. En 2012, ce collège est arrivé dans les 6% des meilleurs établissements. La série a utilisé 64 caméras fixes placées dans tout le collège et filmant de 7h à 17h, ainsi que plusieurs caméras à l'épaule et 22 microphones. Il a fallu 6 mois de préparation avant le tournage : les parents et les élèves ont été consultés et des psychologues ont rendu visite à une centaine de familles. 2000 heures de film ont été enregistrées en 7 semaines. Mitchell et l'équipe éducative ont dit qu'ils se sont surveillés au début mais qu'ils ont vite oublié la présence des caméras, tout comme les élèves d'ailleurs. Je vous recommande la série, c'est un très bon aperçu de la vie d'un collège en Angleterre, autant du point de vue de l'administration que des collégiens. Très sympa à regarder et exploitable avec nos élèves ! --- ### Spacehog – In the Meantime - **URL**: https://www.skyminds.net/spacehog-in-the-meantime/ Spacehog est un groupe de rock anglais qui s'est formé à New York en 1994, bien que tous ses membres viennent de Leeds, West Yorkshire. Ils ont été influencés par David Bowie, Queen, T.Rex et ont ouvert pour Pearl Jam, Supergrass, Oasis et The Black Crowes. Le chanteur Royston Langdon s'est marié avec Liv Tyler (fille de Steven Tyler, frontman d'Aerosmith) en 2005 mais ils se sont séparés en 2008. La chanson la plus connue du groupe est très certainement "In the Meantime" : https://www.youtube.com/watch?v=PCsGRCf8T9Y Cela s'écoute très bien et c'est à retrouver sur l'album Resident Alien (1996). --- ### Qui veut enterrer les langues mortes ? - **URL**: https://www.skyminds.net/qui-veut-enterrer-les-langues-mortes/ Ki veu antéré lé langue morthes ? « Je ne suis pas très optimiste, ni pour mes chères langues anciennes, ni pour la française d’ailleurs, ni pour les humanités en général et, pis, guère plus pour l’avenir de notre civilisation. S’il n’y a pas un sursaut, nous allons vers une catastrophe et nous entrons dans une ère de barbarie. Il y a un désintérêt et même un dédain pour la Raison et les Lumières. » Jacqueline de Romilly Le constat est sans appel : « On » enferme la langue de Platon et plus largement la culture qui s’y rattache dans une sombre caverne, lui laissant entrevoir un funeste destin. La civilisation et la langue de Cicéron doivent elles aussi s’apprêter à passer une nouvelle fois sous les Fourches Caudines et tomber sous les coups d’impitoyables ennemis : le désintérêt, le dédain et l’oubli. Dans les esprits, ces langues et cultures sont mortes et enterrées depuis longtemps. Mortes dites-vous ? NON ! Il semble que, irréductibles, elles parviennent malgré tout à résister encore et toujours aux affres du temps. Les civilisations grecque et latine nous sont parvenues, plus vivantes et loquaces que jamais, à travers l’épopée homérique, les pensées socratiques, les traités de rhétorique, et la politique. Tout ce qui est « cher » (dans tous les sens du terme) à la société actuelle n’est rien d’autre qu’un héritage de ce passé, aujourd’hui tant dénigré. Voyons plutôt : Eglise, démocratie, Sénat, Jeux Olympiques, forum, et caetera... D’ailleurs, nous parlons encore aujourd’hui le grec et le latin. Que celui qui n’a jamais prononcé « album », crié au « referendum », écrit avec un « stylo », ou n’a jamais fait « caca », jette la première pierre ! Il suffit de prononcer les mots « bénéfice », « profit » ou « politique » pour sentir les vibrations de ces langues qui vivent encore en chacun de nous. Comment comprendre le système politique actuel si l’on ne garde pas à l’esprit le modèle démocratique grec ? Comment apprécier et jouir pleinement de la saveur de nos langues modernes tout en ignorant leurs origines ? Ces langues et civilisations, berceau et fondements de notre culture sont pourtant bel et bien en voie de disparition, restrictions budgétaires obligent… C’est dans cette optique que l' « On » s’emploie, faute aux bourses pleines de toiles d’araignées, à supprimer à coups de hache toutes les filières qui ne rapportent pas assez : au collège, au lycée ou à l’université, faire du latin et du grec, c’est dépassé. Le monde contemporain, dans la plupart des domaines, rejette les modèles classiques hérités du passé. « On » pense aujourd’hui, et à tort, que l’étude des cultures anciennes se réduit à une spécialité étroite réservée à une minuscule élite, constituée de marginaux à lunettes, croulant sous le poids des livres et du savoir. À l’image des lettres anciennes, de nombreuses filières, faute de moyens, sont hachées menu. Dites « plus rares », elles sont de fait stigmatisées et mises à l’écart... --- ### Vesuvius – Pompeii Nights - **URL**: https://www.skyminds.net/vesuvius-pompeii-nights/ Vesuvius est un groupe fictionnel, créé pour le film The Rocker (2008). Dans le film, le groupe Vesuvius se fait remarquer lors de l'un de leur concert par un producteur qui leur propose un contrat mais à condition de remplacer leur batteur du nom de Fish (Rainn Wilson) par un autre batteur, fils à papa. Le groupe accepte et Fish se retrouve délaissé, alors que son ancien groupe devient l'un des groupes de Rock les plus connus. 20 ans plus tard, alors qu'il est renvoyé de son travail et de l'appartement de sa petite amie, il va chercher refuge chez sa sœur. Son neveu lui demande s'il veut jouer avec son groupe, ADD, lors du bal de fin d'année de son lycée car leur batteur a été renvoyé du même lycée. De là, ils vécurent de nombreuses aventures hilarantes et se retrouvent au sommet allant même jusqu'à dépasser Vesusius. Voici Pompeii Nights, une chanson glam/hard-rock pêchue : https://www.youtube.com/watch?v=J4BXyDcGcvQ Les chansons attribuées à Vesuvius ont été écrites et jouées par le groupe Lazlo Bane, avec Keith England au chant. --- ### La naissance d’un projet encyclopédique à Rome ! - **URL**: https://www.skyminds.net/la-naissance-dun-projet-encyclopedique-a-rome/ A l’évocation de la notion d’« Encyclopédie », c’est vers Diderot et son œuvre magistrale que se dirige d’emblée notre pensée. Seulement, cet encyclopédisme que l’on attribue à Diderot n’est pas né au XVIII è siècle. Ce concept est le fruit d’un très ancien héritage : l’« εγκυκλιος παιδεια » qui définit un système d’éducation grec embrassant toutes formes de savoir. Ce concept encyclopédique, associé au IVe siècle à l’éducation du jeune grec, est ainsi véritablement ancré dans la pensée antique. Il évolue cependant sous l’influence des écoles philosophiques, notamment de celle d’Aristote dont la tradition d’enseignement marque la naissance d’une forme de courant encyclopédique. En effet, la philosophie péripatéticienne comprend trois grands domaines d’investigation qui comprennent l’éthique, la logique et la physique. D’emblée, l’association de ces différents domaines de recherche dénote d’un appétit de savoir grandissant, d’un véritable mouvement d’intellectualisation dans le domaine de la connaissance. Dans la continuité de ce cheminement engendré par la philosophie, la période hellénistique témoigne d’un intense bouillonnement intellectuel et culturel. C’est ainsi que dans les villes de Pergame, de Rhodes ou encore d’Alexandrie dont l’immense bibliothèque illustre cet intérêt pour la connaissance, le foisonnement scientifique est remarquable. Les travaux des érudits venus de tout le monde hellénistique se multiplient et donnent ainsi lieu à des publications de grands textes de savoir qui marquent une étape dans l’évolution de ce courant encyclopédiste. Quant à Rome, c’est à partir du premier siècle de notre ère que la littérature scientifique se développe, fruit de l’héritage de Caton l’Ancien ou de Varron, célèbres pour leurs compilations de faits pratiques : le De Agricultura de Caton constitue une encyclopédie pratique destinée à son fils qui recense tous les éléments importants concernant l’agriculture tandis que le De Lingua Latina constitue la première grammaire latine connue. La publication de ces ouvrages représente les fondements de cette tradition encyclopédique à Rome. Elle évolue une nouvelle fois avec Lucrèce qui au premier siècle avant notre ère est le premier à écrire un traité scientifique sous forme poétique en latin : De Natura Rerum. A partir du premier siècle, l’écriture de textes scientifiques en prose se fait beaucoup plus importante et jouit d’une plus large diffusion. Dans de nombreux domaines, ces écrits scientifiques apparaissent : Vitruve écrit son De Architectura, traité d’architecture, Celse publie le De Medicina et Sénèque compose les Naturales Quaestiones. Aussi, l’ouvrage de Pline l’Ancien intitulé Naturalis Historiae reste le plus représentatif de cette tradition encyclopédiste. Au regard de tous ces textes qui présentent, malgré leur caractère scientifique commun, de grandes différences, on pourrait s’interroger sur les caractéristiques qui définissent l’encyclopédisme à Rome. Pour envisager cette question, nous déclinerons cette étude en trois mouvements : le premier sera consacré à la méthode de composition utilisée par les encyclopédistes. Puis, nous considèrerons l’écriture à deux niveaux de ces traités scientifiques : érudition et accessibilité. Enfin, nous nous interrogerons sur la valeur scientifique de ces écrits. Méthode de composition utilisée par les encyclopédistes L’encyclopédisme romain se caractérise par une méthode de recherche... --- ### Four Tet – As Serious As Your Life - **URL**: https://www.skyminds.net/four-tet-as-serious-as-your-life/ Four Tet est le pseudonyme de Kieran Hebden. Né à Londres d'une mère indienne originaire d'Afrique du Sud et d'un père enseignant en sociologie, il fait ses études à la Elliott School à Londres, dans le quartier de Putney. C'est comme guitariste qu'il forme, avec Adem Ihan et Sam Jeffers, le groupe de post-rock Fridge, alors qu'il est encore au lycée. Il crée le projet Four Tet en 1998, en parallèle de son autre groupe, et commence à s'inventer un genre de musique électronique « extatique » aux influences hip-hop, jazz ou même folk, en samplant et modifiant diverses sonorités. Voici As Serious As Your Life : https://www.youtube.com/watch?v=E3qnzLHVdo4 Trippy. Cela me rappelle Fat Boy Slim tiens! --- ### Steven Wilson – Drive Home - **URL**: https://www.skyminds.net/steven-wilson-drive-home/ Steven Wilson est un musicien et producteur anglais né en 1967 et connu pour être le fondateur, chanteur et principal guitariste du groupe de rock progressif Porcupine Tree. Il a tout appris sur le tas : la production, l'ingénierie du son, la guitare, les claviers... Il sait même jouer d'autres instruments comme la basse, la harpe, la hammered dulcimer ou la flûte. J'aime particulièrement Drive Home : https://www.youtube.com/watch?v=ycYewhiaVBk A retrouver sur son 3ème album solo sorti en février 2013 - The Raven That Refused To Sing (And Other Stories). --- ### Dialogues with Mister B. : « le tigre » - **URL**: https://www.skyminds.net/dialogues-with-mister-b-le-tigre/ C'était il y a quelques mois maintenant. Je révise et réactive l'alphabet anglais avec mes 6èmes. On chante la chanson, on groupe les lettres qui ont un son similaire... et je finis par mimer le son [r] qu'ils ont du mal à prononcer correctement. J'insiste un peu et je finis par mimer un tigre qui déchire quelque chose avec sa patte. Et là, intervention de ma tête de classe : Voilà. Je viens de me faire pwned par une sixième et un tigre... Donc, pour l'année prochaine, je note que c'est le lion qui fait Rrrrr. Pas le tigre. Le tigre, lui, il feule ! --- ### Dub FX – Love Someone - **URL**: https://www.skyminds.net/dub-fx-love-someone/ Dub FX - de son vrai nom Benjamin Stanford - est un artiste de rue qui vient de St Kilda, Melbourne (Australie). Il crée des rythmes hip hop, reggae et drum and bass juste avec sa voix combinée avec les effets d'une pédale de loop. Il se produit dans la rue, accompagné de sa fiancée - Flower Fairy - qu'il a rencontrée à Manchester. Voici sa prestation de Love Someone : https://www.youtube.com/watch?v=UiInBOVHpO8 J'adore. --- ### Con Bro Chill – We Should Hang Out - **URL**: https://www.skyminds.net/con-bro-chill-we-should-hang-out/ Pour mettre un peu d'ambiance en cette fin d'année, je vous propose Con Bro Chill - un groupe de power party pop assez déluré qui n'est pas sans rappeler LMFAO (mais en mieux), OK GO et Freddy Mercury. Jugez plutôt avec leur chanson We Should Hang Out : https://www.youtube.com/watch?v=0NfsDLRT46M Leur EP est même téléchargeable gratuitement. Party time ! --- ### Windows XP : corriger svchost.exe à 100% de CPU - **URL**: https://www.skyminds.net/windows-xp-svchost-exe-cpu-100/ Votre vieux PC sous Windows XP démarre, puis devient inutilisable. Le ventilateur s’emballe, la souris rame, le gestionnaire des tâches affiche svchost.exe à 99 ou 100% de CPU. Bienvenue dans l’un des grands classiques de Windows Update sous XP. Ce problème touchait surtout les machines Windows XP qui tentaient de rechercher ou d’installer des mises à jour. Dans certains cas, le processus svchost.exe monopolisait le processeur pendant de longues minutes, voire plusieurs heures. Sur une machine ancienne, cela suffit à transformer un PC en radiateur administratif. Avant tout : Windows XP est un système hors support Windows XP n’est plus un système d’exploitation maintenu pour un usage courant. Microsoft a arrêté son support étendu le 8 avril 2014. Cela signifie qu’une machine XP connectée à Internet reste exposée, même si elle démarre encore parfaitement. Ce guide sert donc à dépanner une machine ancienne, récupérer des fichiers, remettre en route un poste isolé, lancer un vieux logiciel métier ou maintenir un environnement legacy. Pour un usage quotidien connecté au web, la vraie solution reste la migration vers un système maintenu. Pourquoi svchost.exe utilise 100% du CPU sous Windows XP ? svchost.exe n’est pas forcément un virus. C’est un processus système qui héberge plusieurs services Windows. Sous XP, le coupable le plus fréquent était le service Mises à jour automatiques, souvent lié à Windows Update ou Microsoft Update. Le symptôme typique ressemble à ceci : Windows XP démarre normalement. Après quelques secondes ou minutes, le PC devient très lent. Le gestionnaire des tâches affiche svchost.exe à 99 ou 100%. Le problème revient après chaque redémarrage. La charge CPU baisse si vous arrêtez le service de mises à jour automatiques. À l’époque, Microsoft avait documenté des blocages, des fuites mémoire et des scans Windows Update interminables liés à svchost.exe. Les correctifs historiques concernaient notamment Windows Update Agent 3.0 et la mise à jour KB927891. Étape 1 : reprendre la main sur Windows XP Si la machine est complètement bloquée, commencez par reprendre la main. L’objectif n’est pas encore de réparer, mais de rendre le bureau utilisable. Appuyez sur Ctrl + Alt + Suppr. Ouvrez le Gestionnaire des tâches. Allez dans l’onglet Processus. Repérez svchost.exe qui consomme presque tout le CPU. Si le système est inutilisable, terminez temporairement ce processus. Cette action peut couper certains services Windows. Elle sert uniquement à reprendre la main. Ensuite, il faut identifier le service fautif, sinon le problème reviendra au prochain démarrage. Étape 2 : identifier le service Windows Update Sous Windows XP, la méthode la plus simple consiste à vérifier si les mises à jour automatiques déclenchent la saturation CPU. Cliquez sur Démarrer. Ouvrez Exécuter. Tapez services.msc. Validez avec Entrée. Repérez le service Mises à jour automatiques. Cliquez droit, puis choisissez Arrêter. Si le CPU redescend immédiatement, vous avez probablement trouvé le coupable. Le problème vient alors de Windows Update, de Microsoft Update, de l’agent de mise à jour ou d’un catalogue de mises à jour devenu trop lourd pour cette vieille installation. Étape 3 : désactiver... --- ### Zapatou – Best of Web 2 - **URL**: https://www.skyminds.net/zapatou-best-of-web-2/ Zapatou, de son vrai nom Luc Bergeron, compile les meilleures vidéos du web en HD. Il travaille pour VLOG à Montréal et ses vidéos nous donnent l'occasion de nous replonger dans les meilleurs moments du net. Certaines vidéos ont fait le buzz, d'autres sont plus obscures mais beaucoup valent le détour : https://www.youtube.com/watch?v=WJkg6j7IkyE Tracklist 001- Ice skating on Amsterdam Canals Winter 2012002- Ice fun with a golf cart003- The Art of Skiing004- Robert Jan Jansen Ice Karting 2012005- Salomon Freeski TV S5 E05 The Freedom Chair006- Peugeot 207 Super 2000 - Zoncolan mountain race by TopGear ita007- Kayaking on snow - Red Bull Snowkayak Lithuania 2012008- Jag XKRS Convertible On Ice009- Mushing in Telluride010- Markku Alen tests the Ferrari FF on a snow-covered forest stage011- BoxSled Blitz012- NÜRBURGRING Formula Race Car. ICE and SNOW. NORDSCHLEIFE013- Teaser Salomon Kilian's Quest 2011014- driving on mountain top ORIGINAL015- Extreme Motorcycle Snow Drifting by Jorian Ponomareff016- Restricted Area - Drifting Motorcycles Crossing - Drift Moto017- Nitro Circus The Movie 3D Official Trailer #NITRO3D018- Joy Ride019- GoPro HD: Ronnie Renner Takes on Glamis020- Petr Pilat Backflips over Plane with His Bike021- Rocky FMX session022- DREAM RIDE: Stewart & Cachia Heli Shoot023- Motorcycle vs. Car Drift Battle 2024- Milkshake at 100mph025- Julien Welsch Normal stunt drift day026- GoPro HD Airplane Tail Grab with the Werth Brothers027- No Risk No Fun- crazy horst028- Rob Holland 2011 Year End Review029- Airstrike Media Demo | Aerial Division of HDM030- AirVenture 2011 - The World_s Greatest Airshow031- Aircraft rolls with man on wing032- Flying over Venice - Earthflight Europe033- Black Diamond Jet Team Teaser034- Turbolenza SoulFlyers Fred&Vince035- Snow Circles036- At Last - Wingsuit proximity by Tiger Odd-Martin in his X2037- Art of B.A.S.E.038- Ueli Steck's Eiger north face ascent039- Freeway A Skydiving Story040- Man Hangs From Helicopter With One Foot041- The Wings of Blue PTWOB042- Felix Baumgartners Test Jump Teaser043- Wingsuit flies beside jet044- More Than A Feeling045- Saï Saï Life046- Welcoming 2012 with an awe-inspring BASE jump display047- Urban Side048- Famous Maho Beach St maarten Princess Juliana Int'l Airport049- SAIL050- A moment in time051- Parahawking in Nepal - Amazing052- nick.J.weicht [demo]053- World's Largest Rope Swing054- BIG RUSH - The World's Tallest Swing055- Festival of Colors - World's BIGGEST color party056- HeLIUM057- The World's Most Colourful Burnout!058- Most water balloons hit by a car: Alfa Romeo059 Dakuwaqa's Garden - Underwater footage from Fiji & Tonga060- The Tank Bangers - Our Blue061- Fishing under ice062- Sharky with Monster Energy's Mark Healey063- Underwater dentists! RED SEA Egypt HD064- SUBWING...underwater madness065- A-Town Throw-Down Hydrofoil Freeriding066- Mexico 2012 (Sexico ft. Sergio Remarkable) vol. 0.1067- Kalani Chapman Surfs Billabong Pipe Masters with GoPro068- Minds Wide Open Trailer069- Alaska Wakeboarding Teaser from Catchin' Air Tv Show070- Hannah Whiteley Brazilian Nut Case071- Rush Sturges New Highlight Reel (2011)072- Pogo GoPro073- 8 year old Skateboarder Evan Doherty Big E074- Momentum - New Wakeboarding Trailer075- Dylan Thompson in THE ARENA076- Salt Boarding - Blank Snowboards077- X Games in Slow Motion - 1000 fps078- GoPro HD: Shaun White Superpipe -... --- ### Garbage and Screaming Females – Because The Night - **URL**: https://www.skyminds.net/garbage-and-screaming-females-because-the-night/ Lorsque Garbage et Screaming Females s'unissent pour reprendre Because The Night, cela donne une version électrique à la limite du shred : https://www.youtube.com/watch?v=tOmKGjy-Ct0 Pas mal cette version non? --- ### Dialogues with Mister B. : e-lyco mass-messaging fail - **URL**: https://www.skyminds.net/dialogues-with-mister-b-e-lyco-mass-messaging-fail/ J'ai pour habitude de prévenir mes élèves quand il y a un test ou une interrogation. Cela leur permet de réviser apprendre à la dernière minute et minimise les risques d'avoir une moyenne de devoir semblable à un prélèvement de l'ère glacière. Etant donné que tout le monde (administration, parents, élèves) chouine parce qu'il faut utiliser l'Environnement Numérique de Travail (ENT pour les intimes), je me suis dit que ce serait une bonne chose de les prévenir via leur plateforme (qui s'appelle e-lyco, haha, ce sont vraiment les cracks du jeu de mot). Je compose mon petit message, sélectionne la classe et... ... hé oui, apparemment en sélectionnant uniquement la classe, j'ai sélectionné les élèves mais aussi les parents et les professeurs de la classe. Gloups. Bon ben au moins tout le monde est au courant de ma pratique... A noter que le prof qui m'a répondu est également l'interlocuteur TICE du collège. Re-gloups. EPIC FAIL de l'année on dirait bien ! --- ### Genesis – The Lamb Lies Down on Broadway (1974-1975 tour) - **URL**: https://www.skyminds.net/genesis-the-lamb-lies-down-on-broadway-1974-1975-tour/ En novembre 1974, le groupe de rock-progressif Genesis débute une nouvelle tournée pour célébrer la sortie de son double album concept ''The Lamb Lies Down on Broadway''. C'est une tournée historique pour le groupe puisque ce sera la dernière en compagnie de Peter Gabriel, qui quittera Genesis pour commencer une carrière solo. S’il existe de nombreux documents audio retraçant cette tournée, on ne dispose aujourd’hui malheureusement que de très peu d’images. Cependant des fans ce sont associés pour regrouper différents petits bouts de photos et de vidéos et reconstituer le plus fidèlement possible ce que devait être cette tournée historique. Voici le résultat sous forme de vidéo : https://www.youtube.com/watch?v=l9KfKWG-gXA En tout, 1h16 de concert a été reconstruit. Les vidéos proviennent des concerts de Gran Rapids, Chicago, Berkeley, Hambourg et Liverpool. L'audio vient du concert de West Palm Beach. C'est un travail de titan absolument génial pour les fans ! --- ### Dialogues with Mister B. : « des leprechauns, des pipes et des glands » - **URL**: https://www.skyminds.net/mister-b-leprechauns-pipes-glands/ L'autre jour avec mes troisièmes, j'étudie un texte sur les créatures fantastiques vivant au Royaume-Uni et on aborde les leprechauns au détour d'une compréhension orale. Je leur fait lire un texte et au moment de l'explicitation du vocabulaire, une élève demande des explications sur le sens d'une phrase : Merci au manuel New Live 3è pour ce grand moment de solitude - mais aussi de fou-rires! Il faut bien avouer qu'une phrase pareille, chez les 3èmes, est tout ce qu'il leur faut pour que cela parte en vrille. Je me demande quand même comment les auteurs n'ont pas vu que si jamais on traduit la phrase, elle prend un tout autre sens hors contexte. En fait, je crois que ce doit être une évaluation diagnostique pour déterminer le type d'élèves de la classe ! --- ### Améliorer ses graphiques avec le minimalisme - **URL**: https://www.skyminds.net/ameliorer-ses-graphiques-minimalisme/ Aujourd'hui, j'ai trouvé cette petite animation qui explique comment créer des graphiques plus attirants et plus lisibles : Un bon graphique ne cherche pas à impressionner. Il cherche à faire comprendre. Le minimalisme appliqué aux graphiques consiste donc à retirer tout ce qui gêne la lecture : effets 3D, couleurs inutiles, bordures lourdes, quadrillage agressif, légendes redondantes, décorations et titres vagues. L’objectif n’est pas de produire un graphique froid ou triste. L’objectif est plus simple : faire parler les données sans leur mettre un costume de carnaval. Un graphique réussi doit permettre au lecteur de comprendre rapidement ce qui compte, où regarder et quelle conclusion tirer. Le minimalisme n’est donc pas une mode esthétique. C’est une méthode de clarification. Pourquoi les graphiques deviennent illisibles La plupart des mauvais graphiques ne sont pas mauvais parce que les données sont mauvaises. Ils sont mauvais parce que trop d’éléments visuels se battent pour attirer l’attention. Un graphique peut devenir illisible à cause de : couleurs trop nombreuses ; effets 3D inutiles ; ombres portées ; textures décoratives ; quadrillage trop visible ; axes trop chargés ; légendes éloignées des données ; libellés trop longs ; titres descriptifs mais peu informatifs ; mauvais choix de type de graphique. Chaque élément visuel demande un petit effort au lecteur. Un seul élément inutile ne détruit pas toujours le graphique. Dix éléments inutiles, en revanche, créent du bruit. Et le bruit visuel, comme le bruit dans une salle de classe un vendredi après-midi, finit rarement bien. Le principe du minimalisme graphique Le minimalisme graphique repose sur une question simple : cet élément aide-t-il vraiment à comprendre les données ? Si la réponse est non, il faut le supprimer, l’alléger ou le déplacer. Un graphique efficace ne contient pas seulement moins d’éléments. Il contient surtout de meilleurs éléments. Le minimalisme ne veut pas dire supprimer les titres, les axes ou les repères utiles. Il veut dire supprimer ce qui ne sert ni la lecture, ni la comparaison, ni l’interprétation. Un bon graphique minimaliste conserve : les données essentielles ; un titre clair ; des axes lisibles ; des unités compréhensibles ; des libellés utiles ; une hiérarchie visuelle nette ; une couleur utilisée avec intention. Data-ink ratio : garder l’encre qui porte l’information Edward Tufte a popularisé une idée devenue classique en visualisation de données : le data-ink ratio. Le principe consiste à maximiser la part d’encre, ou de pixels, réellement utilisée pour représenter les données. Autrement dit, dans un graphique, tout ce qui montre directement les données est utile. Tout ce qui encadre, décore, répète ou distrait doit être interrogé. Exemples d’éléments qui portent l’information : la longueur d’une barre ; la position d’un point ; la pente d’une courbe ; l’écart entre deux valeurs ; une annotation qui explique une rupture ou une tendance. Exemples d’éléments souvent inutiles : fond coloré sans signification ; effet 3D ; dégradé décoratif ; bordure épaisse ; quadrillage complet et très visible ; icônes décoratives ; légende qui répète ce qui... --- ### Concerts 2013 à Nantes : Handful of Dust, What The Hell, Riverside, Maqama, Kollektif AK47 - **URL**: https://www.skyminds.net/handful-of-dust-what-the-hell-riverside-maqama-ak47/ J'ai tellement de retard dans mes chroniques de concerts qu'il faut que j'y mette un terme : voici donc un petit round-up des concerts auxquels j'ai assisté dernièrement et dont je n'avais pas eu le temps de faire le compte-rendu. Handful of Dust + What The Hell au Ferrailleur (vendredi 31 mai 2013) What The Hell a assuré la première partie : il s'agit d'un tribute band d'AC/DC. Le chanteur était plutôt délirant et s'était visiblement inspiré de Bon Scott. Bon concert. Handful of Dust est un groupe composé de certains membres de TRUST : Farid Medjane et Yves Brusco, à qui se sont ajoutés Lou Ben (chanteur et auteur) et le guitariste Sylvain Laforge. C'est bien rock'n'roll, c'était pas mal à part Vivi qu'on n'entendait pas bien, réglé trop faible. Je me rends compte que j'aime de moins en moins l'ambiance de ce type de concerts : trop de gens qui viennent pour se piquer la ruche et beugler comme des boeufs... cela donne vraiment une image de beauf au hard-rock et c'est bien dommage. Riverside + Maqama au Ferrailleur (mardi 24 septembre 2013) Ah, une petite soirée de métal progressif polonais avec Maqama en première partie. J'ai découvert ce groupe ce soir-là et je dois dire qu'ils m'ont vraiment emballé : ils ont extrêmement bien joué et le guitariste était vraiment exceptionnel. Riverside, que j'avais déjà vus au Hellfest 2013, ont été excellents. Le guitariste joue un peu à la manière de Steve Rothery de Marillion, très humble et précis, sans voler la vedette. J'ai adoré la complicité et l'humour des membres du groupe entre eux, c'était vraiment sympa. Et là pour le coup, ambiance géniale dans le public mais c'était beaucoup "métal", plus respectueux, plus convivial quoi. Kollektif AK47 au Ferrailleur (jeudi 28 novembre 2013) Le Kollektif AK47, c'est Trust reformé sans Nono. Bon son, pas mal de classiques de Trust et quelques nouvelles chansons. Deux ou trois types bourrés qui ont passé le concert à apostropher Bernie qui n'a pu s'empêcher de leur répondre avec sa verve habituelle... à chaque fois ! On aurait dit un prof débutant qui se faisait chahuter par des élèves retors, c'était assez décevant à ce niveau-là. Au niveau musique, j'ai regretté le rappel que j'ai trouvé trop court, il y aurait pu y avoir 2 ou 3 chansons de plus. Ah et une chanson a été jouée deux fois : j'ai eu beau regarder autour de moi, on aurait dit que j'avais été le seul à l'avoir remarqué! *_* Voilà, je crois que j'ai fait le tour ! --- ### The Beatles – Hey Jude (en mode mineur) - **URL**: https://www.skyminds.net/the-beatles-hey-jude-en-mode-mineur/ Voici Hey Jude des Beatles dans une version retravaillée dans le mode mineur par Oleg Berg, un musicien et ingénieur ukrainien : https://majorvsminor.bandcamp.com/track/hey-jude-the-beatles-minor-key-rework La chanson prend alors une toute autre dimension : cela devient triste et mélancolique. Hey Jude a été écrite pour Julian, le fils de John Lennon. --- ### Alex Clare – Too Close (Live Session) - **URL**: https://www.skyminds.net/alex-clare-too-close-live-session/ Après la version dubstep, voici une version acoustique de Too Close d'Alex Clare : https://www.youtube.com/watch?v=iJDOVnoEybI --- ### The Outlaws – Green Grass and High Tides - **URL**: https://www.skyminds.net/the-outlaws-green-grass-and-high-tides/ The Outlaws est un groupe de rock sudiste qui s'est formé à Tampa (Florida) en 1972 – connu pour ses attaques rock et ses harmonies countries jouées à 3. Les trois premiers albums du groupe (The Outlaws, Lady In Waiting et Hurry Sundown) ont donné des tubes comme “There Goes Another Love Song”, “Green Grass & High Tides”, “Knoxville Girl” et “Freeborn Man” – des classiques du rock sudiste. Voici Green Grass and High Tides, live @ Gilford en 2007 : https://www.youtube.com/watch?v=DGrZwU6wde0 Baptisés ‘The Florida Guitar Army’ par leurs fans, The Outlaws ont gagné une formidable réputation lors de leurs concerts et ont joué aux côtés de The Allman Brothers, Lynyrd Skynyrd, The Marshall Tucker Band, The Charlie Daniels Band ou encore The Doobie Brothers, The Who, The Eagles et The Rolling Stones. --- ### Concert de Juke ft Karl W. Davis et Sugaray au Ferrailleur de Nantes - **URL**: https://www.skyminds.net/concert-juke-karl-davis-sugaray-ferrailleur-nantes/ Jeudi dernier, j'ai emmené ma mère au Ferrailleur pour assister au concert de Sugaray, avec Juke et Karl Davis en première partie. JUKE Feat. KARL W. DAVIS Juke est un groupe nantais avec une section de cuivres énergiques et un son brut. Ce soir-là, ils étaient accompagnés par Karl W. Davis, un chanteur soul du sud des Etats-Unis. Un bon concert pour une première partie, beaucoup de cuivres et de la bonne soul. SUGARAY Sugaray a une voix à la Otis Redding, des pas à la James Brown, un show puissant et groovy porté par une grosse section cuivre. Sur scène, ses prestations furieuses suscitent l'embrasement immédiat du public. Les guitares s'échauffent, les cuivres résonnent, les frissons se propagent. C'est assez étonnant de voir un tel gaillard, taillé comme un camion, bouger sur scène comme il le fait. Une fois n'est pas coutume, j'ai filmé un petit bout du concert : https://www.youtube.com/watch?v=kcUN0EqG7KA Il est accompagné de superbes musicien : un trompettiste des Temptations, le batteur de Whitney Houston... Le claviériste a été très bon à l'orgue et au saxophone. Le guitariste est un véritable tueur : il avait un son d'enfer, pouvait jouer ce qu'il voulait - il sonne beaucoup comme Orianthi dans son jeu et c'est extrêmement entraînant et groovy. https://www.youtube.com/watch?v=y8zComNqk54 Les petits plus : on a mangé dans la même crêperie que les musiciens, c'était assez drôle de les côtoyer dans un lieu commun avant de les retrouver dans la salle de concert. J'ai beaucoup aimé le blues acoustique a capella et lorsque Sugaray est descendu dans la fosse pour chanter parmi nous. Vraiment cool! Un excellent concert ! --- ### The Neighbourhood – Say My Name/Cry Me A River (Radio1 Live Lounge) - **URL**: https://www.skyminds.net/the-neighbourhood-say-my-name-cry-me-a-river/ The Neighbourhood ont fait un petit détour par le Late Live Lounge de BBC Radio1 pour jouer une petite reprise surprise : https://www.youtube.com/watch?v=x_4pDDkSavY Le mashup mixe “Say My Name” des Destiny Child avec “Cry Me A River” de Justin Timberlake. Silky smooth and downtempo. --- ### Dialogues with Mister B. : premier contact - **URL**: https://www.skyminds.net/dialogues-with-mister-b-premier-contact/ Cette année, j'accueille dans ma classe une étudiante de 19 ans qui est en L3. Elle se prédestine à l'enseignement et assiste donc aux cours de toute l'équipe quand elle n'a pas cours à la fac. Voici ce qui s'est passé lorsque je l'ai présentée pour la première fois à l'une de mes classes de 3ème : Edifiant non ?? L'élève en question ne pose pas du tout problème, c'est un élève plutôt sérieux qui fait partie de la tête de classe. Je n'ai pas bien compris ce qui lui est passé par la tête ce jour-là. Pour un premier contact, c'était plutôt rock'n'roll ! Si avec tout ça, elle veut toujours faire partie de la maison, chapeau. --- ### Bad Education saison 1 et 2 - **URL**: https://www.skyminds.net/bad-education-saison-1-et-2/ Bad Education est une série britannique diffusée sur BBC3. Jack Whitehall joue un jeune professeur, Alfie Wickers – "the worst teacher ever to grace the British education system" – dans le collège fictif d'Abbey Grove School, à Watford, Hertfordshire. Déterminé à impressionner la jeune professeure qu'est Rosie Gulliver (Solemani), Alfie fait tout ce qu'il peut pour apparaître "cool", comme par exemple coacher l'équipe de football de l'école, organiser une amnistie pour les armes ou proposer un candidat pour les élections élèves. Il se tourne généralement vers sa classe - et plus particulièrement vers Joe, "the teacher's pet" - malgré tout l'irrespect et le dégoût qu'il leur inspire, pour qu'ils viennent à sa rescousse. Mais il doit aussi composer avec les frasques excentriques du principal, Shaquille "Simon" Fraser (Mathew Horne) et aux attentes de sa sous-principale, Isobel Pickwell (Michelle Gomez). --- ### Dialogues with Mister B. : « incomparatible » - **URL**: https://www.skyminds.net/dialogues-with-mister-b-incomparatible/ Aujourd'hui, un petit dialogue avec mes 6èmes. Cette année, ils sont un peu différents des autres années. J'ai connu les imbus d'eux-mêmes dans le centre-ville, les faiseurs d'histoires en proche périphérie et cette année ce sont un peu des azimutés de la langue ! Nous découvrons donc l'adjectif incomparatible. --- ### Concert de Steve Hackett (Genesis) au Festival de Cornouaille à Quimper - **URL**: https://www.skyminds.net/concert-steve-hackett-genesis-festival-de-cornouaille/ Cet été, j'ai vu Steve Hackett - , guitariste de rock progressif britannique, membre de Genesis de 1971 à 1977 - en concert lors des 90 ans du Festival de Cornouaille à Quimper, en compagnie de mes parents et de Cécile. C'était le vendredi 26 juillet 2013 à 21 h 30 à l'Espace Gradlon. Cela n'a pas été facile de trouver où se garer mais nous y sommes parvenus, près des quais. Une petite marche plus tard, nous entrons sous le chapiteau. Il y a des chaises partout : dans la fosse et dans les gradins. Nous avisons une rangée de sièges dans les gradins, sans grands devant. La salle se remplit assez vite de connaisseurs quinquas et sexas, venus retrouver une partie de leur enfance. C'est le moment de sortir chercher les bières. On s'installe, on discute. Les gens sont venus en groupe et se plaisent à faire quelques prédictions sur les morceaux que nous allons entendre. Les lumières s'éteignent, le groupe arrive sur scène, tout le monde retient son souffle. Voici quelques vidéos pour vous donner un petit aperçu du concert du Steve Hackett Genesis Revisited Tour 2013, live in Quimper : Blood on the Rooftops: https://www.youtube.com/watch?v=y6BWgYEzHMc The Lamia: https://www.youtube.com/watch?v=02AAwBszg10 The Musical Box : https://www.youtube.com/watch?v=nxpj3AwL0yY I Know What I Like + Dance On A Volcano : https://www.youtube.com/watch?v=hD7OW0ZLQv8 Los Endos: https://www.youtube.com/watch?v=FNkFXI-PZxM Steve était accompagné du chanteur Nad Sylvan avec qui il a enregistré l'album Genesis Revisited II, un album de reprises de Genesis. Les musiciens étaient vraiment au top et le son super. Du grand Steve, de l'excellent Genesis et le meilleur du rock progressif. Que demander de plus ? Une saucisse-frite à la sortie, plus de deux heures de concert, ça donne faim ! Setlist D'après mes souvenirs : Watcher of the Skies Dancing With the Moonlit Knight Fly on a Windshield Broadway Melody of 1974 Horizons Blood on the Rooftops Unquiet Slumbers for the Sleepers... ...In That Quiet Earth Afterglow The Lamia The Musical Box I Know What I Like (In Your Wardrobe) Dance on a Volcano Supper's Ready Encore Firth of Fifth Los Endos Si vous avez l'occasion de voir Steve Hackett en concert, ne le loupez sous aucun prétexte! --- ### Vieilles Charrues 2013 : Neil Young and Crazy Horse - **URL**: https://www.skyminds.net/vieilles-charrues-2013-neil-young-and-crazy-horse/ Cette année, je suis allé au festival des Vieilles Charrues avec mon père. La dernière fois, c'était en 2008 avec ma soeur. Neil Young Nous étions 65.000 festivaliers sur la prairie de Kerampuilh, plus précisément sur la scène Glenmor, pour écouter Neil Young and Crazy Horse, son groupe privilégié depuis 1969. Neil Young & Crazy Horse, c’est un folk rugueux, terriblement addictif, baigné de guitares orageuses, ou surnage une voix à la fois haut perchée et nasillarde, reconnaissable entre mille. Songwriter et guitariste d'exception, le Loner livre sur scène un folk rock mâtiné à la fois de country et de grunge avec la même passion, la même envie qu’autrefois, à coups de guitares saturées et de riffs lancinants. Le rock furieusement électrique de la formation continue de surprendre ceux qui ne connaissent du sexagénaire que son versant paisible, révélé sur Harvest (1972), plus gros succès de sa carrière. Comes a time: https://www.youtube.com/watch?v=hWWWF-JOc7Y Guitariste puissant et inventif, Neil sculpte le son dans un déluge de saturation et de larsens pendant une bonne heure avant de livrer Heart of Gold, son plus gros tube, guitare sèche en bandoulière et harmonica autour du cou : https://www.youtube.com/watch?v=upUq13RfzSM Souriant et complice avec ses musiciens, Neil Young n'a pas besoin de discourir pour séduire le public. Aux côtés de pièces tirées de son dernier album, Psychedelic Pill, l'homme ne rechigne pas à revisiter ses grands succès, de Rockin' in the Free World à Cinnamon Girl, en passant par Mr Soul ou encore en reprenant Blowin' in the Wind de Bob Dylan : https://www.youtube.com/watch?v=45n-XMC7Dyw Après 2h20 de concert, il entonne My My, Hey Hey (Into the Black), furieuse ode au rock'n'roll qui finit en apothéose : https://www.youtube.com/watch?v=4btK83EcJN8 Neil Young s’est livré à fond, faisant gémir sa Gibson, chapeau sur les yeux, absorbé par sa guitare, la voix obsédante. Le sorcier a cherché le tonnerre, voulant déchirer les nuages. Ça sentait le feu, mais les cieux ont résisté à l’attaque, ne laissant passer que quelques gouttes. J'ai beaucoup aimé Walk Like A Giant (malgré les larsens qui ont duré un peu trop longtemps), dommage que personne ne l'ait mis sur Youtube. Setlist 01. Love And Only Love02. Powderfinger03. Psychedelic Pill04. Walk Like A Giant05. Hole In The Sky06. Comes A Time07. Heart Of Gold08. Blowin' In The Wind09. Singer Without A Song10. Ramada Inn11. Sedan Delivery12. Surfer Joe And Moe The Sleaze13. Rockin' In The Free World14. Mr. Soul---15. Cinnamon Girl16. Fuckin' Up17. Hey Hey, My My (Into The Black) Un concert inoubliable. ON A VU NEIL YOUNG !!! --- ### The Blacklist saison 1 - **URL**: https://www.skyminds.net/the-blacklist-saison-1/ The Blacklist est un nouveau drama diffusé sur NBC. Au casting, nous avons James Spader, Megan Boone et Harry Lennix. Raymond "Red" Reddington, l'un des fugitifs les plus recherchés par le FBI, se rend au quartier général du FBI à Washington, D.C. Il prétend qu'il peut collaborer avec le FBI afin d'arrêter de dangereux criminels et terroristes. Reddington pose une condition toutefois : il ne coopérera qu'avec Elizabeth Keen, une profiler du FBI qui vient tout juste de commencer, qu'il considère comme très spéciale. Après que le FBI utilise ses informations pour arrêter un terroriste, Reddington annonce que ce n'est que le premier d'une longue liste de criminels dont la plupart sont inconnus du FBI et qu'il a compilés sur ce qu'il appelle "The Blacklist". C'est assez réminiscent du Silence des Agneaux ce couple criminel/agent(e) du FBI. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### MGMT – Boogie Down - **URL**: https://www.skyminds.net/mgmt-boogie-down/ Great music and such a weird music video from MGMT, an American psychedelic rock band founded by Benjamin Goldwasser and Andrew VanWyngarden : https://www.youtube.com/watch?v=DI36UuFEZzw Tuning: Standard Intro Riff I e|---------------------------------------------------------------------------| B|---------------------------------------------------------------------------| G|---------------------------------------------------------------------------| D|-----7-----------5-----7-----------5---------------------------------------| (x2) A|-----------7-----------------7---------------------------------------------| E|---------------------------------------------------------------------------| Intro Riff II e|---------------------------------------------------------------------------| B|---------------------------------------------------------------------------| G|---------------------------------------------------------------------------| D|-5-----7-----5-----3-----5-----7-----9-----7-----5-----7------5-----3-----5| A|---------------------------------------------------------------------------| E|---------------------------------------------------------------------------| Verse Bass Line e|---------------------------------------------------------------------------| B|---------------------------------------------------------------------------| G|---------------------------------------------------------------------------| D|---------------------------------------------------------------------------| (x16) A|---------------------------------------------------------------------------| E|-----0-----3-----5-----0-----3-----5---------------------------------------| Verse Am Riding in your tank like you own it You keep on riding in your tank like you own it I said you know I wanna check out your components Girl, you know I wanna check out your components Am Bombing up the place like you own it You keep on bombing up the place like you own it I said you got the goods so baby won't you flaunt it You got the good stuff baby won't you flaunt it, go on flaunt it Chorus F C Said It's cool, you're touching my hand Dm Am Yeah it's cool, its cool, where we riding too? F C So come on sugar, you're touching my hand Dm Am Yeah it's cool, it's cool, where we riding to? Am I'm playing my guitar like I own it I keep on playing my guitar like I own it I said you know you wanna check out my components That's right you know you wanna check out my components Am You're touching on my hand like you own it You keep on touching on my hand like you own it I said you got the good stuff baby won't you flaunt it I said you got the good stuff baby won't you flaunt it Going flaunt it Chorus F C Said it's cool, you're touching my hand Dm Am Yeah it's cool, it's cool, where we riding to? F C So come on sugar, touching my hand Dm Am Yeah it's cool, it's cool, where we riding to? F C So come on Dm Am Yeah come on, where we riding to? F C Yeah come on Dm so come on Am I said, where we riding to? Intro Riff ************************************ | / slide up | \ slide down | h hammer-on | p pull-off | ~ vibrato | + harmonic | x Mute note | b Bend | pb Pre-bend | br Bend release | pbr Pre-bend release | brb Bend release bend ************************************ From "Time To Pretend" EP (2005). --- ### The IT Crowd saison 5 : « The Internet Is Coming » (2013) - **URL**: https://www.skyminds.net/the-it-crowd-saison-5-the-internet-is-coming-2013/ LA surprise de l'année, c'est le retour de The IT Crowd pour un unique épisode d'une heure. La production de "The Internet Is Coming", l'ultime épisode de la série, a commencé en 2011 et le tournage a eu lieu en juillet 2013 pour une diffusion fin septembre sur Channel 4. Voici les quelques mots de Chris O'Dowd (Roy) après le tournage de la finale : "It was lovely to say hello to the characters again - but also to say goodbye to them. I think we've probably done it now and I'd be surprised if we did any more." Une vidéo devient virale lorsque Jen renverse une tasse de café sur une sans-abri et Roy est catalogué comme un raciste des personnes de petite taille après s'être disputé avec l'une d'entre elles. A regarder en version originale: Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Nazaré Blow Up : surfer la plus grande vague du monde - **URL**: https://www.skyminds.net/nazare-blow-up-surfer-la-plus-grande-vague-du-monde/ Plusieurs surfeurs en quête de vagues géantes étaient massés lundi à Nazaré, au Portugal, pour tenter d’y établir un nouveau record de la plus grande vague du monde jamais surfée. Hélio Valentim a filmé l'évènement avec un Canon 7D et un objectif 300mm f.4, ce qui nous donne ce film magnifique: https://vimeo.com/78549744 Les surfeurs sont Carlos Burle, Sylvio Mancusi, Rodrigo Koxa, Maya Gabeira, Felipe "Gordo" Cesarano, Hugo Vau, Eric Rebiere, Pedro Scooby, Andrew Cotton et Garrett Macnamara. Le champion du monde en titre, Garret McNamara, a choisi de piloter le jetski au lieu de surfer car il ne se sentait pas suffisamment en sécurité. Carlos Burle et Andrew Cotton ont attrapé des monstres tandis que Maya Gabeira a tout juste survécu à un incroyable wipeout. Le record n’est pas encore officiellement établi, mais il se pourrait bien que le Brésilien Carlos Burle soit sacré champion. Il faut avoir un grain pour se jeter sur ce type de vagues. Cela me donne des frissons rien qu'à regarder la vidéo, je n'imagine même pas l'état des jambes sur la planche avec le bruit de la vague qui arrive derrière et qui explose tout sur son passage... Musique : Carmina Burana de Carl Orff. --- ### BASH : renommer une liste de fichiers en ajoutant un suffixe aléatoire - **URL**: https://www.skyminds.net/bash-renommer-fichiers-suffixe-aleatoire/ J’ai récemment eu à renommer toute une floppée de fichiers PDF en leur ajoutant un suffixe aléatoire. Rien de très compliqué, mais suffisamment répétitif pour ne pas le faire à la main. Bash peut très bien faire l’affaire. L’idée est simple : parcourir tous les fichiers .pdf d’un dossier, récupérer leur nom sans extension, générer un suffixe aléatoire, puis créer un nouveau nom de fichier. Voici la commande courte que j’utilisais au départ : for f in *.pdf; do cp "$f" "${f%.*}-$RANDOM$RANDOM.${f##*.}"; done Vite fait, bien fait. Mais on peut l’améliorer un peu, surtout si les fichiers sont nombreux, si leurs noms contiennent des espaces, ou si l’on veut éviter tout risque d’écrasement. Comprendre la commande La boucle parcourt tous les fichiers PDF du dossier courant : for f in *.pdf; do ... done La variable $f contient le nom du fichier en cours. Les guillemets autour de "$f" sont importants, car ils permettent de gérer correctement les noms de fichiers qui contiennent des espaces. Ensuite, cette partie récupère le nom du fichier sans son extension : ${f%.*} Et celle-ci récupère l’extension : ${f##*.} Le manuel Bash documente ces formes d’expansion de paramètres : ${parameter%word} supprime le plus court suffixe correspondant au motif, tandis que ${parameter##word} supprime le plus long préfixe correspondant au motif. Enfin, $RANDOM génère un nombre pseudo-aléatoire. En l’utilisant deux fois, on obtient un suffixe un peu plus long : $RANDOM$RANDOM Exemple : document.pdf document-1587324061.pdf Copier ou renommer les fichiers ? Dans la commande d’origine, j’utilise cp. Les fichiers originaux sont donc conservés. for f in *.pdf; do cp "$f" "${f%.*}-$RANDOM$RANDOM.${f##*.}"; done Si vous voulez vraiment renommer les fichiers, utilisez plutôt mv : for f in *.pdf; do mv "$f" "${f%.*}-$RANDOM$RANDOM.${f##*.}"; done La différence est importante : cp crée une copie avec un nouveau nom ; mv renomme le fichier original ; cp est plus prudent pour un premier essai ; mv est plus direct, mais moins indulgent. Les commandes cp et mv viennent de GNU Coreutils sur la plupart des distributions Linux. La documentation de mv précise aussi les options utiles comme --no-clobber ou --update selon les cas. Faire un dry-run avant de renommer Avant de lancer une commande qui renomme beaucoup de fichiers, je conseille toujours de faire un test à blanc. Le principe : afficher ce qui serait fait, sans modifier les fichiers. for f in *.pdf; do printf 'cp -- %q %q\n' "$f" "${f%.*}-$RANDOM$RANDOM.${f##*.}" done Ou, pour une commande de renommage : for f in *.pdf; do printf 'mv -- %q %q\n' "$f" "${f%.*}-$RANDOM$RANDOM.${f##*.}" done Si le résultat vous convient, remplacez printf par cp ou mv. C’est moins spectaculaire qu’un renommage raté, mais nettement meilleur pour la tension artérielle. Éviter les collisions de noms $RANDOM est pratique, mais il ne garantit pas une unicité absolue. Si vous renommez quelques fichiers, le risque de collision est faible. Si vous traitez des milliers de fichiers, mieux vaut être plus prudent. On peut d’abord ajouter l’option -n avec cp ou mv pour éviter d’écraser un fichier... --- ### Misfits saison 5 - **URL**: https://www.skyminds.net/misfits-saison-5/ Voici la cinquième et dernière saison des Misfits sur E4 ! Cette dernière saison se compose de 8 épisodes et marquera le premier anniversaire de l'orage. Un groupe de soutien se met en place pour ceux qui ont des pouvoirs indésirables comme coudre les visions du futur, retirer les pouvoirs des autres lors de relations sexuelles ou se transformer en tortue... Un barman nommé Alex se rend compte qu'il a acquis un nouveau super pouvoir étrange qu'il doit utiliser sur l'un des membres du gang. Il finit par écoper de TIG et et rejoint finalement les Misfits. Pendant ce temps, l'alter ego de Rudy rejoint un mystérieux groupe de soutien. A regarder en VO. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Lou Reed, leader du Velvet Underground, meurt à 71 ans - **URL**: https://www.skyminds.net/lou-reed-leader-du-velvet-underground-meurt-a-71-ans/ Agé de 71 ans, le rocker new yorkais Lou Reed est décédé ce dimanche d'une complication post-opératoire après sa récente greffe du foie. Lewis Allan "Lou" Reed, né en 1942 à Brooklyn, était un artiste majeur, une source d’influence pour de très nombreux musiciens dans les années 70, 80, 90 et encore aujourd’hui. Après avoir été la tête pensante du Velvet Underground dans la fin des années 60 à New York, il a débuté une brillante carrière solo en 1972. Son second album «Transformer» (1972) avait été produit par son grand ami David Bowie. Sur celui-ci, on retrouvait de petites merveilles telles que «Vicious», «Satellite of Love» ou encore «Perfect Day». Sorti en 1973, l’album «Berlin» avait été souvent qualifié par la critique de «Sgt Pepper noir», un album très sombre racontant la descente aux enfers d’un couple de junkies berlinois. Les albums «Coney IslandBaby» (1975), «Street Hassle» (1978), «The Bells» (1979), «The Blue Mask» (1982), «New York» (1989) ou encore son «Songs for Drella» - album en duo avec John Cale, son collègue de Velvet Underground et hommage à leur mentor Andy Warhol - font partie des grands moments de sa carrière. Son dernier album en date, «Lulu» (2011), était une collaboration avec le groupe Metallica. https://www.youtube.com/watch?v=S05JrOJ1_ik RIP Lou Reed, take a rest on the wild side. --- ### Windows XP : sauvegarder l’activation avant réinstallation - **URL**: https://www.skyminds.net/windows-xp-sauvegarder-activation-reinstallation/ Windows XP appartient désormais au musée vivant de l’informatique. Pourtant, beaucoup de machines l’utilisent encore pour faire tourner un vieux scanner, un logiciel métier, une machine industrielle, un poste hors ligne ou un environnement de test. Si vous devez conserver une installation Windows XP légitime, une précaution reste utile avant toute réinstallation : sauvegarder les fichiers d’activation. Cela peut éviter une réactivation pénible sur une machine ancienne, surtout si le réseau, les pilotes ou l’activation en ligne posent problème. Mais soyons précis : cette méthode ne transforme pas une licence XP en licence portable sur n’importe quel ordinateur. Elle sert surtout à restaurer l’activation sur la même machine, avec la même édition de Windows XP et un matériel très proche. Windows XP est hors support depuis le 8 avril 2014 Microsoft a mis fin au support étendu de Windows XP le 8 avril 2014. Depuis cette date, XP ne reçoit plus les correctifs de sécurité classiques. Cela ne veut pas dire que la machine cesse de fonctionner, mais elle ne doit plus servir de poste principal connecté à Internet. Ce guide s’adresse donc à des cas précis : maintenance d’un vieux logiciel, conservation d’un PC hors ligne, récupération d’un environnement historique, machine virtuelle ou poste industriel isolé. Pour un usage web quotidien, la bonne réponse n’est pas de bricoler l’activation. C’est de migrer. XP a eu une belle carrière, mais il a clairement rendu son badge. Ce que Windows XP stocke dans WPA.DBL et WPA.BAK Windows XP stocke une partie de l’état d’activation dans des fichiers situés dans le dossier système : C:\Windows\System32\WPA.DBL C:\Windows\System32\WPA.BAK Le fichier principal est WPA.DBL. Le fichier WPA.BAK peut aussi exister et servir de sauvegarde associée. Quand vous préparez une réinstallation, sauvegardez les deux si possible. Ces fichiers ne remplacent pas votre clé produit. Ils ne remplacent pas non plus une licence valide. Gardez donc aussi l’étiquette COA, la clé de licence, le CD d’origine, l’ISO propre ou l’image disque complète de la machine. Quand cette méthode peut fonctionner La restauration de WPA.DBL a surtout des chances de fonctionner dans ce scénario : vous réinstallez la même édition de Windows XP ; vous utilisez la même clé produit ; vous réinstallez sur le même ordinateur ; la carte mère n’a pas changé ; le type de licence reste identique : OEM, Retail ou Volume ; le Service Pack est cohérent avec l’installation précédente ; vous restaurez les fichiers avant de lancer une nouvelle activation. Si vous changez de PC, de carte mère, d’édition ou de canal de licence, ne comptez pas sur cette astuce. L’activation XP prend en compte l’empreinte matérielle. Ce petit fichier n’est pas un passe-partout magique, même s’il a longtemps eu cette réputation dans les forums. Avant toute chose : sauvegardez mieux que deux fichiers Sauvegarder WPA.DBL, c’est utile. Sauvegarder toute la machine, c’est nettement mieux. Avant de réinstaller Windows XP, préparez au minimum : une image disque complète ; une copie des fichiers personnels ; les pilotes réseau, chipset, vidéo et audio... --- ### Ukulele Duet – Hotel California - **URL**: https://www.skyminds.net/ukulele-duet-hotel-california/ Reprendre Hotel California au ukulélé ? Challenge accepted avec un talent de dingue : https://www.youtube.com/watch?v=r6BYgBnyDQs Génial. --- ### OVH : activez PHP-FPM sur votre hébergement - **URL**: https://www.skyminds.net/ovh-activer-php-fpm-sur-les-offres-mutualisees/ OVH est en pleine implémentation du module PHP-FPM sur ses offres, (et ici dans leur guide), ce qui permettrait selon la team OVH "d'accélérer les temps de réponses de PHP et d'obtenir des performances jusque 7 fois plus rapides dans nos labos par rapport au moteur actuel". Activation de PHP-FPM Pour activer ce mode sur votre offre, il suffit de créer un fichier .ovhconfig à la racine de l'arborescence FTP, dans le dossier parent du répertoire /www. Si vous souhaitez activez PHP 7, voici ce que doit contenir votre .ovhconfig: app.engine=php app.engine.version=7.0 http.firewall=none environment=production Si vous souhaitez activez PHP 5.6, voici ce que doit contenir votre .ovhconfig: app.engine=php app.engine.version=5.6 http.firewall=none environment=production Explication des variables du fichier ; ovhconfig ; ; this file must be placed in $DOCUMENT_ROOT/.ovhconfig ; see examples on our guide: //TODO// ; __app.engine__ ; ; values: php (php engine + opcache accelerator) ; notice: if php, a phpcgi engine will be activated as fallback (if previous engine crash) ; ; php: ; IMPORTANT: register_globals and magic_quotes_gpc are off for security ; php optiones .htaccess (like php version) are ignored ; phpcgi: ; IMPORTANT this is a fallback or previous system ; in this case __app.engine.version__ will be considerated as AUTO and php version will be old system ; (meaning depending .htaccess or .phpX extension) ; app.engine=php ; __app.engine.version__ specify version of your engine ; ; for php: ; default: 5.4 ; for phpcgi: ; this options is ignored (= fallback in AUTO) ; app.engine.version=7.0 ; __http.firewall__ used to add application firewall (filter http requests) ; ; values: none | security ; default: none ; http.firewall=none ; __environment__ ; ; values: production | development ; ; production: ; apache will maximise local cache ; mod_expires will grow up TTL of js, css, pdf, images, video, audio ; you can override it changing expiration explicitly or in your .htaccess ; feel free to look on our guide. ; development: ; no expiration is added, files are not locally in cache, ; will speed up tests but decrease performances ; ; choosen environment will also be available in your variable ENVIRONMENT unix env ; ; default: production ; environment=production La version actuelle du moteur PHP-PFM est la 5.4 par défaut mais mieux vaut installer la 5.6 pour bénéficier des mises à jour et optimisations. Notez qu'avec ce mode et pour des raisons de sécurité, les options suivantes sont désactivées (options dépréciées par php): register_globals magic_quotes_gpc Testé et approuvé sur plusieurs pack mutualisés. PHP7 apporte un véritable gain de performance dans le traitement et le rendu des pages. --- ### The Neighbourhood – Sweater Weather - **URL**: https://www.skyminds.net/the-neighbourhood-sweater-weather/ The Neighbourhood (aka "THE NBHD") est un groupe de rock alternatif formé en 2011 autour de Jesse Rutherford (vocals), Jeremy Freedman et Zach Abels (guitares), le bassiste Mikey Margott, et le batteur Bryan Sammis. Ils viennent de Californie mais ont choisi l'orthographe britannique pour leur nom de scène. https://www.youtube.com/watch?v=GCdwKhTtNNw C'est tout doux ce rock californien. Leur premier album, I Love You est sorti le 23 avril 2013 chez Columbia Records. Site officiel. --- ### WordPress : afficher la date en français dans le thème (sans utiliser le pack de langue ou setlocale()) - **URL**: https://www.skyminds.net/wordpress-date-en-francais-theme/ Cela fait des années que j'utilise le même thème graphique pour mon site et je n'ai jamais vraiment pris le temps de traduire la date de publication ou de mise à jour des articles en français. Le tutoriel qui suit ne s'adresse qu'à un cercle réduit de développeurs : il est évidemment bien plus aisé d'installer WordPress en français (avec le langage pack qui convient) ou d'utiliser la fonction PHP setlocale() comme je l'avais fait précédemment avec WP-Date FR. Dans mon cas bien précis, je n'ai pas accès aux locales étant donné que le serveur est installé en anglais. Je ne souhaite pas non plus installer la locale française, qui serait alors ajoutée à tous mes paquets Debian. Et je ne souhaite pas non plus utiliser la traduction française de WordPress. It's coding time ! La fonction sky_date_french() Vous pouvez placer cette fonction dans le fichier functions.php de votre thème : /* |----------------------------------------------------------------------- | Sky Date in French by Matt - www.skyminds.net |----------------------------------------------------------------------- | | Returns or echoes the date in French format (dd/mm/YYYY) for WordPress themes. | */ function sky_date_french($format, $timestamp = null, $echo = null) { $param_D = array('', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam', 'Dim'); $param_l = array('', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi', 'Dimanche'); $param_F = array('', 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'); $param_M = array('', 'Jan', 'Fév', 'Mar', 'Avr', 'Mai', 'Jun', 'Jul', 'Aoû', 'Sep', 'Oct', 'Nov', 'Déc'); $return = ''; if(is_null($timestamp)) { $timestamp = mktime(); } for($i = 0, $len = strlen($format); $i < $len; $i++) { switch($format[$i]) { case '\\' : // fix.slashes $i++; $return .= isset($format[$i]) ? $format[$i] : ''; break; case 'D' : $return .= $param_D[date('N', $timestamp)]; break; case 'l' : $return .= $param_l[date('N', $timestamp)]; break; case 'F' : $return .= $param_F[date('n', $timestamp)]; break; case 'M' : $return .= $param_M[date('n', $timestamp)]; break; default : $return .= date($format[$i], $timestamp); break; } } if(is_null($echo)) { return $return;} else { echo $return;} } Fonctionnement La fonction sky_date_french($format, $timestamp = null, $echo = null) prend 3 arguments : $format : le format standard de la fonction PHP date(). Ici, nous utiliserons 'l d F Y'.$timestamp : la date au format GMT. Sous WordPress, nous utiliserons get_post_time('U', true)$echo : si $echo est défini, on affiche le résultat, sinon on le renvoie simplement. Nous utiliserons donc la fonction comme ceci : sky_date_french('l d F Y', get_post_time('U', true), 1); Les fichiers du thème J'ai modifié les fichiers suivants : front-page.php, index.php, single.php, page.php et archive.php. Dans la plupart de ces fichiers, j'ai remplacé : the_time('l d F Y'); par sky_date_french('l d F Y', get_post_time('U', true), 1); Certains de mes fichiers affichent aussi la date de dernière mise à jour. Voici le code complet : --- ### Steve Berke – Pot Shop - **URL**: https://www.skyminds.net/steve-berke-pot-shop/ Je vous avais parlé il y a quelques temps de Macklemore's Thrift Shop, qui est ensuite passé en boucle sur toutes les radios de djeun's du monde. En voici une parodie faisant l'apologie de la légalisation du cannabis dans l'etat de Washington par l'humouriste Steve Berke, filmé avec Sexy Sax Man, Towelie, David King Cain et Amanda Cerny, Playmate pour Playboy : https://www.youtube.com/watch?v=Znpt_Umixcs Im gonna smoke some weed, only got 20 dollas in my pocket Imma huntin, looking for a pot shop, this is fucking awesome!Walk into my house like what up, i got some good pot I'm just pumped up got some herb from the pot shop Ice in my fridge it used to be frosty My friends like "Damn, that's a stoned ass donkey!" Rollin' in hella high, looking like it's fifa time Dominating all my friends, as I eat some chili fries Draped in a snuggie with my girl sitting next to me Probably shouldn't have had a big gulp full of ice tea PISS! But shit it was 99 cents!I be blazin and smokin it Bout to go and get some munchie snacks, passing up on those cracker jacks Reeces Pieces are where it's at, Gotta get me some soda pop Cotton mouth has been creeping up But can't remember where I put my keys, Yeah, that's what's up. Imma take your grandpa's ride, Imma take your grandpa's ride No for real, ask your grandpa, Can I take his 65? Deville Cruisin to my local Publix Nothing better than rolling with 2 super fly chicks! They had frozen burritos, I bought frozen burritos I bought some Ben and Jerry's, then I bought some Cheetos Hello, Hello, my main man Obama A couple states have just reformed their laws on marijuana Whatcha gonna do, send the feds there? Hell no! The DEA's would be like "Ah, they got Volcano"What you know about the science of marijuana? What you know about people suffering from glaucoma? They need it, they need it, it helps them with their condition If don't believe me, then just ask some eye physicians Thank your granddad for voting for that guy Richard Nixon is the President who made the plant illegal But science is now showing that its medicine for people And the private sector's fighting to keep all of that illegal Alcohol and Tobacco, Pharmaceutical, Prisons I'll take those four major lobby groups and fight those motherfuckers They making money day and night, all those motherfuckers And bribing congress out of sight, all those motherfuckers They be like, "Oh, it's immoral and unhealthy" I'm like how many people are you making wealthy Anti-marijuana lobbies are making all kinds of profits And they don't want you to stop it cause of all the special interests I call that getting swindled and pimped, shit I call that getting tricked by the government, that law's hella old So its time to update it, regulate it, and then get it under state control Peep Game, look into... --- ### The Walking Dead saison 4 - **URL**: https://www.skyminds.net/the-walking-dead-saison-4/ Voici la quatrième saison de The Walking Dead qui vient de commencer sur AMC! Michael Cudlitz (Southland) et Josh McDermitt ont rejoint la série. Ils joueront respectivement le Sgt. Abraham Ford et le docteur Eugene Porter, deux personnages issus de la bande dessinée. Christian Serratos jouera Rosita Espinosa – la compagne de route d’Abraham et Eugene. Rick et son groupe sont très près de mener une vie aussi idéale que possible au sein de la prison. Mais seront-ils capable de s'accrocher à ce qui leur reste d'humanité face à un nouveau danger ? Eugene annonce lors de sa rencontre avec Rick et ses amis qu’il connait l’origine du mal qui ronge la planète et qu’il est en route pour Washington D.C. afin de délivrer ses informations à des survivants du gouvernement. Comme la saison dernière, AMC diffusera cette nouvelle saison en deux fois : les 8 premiers épisodes seront diffusés du 13 octobre au 1er décembre. Les épisodes restants seront diffusés à partir de février 2014. A regarder en version originale. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Hanni El Khatib – You Rascal You - **URL**: https://www.skyminds.net/hanni-el-khatib-you-rascal-you/ Hanni El Khatib, alias HEK, est un chanteur-compositeur-interprète de rock né en 1981, basé à Los Angeles. https://www.youtube.com/watch?v=Dmfy_5nAH_U Il associe blues, groove et riffs cinglants et est produit par Dan Auerbach, guitariste et chanteur des Black Keys : cela se ressent fortement au niveau du son ! Je l'ai vu lors du festival des Vieilles Charrues le 20 juillet 2013, c'était pas mal du tout. --- ### Eastbound and Down saison 4 - **URL**: https://www.skyminds.net/eastbound-and-down-saison-4/ Après l'annulation l'année dernière, Eastbound and Down renaît de ses cendres pour une quatrième saison sur HBO et normalement (!) ce devrait bien être la der des der! Kenny Powers est maintenant père de famille, avec sa femme April, deux enfants et une maison dans une banlieue paisible. Tout va pour le mieux dans le meilleur des mondes lorsque lors d'une soirée avec un de ses anciens équipiers et actuelle star de la télé pousse Kenny à sortir de l'ombre pour retrouver les feux de la rampe. Huit épisodes sont prévus cette saison, à regarder en VO. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Cassette Kids – Lying Around - **URL**: https://www.skyminds.net/cassette-kids-lying-around/ Cassette Kids est un groupe formé à Sydney en 2007. Anciennement connu sous le nom Casa Del Disco, le groupe change son nom pour Cassette Kids car tous les membres du groupe sont nés dans les années 80 et ils pouvaient tous se souvenir de la première cassette qu'ils avaient eu entre les mains à l'époque mais pas du nom de leur premier CD. Lying Around n'est pas mal du tout : https://www.youtube.com/watch?v=VcUxAr2_dRo --- ### Linux: convertir une video MPEG4 (mp4) au format Webm - **URL**: https://www.skyminds.net/linux-convertir-video-mpeg4-mp4-au-format-webm/ Aujourd'hui, si veut publier une vidéo sur Internet qui soit lisible sur quasiment toutes les plateformes nativement, il peut être très intéressant d'utiliser le format WebM (proposé pour HTML5). WebM est un format multimédia ouvert basé sur un conteneur dérivé de Matroska, qui regroupe des flux vidéos encodés en VP8 et des flux audios encodés en Vorbis1. Ce format fait partie des formats vidéos proposés pour la balise video de HTML5. Après avoir encodé nos vidéos H.264 (MP4) avec qt-faststart pour la lecture progressive, nous allons désormais proposer deux formats de vidéo lorsque nous intégrerons nos propres vidéos : le MP4 (format propriétaire) et le WebM (format libéré) pour un accès universel sur toutes les plateformes. Encoder une seule vidéo MP4 en WebM Il suffit d'utiliser avconv comme ceci : avconv -i example.mp4 example.webm ce qui nous donne comme résultat : avconv version 0.8.6-4:0.8.6-0ubuntu0.12.04.1, Copyright (c) 2000-2013 the Libav developers built on Apr 2 2013 17:02:36 with gcc 4.6.3 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'example.mp4': Metadata: major_brand : mp42 minor_version : 1 compatible_brands: mp42avc1 creation_time : 2013-09-24 10:52:45 Duration: 00:43:27.39, start: 0.000000, bitrate: 294 kb/s Stream #0.0(eng): Video: h264 (Main), yuv420p, 320x240, 217 kb/s, 14.97 fps, 14.97 tbr, 2500 tbn, 5k tbc Metadata: creation_time : 2013-09-24 11:23:01 Stream #0.1(eng): Audio: aac, 32000 Hz, stereo, s16, 73 kb/s Metadata: creation_time : 2013-09-24 11:23:01 [buffer @ 0x183ec80] w:320 h:240 pixfmt:yuv420p [libvpx @ 0x183a4c0] v1.0.0 Output #0, webm, to 'example.webm': Metadata: major_brand : mp42 minor_version : 1 compatible_brands: mp42avc1 creation_time : 2013-09-24 10:52:45 encoder : Lavf53.21.1 Stream #0.0(eng): Video: libvpx, yuv420p, 320x240, q=-1--1, 200 kb/s, 1k tbn, 14.97 tbc Metadata: creation_time : 2013-09-24 11:23:01 Stream #0.1(eng): Audio: libvorbis, 32000 Hz, stereo, s16 Metadata: creation_time : 2013-09-24 11:23:01 Stream mapping: Stream #0:0 -> #0:0 (h264 -> libvpx) Stream #0:1 -> #0:1 (aac -> libvorbis) Press ctrl-c to stop encoding frame=39032 fps= 39 q=0.0 Lsize= 86385kB time=2607.34 bitrate= 271.4kbits/s video:63500kB audio:21841kB global headers:4kB muxing overhead 1.217530% Cela prend un peu de temps suivant la taille du fichier mais c'est assez simple. Encoder toutes les vidéos d'un dossier en Webm Allez, plus efficace : voyons maintenant comment nous pouvons traiter tout un lot de fichiers. Nous allons encoder tous les fichiers MP4 d'un dossier pour faire des fichiers WebM. Tout d'abord, on exporte la liste des fichiers à traiter dans un fichier nommé list : ls -1 *.mp4 | sed -e 's:\.[^./]*$::' > list La commande sed nous permet ici de récupérer la liste des fichiers tout en omettant l'extension des fichiers. Ensuite, on lance une boucle qui convertit chaque fichier au format WebM : for i in `cat list`; do avconv -i "$i".mp4 "$i".webm ; done Et voilà! Simple et efficace. --- ### Ish Marquez – Gin Is Not My Friend - **URL**: https://www.skyminds.net/ish-marquez-gin-is-not-my-friend/ Une autre chanson d'Ish Marquez, Gin Is Not My Friend : https://www.youtube.com/watch?v=e0KOdknAXbg Verse 1 I walk down the steps to the bar room So I can get a drink with my dealerless friend and I say If you can call me babe and if I can call her baby But she had told me you could call me Gin, your friend And I can suck tounge if you want to But you're gonna have to spend the money in your pockets if your cool If you're gonna act like a jack-ass You are going to stumble when you get up from the stool Chorus And we can get a drink now, Invite my friend tonic. And we'll have a little twist now. Verse 2 I walk up the steps from the barroom So I can get the night and a little fresh air and I say I'd better head back to my girlfriend Or she is going to kick my ass when I get home later today I open the door and there's a dark cloud standing in the way And there's a frown upon her face and so I see Today I'm going to die cause my girlfriends telling me I'd better find another place to stay Chorus And we can get a drink now, Invite my friend tonic. And we'll have a little twist now. --- ### Joan Jett – Dirty Deeds Done Dirt Cheap - **URL**: https://www.skyminds.net/joan-jett-dirty-deeds-done-dirt-cheap/ Parce que Joan Jett, elle est plutôt bien de sa personne... https://www.youtube.com/watch?v=2sky1tt8vLA Dirty Deeds Done Dirt Cheap est le 3ème album d'AC/DC, sorti en 1976. --- ### The Prodigy – Smack My Bitch Up (Noisia Remix) - **URL**: https://www.skyminds.net/the-prodigy-smack-my-bitch-up-noisia-remix/ Noisia, groupe de Drum & Bass, ont sorti un remix du tube de The Prodigy, “Smack My Bitch Up”, à la sauce dubstep. Voici un rip de l'émission Mista Jam sur BBC Radio 1 : https://www.youtube.com/watch?v=r5OgQCvqbYA Banging! --- ### Ubuntu : résoudre l’erreur « mount: unknown filesystem type exfat » - **URL**: https://www.skyminds.net/ubuntu-mount-unknown-filesystem-type-exfat/ La semaine dernière, une amie a branché son disque dur externe sur ma machine Ubuntu. Surprise : le disque n’était pas reconnu. Et c’est bien l’une des rares fois où j’ai vu Ubuntu bouder un périphérique de stockage aussi banal. Au moment du montage, une fenêtre de dialogue affichait cette erreur : Unable to mount XX GB Filesystem Error mounting: mount: unknown filesystem type 'exfat' Le message est assez clair : Ubuntu voit le périphérique, mais ne sait pas monter son système de fichiers. Dans ce cas précis, le disque est formaté en exFAT, un format très courant pour les clés USB, cartes SD et disques externes utilisés entre Windows, macOS, Linux, téléviseurs, consoles ou appareils photo. La solution consiste à installer le support exFAT adapté à votre version d’Ubuntu. Qu’est-ce que le système de fichiers exFAT ? exFAT, pour Extended File Allocation Table, est un système de fichiers développé par Microsoft. Il vise surtout les supports amovibles : clés USB, cartes SD, disques durs externes et SSD externes. Son intérêt principal est de dépasser les limites de FAT32. FAT32 reste très compatible, mais il ne permet pas de stocker des fichiers individuels de plus de 4 Go. exFAT, lui, convient beaucoup mieux aux gros fichiers : vidéos, images disque, archives, sauvegardes, exports photo ou projets volumineux. Microsoft décrit exFAT comme le système de fichiers utilisé par de très nombreux périphériques de stockage, notamment les cartes SD et clés USB, et a soutenu son intégration au noyau Linux. Voir l’annonce Microsoft sur exFAT et Linux. En pratique, exFAT est souvent le meilleur compromis quand on veut utiliser un disque externe entre Windows, macOS et Linux sans se battre avec des fichiers de 4 Go. Et ça, quand on transporte des vidéos ou des sauvegardes, ce n’est pas un détail. Pourquoi Ubuntu affiche “unknown filesystem type exfat” ? L’erreur apparaît lorsque le noyau Linux ou les outils installés sur le système ne savent pas gérer exFAT. Selon votre version d’Ubuntu, le support exFAT peut venir : du pilote exFAT natif du noyau Linux ; d’un pilote FUSE plus ancien, via exfat-fuse ; d’outils utilisateurs comme exfatprogs ou exfat-utils ; d’une combinaison entre pilote noyau et outils de vérification/formatage. Le support natif exFAT a été intégré au noyau Linux 5.7. Le projet exfatprogs explique d’ailleurs qu’il fournit les utilitaires officiels en espace utilisateur depuis l’intégration du nouveau système de fichiers exFAT dans Linux 5.7. Voir le projet exfatprogs. Ubuntu-fr résume aussi exFAT comme un système de fichiers créé par Microsoft pour les mémoires flash, notamment les clés USB et cartes SD. Voir la documentation Ubuntu-fr sur exFAT. Solution pour Ubuntu récent : installer exfatprogs Sur les versions récentes d’Ubuntu, le plus propre consiste à installer exfatprogs. Ce paquet fournit les outils modernes pour créer, vérifier, réparer et gérer les systèmes de fichiers exFAT, comme mkfs.exfat, fsck.exfat et tune.exfat. Le dépôt du projet indique justement que exfatprogs contient les utilitaires standards pour créer, corriger et déboguer les systèmes de fichiers exFAT sous Linux. Voir la... --- ### We Are Augustines – Chapel Song - **URL**: https://www.skyminds.net/we-are-augustines-chapel-song/ We Are Augustines est un groupe de rock américain, fondé en 2010 et basé à Brooklyn (New York), composé du guitariste Billy McCarthy, du bassiste Eric Sanderson et du batteur Rob Allen. J'aime bien leur Chapel Song : https://www.youtube.com/watch?v=LYXhAmlfNP0 A retrouver sur l'album Rise Ye Sunken Ships (2011). Site officiel. --- ### Sons of Anarchy saison 6 - **URL**: https://www.skyminds.net/sons-of-anarchy-saison-6/ Voici le retour des Sons of Anarchy pour une sixième saison sur FX. Jax a mis Clay dehors et a neutralisé ses ennemis politiques au sein du club. Les Sons sont maintenant un réseau criminel qui s'étend au-delà de Charming, libre de l'influence des mastodontes du crime comme Romeo Perada, the Irish Kings ou encore Damon Pope. Tara est en prison. Malgré son apparente puissance, le club est en ruine, avec des membres déprimés ou en exil et d'autres au bord de la démence. Encore 13 épisodes cette saison, à regarder en VO : Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Evil Needle – Falling Leaves - **URL**: https://www.skyminds.net/evil-needle-falling-leaves/ Evil Needle, né à Berlin et vivant en France, compose de la musique électronique depuis plus de 10 ans. Son morceau Falling Leaves est une invitation à un voyage subtil grâce aux mélange de synthétiseurs et pianos. https://www.youtube.com/watch?v=YiNLy-u6gcw C'est un peu planant, idéal pour oublier la journée. On peut retrouver cette chanson sur une compilation : Robot Soup. --- ### Wayne Janssen – Night Ride (Preston Reed cover) - **URL**: https://www.skyminds.net/wayne-janssen-night-ride-preston-reed-cover/ Allez, une petite reprise de Night Ride par Wayne Janssen, un guitariste canadien. Cette chanson est décrite par Preston Reed comme étant "blues in the beginning then goes insane" : https://www.youtube.com/watch?v=EUURZvEPtB0 Le concert était génial, si vous avez l'occasion d'y assister un jour, foncez! --- ### WordPress : exécuter un shortcode dans une fonction PHP - **URL**: https://www.skyminds.net/wordpress-executer-shortcode-dans-une-fonction/ Dans WordPress, un shortcode comme ou [contact-form-7] fonctionne très bien dans le contenu d’un article. Mais si vous le retournez directement depuis une fonction PHP, WordPress ne l’exécutera pas automatiquement. Autrement dit, ceci ne suffit pas toujours : return '[mon_shortcode]'; Dans ce cas, vous risquez d’afficher le texte brut du shortcode au lieu de son rendu HTML. Pour demander à WordPress d’interpréter le shortcode, il faut utiliser do_shortcode() ou apply_shortcodes(). Exécuter un shortcode avec do_shortcode() La méthode classique consiste à appeler do_shortcode() : --- ### Hellfest 2013 : day 3 - **URL**: https://www.skyminds.net/hellfest-2013-day-3/ Suite et fin de mes aventures au Hellfest 2013. Au campement Après une nuit plutôt courte (et sans duvet pour ma part donc plutôt fraîche!), on commence la journée par un petit déjeûner à l'arrache : sous la bruine, assis dans le coffre de la voiture en dégustant des petits pains au lait avec du jus d'orange. Oui, on vend du rêve ! On discute un peu avec nos voisins de tente et on prend quelques photos ensemble, histoire de marquer le coup et le Hellfest 2013 : Au moment de quitter notre campement, on se fait alpaguer par nos autres voisins qui visiblement ont du mal à tous émerger. Bon, y pleut là, venez donc boire une bière avec nous. Hmmm, okay! Et hop, nous voici tous serrés comme des sardines à boire de la Kro en mangeant du saucisson sous une toile cirée pour nous protéger de la pluie. On discute de tout et de rien : nos jobs, là où on vit, la musique qu'on écoute... c'est sympa aussi de découvrir les autres comme ça. Je crois qu'on y a passé 2 heures!! J'ai retenu que l'un des gars avait un camion à pizza place Zola à Nantes, j'y passerai un jour, promis. Concerts Avec un peu de retard, nous avons assisté à Riverside : concert excellent, peu de gens les connaissaient apparemment mais cela valait vraiment le coup. Danko Jones : inconnu chez moi mais ils ont vraiment cartonné lors de leur concert. C'était pêchu, bien dynamique comme il faut, idéal pour se réveiller ! https://www.youtube.com/watch?v=3Rp6UJunnJI Mass Hysteria : un groupe français que j'avais ignoré lorsque j'étais plus jeune. Et bien je peux dire que j'ai été agréablement surpris : une patate d'enfer et une symbiose avec le public impressionnant. https://www.youtube.com/watch?v=3hjURsxnENM Ils ont organisé un BraveHeart : un écart se creuse entre les deux parties du public et les deux formations se rencontrent comme dans un champ de bataille. Épique ! https://www.youtube.com/watch?v=Utf9DIZeM-Y KESKY'A ??? Positifs à bloc ! Jason Newsted (Metallica) et Voivod : bof bof. Et on s'est arrêtés là : Julia avait un train à prendre et moi j'étais examinateur pour le bac le lendemain... il me fallait être à 7h45 à St Nazaire donc nous avons quitté le champs sur fond de Gojira. Il y a quelques groupes que j'aurais aimé voir. Clutch par exemple, qui a annulé au dernier moment. Danzig, Napalm Death, Moonspell ou Volbeat, cela aurait pu être sympa aussi. On ira en écouter davantage au Hellfest 2014 :) --- ### Seven Lions – Isis (Deep Mix) - **URL**: https://www.skyminds.net/seven-lions-isis-deep-mix/ Seven Lions est un artiste qui vient de Los Angeles et qui nous apporte de la Progstep (Progessive Dubstep) avec un deep mix de son morceau “Isis”, présent sur l'EP Polarized. https://www.youtube.com/watch?v=0MWVr_VWTQ8 Un voyage dans le dubstep. A écouter avec un casque! --- ### Hell on Wheels saison 3 - **URL**: https://www.skyminds.net/hell-on-wheels-saison-3/ Hell on Wheels est de retour pour une troisième saison sur AMC. Cullen Bohannon revient au centre du show et abandonne son désir de vengeance pour sa famille pour continuer l'expansion vers l'ouest de l'Union Pacific Railroad, tout en combattant Thomas "Doc" Durant pour le contrôle. La tagline de cette saison est : "Outlaw In Charge". On débute avec deux épisodes, il y en aura 10 au total - à regarder en VO : Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Steve Winwood and Eric Clapton – Can’t Find My Way Home - **URL**: https://www.skyminds.net/steve-winwood-eric-clapton-cant-find-my-way-home/ Stephen Lawrence "Steve" Winwood, né le 12 mai 1948, est un musicien anglais aux genres variés : rock, blue-eyed soul, rhythm and blues, blues rock, pop rock, and jazz. Multi-instrumentaliste, il est capable de jouer des claviers, de la batterie, la basse, la guitare, la mandoline, le violon et autres instruments à cordes. Winwood été un membre phare des groupes The Spencer Davis Group, Traffic, Blind Faith et Go. En 2005 Winwood a été à l'honneur des BMI London Awards pour son "enduring influence on generations of music makers." En 2007, Steve Winwood rejoint Eric Clapton, Derek Trucks, et Doyle Bramhall au Crossroads Guitar Festival pour jouer un set de six chansons dont "Can't Find My Way Home", issue de leur répertoire lorsqu'ils jouaient dans Blind Faith : https://www.youtube.com/watch?v=8L82II1lNjo Très pur, très beau. --- ### Branches – To the Desert - **URL**: https://www.skyminds.net/branches-to-the-desert/ Branches est un groupe folk-rock californien qui s'est formé en 2010, qui se rapproche de Mumford & Sons. Leur dernier album, Thou Art The Dream, est teint de banjo festif et d'images vives. I came out to the desert To find what I lost in your eyes I filled my lungs with the sunset And walked out into the night I am a wandering soldier In this dusty land Nothing but the torn clothes on my back And the empty barrel in my hand "Onwards, broken-hearted soldier Into the great unknown Lay down your weapons and follow Into the light of the sun" When I couldn't walk any further I fell to my knees to pray With my final breath I cried out In the blowing wind I heard you say "Onwards, onwards good soldier Into the great unknown Hear the golden trumpets sounding Calling the tired soldiers home Onwards, broken-hearted soldier Into the great unknown Lay down your weapons and follow Into the light of the sun Onwards, onwards good soldier Into the great unknown Hear the golden trumpets sounding Calling the tired soldiers home" I came out to the desert To find what I lost in your eyes I filled my lungs with the sunset And walked out into the night J'aime bien ce petit côté cowboy song. --- ### Skins saison 7 - **URL**: https://www.skyminds.net/skins-saison-7/ Voici la septième et dernière saison de Skins sur E4 ! Effy a trouvé un travail comme réceptionniste pour un fond spéculatif à Londres et elle s'engage dans une relation avec son richissime patron. Elle tombe aussi sur des informations financières cruciales sur une affaire louche. Naomi, maintenant coloc d'Effy essaie de l'empêcher de rater sa vie mais Effy ne peut être arrêtée. La saison 7 commence un an après le dernier épisode de la saison 6. L'action a lieu au printemps, suggérant qu'une année s'est écoulée. Il y aura 6 épisodes, deux épisodes pour chacun des personnages principaux de chaque casting (Skins changeant d'acteurs toutes les deux saisons). Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Eddie Berman and Laura Marling – Dancing in the Dark (Bruce Springsteen cover) - **URL**: https://www.skyminds.net/eddie-berman-laura-marling-dancing-in-the-dark/ The Lab TV brought Eddie Berman and Laura Marling together in a Los Angeles recording studio. Here they are performing their serene take on Bruce Springsteen's Dancing in the Dark. https://www.youtube.com/watch?v=ul0aWaPAkak For more : Eddie Berman. --- ### Copper saison 2 - **URL**: https://www.skyminds.net/copper-saison-2/ Voici la seconde saison de Copper, diffusée sur BBC America. February 5, 1865. Five Points remains a bedlam. Young men are dying and disappearing at an alarming rate and a career criminal is terrorizing the Sixth Ward. With pressures from Tammany Hall raining down upon the police force, Detective Kevin Corcoran and the coppers of the Sixth Ward must follow the guidance of returned ward leader, General Brendan Donovan. Meanwhile, Doctor Matthew Freeman visits his mentor and is presented with an attractive offer that will cause a rift in his marriage. Uptown, Robert Morehouse and Elizabeth Haverford make plans for their wedding and Confederate spy Kennedy’s execution. In the tombs, Francis Maguire is set to learn his fate. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Luther saison 3 - **URL**: https://www.skyminds.net/luther-saison-3/ Deux ans après la seconde saison, voici le grand retour de Luther pour une troisième saison sur la BBC. John Luther, le détective de génie qui peine à gérer ses propres démons, doit enquêter sur deux crimes et gérer un ex-policier déterminé à l'abattre. La vie de Luther révolutionne autour de travail, jusqu'à ce que l'amour croise son chemin et lui offre une chance d'être heureux. Sienna Guillory (“Resident Evil,” “Love Actually”) est Mary, une femme qui travaille dans un magasin de vêtements vintage et qui rencontre Luther par hasard. Mais Mary est-elle prête à accepter le passé de Luther ? Et Luther peut-il le laisser derrière lui? Cette saison donnera lieu à un film dont le tournage débutera dans quelques mois. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Hellfest 2013 : day 2 - **URL**: https://www.skyminds.net/hellfest-2013-day-2/ Allez, deuxième journée du Hellfest 2013. Réveil plutôt difficile : plein soleil sur la tente, cela explose un peu les yeux de bon matin! Mais bon, visiblement je ne suis pas le seul à avoir les yeux bouffis : mes voisins aussi. On discute des groupes que l'on a vu la journée précédente et des incontournables à ne pas manquer aujourd'hui. No shower! Il est 10h, Julia arrive vers midi. J'en profite pour essayer de trouver une douche. 30 minutes de route pour atteindre le camping Red. C'est un peu l'apocalypse ce camping. Les poteaux d'un barnum ont été sectionnés à mi-hauteur puis replantés à 1m20, on dirait le barnum des schtroumpfs. Recherche totalement infructueuse, on m'a vendu l'idée d'une douche et je ne l'aurais jamais trouvée ! Passage chez Leclerc pour organiser le petit déjeûner du lendemain. On a l'impression de vivre un exode mais dans une très bonne ambiance ("c'est juste des gens qui font leurs courses"), voici la vidéo de l'année dernière : https://www.youtube.com/watch?v=M_O8rpstD-Y Je vous rassure, ça c'est à l'ouverture des portes, quand j'y suis allé c'était un supermarché tout ce qu'il y a de plus normal! Retour au camp pour poser les affaires. Au moment d'y aller, on se fait inviter par les voisins de derrière (ceux qui cherchaient les clés de voiture) : bière, chaise de jardin, saucisson et tous muchés sous le barnum pour éviter la pluie diluvienne. L'occasion de discuter, faire connaissance et surtout de rigoler ! Nous y sommes restés pas mal de temps, assez pour louper Krokus. Les concerts D'abord, on est partis se chercher à manger et on s'est placés pour 3 Doors Down. J'avais acheté (!) l'album lors de sa sortie il y a quelques années mais j'ai été déçu par le live : pas de pêche, pas ce petit truc qui fait bouger. Ensuite, visite au hellfest merch et au marché où l'on trouve un peu de tout : t-shirts, albums, masques, cornes pour boire etc. J'en ai profité pour m'acheter un kilt. Cela nous aura permis d'éviter l'averse. Tiens, encore des gens bizarres : Retour pour Down, que j'ai vraiment bien aimé. Je les avais découvert avec Stone The Crow et cela m'a bien plu. Content de les avoir vu. A Day To Remember, bof. Accept, du métal britannique à l'ancienne, bof. Papa Roach, très bien!! Le chanteur a la patate et son concert était vraiment excellent. Lorsqu'il a annoncé que son groupe avait 20 ans, on s'est regardés avec Julia : "purée, on est vieux !!!". Reality check! ZZ Top, on les avait déjà vu aux Vieilles Charrues et j'ai été déçu : Billy Gibbons ne joue pas tout maintenant! Il se contente du solo mais ne prend plus la peine de jouer tous les riffs. C'est moyen quand même! Par contre, j'ai bien apprécié le spectacle sur une petite scène en face de celle de ZZ Top où l'on pouvait voir quelques filles dénudées. Une bonne moitié du public est reparti avec un torticollis... --- ### Cam McAzie (aka The Bad Piper) – Thunderstruck (AC/DC cover) - **URL**: https://www.skyminds.net/cam-mcazie-aka-the-bad-piper-thunderstruck/ Voici une version épique du classique Thunderstruck d’AC/DC, par Cam McAzie (aka The Bad Piper) : https://www.youtube.com/watch?v=K-Op1Mng4oY Cet australien au look de guerrier punk en kilt reprend le standard des frères Young à la cornemuse! Ça dépote en kilt avec les flammes ^^ --- ### Dexter saison 8 - **URL**: https://www.skyminds.net/dexter-saison-8/ Et voici la huitième et ultime saison de Dexter, diffusée sur Showtime ! Six mois ont passé depuis le meurtre de LaGuerta et Dexter jongle toujours avec sa vie de papa, de frère et de tueur en série. Debra travaille maintenant comme détective privé pour une compagnie privée et Batista l'a remplacé au poste de Lieutenant. Pendant ce temps, Miami Metro enquête sur le meurtre d'un homme qui a eu des parties de son cerveau retirées. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Hellfest 2013 : day 1 - **URL**: https://www.skyminds.net/hellfest-2013-day-1/ Cette année, j'ai pu pour la première fois assister au Hellfest, festival de métal mythique qui se déroule dans la bonne ville de Clisson (44). Après une pause chez Décathlon pour aller chercher un matelas gonflable et une pompe, je me suis dirigé vers Clisson, qui se trouve à environ 40 km au sud de Nantes, armé de ma tente 2 secondes, un sac de vêtements de rechange et deux duvets. Arrivée au festival A Clisson, la file de voitures se dirigeant vers les portes du festival est tout simplement impressionnante. J'aperçois un taxi qui, excédé, fait demi-tour et emprunte une route parallèle. Je reconnais le nom du taxi comme celui faisant la navette du festival donc je me dis qu'il va prendre un raccourci. Je fais donc demi-tour et tente de le rattraper avant d'être stoppé par un feu rouge et de perdre mon chemin... ça commence! À un rond-point, j'aperçois un punk : rangers aux pieds, bermuda army, veste en jeans, blouson en cuir et une crête de 40 cm. Toi, tu vas au festival, tu dois bien connaître le chemin du camping? Bien sûr, j'y viens, d'ailleurs tu ne pourrais pas me déposer? Bien sûr! J'embarque le punk dans la C4 : ventripotent, il a du mal à s'installer, gêné par sa crête qui frotte contre le plafond. Ça me fait rigoler. Il me dit que sa carte bancaire a été refusée et qu'il a été obligé de se rendre à sa banque. Bref, on papote, on se perd 2 fois dans le bled (dans lequel il a passé son permis quand même) et finalement on arrive au pas derrière toutes les autres voitures. Je le lâche dans un rond-point - il s'appelle Jonathan et je peux passer au camping Red boire une bière quand je veux. Ok. Je suis les déviations et arrive finalement au parking. Des bénévoles tendent le bras et indiquent le chemin, où et comment se garer : on est loin du festival? A 20 minutes à pied. Ah oui quand même! Et le camping est où? Après le festival, un bon quart d'heure de marche. J'ouvre le coffre et constate l'étendue des choses à transporter. 40 minutes de marche avec tout ce bardas, c'est mort. Le temps de ma réflexion, une rangée de voitures s'est formée en épi après moi. Je hèle la demoiselle qui range les voitures. Il me faudrait de la place pour lancer ma tente. C'est pas un camping, c'est un parking, c'est dangereux. Peut-être mais je veux ma tente en face de la voiture. Elle me laisse une place. D'autres ont fait comme moi. D'ailleurs mes deux voisins en profitent pour monter leur tente à côté de la mienne. On fait connaissance : Florian et Christelle viennent de Laval, Brice et Valentin de Bordeaux. Sympas comme tout. Et hop, on se met en route vers le festival. Ceux qui sont arrivés un jour avant le début du festival se sont garés comme des sauvages sur les bas-côtés de... --- ### In lycée with Mister B. : « Martin Luther King » - **URL**: https://www.skyminds.net/in-lycee-with-mister-b-martin-luther-king/ Allez, premier jour d'oral du bac et ça commence déjà à perler très rapidement. Je suis de jury pour les terminales littéraires qui ont pris toutes les options (LVA et LELE pour ceux qui sont de la maison et qui reconnaitront ces sigles cabalistiques). Je pioche le dossier Civil Rights et ça ne manque pas : Cela fait toujours plaisir de découvrir un nouveau président des Etats-Unis. Et visiblement, cela ne trouble pas la logique de ma candidate qu'Obama soit le premier président noir américain... Cette semaine s'annonce épique ! --- ### Black Label Society – In This River (live) - **URL**: https://www.skyminds.net/black-label-society-in-this-river-live/ Tiens, il ne me semble pas avoir déjà posté de vidéo de Zakk Wylde (ancien guitariste d'Ozzy Osbourne) et qui a formé le groupe de bikers métalleux buveurs de bière connu sous le nom de Black Label Society. C'est chose faite avec cette version de In This River, en hommage au guitariste Dimebag Darrell : https://www.youtube.com/watch?v=foSkPjvuRv0 Et cela nous prépare les cages à miel pour le Hellfest ce weekend :) --- ### True Blood saison 6 - **URL**: https://www.skyminds.net/true-blood-saison-6/ True Blood nous revient sur HBO pour une sixième saison. On revient sur la réincarnation plutôt gore de Bill mais personne - même Sookie, Eric ou Jessica - ne sait vraiment qui ou ce qu'il est. D'ailleurs personne ne désire vraiment s'approcher pour le découvrir. Pendant ce temps, Alcide prend le pouvoir comme pack master et découvre qu'il y a quelques privilèges associés à cette position. Andy doit gérer le fait d'être papa. Le gouverneur de Louisiana déclare la guerre aux vampires. Et Jason fait de l'autostop avec un étranger plutôt louche. A regarder en VO : Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Optimiser les images JPG, PNG, WebP et AVIF sur un serveur Linux - **URL**: https://www.skyminds.net/serveur-linux-optimiser-images-jpeg-png-webp-avif/ Optimiser les images d’un site web reste l’un des leviers les plus efficaces pour réduire le poids des pages, accélérer le chargement et économiser de la bande passante. Sur un serveur Linux, on peut le faire proprement en ligne de commande, sans dépendre uniquement d’un plugin WordPress ou d’un service externe. Historiquement, deux outils faisaient très bien le travail : jpegoptim pour les JPEG et optipng pour les PNG. Ils restent utiles aujourd’hui. Cependant, l’optimisation moderne ne s’arrête plus aux fichiers JPG et PNG : il faut aussi penser WebP, AVIF, sauvegardes, traitement incrémental, logs et intégration WordPress. Voici une méthode propre pour optimiser des images sur un serveur Linux, sans transformer votre médiathèque en terrain d’expérimentation sauvage. Pourquoi optimiser les images côté serveur ? Les images représentent souvent une grande partie du poids d’une page web. Une photo trop lourde, un PNG non compressé ou une miniature générée sans optimisation peut ralentir tout un site, surtout sur mobile. Optimiser les images permet de : réduire le poids des pages ; améliorer les temps de chargement ; réduire la bande passante consommée ; améliorer l’expérience mobile ; limiter l’espace disque utilisé ; mieux préparer les images pour un CDN ; éviter de dépendre totalement d’un plugin ou d’une API payante. Le gain exact dépend du type d’image, de sa qualité initiale, de sa résolution et de son format. Mais sur un vieux site WordPress, une galerie photo ou une médiathèque jamais nettoyée, les économies peuvent être très visibles. Les images oubliées depuis 2011 ont souvent une belle marge de progression. Comme nous tous, finalement. Lossless ou lossy : quelle différence ? Avant de lancer une commande sur tout un serveur, il faut comprendre la différence entre compression sans perte et compression avec perte. TypePrincipeAvantageRisqueLosslessOptimise le fichier sans changer visiblement l’image.Très sûr pour les originaux.Gain parfois limité.LossyRéduit aussi la qualité visuelle pour diminuer le poids.Gain souvent beaucoup plus important.Dégradation possible si le réglage est trop agressif. Pour une première passe sur un serveur en production, commencez par du lossless. Vous réduisez le poids sans prendre de risque visuel important. Pour les images très lourdes, notamment les photos, une compression lossy raisonnable peut ensuite donner de meilleurs résultats. Il faut toutefois tester sur un échantillon avant de traiter toute la médiathèque. Quels outils utiliser ? Voici une base solide pour un serveur Linux moderne : FormatOutilUsageJPEG / JPGjpegoptimOptimisation lossless ou compression avec qualité maximale définie.PNGoptipngOptimisation PNG sans perte.PNGpngquantCompression PNG lossy, souvent très efficace pour réduire le poids.WebPcwebpConversion JPEG/PNG vers WebP.AVIFavifencConversion vers AVIF avec compression moderne.SVGsvgoNettoyage et optimisation des SVG. Dans cet article, on se concentre sur les images raster les plus courantes : JPEG, PNG, WebP et AVIF. Pour les SVG, le sujet mérite souvent un traitement séparé, car il faut éviter de casser des attributs, animations ou IDs utilisés par le CSS et JavaScript. Installer les outils sur Debian ou Ubuntu Sur Debian, Ubuntu ou une distribution dérivée, installez les outils de base : sudo apt update sudo apt install jpegoptim... --- ### George Barnett – Get Lucky (Daft Punk cover) - **URL**: https://www.skyminds.net/george-barnett-get-lucky-daft-punk-cover/ Sympa cette version de Get Lucky des Daft Punk par George Barnett dans laquelle il joue tous les instruments : https://www.youtube.com/watch?v=TuzOlIzSX6I Pêchue et entraînante cette version. --- ### Grading papers with Mister B. : « goldofish » - **URL**: https://www.skyminds.net/grading-papers-with-mister-b-goldofish/ Je commence une nouvelle série, intitulée "Grading papers with Mister B." et dédiée aux productions écrites de mes élèves. Comme ce ne sont pas vraiment des dialogues à proprement parler, mieux vaut les classer dans une nouvelle catégorie. Cela va de la 6ème à la Terminale pour le moment et on commence par une production de mes 5èmes : Cela me fait toujours rire ce genre de copies :) --- ### Orphan Black saison 1 - **URL**: https://www.skyminds.net/orphan-black-saison-1/ Orphan Black est une série télévisée canadienne créée par Graeme Manson et John Fawcett diffusée depuis le 30 mars 2013 sur Space2 et aux États-Unis sur BBC America. Nous suivons donc Sarah, une outsider orpheline éduquée dans la rue qui, après avoir été témoin du suicide d'une femme, décide de prendre l'identité de cette dernière, qui lui ressemble étonnamment. Elle va alors se frotter à un univers mystérieux, et se rendre compte qu'elle et la femme dont elle a pris l'identité sont clones, qu'il en existe d'autres, et qu'un assassin essaie de les tuer, une à une. Dix épisodes pour cette première saison, qui est vraiment bien ficelée. La série a déjà été renouvelée pour 2014 et nominée pour les TCA Awards 2013. Je recommande en VO : Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Dancing on : Daft Punk – Get Lucky - **URL**: https://www.skyminds.net/dancing-on-daft-punk-get-lucky/ If you're into dancing, here's a really cool video from the dancing days of the disco/funk era (Papa was a Rolling Stone) mashed up with Get Lucky by Daft Punk : https://www.youtube.com/watch?v=4rV2pfTbBxU Soul Train is an American musical variety show created by Don Cornelius that aired in syndication from 1971 to 2006. In its 35-year history, the show primarily featured performances by R&B, soul, and hip hop artists, although funk, jazz, disco, and gospel artists have also appeared. Check out those moves... so much win!! You can find the track on Random Access Memories (2013). --- ### GEMS – Never Age - **URL**: https://www.skyminds.net/gems-never-age/ GEMS est le duo formé par Clifford John Usher et Lindsay Pitts en 2012. Basés à Washington D.C. ils jouent de la dream-pop tout en finesse. Un exemple avec la chanson Never Age : https://www.youtube.com/watch?v=K0aeTTiuMnk La voix de Lindsay Pitts vous enveloppe comme du coton. --- ### Mad Dogs saison 3 - **URL**: https://www.skyminds.net/mad-dogs-saison-3/ Les vacances infernales de Woody (Max Beesley), Quinn (Philip Glenister), Rick (Marc Warren) et Baxter (John Simm) ne sont toujours pas terminées : Mad Dogs reprend pour une troisième saison sur Sky. Le repos et la récupération ne sont définitivement pas au programme : les quatre amis finissent dans une prison délabrée au beau milieu d'un désert aride. Ressemblants à des prisonniers de Guantanamo Bay, les gars sont interrogés par leurs mystérieux kidnappers et se font violemment attaquer par un autre prisonnier qui s'appelle Mercedes (Jaime Winstone). Et pour couronner le tout, ils apprennent que des criminels psychotiques cherchent à les assassiner... Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Brother Dege – Too Old to Die Young - **URL**: https://www.skyminds.net/brother-dege-too-old-to-die-young/ J'ai regardé Django Unchained avec mes Premières la semaine dernière et dans la bande originale du film, j'aime beaucoup le morceau Too Old to Die Young de Brother Dege, un artiste du deep south des Etats-Unis : https://vimeo.com/56248802 C'est catchy ! J'ai bien aimé le film aussi, pas aussi violent qu'annoncé, surtout si on le considère comme un western (qui par définition est violent). Le traitement de la question raciale et du racisme aux USA aide bien à la prise de parole. Je m'arrête là, sinon je vais faire la critique du film ;-) --- ### SSH : activer le X11 forwarding sur un serveur Linux - **URL**: https://www.skyminds.net/serveur-dedie-activer-x11-forwarding-pour-ssh/ Si vous avez besoin de lancer une application graphique depuis un serveur distant via SSH, le X11 forwarding permet d’afficher l’interface de cette application sur votre machine locale. Le principe est simple : l’application tourne sur le serveur, mais son affichage graphique est transféré à travers la connexion SSH vers votre poste. C’est pratique pour lancer ponctuellement un outil graphique, tester une application X11, ouvrir un installeur visuel, utiliser xclock, xeyes, gedit, meld ou un utilitaire d’administration qui exige encore une interface. En revanche, cette fonctionnalité n’est pas toujours activée côté serveur. Si vous obtenez l’erreur suivante lors de la connexion, il faut vérifier la configuration SSH : X11 forwarding request failed on channel 0 Voici comment activer X11 forwarding proprement sur un serveur Debian, Ubuntu ou un serveur dédié Linux. À quoi sert le X11 forwarding ? X11 forwarding sert à transmettre l’affichage d’une application graphique distante vers votre écran local à travers SSH. Contrairement à VNC ou RDP, il ne lance pas un bureau distant complet. Il transfère seulement l’affichage d’une ou plusieurs applications X11. C’est donc léger pour des outils ponctuels, mais moins confortable pour une session graphique complète. Le client SSH demande le transfert X11 avec -X ou -Y. Le serveur SSH accepte ou refuse cette demande selon sa configuration. Si la demande est acceptée, SSH prépare une variable DISPLAY distante, généralement sous la forme localhost:10.0, puis gère l’authentification X11 avec xauth. OpenSSH documente les directives X11Forwarding, X11DisplayOffset et X11UseLocalhost dans la configuration du serveur. Par défaut, X11Forwarding est désactivé côté serveur sur OpenSSH. Voir la page de manuel Debian de sshd_config. Pré-requis côté client Avant de modifier le serveur, vérifiez que votre machine locale peut recevoir des applications X11. Sous Linux avec une session X11 classique, tout est souvent déjà prêt. Sous Wayland, beaucoup de distributions fournissent XWayland, ce qui permet encore d’afficher des applications X11. Sous macOS, il faut généralement installer et lancer XQuartz. Sous Windows, il faut utiliser un serveur X comme VcXsrv, Xming ou une solution équivalente. Sur un client Linux, vous pouvez déjà vérifier votre environnement local avec : echo "$DISPLAY" Si la variable est vide sur votre poste local, le serveur distant n’aura pas grand-chose à vous renvoyer. Oui, c’est le principe de la télévision sans écran. Étape 1 : installer xauth sur le serveur Sur le serveur distant, xauth doit être installé. SSH l’utilise pour gérer les cookies d’authentification X11. Sur Debian ou Ubuntu : sudo apt update sudo apt install xauth Sur AlmaLinux, Rocky Linux, RHEL ou Fedora : sudo dnf install xauth Vous pouvez vérifier sa présence avec : command -v xauth La commande doit renvoyer un chemin, par exemple : /usr/bin/xauth Sans xauth, le transfert X11 échoue souvent ou produit des erreurs du type Fake authentication data, Can't open display ou X11 forwarding request failed. Étape 2 : activer X11 forwarding côté serveur Sur le serveur, éditez la configuration du daemon SSH : sudo nano /etc/ssh/sshd_config Vérifiez ou ajoutez ces directives : X11Forwarding yes X11DisplayOffset 10 X11UseLocalhost... --- ### City and Colour – Of Space And Time - **URL**: https://www.skyminds.net/city-and-colour-of-space-and-time/ City and Colour est un projet parallèle de musique acoustique fondé par Dallas Green, guitariste et chanteur du groupe post-hardcore canadien Alexisonfire. Le nom "City and Colour" (Ville et Couleur) vient de son propre nom: Dallas et Green (Vert). Son raisonnement pour l'utilisation de ce nom est qu'il était mal à l'aise de publier l'album sous le nom de Dallas Green. Voici Of Space And Time, sortie en 2013 : https://www.youtube.com/watch?v=ay3V3_-8Vwc La voix au tout début me fait penser à une autre chanson mais je ne retrouve plus laquelle. J'ai l'impression d'avoir entendu ça quand j'étais petit. Anyone? --- ### Joan Jett – I Hate Myself For Loving You - **URL**: https://www.skyminds.net/joan-jett-i-hate-myself-for-loving-you/ Joan Jett (de son vrai nom Joan Marie Larkin), née le 22 septembre 1958 à Wynnewood dans la banlieue de Philadelphie, est une chanteuse de rock américaine. Elle est célèbre pour son groupe Joan Jett ∓ the Blackhearts et notamment son tube I Love Rock 'n' Roll. Je vous propose aujourd'hui I Hate Myself For Loving You de l'album Up Your Alley (1988) : https://www.youtube.com/watch?v=HPkTGm4RtVM Et c'est Mick Taylor, ancien guitariste des Rolling Stones, qui joue le solo. --- ### What About Your Mom – Harder Better Faster Stronger (Daft Punk cover) - **URL**: https://www.skyminds.net/what-about-your-mom-harder-better-faster-stronger/ Les internets ne parlent que de la sortie du dernier album de Daft Punk, Random Access Memories. Le style évolue, c'est plus hétéroclite qu'avant je trouve. Je vous propose de découvrir un autre groupe français, What About Your Mom, composé de Brice Delage (guitare/chant), Xavier Zolli (basse) et Franck Amand (batterie). Leur reprise de Harder Better Faster Stronger est tout simplement énorme : https://www.youtube.com/watch?v=g0EaLKj8I-I Electro-rock ! --- ### Tycho – A walk - **URL**: https://www.skyminds.net/tycho-a-walk/ Scott Hansen, alias Tycho, est un artiste californien qui compose de la musique électronique, ambient & chillwave. Petit aperçu avec A Walk : https://www.youtube.com/watch?v=mehLx_Fjv_c Reposant :) --- ### Real Humans saison 1 - **URL**: https://www.skyminds.net/real-humans-saison-1/ Real Humans est une série suédoise qui a été diffusée il y a quelques semaines sur ARTE. De son vrai nom Äkta Människor ("les véritables humains"), elle se situe dans une Suède contemporaine alternative où l'usage des androïdes devient de plus en plus prépondérant. Ces robots humanoïdes (appelés hubots pour "human robots") ont investi nos ménages pour nous aider dans les tâches domestiques et industrielles. Les hubots ont un port USB sur leur corps, de sorte qu'ils peuvent être programmés. Ils sont utilisés comme domestiques, ouvriers, compagnons et même comme partenaires sexuels. Mais des logiciels de plus en plus sophistiqués leur ont aussi permis d'avoir des sentiments. Tandis que certaines personnes adoptent cette nouvelle technologie, d'autres ont peur et redoutent ce qu'il peut arriver quand les humains sont remplacés comme travailleurs, comme compagnons, parents et même amants. Le mouvement Äkta Människor (les « Vrais Humains ») travaille pour une société sans hubot. Leur logo, une main ensanglantée, est visible sur les voitures et sur les portes des maisons. Les « anti-hubots » utilisent souvent des épithètes comme "poupée", "pacman" et "cerveau Windows" pour parler des hubots. De leur côté, les hubots manifestent de plus en plus une volonté d’indépendance. Leur rébellion a déjà commencé : Leo et Niska ont pris la tête d’un groupe d’affranchis, appelé «les enfants de David». Quand Mimi, l’une d’entre eux, est enlevée par des trafiquants, Leo, amoureux d’elle, part à sa recherche. L’acquisition d’un premier hubot bouleverse la vie de la famille Engman, tandis que le grand-père doit renoncer au sien, défaillant, pour un nouveau modèle dédié à la gériatrie. Voisin des Engman, Roger, un contremaître, assiste impuissant au remplacement des ouvriers de son atelier par des légions d’humanoïdes, et bientôt, sa femme le quitte pour leur hubot. Dans cette société en mutation, la tension monte : cette cohabitation engendre des relations complexes et des émotions contrastées, entre amour et haine, alors que certains humanoïdes rêvent d’émancipation. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Dave Grohl, Josh Homme & Trent Reznor – Mantra - **URL**: https://www.skyminds.net/dave-grohl-josh-homme-trent-reznor-mantra/ Voici Mantra, un morceau instrumental composé par Dave Grohl (ex-Nirvana, Foo Fighters, Queens of the Stone Age, Them Crooked Vultures), Josh Homme (Kyuss, Them Crooked Vultures) et Trent Reznor (Nine Inch Nails) pour le film Sound City, réalisé par Dave Grohl et qui vient de sortir : https://www.youtube.com/watch?v=L2kGNdE0b5Q Sound City est un documentaire musical sur les studios Sound City de Los Angeles. En 1991, Dave Grohl, avec Nirvana, enregistre l'album Nevermind dans les studios Sound City. Lorsque ceux-ci ferment en 2011, il acquiert un certain nombre d'accessoires provenant des locaux. Il décide alors de réaliser un documentaire sur l'histoire des studios. De nombreuses personnalités du rock qui ont enregistré dans les studios participent au projet à travers des interviews menées par Dave Grohl. J'aime bien la montée en puissance du morceau et le fait qu'il soit juste instrumental. Cala touche le prog-rock et ça fait du bien - queens of nine inch fighters! --- ### ARTE TV : Une contre-histoire de l’Internet - **URL**: https://www.skyminds.net/arte-tv-une-contre-histoire-de-linternet/ Retour sur l'émergence des mouvements de défense des libertés sur Internet, nés en réaction à la régulation croissante du Web par les gouvernements et les multinationales. Avec Richard Stallman, l'inventeur des logiciels libres, Rick Falvinge, créateur du Parti pirate suédois, et Julian Assange, fondateur de WikiLeaks. Internet a été créé par des hippies tout en étant financé par des militaires ! Cet improbable choc des cultures a donné naissance à un espace de libertés impossible à censurer ou à contrôler. C’est pourtant ce que cherchent à faire, depuis des années, un certain nombre de responsables politiques, poussant hackers et défenseurs des libertés à entrer dans l’arène politique. Le documentaire, qui dure 87 minutes, a été écrit par Julien Goetz et Jean-Marc Manach (célèbre pour dénoncer la surveillance des réseaux) et je vous le recommande vraiment, on apprend énormément de choses sur les débuts du réseau, sa philosophie, ses ennemis... c'est assez génial. Vous pouvez regarder le documentaire sur ARTE TV+7 ou attendre la rediffusion d'Arte à la fin du mois, le 31 mai à 03h10. Et si vous avez loupé la rediff, vous pourrez toujours le regarder ici : https://www.youtube.com/watch?v=5e2nEazNRKI --- ### Strand of Oaks – Satellite Moon (live) - **URL**: https://www.skyminds.net/strand-of-oaks-satellite-moon-live/ On l'avait déjà écouté ici, en voici une version live de Satellite Moon par Strand of Oaks : https://www.youtube.com/watch?v=Ty3RDNJnl8E --- ### Epic fail : BNP Paribas rejette mon dossier BTS SIO… mais quel dossier? - **URL**: https://www.skyminds.net/bnp-paribas-rejette-mon-dossier-bts/ Ce moment étrange quand tu reçois ce mail de la BNP Paribas pour un "contrat de professionnalisation pour la rentrée dans le cadre de votre BTS SIO" : Alors bon, recevoir un mail non sollicité, déjà j'apprécie moyennement (surtout quand il n'est pas détecté comme spam) mais me faire refouler à un contrat de professionnalisation, là c'est le ponpon. Je n'ai envoyé aucun dossier, aucun CV et je ne suis pas vraiment en BTS SIO... Bref, cet epic fail est sponsorisé par BNP Paribas. --- ### Chris Hadfield – Space Oddity (David Bowie cover, from space!) - **URL**: https://www.skyminds.net/chris-hadfield-space-oddity-david-bowie-cover-from-space/ Voici Chris Hadfield, commandant en chef de la Station Spatiale Internationale (ISS) qui nous reprend Space Oddity de David Bowie dans sa capsule en apesanteur : https://www.youtube.com/watch?v=KaOC9danxNo Premier Canadien à avoir marché dans l'espace, Chris Hadfield est à bord de la Station spatiale internationale depuis cinq mois. L'astronaute a mené plusieurs expériences scientifiques, piloté le Canadarm-2 et effectué de nombreuses tâches de robotique au cours des derniers mois. M. Hadfield s'est beaucoup servi des médias sociaux, notamment Twitter, pour communiquer avec la Terre pendant ses 146 jours dans la station. Cette vidéo marque les adieux de l'astronaute canadien à l'ISS puisqu'il a remis officiellement les commandes de la Station spatiale internationale au cosmonaute russe Pavel Vinogradov. Il revient ce soir sur Terre à bord d'une capsule russe Soyouz, en compagnie de deux autres astronautes. L'atterrissage se fera au Kazakhstan, vers 22h30. Je trouve ça vraiment génial, c'est un hommage magnifique à la chanson et au concept de Major Tom. --- ### Grizfolk – The Struggle - **URL**: https://www.skyminds.net/grizfolk-the-struggle/ Voici Grizfolk, un groupe de Los Angeles composé de Adam Roth, Sebastian Fritze et Fredrik Eriksson. https://www.youtube.com/watch?v=Md8vf2r26wU L'EP est prévu pour cet été. --- ### Serveur dédié : mise à jour vers Debian 7 Wheezy - **URL**: https://www.skyminds.net/serveur-dedie-debian-7-wheezy/ Hier soir, j'ai mis le serveur à jour : nous passons de Debian 6 ("Squeeze") à Debian 7 ("Wheezy") - vous l'aurez remarqué : chez Debian, les versions portent le nom de personnages de Toy Story :) Histoire de garder une trace de ce que je fais, voici les étapes que j'ai suivies. Contrairement aux versions précédentes, Debian recommande d'utiliser apt-get au lieu d'aptitude. Donc acte dans ce tutoriel. Etape 1 : s'assurer que le système est à jour On vérifie que notre Squeeze est à jour : apt-get update && apt-get upgrade Etape 2 : installer les nouveaux dépôts Pour voir vos dépôts existants : cat /etc/apt/sources.list Résultat : deb http://mirror.ovh.net/debian/ squeeze main contrib deb-src http://mirror.ovh.net/debian/ squeeze main contrib deb http://security.debian.org/ squeeze/updates main contrib deb-src http://security.debian.org/ squeeze/updates main contrib # Webmin deb http://download.webmin.com/download/repository/ sarge contrib # varnish deb http://repo.varnish-cache.org/debian/ squeeze varnish-3.0 # mod security deb squeeze-backports main # dotdeb updated LAMP servers deb http://packages.dotdeb.org squeeze all deb-src http://packages.dotdeb.org squeeze all Il faut remplacer toutes les occurrences de squeeze en wheezy. On peut le faire avec cette commande : sed -i 's/squeeze/wheezy/g' /etc/apt/sources.list Evidemment, il y a un piège : le dépôt des backports a changé de nom et d'adresse. Il se trouve désormais ici : deb http://ftp.debian.org/debian/ wheezy-backports main Après modification, voici donc notre sources.list : deb http://mirror.ovh.net/debian/ wheezy main contrib deb-src http://mirror.ovh.net/debian/ wheezy main contrib deb http://security.debian.org/ wheezy/updates main contrib deb-src http://security.debian.org/ wheezy/updates main contrib # Webmin deb http://download.webmin.com/download/repository/ sarge contrib # varnish deb http://repo.varnish-cache.org/debian/ wheezy varnish-3.0 # mod security deb http://ftp.debian.org/debian/ wheezy-backports main # dotdeb updated LAMP servers deb http://packages.dotdeb.org wheezy all deb-src http://packages.dotdeb.org wheezy all Etape 3 : lancement de la mise à jour partielle Mise à jour des fichiers : apt-get update Aucune erreur. On continue avec la mise à jour minimale des paquets : apt-get upgrade Après quelques minutes, plantage sur le dernier paquet. MySQL est en cause : Unpacking replacement mysql-client-5.5 ... dpkg: error processing /var/cache/apt/archives/mysql-client-5.5_5.5.30+dfsg-1.1_amd64.deb (--unpack): trying to overwrite '/usr/share/man/man1/mysqlcheck.1.gz', which is also in package mysql-client-core-5.5 5.5.30-1~dotdeb.0 configured to not write apport reports dpkg-deb: subprocess paste killed by signal (Broken pipe) Processing triggers for man-db ... Errors were encountered while processing: /var/cache/apt/archives/mysql-client-5.5_5.5.30+dfsg-1.1_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1) Je force l'installation : apt-get -f install -o Dpkg::Options::="--force-overwrite" et retire mysql-client-5.5 et tout ce qui va avec (tout MySQL en fait) parce que je n'ai pas envie qu'il vienne me mettre la zone pendant la mise à jour du système. On le remettra plus tard : apt-get remove mysql-client-5.5 Etape 4 : mise à jour du système Allez, c'est parti. Les sauvegardes ont été faites, on se lance dans le bain (avec une petite prière quand même, toujours) : apt-get dist-upgrade Un quart d'heure plus tard, après quelques validations pour savoir quels fichiers de configuration garder et redémarrer les services, le serveur est à jour. On réinstalle MySQL : apt-get install mysql-client-5.5 J'ai gardé le fichier /etc/apache2/apache2.conf durant l'installation, ce qui me plante Apache : apache2: Syntax error on line 212... --- ### Pink – Get The Party Started (Sweet Dreams Remix ft RedMan) - **URL**: https://www.skyminds.net/pink-get-the-party-started-sweet-dreams-remix-ft-redman/ Pink teamed up with Redman and Rockwilder for a remix of "Get the Party Started", using elements of the Eurythmics song "Sweet Dreams (Are Made of These)". https://www.youtube.com/watch?v=Ryv-rsHz56E The remix was released as a single only in France, where it reached number four and was certified gold. --- ### Rihanna vs. Pixies – Like Pixies In The Sky (DJ lobsterdust) - **URL**: https://www.skyminds.net/rihanna-pixies-like-pixies-in-the-sky-dj-lobsterdust/ Après Somebody to Praise, voici un autre mashup de DJ lobsterdust : un remix de Rihanna (Like Diamonds in the Sky) vs. The Pixies (Hey) : Plutôt entêtant sur les Pixies ! --- ### Johnny Marr – Down On The Corner - **URL**: https://www.skyminds.net/johnny-marr-down-on-the-corner/ Johnny Marr (de son vrai nom John Martin Maher) est un musicien anglais né à Manchester. Guitariste, compositeur, mais également clavieriste, harmoniciste et chanteur, il est surtout connu pour son rôle de compositeur au sein du groupe culte des années 1980 : The Smiths. Son jeu de guitare créatif, mélodique et harmonieux en a fait une référence pour toute une génération de musiciens anglo-saxons, notamment le Mancunien Noel Gallagher (Oasis) ou John Squire (Stone Roses). J'aime bien faire Down On The Corner en classe avec mes élèves : https://www.youtube.com/watch?v=2VSc3lrc0io La chanson est sur l'album Boomslang (2003). Et en passant, je vous recommande son dernier album, The Messenger (2013). La vidéo a été filmée par Eric Tu : "It was it the very first date of Johnny's US tour with the Healers, the Coachella gig was the next day . When we first met, i immediately felt the calmness and simplicity of Johnny and I loved the fact that the 'legendary guitarist' was actually a real down to earth person... whichto me gave the song an even more raw honesty. I felt that the video should convey that, hence, the portrait concept.Johnny was willing to do whatever was necessary to get the job done for the video... but he actually didn't need to do more than one take because he nailed it. Johnny just being Johnny. We framed the shot like a portrait of his daily life. The rest of the action in the video , the doors opening and closing, the shots of Sunset Blvd through the door, the people in the reflections sound checking for the evening gig at the Viper Room, was totally unplanned and natural. Those were really his roadies setting up... no hired extras. The video was shot in all one-take and intentionally camera choreographed to be honest and subtle." capo 3rd fret intro - Dsus4 D F Am G (4x) Dsus4 D F Am G You run around On the rebound Everyone says you're going all the way down Out of your mind All of the time Stare at the wall She's got it all now Dsus4 D F Am G (3x) Dsus4 D F Am G What's goin' on? Time slips away You got it all wrong I saw her today and that's all Get up off the ground Back on your feet It's easily done She didn't mean to hurt no one Asus2/E Walk on down that street where we need you Bb Down on the corner G Where there's nothing to do Dsus4 D F Am G You've got to believe Take it from me But don't take too long You're never gonna go wrong Get up off the ground Back on your feet It's easily done She didn't mean to hurt no one Dsus4 D F Am G (2X) Asus2/E You can walk right back where you started Bm G Friends moved on, it's all gone wrong Asus2/E Walk on down that street where we need you Bb Down on the... --- ### Publicité anti-tabac d’Yvan Attal - **URL**: https://www.skyminds.net/publicite-anti-tabac-dyvan-attal/ Une excellente publicité contre le tabagisme par Yvan Attal : https://www.youtube.com/watch?v=OVTBtn6YKRU - Cela va nous coûter combien votre affaire?- Bah rien, les jeunes sont prêt à payer pour avaler ces merdes... --- ### Tanner Patrick – Pumped Up Kicks - **URL**: https://www.skyminds.net/tanner-patrick-pumped-up-kicks/ Voici Pumped Up Kicks, mais pas la version originale de Foster The People, plutôt celle de Tanner Patrick, qui sonne mieux que l'originale je trouve : https://www.youtube.com/watch?v=TtfNmrEmxtU C'est super facile à jouer à la guitare, il faut juste maitriser l'enchaînement un peu syncopé des accords. Par contre, les paroles ahem... c'est légèrement Bowling for Columbine! Capo 1 Em G D A [4X] Em G Robert's got a quick hand D A He'll look around the room he won't tell you his plan Em G Got a rolled cigarette D A Hangin' out his mouth, he's a cowboy kid Em G Yeah, found a six-shooter gun D A In his dads closet hidden with a box of fun things Em G I don't even know what D A But he's comin' for you, yeah he's comin for you, hey Em G All the other kids with the pumped up kicks D You'd better run, better run A Outrun my gun Em G All the other kids with the pumped up kicks D You'd better run, better run A Faster than my bullet [Repeat] Em G Daddy works a long day D A He'll be coming home late, he's coming home late Em G And he's bringing me a surprise D A Cos' dinner's in the kitchen and it's packed in ice Em G I've waited for a long time D A The slight of my hand is now a quick pull trigger Em G I reason with my cigarette D A And say your hair's on fire you must have lost your wits, yeah Em G All the other kids with the pumped up kicks D You'd better run, better run A Outrun my gun Em G All the other kids with the pumped up kicks D You'd better run, better run A Faster than my bullet [Repeat] Em G D A [2X] (run run run) Em G D A [2X] (whistle) Em G All the other kids with the pumped up kicks D You'd better run, better run A Outrun my gun Em G All the other kids with the pumped up kicks D You'd better run, better run A Faster than my bullet [Repeat 2X] --- ### Vieux Farka Touré – Ai Du - **URL**: https://www.skyminds.net/vieux-farka-toure-ai-du/ Boureima « Vieux » Farka Touré, né en 1981 à Niafunké est un musicien et chanteur malien, fils d'Ali Farka Touré. Voici une version live d'Ai Du, une chanson de son père qu'il joue en son honneur : https://www.youtube.com/watch?v=iqIP5CeEK_c Ai Du est une chanson que l'on peut entendre dans les films "Unfaithful" et "L'Auberge Espagnole." Invité à la cérémonie d’ouverture de la coupe mondiale de la FIFA en 2010, il a également partagé la scène avec d’autres artistes tels que Shakira, Alicia Keys et K’naan. Vieux Farka Touré relie blues et culture africaine et américaine et mêle modernité et tradition. --- ### Utopia saison 1 - **URL**: https://www.skyminds.net/utopia-saison-1/ Je vous invite à regarder la nouvelle série de la chaine Channel 4 - Utopia - scénarisée par Dennis Kelly. Passionnés par l’étrange roman graphique The Utopia Experiment, un groupe de personnes se retrouve pris au cœur d’une conspiration menée par des personnes sans scrupules qui tuent avec une facilité déconcertante et avec beaucoup d’imagination. Ils ne savent pas ce qu’on leur veut, mais celui qui trouvera la suite jamais publiée de l’histoire aura toutes les réponses. Utopia est indéniablement atypique dans son style, que ce soit narrativement parlant ou visuellement, avec une approche cinématographique très poussée et accentuée par une stylisation qui favorise les couleurs vives et les contrastes. Le point de départ est alors relativement cryptique et sert à imposer une paranoïa constante qui insinue par moment une légère dose d’absurde. Étrangement, cela donne à l’ensemble une cohésion inattendue. La série est géniale et trouve un écho assez inquiétant dans les scandales pharmaceutiques, médicaux et alimentaires récents - on ne peut que se poser des questions ensuite! Voir Synology : corriger “rsync permission denied” sur Amazon Une seconde saison est prévue pour 2014. --- ### School of Rock – Teacher’s Pet (Zach’s song) - **URL**: https://www.skyminds.net/school-of-rock-teachers-pet-zachs-song/ Le beau temps revient, on va pouvoir baisser les vitres et agiter la tête sur un peu de rock'n'roll au feu rouge... Voici Teacher's Pet (Zach's song) issu du film School of Rock avec Jack Black (chanteur et guitariste du groupe Tenacious D) : https://www.youtube.com/watch?v=04hps_oetQ8 (intro) (guitar 1) E|------------------------------------| B|--7-7-7-8-8-10-8-7-8---8---7-7-8-8--| G|--7-7-7-7-7- 7-7-7-7-7-7-7-7-7-7-7--| (6x) D|------------------------------------| A|------------------------------------| E|------------------------------------| There's a little variation of the main thing here E|------------------------------------| B|--7-7---8-7-10-8-7-8---8---7---8----| G|--7-7-7-7-7- 7-7-7-7-7-7-7-7-7-7-7--| (13x) D|------------------------------------| A|------------------------------------| E|------------------------------------| (guitar 2) D E|--2--------| B|--3--------| G|--2--------| (2x) D|--0--------| A|--0--------| E|-----------| (guitar 2) D D D E|--2--------2--------2--------| B|--3--------3--------3--------| G|--2--------2--------2--------| (2x) D|--0--------0--------0--------| A|--0--------0--------0--------| E|-----------------------------| (guitar 2) D C G C E|--2--------0-----------3-----------0-----| B|--3--------1-----------0-----------1-----| G|--2--------0-----------0-----------0-----| (2x) D|--0--------2-----------0-----------2-----| A|--0--------3-----------2-----------3-----| E|-----------3-----------3-----------3-----| (verso) D C Baby we was making straight A's, G C But we were stuck in a dumb daze. D C Don't take much to memorize your lies. G C I feel like I've been hypnotisized. D C And then that magic man; he come to town. G Whoo wee! C He done spun my head around. D He said, "Recess is in session. C Two and two make five." G And now baby, oh, I'm alive. Oh yeah! I'm alive (coro) (guitar 1 e guitar 2) D E And if you want to be the teacher's pet, G D Well baby you just better forget it. D E Rock got no reason. Rock got no rhyme. G You better get me to school on time. (solo 1) (played by Jack Black) tap hold bend and pick release bend E|----------------------------------------------------------------| B|-------10-------------------------------------------------------| G|-9b11===11b9p7~~(7)~~-7h9b10--10d10u--10d10u--10d10u10d:-10b9p7-| D|----------------------------------------------------------------| A|----------------------------------------------------------------| E|----------------------------------------------------------------| E|----------------------------------------------------------------| B|------------------10-b-12p10-(10)~~~~-12-15-17p15p12-15-15~-----| G|-7---9p7~~-(7)~~---------------~--------------------------------| D|---9------------------------------------------------------------| A|----------------------------------------------------------------| E|----------------------------------------------------------------| E|-----------------------------------------------------------------| B|-17b19-17b19--r--17p15p12-15-15~~-10-12-10--12p10-12p10-15-12p10-| G|-------------------------------------12--------------------------| D|-----------------------------------------------------------------| A|-----------------------------------------------------------------| E|-----------------------------------------------------------------| E|-----------------------------------------------------------------| B|-10~---15-17b19-19b17r15-15--------------------------------------| G|----------------------------19-21-19~~\--------------------------| D|-----------------------------------------------------------------| A|-----------------------------------------------------------------| E|-----------------------------------------------------------------| D C Oh you know I was on an honor roll. G C Got good grades and got no soul. D C Raised my hand before I could speak my mind. G C I been biting my tongue too many times. D C And then that magic man said to obey.....uh-huh G C "Do what magic man do, not what magic man say." D C Now can I please have the attention of the class. G Today's assignment... a hem... kick some ass! (coro 2x) (guitar 1 replays intro) (guitar 2) D C This is my final exam. G C Now you all know who I am. D C I might not be that perfect son. G C But ya'll be rockin' when I'm done. (solo 2) E|-------------------------------------------------| B|-------------------------------------------------| G|-7h9b11-(10)---------10p9p7--9--7~---7-----------| D|---------------------------------------9----9-9--| A|-------------------------------------------------| E|-------------------------------------------------| E|-------------------------------------------------| B|------------10--------------10-------------------| G|-9 b 11 (10)-----9 b 11 (10)-------10p9p7-9-7----| D|-------------------------------------------------| A|-------------------------------------------------| E|-------------------------------------------------| E|-------------------------------------------------| B|-------------------------------------------------| G|---7-9-7-10p9p7---7--10p9p7---7---7-9-9 b 11~----| D|-9--------------9-----------9--------------------| A|-------------------------------------------------| E|-------------------------------------------------| E|-------------------------------------------------| B|-------------------------------------------------| G|-7-9-7~*hold a bit-------7 h 9-10-7--------------| D|-------------------9p7h9-------------9-7-9~*hold-| A|-------------------------------------------------| E|-------------------------------------------------| E|-------------------------------------------------| B|------15-----------15p12-------15p12-------------| G|------12-----------------14p12-------12----------| D|-7-9---------12-14-------------------------------| A|-------------------------------------------------| E|-------------------------------------------------| E|-------------------------------------------------| B|-------------------------------------------------| G|-10-12-10-12-10-12-10-10~------------------------| D|-------------------------------------------------| A|-------------------------------------------------| E|-------------------------------------------------| E|-------------------------------------------------| B|-------------------------------------------------| G|---------10-12-10-12b13r12p10-12-10~-12-10-------| D|12-10-12-----------------------------------12~12-| A|-------------------------------------------------| E|-------------------------------------------------| E|----------------:::::::::::::::::----------------| B|----------------::13------13-13::--*13-15~*------| G|----10-12b14----::12--12--12-12::----------------| D|-12----------------------------------------------| A|-------------------------------------------------| E|-------------------------------------------------| E|-------------------------------------------------| B|-------18-20-18---20b22-*let ring----------------| G|-19-19-------------------------------------------| D|-------------------------------------------------| A|-------------------------------------------------| E|-------------------------------------------------| E|-------------------------------------------------| B|-15-13-------------------------------------------| G|-------14-12-------------------------------------| D|-------------15-12----12-12~----12~---12---~-----| A|-------------------15----------------------------| E|-------------------------------------------------| E|-------------------------------------------------| B|-------------------------------------------------| G|-------10--12b14*hold----14r12p10----------------| D|-10-12----------------------------12~-~----------| A|-------------------------------------------------| E|-------------------------------------------------| Toute référence à AC/DC ne pourrait être que fortuite \m/ --- ### The Borgias saison 3 - **URL**: https://www.skyminds.net/the-borgias-saison-3/ Voici la troisième saison des Borgias, diffusée sur Showtime. Le pape Alexander charge le Cardinal Sforza d'une inquisition auprès des cardinaux qui complotent contre lui. Avec les preuves récoltées, Alexander bannit tous les cardinaux en qui il n'a pas confiance. Pendant ce temps, Catherina Sforza ordonne à Rufio de trouver le soutien de mercenaires appartenant aux familles romagnes. Lucrezia est embêtée par ses futurs beaux-parents et sa situation empire lorsqu'elle réalise que ses sentiments pour Cesare deviennent plus que fraternels... La saison est sous-titrée "hell bent"... cela promet! Dix épisodes sont prévus cette saison, à regarder en VO. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Publicité : Yorkie Shopping Bags - **URL**: https://www.skyminds.net/publicite-yorkie-shopping-bags/ Voici une publicité pour la barre chocolatée Yorkie : https://www.youtube.com/watch?v=Ny9dnJ1FYUw Un bonbon qui s'adresse uniquement aux hommes, il fallait oser, surtout au niveau marketing. Ceci dit, je me retrouve bien dans le type qui essaie de porter tous les sacs en même temps - je fais exactement la même chose !! Slogan : Man Fuel for Man Stuff. --- ### Collective Soul – Heavy (Live in Morocco) - **URL**: https://www.skyminds.net/collective-soul-heavy-live-in-morocco/ Collective Soul est un groupe de rock venant de Stockbridge, Georgia (USA) composé d' Ed Roland (rhythm guitar, lead vocals), Dean Roland (rhythm guitar), Will Turpin (bass guitar), Joel Kosche (lead guitar) et Cheney Brannon (drums, percussion). J'aime beaucoup le morceau Heavy, issu de l'album Dosage (2009), en acoustique dans le désert marocain : https://www.youtube.com/watch?v=sLKvBrzF01k Bien cool ça! --- ### Chalk And Numbers – Parade EP - **URL**: https://www.skyminds.net/chalk-and-numbers-parade-ep/ Chalk and Numbers est un duo indie pop composé de Sable Yong et Andrew Pierce, qui viennent de Brooklyn, NY. Le son est plutôt sixties et acidulé et on peut aisément retrouver quelques influences classiques : The Beach Boys, The Zombies, Dusty Springfield, The Misfits, Holly Golightly... Cela se laisse écouter gentiment. --- ### Mad Men saison 6 - **URL**: https://www.skyminds.net/mad-men-saison-6/ La sixième saison de Mad Men vient de commencer sur AMC. La saison commence avec un double-épisode, soit deux heures. Le premier épisodes, comme d'habitude, servira à rafraichir notre mémoire sur les aventures de Don Draper et ses amis de l’agence Sterling Cooper Draper Pryce. Don commence une nouvelle campagne de publicité, Roger apprend une nouvelle bouleversante et Betty reçoit quelqu'un chez elle... Il n'y a plus que 26 épisodes avant la fin de la série. Les saisons 6 et 7 en compteront donc 13 chacune. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Jefferson Airplane vs. Fatboy Slim – Somebody To Praise (DJ lobsterdust) - **URL**: https://www.skyminds.net/dj-lobsterdust-somebody-to-praise/ Allez, c'est le week-end, on peut s'envoyer un petit mashup par DJ lobsterdust : un remix de Jefferson Airplane (Somebody to Love) vs. Fatboy Slim (Praise You). Cela nous donne Somebody To Praise: https://www.youtube.com/watch?v=VBtI_sUuL58 Cela rappelle des souvenirs de fin de soirées électro ça ! --- ### Serveur dédié : des paquets LAMP à jour sous Debian - **URL**: https://www.skyminds.net/serveur-dedie-paquets-lamp-a-jour-debian/ Problème : des paquets vieillots Lorsque votre serveur tourne sous Debian, les paquets sont éprouvés mais souvent datés. Ils tournent bien mais on ne peut pas vraiment bénéficier des versions les plus actuelles pour Apache, MySQL ou PHP par exemple. La solution : ajouter un nouveau dépôt pour LAMP La solution est tout simple, il suffit d'ajouter un nouveau dépôt, Dotdeb, qui permet de mettre à jour les paquets libmemcached, mysql, nginx, percona-toolkit, php5, php5-pecl, pinba-engine, redis, ruby-passenger, zabbix. On édite donc notre liste : nano /etc/apt/sources.list et on ajoute les dépôts de Dotdeb, qui sont maintenus à jour par Guillaume Plessis : deb http://packages.dotdeb.org stable all deb-src http://packages.dotdeb.org stable all et enfin, on ajoute la clé GPG : wget http://www.dotdeb.org/dotdeb.gpg cat dotdeb.gpg | apt-key add - La mise à jour se fait comme d'habitude : apt update && apt upgrade Petit ménage La mise à jour a induit 2 problèmes facilement solvables. Le premier problème a été ce message d'avertissement : PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626/suhosin.so' - /usr/lib/php5/20090626/suhosin.so: cannot open shared object file: No such file or directory in Unknown on line 0 Les paquets PHP de Dotdeb contiennent déjà le Suhosin patch dont il n'est pas nécessaire d'avoir l'extension php5-suhosin installée. Nous pouvons donc la supprimer : apt purge php5-suhosin Le deuxième problème m'a pris beaucoup plus de temps à traquer : pages blanches pour l'ensemble du site! J'ai épluché tous les logs, vérifié ma configuration MySQL et PHP jusqu'à trouver ce message d'erreur : PHP Parse error: syntax error, unexpected $end in /themes/functions.php on line 1624 Une recherche Google plus tard, il s'avère que cela est dû à l'utilisation de shortags PHP comme --- ### Game of Thrones, le Trône de Fer saison 3 - **URL**: https://www.skyminds.net/game-of-thrones-le-trone-de-fer-saison-3/ La diffusion de la troisième saison de Game of Thrones a commencé hier soir sur HBO. Dans le premier épisode, Jon Snow est amené devant Mance Rayder, le Roi d'au-delà du Mur, alors que les chevaliers de la Garde de Nuit entament leur retraite vers le Sud. A Port-Réal, Tyrion exige sa récompense, tandis que Petyr Baelish offre à Sansa Stark une porte de sortie. Cersei, elle, organise un banquet en l'honneur de la famille royale. Arya croise la route de la Fraternité sans Bannière, tandis que Daenerys s'embarque pour la Baie des Serfs... Comme pour les saisons précédentes, 10 épisodes seront diffusés, basés sur la première partie du livre A Storm of Swords, le troisième livre de la saga A Song of Ice and Fire. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Strand of Oaks – Satellite Moon - **URL**: https://www.skyminds.net/strand-of-oaks-satellite-moon/ Strand of Oaks, un groupe de Philadelphie mené par Timothy Showalter, a sorti l'album Dark Shores l'année dernière. C'est un album mélancolique, à moitié dans la science-fiction et dans l'Americana, une combinaison étrange mais qui fonctionne bien avec les images invoquées dans les chansons. L'un des titres, Satellite Moon, est un morceau up-tempo, sombre et groovy à la fois : Sunlight coming and I rake it up On the winds of the satellite moon I make gold then I mess it up On the winds of the satellite moon I never said it would be this easy You were wasting your light out on me I never said anything Holy shit I feel like giving up On the winds of the satellite moon Little prince comes won’t you shake it up On the winds of the satellite moon On the winds, on the winds On the winds of the satellite moon Come and fake it, come and know it Overrated Oh no winds again and a terrified man And you wait in the shade Won’t you trail, won’t you trail on Sunlight coming and you pack it up On the winds of the satellite moon Transport coming and you break it off On the winds of the satellite moon Si on mixait Neil Young avec le film Moon, cela pourrait ressembler à ça. Le groupe est actuellement en train de travailler sur de nouveaux morceaux. --- ### Les Beach Boys sans autotune - **URL**: https://www.skyminds.net/les-beach-boys-sans-autotune/ Bonjour à tous, Cette vidéo est une petite bombe dans le monde bien propre sur lui de l'univers de la musique. Les entreprises du disque sont prêtes à tout pour nous vendre des artistes fadasses et sans aucun talent vocal. La technique moderne est heureusement là pour les sauver et tromper les honnêtes consommateurs que nous sommes. Autotune est la plus connue de ces béquilles technologiques mais dans le document qui suit, le scandale de l'aide technique remonte à une époque bien plus lointaine que vous ne le pensiez. Je vous laisse donc écouter à quoi ressemblait vraiment l’œuvre des Beach Boys. https://www.youtube.com/watch?v=w-0CS-T1HUQ Édifiant, non ? --- ### TrollfesT – Toxic (Britney Spears cover) - **URL**: https://www.skyminds.net/trollfest-toxic-britney-spears-cover/ TrollfesT est un groupe norvégien formé à Oslo en 2004 et qui a repris Toxic de Britney Spears dans une version death metal en mode trolls-midgets poilus : https://www.youtube.com/watch?v=rMy0KPz8Vvo Génial - ça me fait bien sourire. Et au passage, c'est assez drôle de reprendre les chansons de Britney en mode saturé, voire bourrin. Cela passe très bien! Cette reprise se trouve sur l'album A Decade of Drekkadence. --- ### Pour les gamers de l’extrême : Ultimate Battlefield 3 Simulator - **URL**: https://www.skyminds.net/gamers-extreme-ultimate-battlefield-3-simulator/ Voici un résumé du reportage du Gadget Show, une émission diffusée sur Channel 5 au Royaume-Uni, sur la construction d'un simulateur de jeu pour un FPS : https://www.dailymotion.com/video/xlx5fj_ultimate-battlefield-3-simulator-build-test-full-video-the-gadget-show-sd_videogames Ce simulateur, unique en son genre, transforme le jeu Battlefield 3 en réalité : vous pouvez bouger, viser, tirer et être touché, immergé dans un environnement à 360 degrés. Le simulateur vous permet de contrôler les mouvements du personnage avec votre corps grâce au tapis à bille multi-directionnel. Il y a également le dôme de projection Igloo Vision, 12 marqueurs de paintball qui permettent au joueur, en temps réel, de ressentir les coups de l'ennemi, un système d'arme sans fil, des lumières d'ambiance LED et une caméra Kinect hackée pour l'occasion. Impressionnant comme système. Cela me rappelle la veste pour ressentir les impacts de balles. Pour un fan de FPS, ce doit être le pied total. --- ### Fast Years – Young Heart - **URL**: https://www.skyminds.net/fast-years-young-heart/ Fast Years est un groupe pop/garage au style punk rock typiquement New Yorkais. Normal, ils viennent de Brooklyn me direz-vous. Leur chanson Young Heart est assez réussie je trouve : Typiquement le genre de refrain que l'on peut chantonner toute une journée. De rien ;) --- ### Pearl Jam – Black (MTV Unplugged) - **URL**: https://www.skyminds.net/pearl-jam-black-mtv-unplugged/ Pearl Jam est un groupe de rock alternatif qui s'est formé à Seattle, Washington, en 1990 avec Eddie Vedder (voix), Stone Gossard (guitare), Jeff Ament (basse), et Mike McCready (guitare). J'aime beaucoup cette version de Black en acoustique, issue d'un concert sur MTV Unplugged en 1992 : https://www.youtube.com/watch?v=5ZH2it92ZmA Hey... oooh... Sheets of empty canvas, untouched sheets of clayWere laid spread out before me as her body once did.All five horizons revolved around her soul as the earth to the sunNow the air I tasted and breathed has taken a turn Ooh, and all I taught her was everythingOoh, I know she gave me all that she wore And now my bitter hands chafe beneath the clouds of what was everything.Oh, the pictures have all been washed in black, tattooed everything... I take a walk outside, I'm surrounded by some kids at playI can feel their laughter, so why do I sear?Oh, and twisted thoughts that spin round my head, I'm spinning, oh,I'm spinning, how quick the sun can drop away And now my bitter hands cradle broken glass of what was everythingAll the pictures have all been washed in black, tattooed everything... All the love gone bad turned my world to blackTattooed all I see, all that I am, all I'll be... yeah... Uh huh... uh huh... ooh... I know someday you'll have a beautiful life,I know you'll be a star in somebody else's sky,But why, why, why can't it be, can't it be mine? Aah... uuh.. Too doo doo too, too doo doo [many times until fade] Présente sur le premier album (Ten), Black est le monologue d'un homme au coeur brisé qui se souvient de sa dulcinée absente. --- ### Décès de ma mamie Madeleine - **URL**: https://www.skyminds.net/deces-de-ma-mamie-madeleine/ Ma mamie Madeleine s'est éteinte mardi dernier. A l'âge de 86 ans et après trois cancers différents, on peut dire qu'elle aura lutté jusqu'au bout pour s'accrocher à la vie. Je n'ai jamais vu quelqu'un se battre comme ça devant la maladie et endurer autant de souffrances sans broncher. Elle est mieux là où elle est maintenant, même si cela nous peine tous grandement. Maman, tu as choisi de quitter cette Terre ce mardi 12 mars 2013 dans la paix car ta tâche ici-bas sur ce plan était accomplie. Tes yeux se sont fermés doucement, et doucement nous t'avons chuchoté qu'au bout de la nuit, il y a l'aurore, qu'au bout de l'hiver, il y a le printemps, et qu'au bout de la mort, il y a la vie.Maman, nous sommes ici pour rendre hommage d'abord à ton service dévoué au sein de l'Education Nationale. Institutrice en classe unique en début de carrière, puis Professeur d'Enseignement Général de Collège à Béthune où tu as enseigné les Sciences, contribuant à faire de tes élèvesdes adultes conscients, curieux, et respectueux de cette nature que tu aimais tant. Oui, enseignante cultivée, consciencieuse et juste, tu as toujours été au service de l'école de la réussite pour le plus grand nombre et les anciens élèves que tu rencontrais en ville avaient toujours à cœur de te dire combien ils t'avaient appréciée.Maman, nous n'oublierons rien de ta disponibilité infaillible, toujours prête à venir aider tes filles. Du bonheur, de la liberté et de la sécurité que tu nous as donnés au prix de grands sacrifices et d'un immense courage. De ta vivacité dans ta maison toujours pimpante, que tu dirigeais tambour battant de main de maître. De ta générosité et de ton amour inconditionnel pour tes petits-enfants Matthieu et Julia, leur offrant sans compter ton temps, ta patience et ton énergie. Oui, tu as vraiment été pour nous et pour eux la plus merveilleuse des mères et des mamies. De tout ceci nous te sommes profondément reconnaissants.Maman, tu étais bien le pilier de cette famille sur qui oui, tous pouvaient compter à tous moments. Nous nous souviendrons toujours des grands moments de bonheur partagés ensemble lors des repas de Noël, de la table raffinée, dans ta maison qui fleurait bon l'amour et la joie. Des vacances en famille en Bretagne, où ces derniers temps, tu ne te lassais pas d'admirer le jardin, bercée par le bruissement du vent dans le palmier. Oui, tu resteras à jamais dans nos cœurs, toi si belle, si courageuse jusqu'au dernier jour. Nous serons séparés pendant quelque temps, mais tu seras toujours là, présente. Présente dans le vent qui souffle, dans la neige qui scintille, dans le chant du rouge-gorge, dans la douce pluie bretonne, dans l’étoile qui brille dans la nuit.Maman, le temps est venu maintenant de te laisser voyager en silence. Souviens-toi de toute ta bonté, éveille-toi en pleine conscience, apprête-toi pour une vie nouvelle, auspicieuse, pleine de paix, de joie et de santé. Protégée, bénie, aimée, nous... --- ### Andy Shauf – I’m Not Falling Asleep - **URL**: https://www.skyminds.net/andy-shauf-im-not-falling-asleep/ Andy Shauf est un musicien multi-instrumentaliste canadien, élevé dans la "prairie". Il joue tous les instruments : guitares, piano, clarinette et cordes et enregistre dans le sous-sol de ses parents. Voici I'm Not Falling Asleep: https://www.youtube.com/watch?v=GeQU4cMaKoY Il est difficile de ne pas le comparer à Elliot Smith, surtout avec sa manière de crooner qui s'adapte très bien aux mélodies pop et aux morceaux de folk acoustique plutôt sombres. On pourra aussi le rapprocher d'Andrew Bird : on alterne entre des mélodies folks old-school et de la pop orchestrale colorée et expansive. I'm Not Falling Asleep est basée sur un piano groggy et des explosions de cuivres sombres, qui changent de ton tout au long du morceau et sont responsables de la variation du morceau. De la musique contemplative en somme. Plus de morceaux ici. --- ### Neil Young – My My, Hey Hey (Out Of The Blue) - **URL**: https://www.skyminds.net/neil-young-my-my-hey-hey-out-of-the-blue/ J'aime cette version de My My, Hey Hey (Out Of The Blue) de Neil Young, qui vient d'un concert de Rust Never Sleeps: https://www.skyminds.net/wp-content/uploads/Neil-Young-Hey-Hey-My-My-Into-The-Black.mp4 My my, hey hey Rock and roll is here to stay It's better to burn out Than to fade away My my, hey hey. Out of the blue and into the black They give you this, but you pay for that. And once you're gone, you can't come back. When you're out of the blue and into the black. The king is gone but he's not forgotten This is the story of a Johnny Rotten It's better to burn out than it is to rust The king is gone but he's not forgotten. My my, hey hey Rock and roll is here to stay Hey hey, my my Rock and roll can never die There's more to the picture Than meets the eye. Hey hey, my my. Hey hey, my my Rock and roll can never die Hey hey, my my Rock and roll can never die... Je la dédie à ma mamie, qui vient de s'en aller. You may be gone but you'll never be forgotten. Love you so much. --- ### Asaf Avidan and the Mojos – Reckoning Song (live) - **URL**: https://www.skyminds.net/asaf-avidan-and-the-mojos-reckoning-song-live/ Asaf Avidan jouant "Reckoning Song" live au Festival Clandestins de Bruxelles (01/07/2010) : https://www.youtube.com/watch?v=bnZVNUDvjUA Capo on 6th Chords: Am - C - G7 - F Verse: Fast Fingerpicking G-B-E (A between the Chords) Chorus: Strum A than G-B-E (Listen to the Song) Verse: Am No more tears, my heart is dry C I don't laugh and I don't cry G7 I don't think about you all the time F But when I do I wonder why You have to go out of my door And leave just like you did before I know I said that I was sure But rich men can't imagine poor. Chorus: Am C One day baby, we'll be old G7 Oh baby, we'll be old F And think of all the stories that we could have told Verse: Little me and little you Kept doing all the things they do They never really think it through Like I can never think you're true Here I go again the blame The guilt, the pain, the hurt, the shame The founding fathers of our plane That's stuck in heavy clouds of rain. Chorus: One day baby, we'll be old Oh baby, we'll be old And think of all the stories that we could have told. J'adore cette chanson, je la chante quasiment tous les matins. Et aussi, j'adore la voix écorchée d'Asaf. --- ### Port St. Willow – Soft Light Rush (ii) - **URL**: https://www.skyminds.net/port-st-willow-soft-light-rush-ii/ Nick Principe, connu sous le nom de Port St. Willow, vient de sortir un morceau expérimental de 6 minutes intitulé “Soft Light Rush (ii)” qui mélange folk, rock et électro. https://www.youtube.com/watch?v=Y3woorbWy1M Pas mal d'instruments dans ce morceau : quelques cuivres, quelques accords de guitare, un peu de xylophone. Et pourtant, ce n'est pas surchargé, chaque instrument a la place de s'exprimer. Une invitation mélancolique à la rêverie en somme. --- ### Uno Hype – We Were Kings feat. Hassani Kwess - **URL**: https://www.skyminds.net/uno-hype-we-were-kings-feat-hassani-kwess/ Tiens, une de ces vidéos sur laquelle je suis tombée un jour je ne sais trop comment. Voici donc Uno Hype, un groupe de rap/hip-hop du Maryland, interprétant We Were Kings : https://www.youtube.com/watch?v=E8H_ROmr0P4 Uno Hype - We Were Kings Feat. Hassani Kwess [Intro]Ay yo Black DiamondSometimes it take that soul to get this shit up out a nigga, you know what I'm sayin?But I'mma let em knowNo love [Hassani Kwess]If these hoes wanna choose, let em choose thenDimes ain't shakin with squares, fuck you been?And I'm in the club tryin to find a new friendNever chase my vodka with juice, it's too thin I know you feel me if you do liquorHard times and the brew get me through quickerBut you gotta know your place when you play your partCause thats why OG's ain't fuckin with them new niggas Listen to me, I got a dream and I scheme up a storm on my blockI wind up green, fiends won't crack what I rockOn the block I'm from, they ain't got the talent I gotI nut up, take off the vest, when life shoots me, my shot I already got a burden, and it's called the struggleWhen you're rich, it's rap, when you're broke, it's called a hustleAnd the doubt that you won't make it out is called a muzzleAnd what the weak call pain, I call it muscle And I work it outIt hurts sometimes, but damn life is worth it now And I'm tryin to fill the void like a hole in meWhile my damn demons tryin to keep the hole emptyI'm tryin to live it but the pessimism holdin meIf I see him, I keep going, it's the soul in me Let him know a nigga breathe, I swear to godI'mma rob cats if I don't get a better jobBut that ain't in me, so I'm drivin with the tank emptyI better ball, so I rhyme and stay Kwess for y'all I'mma let it off, I'mma let it offSo I rhyme and stay Kwess for y'allI'mma let it off [Hook]You don't know what you hadBut you're gonna find I ain't so badWhen I'm gone and you're aloneNo one to give it to you Cause now I know where it's atThat's right I'm wrongIt's such a drag thatThe bitch is backBut not for long [Uno Hype]The way I see the game, damn homie it's so fucked upSayin that I looked up, I climbed up the ladderNow I'm at the top like what's upNothin comin away of it, except homie that wanna hate on me, but that's a given Tell the world to wait on me if this ain't what they feelinUntil then, I'm grindin with the same clip, I be on the same shitNo respect to them lames you be hanging with, got everybody bangin thisHomie double teamin so I'm droppin this, dip it like Stojaković Tell everybody watch this shit, I'm about to drop 30 on you niggasGoin for the gold, James Worthy on you niggasBlowin eights... --- ### « T’es une fille, t’as pas de shampooing – allô, allô ? » [Die Hard] - **URL**: https://www.skyminds.net/fille-shampooing-allo-allo-die-hard/ On prend la même buse et on la décline cette fois avec Bruce Willis et Samuel Lee Jackson dans Die Hard : https://www.youtube.com/watch?v=Xp2MKcmkiPg Cela peut se décliner à l'infini. Je ne sais pas si c'est le début ou la fin de l'émission mais le potentiel est assez phénoménal. --- ### In lycée with Mister B. : last minute homework - **URL**: https://www.skyminds.net/in-lycee-with-mister-b-last-minute-homework/ Trois élèves viennent de m'envoyer leur dissertation de littérature étrangère par email. C'est le dernier jour des vacances et ils espèrent très certainement que tout sera corrigé et rendu demain... Fools. --- ### « T’es une fille, t’as pas de shampooing – allô, allô ? » [le Père Noël est une ordure] - **URL**: https://www.skyminds.net/fille-shampooing-le-pere-noel-est-une-ordure/ Avec la téléréalité, on voit surtout le pire. Les dialogues sont tellement surréalistes que l'on peut les parodier à l'infini. Voici Nabilla, remixée avec Le Père Noël est une ordure : https://www.youtube.com/watch?v=lvhugOdBTDo "C'est comme si t'es une fille t'as pas d'cheveux !" Apprécions la construction syntaxique moderne. --- ### Black Mirror saison 2 - **URL**: https://www.skyminds.net/black-mirror-saison-2/ Black Mirror, la série dystopique de Charlie Brooker, revient pour une seconde saison sur Channel 4. Comme d'habitude, la saison ne comporte que 3 épisodes - qui évoquent chacun une vision jusque-boutiste d'un futur qui pourrait devenir réalité si l'on en juge par nos dernières avancées technologiques et certains de nos reculs sociaux. La technologie semble toujours évoluer et l'homme toujours régresser, on dirait. Episode 1 : Be Right Back Martha et Ash ont déménagés dans la maison de campagne où les parents de Ash vivaient. Ash est un grand utilisateur des réseaux sociaux, un peu trop pour son amie Martha. Le jours suivant, Ash meurt dans un accident de voiture. Aux funérailles, Martha apprend par une de ses amies qu'il est possible de rester en contact avec un défunt. Martha ne veut pas en entendre parler, mais son amie Sarah l'inscrit. Martha recevra un email de son défunt petit ami le lendemain matin. Un "nouveau Ash" a été créé en utilisant son profil sur les réseaux sociaux et toutes les données numériques qu'il a enregistré durant sa vie. Episode 2 : White Bear Une femme prénommée Victoria Skillane (Lenora Crichlow) se réveille dans une chambre, assise sur une chaise et n'ayant aucun souvenir de sa vie. Elle est entourée d'images d'une petite fille et a visiblement tenté de se suicider par médicaments. Elle aperçoit un symbole étrange sur les télévisions de la maison. Lorsqu'elle sort, elle voit des gens qui sont constamment en train de la filmer avec leurs téléphones portables. Episode 3 : The Waldo Moment Jamie Salter (Daniel Rigby) est un comédien raté qui donne sa voix et ses mouvements à un personnage de cartoon - un ours bleu nommé Waldo - qui interview des politiciens et des personnages publics. Les personnes interviewées pensent que les interviews de Waldo sont pour un programme pour enfants alors qu'elles sont diffusées en fin de soirée dans une émission parodique. Waldo the bear est extrêmement populaire auprès du public britannique et un pilote pour sa propre série est commandé. Mais malgré le succès de son personnage, Jamie est dépressif et insatisfait du cours de sa vie. A regarder en VO. J'ai adoré l'épisode 2 (White Bear). Voir Synology : corriger “rsync permission denied” sur Amazon --- ### « The Green Lake » en Autriche : une prairie submergée par la fonte des neiges - **URL**: https://www.skyminds.net/the-green-lake-prairie-submergee-fonte-des-neiges/ Chaque année, de mai à juillet, les plongeurs peuvent se rendre en Autriche sur un spot assez unique qui s'appelle "Der Grüne See" ("the Green Lake"). Lorsque les températures montent et que la neige commence à fondre depuis la montagne, la vallée se remplit d'une eau cristalline. La hauteur d'eau dans la vallée peut alors atteindre 11 mètres. https://www.youtube.com/watch?v=LIELaqwkmbQ La prairie, avec toutes ses fleurs de printemps, est alors inondée. Avec la pureté de l'eau, on peut voir jusqu'à 40 mètres de profondeur mais la température n'est que de 4 à 8 degrés. La couleur est due à la réfraction de la lumière. Les poissons sont présents grâce aux pêcheurs qui en lâchent dans la prairie à cette période. L'eau s'évapore ensuite lentement et la vallée redevient presque sèche, jusqu'à la prochaine fonte des neiges l'année suivante. C'est assez exceptionnel, on dirait que la prairie est dans une boule à neige. --- ### The Glitch Mob – Animus Vox - **URL**: https://www.skyminds.net/the-glitch-mob-animus-vox/ The Glitch Mob est un groupe de musique électronique originaire de Los Angeles formé en 2006, composé de Edward Ma(edIT), Justin Boreta (Boreta) et Josh Mayer (Ooah). J'aime bien Animus Vox : https://www.youtube.com/watch?v=17PM-UMVud8 Cette chanson est assez populaire dans les vidéos et films de ski ou de snowboard. --- ### Gary Clark Jr. – Bright Lights - **URL**: https://www.skyminds.net/gary-clark-jr-bright-lights/ Gary Clark Jr. (né en 1984) est un guitariste de blues américain qui vit à Austin, Texas. Il est également considéré comme le futur du Texas blues. En voici un petit aperçu avec Bright Lights : https://www.youtube.com/watch?v=CFjMeOnqAPI Ses influences regroupent le blues, le jazz, la soul, la country et le hip hop. Et apparemment, il aime le son fuzzy et une manière de chanter plutôt smooth. --- ### Dropbox : synchroniser, sauvegarder et partager ses fichiers partout - **URL**: https://www.skyminds.net/dropbox-accedez-facilement-a-vos-fichiers-nimporte-ou/ Dropbox fait partie de ces outils qui paraissent simples au premier abord : on installe une application, un dossier apparaît sur l’ordinateur, puis les fichiers se synchronisent entre les appareils. Pourtant, bien utilisé, Dropbox va plus loin qu’un simple “dossier dans le cloud”. Il peut servir à accéder à ses documents depuis n’importe où, partager des fichiers, travailler sur plusieurs machines, libérer de l’espace disque, sauvegarder certains dossiers et récupérer une ancienne version d’un fichier modifié par erreur. L’ancien réflexe consistait à dire : “Dropbox remplace ma clé USB”. C’est encore vrai. Mais aujourd’hui, Dropbox remplace surtout les échanges de fichiers maladroits, les pièces jointes trop lourdes, les dossiers éparpillés et les “tu peux me renvoyer la dernière version ?”. Bref, il évite une partie du bazar numérique. Et ce n’est pas rien. À quoi sert Dropbox ? Dropbox est un service de stockage, de synchronisation et de partage de fichiers. Vous placez des documents dans votre Dropbox, puis ils deviennent accessibles depuis vos autres appareils connectés au même compte. Vous pouvez donc retrouver vos fichiers : dans le dossier Dropbox de votre ordinateur ; depuis le site dropbox.com ; dans l’application mobile sur iPhone, iPad ou Android ; sur un autre ordinateur connecté au même compte ; via un lien de partage envoyé à quelqu’un d’autre. Le principe reste très simple : vous modifiez un fichier sur une machine, Dropbox synchronise la nouvelle version, puis elle devient disponible ailleurs. Dropbox remplace-t-il une clé USB ? Oui, dans beaucoup de cas. Au lieu de transporter une clé USB, vous placez vos fichiers dans Dropbox et vous les retrouvez sur vos autres appareils. C’est particulièrement pratique pour : récupérer un document depuis un autre ordinateur ; ouvrir un fichier en déplacement ; partager un dossier avec un collègue ou un client ; éviter les versions multiples d’un même document ; conserver certains fichiers importants disponibles partout ; travailler entre un ordinateur fixe, un portable et un téléphone. En revanche, Dropbox ne remplace pas tout. Une clé USB reste utile hors ligne, sur un poste verrouillé ou dans un environnement où vous ne voulez pas vous connecter à votre compte. Mais pour le quotidien, Dropbox gagne souvent par confort. Créer un compte Dropbox Pour commencer, créez un compte sur le site officiel de Dropbox. Le compte Basic gratuit offre un espace limité, suffisant pour tester le service ou synchroniser quelques documents légers. Si vous stockez des photos, vidéos, archives de travail ou dossiers volumineux, vous atteindrez vite les limites du compte gratuit. Dans ce cas, il faudra soit faire du tri, soit utiliser une offre payante, soit réserver Dropbox aux fichiers vraiment utiles au quotidien. La bonne approche : ne mettez pas “tout” dans Dropbox par réflexe. Mettez-y ce qui doit réellement être accessible, partagé ou synchronisé. Installer l’application Dropbox sur ordinateur Après l’installation de l’application Dropbox sur Windows, macOS ou Linux, un dossier Dropbox est ajouté à votre ordinateur. Sur Windows, il apparaît dans l’Explorateur de fichiers. Sur Mac, il apparaît... --- ### Boy – Little Numbers - **URL**: https://www.skyminds.net/boy-little-numbers/ Boy est un groupe de pop fondé en 2008 par la chanteuse suisse Valeska Steiner et la musicienne allemande Sonja Glass. Avec le succès de leur premier single Little Numbers, leur album Mutual Friends, sorti à l'automne 2011, a grimpé jusqu'à la 14ème place des charts allemands. https://www.youtube.com/watch?v=zsyjS_vJfkw Waited for your call, for the moonTo release me from the longest afternoonI've re-arranged parts of my living roomBut time is hard to kill since I met youLooking at the cars that drive on byWhile spring is making promises outsideRed cars are quite rare I realizeThen I wonder which colour you'd likeSeven little numbersBaby, they could be a startSeven little numbersBaby, I know yours by heartWoo-oh, oh-oh, all the pretty things that we could beWoo-oh, oh-oh, I feel you in every heartbeatWoo-oh, oh-oh, were you ever in a dream that could come trueThese numbers could be lucky for youI watched the sky change to a darkened blueI can't think of another thing to doAnd every song just makes me think of youBecause the singers sounds as if she was longing,As if she was longing, tooSeven little numbersBaby, they could be a startSeven little numbersBaby, I know yours by heartSeven little numbersThey could make a changeSeven little numbersMake a fire out of this flameWoo-oh, oh-oh, all the pretty things that we could beWoo-oh, oh-oh, I feel you in every heartbeatWoo-oh, oh-oh, were you ever in a dream that could come trueThese numbers could be lucky for youI read your name on every wall, on every wall - tell meIs there a cure for me at all, for me at all - tell meI read your name on every wall, on every wall - tell meIs there a cure for me at all, for me at allWoo-oh, oh-oh, all the pretty things that we could beWoo-oh, oh-oh, I feel you in every heart beatWoo-oh, oh-oh, were you ever in a dream that could come trueThese numbers could be lucky for youWoo-oh, oh-ohWoo-oh, oh-ohWoo-oh, oh-ohThese numbers could be luckyThese numbers could be luckyThese numbers could be lucky for you Accessoirement, on peut l'entendre dans un spot de publicité SFR. Entraînant comme musique, non ? --- ### Marilyn Manson – Tainted Love - **URL**: https://www.skyminds.net/marilyn-manson-tainted-love/ Il y a des jours où je joue Tainted Love de Marilyn Manson en boucle, comme ça, pour le plaisir. C'est la version du film Not Another Teen Movie (Sex Academy en français - paye ta traduction!), sorti en 2001. Je vous recommande le film si vous êtes fans de film de campus, il est pas mal. https://www.youtube.com/watch?v=qPXYqW34bwg Le clip montre Marilyn Manson arrivant dans une soirée de lycée accompagné de plusieurs amis gothiques et met en scène plusieurs acteurs du film ainsi que le batteur du groupe Slipknot, Joey Jordison, et Tim Skold qui n'était pas encore membre du groupe à cette époque. Je vous conseille également le making-of ainsi que les choix artistiques, pour le film et pour le clip vidéo, c'est très intéressant: https://www.youtube.com/watch?v=xxC5m_-PhIw La chanson a par la suite été incluse sur l'album The Golden Age of Grotesque (2003) en tant que piste bonus. --- ### Southland saison 5 - **URL**: https://www.skyminds.net/southland-saison-5/ Southland est de retour sur TNT pour sa cinquième saison. John se retrouve en conflit avec son nouvel élève-officier, qui est un vétéran qui revient d'Afghanistan. Pendant ce temps, Lydia essaie de jongler entre le fait d'être mère et le travail d'inspecteur. Ben s'associe avec un groupe de policiers plutôt louches et Sammy se retrouve impliqué dans une bataille juridique cauchemardesque pour la garde de son enfant. Cette saison comprendra 10 épisodes et accueille de nouveaux policiers (récurrents) dans les forces de police de Los Angeles avec Chad Michael Murray, Lesley Fera, Derek Ray, Anthony Ruivivar et Yvette Saunders. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Anatoly Petrov – Polygon (1978) - **URL**: https://www.skyminds.net/anatoly-petrov-polygon-1978/ Quelque chose de radicalement différent aujourd'hui : un court-métrage d'animation russe réalisé par Anatoly Petrov en 1978, basé sur une histoire de science fiction militaire anti-guerre de Sever Gansovsky : https://www.youtube.com/watch?v=NnJbtbh4tDE Dans un future pas trop lointain, un scientifique d'une grande puissance militaire chercher à venger son fils (mort au combat pendant la guerre) et invente donc une arme capable de mettre fin au conflit. Il s'agitun tank automatisé capable de lire les pensées et qui réagit à certaines émotions humaines comme l'hostilité ou la peur. Les personnages du film ont des visages très proches des célébrités de l'époque : on pourra reconnaître Ringo Starr, Jean Gabin, Paul Newman, Yul Brynner ou Mel Ferrer entre autres. Le film est extrêmement réaliste et technique pour l'époque et préfigure déjà tout ce que l'on pourra voir dans les années 1980. Il a remporté l'Official Selection Oberhausen (Germany, 1979) et le premier prix Yerevan, (USSR, 1978). --- ### Prince and Lenny Kravitz – American Woman - **URL**: https://www.skyminds.net/prince-and-lenny-kravitz-american-woman/ Allez, c'est le weekend, un petit duo Prince/Lenny Kravitz avec American Woman et un petit bout de Fly Away: https://www.dailymotion.com/video/xuwvn1_lenny-kravitz-prince-american-woman-fly-away_music Prince is so underrated! --- ### Langue anglaise : carte visuelle et sémantique - **URL**: https://www.skyminds.net/carte-visuelle-semantique-langue-anglaise/ Un groupe de chercheurs du Massachusetts Institute of Technology (MIT) et de la New York University (NYU) ont créé une carte interactive de la langue anglaise en utilisant plus de 7,5 millions d'images trouvées sur internet. Ces images sont triées selon les relations sémantiques entre les mot et, selon les chercheurs, ce projet explore "la relation entre les similarités visuelles et sémantiques". Voici ce que cela donne au final : Chaque pixel de l'image est relatif à un des 53 464 noms communs et représente environ 140 images, donnant les caractéristiques visuelles de chaque mot : cela peut être une image précise, un résumé, une définition. La liste des noms vient de Wordnet. C'est assez génial je trouve : essayez la carte. --- ### C2C – Happy Ft. D.Martin - **URL**: https://www.skyminds.net/c2c-happy-ft-d-martin/ Allez, on reprendra bien une petite dose de C2C, le quatuor nantais ! Voici une petite vidéo qui devrait vous donner envie de bouger vos gambettes, cela swing comme le turf dancing - ce sport dont je vous avais parlé il y a quelques mois deux ans - mais à la sauce gospel du sud des États-Unis. https://www.youtube.com/watch?v=tvY7Nw1i6Kw Je préfère largement ce clip à celui de leur précédent single, Down The Road. De quoi vous mettre la patate pour la journée! --- ### Le squelette de Richard III retrouvé sous les fondations d’un parking à Leicester - **URL**: https://www.skyminds.net/squelette-de-richard-iii-retrouve-leicester/ Des archéologues affirment que les restes du corps qui ont été excavés en dessous d'un parking à Leicester le 4 février 2013 appartiennent au roi anglais Richard III. Le squelette, retrouvé en septembre 2012, présente au niveau de la colonne vertébrale des signes de scoliose, que Richard III avait certainement, et des blessures de guerre qui correspondent aux récits de la mort de Richard III au cours de la Guerre des Deux-Roses. C'est ce qui a poussé les archéologues à demander des tests plus poussés afin de vérifier son identité. Les chercheurs de l'Université de Leicester ont donc conduit une série de tests, dont un test de l'ADN extrait d'une dent et d'un os de Michael Ibsen, un descendant actuel de la soeur de Richard III, Anne of York. Ce test a confirmé la relation génétique entre l'ADN d'Ibsen et celui du squelette. Ces restes sont donc bien ceux de Richard III. Richard III et la Guerre des Deux-Roses Richard III est né en 1452 et a gouverné l'Angleterre de 1483 à 1485. Son règne se termina par sa mort à la bataille de Bosworth Field, la bataille finale dans la guerre civile anglaise que l'on connait sous le nom de Guerre des Deux-Roses, opposant la maison royale de Lancastre à la maison royale d'York. La guerre prend fin en 1485, quand le dernier des rois Plantagenêt Richard III d'Angleterre meurt au champ d'honneur, et qu'Henri VII devient roi. La maison de Lancastre descendait de Jean de Gand, duc de Lancastre et 3e fils du roi Édouard III. Celle d'York descendait de son frère Edmond de Langley (1341-1402), 4e fils du roi Édouard III, devenu duc d'York en 1385. L'emblème de la maison de Lancastre était la rose rouge, tandis que celui des York était la rose blanche, ce qui est à l'origine du nom donné a posteriori à ce conflit. La réputation de Richard III La réputation historique de Richard III est plutôt sulfureuse, il est notamment accusé d'avoir fait assassiner ses deux jeunes neveux afin de pouvoir accéder au trône. La pièce de Shakespeare au titre éponyme cimenta cette réputation 100 ans après sa mort. Cependant, selon la Richard III Society, qui a contribué à la recherche des restes du roi, beaucoup des crimes que Shakespeare a imputé à Richard III ont des bases fallacieuses. La mort des deux jeunes princes ne serait pas avérée. Où enterrer Richard III ? Après la mort du roi sur le champs de bataille, il fut ramené à Leicester et enterré à l'église du Grey Friars, qui a disparu au cours des siècles. C'est en excavant sous le parking que des vitraux ont été retrouvés, ainsi que les restes du corps. L'Université de Leicester a juridiction sur ces restes et a annoncé que le squelette de Richard III serait enterré sous Leicester Cathedral. D'autres voix se sont élevées : la Richard III Foundation et la Society of Friends of Richard III, basées à York, veulent que ses restes soient rapatriés à York,... --- ### Buckethead – Soothsayer - **URL**: https://www.skyminds.net/buckethead-soothsayer/ Buckethead est le nom d'artiste de Brian Carroll, un guitariste multi-instrumentaliste et compositeur américain né à Huntington Beach en Californie, en 1969. Apparaissant toujours masqué, il porte un seau en carton (KFC) renversé sur la tête, d'où le surnom de «bucket». Ce shredder comptabilise au total 42 albums solo entre 1992 et 2012 (soit 20 ans) - pas mal pour un guitariste! Et ce, sans compter ses nombreuses collaborations (Praxis, Guns N' Roses) : il a composé sur plus de 50 albums d'autres artistes. Petit aperçu avec Soothsayer : https://www.youtube.com/watch?v=qFoBbNHvOME Son style est totalement éclectique : cela va du progressive metal, funk, blues, jazz, bluegrass, ambient à la musique avant-gardiste. En anglais, soothsayer désigne l'oracle, le devin, celui qui dit la bonne aventure ou peut prédire le futur. --- ### Bluefish TV – The Parent Rap - **URL**: https://www.skyminds.net/bluefish-tv-the-parent-rap/ Pour toutes celles et ceux qui ont (ou ont eu) ou qui vont bientôt avoir des enfants, voici une petite parodie sur l'éducation et les relations parents-enfants sur un petit air de rap: https://www.youtube.com/watch?v=N_NspDWssIY Don’t make me count to 1-2-3Yeah, it’s the parent rap, y’allWe may spend most of our time chasing toddlers down butWe still know how to rock the hizzleI don’t even know what you just said We used to be cool!Back in the day, back on the blockWatching PG-13 movies, staying up way after darkThen we had a couple shortiesAnd now we’re really flossyCause now we be rollin’ with our own little possieIn the mini vanOr in our little wagonLet me throw it to the momsCause the little one is saggin’ I used to bling it up, I used to dress real shrewdNow I accessorize with food that’s already been chewedAnd that’s all rightI make this diaper bag look goodWhen I’m walking through the mall tryin’ to wrangle my broodMy PB&Js will set your world on fireI could make you mac-n-cheese blindfolded on a wireI’m wiping the do-doKissin’ the booboosGot them eyes in the back of my head, I see all you do.Using your full name so you know I ain’t playin’And that’s why all my kiddo’s, they keep sayin’ Mom mom, she’s the bomb, rocking all night till the break of dawnCooking them peas so I’ll grow up strongGot my second seat belt if we crash head onDad dad, he’s the man, working real hard to support the clanTraded in his porsche for an old sedanRaisin’ those brows if we get outta hand When it come to Candyland, I’m a stone cold playerHelping out with the homework, I’m an Algebra slayerWrestle carseats into place without spillin’ my mugIf I tuck you in at night, you’ll be as snug as a bugThen I’m off in the morning, to make that cheeseYou may not know this yet, but it doesn’t grow on treesNow mama take it please, what, uh, take it I’m droppin’ “time out”s like they’re hotPotty training all my totsWashin’ all the pans and potsTyin’ little shoes in knotsGiving knowlege to your brainLike “if your friend jumped off a train you don’t have to do the same”Now get your toys out of the rain!I’m cleanin’ every spillCuttin’ coupons like a vilIf you need parental skill now you knowWe are for real!You don’t think our rhyms are ill boy?Then your grounded for a mil! Mom, mom, she’s legitMaking us chill when we pitch a fitTelling us to share and never to hitIf you can’t say somethin’ nice put a sock in itDad dad, he’s the guy,never gets tired of playing “I spy”The constant barage of kids asking “why”And he always pretends he needs another tie You know money doesn’t grow on treesWhy buy the cow if the milk is freeThis won’t hurt you as much as it hurts meIf you want dessert eat another veggieClose that doorYou weren’t born in a stableSit up straightAnd kiss your aunt... --- ### In lycée with Mister B. : « one more time! » - **URL**: https://www.skyminds.net/in-lycee-with-mister-b-one-more-time/ Cette année, je suis aussi au lycée : c'est l'occasion d'inaugurer une nouvelle série de dialogues ! Après Dialogues ZEP et Dialogues with Mister B., voici donc In lycée with Mister B., dédiée au lycée. Cette semaine, je fais une petite compréhension orale avec mes terminales qui, visiblement, n'ont pas l'air franchement concentrés sur la première écoute globale. Je leur propose donc - patiemment et avec une certaine gentillesse - de leur rejouer la bande. Résultat : Hé oui. Même en terminale. Et comme d'habitude, je ne m'y attendais pas à celle-là. De quoi dédramatiser la compréhension orale du coup, sur fond de Daft Punk! --- ### Macklemore and Ryan Lewis – Thrift Shop (feat. Wanz) - **URL**: https://www.skyminds.net/macklemore-and-ryan-lewis-thrift-shop-feat-wanz/ Aujourd'hui, on change un peu de style musical. J'écoute cette chanson depuis 3 mois dans un de mes nombreux onglets YouTube et en allumant la télévision hier, je me suis aperçu que c'était devenu totalement mainstream. So much for letting the cat out of the bag! Voici donc un peu de hip-hop avec Macklemore - de son vrai nom Ben Haggerty -, né en 1983 à Seattle dans l'État de Washington, un rappeur américain d'origine irlandaise : https://www.youtube.com/watch?v=QK8mJJJvaes Paroles [Hook: Wanz]I’m gonna pop some tags, only got twenty dollars in my pocketI’m, I’m, I’m hunting, looking for a come up, this is fucking awesome [Verse One: Macklemore]Now walk into the club like "What up?! I got a big cock!"Nah, I’m just pumped, I bought some shit from the thrift shopIce on the fringe is so damn frostyThe people like “Damn, that’s a cold ass honky”Rolling in hella deep, headed to the mezzanineDressed in all pink except my gator shoes, those are greenDraped in a leopard mink, girl standing next to meProbably should've washed this, smells like R.Kelly sheetsPissBut shit, it was 99 centsBuy it, coppin' it, washin' it, ‘bout to go and get some complimentsPassing up on those moccasins someone else has been walking inBummy and grungy, fucking it, I am stunting and flossing andSaving my money and I’m hella happy, that’s a bargain bitchI’ma take your grandpa's style, I’ma take your grandpa's styleNo for real, ask your grandpa, can I have his hand-me-downs?Velour jumpsuit and some house slippersDookie Brown leather jacket that I found diggingThey had a broken keyboard, I bought a broken keyboardI bought a skeet blanket, then I bought a knee boardHello, hello, my ace man, my mellowJohn Wayne ain’t got nothing on my fringe game, hell noI could take some Pro Wings, make them cool, sell thoseThe sneaker heads would be like “Ah, he got the Velcros” [Hook x2]I’m gonna pop some tags, only got twenty dollars in my pocketI’m, I’m, I’m hunting, looking for a come up, this is fucking awesome [Verse Two: Macklemore]What you know about rocking a wolf on your noggin?What you knowing about wearing a fur fox skin?I’m digging, I’m digging, I’m searching right through that luggageOne man’s trash, that’s another man’s come upThank your granddad for donating that plaid button-Up shirt, ‘cause right now, I’m up in hurr stuntin'I’m at the Goodwill, you can find me in the (Uptons)I’m that, I’m that sucker searchin' in that section (Uptons)Your grammy, your aunty, your momma, your mammyI’ll take those flannel zebra jammies, second hand and I’ll rock that motherfuckerThe built-in onesie with the socks on the motherfuckerI hit the party and they stop in that motherfuckerThey be like “Oh that Gucci, that’s hella tight”I’m like “Yo, that’s fifty dollars for a t-shirt”Limited edition, let’s do some simple additionFifty dollars for a t-shirt, that’s just some ignorant bitch shitI call that getting swindled and pimped, shitI call that getting tricked by businessThat shirt’s hella dopeAnd having the same one as six other people in... --- ### Happy Birthday Matt : 32 - **URL**: https://www.skyminds.net/happy-birthday-matt-32/ Et hop! j'ai aujourd'hui 32 ans. Le nombre 32 en mathématiques Trente-deux est le plus petit nombre n avec exactement 7 solutions pour l'équation :[Phi] φ(x) = n, dans laquelle φ représente l'indicatrice d'Euler. C'est aussi le résultat de 1¹+2²+3³ ou de 2⁴+4² ou encore 2⁵. Trente-deux est aussi un nombre heureux : c'est un nombre entier qui, lorsqu'on somme les carrés de chacun de ses chiffres en base dix, puis les carrés des chiffres de ce résultat et ainsi de suite jusqu'à l'obtention d'un nombre à un seul chiffre, donne 1 pour résultat. Exemple : 32: 3² + 2² = 9 + 4 = 1313: 1² + 3² = 1 + 9 = 1010: 1² + 0² = 1 + 0 = 1 Trivia sur le nombre 32 Trente-deux est : En degrés Fahrenheit, c'est le point de congélation de l'eau au niveau de la mer. Le nombre total de dents pour un humain adulte, incluant les dents de sagesse. Le code ASCII et Unicode pour le caractère espace. IPv4 utilise un adressage 32-bit (4-byte). La taille, en bits, de certains types de données entières, utilisés dans les représentation numériques des ordinateurs (équivalent à quatre octets). Aux échecs, la quantité totale de carrés noirs sur l'échiquier, la quantité totale de carrés blancs, et la quantité totale de pièces (blanches et noires) au début de la partie. Le nombre de sonates complètes au piano, numérotées, de Ludwig van Beethoven. En astrologie, dans la Cabbale, l’Arbre de Vie représente symboliquement les lois de l'Univers. Il est formé de 4 mondes, 10 centres énergétiques (ou numérations appelées Sephiroth), 3 voiles d’existence négative non manifestée, 3 piliers et 22 sentiers dont l'ensemble forme les 32 voies de la Sagesse (ces 32 voies correspondent aux dix Sephiroth et aux vingt-deux sentiers). Le nombre d'années de mariage des noces de cuivre. Le numéro atomique du germanium (Ge), un métalloïde. C'est drôle mais 32 ans, ça me semble bien cool comme âge :) --- ### Serveur dédié : création d’une seedbox avec Transmission - **URL**: https://www.skyminds.net/serveur-dedie-creation-dune-seedbox-avec-transmission/ Aujourd'hui, on apprend comment monter une seedbox sur un serveur dédié avec Transmission. Une seedbox est un serveur privé dédié au téléchargement et à l'émission de fichiers, utilisant le protocole BitTorrent, connecté à des réseaux à très haut débit symétrique, souvent à 100 MBits/s et plus. Les fichiers sont envoyés à la Seedbox par les autres utilisateurs du réseau BitTorrent, et de là ils peuvent être récupérés depuis un ordinateur personnel, à la vitesse maximale de sa connexion (ADSL, fibre optique, 3G...) et ceci par les protocoles FTP, HTTP, SFTP, rsync, SSH. Etape 1 : installation de Transmission Sur le serveur, dans le terminal, on installe Transmission : apt-get install transmission-daemon Le serveur se lance dès l'installation, on l'arrête : /etc/init.d/transmission-daemon stop Etape 2 : configurer Transmission On édite sa configuration : nano /etc/transmission-daemon/settings.json Eléments à modifier selon votre configuration : "download-dir": "/home/files","incomplete-dir": "/home/files/tmp","rpc-password": "votre-mot-de-passe","rpc-username": "votre-login","rpc-whitelist": "254.254.254.254", Le mot de passe est hashé au redémarrage du serveur, vous pouvez le rentrer en clair. Le serveur tourne par défaut sur le port 51413 et le webadmin sur le port 9091. Pensez à whitelister votre adresse IP. Etape 3 : ouvrir les ports dans le firewall On ouvre les ports qui vont bien sous iptables : iptables -A OUTPUT -p tcp --dport 9091 -j ACCEPT iptables -A INPUT -p tcp --dport 9091 -j ACCEPT iptables -A INPUT -p tcp --dport 51413 -j ACCEPT iptables -A OUTPUT -p tcp --dport 51413 -j ACCEPT iptables -t filter -A OUTPUT -m owner --gid-owner debian-transmission -j ACCEPT Et on redémarre le serveur : /etc/init.d/transmission-daemon start Rendez-vous maintenant sur l'adresse de votre serveur, sur le port 9091 (ou le port que vous avez défini). Après vous être identifié, vous disposez d'une interface graphique pour gérer vos fichiers torrents. Vous possédez maintenant une seedbox ! --- ### Ish Marquez – I Perceive Things - **URL**: https://www.skyminds.net/ish-marquez-i-perceive-things/ Ish Marquez vient du Bronx et fait partie de la scène anti-folk, qui est un sous-genre musical du punk, qui mêle des éléments de punk rock et de musique folk américaine. L'anti-folk a fait son apparition au milieu des années 1980 à New York. Le répertoire d'Ish Marquez est assez éclectique mais j'aime beaucoup I Perceive Things : Sometimes if I'm in mourning, I'm hit with the dazeof the nights that were given to a substance useRunning through the bone of a body that's already been abusedby a world (in me) the stupid people in the neighborhoodso if it's a problem to hold to a sensitive soulso hurt by insensitive trolls BridgeNow I don't know what you've been told...All I know is I am fed up with atrocitiesfrom this world ChorusI perceive things, much too coldI am now the cynic and Ican't believe what's been told 2nd verseIsn't it amazing?How the body and the mind start to centralize on growth?Negative or Positive in Energy is what's been shownin the people, who change a landscape many timesthey misuse it as a homefuhgetabout the Real Dealit's not what's been sold Bridge Chorus Et elle reste bien en tête celle-là ! --- ### Alex Clare – Too Close - **URL**: https://www.skyminds.net/alex-clare-too-close/ Alex Clare was born in Southwark, London, England. He grew up listening to jazz records then was drawn to blues and soul before getting interested in drum and bass, dubstep and UK garage. I can relate a lot to this song by Alex Clare as of late : https://www.youtube.com/watch?v=zP50Ewh31E4 You know I'm not one to break promises,I don't want to hurt you but I need to breathe.At the end of it all, you're still my best friend,But there's something inside that I need to release.Which way is right? which way is wrong?How do I say that I need to move on?You know we're heading separate ways.And it feels like I am just too close to love you,There's nothing I can really say.I can't lie no more, I can't hide no more,Got to be true to myself.And it feels like I am just too close to love you,So I'll be on my way.You've given me more than I can return,Yet there's oh so much that you deserve.There's nothing to say, nothing to do.I've nothing to give,I must live without you.You know we're heading separate ways.And it feels like I am just too close to love you,There's nothing I can really say.I can't lie no more, I can't hide no more,Got to be true to myself.And it feels like I am just too close to love you,So I'll be on my way.So I'll be on my way.And it feels like I am just too close to love you,There's nothing that I can really say.I can't lie no more, I can't hide no more,Got to be true to myself.And it feels like I am just too close to love you,So I'll be on my way.So I'll be on my way.So I'll be on my way. Nice song about a failed relationship. --- ### Dialogues ZEP : « pur beau gosse intergalactique » - **URL**: https://www.skyminds.net/dialogues-zep-pur-beau-gosse-intergalactique/ Hier, je suis allé sur Facebook et, une fois n'est pas coutume, je me suis loggué sur le chat - ce que je dois faire à peu près une fois par an. Étant donné que tous ceux qui étaient sous MSN ont migré sur Facebook, il y a pas mal de monde connecté en permanence. Cela ne manque pas, le temps que je lise la liste des connectés, un ancien élève qui avait commenté un de mes statuts récemment m'alpague. Il s'agit de Momo, à qui j'avais eu le plaisir d'enseigner l'anglais en 3ème. On discute d'un peu de tout, de sa vie, de ses études et au final, j'ai eu ça : Et, bien évidemment, je n'ai aucune idée de quoi il parle : je demande toujours aux élèves de jeter leur chewing-gum donc il n'est pas vraiment possible pour moi d'en avoir un. Bon, pour les fleurs, c'est possible (même si c'est rare hein!). Je trouve cela drôle que ce soit ça qui soit resté au final. Les élèves ont vraiment de drôles de visions de leurs profs. "Pur beau gosse intergalactique". Geeze! --- ### Ben Howard – Only Love - **URL**: https://www.skyminds.net/ben-howard-only-love/ Ben Howard de son vrai nom Benjamin John Howard est un auteur-compositeur-interprète britannique né le 24 avril 1987 à Totnes, Devon, en Angleterre. Ben a étudié le journalisme puis a cessé ses études afin de se lancer dans la musique. Voici Only Love : https://www.youtube.com/watch?v=Y7sVoZcSKdc Darling you're with me, always around me. Only love, only love. Darling I feel you, under my body. Only love, only love. Give me shelter, or show me heart Come on love, Come on love. Watch me fall apart, watch me fall apart. And I'll be yours to keep. Darling you're with me, always around me. Only love, only love. Darling I feel you, under my body. Only love, only love. Give me shelter, or show me heart Come on love, Come on love. Watch me fall apart, watch me fall apart. And I'll be yours to keep. Darling you're with me, always around me. Only love, only love. Darling I feel you, under my body. Only love, only love. Give me shelter, or show me heart Come on love, Come on love. Watch me fall apart, watch me fall apart. Watch me fall apart, watch me fall apart, watch me fall apart. Only love love love, Only love love love, Only love love love. Girl show me heart. Come on love love love, Come on love love love, Come on love love love. Watch me fall apart. Come on love love love, Come on love love love, Come on love love love. Girl showe me heart. Show me love love love, Show me love love love, Show me love love love. Darling I feel you under my body. Darling you're with me forever and always. Give me shelter or show me heart. And watch me fall apart, watch me fall apart. En 2010 il a notamment fait les premières parties du duo Australien Angus & Julia Stone. Le 1er album de Ben Howard est sorti le 24 octobre 2011, je vous le recommande. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Andrew Bird – Three White Horses - **URL**: https://www.skyminds.net/andrew-bird-three-white-horses/ Andrew Wegman Bird (né en 1973) est une auteur-compositeur multi-instrumentaliste américain qui vient de Chicago. Son originalité est servie par l’utilisation d’instruments comme le violon et le glockenspiel. Enfin lors de ses concerts, il utilise l'oversampling pour jouer par-dessus ses propres boucles, ce qui lui offre un son plus proche du groupe de rock que de l’artiste solo : https://www.youtube.com/watch?v=3yzNN3Zukl8 Entre jazz, folk, rock et soul, il impose un univers riche, sobre et très personnel. Cela risque de tourner en boucle sur les radios. --- ### Mark Crilley – Realism Challenge : Playing Card - **URL**: https://www.skyminds.net/mark-crilley-realism-challenge-3-playing-card/ J'avais déjà abordé le speed painting dans ces colonnes, en voici en nouvel exemple avec Mark Crilley, un auteur de bande dessinée américain qui illustre aussi des livres pour enfants. Voici comment il peut dessiner une carte à jouer : https://www.youtube.com/watch?v=XuMuGYCW63w Le réalisme est vraiment saisissant, difficile de voir la différence entre la vraie carte et la copie. --- ### Picture book : feuilletons l’album avec les Kinks - **URL**: https://www.skyminds.net/picture-book-feuilletons-lalbum-avec-les-kinks/ Voici une chanson qui m'a toujours donné la pêche et qui j'avoue tourne un peu en boucle sur le pc en ce moment. Un riff engageant et une mélodie qui reste bien en tête ! Tout ce qu'il faut pour bien commencer le week-end ! Je vous en propose une version enregistrée dans le cadre d'une émission télévisée. https://www.dailymotion.com/video/xecw92_the-kinks-picture-book-1969_music Enjoy ! --- ### jQuery : script utilisant la fonction toggle pour afficher ou cacher un bloc HTML - **URL**: https://www.skyminds.net/jquery-toggle-afficher-cacher-un-bloc-html/ Afficher ou cacher un bloc HTML au clic fait partie des petits besoins classiques du web. Pendant longtemps, jQuery réglait cela en trois lignes avec toggle(). C’était simple, lisible, efficace. Et, soyons honnêtes, cela a rendu service à beaucoup de monde. Aujourd’hui, on peut faire mieux. Dans la plupart des cas, il n’est plus nécessaire de charger jQuery juste pour masquer un bloc de texte. HTML sait déjà le faire avec et . Et si vous voulez un contrôle plus fin, quelques lignes de JavaScript moderne suffisent. Voici donc une version modernisée du vieux toggle jQuery : plus légère, plus accessible, et plus facile à maintenir. Le besoin : afficher un bloc au clic Sur SkyMinds, j’utilisais ce type de script pour afficher certaines zones de texte dans des articles, notamment dans les articles de la catégorie Music/Séries. Le principe est simple : un élément visible sert de déclencheur. Quand l’internaute clique dessus, un bloc caché apparaît. Quand il reclique, le bloc disparaît. Avant, le réflexe était souvent celui-ci : charger jQuery, cibler un ID, puis lancer toggle(). Cela fonctionne toujours. Cependant, ce n’est plus le meilleur point de départ pour un nouveau projet. La méthode moderne : utiliser details et summary Pour un simple bloc que l’on veut ouvrir ou fermer, HTML propose une solution native : . Elle fonctionne sans dépendance, sans script, et sans bidouille. Cliquez pour afficher le contenu Ce texte apparaît et disparaît grâce à un élément HTML natif. Le navigateur gère automatiquement l’ouverture et la fermeture. Le contenu du reste visible. Le reste du bloc apparaît lorsque l’élément passe à l’état ouvert. Pour beaucoup de tutoriels, FAQ, spoilers, notes complémentaires ou contenus secondaires, cette solution suffit largement. Elle évite aussi d’ajouter du JavaScript pour une interaction que HTML gère déjà très bien. Ajouter un style propre au bloc Par défaut, l’affichage reste très brut. Ajoutons donc un peu de CSS pour rendre le composant plus agréable. .sky-toggle { margin: 1.5rem 0; border: 1px solid #d4d4d8; border-radius: 0.75rem; background: #fafafa; } .sky-toggle summary { cursor: pointer; padding: 1rem 1.25rem; font-weight: 700; } .sky-toggle summary:hover { background: #f4f4f5; } .sky-toggle__content { padding: 0 1.25rem 1.25rem; } .sky-toggle__content > :last-child { margin-bottom: 0; } On obtient alors un bloc pliable simple, lisible et maintenable. Il ne dépend d’aucune librairie externe. C’est déjà une petite victoire contre le gras numérique. Ouvrir le bloc par défaut Si vous voulez afficher le contenu dès le chargement de la page, ajoutez simplement l’attribut open sur . Cliquez pour masquer le contenu Ce bloc est ouvert par défaut. C’est pratique pour une note importante que vous voulez afficher immédiatement, tout en laissant la possibilité de la replier. Méthode avec JavaScript moderne Dans certains cas, ne suffit pas. Vous pouvez vouloir utiliser un vrai bouton, changer un libellé, contrôler plusieurs états, ou intégrer le bloc dans une interface plus personnalisée. Dans ce cas, utilisez un bouton HTML et l’attribut hidden. Afficher le contenu Ce texte apparaît grâce à quelques lignes de JavaScript moderne.... --- ### Marvin Gaye vs The Pixies – Get It On My Mind - **URL**: https://www.skyminds.net/marvin-gaye-vs-the-pixies-get-it-on-my-mind-dj-zebra/ Le mashup ou mash-up (pot-pourri), bastard pop ou vs (versus, dans le sens d'un morceau contre un autre) est un genre musical hybride puisqu'il consiste en l'association, dans un même morceau, de deux ou plusieurs titres existants, généralement les parties vocales d'un morceau sur la musique d'un autre, grâce à un calage de tempo. Voici Let's Get it On de Marvin Gaye remixé avec Where's my Mind? des Pixies par DJ Zebra: https://www.youtube.com/watch?v=fLrzo8MT2VQ J'aime bien le résultat final, ça rend vraiment bien. --- ### The Hollow Crown saison 1 - **URL**: https://www.skyminds.net/the-hollow-crown-saison-1/ Voici The Hollow Crown, une série historique produite par Sam Mendes pour BBC 2. Elle adapte les quatre pièces de la seconde tetralogie historique de William Shakespeare, "the Henriad" : Richard II, Henry IV parts 1 et 2, et Henry V. Richard II King Richard finds himself having to try and settle a dispute between his cousin Henry Bolingbroke and Thomas Mowbray. He decides that a duel should be held but then stops it just before swords clash. Both men are then banished from the realm. Richard goes to see John of Gaunt, Bolingbroke’s father, who reprimands the King. After seizing Gaunt’s money and lands following his death, Richard leaves for wars against the rebels in Ireland. Bolingbroke returns to try and claim back his inheritance. Henry IV Part 1 Prince Hal defies his father when he spends time with his time at Mistress Quickly’s tavern in the company of the Falstaff and his companions. The King is threatened by a rebellion led by Hal’s rival Hotspur, his father and his uncle. Prince Hal joins his father at the Battle of Shrewsbury killing Hotspur in single combat. Henry IV Part 2 Northumberland learns about the death of his son. The Lord Chief Justice tries to separate Falstaff from Prince Hal on behalf of his father. The rebels continue to plot insurrection and Falstaff is sent to recruit soldiers. Henry is finally reconciled with his son as his health fails. Falstaff makes his way to Hal’s coronation with expectations of a place in high office. Henry V Henry V has settled onto the throne and has the makings of a fine king when the French ambassador brings a challenge from the Dauphin. Inspired by his courtiers Exeter and York, Henry swears that he will, with all force, answer this challenge. The chorus tells of England’s preparations for war and Henry’s army sails for France. After Exeter’s diplomacy is rebuffed by the French king, Henry lays a heavy siege and captures Harfleur. The French now take Henry’s claims seriously and challenge the English army to battle at Agincourt. A regarder en VO. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Neil Young – Old Man (live at Massey Hall, 1971) - **URL**: https://www.skyminds.net/neil-young-old-man-live-at-massey-hall-1971/ Voici la version d'Old Man de Neil Young, jouée au Massey Hall en 1971 : https://www.youtube.com/watch?v=Vef03k5i8VI Dm7/add2: (xx0560) Intro: E|---------0--0--0--|----------0--0--0--| B|------6--6--6--6--|---6---6--6--6--6--| G|----0h5--5--5--5--|-0h5-0h5--5--5--5--| D|--0---------------|-------------------| A|------------------|-------------------| E|------------------|-------------------| E|---------0--0--0--|----------0--0--0--| B|------6--6--6--6--|---6---6--6--6--6--| G|----0h5--5--5--5--|-0h5-0h5--5--5--5--| D|--0---------------|-------------------| A|------------------|-------------------| E|------------------|-------------------| E|-----0h2--------|--2--3p2-----0h2-----| B|----------3--3--|----------3-------3--| G|----------2--2--|----------2-------2--| D|--0-------------|---------------------| A|----------------|---------------------| E|----------------|---------------------| Dm7/add2 Old man look at my life, I'm a lot like D you were. Dm7/add2 Old man look at my life I'm a lot like D F C G you were. D F C F Verse: D F C G Old man look at my life, twenty four and there's so much more. D F C F Live alone in a paradise that makes me think of two. D F C G Love lost, such a cost, give me things that won't get lost. D C F G Like a coin that won't get tossed rolling home to you (base run from G into D of Chorus, notes: G A B C D) Chorus: D D Dsus4 D Am7 Em7 D Am7 Em7 Old man take a look at my life I'm a lot like you. D Am7 Em7 I need someone to love me the whole day through. D Am7 Em7 Ah, one look in my eyes and you can tell that's true. D F C G D F C F 2nd Verse: Lullabys, look in your eyes, run around the same old town. Doesn't mean that much to me to mean that much to you. I've been first and last, look at how the time goes past. But I'm all alone alone at last, rolling home to you. (repeat chorus and go immediately into intro again but on the last "you were" finish as below...) D F C G D you were. Dans le film Heart of Gold, Neil Young présente la chanson comme ceci : About that time when I wrote (Heart of Gold), and I was touring, I had also -- just, you know, being a rich hippie for the first time -- I had purchased a ranch, and I still live there today. And there was a couple living on it that were the caretakers, an old gentleman named Louis Avila and his wife Clara. And there was this old blue Jeep there, and Louis took me for a ride in this blue Jeep. He gets me up there on the top side of the place, and there's this lake up there that fed all the pastures, and he says, "Well, tell me, how does a young man like yourself have enough money to buy a place like this?" And I said, "Well, just lucky, Louie, just real lucky." And he said, "Well, that's the darndest thing I ever heard." And I wrote this song for him.Neil Young --- ### Led Zeppelin à l’honneur des Kennedy Center Honors 2012 - **URL**: https://www.skyminds.net/led-zeppelin-kennedy-center-honors-2012/ Led Zeppelin a été à l'honneur des 35ème Kennedy Center Honors en cette fin d'année 2012! Après une introduction de Jack Black (Tenacious D), les Foo Fighters ont joué "Rock and Roll", Kid Rock "Ramble On", Lenny Kravitz "Whole Lotta Love". Et le final : Ann et Nancy Wilson (Heart), avec Jason Bonham (fils de feu John Bonham) et tout une chorale pour entamer "Stairway To Heaven" : https://www.youtube.com/watch?v=AAsUq2aIyr8 Les réactions de Plant, Page et Jones sont vraiment excellentes. J'aime bien le moment quand Jimmy et John bougent leur tête en rythme, ou encore lorsque Robert a la larme à l'oeil. So much win. --- ### Ma première tablette : Google Nexus 7 - **URL**: https://www.skyminds.net/ma-premiere-tablette-google-nexus-7/ Et voilà, depuis le temps que j'en voulais une... j'ai attendu patiemment que Google sorte la Nexus 7 qui, grâce à la magie de Noël (et de mes parents!) est enfin mienne. La tablette en elle-même est plutôt belle d'aspect : bords arrondis argentés et coque arrière en plastique agréable au toucher (style grip et non un plastique brillant qui glisse entre les doigts - bon point!). L'écran est sublime, extrêmement précis et réactif. Niveau performance, rien à voir avec la tablette chinoise que j'avais achetée à mon père il y a quelques mois: écran 7” 1280x800 (216ppi) 32Go de disque 1 Go de RAM NVIDIA Tegra3 quad-core processor camera 1.2MP Le tout tournant évidemment sous Android. Au premier démarrage, j'ai entré la clé WiFi de la maison puis mes identifiants Google : la tablette a alors récupéré toute la liste des applications installées sur mon téléphone et les a installées automatiquement sur la tablette. Au début, je me suis demandé si c'était bien. Au final, j'ai trouvé cela génial : mêmes applis sur les deux périphériques, au moins on ne cherche pas ses applications! La tablette a ensuite été chercher ses mises à jours pour Android : d'abord la 4.1.2 (23 Mo) puis, un reboot plus tard, la 4.2.1 (85 Mo). Et hop, la tablette est entièrement mise à jour, avec toutes mes applications en quelques minutes. J'ai découvert Google Flux (installé par défaut) qui permet de lire les journaux (et autres flux RSS) en ligne, c'est vraiment bien fait. Le partage sur Google+ se fait en un clic également. L'autonomie est d'environ une journée lorsque l'on s'en sert, un peu comme un téléphone finalement. Bref, très content de la tablette :) --- ### The Rolling Stones – Wild Horses (live) - **URL**: https://www.skyminds.net/the-rolling-stones-wild-horses-live/ Wild Horses est une chanson des Rolling Stones tirée de l'album Sticky Fingers, écrite par Mick Jagger, Keith Richards et Gram Parsons. A l'origine écrite par Keith Richards en 1969 à l'occasion de la naissance de son fils, Marlon, Mick Jagger aurait réécrit les paroles pour parler de sa relation avec Marianne Faithfull qui était en train de s'effondrer. La légende veut que, le refrain "Wild Horses couldn't drag me away" ait été la première phrase qu'aurait prononcé Marianne Faithfull après être sortie d'un coma suite à une overdose en 1969. https://www.youtube.com/watch?v=Xb3fZmkzy84 Intro: G C G C Bm G Bm G Childhood living is easy to do Am C D G D The things that you wanted I bought them for you Bm G Bm G Graceless lady you know who I am Am C D G D You know I can't let you slide from my hand Am C D G F C Wild horses couldn't drag me away Am C D G F C G Wild wild horses couldn't drag me away Bm G Bm G I watched you suffer a dull aching pain Am C D G D Now you've decided to show me the same Bm G Bm G No sweeping exits or offstage lights Am C D G D Can make me feel bitter or treat you unkind Am C D G F C Wild horses couldn't drag me away Am C D G F C Wild wild horses couldn't drag me away Bm G Bm G Am C D G D Bm G Bm G Faith has been broken tears must be cried Am C D G D Let's do some living after we die Am C D G F C Wild horses couldn't drag me away Am C D G F C Wild wild horses we'll ride them some day Am C D G F C Wild horses couldn't drag me away Am C D G F C D G Wild wild horses we'll ride them some day Et à 00:15, Charlie Watts se fait un rail de coke. Classic! --- ### PHP : remplacer eregi(), ereg() et corriger l’erreur “function eregi() is deprecated” - **URL**: https://www.skyminds.net/php-eregi-deprecated-remplacer-preg-match/ Il vous est peut-être déjà arrivé de tomber sur ce message d’avertissement dans un vieux script PHP : Function eregi() is deprecated. Ou, sur une version plus récente de PHP, sur une erreur fatale encore moins sympathique : Fatal error: Uncaught Error: Call to undefined function eregi() Dans les deux cas, le problème vient du même endroit : les anciennes fonctions POSIX regex de PHP, comme ereg(), eregi(), ereg_replace(), eregi_replace(), split() et spliti(), ne doivent plus être utilisées. Elles ont été dépréciées à partir de PHP 5.3, puis retirées de PHP 7. Le RFC PHP consacré au retrait des fonctionnalités obsolètes indique que l’extension ereg était dépréciée depuis PHP 5.3 et que l’extension PCRE devait être utilisée à la place. Voir le RFC PHP sur la suppression des fonctions obsolètes en PHP 7. La solution consiste donc à remplacer ces anciennes fonctions par la famille preg_*, principalement preg_match(), preg_replace() et preg_split(). Pourquoi eregi() ne fonctionne plus ? eregi() servait à faire une recherche par expression régulière sans tenir compte de la casse. Elle était basée sur l’ancien moteur POSIX regex de PHP. Exemple historique : $is_image = eregi( 'jpg|gif', $file_type ); Le problème, c’est que cette famille de fonctions est obsolète depuis longtemps. Sur PHP 5.3 à 5.6, elle générait des avertissements de dépréciation. Depuis PHP 7, elle n’existe plus. Sur PHP 8.x, un appel à eregi() provoque donc une erreur fatale. En clair : si votre code contient encore eregi(), il appartient à une autre époque. Une époque sympathique, certes, mais une autre époque quand même. Par quoi remplacer eregi() ? Le remplacement direct de eregi() est preg_match() avec le modificateur i, qui rend la recherche insensible à la casse. Ancien code : $is_image = eregi( 'jpg|gif', $file_type ); Nouveau code : $is_image = preg_match( '~jpg|gif~i', $file_type ); Le manuel PHP montre justement l’usage du modificateur i dans preg_match() pour effectuer une recherche insensible à la casse. Voir la documentation PHP de preg_match(). Le délimiteur ici est ~, mais vous pouvez aussi utiliser /, # ou un autre caractère supporté. L’important est de bien encadrer le motif avec un délimiteur, puis d’ajouter les modificateurs après le délimiteur final. Attention : convertir le motif ne suffit pas toujours Les expressions régulières POSIX utilisées par ereg() et les expressions PCRE utilisées par preg_match() se ressemblent, mais elles ne sont pas identiques. Dans les cas simples, la conversion est facile. Dans les cas complexes, il faut relire le motif, tester les captures, vérifier les échappements et contrôler le comportement sur des entrées réelles. Par exemple, ce remplacement est trop approximatif si l’on veut détecter une vraie extension d’image : $is_image = preg_match( '~jpg|gif~i', $file_type ); Ce motif matche aussi une chaîne comme not-a-gif-but-text. Pour vérifier une extension, mieux vaut être plus précis : $is_image = (bool) preg_match( '~\.(?:jpe?g|gif|png|webp)$~i', $filename ); Ici, le motif vérifie une extension en fin de nom de fichier, accepte .jpg, .jpeg, .gif, .png et .webp, puis ignore la casse avec i. Exemple moderne : vérifier une extension d’image Voici une... --- ### Dan Trachtenberg – Portal : No Escape - **URL**: https://www.skyminds.net/dan-trachtenberg-portal-no-escape/ Portal est un jeu vidéo de réflexion et d'action en vue subjective développé par Valve en 2007. Le jeu consiste en une succession de parcours que le joueur doit franchir en téléportant son personnage ou des objets à l'aide d'une arme capable de créer un portail spatial entre deux surfaces planes. Portal: No Escape est un court-métrage de Dan Trachtenberg qui reprend la trame du jeu et met en scène Chell qui découvre le Portal Gun et essaie de s'échapper de sa cellule : https://www.youtube.com/watch?v=4drucg1A6Xk Sympa comme tout cette adaptation, on en verrait bien un long-métrage! --- ### The Black Keys – Gold On The Ceiling - **URL**: https://www.skyminds.net/the-black-keys-gold-on-the-ceiling/ Allez, un autre petit titre des Black Keys pour finir la semaine en beauté ! Gold On The Ceiling se trouve lui aussi sur l'album El Camino (2012) : https://www.youtube.com/watch?v=6yCIDkFI7ew Voilà de quoi mettre tout le monde de bonne humeur dès potron-minet ! A écouter sans modération. --- ### Dialogues with Mister B. : « pizza 4 fromages » - **URL**: https://www.skyminds.net/dialogues-with-mister-b-pizza-4-fromages/ Cette année, j'ai une classe de 4ème SEGPA. Avec eux, c'est un peu de la science-fiction. Ensemble, ils sont odieux. Individuellement, ils peuvent être sympathiques. Hier, j'ai assisté à cette discussion entre deux élèves, Amandine et Ludivine : Tout simplement hallucinant. "La 4 fromages vient de sortir", tout simplement après la 3 fromages. Logique. J'ai mis plusieurs minutes à m'en remettre de celle-là. --- ### Lazy Teenage Superheroes - **URL**: https://www.skyminds.net/lazy-teenage-superheroes/ Lazy Teenage Superheroes est un court-métrage réalisé par Michael Ashton avec un budget de seulement 300 dollars. Nous suivons Ty qui essaie de motiver ses "super" amis - Mitch, Cal et Rick - pour arrêter de jouer aux jeux-vidéo, quitter le canapé et utiliser leurs pouvoirs pour essayer de sauver le monde. https://www.youtube.com/watch?v=rN4JIz7uq40 Les effets spéciaux sont plutôt sympas, a mi-chemin entre Heroes et Misfits. --- ### Dan Mangan – We Want To Be Pleasantly Surprised, Not Expectedly Let Down - **URL**: https://www.skyminds.net/dan-mangan-we-want-to-be-pleasantly-surprised/ We Wanted To Be Pleasantly Surprised Not Expectedly Let Down est l'un des deux titres que l'on peut retrouver sur le nouvel EP de Dan Mangan, un artiste indie-folk canadien, intitulé ‘Radicals’ : https://www.youtube.com/watch?v=ZfRphFeeVYc Ce mini-EP est sorti en octobre 2012. --- ### Dialogues with Mister B. : « cyclope » - **URL**: https://www.skyminds.net/dialogues-with-mister-b-cyclope/ Qui dit nouvelle année dit nouveaux dialogues... On commence par la classe de 6ème dont je suis aussi, accessoirement, professeur principal. Je vous présente Gwendal qui m'a sorti cela un lundi matin alors que l'on se rangeait dans le couloir avant d'entrer en classe : C'est bien, ça commence très fort cette année. On est tout rassurés de savoir qu'on a un élève qui devient cyclope quand il colle sa montre sur son front... Et dire qu'en plus, il fait partie des gentils! Cela promet. --- ### Miike Snow – Silvia - **URL**: https://www.skyminds.net/miike-snow-silvia/ Bon, ce n'est pas tout mais c'est que la fin du monde approche à grands pas! Voici le clip post-apocalyptique (et probablement avec des gens cherchant de la drogue) de Silvia par Miike Snow: https://vimeo.com/8610836 Reached the city steps tonightFollowing the power linesMet a man bar sideWith eclipses for eyesAnd you tell yourself you won't let them touchDid I say too much?Did I say enough?I don't know... SilviaI don't know... SilviaCircle round the room stillHave fun breaking my willYou know I can't have you hereWith someone else on your skinAnd it's all my fault for not getting offSo you made it start, can you make it stop?You don't know... SilviaYou don't know... SilviaReached the city steps tonightFollowing the power linesAnd your skin is so whiteUnderneath the black nightAnd your voice cries out for the coup de graceWhen the lights go out will there be a trace?That I loved... SilviaThat I loved... Silvia Miike Snow est un groupe musical originaire de Stockholm baptisé en hommage au réalisateur japonais Takashi Miike (qui a réalisé DOA, Zatoichi, et qui joue dans Hostel) et composé d'Andrew Wyatt, Christian Karlsson et Pontus Winnberg. Ces deux derniers composent le duo Bloodshy & Avant, connu pour avoir produit plusieurs titres à succès de la chanteuse Britney Spears. --- ### Cracker – Low - **URL**: https://www.skyminds.net/cracker-low/ Here's Low by Cracker (off the album Kerosene Hat), a song that I played over and over when I was at college. It used to be my driving song: I'd pop that CD in, turn the volume up and drive the night away with no particular destination. In that sense, I often identify with Nick Carraway, the character who narrates The Great Gatsby. https://www.youtube.com/watch?v=gYdlqjiQPAc Tuning:Standard Guitar 1 - Simple chord riff, D, then C, then E5, then G in the following pattern. the verse it is an acoustic guitar and then switches to the same as guitar 2, an electric distorted. v v^v vv v v^v vv e|-2---222------------------33----------------------------------------------| B|-3---333---11-------------33----------------------------------------------| G|-2---222------------------------------------------------------------------| D|-----------22---2---222---------------------------------------------------| A|-----------33---2---222---22----------------------------------------------| E|----------------0---000---33----------------------------------------------| Guitar 2 has two parts, the first is played at the intro and chorus: e|---------------------------------------------------------------------------| B|-44554h5-55454554h5--88----------------------------------------------------| G|-44444---44444444----44----------------------------------------------------| D|---------------------------------------------------------------------------| A|---------------------------------------------------------------------------| E|---------------------------------------------------------------------------| The second is played during the verse, and sounds mostly clean: e|--11b12--------------------------------------------------------------------| B|---------------------------------------------------------------------------| G|9--------------------------------------------------------------------------| D|---------------------------------------------------------------------------| A|---------------------------------------------------------------------------| E|---------------------------------------------------------------------------| Then the solo, with distortion e|---------------------------------------------------------------------------| B|---------------------------------------------------------------------------| G|---------------------------------------------------------------------------| D|--9b--9--9-----------------------------------------------------------12----| A|--12b-10-10----------------10---1010101010-10-10---------10h10-12s14---14--| E|------------10-12-12-10h12---12-1514141210-10-10h12-10h12------------------| e|------------------------------------------| B|-----11-12-11-----------------------------| G|---14---------12--1414-1212-1414-1414-14--| D|------------------------------------------| A|------------------------------------------| E|------------------------------------------| Lyrics ============== Sometimes I wanna take you down Sometimes I wanna get you low Brush your hair back from your eyes Take you down let the river flow Sometimes i go and walk the streets behind a green sheet of glass A million miles below the streets A million miles, a million miles D C E G Being with you girl like being low hey hey hey like being stoned Being with you girl like being low hey hey hey like being stoned A million poppies gonna make me sleep But just one rose that knows your name The fruit is rusting on the vine The fruit is calling from the trees Hey hey dont you wanna go down Like some disgraced cosmonaut A million miles below the streets A million miles a million miles (chorus) (solo) Blue blue is the sun Brown brown is the sky Green green are her eyes A million miles a million miles Hey hey don't you wanna go down Like some displaced cosmonaut A million miles below the streets A million miles a million miles (chorus) We are all drifters. More : Cracker. --- ### WordPress : valider le code oEmbed Youtube en HTML5 - **URL**: https://www.skyminds.net/wordpress-valider-code-oembed-youtube-html5/ Le problème : le code des vidéos n'est pas valide en HTML5 Maintenant que nous avons mis à jour le code des oEmbed Youtube, nous allons rendre le code de l'iframe valide. Voici ce que le code oEmbed de WordPress donne par défaut avec un lien Youtube : Résultat: https://www.youtube.com/watch?v=Gvh2Zo7UL6E Or le petit problème, c'est que tout cela n'est pas vraiment valide au niveau W3C et je commence à me lasser de voir ces erreurs de validation sur toutes les pages du site avec des vidéos : Erreur 1 : Attribute allowfullscreen not allowed on element iframe at this point. Erreur 2 : The frameborder attribute on the iframe element is obsolete. Use CSS instead. La solution : filtrer le rendu oEmbed de WordPress pour purifier le code Voici donc la solution que j'ai mise en place sur le site : je filtre le code oEmbed de WordPress de manière à retirer le tag allowfullscreen qui n'a rien à faire là et à supprimer l'attribut frameborder, que je remplace par un style="border: none". Éditez le fichier functions.php de votre thème et ajoutez-y cette fonction: --- ### Mon laptop passe au SSD - **URL**: https://www.skyminds.net/mon-laptop-passe-au-ssd/ Cette semaine, j'ai changé le disque dur de mon portable vieillissant (2005, souvenir de l'année de stage IUFM!) pour un disque dur SSD de 120GB. J'avais lu que cela décuplait les performances et je dois dire que, même si j'étais sceptique avant l'installation, les résultats sont là : mon laptop démarre Linux Mint et est directement utilisable (bureau chargé) en moins de 30 secondes. Nickel. Le temps de lancement des applications est divisé par 5 ou 6 je dirais. Particulièrement visible avec GIMP par exemple. Cet ordinateur retrouve ses performances d'antan! C'est plus silencieux, plus rapide... pour l'instant je n'y trouve que des avantages. En fait, je suis tellement satisfait que je pense que le desktop va lui aussi bénéficier de cette petite cure de jouvence un de ces quatre. Et je pense que ce jour-là, je laisserai tomber Ubuntu, probablement pour Mint. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### The Black Keys – Little Black Submarines (BBC Radio 1 Live) - **URL**: https://www.skyminds.net/the-black-keys-little-black-submarines-bbc-radio-1-live/ Ici, on aime le rock des Black Keys depuis pas mal de temps. Et bien, depuis la sortie de l'album El Camino cette année, c'est dur de choisir quoi vous présenter... allez, un petit coup de Little Black Submarines en live sur BBC1: https://www.youtube.com/watch?v=so_vMXBaj58 Tuning: Standard Am Am G Little black submarines D A Operator please Am G A Put me back on the line Am G Told my girl I'd be back D A Operator please Am G A This is wrecking my mind Am G Oh, can it be D A The voices calling me A - B - C D A They get lost and out of time Am G I should've seen it glow D A But everybody knows C D A That a broken heart is blind A - B - C D A That a broken heart is blind Pick you up, let you down When I wanna go To a place I can hide You know me, I had plans But they just disappeared To the back of my mind Oh, can it be The voices calling me They get lost and out of time I should've seen it glow But everybody knows That a broken heart is blind That a broken heart is blind DISTORTED GUITAR COMES IN (Same chords as the acoustic guitar, just strum) Riff e|------------------------| B|------------------------| G|------0-2-0-------------| D|------------0-2-0-------| A|-------------------3----| E|------------------------| Treasure maps for a change Operator please Call me back when it's time Stolen friends and disease Operator please Pass me back to my mind Oh, can it be The voices calling me They get lost and out of time I should've seen it glow But everybody knows That a broken heart is blind That a broken heart is blind That a broken heart is blind J'adore cette voix rock. --- ### Être prêt pour aller travailler en moins de 5 minutes - **URL**: https://www.skyminds.net/etre-pret-pour-aller-travailler-en-moins-de-5-minutes/ Vous avez besoin de sommeil et avez du mal à vous préparer avant d'aller travailler le matin ? Voici comment être prêt en moins de 5 minutes, montre en main : https://www.youtube.com/watch?v=PthXkTpB2SA Petit-déjeuner, s’habiller et se brosser les dents... en un temps record. Le coup du noeud de cravate est absolument génial. Pour le pantalon par contre, je pense que cette technique est à éviter ! --- ### Concert de Ben Kweller au Stereolux (Nantes) - **URL**: https://www.skyminds.net/concert-de-ben-kweller-au-stereolux-nantes/ Mardi soir, je suis allé voir Ben Kweller en concert au Stereolux de Nantes en compagnie d'Afton, notre assistante américaine. Rendez-vous place du Commerce vers 19h15, on se dirige vers Bouffay pour aller manger un morceau. Deux pizzas plus tard et la conversation aidant, il est plus de 21 heures ! En passant, j'ai appris une nouvelle expression "going Dutch" qui signifie que chacun paie sa part au restaurant (ce que j'ai refusé évidemment). Doggy-bag pour la pizza, ramenée du côté de Graslin. Et hop, on se remet en route vers le Stereolux qui se trouve près de la Fabrique, à quelques mètres de l'Elephant du Royal Deluxe. Arrivés dans le bâtiment, je me dirige vers la droite, on ouvre la porte et on tombe dans un concert de dingues qui sautent dans tous les sens genre rap-ragga. Hmm, that ain't right ! On ressort et la demoiselle des flyers nous indique que notre concert a lieu dans la petite salle. Après avoir expliqué à la sécurité qu'on s'était trompé de salle ("non mais c'est un concert de sauvages là-bas!!"), on arrive devant Ben Kweller. Ben Kweller Ben Kweller vient de San Francisco, USA. Il était leader du groupe Radish lorsqu'il avait 12 ans et joue ensuite avec Ben Folds avant d'entamer une carrière solo qui, à ce jour, totalise 5 albums. Sa musique est assez éclectique : il a des accents country-rock, pop acoustique, indie-rock... Je n'ai pas trouvé de vidéos du concert à Nantes donc je vous mets celles du concert de la veille à la Maroquinerie : Gossip : https://www.youtube.com/watch?v=Y3cCtjpXayo Falling : https://www.youtube.com/watch?v=RJHBQyrcaxU Sundress / Jealous Girl: https://www.youtube.com/watch?v=mjYdLiuQ7OE J'ai beaucoup aimé les morceaux à la guitare acoustique. Les textes sont bien écrits et collent bien à la musique. Lorsqu'il joue du piano, c'est plutôt dynamique - même s'il a avoué qu'il l'était un peu trop par rapport à l'ambiance feutrée dans le public : il a alors demandé si quelqu'un avait une request et l'a jouée. Excellent chanteur par ailleurs. Et à la fin du concert, il raccroche sa guitare, descend de scène et vient discuter avec le public et se laisse prendre en photo sans problèmes. Il nous a dit qu'il ne faisait que 3 dates en France, ensuite il filait en Espagne et repartait aux Etats-Unis pour ensuite faire une tournée en Amérique du Sud. Un type vraiment cool quoi :) Nous sommes rentrés et avons fini dans un bar super calme pour discuter musique. Bref, un super concert et une super soirée. A refaire ! --- ### Junip – Without You - **URL**: https://www.skyminds.net/junip-without-you/ Junip est un groupe suédois composé d'Elias Araya (batterie), Tobias Winterkorn (orgue, Moog synthesizer) et José González (guitare et chant). Voici la chanson Without You en live sur KEXP : https://www.youtube.com/watch?v=SbC1uOjNh6A She feels she needs to leavewhen the fields are all covered in frostand the dreams begin to breatheopening the partly open locks While the others start to disagreeon returning to rough and moving groundsand if I should come to be relievedWould it be without you? She feels she needs to leaveto avoid a messy aftermathalone between lines of anguished needsrearranged to allow a newborn path While the others start to disagreeon returning to rough and moving groundsand if I should come to be relievedWould it be without you? Bonus, une vidéo de fan extrêmement bien filmée, en pleine nature : Play Junip a sorti trois EP depuis 2005 : Black Refuge EP (2005), Rope and Summit EP (2010), In Every Direction EP (2011) et un LP, Fields en 2010. Un EP devrait sortir à la fin de l'année et un nouvel album au printemps. --- ### MySQL : changer le mot de passe de l’utilisateur root - **URL**: https://www.skyminds.net/mysql-changer-mot-de-passe-root/ J'ai installé la mise à jour Ubuntu 12.04 Precise Pengolin il y a quelques semaines (et je n'aurais pas dû, ma machine laggue comme ce n'est pas permis) et au moment de lancer SAM Broadcaster, un message d'erreur apparaît comme quoi il ne peut se connecter à la base MySQL. sudo service mysql restart Résultat : stop: Unknown instance: start: Job failed to start Autre message d'erreur : /usr/bin/mysqladmin: connect to server at 'localhost' failed error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)' Etrange, je n'avais rien modifié. Voici donc en quelques étapes comment changer le mot de passe MySQL de l'utilisateur root lorsqu'on l'a oublié ou qu'il faut le changer sans connaitre l'ancien. Toutes ces commandes sont à exécuter en tant qu'utilisateur root donc : sudo -i Je vous propose deux méthodes : la première méthode s'adresse aux barbus qui veulent mettre les mains dans le cambouis, la seconde à ceux qui veulent faire ça en 2 commandes. Méthode 1 (mode cambouis) Etape 1 : arrêt du service mysql /etc/init.d/mysql stop Résultat : Stopping MySQL database server: mysqld. Etape 2 : lancement du serveur MySQL sans mot de passe mysqld_safe --skip-grant-tables & Résultat : [1] 5025 mysqld_safe Logging to syslog. mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql Etape 3 : connexion au serveur avec MySQL Monitor mysql -u root Résultat : Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.5.28-0ubuntu0.12.04.2 (Ubuntu) Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. Etape 4 : mise en place du nouveau mot de passe root mysql> use mysql; mysql> UPDATE user SET Password=PASSWORD('nouveau-mdp') WHERE user='root'; mysql> flush privileges; mysql> quit N'oubliez pas de changer 'nouveau-mdp' par votre mot de passe. Etape 5 : redémarrage du serveur MySQL Et on redémarre le serveur : /etc/init.d/mysql restart Méthode 2 (mode mains propres) sudo dpkg-reconfigure mysql-server-5.5 Vous obtenez ceci : Entrez le nouveau mot de passe, confirmez, validez. Résultat : [Note] Plugin 'FEDERATED' is disabled. InnoDB: The InnoDB memory heap is disabled InnoDB: Mutexes and rw_locks use GCC atomic builtins InnoDB: Compressed tables use zlib 1.2.3.4 InnoDB: Initializing buffer pool, size = 128.0M InnoDB: Completed initialization of buffer pool InnoDB: highest supported file format is Barracuda. InnoDB: Waiting for the background threads to start InnoDB: 1.1.8 started; log sequence number 1588781 InnoDB: Starting shutdown... InnoDB: Shutdown completed; log sequence number 1588781 Conclusion N'oubliez pas de supprimer les fichiers logs d'InnoDB, ils peuvent parfois avoir une taille différente de celle qu'attend MySQL et cela pose problème: sudo rm /var/lib/mysql/ib_logfile* Et voilà, vous venez de changer le mot de passe MySQL de l'utilisateur root. --- ### Lee Fields and The Expressions – Wish You Were Here - **URL**: https://www.skyminds.net/lee-fields-wish-you-were-here/ Allez, un peu de l'esprit soul des seventies aujourd'hui - voici Lee Fields and The Expressions et leur morceau Wish You Were Here : https://www.youtube.com/watch?v=FHaAmuQYPxs You never missed your well till your well run drySeemed like only yesterday you were here, smilingNow you've gone away, but I know you're in a better placeNo traces of you, what can I do, alone and confused How long... (till I see your face), how long... (till I see your face)How long.... (till I see your face), how long...It's just not fair, wish you were hereSpend all my days wasting away, wish you were here So I'm living life without you and yes, it's hard to go on'Cause your memory means so much to me and I need to stay strongBad as I want you here, it's a shameTo know you're not coming back I'll wait a hundred years, I'll cry a million tearsTill you're back, till you're back, come back now How long... (till I see your face), how long... (till I see your face)How long.... (till I see your face), how long...It's just not fair, wish you were hereSpend all my days wasting away, wish you were here I'll find the strength to pick my head upTime heals all wounds, gotta get right back upMiss you again, over again, love will not dieWalking the road, I see your eyes I know you're here, right by my sideWish you were here, over again It's just not fair, wish you were hereSpend all my days wasting awayWish you were here, wish you were hereI just wish you were here, I wish you were here Le titre se trouve sur l'album Faithful Man (2012) et a été utilisé dans Suits. --- ### Nettoyer et optimiser la base de données WordPress proprement - **URL**: https://www.skyminds.net/nettoyer-optimiser-base-donnees-wordpress/ Avec le temps, une base de données WordPress prend du poids. Les révisions s’accumulent, les transients expirent, les commentaires indésirables traînent, les extensions supprimées laissent des options, et certaines tables deviennent plus volumineuses que nécessaire. Le vieux réflexe consiste à ouvrir phpMyAdmin et à lancer quelques requêtes SQL trouvées sur un blog. Mauvaise idée. Ça peut fonctionner sur un petit site, mais ça peut aussi casser des données légitimes. Aujourd’hui, on nettoie plutôt une base WordPress avec méthode : sauvegarde, audit, WP-CLI, staging, puis optimisation. Voici une méthode propre pour faire maigrir une base WordPress sans jouer au chirurgien avec des moufles. Avant de nettoyer : sauvegardez la base de données Avant toute suppression, exportez la base. Ce n’est pas une précaution décorative. C’est votre bouton “annuler”. wp db export before-db-cleanup.sql Si vous administrez le serveur en root, adaptez selon votre environnement : wp db export before-db-cleanup.sql --allow-root Ensuite, vérifiez que l’export existe bien : ls -lh before-db-cleanup.sql Sur un site client, je recommande aussi de tester les suppressions sur un environnement de staging. Une base WordPress contient souvent des données métiers : commandes WooCommerce, abonnements, champs ACF, logs, formulaires, options SEO, traductions, règles de prix, caches applicatifs. Bref, pas seulement des miettes. Mesurer la taille de la base WordPress Commencez par identifier les tables les plus lourdes. WP-CLI permet de le faire rapidement : wp db size --tables --human-readable Pour afficher les tables WordPress : wp db tables Sur beaucoup de sites, les coupables reviennent souvent : wp_options, wp_postmeta, wp_posts, wp_commentmeta, les tables WooCommerce, les tables de statistiques, les logs, ou les anciennes tables de plugins supprimés. Si votre problème vient surtout des requêtes lentes, ne confondez pas nettoyage et optimisation applicative. Dans ce cas, mesurez aussi les requêtes SQL générées par le thème et les extensions. J’ai détaillé cette approche dans ce guide sur la réduction des requêtes SQL des thèmes WordPress. Nettoyer les transients expirés Les transients stockent temporairement des données en cache. WordPress les utilise, mais les extensions aussi. Quand ils expirent, ils peuvent rester dans la base, notamment dans wp_options. Évitez de supprimer tous les transients à la main avec une requête SQL large. Préférez WP-CLI : wp transient delete --expired Sur un multisite, vous pouvez aussi nettoyer les transients réseau : wp transient delete --expired --network Supprimer tous les transients peut être utile après une migration, un changement de domaine, ou un problème de cache. Toutefois, cela force WordPress et les plugins à les recréer. Sur un gros site, faites-le hors pic de trafic : wp transient delete --all Nettoyer les révisions d’articles WordPress stocke les révisions dans la table wp_posts. C’est pratique pour restaurer une ancienne version, mais les gros sites éditoriaux peuvent accumuler des milliers de révisions. Pour compter les révisions : wp post list --post_type=revision --format=count Pour supprimer toutes les révisions : wp post delete $(wp post list --post_type=revision --format=ids) --force Cette commande est efficace, mais elle ne garde aucune révision. Sur un site éditorial actif, je préfère limiter les révisions... --- ### Patrick Boivin – Dragon Baby - **URL**: https://www.skyminds.net/patrick-boivin-dragon-baby/ Voici la dernière réalisation du réalisateur canadien Patrick Boivin, avec son fils jouant le rôle du Dragon Baby - inspiré du Jeu de la Mort avec Bruce Lee : https://www.youtube.com/watch?v=1oHWvFrpocY Enfant contre peluche. Belle réalisation. --- ### Arrow saison 1 - **URL**: https://www.skyminds.net/arrow-saison-1/ Arrow est une série basée sur le personnage de Green Arrow, un superhéro qui apparaît dans la série du même nom publiée par DC Comics, diffusée sur The CW. La série suit le playboy milliardaire Oliver Queen (Stephen Amell) qui, après avoir survécu au naufrage de son bateau et à la vie sauvage sur une île déserte pendant 5 ans avant d'être recueilli par un bateau de pêcheurs, retourne chez lui. Avec son expérience en milieu hostile et suite aux révélations de son père dans le radeau de survie, il décide de devenir "Arrow" : un vigilante qui s'attache à combattre le crime et la corruption. Son premier objectif est d'arrêter les agissements d'Adam Hunt, un milliardaire corrompu qui a scammé pas mal de monde à Starling City.Pendant ce temps, la mère d'Oliver semble avoir ses propres plans contre son fils. Je vous recommande la série : ça commence fort, il y a de l'intrigue, de l'action... à regarder en VO : Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Igor Presnyakov – Wish You Were Here - **URL**: https://www.skyminds.net/igor-presnyakov-wish-you-were-here-pink-floyd-cover/ Igor Presnyakov est un guitariste, auteur, compositeur d'origine russe, résidant aux Pays-Bas. Il a étudié la guitare classique en Russie, où il sort diplômé en tant que guitariste et chef d'orchestre pour des ensembles. Il a 35 années d'expérience en guitare et peut jouer du jazz comme de la pop ou du rock, tout en fingerstyle. Voici sa version de Wish You Were Here de Pink Floyd : https://www.youtube.com/watch?v=zoI3e_kGZ-M Joli non ? --- ### PHP : résoudre l’erreur « assigning the return value of new by reference is deprecated » - **URL**: https://www.skyminds.net/php-assigning-return-value-of-new-by-reference-is-deprecated/ Si vous maintenez une vieille application PHP, un vieux plugin WordPress, un ancien forum ou un script rescapé des années PHP 4, vous pouvez tomber sur ce message : Deprecated: Assigning the return value of new by reference is deprecated Ce message signifie qu’un objet est créé avec new, puis affecté par référence avec &=. C’était une vieille habitude issue de PHP 4. En PHP moderne, elle est inutile. En PHP 7 et plus, elle est même invalide. La correction est presque toujours très simple : supprimez le &. Le code PHP problématique Le vieux code ressemble généralement à ceci : --- ### Concert d’Andy McKee, Antoine Dufour et Preston Reed à la Cité des Congrès de Nantes - **URL**: https://www.skyminds.net/concert-andy-mckee-antoine-dufour-preston-reed-nantes/ Samedi soir, je suis allé voir Andy McKee, Antoine Dufour et Preston Reed à la Cité des Congrès de Nantes. 18h30. Nous sommes arrivés bien en avance, assis au 4ème rang. Il n'y avait pas tant de monde que cela : nous n'avons pas eu droit à l'auditorium mais à la salle à droite au premier étage - celle qui sert de salle de projection lors des Utopiales (que je vous recommande chaudement!). 19h30. Je me retourne : la salle est pleine ! Les lumières s'éteignent. Andy McKee arrive sur scène et nous dévoile le programme de la soirée : trois guitaristes - Antoine Dufour, Preston Reed et lui-même - vont se produire individuellement sur scène, avant de se retrouver pour jouer le grand final. Antoine Dufour Antoine Dufour, né en 1979, est un guitariste acoustique québécois qui a commencé la guitare à 15 ans et a 5 albums à son actif. Antoine est très drôle, c'est probablement celui qui nous a le plus fait rire - avec son accent déjà mais pas seulement! https://www.youtube.com/watch?v=INRkcLhA9mI Son style est empreint de finesse, de groove et de technique très maîtrisée. C'est vraiment du bon. Preston Reed Autant j'ai aimé Antoine Dufour, autant j'ai adoré le style de Preston Reed (né en 1955), un grand gaillard aux cheveux blancs qui ne doit pas mesurer loin de 2 mètres de haut. Du moins, c'est l'impression qu'il m'a donné sur scène. Il a une quinzaine d'albums à son actif et il serait le premier à avoir utilisé la caisse de la guitare comme percussion dans les années 1980. Il a très certainement influencé Kaki King et Miyavi. https://www.youtube.com/watch?v=7G6KyoJ8ypE Le style est plus country, un peu plus cowboy. Typiquement le genre de musique que l'on pourrait entendre dans Hell on Wheels. Preston a aussi des moments très blues comme dans le morceau Night Ride qui est superbe, et d'autres moments très jazzy, étheriques, qui font penser à Pat Metheny. Du très bon, je n'ai pas arrêté de taper du pied (bon signe!). Andy McKee Andy McKee (né en 1979) a été découvert sur Youtube avec sa vidéo pour la chanson Drifting, qui a fait la homepage de Digg à l'époque, en 2006 (comme Justin Bieber). Il lève souvent un sourcil quand il joue ou fait des mimiques, c'est assez drôle parce que l'on sait tout de suite s'il est satisfait de ses accords ou pas. Ses influences ne se cantonnent pas aux maîtres du tapping : il est par exemple fan de Dream Theater ou Steve Lukather. https://www.youtube.com/watch?v=2wJATOol_kQ Je pense avoir identifié : Drifting Africa (Toto cover) Hunter's Moon Tight Trite Night (Don Ross cover) Heather's Song For My Father Rylynn Je n'ai pas de vidéos individuelles, je n'ai trouvé sur Youtube que les derniers morceaux qu'ils ont joué tous ensemble. Bref, une très belle soirée. Bon son, bon public, excellents musiciens. Je vous les recommande. --- ### Misfits saison 4 - **URL**: https://www.skyminds.net/misfits-saison-4/ Voici la quatrième saison des Misfits, diffusée sur E4. Les nouveaux membres du groupe, Finn et Jess, enfilent leur combinaison orange pour leur premier jour de TIG (community service) et rencontrent leur agent de probation. Les choses deviennent bizarres lorsqu'un homme arrive au centre avec une malette et un pouvoir qui les contamine tous les deux. Une série d'intenses flashbacks les rapproche de la vérité et ils réalisent qu'il y a beaucoup plus dans ce travail que des graffiti à effacer et des ordures à ramasser. Au niveau des acteurs, Antonia Thomas (Alisha), Lauren Socha (Kelly) et Iwan Rheon (Simon) ne seront pas de la partie cette saison. Lauren Socha a été condamnée en mai 2012 à quatre mois de prison et 80 heures de travaux d'intérêt général (comme son personnage) pour avoir agressé un chauffeur de taxi. A regarder comme des déviants en VO. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Jefferson Airplane – Comin’ Back to Me - **URL**: https://www.skyminds.net/jefferson-airplane-comin-back-to-me/ Jefferson Airplane est un groupe de rock américain issu de San Francisco, et l'un des précurseurs du mouvement psychédélique. Pas mal de monde connait les hits White Rabbit et Somebody to Love, qui sont sur toutes les compilations des années 1960. J'ai une petite préférence pour la chanson Comin' Back to Me qui se trouve sur le deuxième album du groupe - Surrealistic Pillow (1967) - avec le son typique de cette époque et la flûte : https://www.youtube.com/watch?v=hziG-cLZW1Y Line-up de l'album : Marty Balin (chant, guitare), Jack Casady (basse, fuzz bass, guitare rythmique), Spencer Dryden (batterie, percussions), Paul Kantner (chant, guitare), Jorma Kaukonen (chant, guitares), Grace Slick (chant, piano, orgue). --- ### Linux : vider un fichier sans le supprimer avec truncate - **URL**: https://www.skyminds.net/linux-vider-fichier-truncate/ De temps en temps, un fichier prend un peu trop ses aises sur le disque. C’est souvent un fichier de log, un fichier temporaire, une sortie de script ou un vieux fichier d’erreurs oublié dans un coin. Sous Linux, vous pouvez le vider sans le supprimer grâce à la commande truncate. C’est rapide, propre, et beaucoup plus sûr que de supprimer le fichier puis de le recréer à la main. La commande de base est simple : truncate -s 0 /home/skyminds/error.log L’option -s 0 signifie : fixer la taille du fichier à 0 octet. Le fichier existe toujours, mais son contenu disparaît. Pourquoi utiliser truncate ? truncate sert à réduire ou étendre un fichier à une taille donnée. Pour vider un fichier, on lui demande simplement une taille de zéro octet. Son avantage principal : le fichier reste en place. Son chemin, ses permissions et son propriétaire ne changent pas. C’est particulièrement utile pour les fichiers de logs. Un service comme Apache, Nginx, PHP-FPM, MariaDB ou une application maison peut garder un fichier ouvert. Si vous supprimez ce fichier, le processus peut continuer à écrire dans un fichier supprimé mais encore ouvert. Charmant piège Unix. Avec truncate, vous videz le contenu sans casser le lien entre le processus et le fichier. Vider un fichier avec truncate Pour vider un fichier précis : truncate -s 0 /chemin/vers/fichier.log Exemple avec un fichier de log utilisateur : truncate -s 0 ~/error.log Exemple avec un log système nécessitant les droits administrateur : sudo truncate -s 0 /var/log/nginx/error.log Vous pouvez vérifier le résultat avec ls : ls -lh /var/log/nginx/error.log Ou avec stat : stat /var/log/nginx/error.log La taille doit maintenant être de 0 octet. Éviter la création accidentelle d’un fichier Par défaut, truncate crée le fichier si celui-ci n’existe pas. C’est documenté, mais parfois indésirable. Pour éviter de créer un nouveau fichier par erreur, utilisez l’option -c ou --no-create : truncate -c -s 0 /chemin/vers/fichier.log Avec cette option, si le fichier n’existe pas, truncate ne le crée pas. C’est plus sûr dans un script, surtout quand le chemin est construit dynamiquement. Vider plusieurs fichiers de logs Pour vider plusieurs fichiers en une seule commande : sudo truncate -s 0 /var/log/nginx/access.log /var/log/nginx/error.log Pour vider tous les fichiers .log d’un dossier précis : sudo find /var/log/mon-app -maxdepth 1 -type f -name "*.log" -exec truncate -s 0 {} + Ne lancez pas ce genre de commande sur /var/log entier sans réfléchir. Certains logs sont gérés par des services spécifiques, d’autres sont compressés, et certains fichiers ne devraient pas être touchés à chaud. Alternative rapide : redirection shell Vous pouvez aussi vider un fichier avec une redirection shell : > /chemin/vers/fichier.log Ou avec la commande vide : : : > /chemin/vers/fichier.log Ces deux formes fonctionnent très bien dans un shell interactif. Mais avec sudo, il y a un piège classique. Cette commande échoue souvent : sudo echo "" > /var/log/nginx/error.log Pourquoi ? Parce que la redirection > est gérée par votre shell courant, pas par sudo. Votre utilisateur tente donc... --- ### Last Resort saison 1 - **URL**: https://www.skyminds.net/last-resort-saison-1/ Voici Last Resort, une nouvelle série de science-fiction/thriller réalisée par Shawn Ryan et diffusée sur ABC. Nous sommes dans un futur proche : un sous-marin nucléaire américain, le Colorado, reçoit l'ordre de tirer contre le Pakistan. Lorsque le capitain Marcus Chaplin (Andre Braugher) demande confirmation, il est relevé de ses fonctions. Son second, le Lieutenant Commandant Sam Kendal (Scott Speedman), demande également confirmation de l'ordre et le vaisseau est attaqué par le sous-marin Illinois. Deux tirs nucléaires sont lancés sur le Pakistan. Déclaré ennemis de leur propre pays, l'équipage s'échappe et se refuge dans un campement de l'OTAN situé sur l'île de Sainte Marina (une île française fictive dans l'Océan Idien) dans lequel ils forment une société qui devient le plus petit état nucléaire du monde. Ils déclarent une zone d'exclusion de 200 miles tout autour de l'île. Lorsque des bombardiers attaquent le sous-marin et l'île, le capitaine Chaplin lance un missile nucléaire en direction vers les USA pour montrer qu'il est sérieux. Maintenant, l'équipage doit trouver un moyen de prouver leur innocence et trouver qui les a piégés pour qu'ils puissent retourner chez eux. A regarder avec un compteur Geiger en VO : Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Installation dans la verdure nantaise - **URL**: https://www.skyminds.net/installation-dans-la-verdure-nantaise/ Peu de news ces temps-ci et pour cause : je suis en plein emménagement et aménagement dans mon nouveau chez moi ! J'ai troqué mon appartement en région parisienne contre une maison à la campagne, avec les chèvres du voisin au bout du chemin. Seul hic : plus de kilomètres pour rejoindre la ville. La maison est grande, j'ai reçu pas mal d'aide pour les peintures, tapisseries, montage de lampes/lustres/meubles. Si on fait le tour, ce pourrait être un showroom Ikea ! Je suis grandement amélioré en plafond et mes murs sont honnêtes. Niveau jardin, tout reste à agencer mais j'ai déjà coupé les trois quarts de la haie et tondu deux fois (avec une tondeuse à essence pour la première fois). Deux arbres ont déjà été plantés, les suivants seront des fruitiers. Après quelques soucis d'installation de la ligne ADSL - apparemment j'avais sélectionné la mauvaise option lors de mon inscription chez Free - tout semble opérationnel. Freebox v6, 8 Mbits en down. Voilà, je vous laisse je dois passer chez Casto... --- ### Red Hot Chili Peppers – Under the Bridge (Live at Slane Castle) - **URL**: https://www.skyminds.net/red-hot-chili-peppers-under-the-bridge-live-at-slane-castle/ Cela faisait longtemps que je n'avais pas écouté un petit Red Hot Chili Peppers - voici Under the Bridge jouée en live le 23 août 2003 en Irlande, dans la région de Dublin, à Slane Castle devant plus de 80 000 personnes : https://www.youtube.com/watch?v=uDn7jfzvcv4 Live at Slane Castle est considérée comme l'une des meilleures prestations des Red Hot Chili Peppers sur scène, et notamment de John Frusciante, avec des solos considérés comme parmi les meilleurs qu'il ait réalisés sur scène. Et on peut même regarder le concert entier sur Youtube : Red Hot Chili peppers Live at Slane Castle Full Concert. --- ### The Walking Dead saison 3 - **URL**: https://www.skyminds.net/the-walking-dead-saison-3/ The Walking Dead est de retour sur AMC pour la saison 3 ! Dans ce monde qui devient de plus en plus dangereux et avec la grossesse de Lori qui va bientôt arriver à son terme, Rick découvre un refuge potentiel. Mais il doit d'abord sécuriser l'endroit, poussant son groupe de survivants jusqu'à ses limites. Cette saison comptera 16 épisodes, diffusés en deux sessions : les huit premiers épisodes seront diffusés à partir d'aujourd'hui, les huit derniers au début du printemps 2013. A regarder frigo rempli et volets fermés en VO : Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Créer une redirection No-IP - **URL**: https://www.skyminds.net/creer-une-redirection-no-ip/ Plusieurs personnes m'ont demandé une alternative à DynDNS, qui est passé à un modèle exclusivement payant pour les nouveaux comptes. Sept ans après l'article Créer une redirection DynDNS, je vous propose donc un tuto pour créer une redirection No-IP. La redirection No-IP vous permettra d'avoir une adresse facile à retenir, malgré vos changements d'IP. La création d’une redirection prend moins de 5 minutes. Etape 1 : création du compte No-IP Créez votre compte gratuitement sur No-IP. Il vous suffit de remplir vos identifiants, mot de passe et adresse email puis de valider votre compte en cliquant sur le lien que vous recevrez par mail (pensez à regarder dans le dossier spam, il peut s'y trouver). Une fois dans l'espace membre, vous obtenez cet écran : Etape 2 : ajout d’une redirection Pour créer une redirection, il vous faut ajouter un nom d'hôte que vous allez associer à un nom de domaine. Cliquez sur l’onglet Add a Host pour choisir le nom de votre hôte et le nom de domaine. Pour rire, je choisis ici le domaine servebeer.com: Validez, vous venez de créer votre redirection. Vous pourrez choisir entre tous ces noms de domaine : bounceme.nethopto.orgmyftp.bizmyftp.orgmyvnc.comno-ip.bizno-ip.infono-ip.orgredirectme.netservebeer.comserveblog.netservecounterstrike.comserveftp.comservegame.comservehalflife.comservehttp.comservemp3.comservepics.comservequake.comsytes.netzapto.org Avantages No-IP Il y a quelques avantages à passer chez No-IP : vous avez droit à 3 redirections gratuites par compte vous pouvez rediriger le port 80 vers un autre port. Cela permet de ne pas afficher le numéro du port dans l'URL. Attention toutefois : comme sous l'ancien système de DynDNS, les redirections sont effacées si l'IP n'a pas été modifiée pendant un mois. No-IP envoie automatiquement un mail pour demander le renouvellement de la redirection. Si vous ne cliquez pas dans les 7 jours, la redirection est effacée et quelqu'un pourra de nouveau l'enregistrer après expiration du délai. Voilà, vous avez maintenant une redirection personnalisée, plus facile à retenir qu'une IP et qui pointe sur l'IP de votre serveur, serveur FTP, webradio... --- ### Dexter saison 7 - **URL**: https://www.skyminds.net/dexter-saison-7/ Et voici le retour de Dexter Morgan, notre tueur en série préféré, sur Showtime pour la septième saison de Dexter ! Après avoir assisté au meurtre de Travis Marshall par son frère, Debra essaie de se réconcilier avec lui tout en luttant pour dissimuler leur responsabilité dans le crime. Pendant ce temps, l'inspecteur Mike Anderson connait une mésaventure malheureuse, Quinn et Batista commencent à enterrer la hache de guerre et LaGuerta met la main sur des preuves qui la pousse à reconsidérer l'affaire du Bay Harbor Butcher. Cette saison est l'avant-dernière : la série devrait compter 8 saisons au total et les saisons 7 et 8 risquent d'être intimement liées au niveau de l'histoire. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Ubuntu : installer Firefox en version récente avec APT, Snap ou le dépôt Mozilla - **URL**: https://www.skyminds.net/ubuntu-installer-la-derniere-version-de-firefox/ Sur ma machine principale, Firefox reste mon navigateur de référence. J’y ai mes habitudes : mots de passe, marque-pages, extensions, profils, réglages avancés et quelques réflexes bien ancrés. Quand un navigateur devient un véritable poste de travail, mieux vaut qu’il reste à jour et facile à maintenir. Sous Ubuntu, Firefox est généralement installé par défaut, mais pas toujours sous la forme que l’on préfère. Les versions récentes d’Ubuntu utilisent souvent le format Snap, qui a l’avantage de simplifier les mises à jour. Cependant, certains utilisateurs préfèrent une installation plus classique en paquet .deb, directement gérée par APT. C’est justement là que le dépôt APT officiel de Mozilla devient intéressant. Il permet d’installer une version récente de Firefox sous Ubuntu et les distributions basées sur Debian, tout en conservant une gestion propre des mises à jour via les commandes habituelles du système. Voici donc comment installer ou mettre à jour Firefox sous Ubuntu selon vos besoins : conserver Snap, passer à la version .deb officielle de Mozilla, ou installer Firefox ESR pour privilégier la stabilité. Firefox sous Ubuntu aujourd’hui : Snap, APT ou archive Mozilla ? Avant d’installer quoi que ce soit, il faut comprendre les trois grandes options disponibles sous Ubuntu. 1. Firefox en Snap Sur les versions modernes d’Ubuntu, Firefox est généralement installé par défaut au format Snap. Ce paquet est publié par Mozilla et intégré dans Ubuntu via Snap. Cette méthode a un avantage : elle reste simple pour la majorité des utilisateurs. Les mises à jour arrivent automatiquement, sans manipulation particulière. En revanche, certains utilisateurs préfèrent éviter Snap pour des raisons de performances au lancement, d’intégration système, de gestion des profils, d’accès aux fichiers, d’interaction avec certains gestionnaires de mots de passe ou simplement par préférence technique. Si Firefox Snap fonctionne correctement chez vous, vous pouvez le garder. Inutile de remplacer quelque chose qui ne vous pose aucun problème. 2. Firefox en paquet .deb via le dépôt Mozilla Mozilla propose désormais un dépôt APT officiel pour installer Firefox en paquet .deb sur les distributions basées sur Debian, dont Ubuntu. C’est souvent la meilleure solution si vous voulez une installation classique, gérée par APT, sans passer par Snap. Cette méthode permet aussi de recevoir les mises à jour de Firefox via les commandes habituelles : sudo apt update sudo apt upgrade Pour les utilisateurs avancés, c’est propre, lisible et facile à maintenir. 3. Firefox installé depuis l’archive officielle Mozilla propose aussi une archive Linux téléchargeable directement depuis son site. Cette méthode fonctionne, mais elle demande une gestion plus manuelle : emplacement du programme, lanceur, mises à jour, permissions et intégration au bureau. Elle reste utile pour tester une version précise, isoler une installation ou utiliser Firefox sur une distribution sans paquet adapté. Pour une machine Ubuntu classique, le dépôt APT officiel de Mozilla est plus confortable. Vérifier la version actuelle de Firefox Commencez par vérifier quelle version de Firefox est installée : firefox --version Vous pouvez aussi vérifier si Firefox vient de Snap : snap list firefox Et contrôler... --- ### AWOLNATION – Sail (nanalew’s version) - **URL**: https://www.skyminds.net/awolnation-sail-nanalews-version/ AWOLNATION est un groupe de rock indépendant américain formé par Aaron Bruno. Le nom vient du fait qu'au collège, il "partait sans dire au revoir, parce que c'était plus simple. C'est de là que vient le surnom AWOL". Je vous propose un clip alternatif complètement déjanté, shooté par Shawna Howson (nanalew) et Tessa Violet, tout en grimaces et à l'eau froide : https://www.youtube.com/watch?v=JaAWdljhD5o Et si vous pensez que vous reconnaissez ce titre, c'est normal : il a été utilisé extensivement lors des publicités de France Télévision entre chaque compétition des Jeux Olympiques 2012 de Londres. --- ### The Office saison 9 - **URL**: https://www.skyminds.net/the-office-saison-9/ Voici la 9ème et dernière saison de The Office sur NBC. Deux jeunes employés arrivent mais les anciens les cataloguent comme étant des ersatz de Jim et Dwight. Pendant ce temps, Andy revient de son stage sur le leadership et prend Nellie pour cible pour se venger. Oscar se demande s'il devrait adopter le chat d'Angela et Kevin sauve une tortue. Greg Daniels a annoncé en conférence de presse que cette saison serait la dernière de la série : "This year feels like the last chance to really go out together and make an artistic ending for the show that pays off a lot of the stuff that matters most to fans." Il a également dit que toutes les questions trouveront leurs réponses : par exemple, qui se cache derrière le documentaire, pourquoi ont-ils filmé si longtemps, ou la révélation du Scranton Strangler. Bref, une saison pleine de promesses ! Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Documentaire : Tempête Sous Un Crâne de Clara Bouffartigue - **URL**: https://www.skyminds.net/documentaire-tempete-sous-un-crane-de-clara-bouffartigue/ Hier soir, j'ai été invité par le SNES à assister à l'avant-première du documentaire Tempête Sous Un Crâne de Clara Bouffartigue au cinéma Le Concorde, à Nantes. Le documentaire nous plonge dans le quotidien d'une classe de 4ème du Collège Joséphine Baker, à Saint-Ouen, aux côtés des enseignantes de français (Alice Henry) et d'arts plastiques (Isabelle Soubaigné). Alors évidemment, mon regard ne peut pas être tout à fait neutre mais voici ce que j'en retiens : la classe est dure, l'établissement difficile mais on peut clairement voir les trésors de patience des professeurs pour reprendre les élèves et les remettre dans le chemin du cours. Pas de misérabilisme, pas de stigmatisation, pas de propagande : le rendu est authentique. J'ai beaucoup souri face aux situations de classes auxquelles tout professeur ayant enseigné en ZEP a forcément été confronté. Après la projection, Clara Bouffartigue a ensuite répondu aux questions de la salle : la réalisatrice a passé toute l'année scolaire dans la classe, à filmer les élèves progressivement : d'abord en prenant des photos avec un APN, ensuite avec un camescope grand public et enfin avec la vraie caméra. Très intéressant. J'avais détesté Entre Les Murs sorti il y a quelques années et dont tout le monde avait parlé, je trouve que Tempête Sous Un Crâne est beaucoup plus réaliste et juste. Je vous le recommande, l'éducation nous concerne tous. Le film sort en salle le 24 octobre 2012. --- ### David Bowie – Life On Mars (live) - **URL**: https://www.skyminds.net/david-bowie-life-on-mars-live/ Life On Mars est probablement l'une des chansons de David Bowie que j'aime le plus. Voici une version live filmée à l'Élysée Montmartre en 1999, à l'occasion de la sortie de l'album Hours. https://www.youtube.com/watch?v=nRnbuDvk7zM Mike Garson est au piano et accompagne David. Magnifique version. Ps : si vous avez vu la série Life On Mars, vous ne pouvez vous empêcher d'y repenser. Pps : c'est d'actualité avec la sonde Mars Curiosity, arrivé sur Mars il y a quelques semaines. --- ### Etat d’esprit rentrée scolaire 2012 - **URL**: https://www.skyminds.net/etat-esprit-rentree-scolaire-2012/ Avec quelques jours de retard, voici l'état d'esprit de cette rentrée scolaire 2012 : J'enseigne au collège ET au lycée pour la première fois et cela change vraiment : la préparation des cours demande énormément de temps (je ne m'attendais pas à une telle différence de charge de travail je crois) et il faut pas mal de contenu pour le cours car en lycée, le prof parle beaucoup plus qu'en collège! Débarquer au lycée, c'est aussi apprendre un nouveau mode de fonctionnement. Le bac change totalement en anglais cette année et mes collègues ne m'ont donné que des terminales. Bizarre, vous avez dit bizarre ? Bref, pour l'instant je m'y fait et j'aime plutôt ça. Les collègues du collège m'ont aussi fait un petit cadeau de bienvenue : les 4èmes SEGPA. Là, nous sommes sur une autre planète : si jamais ils se croisent du regard, ils se menacent de mort. Tout va bien. Donc voilà c'est la rentrée et je suis un peu débordé. --- ### Sons of Anarchy saison 5 - **URL**: https://www.skyminds.net/sons-of-anarchy-saison-5/ Voici la cinquième saison de Sons of Anarchy, diffusée sur FX. Jax est désormais à la tête de SAMCRO, alors que Clay a la vie sauve après tout le mal qu'il a commis uniquement car il est le seul à pouvoir négocier avec le gang des Irlandais. Pendant ce temps, certains événements vont bouleverser la ville de Charming. A regarder en VO : Voir Synology : corriger “rsync permission denied” sur Amazon --- ### ZZ Ward – Put the Gun Down (live @ SXSW 2012) - **URL**: https://www.skyminds.net/zz-ward-put-the-gun-down-live-sxsw-2012/ ZZ Ward est une chanteuse et guitariste américaine qui joue avec Ryan Tedder, Pete Rock, Ali Shaheed Muhammad, et Fitz du groupe Fitz and the Tantrums. En mai 2012, elle sort son premier EP intitulé Criminal qui contient les chansons "Til the Casket Drops" (utilisé dans les trailers pour la série Pretty Little Liars), "Put the Gun Down", "Move Like U Stole It", et "Criminal" (feat. Freddie Gibbs). Voici donc ZZ Ward qui joue le morceau "Put The Gun Down" au SXSW 2012 au Gibson Guitar Showroom d'Austin, TX : https://www.youtube.com/watch?v=lnHB8C2pGtY Sympa, ce petit côté pop/rock/bluesy. Le groupe a l'air pas mal non plus! Vous pouvez télécharger quelques chansons de l'EP et une mixtape depuis son site. Le premier album sortira le 16 octobre 2012. --- ### Copper saison 1 - **URL**: https://www.skyminds.net/copper-saison-1/ Voici la première saison de Copper, une nouvelle série produite et diffusée par BBC America. New York City, 1864. Nous sommes après la guerre de Sécession et Kevin Corcoran, un immigrant irlandais au service de la police, enquête sur des crimes qui se sont déroulés dans la zone des Five Points. Cette série de 10 épisodes qui se focalise sur un jeune policier irlandais dans les communautés immigrantes du New York du 19ème siècle est co-écrite par Tom Fontana (qui a travaillé sur OZ, Homicide: Life on the Street, St. Elsewhere) et Will Rokos (Monster’s Ball, Southland). Dans le premier épisode, Corcoran se met à la recherche d'un tueur d'enfant. A regarder en VO. Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Court-métrage : Terraform - **URL**: https://www.skyminds.net/terraform/ Terraform est un court-métrage écrit et produit par Arthur Bayard, Félicien Daro, Guillaume Dadaglio, Vincent Glaize et Thomas Nivet, tous étudiants à ArtFX. Terraform aborde thème phare de la science-fiction : la terraformation de Mars par les hommes : Un monde envahi, subit d'importants changements. Au fil des générations, la légende perdure... PlayLive Action CGI VFX Animated Short "TERRAFORM" Adventurous Sci-Fi Film by ArtFX Vraiment bien fait. --- ### The Newsroom S01E01 : What Makes America The Greatest Country In The World - **URL**: https://www.skyminds.net/what-makes-america-the-greatest-country-in-the-world/ J'ai regardé le premier épisode de la série The Newsroom, actuellement diffusée sur HBO, et - sans avoir réellement accroché aux personnages ou à l'histoire - j'ai tout de même bien apprécié ce petit moment : La vidéo est constamment retirée de YouTube et ne peut être intégrée sur des sites tiers donc en voici une version kinétique : https://www.youtube.com/watch?v=1dpIhxmS5UE What Makes America The Greatest Country In The World [Jenny]Hi, my name is Jenny, I’m a sophomore and this for all three of you. Can you say in one sentence or less – what – (laughing in background) you know what I mean: “Can you say why America is the greatest country in the world?” [Emily Kathleen A. Mortimer - As Sharon]Diversity and opportunity. [Debate Moderator]Louis? [Louis]Ah freedom and freedom, so let’s keep it that way. [Debate Moderator]Will? [Jeffrey Warren "Jeff" Daniels As Will]The New York Jets. [audience laughs] [Debate Moderator]No, I’m gonna hold you to an answer on that. What makes America the greatest country in the world? [Jeff Daniels]Well, Louis and Sharon said it. Diversity and opportunity and freedom and freedom. (audience member holds notebook)IT’S NOT. BUT IT CAN BE. [Debate Moderator]I’m not letting you go back to the airport without answering the question. [Will]Well, our Constitution is a masterpiece. James Madison was a genius. The Declaration of Independence is for me the single greatest piece of American writing. [Will]You don’t look satisfied. [Debate Moderator]One’s a set of laws and the other is a declaration of war. I want a human moment from you. IT’S NOT [Debate Moderator]What about the people? Why is it? [Will]It’s NOT the greatest country in the world, Professor. That’s my answer. [Debate Moderator]You’re saying? [Will]Yes. [Debate Moderator]Let’s talk about... [Will (Speaking to Sharon]Fine. Sharon, the NEA is a loser. Yeah, it accounts for a penny out of our paycheck, but he gets to hit you with it anytime he wants. It doesn’t cost money. It costs votes. It costs airtime. And column inches. You know why people don’t like liberals? Because they lose. If liberals are so fuckin’ smart then how come they lose so goddamn always? [Sharon]Hey! [Will (to Lewis]And with a straight face, you’re gonna sit there and tell students that America is so star-spangled awesome that we’re the only ones in the world who have freedom? Canada has freedom. Japan has freedom. The U.K. France. Italy. Germany. Spain. Australia. BELGIUM has freedom. (laughs) Two hundred and seven sovereign states in the world, like, a hundred and eighty of them have freedom. [Debate Moderator]All right... [Will]And you, Sorority Girl, just in case you accidentally wander into a voting booth one day, there’s some things you should know. One of them is there’s absolutely no evidence to support the statement that we’re the greatest country in the world. We’re seventh in literacy. Twenty-seventh in math. Twenty-second in science. Forty-ninth in life expectancy. A hundred and seventy-eighth in infant mortality. Third in median household income. Number four in labor force and number four... --- ### Hell on Wheels saison 2 - **URL**: https://www.skyminds.net/hell-on-wheels-saison-2/ Voici la seconde saison d'Hell on Wheels, diffusée sur AMC. Cullen Bohannon continue sa quête à la recherche de ceux qui sont responsables de la mort de sa femme et de son fils, tout comme continue l'expansion vers l'ouest de l'Union Pacific Railroad, dirigée par Thomas "Doc" Durant. Pendant ce temps, Durant envoie Elam s'occuper d'une bande qui vole la paie des employés. La tagline de cette saison est : "still fighting ... still searching ... still raising hell". Dix épisodes sont prévus pour cette saison. Faîtes parler la poudre en VO : Voir Synology : corriger “rsync permission denied” sur Amazon --- ### Rattlehand – Iron Horse - **URL**: https://www.skyminds.net/rattlehand-iron-horse/ Dans quelques jours, la série Hell On Wheels reprend sur AMC et le groupe australien Rattlehand nous offre un morceau intitulé Iron Horse, véritable hommage à la construction de la Pacific Railroad aux Etats-Unis : https://www.youtube.com/watch?v=7e0xTLEo_8s Line-up : Josh Shelton - Lead Vocals, Guitar Josh Rippingale - Lead Guitar Glen 'Fort' Jarvis - Rhythm Guitar, Mandolin, Harmonies Luke Bushell - Electric Bass, Bullfiddle Steve Wallis - Harmonica, Harmonies Renton Breen - Drums L'album de Rattlehand devrait sortir fin 2012. --- ### Bilan de l’année scolaire 2011-2012 - **URL**: https://www.skyminds.net/bilan-de-lannee-scolaire-2011-2012/ Cela devient un peu une institution, voici venu le temps du bilan annuel de l'année scolaire 2011-2012. Nouveau statut : TZR L'année dernière, j'ai demandé ma mutation pour l'académie de Nantes après 5 ans de bons et loyaux services en ZEP en Seine St Denis. Je pensais avoir suffisamment de points pour obtenir un poste fixe. Je me trompais : je suis devenu Titulaire en Zone de Remplacement (TZR). Sous cet acronyme barbare, c'est un véritable changement de statut : vous êtes rattaché administrativement à un établissement dans lequel vous n'enseignez pas forcément et la zone de remplacement s'étend à tout le département (et les départements limitrophes). Vous pouvez enseigner dans plusieurs établissements, avec des remplacements courts ou alors à l'année. Après 5 ans de ZEP, avouez que c'est un peu la carotte quand même. Affectations Pour autant (malgré le statut de TZR), j'ai connu de bons établissements cette année, qui m'ont vraiment changé d'environnement : un collège en plein centre de Nantes et un collège en rase-campagne à l'extérieur de la ville. Le jour et la nuit. Salles et matériel Allez, c'est un peu là qu'on voit les différences de dotation des collèges entre les différentes académies : vidéo-prjecteurs dans chaque salle, appel avec l'ordinateur de la classe, tableaux blancs. Le collège du centre avait même des baffles dans le faux-plafond pour diffuser le son correctement dans la salle. Par contre, aucun des deux n'avait de lecteur CD, ce qui m'a tout bonnement fait halluciner. Du coup, il faut tout passer par MP3 ou XviD. D'un côté, c'est plus pratique puisqu'une clé USB suffit. D'un autre côté, comme les MP3 des méthodes ne sont pas taggués, c'est un peu tangent pour savoir quelle est la bonne piste à passer (surtout quand on zappe une partie du livre). Étant de passage, je n'ai pas raccroché mes posters rock. Les élèves Pendant des années, j'ai pesté en me demandant quel effet cela me ferait d'avoir des "élèves normaux". J'entends par là des élèves qui viendraient en classe en ayant fait leurs devoirs, qui auraient à coeur de participer, qui seraient aimables... et bien je pense maintenant que c'est une utopie, un idéal que nous aimerions connaître mais qui n'existe pas vraiment. J'ai eu deux collèges, donc deux publics assez différents. Dans le collège de campagne, j'avais des 5èmes et des 3èmes en cours de conversation anglaise. J'ai bien apprécié les 5èmes, avec qui j'ai fini le livre avec plus d'un mois d'avance (un record). Et la conversation anglaise en demi-groupe avec des élèves que l'on n'a pas en classe normale, c'est plutôt génial. Par contre, ils sont méchamment racistes et ça, c'est quelque chose que je découvre pour la première fois. C'est très choquant. Dans le collège de centre ville, les élèves de 3ème étaient éduqués pour la plupart, certains savants, d'autres avaient une culture impressionnante, d'autres encore une qualité de réflexion que l'on trouve habituellement en fin de lycée. Les 4èmes ont été les plus agréables que j'ai jamais connu,... --- ### The Prodigy – Invaders Must Die - **URL**: https://www.skyminds.net/the-prodigy-invaders-must-die/ The Prodigy est un groupe britannique de musique électronique formé par Liam Howlett (compositeur/claviers), Keith Flint (danseur/chanteur) et Maxim Reality (MC/chanteur, Keith Palmer de son vrai nom). J'adore le morceau Invaders Must Die et le clip qui va avec : https://www.youtube.com/watch?v=r3EIogaEwxY Aux côtés de Fatboy Slim, The Chemical Brothers et The Crystal Method, ils font partie des pionniers de la dance électronique ou « big beat » dans les années 1990 avec le développement des raves parties et de leur médiatisation dès lors qu'elles ont été rendues illégales. The Prodigy a vendu plus de 20 millions de disques dans le monde, ce qui en fait le plus grand vendeur de disques de l'histoire de la dance music. --- ### Rsync: rapatrier les fichiers du serveur à la maison - **URL**: https://www.skyminds.net/rsync-rapatrier-les-fichiers-du-serveur-a-la-maison/ Je vous ai déjà parlé de rsync pour transférer des fichiers d'un serveur à un autre. Supposons maintenant que vous vouliez récupérer les fichiers qui sont sur votre serveur chez vous, à la maison. Cela ne prend que quelques minutes à mettre en place et cela sert très souvent. Etape 1 : ouvrir le port 22 dans la box ou le routeur Rendez-vous dans l'interface d'administration de votre box ou routeur : si ce n'est déjà fait, attribuez une IP fixe à votre PC en identifiant l'adresse MAC de sa carte réseau.ouvrez le port 22 (SSH) en TCP et redirigez-le vers l'adresse fixe de l'étape précédente. Voilà, le port est ouvert et redirigé au niveau du routeur. Etape 2 : ouvrir le port 22 dans le firewall de la machine Je suis sous Linux (Debian, Ubuntu, Mint...), j'utilise donc iptables en root : iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT Le port 22 est maintenant ouvert aux connections entrantes et sortantes sur la machine. Etape 3 : installer openssh-server Tout bêtement : apt-get install openssh-server et hop, vous êtes prêt à recevoir les fichiers de votre serveur. Etape 4 : E.T. fichiers maison (via rsync) Vous êtes loggués en SSH sur votre serveur et vous voulez envoyer tout un répertoire et ce qu'il contient (fichiers, dossiers) sur l'ordinateur de la maison avec rsync : rsync --ignore-existing --progress -r /home/backup/*.* matt@IP-PUBLIQUE-MAISON:/home/matt/backup-server/ En supposant que : sur votre serveur, vous sauvegardez /home/backup/*.*IP-PUBLIQUE-MAISON est l'IP publique de chez vousvous vous connectez chez vous avec l'utilisateur mattvous sauvegarder les fichiers chez vous dans le dossier /home/matt/backup-server/ Voilà, cela sert toujours d'avoir une copie de ce qui se trouve sur le serveur chez soi. C'est un principe de sécurité et de redondance des données. --- ### Enver İzmaylov and Leniye İzmaylova – Pamiec + Smoke on the Water (Deep Purple cover) - **URL**: https://www.skyminds.net/enver-izmaylov-leniye-izmaylova-pamiec-smoke-on-the-water/ Enver İzmaylov et Leniye İzmaylova sont deux artistes Tatars de Crimée qui jouent du jazz. Les Tatars de Crimée sont une population turcophone vivant initialement dans la péninsule de Crimée dans l'actuelle Ukraine, également dispersée dans les républiques de l'ancienne Union soviétique, les Balkans et la Turquie. Voici leur interprétation de Pamiec et leur reprise de Smoke On The Water de Deep Purple au Teatr Muzyczny ROMA à Varsovie (Pologne) au Jazz Jamboree Festival, le 26 novembre 2007 : https://www.youtube.com/watch?v=rCTk3NU2zsc Enver İzmaylov a commencé la guitare à l'âge de 15 ans, en 1970, et est un musicient de jazz et folk reconnu en Crimée (actuellement en Ukraine). Il ne joue pas toutes les cordes mais utilise le jazz tapping - technique fréquemment utilisée en guitare électrique par les shredders, plus connue sous le nom double-tapping. Il a développé cette technique au même moment que Stanley Jordan, sans pourtant le connaître. Sa fille Leniye İzmaylova combine jazz, folk et musique pop dans son répertoire. --- ## Pages ### Plugins WordPress et WooCommerce - **URL**: https://www.skyminds.net/plugins-wordpress/ Plugins WordPress et WooCommerce par SkyMinds Des plugins WordPress utiles, rapides et sans usine à gaz Améliorez vos redirections, vos performances, votre visibilité, vos ventes et la qualité de vos contenus. Installez gratuitement l’essentiel depuis WordPress.org, puis passez à Pro lorsque votre site en demande davantage. Découvrir les plugins Comparer Gratuit et Pro 7 plugins spécialisésUn besoin précis, un outil ciblé Versions gratuitesDisponibles sur WordPress.org Code maintenuMises à jour régulières Développés en FrancePar Matt Biscay, expert WordPress 2 000+ installations actives 4,7/5 sur WordPress.org Plugin phare Sky Login Redirect Envoyez chaque utilisateur au bon endroit après sa connexion Une connexion ne devrait jamais casser le parcours d’un visiteur. Sky Login Redirect gère les redirections par rôle, par utilisateur ou pour tout le monde. Il personnalise aussi l’écran de connexion sans toucher au thème. Préservez la page consultée avant la connexion ou la déconnexion. Créez des règles distinctes par rôle, utilisateur ou destination. Conservez les parcours WooCommerce, notamment le panier et la commande. Adaptez le logo, l’arrière-plan, le formulaire et le bouton de connexion. Avec Pro : ajoutez la restriction de contenu, les shortcodes, les liens de menu, la connexion modale et des règles avancées pour WooCommerce et Easy Digital Downloads. Télécharger gratuitement Voir les offres Pro Une boîte à outils qui reste légère Choisissez le plugin qui résout votre problème Chaque extension se concentre sur une mission. Vous installez seulement les fonctions dont votre site a besoin. WooCommerce · Récupération de ventes SaleSaver Transformez les paiements échoués en nouvelles occasions de vendre SaleSaver repère les commandes échouées et vous aide à relancer les clients avec un e-mail WooCommerce personnalisable et un lien direct vers le paiement. Relancez les commandes échouées sans reconstruire votre système d’e-mails. Évitez les doublons grâce au suivi des envois et des adresses. Gardez une trace de chaque relance dans la commande. Avec Pro : récupérez aussi les commandes en attente et suspendues, traitez les envois en arrière-plan et vérifiez les adresses en masse. Télécharger gratuitement Voir les offres Pro Performance · Core Web Vitals FlashSpeed Retirez le superflu avant qu’il ne ralentisse vos pages FlashSpeed désactive les ressources WordPress inutiles avec des réglages ciblés. Il complète votre cache sans essayer de remplacer toute votre pile de performance. Contrôlez les emojis, embeds, Dashicons et jQuery Migrate. Gérez Google Fonts, Google Maps et les balises superflues. Réduisez les requêtes inutiles sans modifier les fichiers du cœur. Avec Pro : ajoutez le préchargement instantané, Google Analytics local, les en-têtes de sécurité, les resource hints et l’injection de code. Télécharger gratuitement Voir les offres Pro SEO technique · Sitemaps XML Sitemapster Publiez des sitemaps rapides sans installer une suite SEO entière Sitemapster génère des sitemaps séparés pour vos contenus et vos images. Le XML reste dynamique, lisible, paginé et mis en cache, sans aucun fichier écrit sur le serveur. Activez séparément l’index, les contenus et les images. Servez le XML depuis Redis, Memcached ou les transients WordPress. Respectez les contenus protégés et les réglages noindex courants. Avec Pro : contrôlez... --- ### Hébergement WordPress performant, sécurisé et maintenu - **URL**: https://www.skyminds.net/hebergement-wordpress/ Hébergement WordPress : un site rapide commence par une base saine Votre site WordPress est lent, instable, mal hébergé ou difficile à maintenir ? Je peux vous aider à choisir, configurer, migrer ou optimiser un hébergement WordPress adapté à votre site, à votre trafic et à vos contraintes techniques. Parler de mon hébergement WordPress Voir les points à vérifier Un bon hébergement WordPress ne se limite pas à “assez d’espace disque” Un site WordPress dépend de son hébergement à chaque requête : PHP, base de données, cache, HTTPS, DNS, sauvegardes, tâches planifiées, emails, logs, sécurité, mémoire, limites du serveur et qualité du support technique. Un hébergement peut donc afficher une belle fiche commerciale et rester mauvais pour votre site. Le problème ne vient pas toujours de WordPress. Parfois, le serveur tousse, la base rame, le cache ment, et tout le monde accuse le thème. Ambiance classique. Performance Configuration PHP, cache, base de données, CDN, images, compression, ressources serveur et cohérence avec le trafic réel du site. Fiabilité Sauvegardes, restauration, surveillance, logs, sécurité, mises à jour, limites serveur et capacité à encaisser les pics de charge. Maintenance Un hébergement sain doit faciliter les mises à jour, les tests, les migrations, les corrections et l’exploitation quotidienne du site. Quand revoir votre hébergement WordPress ? Votre site est lent malgré un plugin de cache et des images optimisées. Votre back-office WordPress rame dès que vous modifiez une page, un produit ou une commande. Votre hébergeur limite PHP, les tâches cron, les sauvegardes, les logs ou l’accès SSH. Votre boutique WooCommerce devient instable lors des pics de trafic ou des campagnes marketing. Vous préparez une migration, une refonte, une montée en charge ou une campagne SEO. Vous voulez arrêter de résoudre des problèmes serveur avec des incantations dans wp-config.php. Ce qu’un hébergement WordPress sérieux doit couvrir Versions PHP, base de données et compatibilité WordPress doit tourner sur des versions maintenues de PHP, MySQL ou MariaDB, avec une configuration adaptée au site. Pour WooCommerce, il faut être encore plus strict : mémoire suffisante, HTTPS, performances de la base de données et compatibilité des extensions critiques. Cache et performance serveur Cache page, cache objet, OPcache, compression, headers, CDN, règles serveur, temps de réponse, requêtes lentes et cohérence avec votre plugin de cache. Le cache doit accélérer le site, pas cacher un problème structurel. Base de données Tables WordPress, options autoloadées, transients, tables WooCommerce, actions planifiées, index, requêtes coûteuses et nettoyage raisonné. Une base mal entretenue peut ralentir le front-office comme l’administration. Sauvegardes et restauration Des sauvegardes régulières ne suffisent pas. Il faut savoir ce qui est sauvegardé, où, à quelle fréquence, combien de temps, et surtout si la restauration fonctionne vraiment. Sinon, ce n’est pas une stratégie. C’est une croyance. Logs et diagnostic Accès aux logs PHP, serveur, WordPress, WooCommerce, erreurs 5xx, tâches cron, ralentissements et incidents. Sans logs exploitables, chaque panne devient une séance de divination technique. Peu rentable. Moyennement scientifique. Sécurité et isolation Permissions des fichiers, comptes, accès SSH/SFTP, HTTPS, pare-feu applicatif, logs, séparation des sites, mises à jour... --- ### Migration WordPress : changer d’hébergement sans casse - **URL**: https://www.skyminds.net/migration-wordpress/ Migration WordPress : changez d’hébergement sans casser votre site Vous devez migrer un site WordPress vers un nouvel hébergement, un nouveau serveur, un nouveau domaine ou une nouvelle configuration technique ? Je peux préparer, tester et réaliser la migration sans improviser sur votre site en production. Préparer ma migration WordPress Voir les points à sécuriser Une migration WordPress ne se résume pas à copier des fichiers Une migration WordPress touche souvent plus de choses qu’on ne l’imagine : fichiers, base de données, médias, thème, extensions, cache, DNS, certificat SSL, emails, redirections, tâches cron, performances, indexation, formulaires et parfois commandes WooCommerce. La migration doit donc être préparée comme une opération technique, pas comme un glisser-déposer géant dans un FTP ouvert à 23 h 47. Le site mérite mieux. Votre tension artérielle aussi. Préparation Je contrôle le site, les DNS, les emails, l'hébergement, les extensions, les sauvegardes et les contraintes avant de migrer. Un audit WordPress préalable permet d’éviter de transférer une dette technique, ou une base dégradée. Migration Transfert des fichiers, base de données, médias, configuration WordPress, URLs, caches, certificats SSL et réglages nécessaires. Validation Contrôle après bascule : pages clés, formulaires, connexion, SEO, WooCommerce, performances, erreurs, emails et redirections. Quand demander une migration WordPress ? Votre hébergement WordPress actuel est lent, limité, instable ou devenu inadapté à votre activité. Vous changez de serveur, de domaine, de prestataire ou d’architecture technique. Votre site WordPress doit passer sur une configuration plus propre, plus rapide ou plus maintenable. Votre boutique WooCommerce ne doit pas perdre de commandes, comptes clients ou emails transactionnels. Vous préparez une refonte, une reprise de site ou une sortie d’un hébergement trop verrouillé. Vous voulez migrer sans découvrir les problèmes après la bascule DNS. Moment toujours délicieux. Surtout quand le checkout dort par terre. Ce qu’il faut sécuriser pendant une migration WordPress Fichiers et base de données Transfert des fichiers WordPress, médias, thème, extensions, mu-plugins, exports SQL, encodage, préfixes de tables, chemins serveur, URLs sérialisées et cohérence globale des données. Domaine, DNS et SSL Préparation des enregistrements DNS, réduction du TTL si nécessaire, bascule propre, certificat HTTPS, redirections, version canonique du domaine et contrôle des erreurs après propagation. Emails et formulaires Vérification des formulaires de contact, emails transactionnels, expéditeur, SPF, DKIM, DMARC si concernés, notifications WordPress, emails WooCommerce et dépendances liées à l’ancien hébergement. SEO et redirections Contrôle des URLs, permaliens, redirections 301, sitemap, robots.txt, balises canoniques, pages stratégiques, erreurs 404, indexation et cohérence entre ancien et nouvel environnement. WooCommerce Je contrôle les commandes, produits, comptes clients, paiements, webhooks, abonnements, emails, taxes, frais de port, stocks, paniers, sessions et le tunnel de commande avant et après la migration. Pour une boutique complexe, la migration peut être coordonnée avec une intervention de développeur WooCommerce afin de sécuriser les paiements, les automatisations, les tâches planifiées et les intégrations métier. Performance et cache Cache page, cache objet, PHP, base de données, CDN, images, règles serveur, extensions d’optimisation et comparaison des performances avant/après. Une migration peut aussi déboucher sur une optimisation de vitesse WordPress. Sécurité et accès Comptes administrateurs, mots... --- ### Sécurité WordPress : nettoyage, sécurisation et prévention - **URL**: https://www.skyminds.net/securite-wordpress/ Sécurité WordPress : protégez votre site avant qu’il ne vous trahisse Votre site WordPress affiche des erreurs étranges, envoie du spam, redirige les visiteurs, ralentit sans raison ou n’a jamais été vraiment sécurisé ? Je peux auditer, nettoyer, sécuriser et remettre de l’ordre dans votre installation WordPress. Demander une intervention sécurité Voir les points analysés La sécurité WordPress ne se résume pas à installer une extension WordPress est pris au sérieux côté sécurité, avec une équipe dédiée et un travail continu sur le cœur du CMS. Mais un site réel ne se limite jamais au cœur WordPress : il utilise un thème, des extensions, un hébergement, des comptes utilisateurs, des formulaires, parfois WooCommerce, parfois des intégrations externes. C’est souvent là que les ennuis commencent. La sécurisation de WordPress repose donc sur un ensemble de pratiques : mises à jour, accès propres, sauvegardes, permissions, configuration serveur, choix des extensions, surveillance, journaux et réduction de la surface d’attaque. Installer un plugin de sécurité peut aider. Croire qu’il suffit à tout résoudre, c’est optimiste. Charmant, mais optimiste. Nettoyage Recherche de fichiers suspects, comptes inconnus, redirections, injections, extensions compromises, spam SEO et traces d’intrusion. Sécurisation Réduction des risques : accès, fichiers sensibles, permissions, configuration WordPress, sauvegardes, mises à jour et bonnes pratiques serveur. Prévention Plan d’action pour éviter les rechutes : maintenance WordPress, surveillance, sauvegardes testées, mises à jour encadrées, hygiène des extensions et comptes utilisateurs propres. Quand demander une intervention sécurité WordPress ? Votre site affiche des redirections inconnues, des popups, du spam ou des pages qui ne viennent pas de vous. Google, votre hébergeur ou votre navigateur signale un problème de sécurité. Vous voyez des comptes administrateurs, fichiers ou extensions que vous n’avez pas créés. Votre site WooCommerce gère des commandes et des données clients, mais n’a pas de stratégie claire de sécurité. Vous avez repoussé les mises à jour pendant trop longtemps. Classique. Dangereux. Humain. Vous voulez sécuriser le site avant une refonte, une migration WordPress, une campagne SEO ou une montée de trafic. Ce que je peux vérifier et corriger Mises à jour et extensions Analyse du cœur WordPress, des extensions, du thème, des dépendances, des extensions abandonnées, des plugins redondants et des risques liés à une pile trop lourde. Comptes, rôles et accès Vérification des comptes administrateurs, rôles trop permissifs, comptes inactifs, accès partagés, mots de passe faibles, authentification, emails administrateur et hygiène globale des accès. Fichiers, thème et code Recherche de fichiers suspects, modifications anormales, backdoors, code injecté, thème modifié directement, mu-plugins inconnus, webshells et traces laissées par une compromission. Configuration WordPress Contrôle des réglages sensibles, clés de sécurité, debug, édition de fichiers, XML-RPC selon le contexte, cron, permissions, sauvegardes et paramètres qui exposent inutilement le site. Base de données et contenus Détection de spam SEO, contenus injectés, options suspectes, utilisateurs indésirables, transients excessifs, tables inhabituelles, redirections parasites et traces de campagnes automatisées. WooCommerce Vérification des points sensibles d’une boutique : paiements, commandes, emails, comptes clients, webhooks, permissions, extensions critiques et risques liés aux données commerciales. Lorsque le problème concerne aussi le tunnel de commande,... --- ### Développeur WordPress - **URL**: https://www.skyminds.net/developpeur-wordpress/ Votre site web vous donne du fil à retordre ? Lent, mal sécurisé, impossible à modifier sans tout casser… Vous savez que votre site freine votre activité. Mais entre vos clients et votre quotidien, il y a toujours autre chose de plus urgent. C'est exactement pour ça que je suis là. Parlons de votre projet → Services WordPress Quel est votre besoin ? Chaque site WordPress a son urgence du moment. Choisissez le point de départ le plus proche de votre situation : je vous oriente vers la solution adaptée, sans rustine inutile ni usine à gaz. 😌 Je veux déléguer la maintenance Mises à jour, sauvegardes, sécurité, surveillance et corrections : votre site reste suivi sans devenir votre charge mentale mensuelle. Voir la maintenance WordPress ⚡ Mon site est lent Chargement poussif, mauvais Core Web Vitals, cache capricieux ou WooCommerce trop lourd : on trouve le vrai coupable avant d’empiler les plugins. Optimiser la vitesse WordPress 🛒 Ma boutique WooCommerce bloque Panier, paiement, produits variables, emails, abonnements, lenteurs ou bugs : une boutique doit vendre, pas vous mettre les nerfs en kit. Améliorer ma boutique 🛡️ Mon site est piraté ou suspect Redirections étranges, spam SEO, fichiers modifiés, alerte navigateur ou comptes suspects : on nettoie, puis on sécurise proprement. Nettoyer mon site WordPress 🧩 J’ai besoin d’une fonctionnalité Plugin dédié, snippet propre, intégration API, automatisation ou logique métier : on développe ce qui manque sans alourdir le site. Développer une fonctionnalité 🔎 Je ne sais pas ce qui bloque Performance, sécurité, plugins, thème, base de données, SEO technique ou hébergement : un audit évite d’agir au hasard. Demander un audit WordPress 😌 Je dois déplacer mon site Changement d’hébergeur, nouveau serveur, nouveau domaine ou reprise d’un site existant : la migration doit préserver les données, les emails, le référencement et les ventes. Préparer ma migration WordPress ⚡ Mon hébergement me limite Serveur lent, limites PHP, sauvegardes floues, cache incohérent ou absence de journaux exploitables : une base technique saine évite bien des rustines. Améliorer mon hébergement WordPress Votre besoin ne rentre pas dans une case ? Expliquez-moi votre projet Ces situations vous parlent ? Si vous vous reconnaissez dans l'une d'elles, vous êtes au bon endroit. 🕙 « J'ai pas le temps pour ça » Il est 21h. Vous voulez mettre à jour votre site avant une promo. Il plante. Vous ne savez pas pourquoi. Et vous n'avez personne à appeler. 🐌 « Mon site est lent, je sais » Vous voyez vos concurrents mieux référencés. Vous savez que votre site est trop lent. Mais entre vos clients et votre quotidien, c'est toujours remis à plus tard. 😟 « J'ai peur de tout casser » Faire une mise à jour WordPress vous angoisse. Et si ça casse tout ? Vous préférez ne rien toucher. Résultat : votre site est vulnérable et vous le savez. La maintenance WordPress sert justement à éviter ce genre de roulette russe technique. 💸 « Mon site ne me rapporte rien » Vous avez un site, mais il ne génère pas de contacts. Les visiteurs... --- ### Développeur WooCommerce freelance : bugs, performance et fonctionnalités - **URL**: https://www.skyminds.net/developpeur-woocommerce/ Développeur WooCommerce freelance Votre boutique WooCommerce doit vendre, pas vous ralentir. Je corrige, optimise et développe des boutiques WooCommerce qui doivent tenir en production : checkout, paiements, produits variables, abonnements, emails, performance, automatisations et fonctionnalités sur mesure. Interventions possibles sur boutiques existantes, tunnels de commande, paiements, abonnements, memberships, performance, automatisations et développements métier. Décrire mon problème WooCommerce Voir les interventions WooCommerce n’est pas “juste WordPress avec un panier”. Une boutique a ses propres contraintes : paiement, stock, emails, taxes, livraison, sessions, performance, cache, webhooks, automatisations et données clients. Une petite modification peut avoir de grandes conséquences. Bref, le terrain de jeu est sympathique. Comme une tronçonneuse dans un magasin de porcelaine. Quand faire appel à un développeur WooCommerce ? Votre panier ou votre checkout bloque des commandes. Stripe, PayPal ou un autre moyen de paiement génère des erreurs. Votre boutique devient lente dès que le trafic, les commandes ou les variations augmentent. Une extension fait presque ce qu’il faut, mais pas assez proprement. Vous avez besoin d’une règle métier spécifique sans empiler trois plugins de plus. Vos emails, webhooks, automatisations ou statuts de commande ne suivent pas le bon flux. Ce que je peux corriger sur votre boutique Checkout et paiements Panier bloqué, paiement qui échoue, Stripe ou PayPal capricieux, tunnel confus, coupons ou frais qui se comportent mal. Performance boutique Pages produits lentes, back-office lourd, filtres trop gourmands, variations nombreuses, cache mal réglé ou requêtes coûteuses. Je peux aussi intervenir sur l’optimisation de vitesse WordPress quand le problème dépasse WooCommerce ou sur l’hébergement WordPress et WooCommerce dans le cadre du serveur. Fonctions sur mesure Règles métier, champs personnalisés, exports, automatisations, intégrations API, adaptation d’un plugin ou mini-plugin dédié. Pour un besoin plus large, je peux aussi intervenir comme développeur WordPress freelance. Abonnements et memberships Subscriptions, Memberships, accès membres, renouvellements, emails, réductions conditionnelles, statuts de commande. Imports, exports et données Produits, commandes, clients, métadonnées, champs ACF, variations, synchronisation externe, nettoyage de données ou adaptation aux boutiques utilisant le stockage haute performance des commandes WooCommerce. Emails et automatisations Emails transactionnels, relances, webhooks, AutomateWoo, déclencheurs, notifications internes et workflows clients. Migration d’une boutique WooCommerce Changer de serveur ou de prestataire demande davantage de précautions avec WooCommerce. Il faut préserver les commandes, les comptes clients, les stocks, les abonnements, les paiements, les webhooks, les emails et les tâches planifiées. Je peux coordonner le travail fonctionnel avec une migration WordPress et WooCommerce, puis contrôler le tunnel de commande sur le nouvel environnement. Mon approche WooCommerce 1. Comprendre le flux de vente Avant de toucher au code, j’analyse la manière dont votre boutique vend : catalogue, panier, paiement, emails, stock, livraison, taxes, automatisations et parcours client. Lorsque plusieurs problèmes se mélangent ou que la dette technique reste difficile à mesurer, un audit WordPress et WooCommerce permet de cartographier les dépendances, les extensions critiques et les risques avant de modifier la boutique. 2. Corriger sans casser WooCommerce touche à l’argent, aux commandes et aux données clients. Je privilégie donc les corrections testables, maintenables et réversibles, avec sauvegarde, environnement de test... --- ### Soumettre un article invité sur SkyMinds : consignes éditoriales - **URL**: https://www.skyminds.net/soumettre-un-article-invite/ Vous souhaitez proposer un article invité sur SkyMinds ? Très bien. Mais autant poser le cadre tout de suite : cette page concerne uniquement les contributions éditoriales non commerciales. Si votre objectif est de promouvoir une marque, publier un article sponsorisé, obtenir un lien SEO ou placer une campagne de visibilité, utilisez plutôt la page dédiée aux partenariats publicitaires. Annoncer sur SkyMinds En revanche, si vous avez une vraie expertise, une expérience concrète, une méthode utile ou un angle solide à proposer aux lecteurs, votre contribution peut tout à fait m’intéresser. Ce que j’appelle un article invité Un article invité est une contribution éditoriale publiée sur SkyMinds parce qu’elle apporte quelque chose aux lecteurs. Pas parce qu’elle glisse élégamment trois liens vers une page commerciale. La nuance compte. Un bon article invité peut prendre plusieurs formes : un retour d’expérience technique ; un guide pratique sur un outil, une méthode ou une configuration ; une analyse utile dans un domaine précis ; une ressource pédagogique ; une réflexion argumentée sur le web, la tech, l’éducation ou la culture numérique ; un tutoriel clair, testé et reproductible. L’article doit pouvoir vivre seul. Il doit être utile même si l’on retire votre bio, votre lien et votre signature. C’est un excellent test. Les sujets qui correspondent à SkyMinds SkyMinds publie des contenus autour du web, de WordPress, de WooCommerce, de Linux, de l’administration système, de la performance, de la sécurité, de l’éducation, de la littérature, de la musique, des séries et de la culture numérique. Les contributions les plus pertinentes concernent notamment : WordPress, WooCommerce, Gutenberg, extensions, thèmes, maintenance et performance ; Linux, hébergement, Nginx, Apache, bases de données, sauvegardes, sécurité et supervision ; développement web, JavaScript, CSS, PHP, automatisation et outils de production ; SEO technique, accessibilité, qualité éditoriale et expérience utilisateur ; ressources pédagogiques, anglais, LLCER, méthodologie et enseignement ; culture web, logiciels libres, musique, séries, littérature et usages numériques. Un sujet hors de ces axes peut être accepté s’il apporte une vraie valeur au lectorat. Mais il faudra un angle solide. “Voici pourquoi notre outil est révolutionnaire” ne compte pas comme un angle solide. Même avec beaucoup d’enthousiasme. Ce que je recherche Je recherche des articles utiles, précis, structurés et sincèrement écrits. Le fond passe avant la décoration. Le lecteur doit repartir avec quelque chose : une méthode, une explication, une décision plus claire ou une solution applicable. Une expertise réelle : vous connaissez le sujet parce que vous l’avez pratiqué, testé ou étudié sérieusement. Un angle clair : l’article répond à une question précise, pas à douze idées vagues. Une structure lisible : titres, sous-titres, paragraphes courts, exemples et progression logique. Des exemples concrets : commandes, captures, cas d’usage, erreurs fréquentes, comparaisons ou retours terrain. Des sources fiables : documentation officielle, données vérifiables, références sérieuses. Une écriture humaine : claire, directe, naturelle, sans jargon marketing gonflé à l’hélium. Ce que je refuse Je refuse les articles invités qui servent uniquement de prétexte à du netlinking. SkyMinds n’est pas... --- ### Optimisation vitesse WordPress : site plus rapide et Core Web Vitals - **URL**: https://www.skyminds.net/optimisation-vitesse-wordpress/ Optimisation vitesse WordPress Votre site WordPress est lent ? Je trouve le vrai coupable et je le corrige. Un site lent ne se répare pas avec un plugin magique. J’analyse votre WordPress, vos images, vos scripts, votre thème, votre cache, votre hébergement et vos extensions pour améliorer les temps de chargement réels. Core Web Vitals LCP, INP, CLS WordPress réel pas juste PageSpeed WooCommerce panier, checkout, requêtes Faire auditer la vitesse de mon site Voir ce qui est analysé Le problème n’est pas toujours là où PageSpeed le montre. Un mauvais score peut venir d’une image hero trop lourde, d’un script tiers, d’un thème chargé, d’une requête lente, d’un cache mal réglé, d’un plugin trop ambitieux ou d’un hébergement WordPress mal dimensionné. Avant d’optimiser, il faut diagnostiquer. Sinon, on déplace les meubles pendant que la maison brûle. Les symptômes que je traite Pages trop lentes Le site répond, mais tout paraît mou. Les visiteurs attendent, hésitent, puis repartent avant même de lire votre contenu. Mobile poussif Desktop acceptable, mobile pénible. C’est souvent là que les vrais problèmes de poids, d’images et de JavaScript apparaissent. WooCommerce lent Panier, checkout, fragments, sessions, produits variables, et tâches planifiées peuvent ralentir une boutique même si sa page d’accueil semble correcte. Lorsque le problème touche aussi les paiements ou les commandes, une intervention de développeur WooCommerce peut compléter l’optimisation. Ce que j’analyse avant d’optimiser Temps de réponse serveur et TTFB Images, WebP, AVIF, dimensions et lazy loading CSS, JavaScript et scripts tiers Cache page, cache objet, CDN et invalidation Plugins lourds ou redondants Thème, constructeur et dépendances front Requêtes SQL et base WordPress Cas spécifiques WooCommerce Le serveur compte, mais il n’explique pas tout Un meilleur serveur peut réduire le temps de réponse. Il ne corrigera toutefois ni une image de plusieurs mégaoctets, ni un JavaScript bloquant, ni une extension qui lance cinquante requêtes inutiles. J’analyse donc WordPress et son environnement d’hébergement avant de recommander un changement d’infrastructure. Si le serveur constitue réellement le goulot d’étranglement, je peux optimiser sa configuration ou préparer une migration WordPress vers une solution mieux adaptée. Ce que vous recevez après le diagnostic Le diagnostic ne se limite pas à une note PageSpeed. Vous obtenez une lecture claire des vrais blocages, des corrections prioritaires et des risques à éviter avant toute optimisation. Diagnostic clair J’identifie les causes probables : serveur, thème, plugins, images, scripts, cache, base de données ou WooCommerce. Priorités utiles Je classe les corrections par impact, complexité et niveau de risque. Le but est d’améliorer sans fragiliser le site. Plan d’action Vous savez quoi corriger, dans quel ordre, et quelles optimisations méritent vraiment une intervention. Demander un diagnostic performance Audit performance ou optimisation complète ? Certains sites ont surtout besoin d’un diagnostic précis. D’autres nécessitent une intervention complète sur le cache, les images, les scripts, la base de données, WooCommerce, le thème ou l’hébergement. Audit performance Je mesure, j’analyse et je vous donne les priorités. Idéal si vous voulez comprendre ce qui ralentit vraiment le site avant d’intervenir. Optimisation... --- ### Maintenance WordPress - **URL**: https://www.skyminds.net/maintenance-wordpress/ Maintenance WordPress freelance Votre site WordPress reste rapide, sécurisé et suivi. Sans stress mensuel. Je prends en charge les mises à jour, les sauvegardes, la sécurité, la surveillance et les corrections techniques de votre site WordPress ou WooCommerce. Vous gardez un site fiable. Vous récupérez votre tranquillité. 20+ ans d’expérience WordPress 35+ sites suivis ou maintenus 5/5 sur Codeable Faire vérifier mon site WordPress Voir ce qui est inclus Le vrai risque n’est pas de “ne pas être à jour”. Le vrai risque, c’est de découvrir trop tard qu’une mise à jour a cassé votre formulaire, ralenti WooCommerce, déclenché une erreur PHP, désactivé un paiement ou rendu une sauvegarde inutilisable. Une bonne maintenance réduit ces surprises avant qu’elles ne deviennent des urgences. Quand votre site commence à vous peser, il est temps de le faire suivre La maintenance devient utile dès que votre site compte pour votre activité. Pas besoin d’attendre la panne. C’est même tout l’intérêt. ⚠️ Vous repoussez les mises à jour Vous savez qu’il faut les faire, mais vous n’avez pas envie de transformer un mardi calme en diagnostic d’écran blanc. 🧯 Vos sauvegardes sont floues Avoir “un backup quelque part” ne suffit pas. Il faut savoir restaurer vite, proprement, et sans perdre des données importantes. 🛒 Votre site vend ou génère des leads Quand un site rapporte quelque chose, l’improvisation technique finit toujours par coûter plus cher que le suivi. 🔌 Vos plugins s’accumulent Extensions premium, vieux thèmes, snippets oubliés, intégrations API : il faut quelqu’un qui comprenne ce qui tient la maison. 🕵️ Votre ancien prestataire a disparu Je reprends les sites existants, même si la documentation ressemble à un carton de câbles VGA dans un grenier. 😌 Vous voulez arrêter d’y penser Un bon site WordPress doit servir votre activité. Il ne doit pas devenir un animal domestique anxieux. Ce que je prends en charge La maintenance WordPress ne se résume pas à cliquer sur “mettre à jour”. Elle sert à garder un site stable, sauvegardé, sécurisé et compréhensible. 🔄 Mises à jour maîtrisées WordPress core Extensions Thème actif Vérifications après intervention Gestion des erreurs visibles 💾 Sauvegardes utiles Fichiers Base de données Contrôle de cohérence Plan de restauration Réduction du risque de perte 🛡️ Sécurité WordPress Comptes administrateurs Extensions vulnérables Thèmes inutilisés Surface d’attaque réduite Comportements suspects 📈 Performance de base Cache cohérent Extensions trop lourdes Images problématiques Signaux de lenteur Conseils d’optimisation 🧪 Contrôles après action Pages clés Formulaires Panier WooCommerce Paiement si nécessaire Erreurs visibles 🧭 Conseil humain Priorités claires Décisions expliquées Pas d’achat inutile Recommandations concrètes Un vrai interlocuteur technique Ma méthode : moins de panique, plus de contrôle ÉTAPE 1 Audit initial Je commence par un état des lieux du thème, des extensions, des sauvegardes, de l’hébergement, de la sécurité et des zones sensibles. ÉTAPE 2 Stabilisation Si le site est fragile, je corrige d’abord les risques évidents. Pas de mise à jour lancée au lance-pierre. ÉTAPE 3 Suivi régulier Je maintiens le site dans le temps, avec une... --- ### Annoncer sur SkyMinds : sponsoring, visibilité et partenariats web - **URL**: https://www.skyminds.net/annoncer-sur-le-site/ Cette page concerne les partenariats commerciaux, les annonces, les articles sponsorisés et les campagnes de visibilité. Si vous souhaitez proposer une contribution éditoriale non rémunérée, consultez plutôt la page Soumettre un article invité. Vous souhaitez toucher une audience curieuse, technique et engagée ? SkyMinds accueille des partenariats publicitaires et éditoriaux soigneusement sélectionnés. Le site parle de WordPress, WooCommerce, administration système, Linux, web performance, outils numériques, littérature, musique, séries et pédagogie. Bref, une joyeuse intersection entre culture web, expertise technique et contenu utile. Pas exactement le coin idéal pour vendre des chaussettes connectées à des grille-pains. Quoique. Pourquoi annoncer sur SkyMinds ? SkyMinds existe depuis 1998 et publie des contenus de fond, majoritairement evergreen. Les articles ne vivent pas seulement quelques heures dans un flux social. Ils continuent d’être trouvés, lus, partagés et utilisés longtemps après leur publication. Le lectorat vient chercher des réponses précises : résoudre un problème WordPress, optimiser un serveur, comprendre un outil, préparer un cours, découvrir une série, suivre un tutoriel ou approfondir un sujet culturel. Audience qualifiée : développeurs, webmasters, créateurs de contenu, enseignants, étudiants, responsables de sites et lecteurs technophiles. Contenus longue durée : guides, tutoriels, méthodes, analyses et ressources pratiques. Positionnement éditorial clair : web, WordPress, WooCommerce, sysadmin, culture numérique, littérature et pédagogie. Ton humain : expertise sérieuse, mais sans jargon inutile ni communication corporate sous cloche. SkyMinds en quelques chiffres Grâce à son ancienneté, à son maillage éditorial et à son référencement naturel, SkyMinds attire chaque mois une audience régulière. 80 000 à 100 000 visiteurs uniques par mois 150 000+ visites mensuelles 2 400+ articles publiés Une ligne éditoriale installée depuis 1998 Ces chiffres peuvent être précisés sur demande selon le type de campagne, la thématique visée et les pages concernées. Formats publicitaires possibles Je privilégie les formats sobres, utiles et cohérents avec le contenu. L’objectif n’est pas de transformer SkyMinds en sapin de Noël publicitaire. L’objectif est de proposer une visibilité propre, lisible et pertinente. Article sponsorisé : présentation d’un outil, d’un service ou d’une solution utile au lectorat. Insertion sponsorisée dans un article existant : bloc contextualisé dans un guide déjà positionné. Partenariat éditorial : contenu construit autour d’un besoin concret, avec un angle utile et de la valeur ajoutée. Visibilité de marque : mention ou encart discret sur une page pertinente. Test ou présentation d’outil : uniquement si le produit mérite réellement l’attention du lectorat. Article partenaire sponsorisé SkyMinds peut publier des articles partenaires sponsorisés lorsque le sujet correspond à la ligne éditoriale du site et apporte une vraie valeur aux lecteurs. L’offre d’entrée commence à 499 € HT pour un article fourni par l’annonceur, relu, adapté et publié après validation éditoriale. publication d’un article fourni par l’annonceur ; relecture et ajustement éditorial ; adaptation du titre, de la structure et des liens si nécessaire ; liens commerciaux qualifiés avec rel="sponsored" ou rel="nofollow" ; publication uniquement après validation du sujet et du contenu final. Cette offre ne comprend pas la rédaction complète de l’article, la garantie de positionnement Google,... --- ### Abonnement - **URL**: https://www.skyminds.net/abonnement/ Suivre SkyMinds Recevez les nouveaux articles de SkyMinds et suivez les publications consacrées à WordPress, au web, au sysadmin, à la culture numérique, à la littérature et aux séries. La newsletter SkyMinds Le moyen le plus simple de suivre SkyMinds. Vous recevez les nouveaux articles et les contenus utiles directement par email, sans dépendre d’un algorithme ou d’un réseau social qui change d’humeur avant le café. Au programme : guides WordPress, WooCommerce, performance web, administration serveur, astuces techniques, culture web, littérature et séries. Flux RSS Vous préférez suivre les publications dans votre lecteur RSS ? Les flux restent disponibles, propres et sans inscription. Flux RSS des articles Flux RSS des commentaires Commentaires Lorsque vous commentez un article, vous pouvez demander à recevoir une notification par email en cas de réponse ou de nouveau commentaire. Cochez simplement l’option proposée sous le formulaire de commentaire de l’article concerné. Réseaux sociaux Vous pouvez aussi suivre SkyMinds sur les réseaux sociaux, mais la newsletter et le RSS restent les moyens les plus fiables pour ne rien manquer. SkyMinds sur X/Twitter Page Facebook de SkyMinds --- ### Vie privée et informations légales - **URL**: https://www.skyminds.net/vie-privee-et-informations-legales/ Nous respectons votre vie privée lorsque vous visitez https://www.skyminds.net. Ce qui suit explique les pratiques du site quant aux informations collectées sur ce site uniquement. Informations légales En raison des articles 38 à 40 de la loi du 6 janvier 1978 relative à l'Informatique, aux Fichiers et aux Libertés, vous disposez d'un droit de rectification des données vous concernant. N'hésitez pas à nous contacter. Le site est hébergé par : OVH2 rue Kellermann59100 Roubaix Le site est édité par : SkyMinds14 chemin des Thébaudières44119 Treillières Directeur : Matt Biscay.N° TVA intra-communautaire : non-assujetti. Quelles données personnelles sont collectées et à quelles fins ? SkyMinds collecte des données personnelles : lorsque vous naviguez sur les services proposés, lorsque vous créez un compte sur le site, lorsque vous passez une commande, lorsque vous publiez, envoyez un message privé ou participez à nos services. Lorsque vous visitez SkyMinds, des données personnelles peuvent être collectées lorsque vous utilisez nos services : nom, email, préférences de compte personnel, données transactionnelles lors d'achat et données techniques comme les informations à propos des cookies. Ces données permettent d’établir des statistiques d’utilisation des services, d’optimiser les sites, de faire du debugging pour détecter d’éventuelles erreurs, de modérer efficacement les services, et d’une manière générale, sont utilisées pour permettre le bon fonctionnement des services: les statistiques sont gérées par le service Stats de Jetpack. vos données personnelles (email, nom, adresse IP et navigateur utilisé) sont collectées lors de la création de votre compte sur le site, lorsque vous publiez un commentaire, passez commande ou remplissez le formulaire de contact. Ces données personnelles collectées dans le cas de création d’un compte sont utilisées: pour vous notifier de l’activité en cours sur les services pour vous permettre de réinitialiser votre mot de passe et garantir la sécurité de votre compte utilisateur de vous contacter en cas de réclamation judiciaire les données personnelles additionnelles que vous pourriez fournir pour agrémenter votre page de profil tel que votre lieu, anniversaire ou biographie sont visibles des autres utilisateurs et peuvent être modifiées et effacées à tout moment. SkyMinds stocke vos données aussi longtemps que votre compte utilisateur reste actif. Avec qui partageons-nous vos données ? Nous pouvons partager vos données avec des tiers dans les circonstances suivantes ou tel que décrit autrement dans la présente Politique de confidentialité. Fonctionnalités liées aux réseaux sociaux Par le biais des fonctionnalités liées aux réseaux sociaux, le fournisseur tiers du réseau social en question peut collecter des informations telles que votre adresse IP et la page des Services que vous consultez, et installer un cookie pour activer cette fonctionnalité. Votre utilisation de ces fonctionnalités est régie par la politique de confidentialité de la société tierce. À des fins de sécurité et de respect des lois Nous pouvons divulguer vos données à des tiers si nous, à notre seule discrétion, avons tout lieu de croire qu'une telle divulgation est : requise par la loi ; demandée dans le cadre d'une enquête, ordonnance ou procédure judiciaire, gouvernementale ou légale ; raisonnablement nécessaire dans... --- ### PayPal – Thank You - **URL**: https://www.skyminds.net/paypal-thank-you/ English Thank you for your purchase ! To crack down on fraudulent attempts, all orders are reviewed manually. This processing can take a few minutes but don't worry, once cleared, you will hear from us soon via email. I encourage you to drop me a mail to my personal inbox with your order number. This speeds things up and confirms you are not a bot trying to fool the system. Thank you. French Merci de votre achat ! Afin de limiter les tentatives de fraude via Paypal, toutes les commandes sont validées manuellement. Cela peut prendre quelques minutes mais ne vous inquiétez pas, vous recevrez un mail de notre part très prochainement. Je vous encourage d'ailleurs à me laisser un message avec votre numéro de commande. Cela accélère le processus de vérification et prouve que vous n'êtes pas un robot qui essaie d'abuser du système. Merci. - Matt --- ### Audit WordPress technique : performance, sécurité et priorités - **URL**: https://www.skyminds.net/audit-wordpress/ Audit WordPress technique : identifiez ce qui bloque vraiment votre site Votre site WordPress est lent, instable, difficile à maintenir ou plein de petites anomalies ? Je réalise un audit technique pour comprendre la cause réelle des problèmes, hiérarchiser les priorités et proposer un plan d’action clair. Demander un audit WordPress Voir ce qui est analysé Un audit WordPress évite de corriger au hasard Un site WordPress peut devenir lent, fragile ou pénible à administrer pour de nombreuses raisons : extensions trop lourdes, thème mal conçu, dette technique, requêtes coûteuses, cache mal configuré, erreurs PHP, hébergement sous-dimensionné, base de données encombrée, sécurité négligée ou boutique WooCommerce trop gourmande. L’audit sert à distinguer les vrais problèmes des symptômes. On évite donc la méthode classique : installer un plugin miracle, vider le cache, croiser les doigts, puis recommencer deux semaines plus tard. Très populaire. Rarement glorieux. Performance Analyse des lenteurs front-office, back-office, Core Web Vitals, requêtes, cache, médias, thème, extensions et hébergement. Sécurité Vérification des points faibles classiques : comptes, extensions, thème, configuration, permissions, mises à jour et durcissement. Priorités d’action Livraison d’un diagnostic clair : ce qui est urgent, ce qui peut attendre, ce qui doit être corrigé proprement. Quand demander un audit WordPress ? Votre site est lent, mais vous ne savez pas si le problème vient du thème, des extensions, du cache ou de l’hébergement. Votre back-office WordPress rame dès que vous modifiez une page, une commande ou un produit. Vous avez trop d’extensions et vous ne savez plus lesquelles sont utiles, risquées ou redondantes. Votre boutique WooCommerce perd des commandes, ralentit ou devient difficile à gérer. Vous préparez une refonte, une migration WordPress ou la reprise d’un site existant. Vous voulez sécuriser votre site avant qu’un incident ne transforme votre lundi matin en escape game. Ce que l’audit peut analyser Structure WordPress Configuration générale, thème actif, thème enfant, extensions, mu-plugins, rôles utilisateurs, cron, médias, taxonomies, types de contenus, réglages critiques et dette technique visible. Performance front-office Temps de chargement, poids des pages, requêtes, scripts, CSS, images, polices, cache, Core Web Vitals, rendu mobile et pages stratégiques. Si nécessaire, l’audit peut déboucher sur une optimisation de vitesse WordPress. Performance back-office Administration lente, écran de commandes lourd, édition de produits pénible, requêtes coûteuses, tâches planifiées, actions WooCommerce, options autoloadées, base de données et extensions qui ralentissent le quotidien. WooCommerce Checkout, panier, paiements, emails, variations, abonnements, memberships, statuts de commandes, taxes, livraison, automatisations, exports, webhooks et compatibilité avec les extensions clés. Pour une intervention dédiée, consultez la page développeur WooCommerce freelance. Sécurité et maintenance Mises à jour, extensions abandonnées, comptes administrateurs, permissions, sauvegardes, accès, erreurs PHP, journaux disponibles et signaux faibles. Selon les conclusions, l’audit peut mener à une intervention de sécurité WordPress ou à une maintenance WordPress plus régulière. Hébergement et configuration serveur Version PHP, mémoire, cache serveur, HTTPS, redirections, DNS, CDN, erreurs 5xx, limites de ressources, journaux disponibles, tâches planifiées et cohérence entre WordPress et son environnement. Lorsque l’infrastructure constitue le principal frein, je peux également analyser et améliorer votre hébergement WordPress. Avant un changement de... --- ### Thunderstruck Radio - **URL**: https://www.skyminds.net/thunderstruck-radio/ Thunderstruck Radio diffuse en direct depuis ce site au format OGG Vorbis, format libre, et au format MP3. Cette radio est une radio semi-privée, mise à disposition des visiteurs de SkyMinds.Net et dont le but est la (re)découverte de groupes de Blues, Hard-Rock, Prog-Rock et Classic Rock. Vous ne trouverez donc rien ici de commercial ou qui tourne en boucle sur les ondes habituelles. Thunderstruck Radio est généralement en ligne lorsque Matt est derrière son écran, la diffusion n'est donc pas continue mais vous pouvez facilement savoir si la radio est active grâce au message ci-après. Deux formats sont proposés : un flux mp3PRO (64k) et un flux OGG Vorbis (64k). Vous n'avez plus besoin de lecteur audio pour écouter la radio : un lecteur HTML5 natif apparait lorsque la radio est en marche. Radio is currently offline. Derniers morceaux joués   Derniers concerts Concert d’Ana Popovic au Triskell de Pont l’Abbé Dimanche 18 décembre 2016, je me suis rendu au Triskell de Pont-l’Abbé avec Jack pour assister au concert d’Ana Popović. Le concert commence à 17h, ce qui est tôt mais vraiment bien car cela laisse toute latitude à profiter de la soirée ensuite. La queue est déjà formée lorsque nous arrivons. A l’ouverture des portes… Lire Concert d’Ana Popovic au Triskell de Pont l’Abbé Concert de Nada Surf au Stéréolux de Nantes Cécile et moi avons assisté au concert de Nada Surf au Stéréolux de Nantes, mardi 29 novembre 2016. La soirée a commencé doucement par un petit restaurant indien dans le quartier Bouffay. C’est notre indien préféré et nous sommes de fidèles clients : un vindaloo et une bouche en feu plus tard, nous rejoignons la… Lire Concert de Nada Surf au Stéréolux de Nantes Concert de Joanne Shaw Taylor à l’Océanis de Ploemeur Le mois dernier, le 19 octobre 2016, Jac et moi nous sommes rendus à la salle Océanis de Ploemeur (56) pour assister au concert de Joanne Shaw Taylor. Je vous avais déjà parlé de Joanne il y a quelques années et m’étais même programmé une alerte sur le site de la Fnac pour me prévenir… Lire Concert de Joanne Shaw Taylor à l’Océanis de Ploemeur Concert de TOTO au Zénith de Nantes Lundi soir – 1er février 2016 -, je suis allé voir TOTO en concert au Zénith de Nantes avec Jac, Nicole, Julia et Cécile. Première partie : Pascale Picard La première partie a été assurée par Pascale Picard, toute seule sur scène avec sa guitare acoustique. Elle a beaucoup d’humour et, venant du Canada, a… Lire Concert de TOTO au Zénith de Nantes Concert Autour de la Guitare au Zénith de Nantes Samedi soir, je suis allé au concert « Autour de la Guitare », organisé par Jean-Felix Lalanne au Zénith de Nantes, en compagnie de mes parents. Cela a été l’occasion de voir jouer Robben Ford, Larry Carlton, Christopher Cross, Ron « Bumblefoot » Thal, Paul Personne, Axel Bauer, Dan Ar Braz, Norbert Nono Krief et Michael Jones. Ron Thal… Lire Concert Autour de... --- ### Matt Biscay, développeur WordPress et fondateur de SkyMinds - **URL**: https://www.skyminds.net/matt-biscay/ Matt Biscay, développeur WordPress et fondateur de SkyMinds Je suis développeur WordPress freelance, spécialiste WooCommerce, performance web, maintenance et hébergement. J’ai créé SkyMinds en 1998 pour publier, expérimenter, transmettre et documenter ce que j’apprends sur le web, la technique et la culture numérique. WordPress & WooCommerce Je conçois, optimise, maintiens et dépanne des sites WordPress et WooCommerce, avec une approche propre, performante et durable. Performance & serveur J’interviens sur les lenteurs, les erreurs, les Core Web Vitals, l’hébergement, les migrations et les configurations techniques qui font vraiment avancer un site. Transmission & pédagogie J’écris des guides pratiques, des analyses et des contenus pédagogiques pour expliquer clairement les sujets techniques, littéraires et culturels. SkyMinds en quelques repères SkyMinds existe depuis 1998. Le site rassemble plus de 2 700 contenus publiés au fil des années. Les sujets couvrent WordPress, WooCommerce, Linux, l’administration serveur, le web, l’éducation, la littérature, les séries et la culture numérique. Le site reste un terrain d’expérimentation éditoriale et technique, avec une approche personnelle, directe et documentée. Mon parcours J’ai lancé SkyMinds comme un espace personnel, avant que le site ne devienne progressivement un blog technique, pédagogique et culturel. Au départ, j’y publiais surtout des ressources liées à la littérature, à la musique et à mes expérimentations web. Ensuite, les sujets se sont naturellement élargis vers PHP, MySQL, WordPress, Linux, l’hébergement, l’éducation et la culture numérique. Cette évolution reflète assez bien ma façon de travailler : tester, comprendre, documenter, améliorer, puis partager. Un vieux réflexe de développeur. Et parfois d’enseignant. Les deux métiers ont une manie commune : ils n’aiment pas beaucoup les explications floues. Aujourd’hui, SkyMinds me sert à publier des guides techniques, des analyses, des méthodes, des tutoriels et des contenus plus personnels autour du web, de WordPress, de l’administration serveur, de la littérature et des séries. Mon expertise WordPress J’accompagne les entreprises, les indépendants et les éditeurs de sites sur des projets WordPress et WooCommerce qui requièrent une véritable compréhension technique : développement WordPress sur mesure, optimisation des performances, correction d’erreurs, maintenance WordPress, migrations, sécurité, hébergement et amélioration de l’expérience d’administration. Je privilégie le code clair, les solutions maintenables et les optimisations qui ont un effet réel. Un site WordPress ne doit pas être une pile de rustines. Il doit rester compréhensible, rapide et agréable à maintenir. Écriture, pédagogie et transmission Mon travail d’écriture est lié à la transmission. J’aime rendre les sujets complexes plus accessibles, qu’il s’agisse de WordPress, de Linux, d’un problème serveur, d’une méthode de commentaire littéraire ou d’une analyse de série. SkyMinds garde cette ligne hybride : de la technique solide, de la culture, des ressources pédagogiques, et un ton personnel. C’est ce mélange qui fait l’identité du site depuis ses débuts. Besoin d’un développeur WordPress ? Je peux vous aider sur un projet WordPress, WooCommerce, performance, maintenance, sécurité, migration, hébergement ou développement sur mesure. Audit technique et priorités d’action Optimisation de vitesse et Core Web Vitals Développement WordPress et WooCommerce Maintenance, sécurité et résolution d’incidents Migration, hébergement et administration serveur Me parler de votre projet --- ### Contactez Matt Biscay – votre Expert WordPress Freelance - **URL**: https://www.skyminds.net/contact/ Contactez Matt Biscay, développeur WordPress freelance Vous avez un site WordPress à créer, optimiser, réparer ou sécuriser ? Envoyez-moi les détails. Je vous répondrai avec une analyse claire, des priorités concrètes et une proposition adaptée. Projet WordPress Création, refonte, développement sur mesure, thème, plugin, intégration API ou amélioration d’un site existant. WooCommerce Boutique lente, tunnel de commande, paiement, abonnements, automatisation, stock, emails ou logique métier spécifique. Performance & maintenance Audit vitesse, Core Web Vitals, sécurité, mises à jour, hébergement, incidents, erreurs PHP, lenteurs ou dette technique. Avant de m’écrire Plus votre message est précis, plus ma réponse sera utile. Indiquez l’URL du site, le contexte, le problème rencontré, les objectifs, les contraintes techniques et le niveau d’urgence. Pour un bug : décrivez ce qui se passe, où, depuis quand et avec quel message d’erreur. Pour une optimisation : indiquez les pages lentes, l’hébergement, le thème et les extensions principales. Pour un développement : expliquez le résultat attendu, les règles métier et les cas particuliers. Pour une refonte : précisez ce qui doit changer : design, contenu, conversion, SEO, performance ou administration. Parlons de votre projet Décrivez votre besoin en quelques lignes. Je vous dirai si je peux vous aider, comment je m’y prendrais et quelles seraient les prochaines étapes. Décrire mon projet Contact NomEmailURL du siteType du projet Audit technique Bug ou erreur technique Performance / Core Web Vitals Sécurité / site piraté Maintenance WordPress WooCommerce Développement WordPress Plugin sur mesure Hébergement / migration Nouveau site Autre demandeNiveau d'urgence Pas urgent Cette semaine Dès que possible Site bloqué / incident critiqueEnveloppe prévue À définir ensemble Moins de 500 € 500 à 1 500 € 1 500 à 3 000 € 3 000 à 6 000 € Plus de 6 000 €Message J’accepte que les informations envoyées via ce formulaire soient utilisées pour répondre à ma demande.Je réponds uniquement aux demandes sérieuses et suffisamment détaillées. Plus votre message est précis, plus ma réponse sera utile.Envoyer ma demande Vous cherchez un prestataire WordPress fiable ? J’aide les entreprises, indépendants et éditeurs de sites à construire, maintenir et optimiser leurs projets WordPress avec une approche technique propre. Développement WordPress et WooCommerce Optimisation de vitesse et Core Web Vitals Maintenance, sécurité et résolution d’incidents Hébergement, migration et administration serveur Développement de fonctionnalités métier sur mesure Envoyez-moi les détails de votre projet via le formulaire de contact. Je vous répondrai avec une analyse concrète et les meilleures options pour avancer. Autres demandes Article invité Pour proposer un article invité, utilisez la page dédiée. Les demandes hors sujet, automatisées ou purement orientées netlinking ne seront pas traitées via ce formulaire. Consulter les règles de soumission Partenariat ou sponsoring Pour une demande sponsorisée, commerciale ou liée à une campagne de visibilité, utilisez la page annonceur. Annoncer sur SkyMinds --- --- > Generated by OGEEAT — Open Graph, E-E-A-T & GEO for WordPress > Last updated: 2026-08-14T18:16:59+02:00