From f348579a9004f4418f5169ecbf2cf3a532c6186b Mon Sep 17 00:00:00 2001 From: Freezed <2160318-free_zed@users.noreply.gitlab.com> Date: Sun, 27 Sep 2020 22:12:55 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20Normalize=20usage=20of=20non=20b?= =?UTF-8?q?reaking=20spaces?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove ` ` by ` `, less painfull to read --- README.md | 2 +- content/accueil-stagiaire-a_distance.md | 54 +++++++++---------- content/afpy-janvier-2019.md | 6 +-- content/afpy-lyon-novembre-2019.md | 2 +- content/ajout-vpn-debian-mate.md | 6 +-- content/ansible_to_update_debian_on_lan.md | 14 ++--- content/arche_innovateurs.md | 8 +-- content/backup-instance-owncloud.md | 2 +- content/cafe-devops-lyon-tech-hub-molecule.md | 14 ++--- content/cafe-devops-lyon-tech-hub-postgres.md | 16 +++--- content/debian-et-MacMini-intel.md | 2 +- content/deployer-aws-lambda-avec-zappa.md | 2 +- .../deployer-hello_py-aws-lambda-gitlab_ci.md | 6 +-- content/duplicity-hubic.md | 10 ++-- content/ghi-git-hub-issues.md | 14 ++--- ...randpy-bot-zappa-flask-lambda-gitlab-en.md | 22 ++++---- .../grandpy-bot-zappa-flask-lambda-gitlab.md | 22 ++++---- content/jdll-lyon-generateur-site-statique.md | 4 +- content/lidie-sats.md | 2 +- content/multiple-nextcloud-upgrade.md | 44 +++++++-------- content/new-theme-for-this-blog.md | 4 +- content/ocp10.md | 2 +- content/ocp13.md | 10 ++-- content/ocp3.md | 2 +- content/ocp5.md | 2 +- content/ocp7.md | 2 +- .../ownCloud-erreur-connection-internet.md | 2 +- content/pages/contact-en.md | 10 ++-- content/pages/contact.md | 12 ++--- content/pelican-installation.md | 4 +- ...ntuml-gitlab_ci-diagramme-generation-en.md | 10 ++-- ...plantuml-gitlab_ci-diagramme-generation.md | 10 ++-- content/pyconfr-au_bonheur_likes-2019.md | 6 +-- .../pyconfr-boost_python_with_rust-2019.md | 4 +- content/pyconfr-bordeaux-octobre-2019.md | 4 +- content/pyconfr-libre_captcha-2019.md | 16 +++--- content/pyconfr-privacy_by_design-2019.md | 2 +- content/pyconfr-python-grpc-2019.md | 2 +- content/pyconfr-python_pour_tous-2019.md | 16 +++--- content/pyconfr-tech_in_protest-2019.md | 26 ++++----- content/reparation_chauffage_soufflant.md | 4 +- .../sauvegarder-configuration-bureau-mate.md | 14 ++--- content/sketchup2017-wine-lmde2.md | 2 +- content/virtualbox-debian-cli.md | 2 +- .../wxpython-installation-debian-buster-en.md | 4 +- .../wxpython-installation-debian-buster.md | 4 +- theme-uberspot/templates/article_header.html | 2 +- theme-uberspot/templates/base.html | 3 ++ theme-uberspot/templates/page.html | 2 +- theme-uberspot/templates/social.html | 2 +- theme-uberspot/templates/tags.html | 2 +- 51 files changed, 221 insertions(+), 218 deletions(-) diff --git a/README.md b/README.md index 7e251da..108dac8 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ Home of my blog =============== -In French, some content is translated in English : +In French, some content is translated in English : * https://free_zed.gitlab.io Built with [pelican](https://blog.getpelican.com/). diff --git a/content/accueil-stagiaire-a_distance.md b/content/accueil-stagiaire-a_distance.md index 6b1dfcd..2e96db8 100644 --- a/content/accueil-stagiaire-a_distance.md +++ b/content/accueil-stagiaire-a_distance.md @@ -8,20 +8,20 @@ Tags: dev, comportement, innovation, collectif, méthode, agile, gitlab, gitlab- --- -Contexte ? +Contexte ? ---------- -En plein _confinement CoViD-19_, confirmation est faite de l'arrivée d'un nouveau collaborateur pour un stage de 6 mois à mes côtés. La situation est une première pour moi a plusieurs niveau : c'est mon 1er mentorat d'une telle durée dans mon nouveau métier et ça commencera 100% à distance. +En plein _confinement CoViD-19_, confirmation est faite de l'arrivée d'un nouveau collaborateur pour un stage de 6 mois à mes côtés. La situation est une première pour moi a plusieurs niveau : c'est mon 1er mentorat d'une telle durée dans mon nouveau métier et ça commencera 100% à distance. -De quoi s'agit-il ? +De quoi s'agit-il ? ------------------- -Ce billet est une traduction libre, personnelle, synthétisée et certainement imparfaites des pages suivantes : +Ce billet est une traduction libre, personnelle, synthétisée et certainement imparfaites des pages suivantes : - 🇬🇧 «[Considerations for remote internships](https://about.gitlab.com/company/culture/all-remote/internship/)» par [_GitLab_](https://about.gitlab.com/company/) - 🇬🇧 «[Best practices for creating a successful virtual internship](https://www.hbs.edu/recruiting/blog/post/best-practices-for-creating-a-successful-virtual-internship)» par [_Rebecca Carnahan_](https://www.linkedin.com/in/beccacarnahan) (_Harvard Business School Blog_) -J'y ai ajouté quelques notes prsonnelles en fin de billet. +J'y ai ajouté quelques notes personnelles en fin de billet. --- @@ -53,24 +53,24 @@ Sur site la proximité crée généralement de la sécurité psychologique perme ### En cas d'embauche -Rechercher les compétences suivantes : +Rechercher les compétences suivantes : - une capacité d'auto-apprentissage - l'autonomie - appétence pour la documentation - capacité à travailler de manière asynchrone -Si le stagiaire est sans expérience professionnelle, les questions suivante permettent de se faire une idée : +Si le stagiaire est sans expérience professionnelle, les questions suivante permettent de se faire une idée : -> Avez-vous déjà suivi un cours ou une formation en ligne ? Si oui, décrivez votre processus pour gérer votre propre temps, respecter les délais, demander de l'aide et résoudre les problèmes : +> Avez-vous déjà suivi un cours ou une formation en ligne ? Si oui, décrivez votre processus pour gérer votre propre temps, respecter les délais, demander de l'aide et résoudre les problèmes : -> Êtes-vous un membre actif d'une communauté en ligne, ou avez-vous une expérience de la gestion logistique à distance pour des événements/réunions sur site ? +> Êtes-vous un membre actif d'une communauté en ligne, ou avez-vous une expérience de la gestion logistique à distance pour des événements/réunions sur site ? -> Avez-vous déjà travaillé en indépendant pour des clients à distance et seriez-vous prêt à fournir des références sur demande ? +> Avez-vous déjà travaillé en indépendant pour des clients à distance et seriez-vous prêt à fournir des références sur demande ? -> Avez-vous réfléchi à l'endroit où vous travailleriez à distance si on vous offrait ce stage ? +> Avez-vous réfléchi à l'endroit où vous travailleriez à distance si on vous offrait ce stage ? -Ne pas s'attendre à une réponse précise à cette question, car même les cadres supérieurs doivent expérimenter les espaces de travail, mais il est utile de comprendre si le candidat a tenu compte de cet élément : +Ne pas s'attendre à une réponse précise à cette question, car même les cadres supérieurs doivent expérimenter les espaces de travail, mais il est utile de comprendre si le candidat a tenu compte de cet élément : > Parlez-moi d'une époque où vous avez fait avancer un projet de groupe dans un lieu physique différent de celui des autres membres @@ -90,11 +90,11 @@ Une dernière semaine sur site peut être utile pour réaliser un bilan et la su ### Gérer les attentes -Calibrer les attentes et ce que l'on évalue est important, car les stagiaires à distance apprennent essentiellement deux choses : +Calibrer les attentes et ce que l'on évalue est important, car les stagiaires à distance apprennent essentiellement deux choses : - le travail lui-même - la façon de bien travailler à distance (sans bureau) -Cela peut s'avérer particulièrement difficile quand l'éloignement est important : ces entreprises ont tendance à être très efficaces. Quand ce sont les résultats, et non les heures, qui sont mesurés, il y a une tendance naturelle à s'attendre à la rapidité. Le stagiaire à distance apprend deux grandes leçons en même temps et les progrès peuvent sembler plus lents que ceux auxquels on s'attend. +Cela peut s'avérer particulièrement difficile quand l'éloignement est important : ces entreprises ont tendance à être très efficaces. Quand ce sont les résultats, et non les heures, qui sont mesurés, il y a une tendance naturelle à s'attendre à la rapidité. Le stagiaire à distance apprend deux grandes leçons en même temps et les progrès peuvent sembler plus lents que ceux auxquels on s'attend. ### La sélectionner des projets proposés @@ -103,23 +103,23 @@ Certains projets et certaines tâches sont plus facilement réalisés par le per Veiller à ne pas se décharger des «_vampires énergétiques_» sur le stagiaire à distance, mais plutôt choisir des projets complets qu'il peut commencer et terminer en quelques mois. -Il est également important de sélectionner des projets importants ou impliquant un grand groupe de collaborateurs : cela permet de s'assurer que de nombreuses personnes s'investiront dans la réussite du stagiaire, et d'élargir le champ des mentors disponibles qui connaissent bien le projet et peuvent intervenir/aider. +Il est également important de sélectionner des projets importants ou impliquant un grand groupe de collaborateurs : cela permet de s'assurer que de nombreuses personnes s'investiront dans la réussite du stagiaire, et d'élargir le champ des mentors disponibles qui connaissent bien le projet et peuvent intervenir/aider. Dans la mesure du possible, évitez les travaux où le temps est compté. Les grands projets de stage sont généralement considérés comme "agréables à réaliser" par le personnel à plein temps. Il s'agit de projets dont tout le monde reconnaît qu'ils seraient bénéfiques pour l'organisation, mais qui n'atteignent pas le niveau de priorité nécessaire pour exiger l'attention de la hiérarchie. ### Publier votre stratégie et votre embarquement -C'est offrir un contexte abondant à la question : +C'est offrir un contexte abondant à la question : -> Comment se passe le travail dans votre entreprise ? +> Comment se passe le travail dans votre entreprise ? Cela témoigne du respect des demandeurs d'emploi et permet que les candidats soient en accord avec vos valeurs. Il est difficile d'embaucher des stagiaires à distance. Une organisation ne devrait pas rendre les choses plus difficiles en dissimulant sa vision et ses valeurs jusqu'à l'embauche d'un stagiaire. Compte tenu de la durée remarquablement courte de l'expérience de stage, il est essentiel d'agir de manière transparente afin de créer un alignement aussi large que possible avant le départ. -### Mais alors, pourquoi proposer des stages à distance ? +### Mais alors, pourquoi proposer des stages à distance ? #### Avantage concurrentiel à l'embauche @@ -159,7 +159,7 @@ Bonnes pratiques pour créer un stage à distance réussi ### Une communication claire -S'assurer que : +S'assurer que : - toutes leurs parties prenantes soient bien informées de l'avenir de leurs projet - les étudiants savent à quoi s'attendre et quand @@ -170,11 +170,11 @@ Une action claire associée à une communication directe avec les stagiaires est ### Conception du stage à distance -Pour concevoir un stage à distance efficace, regardez ce qui a fait le succès des stages sur site dans votre entreprise et dans d'autres. [Kristen Fitzpatrick](https://www.linkedin.com/in/fitzpatrickkristen) (HBS 2003), directrice générale de _Career & Professional Development_, a noté les points communs entre les grandes expériences de stage : +Pour concevoir un stage à distance efficace, regardez ce qui a fait le succès des stages sur site dans votre entreprise et dans d'autres. [Kristen Fitzpatrick](https://www.linkedin.com/in/fitzpatrickkristen) (HBS 2003), directrice générale de _Career & Professional Development_, a noté les points communs entre les grandes expériences de stage : > Les stages réussis profitent à la fois aux organisations et aux étudiants en donnant la possibilité à une personne ayant un regard neuf de jeter un regard sur la façon dont les choses sont faites, et en permettant aux étudiants de mettre à profit leur expérience antérieure dans une nouvelle situation. Les étudiants ayant vécu des expériences particulièrement positives font souvent remarquer qu'ils se sont sentis intégrés dans le travail de l'équipe et que les gens de l'organisation se sont souciés de ce sur quoi ils travaillaient. -Pour reproduire cette intégration, réfléchissez à la manière dont vous pouvez créer une structure en ligne de soutien, de mentorat et de formation continue. Les étapes que _K. Fitzpatrick_ suggère souvent : +Pour reproduire cette intégration, réfléchissez à la manière dont vous pouvez créer une structure en ligne de soutien, de mentorat et de formation continue. Les étapes que _K. Fitzpatrick_ suggère souvent : - des rencontres régulières en face à face avec entre stagiaire et mentor - un point au milieu [du stage NdT] @@ -183,11 +183,11 @@ Pour reproduire cette intégration, réfléchissez à la manière dont vous pouv Non seulement ces étapes annoncées donneront à votre stagiaire des jalons à atteindre, mais ils lui permettront également de faire connaissance avec les membres de l'équipe et les dirigeants à distance. -[Darren Murph](https://www.linkedin.com/in/darrenmurph), responsable du travail à distance chez _GitLab_, souligne également l'importance de choisir les projets appropriés pour les stagiaires à distance : +[Darren Murph](https://www.linkedin.com/in/darrenmurph), responsable du travail à distance chez _GitLab_, souligne également l'importance de choisir les projets appropriés pour les stagiaires à distance : > Il est important de sélectionner des projets qui sont importants ou notables pour un grand groupe. Cela permet de s'assurer que de nombreuses personnes de l'organisation sont investies dans la réussite du stagiaire, et cela élargit le champ des mentors disponibles qui connaissent le projet et peuvent intervenir et aider à travers les fuseaux horaires. -Vous pouvez également envisager un stage en rotation qui donnera aux étudiants un aperçu des différents aspects de votre entreprise tout en n'étant pas sur place avec votre équipe. [Keirsten Sires](https://www.linkedin.com/in/keirsten-sires-83928853), consultant en matière de stages à distance et fondateur et PDG de _LRT Sports_, utilise ce modèle depuis quatre ans dans le cadre du stage de rotation à distance de 10 semaines de l'entreprise. Les étudiants passent par cinq rotations avec des projets assignés chaque semaine et revus par des mentors. La dernière rotation permet aux stagiaires de choisir le domaine d'activité qui les intéresse le plus pour réaliser un projet final. Elle a également souligné la nécessité d'être flexible au sein de votre structure : +Vous pouvez également envisager un stage en rotation qui donnera aux étudiants un aperçu des différents aspects de votre entreprise tout en n'étant pas sur place avec votre équipe. [Keirsten Sires](https://www.linkedin.com/in/keirsten-sires-83928853), consultant en matière de stages à distance et fondateur et PDG de _LRT Sports_, utilise ce modèle depuis quatre ans dans le cadre du stage de rotation à distance de 10 semaines de l'entreprise. Les étudiants passent par cinq rotations avec des projets assignés chaque semaine et revus par des mentors. La dernière rotation permet aux stagiaires de choisir le domaine d'activité qui les intéresse le plus pour réaliser un projet final. Elle a également souligné la nécessité d'être flexible au sein de votre structure : > Notre stage est très différent de ce qu'il était lorsque nous avons commencé. Vous devez être dynamique dans ce processus et obtenir un retour d'information. Ensuite, si quelque chose ne fonctionne pas, n'essayez pas de le forcer. @@ -198,7 +198,7 @@ Une expérience d'embarquement à distance pour vos stagiaires ne sera pas rempl Par exemple, tous les employés de _GitLab_sont à distance et ont donc mis au point un processus d'intégration qui comprend un compagnon d'intégration, des listes de contrôle des tâches spécifiques et un manuel complet de l'entreprise. Le manuel en ligne de 5 000 pages est constamment mis à jour à mesure que les employés trouvent des lacunes, de nouveaux outils ou des moyens plus efficaces d'accomplir leur travail. Il n'est pas destiné à être lu du début à la fin, mais à servir de guide de référence pour les questions. Pour son programme de stage en particulier, _D. Murph_ recommande un embarquement avec des points à un rythme régulier, jusqu'à plusieurs fois par jour pendant la période de démarrage, afin de reproduire une expérience sur site. Vous pouvez également installer une salle de visioconférence "toujours allumée" pour encourager les questions et l'interaction. -À _LRT Sports_, _K. Sires_ a mis en place un processus d'embarquement qui met l'accent sur les points suivants : +À _LRT Sports_, _K. Sires_ a mis en place un processus d'embarquement qui met l'accent sur les points suivants : - découvrir l'entreprise grâce à l'accès aux ressources et aux médias sociaux avant l'arrivée du stagiaire - après deux semaines, chaque stagiaire présente l'entreprise à son responsable @@ -211,7 +211,7 @@ La technologie a rendu le travail à distance plus facile que jamais et il exist [Claire Lew](https://www.linkedin.com/in/clairelew), PDG de _Know Your Team_, a dirigé son entreprise à distance pendant 6 ans et fournit des outils et des ressources aux autres entreprises pour qu'elles fassent de même. Les conseils qu'elle donne en matière de gestion d'équipes virtuelles sont axés sur la définition d'attentes claires quant à la réussite, ainsi que sur des systèmes de suivi des progrès. En préparant le terrain très tôt avec tous les employés, et en particulier les nouveaux stagiaires, vous pouvez éviter la micro-gestion des projets et créer plutôt une culture de confiance et donner à l'équipe le temps et l'espace nécessaires pour effectuer un travail percutant. -Il est également important de définir des attentes claires en matière de communication. Si votre équipe dispose d'un mode de communication par défaut, assurez-vous que les stagiaires sont bien informés des canaux à utiliser et du moment où ils le font. Dans quel délai les stagiaires sont-ils censés répondre aux messages ? Quelle est la place du chat et qu'est-ce qui convient le mieux à une réunion par courriel ou visioconférence ? Lors d'un récent webinaire _Know Your Team_, _C. Lew_ a donné des exemples d'entreprises qui font un excellent travail en fixant des attentes en matière de communication, notamment _Automattic_, _Buffer_ et _Basecamp_. +Il est également important de définir des attentes claires en matière de communication. Si votre équipe dispose d'un mode de communication par défaut, assurez-vous que les stagiaires sont bien informés des canaux à utiliser et du moment où ils le font. Dans quel délai les stagiaires sont-ils censés répondre aux messages ? Quelle est la place du chat et qu'est-ce qui convient le mieux à une réunion par courriel ou visioconférence ? Lors d'un récent webinaire _Know Your Team_, _C. Lew_ a donné des exemples d'entreprises qui font un excellent travail en fixant des attentes en matière de communication, notamment _Automatic_, _Buffer_ et _Basecamp_. _C. Lew_ , ainsi que _D. Murph_ de _GitLab_, recommandent également de mettre en œuvre une pratique de communication asynchrone au lieu de se reposer sur la visioconférence. Lancer des séances de brainstorming par écrit ou poster des questions sur des documents partagés permet aux membres de l'équipe, y compris les stagiaires, de réfléchir et d'être ensuite moins réactifs et de prendre des décisions plus réfléchies. En intégrant des stagiaires à distance dans votre équipe, l'écriture asynchrone permet également de collaborer au-delà des fuseaux horaires et de fournir des documents écrits sur la façon dont les stagiaires ont apporté des contributions percutantes. @@ -228,11 +228,11 @@ En outre, à mesure que vous progresserez dans la gestion de vos stagiaires virt Notes de fin ------------ -Vous avez lu jusqu'ici ? Merci ! +Vous avez lu jusqu'ici ? Merci ! J'ai commencé ce billet avant, mais l'ai terminé après le démarrage du stage. Dans une TPE, les possibilités sont limités mais la proximité plus facile a construire, à fortiori quand le·a collaborateur·ice à déjà une dizaine d'année d'expérience professionelle, ce qui était notre cas. -Concrêtement nous avons pu mettre en places quelques actions pérène : +Concrètement nous avons pu mettre en places quelques actions pérène : - un point visio quotidien, informel à heure variable (occasionnellement deux, des fois pas) - deux jours sur site pour mon collègue _sans moi_ diff --git a/content/afpy-janvier-2019.md b/content/afpy-janvier-2019.md index 8656bb9..e7ac5c9 100644 --- a/content/afpy-janvier-2019.md +++ b/content/afpy-janvier-2019.md @@ -2,12 +2,12 @@ Title: Histoires d'un étudiant perfectionniste sous pression Date: 2019-01-21 19:48 Category: Conférences Status: published -Summary: Ma 1ère présentation publique : La découverte de Django en jouant avec l'API OpenFoodFacts +Summary: Ma 1ère présentation publique : La découverte de Django en jouant avec l'API OpenFoodFacts Tags: afpy, talk, django, lyon, python, openfoodfacts, api-rest -Ma 1ère présentation publique : j'ai voulu partager avec la _communauté Pytholyonnistes_ ma découverte de l'incontournable framework web de l'univers Python : _Django_. -Au programme : partage d'un des moments forts du parcours d'[OpenClassrooms][oc] en bricolant (entre autre) avec les données de la base de donnée publique et ouverte [openfoodfacts.org][off]. +Ma 1ère présentation publique : j'ai voulu partager avec la _communauté Pytholyonnistes_ ma découverte de l'incontournable framework web de l'univers Python : _Django_. +Au programme : partage d'un des moments forts du parcours d'[OpenClassrooms][oc] en bricolant (entre autre) avec les données de la base de donnée publique et ouverte [openfoodfacts.org][off]. Cette [présentation publique][meetup] s'est déroulée dans le cadre des [rencontres lyonnaises et mensuelles][afpy] de l'AFPY. diff --git a/content/afpy-lyon-novembre-2019.md b/content/afpy-lyon-novembre-2019.md index c906558..88ed0ed 100644 --- a/content/afpy-lyon-novembre-2019.md +++ b/content/afpy-lyon-novembre-2019.md @@ -13,7 +13,7 @@ Cette [présentation publique][meetup] s'est déroulée dans le cadre des [renco --- -Les liens vers mes _bacs à sable_ évoqués durant la présentation : +Les liens vers mes _bacs à sable_ évoqués durant la présentation : - [Ansible][ansible] - [Django][django] diff --git a/content/ajout-vpn-debian-mate.md b/content/ajout-vpn-debian-mate.md index fff8416..253d4e1 100644 --- a/content/ajout-vpn-debian-mate.md +++ b/content/ajout-vpn-debian-mate.md @@ -37,13 +37,13 @@ Redémarrage Config ------ -Automatique via un fichier `*.ovpn` : +Automatique via un fichier `*.ovpn` : ``` ~ sudo nmcli connection import type openvpn file /chemin/du/fichier_de_conf.ovpn ``` -Ajout de l'utilisateur à la nouvelle connection créé depuis le menu _réseau_ du _centre de contrôle_ : +Ajout de l'utilisateur à la nouvelle connection créé depuis le menu _réseau_ du _centre de contrôle_ : ``` ~ mate-control-center @@ -51,4 +51,4 @@ Ajout de l'utilisateur à la nouvelle connection créé depuis le menu _réseau_ --- -Source : [_«How to import a OpenVPN .ovpn file with Network Manager or Command Line in Linux»_](https://www.cyberciti.biz/faq/linux-import-openvpn-ovpn-file-with-networkmanager-commandline/) +Source : [_«How to import a OpenVPN .ovpn file with Network Manager or Command Line in Linux»_](https://www.cyberciti.biz/faq/linux-import-openvpn-ovpn-file-with-networkmanager-commandline/) diff --git a/content/ansible_to_update_debian_on_lan.md b/content/ansible_to_update_debian_on_lan.md index 0e9b79e..c12d9fd 100644 --- a/content/ansible_to_update_debian_on_lan.md +++ b/content/ansible_to_update_debian_on_lan.md @@ -7,24 +7,24 @@ Tags: ansible, admin, debian, mate, devops, shell, git, dry ### Contexte -Mise à jour d'un parc Debian hétérogène, pour l'exercice, le réseau famillial fera l'affaire : +Mise à jour d'un parc Debian hétérogène, pour l'exercice, le réseau famillial fera l'affaire : -- 5 machines physiques : 1 serveur + 4 postes (Stretch/Buster/Bullseye) +- 5 machines physiques : 1 serveur + 4 postes (Stretch/Buster/Bullseye) - 2 machines virtuelles, (Jessie/Buster) ### Besoin - machines à jour -- instalations homogènes : packages et configuration +- instalations homogènes : packages et configuration - gérer des packages `*.deb` disponible hors dépôt `apt` ### _Talk is cheap. Show me the code._ - [Installer Ansible][install] -- récupérer [le _playbook_][repo] : `git clone https://gitlab.com/free_zed/myasb.git` -- se mettre dans la bonne branche : `cd myasb; git checkout lan` -- adapter [l'inventaire][host] avec les adresses de vos machines : `$EDITOR hosts` -- jouer le _playbook_ : `ansible-playbook -i hosts site.yml` +- récupérer [le _playbook_][repo] : `git clone https://gitlab.com/free_zed/myasb.git` +- se mettre dans la bonne branche : `cd myasb; git checkout lan` +- adapter [l'inventaire][host] avec les adresses de vos machines : `$EDITOR hosts` +- jouer le _playbook_ : `ansible-playbook -i hosts site.yml` - …et volà! diff --git a/content/arche_innovateurs.md b/content/arche_innovateurs.md index aae90d2..3b0f8d6 100644 --- a/content/arche_innovateurs.md +++ b/content/arche_innovateurs.md @@ -8,7 +8,7 @@ Tags: innovation, collectif, iot, arduino, impression-3d _L'Arche aux Innovateurs_ est un parcours immersif en innovation collective que j'ai réalisé en fin d'année 2017. -Le principe est le suivant : +Le principe est le suivant : * une durée de 10 semaines * un atelier pour chacun des 9 thèmes @@ -17,7 +17,7 @@ Le principe est le suivant : * une équipe réduite aux profils variés (et qui ne se connaissent pas) -Pour **faire ensemble**, sur le thème imposé **`les déchets`** et à partir d'une **`feuille blanche`** : +Pour **faire ensemble**, sur le thème imposé **`les déchets`** et à partir d'une **`feuille blanche`** : * 1 plan et des supports de communication @@ -29,9 +29,9 @@ Pour **faire ensemble**, sur le thème imposé **`les déchets`** et à partir d * 1 planification financière -Nous avons conçu et prototypé : un _pèse déchets connectée_ : Le **Waste Watchers**. +Nous avons conçu et prototypé : un _pèse déchets connectée_ : Le **Waste Watchers**. -Plus d'information sur le [blog des MacFivers][blog], avec l'historique du projet : +Plus d'information sur le [blog des MacFivers][blog], avec l'historique du projet : [![Logo Waste Watchers][logo]][blog] diff --git a/content/backup-instance-owncloud.md b/content/backup-instance-owncloud.md index 476d82d..206e2c0 100644 --- a/content/backup-instance-owncloud.md +++ b/content/backup-instance-owncloud.md @@ -61,7 +61,7 @@ Les noms des fichiers se terminent [par .conf][10] __Erreur__: `Fatal error: require_once(): Failed opening required '/usr/share/php/php-gettext/gettext.inc' (include_path='.') in /usr/share/phpmyadmin/libraries/select_lang.lib.php on line 463` -__Remède__: Ajout de _/usr/share/php/php-gettext/_ dans la directive _php_admin_value open_basedir_ du fichier de conf apache. (_Ref. : [phpmyadmin symlinks error after ubuntu upgrade - superuser.com][10]_) +__Remède__: Ajout de _/usr/share/php/php-gettext/_ dans la directive _php_admin_value open_basedir_ du fichier de conf apache. (_Ref. : [phpmyadmin symlinks error after ubuntu upgrade - superuser.com][10]_) ##### Owncloud logging diff --git a/content/cafe-devops-lyon-tech-hub-molecule.md b/content/cafe-devops-lyon-tech-hub-molecule.md index 4be2c61..ee92519 100644 --- a/content/cafe-devops-lyon-tech-hub-molecule.md +++ b/content/cafe-devops-lyon-tech-hub-molecule.md @@ -9,7 +9,7 @@ Lang: fr Par [Thibault Lecoq][1] & [Quentin Le Baron][2], organisé par [Café Devops][cafedevops] (via [Meetup][meetup]). Archive sur [Café Devops][support]. -_Prérequis_ : Avoir manipulé Ansible et les rôle Ansible. +_Prérequis_ : Avoir manipulé Ansible et les rôle Ansible. Le sujet de cette session sera de présenter dans une première partie l'outil [Molecule][molecule], pourquoi et comment l'utiliser pour tester du code ansible (rôles, playbooks, modules, filters). @@ -21,13 +21,13 @@ Nous verrons pourquoi nous avons choisi d'intégrer molecule, les avantages que Nous terminerons par une démonstration présentant point par point comment mettre en place cette architecure et intégrer dans celle-ci molecule à un rôle ansible. 1er partie [Molecule][molecule] -- Qu'est ce que c'est et pourquoi l'utiliser ? +- Qu'est ce que c'est et pourquoi l'utiliser ? - Comment cela fonctionne et comment l'utiliser - Demonstration sur un role ansible 2eme partie Intégration continue de [Molecule][molecule] -- Contexte : explication du besoin -- Présentation de l'architecture : Jenkins + Gitea + AWS +- Contexte : explication du besoin +- Présentation de l'architecture : Jenkins + Gitea + AWS - Explication détaillé du fonctionnement (pipeline, webhook ...) - Demonstration point par point de l'intégration de molecule @@ -43,19 +43,19 @@ Notes personnelles: * tout type de test -Comment ça marche ? +Comment ça marche ? ----------------- * Linux * internet * `ansible==2.8` * `molecule==2.20` -* plugin : docker CE / AWS EC2 / OpenStack / ? +* plugin : docker CE / AWS EC2 / OpenStack / ? * test (python) avec [`Testinfra`][3] **Marmo** (bientôt _open-sourced_ sur le _Github_ de [Thibault Lecoq][1]) * ajoute un scenario molecule dans le rorle ansible a tester -* structure alternative possible : lisibilité & DRY +* structure alternative possible : lisibilité & DRY Tous les détails dans le [support de présentatiion][pdf] diff --git a/content/cafe-devops-lyon-tech-hub-postgres.md b/content/cafe-devops-lyon-tech-hub-postgres.md index 8083b20..56a6566 100644 --- a/content/cafe-devops-lyon-tech-hub-postgres.md +++ b/content/cafe-devops-lyon-tech-hub-postgres.md @@ -1,4 +1,4 @@ -Title: Postgresql : haute dispo et réplication +Title: Postgresql : haute dispo et réplication Date: 2020-04-16 18:01 Category: Bloc-notes Status: published @@ -18,28 +18,28 @@ La session débutera par une présentation des notions de réplication, de journ Notes personnelles ================== -- réplication synchrone : tous les serveurs doivent valider les transactions -- réplication asynchrone : tous les serveurs peuvent ne pas valider les transactions : une tempo est en place +- réplication synchrone : tous les serveurs doivent valider les transactions +- réplication asynchrone : tous les serveurs peuvent ne pas valider les transactions : une tempo est en place - réplication logiques vs physiques (?) - Cas d'usage de la présentation - - Choix d'utiliser WAL (Write Ahead Logging) : + - Choix d'utiliser WAL (Write Ahead Logging) : - journaux intérmédiaire moins gourmand en ressource à utiliser - 12 (?) fichiers sur lesquels ont boucle - accès en lecture sur standby -Pour un pool de server : +Pour un pool de server : - [`Repmgr`][2] - admin et configuration - priorisation par poids pour choix du serveur primaire - promotion/inversion (admin/standby) -- `Repmgrd` : Demon de supervision +- `Repmgrd` : Demon de supervision - réalise le failover si primaire HS -Cas de défauts : +Cas de défauts : -- split-brain : data center isoléé +- split-brain : data center isoléé - Perte de tous les serveur d'un lieu (DC) diff --git a/content/debian-et-MacMini-intel.md b/content/debian-et-MacMini-intel.md index 9f43d42..372069f 100644 --- a/content/debian-et-MacMini-intel.md +++ b/content/debian-et-MacMini-intel.md @@ -97,4 +97,4 @@ __Edit: du 10/6/15__ Il suffit donc d'ajouter le [firwmare B43](https://wireless.wiki.kernel.org/en/users/Drivers/b43#devicefirmware) et d'installer le [driver Nvidia](https://wiki.debian.org/NvidiaGraphicsDrivers#configure) pour que la machine soit utilisable. -*FIXME* : avec le driver nvidia, les TTY ont disparu. Apparement, c'est un [problème classique](https://www.google.fr/search?q=tty+driver+nvidia+linux)... A priori, sur cette machine je devrais m'en passer. +*FIXME* : avec le driver nvidia, les TTY ont disparu. Apparement, c'est un [problème classique](https://www.google.fr/search?q=tty+driver+nvidia+linux)... A priori, sur cette machine je devrais m'en passer. diff --git a/content/deployer-aws-lambda-avec-zappa.md b/content/deployer-aws-lambda-avec-zappa.md index 6cae4fe..d2109d3 100644 --- a/content/deployer-aws-lambda-avec-zappa.md +++ b/content/deployer-aws-lambda-avec-zappa.md @@ -119,7 +119,7 @@ Plus de code et d'info sur le dépôt [Gitlab][repo]. [aws-iam-strat]: https://console.aws.amazon.com/iam/home#/policies$new [aws-iam-usr]: https://console.aws.amazon.com/iam/home#/users$new [aws-lbd]: https://console.aws.amazon.com/lambda/ "AWS Lambda lets you run code without provisioning or managing servers" -[flask]: http://flask.pocoo.org "Flask : web developpement one drop at a time" +[flask]: http://flask.pocoo.org "Flask : web developpement one drop at a time" [repo]: http://gitlab.com/free_zed/hellozappa/ [serverless]: https://en.wikipedia.org/wiki/Serverless_computing [so-py36]: https://unix.stackexchange.com/a/499965 diff --git a/content/deployer-hello_py-aws-lambda-gitlab_ci.md b/content/deployer-hello_py-aws-lambda-gitlab_ci.md index 89b3e9b..558df69 100644 --- a/content/deployer-hello_py-aws-lambda-gitlab_ci.md +++ b/content/deployer-hello_py-aws-lambda-gitlab_ci.md @@ -8,9 +8,9 @@ Tags: aws, aws-lambda, serverless, devops, api-gateway, cli, dev, 1. Create AWS account 1. Create AWS IAM role - - **name** : `lambda-apigateway-role` - - **Desc** : `Allows Lambda functions to call AWS services on your behalf.` - - **Trusted entities** : `Service AWS: lambda` + - **name** : `lambda-apigateway-role` + - **Desc** : `Allows Lambda functions to call AWS services on your behalf.` + - **Trusted entities** : `Service AWS: lambda` 1. Install CLI 1. create `helloworld.py` diff --git a/content/duplicity-hubic.md b/content/duplicity-hubic.md index 8dc2285..9104042 100644 --- a/content/duplicity-hubic.md +++ b/content/duplicity-hubic.md @@ -45,14 +45,14 @@ Tags: debian, viellerie, admin, backup, ovh, openstack python ./setup.py build sudo python ./setup.py install - (`dépendance` ? aptitude install : sudo pip2 install `dépendance`; re-build) + (`dépendance` ? aptitude install : sudo pip2 install `dépendance`; re-build) ## Erreurs: -1. [InsecurePlatformWarning](https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning) : install pyopenssl ndg-httpsclient python-pyasn1 -2. `UserWarning: Module novaclient.v1_1 is deprecated` : disparu avec le lot de MàJ du 20160314 (python-novaclient 1.5?) -3. `Connection failed, please check your credentials: JSONDecodeError Expecting value: line 1 column 1 (char 0)` : upgrade setuptools 18.3.1 -> 20.2.2 +1. [InsecurePlatformWarning](https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning) : install pyopenssl ndg-httpsclient python-pyasn1 +2. `UserWarning: Module novaclient.v1_1 is deprecated` : disparu avec le lot de MàJ du 20160314 (python-novaclient 1.5?) +3. `Connection failed, please check your credentials: JSONDecodeError Expecting value: line 1 column 1 (char 0)` : upgrade setuptools 18.3.1 -> 20.2.2 ## Ressources: @@ -69,7 +69,7 @@ Tags: debian, viellerie, admin, backup, ovh, openstack * [duplicity v0.7.06](https://launchpad.net/duplicity/0.7-series/0.7.06/+download/duplicity-0.7.06.tar.gz) ## Changelog -* 20160314 : +* 20160314 : * MàJ de la version de duplicity * MàJ pip -> pip2 * MàJ python-novaclient 2.28.2.dev3 diff --git a/content/ghi-git-hub-issues.md b/content/ghi-git-hub-issues.md index 6990beb..19ab118 100644 --- a/content/ghi-git-hub-issues.md +++ b/content/ghi-git-hub-issues.md @@ -7,13 +7,13 @@ Summary: Exemples basiques de l'utilisation de `ghi` Tags: git, dev, cli, pythonclassmates -`ghi` : _GitHub Issues on the command line. Use your `$EDITOR`, not your browser._ +`ghi` : _GitHub Issues on the command line. Use your `$EDITOR`, not your browser._ CLI vs GUI, pour moi le choix est souvent vite fait. Du coup ça fait quelques temps que je gère dès que possible mes` issues `github en CLI à l'aide de [ghi](https://github.com/stephencelis/ghi), un client dédié aux `issues` GitHub éccrit en Ruby. -La vrai feature qui me manque est l'affectation d'un `project`, dommage… Mais sinon on fait des trucs directement en console qui font _vraiment_ gagner du temps : +La vrai feature qui me manque est l'affectation d'un `project`, dommage… Mais sinon on fait des trucs directement en console qui font _vraiment_ gagner du temps : -Liste les `issues` & `pulls` open : +Liste les `issues` & `pulls` open : ```shell ~/git/pythonclassmates.org $ ghi list @@ -44,18 +44,18 @@ Affiche l'`issue 14` #14: About page is missing @freezed opened this issue 23 hours ago. open - With links to : + With links to : - [ ] pelican - [ ] template - [ ] github ``` -`--web` ouvre la page dans votre navigateur : `ghi list --web`, `ghi 14 --web`, etc. +`--web` ouvre la page dans votre navigateur : `ghi list --web`, `ghi 14 --web`, etc. Bien sûr `ghi edit …` permet d'en éditer une (!) -Et `ghi open …` d'en créer. Tellement pratique quand on code et que l'on tombe sur un bug, une idée, ou autre… Fini le _«Je noterai ça tout à l'heure»_ qu'on aura oublié dans 5 minutes. Là en 15s c'est plié. Et avec l'habitude on y met presque tout : +Et `ghi open …` d'en créer. Tellement pratique quand on code et que l'on tombe sur un bug, une idée, ou autre… Fini le _«Je noterai ça tout à l'heure»_ qu'on aura oublié dans 5 minutes. Là en 15s c'est plié. Et avec l'habitude on y met presque tout : ```shell ghi open --claim --label bug --label test --message "Test de la class Adallas à améliorer @@ -67,7 +67,7 @@ Bon si comme moi vous êtes des maniaque le l'historique de votre shell, arretez vous après `--message` et vous pourrez éditer votre issue dans votre éditeur, par ce que là votre historique va dérouiller… -Les check-box du GHFMD sont aussi possible : +Les check-box du GHFMD sont aussi possible : - [ ] foo - [ ] bar - [ ] foobar diff --git a/content/grandpy-bot-zappa-flask-lambda-gitlab-en.md b/content/grandpy-bot-zappa-flask-lambda-gitlab-en.md index 10ed48a..a0a4d79 100644 --- a/content/grandpy-bot-zappa-flask-lambda-gitlab-en.md +++ b/content/grandpy-bot-zappa-flask-lambda-gitlab-en.md @@ -2,12 +2,12 @@ Title: GrandPy Bot in «serverless» style Date: 2019-03-16 23:34 Category: Réalisations Status: published -Summary: Evolution of project 7 realized during the OpenClassrooms course with : Zappa, AWS Lambda & Gitlab-CI/Pages. +Summary: Evolution of project 7 realized during the OpenClassrooms course with : Zappa, AWS Lambda & Gitlab-CI/Pages. Lang: en Slug: grandpy-bot-zappa-flask-lambda-gitlab Tags: git, gitlab, devops, flask, dev, zappa, serverless, aws, ci, cd, aws-lambda, python, -This was a [student project][oc] previously hosted on [Github][ocp7]. I updated it to play with : +This was a [student project][oc] previously hosted on [Github][ocp7]. I updated it to play with : * [Zappa][zappa] * [Flask][flask] @@ -21,30 +21,30 @@ If you can speak French, [have a talk with him][prod] (^_^) Run yours ! ----------- -Need some environment variables to run : +Need some environment variables to run : - `EMAIL_ADDRESS` (Nominatim API) - `MAPBOX_API_KEY` (Mapbox API) - `GOO_API_KEY` (not used [but needed][issue51]) -### Locally : +### Locally : -It works as a simple single-page [Flask][flask] application : +It works as a simple single-page [Flask][flask] application : - [fork-it][fork] -- set up a virtualenv : `virtualenv .venv` -- install requirements : `pip install -r requirements.txt` -- run it locally : `python run.py` +- set up a virtualenv : `virtualenv .venv` +- install requirements : `pip install -r requirements.txt` +- run it locally : `python run.py` -### On Gitlab : +### On Gitlab : -Set up a [AWS IAM profile][awsiam] on **your AWS account** and add valid environment variables in `https://gitlab.com//grandpy/settings/ci_cd` : +Set up a [AWS IAM profile][awsiam] on **your AWS account** and add valid environment variables in `https://gitlab.com//grandpy/settings/ci_cd` : - `AWS_ACCESS_KEY_ID` - `AWS_SECRET_ACCESS_KEY` -Push it back and the _CI script_ will : +Push it back and the _CI script_ will : - put chat code on [AWS Lambda][awslmbd] with the magic of [Zappa][zappa] - edit [JavaScript][js] with the URL of the _AWS API Gateway_ just updated diff --git a/content/grandpy-bot-zappa-flask-lambda-gitlab.md b/content/grandpy-bot-zappa-flask-lambda-gitlab.md index 817399b..279cbdf 100644 --- a/content/grandpy-bot-zappa-flask-lambda-gitlab.md +++ b/content/grandpy-bot-zappa-flask-lambda-gitlab.md @@ -2,12 +2,12 @@ Title: GrandPy Bot à la mode «serverless» Date: 2019-03-16 23:34 Category: Réalisations Status: published -Summary: Évolution du projet 7 réalisé durant le parcours OpenClassrooms avec : Zappa, AWS Lambda & Gitlab-CI/Pages. +Summary: Évolution du projet 7 réalisé durant le parcours OpenClassrooms avec : Zappa, AWS Lambda & Gitlab-CI/Pages. Lang: fr Slug: grandpy-bot-zappa-flask-lambda-gitlab Tags: git, gitlab, devops, flask, dev, zappa, serverless, aws, ci, cd, aws-lambda, python, -Il s'agissait d'un [projet étudiant][oc] précédemment hébergé sur [Github][ocp7]. Je l'ai mis à jour pour jouer avec : +Il s'agissait d'un [projet étudiant][oc] précédemment hébergé sur [Github][ocp7]. Je l'ai mis à jour pour jouer avec : * [Zappa][zappa] * [Flask][flask] @@ -21,26 +21,26 @@ Un papy-robot qui parle de souvenirs géographiques et citant Wikipedia. Installez le vôtre ! -------------------- -L'exécution a besoin de quelques variables d'environnement : +L'exécution a besoin de quelques variables d'environnement : - `EMAIL_ADDRESS` (Nominatim API) - `MAPBOX_API_KEY` (Mapbox API) - `GOO_API_KEY` (not used [but needed][issue51]) -### Localement : +### Localement : -Il fonctionne comme une simple application mono-page [flask][flask] : +Il fonctionne comme une simple application mono-page [flask][flask] : - [forkez-le][fork] -- mettez en place un environement virtuel : `virtualenv .venv` -- installez les dépendances : `pip install -r requirements.txt` -- executez locallement : `python run.py` +- mettez en place un environement virtuel : `virtualenv .venv` +- installez les dépendances : `pip install -r requirements.txt` +- executez locallement : `python run.py` -### Sur Gitlab : +### Sur Gitlab : -Créez un profil [AWS IAM][awsiam] sur **votre compte AWS** et ajoutez des variables d'environnement valides dans `https://gitlab.com//grandpy/settings/ci_cd` : +Créez un profil [AWS IAM][awsiam] sur **votre compte AWS** et ajoutez des variables d'environnement valides dans `https://gitlab.com//grandpy/settings/ci_cd` : -Repoussez le et le script d'intégration continue : +Repoussez le et le script d'intégration continue : - déployera le code du _chat_ sur [AWS Lambda][awslmbd] avec l'aide magique de [Zappa][zappa] - mettra à jour le [JavaScript][js] avec l'URL _AWS API Gateway_ pointant vers _Lambda_ diff --git a/content/jdll-lyon-generateur-site-statique.md b/content/jdll-lyon-generateur-site-statique.md index aa953f8..f1f5eee 100644 --- a/content/jdll-lyon-generateur-site-statique.md +++ b/content/jdll-lyon-generateur-site-statique.md @@ -1,4 +1,4 @@ -Title: Générateur de site statique, et pourquoi pas ? +Title: Générateur de site statique, et pourquoi pas ? Date: 2019-04-07 13:00 Modified: 2019-10-24 Category: Conférences @@ -15,7 +15,7 @@ J'y ai présenté les _générateurs de site statique_ en général et [Pelican] Le format d'une heure aura permis une rapide présentation suivie d'une séance d'installation en direct [d'un site généré par _Pelican_][site] avec hébergement via [gitlab-pages][glpages]. -Les sources & supports sont dispo sur le dépôt gitlab : [free_zed/jdll19][repo]. +Les sources & supports sont dispo sur le dépôt gitlab : [free_zed/jdll19][repo]. Une captation vidéo à été mise en place et sera peut-être dispo dans les prochains jours. diff --git a/content/lidie-sats.md b/content/lidie-sats.md index 73f573e..aeca40f 100644 --- a/content/lidie-sats.md +++ b/content/lidie-sats.md @@ -2,7 +2,7 @@ Title: Pilotage de projet de transition numérique Date: 2011-04-21 11:11 Category: Réalisations Status: published -Summary: Gestion d'un projet de transition numérique : d'une facture en papier vers une appli android +Summary: Gestion d'un projet de transition numérique : d'une facture en papier vers une appli android Tags: android, digitalisation, mysql, admin, innovation Entre 2007 et 2017, en parallèle de mon poste de responsable d'exploitation dans une PME de dépannage automobile, j'étais en charge du pilotage de la transition numérique de notre outils de facturation. diff --git a/content/multiple-nextcloud-upgrade.md b/content/multiple-nextcloud-upgrade.md index 3dcdd4c..dd838e9 100644 --- a/content/multiple-nextcloud-upgrade.md +++ b/content/multiple-nextcloud-upgrade.md @@ -5,30 +5,30 @@ Status: published Summary: De Nextcloud 12 à 18, de Debian Stretch à Buster Tags: nextcloud, admin, debian, cli, shell, web, privacy, backup, mariadb -**Sur une installation _standard_ basée sur :** +**Sur une installation _standard_ basée sur :** - Debian/GNU Linux - Apache HTTPD - MariaDB -**Mises à jours concernées :** +**Mises à jours concernées :** - de _Nextcloud_ 12 à 18 - de _Debian/Stretch_ à _Debian/Buster_ -**Remarques :** +**Remarques :** Pour les étapes de [mise à jour manuelle][1], j'ai fais un script _basique_ («[`update script`][5]» ci dessous) intégrant le mode _maintenance_ et la sauvegarde. Les choix des versions suivantes de _Nextcloud_ ont été celles suggérée par l'admin _Nextcloud_. -La mise à jour _Stretch_ > _Buster_ c'est faite le plus tard possible : lors de la fin de support de `php7.0` pour _Nextcloud_ v16.0.8 +La mise à jour _Stretch_ > _Buster_ c'est faite le plus tard possible : lors de la fin de support de `php7.0` pour _Nextcloud_ v16.0.8 Les messages d'erreurs ont été laissés tel quels, et donc en Français pour ceux qui ont été traduits. --- -Check-list suivie : +Check-list suivie : ----------------- _(Les emoji ajoutent du context, détails sur [gitmoji][3] )_ @@ -38,13 +38,13 @@ _(Les emoji ajoutent du context, détails sur [gitmoji][3] )_ 1. ☑ ⬆️ Upgrade Debian/Stretch 1. ☑ 🚧 Deactivate maintenance mode 1. ☑ Reboot -1. ☑ ⬆️ Upgrade Nextcloud : v12.0.4.3 > v13.0.12 ([docs][4]) +1. ☑ ⬆️ Upgrade Nextcloud : v12.0.4.3 > v13.0.12 ([docs][4]) - «[`update script`][5]» 1. ☑ web/DAV/desktop/android tests -1. ☑ ⬆️ Upgrade Nextcloud : v13.0.12 > v14.0.14 - ([docs][6]) +1. ☑ ⬆️ Upgrade Nextcloud : v13.0.12 > v14.0.14 - ([docs][6]) - «[`update script`][5]» 1. ☑ web/DAV/desktop/[logging][8] tests - - 🚑 Error PHP : `You are using a fallback implementation of the intl extension. Installing the native one is highly recommended instead. at /srv/freezed.me/nextcloud/3rdparty/patchwork/utf8/src/Patchwork/Utf8/Bootup/intl.php#18` + - 🚑 Error PHP : `You are using a fallback implementation of the intl extension. Installing the native one is highly recommended instead. at /srv/freezed.me/nextcloud/3rdparty/patchwork/utf8/src/Patchwork/Utf8/Bootup/intl.php#18` - ➕ `apt install php-intl` - ➕ `phpenmod intl` - Set cron to AJAX @@ -60,7 +60,7 @@ _(Les emoji ajoutent du context, détails sur [gitmoji][3] )_ - 🔧 `sudo -u www-data php occ db:add-missing-indices` - ⚡ see [migration from Nextcloud 13][11] in docs. - 🔧 `sudo -u www-data php occ db:convert-filecache-bigint` -1. ☑ upgrade Nextcloud : v14.0.14 > v15.0.11 - ([docs][13]) +1. ☑ upgrade Nextcloud : v14.0.14 > v15.0.11 - ([docs][13]) - «[`update script`][5]» 1. ☑ web/DAV/desktop/android tests 1. ☑ web admin [overview/logging][15] @@ -71,10 +71,10 @@ _(Les emoji ajoutent du context, détails sur [gitmoji][3] )_ - ⚠️ `Error PHP Undefined index: changelogURL at /srv/freezed.me/nextcloud/core/Controller/WhatsNewController.php#91` - See [#19490][16], will be solved in [v16][17] - ⚠️ `MySQL est utilisée comme base de données mais ne supporte pas les caractères codés sur 4 octets. Pour pouvoir manipuler les caractères sur 4 octets (comme les émoticônes) sans problème dans les noms de fichiers ou les commentaires par exemple, il est recommandé d'activer le support 4 octets dans MySQL.` [Pour plus de détails, lisez la page de documentation à ce sujet][2] - - Wait after step «`Upgrade Nextcloud : v17.0.5 > v18.0.3`» + - Wait after step «`Upgrade Nextcloud : v17.0.5 > v18.0.3`» - ⚠️ `Vous utilisez actuellement PHP 7.0.33-0+deb9u7. Mettez à jour votre version de PHP afin de tirer avantage des améliorations liées à la performance et la sécurité fournies par le PHP Group dès que votre distribution le supportera.` - Wait after `dist-upgrade Debian/Stretch > Buster` -1. ☑ ⬆️ Upgrade Nextcloud : v15.0.11 > v15.0.14 - ([docs][18]) +1. ☑ ⬆️ Upgrade Nextcloud : v15.0.11 > v15.0.14 - ([docs][18]) - «[`update script`][5]» 1. ☑ web/DAV/desktop/android tests 1. ☑ Web/DAV/desktop/[settings][15] @@ -87,20 +87,20 @@ _(Les emoji ajoutent du context, détails sur [gitmoji][3] )_ - `mounts.root_id` - `mounts.mount_id` - 🔧 `sudo -u www-data php occ db:add-missing-indices` -1. ☑ ⬆️ Upgrade Nextcloud : v15.0.14 > v16.0.8 - ([docs][21]) +1. ☑ ⬆️ Upgrade Nextcloud : v15.0.14 > v16.0.8 - ([docs][21]) - «[`update script`][5]» - 💥 `This version of Nextcloud requires at least PHP 7.1
You are currently running 7.0.33-0+deb9u7. Please update your PHP version.zsh: exit 255 sudo -u www-data php occ upgrade` - - ⏪ stash 16.0.9 : `mv nextcloud next-nextcloud-16.0.8` - - ⏪ rollback to 15.0.14 : `mv old-nextcloud-15.0.14 nextcloud` + - ⏪ stash 16.0.9 : `mv nextcloud next-nextcloud-16.0.8` + - ⏪ rollback to 15.0.14 : `mv old-nextcloud-15.0.14 nextcloud` 1. ☑ ⬆️ dist-upgrade Debian/Stretch > Buster - `apt autoremove` - - 📸 update again to 16.0.9 : `mv nextcloud next-nextcloud-16.0.8` - - 📸 backup 15.0.14 : `mv old-nextcloud-15.0.14 nextcloud` + - 📸 update again to 16.0.9 : `mv nextcloud next-nextcloud-16.0.8` + - 📸 backup 15.0.14 : `mv old-nextcloud-15.0.14 nextcloud` - ⬆️ `apt install php7.3-mysql` ([see][23]) - ⬆️ `a2enmod php7.3` -1. ☑ ⬆️ Upgrade Nextcloud : v16.0.8 > v16.0.9 +1. ☑ ⬆️ Upgrade Nextcloud : v16.0.8 > v16.0.9 - «[`update script`][5]» -1. ☑ ⬆️ Upgrade Nextcloud : v16.0.9 > v17.0.5 +1. ☑ ⬆️ Upgrade Nextcloud : v16.0.9 > v17.0.5 - «[`update script`][5]» 1. ☑ web/DAV/desktop/android tests 1. ☑ web admin [overview/logging][15] @@ -113,10 +113,10 @@ _(Les emoji ajoutent du context, détails sur [gitmoji][3] )_ - `Index "cards_prop_abid" manquant dans la table "oc_cards_properties".` - 🔧 `sudo -u www-data php occ db:add-missing-indices` - ⚠️ `La limite de mémoire PHP est inférieure à la valeur recommandée de 512 Mo.` - - Wait after step «`Upgrade Nextcloud : v17.0.5 > v18.0.3`» + - Wait after step «`Upgrade Nextcloud : v17.0.5 > v18.0.3`» - ⚠️ `MySQL est utilisée comme base de données mais ne supporte pas les caractères codés sur 4 octets. Pour pouvoir manipuler les caractères sur 4 octets (comme les émoticônes) sans problème dans les noms de fichiers ou les commentaires par exemple, il est recommandé d'activer le support 4 octets dans MySQL.` [Pour plus de détails, lisez la page de documentation à ce sujet][2] - - Wait after step «`Upgrade Nextcloud : v17.0.5 > v18.0.3`» -1. ☑ ⬆️ Upgrade Nextcloud : v17.0.5 > v18.0.3 + - Wait after step «`Upgrade Nextcloud : v17.0.5 > v18.0.3`» +1. ☑ ⬆️ Upgrade Nextcloud : v17.0.5 > v18.0.3 - «[`update script`][5]» 1. ☑ web/DAV/desktop/android tests 1. ☑ web admin [overview/logging][15] @@ -127,7 +127,7 @@ _(Les emoji ajoutent du context, détails sur [gitmoji][3] )_ - `Index "schedulobj_principuri_index" manquant dans la table "oc_schedulingobjects".` - 🔧 `sudo -u www-data php occ db:add-missing-indices` - ⚠️ `MySQL est utilisée comme base de données mais ne supporte pas les caractères codés sur 4 octets. Pour pouvoir manipuler les caractères sur 4 octets (comme les émoticônes) sans problème dans les noms de fichiers ou les commentaires par exemple, il est recommandé d'activer le support 4 octets dans MySQL.` [Pour plus de détails, lisez la page de documentation à ce sujet][2] - - 🔧 Enabling _MySQL 4-byte support_ : [see docs][2] + - 🔧 Enabling _MySQL 4-byte support_ : [see docs][2] [1]: https://docs.nextcloud.com/server/stable/admin_manual/maintenance/manual_upgrade.html#upgrade-manually diff --git a/content/new-theme-for-this-blog.md b/content/new-theme-for-this-blog.md index 979e81b..7f3501e 100644 --- a/content/new-theme-for-this-blog.md +++ b/content/new-theme-for-this-blog.md @@ -5,9 +5,9 @@ Category: Bloc-notes Tags: pelican, web, gitlab-pages, ci, statique Status: Published -Enfin un thème _responsive_, basé sur le thème `uberspot` de [Achilleas Pipinellis](https://gitlab.com/axil) publié sous licence [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/deed.fr). +Enfin un thème _responsive_, basé sur le thème `uberspot` de [Achilleas Pipinellis](https://gitlab.com/axil) publié sous licence [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/deed.fr). -Mes adaptations : +Mes adaptations : - lien vers le commit de _build_ du site; - suppression de _templates_ (`disqus`, `js_https`, etc.); diff --git a/content/ocp10.md b/content/ocp10.md index c2c5514..2aff113 100644 --- a/content/ocp10.md +++ b/content/ocp10.md @@ -15,7 +15,7 @@ Tags: django, travis, ci, cd, heroku, tdd, openfoodfacts, postgresql, devops, de * Mettre en place une [Intégration Continue][wikici](CI) avec [Travis CI][ci] * Déploiement de l'[environnement de production][wikienv] sur un [VPS][wikivps] _Digital Ocean_ via [CLI][wikicli] * Déploiement automatisé dans un [environnement de qualification][wikienv] (_staging environment_) via [Heroku][herokuapp] après [réussite des tests][ci] -* Suivre l'activité : +* Suivre l'activité : - du serveur avec le monitoring _Digital Ocean_ - de l'application avec [Sentry][sentry] * Utiliser [`cron`][cron] pour automatiser une [tâche de maintenance][issue64] sur le serveur diff --git a/content/ocp13.md b/content/ocp13.md index 96ebe79..2df73bc 100644 --- a/content/ocp13.md +++ b/content/ocp13.md @@ -1,4 +1,4 @@ -Title: Parcours dev python : projet final +Title: Parcours dev python : projet final Date: 2018-12-20 11:11 Category: Réalisations Status: published @@ -8,17 +8,17 @@ Tags: django, travis, ci, cd, heroku, tdd, sentry, postgresql, extrem-programmin ## Note d'intention -Valérie et Serge sont travailleurs indépendants et pour leurs activités respectives ils sont à la recherche d'un outil qui leur permettrait de gérer aisément leur _réseau de contacts_ : prospection, suivi, opportunités etc. +Valérie et Serge sont travailleurs indépendants et pour leurs activités respectives ils sont à la recherche d'un outil qui leur permettrait de gérer aisément leur _réseau de contacts_ : prospection, suivi, opportunités etc. ## Spécifications * service en ligne ([SaaS][wikisaas]), en gardant à l'esprit qu'un usage _hors réseau_ sera certainement implémenté à l'avenir -* les données seront réparties dans différents _objets_ : +* les données seront réparties dans différents _objets_ : - des `contacts` auxquels seront associés des `affaires` - aux `affaires` et `contacts` pourront être associés à des `notes` - - des `étiquettes` permettront une organisation souple et transversale de ces informations en s'associant à tout ou partie des objets définis ci dessus. Une étiquette pourrait représenter : un _groupe de contact_, une _entreprise_, un _secteur professionnel_, un _statut_, etc. + - des `étiquettes` permettront une organisation souple et transversale de ces informations en s'associant à tout ou partie des objets définis ci dessus. Une étiquette pourrait représenter : un _groupe de contact_, une _entreprise_, un _secteur professionnel_, un _statut_, etc. * les `contacts` seront cloisonnés à l'`utilisateur` qui les aura créés, en gardant à l'esprit qu'un partage des `contacts` entre les `utilisateurs` du service sera implémenté à l'avenir -* import de `contacts` existant : +* import de `contacts` existant : - individuel (formulaire) - en lot, préférence pour les formats [Vcard][wikivcf] et/ou [CSV][wikicsv] - connection à un serveur [CardDAV][wikidav] diff --git a/content/ocp3.md b/content/ocp3.md index 94ac440..d9cb183 100644 --- a/content/ocp3.md +++ b/content/ocp3.md @@ -9,7 +9,7 @@ Tags: pygame, python, git ## Description -MacGyver a été enfermé dans un labyrinthe. La sortie est surveillée par un garde et pour le distraire, il faut combiner les éléments suivants dispersés dans le labyrinthe : +MacGyver a été enfermé dans un labyrinthe. La sortie est surveillée par un garde et pour le distraire, il faut combiner les éléments suivants dispersés dans le labyrinthe : * une aiguille * un tube diff --git a/content/ocp5.md b/content/ocp5.md index 4447926..98515d4 100644 --- a/content/ocp5.md +++ b/content/ocp5.md @@ -9,7 +9,7 @@ Tags: api-rest, cli, mariadb, openfoodfacts, python, git, - Recherche d'aliments alternatif dans la base [Open Food Facts][off] - Affichage de fiches produits -- L'utilisateur : +- L'utilisateur : * Interagit avec le système dans le terminal * Enregistre les produits pour les retrouver plus tard - L'utilisateur choisi en tapant des un chiffres diff --git a/content/ocp7.md b/content/ocp7.md index 23e00b4..bcbb3a9 100644 --- a/content/ocp7.md +++ b/content/ocp7.md @@ -10,7 +10,7 @@ Dans une interface web, il est proposé de dialoguer dans un contexte géographi Vous le questionnez sur un lieu et il répond avec une carte et un texte en provenance de Wikipedia. -* Interactions en AJAX : réponse s'affiche sans recharger la page +* Interactions en AJAX : réponse s'affiche sans recharger la page * API [Google Maps][gmaps] et [Media Wiki][mediawiki] * Pas de sauvegarde (page rechargée == historique perdu) * Interface responsive diff --git a/content/ownCloud-erreur-connection-internet.md b/content/ownCloud-erreur-connection-internet.md index 000a8bd..b745fca 100644 --- a/content/ownCloud-erreur-connection-internet.md +++ b/content/ownCloud-erreur-connection-internet.md @@ -35,7 +35,7 @@ Dans le menu d'administration du client web, la vérification de la configuratio * édition du `php.ini`: `allow_url_include On` * recherche de la fonction dans le code **OC** qui génère ce message d'erreur: `[OC_PATH]/lib/private/util.php` * isolation de la fonction et essai sur plusieurs machines: `fsockopen()` à bien bien un comportement différant sur le serveur concerné -* suppression de `fsockopen()` dans la directive `disable_functions`  :-) +* suppression de `fsockopen()` dans la directive `disable_functions`  :-) ### Sources: diff --git a/content/pages/contact-en.md b/content/pages/contact-en.md index 39a3038..10ddf55 100644 --- a/content/pages/contact-en.md +++ b/content/pages/contact-en.md @@ -4,21 +4,21 @@ Slug: contact Status: published Summary: Contact me! -Hopla ! +Hopla ! ------- Welcome to this page, my name is _Frédéric Zind_. -Professional in **vehicle maintenance** and **software development**, I share here : +Professional in **vehicle maintenance** and **software development**, I share here : - some [notes][notes] - things [I've done][real] - as well as my [talkative performances][conf] -To contact me : +To contact me : -- mail : [pro@zind.fr](mailto:pro@zind.fr) -- phone : [+336 59 44 28 36](tel:+33659442836) +- mail : [pro@zind.fr](mailto:pro@zind.fr) +- phone : [+336 59 44 28 36](tel:+33659442836) - [my _resume_][cvdown] I'm on the networks mentioned in the footer and member of the [_Gitlab Hero_][glh] community since November 2019. diff --git a/content/pages/contact.md b/content/pages/contact.md index 4002e5e..bfcd679 100644 --- a/content/pages/contact.md +++ b/content/pages/contact.md @@ -2,23 +2,23 @@ Title: Contact Lang: fr Slug: contact Status: published -Summary: Contactez moi ! +Summary: Contactez moi ! -Hopla ! +Hopla ! ------- Bienvenue sur cette page, je m'appelle _Frédéric Zind_. -Professionnel en **maintenance des véhicules** et en **développement logiciel**, je partage ici : +Professionnel en **maintenance des véhicules** et en **développement logiciel**, je partage ici : - des [notes][notes] - ce que [j'ai pu faire][real] - ainsi que mes [prestations bavardes][conf] -Pour me contacter : +Pour me contacter : -- mail : [pro@zind.fr](mailto:pro@zind.fr) -- tel : [+336 59 44 28 36](tel:+33659442836) +- mail : [pro@zind.fr](mailto:pro@zind.fr) +- tel : [+336 59 44 28 36](tel:+33659442836) - [mon _CV_][cvdown] Je suis présent sur les réseaux dont les icônes sont en pied de page et membre de la communaté [_Gitlab Hero_][glh] depuis novembre 2019. diff --git a/content/pelican-installation.md b/content/pelican-installation.md index 540b64e..5a281ec 100644 --- a/content/pelican-installation.md +++ b/content/pelican-installation.md @@ -43,7 +43,7 @@ Pour les questions avec une réponse entre crochet, appuyez sur `Entrée` pour a ## Créez un article -Vous ne pourrez lancer _Pelican_ tant qu'il n'y a pas d'article. Utilisez votre éditeur préféré pour créez votre premier article avec le contenu suivant : +Vous ne pourrez lancer _Pelican_ tant qu'il n'y a pas d'article. Utilisez votre éditeur préféré pour créez votre premier article avec le contenu suivant : ```python Title: My First Review @@ -66,7 +66,7 @@ Votre site à été généré dans le répertoire `output`. Peut-être aurez vou # Prévisualisation du site -Ouvrez une session de terminal depuis le répertoire d'installation et lancez la commande suivante : +Ouvrez une session de terminal depuis le répertoire d'installation et lancez la commande suivante : ```python pelican --listen ``` diff --git a/content/plantuml-gitlab_ci-diagramme-generation-en.md b/content/plantuml-gitlab_ci-diagramme-generation-en.md index 41657c7..2105c0b 100644 --- a/content/plantuml-gitlab_ci-diagramme-generation-en.md +++ b/content/plantuml-gitlab_ci-diagramme-generation-en.md @@ -10,10 +10,10 @@ Slug: plantuml-gitlab_ci-diagramme-generation _The easy way to keep diagrams up-to-date with the code_ -What ? +What ? ------ -Diagrams are : +Diagrams are : * **100%** text described * built with _gitlab-ci_ @@ -21,10 +21,10 @@ Diagrams are : So easy to maintain that your diagrams could be **still up-to-date** even **10 months later**!!! -How ? +How ? ----- -Just push [diagram sources][src] and [.gitlab-ci.yml][yml] will build & deploy it on _pages_ : +Just push [diagram sources][src] and [.gitlab-ci.yml][yml] will build & deploy it on _pages_ : ![Physical data model with shared files][pdm-shared]. @@ -33,7 +33,7 @@ Just push [diagram sources][src] and [.gitlab-ci.yml][yml] will build & deploy i Using _!include_ or _!includeurl_ PlantUML's [preprocessor][preprocessor] directives allows you to share common sources between diagrams. -In this repo, _shared files_ diagrams [share same data][part] : +In this repo, _shared files_ diagrams [share same data][part] : - associations - attributes diff --git a/content/plantuml-gitlab_ci-diagramme-generation.md b/content/plantuml-gitlab_ci-diagramme-generation.md index adafc87..a0617f1 100644 --- a/content/plantuml-gitlab_ci-diagramme-generation.md +++ b/content/plantuml-gitlab_ci-diagramme-generation.md @@ -10,10 +10,10 @@ Slug: plantuml-gitlab_ci-diagramme-generation _Le moyen le plus simple de garder les diagrammes à jour avec le code_ -C'est quoi ? +C'est quoi ? ------ -Les diagrammes sont : +Les diagrammes sont : * décrits **100%** par du texte * générés avec _gitlab-ci_ @@ -21,10 +21,10 @@ Les diagrammes sont : Tellement facile à maintenir que vos diagrammes _pourraient_ être encore à jour même **10 mois après le démarrage du projet**!!! -Mais comment ? +Mais comment ? ----- -Poussez simplement [les sources des diagrammes][src] et [.gitlab-ci.yml][yml] se chargera de la génération des images & de la mise en ligne via _pages_ : +Poussez simplement [les sources des diagrammes][src] et [.gitlab-ci.yml][yml] se chargera de la génération des images & de la mise en ligne via _pages_ : ![Modèle physique de donnée avec fichiers partagés][pdm-shared]. @@ -33,7 +33,7 @@ Poussez simplement [les sources des diagrammes][src] et [.gitlab-ci.yml][yml] se L'utilisation de directives du _[préprocesseur PlantUML][preprocessor]_ telles que _!include_ ou _!includeurl_ permet de partager des sources communes entre les diagrammes. -Dans mon [exemple][repo], les diagrammes marqués _shared files_ [partagent les mêmes entitiés][part] : +Dans mon [exemple][repo], les diagrammes marqués _shared files_ [partagent les mêmes entitiés][part] : - associations - attributs diff --git a/content/pyconfr-au_bonheur_likes-2019.md b/content/pyconfr-au_bonheur_likes-2019.md index 13db9b0..51f613b 100644 --- a/content/pyconfr-au_bonheur_likes-2019.md +++ b/content/pyconfr-au_bonheur_likes-2019.md @@ -10,9 +10,9 @@ Status: published Par [Nina Cercy][2] − Salle [Alfred Wegener][awegener] − Samedi à 17 h 30 ![logo PyConFr Bordeaux 2019][pyconimg] -Biais cognitifs, sciences comportementales, incitations douces : le cerveau des utilisateurs/trices est devenu notre terrain de jeu — et l’infantilisation notre meilleur business model. +Biais cognitifs, sciences comportementales, incitations douces : le cerveau des utilisateurs/trices est devenu notre terrain de jeu — et l’infantilisation notre meilleur business model. -Face aux hochets attentionnels et aux biberons de dopamine, notre capacité à proposer un numérique adulte, émancipateur est la victime collatérale du capitalisme de l’attention. Ne jetons pas le bébé avec l’eau du bain : la science comportementale, c’est aussi le remède dans le mal. +Face aux hochets attentionnels et aux biberons de dopamine, notre capacité à proposer un numérique adulte, émancipateur est la victime collatérale du capitalisme de l’attention. Ne jetons pas le bébé avec l’eau du bain : la science comportementale, c’est aussi le remède dans le mal. --- @@ -22,7 +22,7 @@ Arrivé en retard… Conf a revoir en vidéo. À montrer aux utilisateurs des services. -Piste émancipatrice individuelles proposée : +Piste émancipatrice individuelles proposée : - anticipation - minimisation diff --git a/content/pyconfr-boost_python_with_rust-2019.md b/content/pyconfr-boost_python_with_rust-2019.md index e615759..93b56c2 100644 --- a/content/pyconfr-boost_python_with_rust-2019.md +++ b/content/pyconfr-boost_python_with_rust-2019.md @@ -14,7 +14,7 @@ Historiquement, le gestionnaire de version Mercurial utilise des modules en C po Depuis fin 2018, Octobus a le plus grand nombre de contributions Rust dans Mercurial. Nous avons découvert des problèmes liés l'interaction de ces deux langages et trouvé des solutions qui n'avaient jusque-là - à notre connaissance - jamais été publiées sur Internet. -Au programme : +Au programme : * Une vue d'ensemble de l'intégration de Rust à Python * Les points positifs et négatifs de notre solution et les alternatives @@ -31,7 +31,7 @@ Arrivé en retard… Conf a revoir en vidéo. [Mercurial][3] -Rust permet d'améliorer les perf de python, des choses encore a faire, mais python est encore très pertinent parce que très lisible, très rapide à mettre en œuvre : +Rust permet d'améliorer les perf de python, des choses encore a faire, mais python est encore très pertinent parce que très lisible, très rapide à mettre en œuvre : > Python est plus rapide que du code Rust _pas fini d'être écrit_. diff --git a/content/pyconfr-bordeaux-octobre-2019.md b/content/pyconfr-bordeaux-octobre-2019.md index 2e33363..aa043e6 100644 --- a/content/pyconfr-bordeaux-octobre-2019.md +++ b/content/pyconfr-bordeaux-octobre-2019.md @@ -5,7 +5,7 @@ Summary: Déployer une application Flask sur AWS Lambda avec Zappa & GitLab Status: published Tags: pyconfr, talk, git, gitlab, devops, flask, dev, zappa, serverless, aws, aws-lambda, bordeaux, python -[20/7/20] : J'ajoute le lien vers la captation vidéo dispo sur [pyvideo.org](https://pyvideo.org/pycon-fr-2019/deployer-flask-sur-aws-lambda-avec-zappa-gitlab.html) +[20/7/20] : J'ajoute le lien vers la captation vidéo dispo sur [pyvideo.org](https://pyvideo.org/pycon-fr-2019/deployer-flask-sur-aws-lambda-avec-zappa-gitlab.html) --- @@ -19,7 +19,7 @@ Cette [présentation publique][conference] s'est déroulée dans le cadre de la --- -Mon autre _bac à sable Zappa_ : [_Hello Zappa_][hz] +Mon autre _bac à sable Zappa_ : [_Hello Zappa_][hz] Le support est disponible en cliquant **sur le logo** de _PyConFr_ ci-dessus. diff --git a/content/pyconfr-libre_captcha-2019.md b/content/pyconfr-libre_captcha-2019.md index ebd388b..d60f926 100644 --- a/content/pyconfr-libre_captcha-2019.md +++ b/content/pyconfr-libre_captcha-2019.md @@ -43,30 +43,30 @@ Notes personnelles: ### Acces aux déficients -- visuel : 8% -- auditif : 5% -- cognitif : 16% +- visuel : 8% +- auditif : 5% +- cognitif : 16% ### Stats -- tests visuels : 71% de bonne réponse -- tests audios : 31% de bonne réponse +- tests visuels : 71% de bonne réponse +- tests audios : 31% de bonne réponse ### [LibreCAPTCHA][4] -Définir challenge visuel : +Définir challenge visuel : - Image de WikiCommons - proposition de 9 vignettes issues d'autres image, sauf une -Définir challenge audio : +Définir challenge audio : - séquence de son sur lesquelles on ajoute du morse - bibliothèque CCMixer ### Quitter ReCAPTCHA -Remplacement des 2 URLs : JS & clef +Remplacement des 2 URLs : JS & clef pré-génération indispensable par lot /!\ au appel wiki & CCMixer diff --git a/content/pyconfr-privacy_by_design-2019.md b/content/pyconfr-privacy_by_design-2019.md index 5b96bdc..17ba67a 100644 --- a/content/pyconfr-privacy_by_design-2019.md +++ b/content/pyconfr-privacy_by_design-2019.md @@ -10,7 +10,7 @@ Status: published Par [François Séguin][4] − [Salle Rosalind][rfranklin] − Samedi à 14 h 30 ![logo PyConFr Bordeaux 2019][pyconimg] -Câbles diplomatiques américains, emails de Sony Pictures, photos de prototype d'iPhone : on sait que ces informations sont confidentielles, et elles ont pourtant été victimes de fuites. Les informations personnelles de nos utilisateurs sont tout aussi confidentielles, et nous devons les protéger. Les logs et interfaces d'une application web exposent souvent des données personnelles: comment les expurger et/ou restreindre leur accès? +Câbles diplomatiques américains, emails de Sony Pictures, photos de prototype d'iPhone : on sait que ces informations sont confidentielles, et elles ont pourtant été victimes de fuites. Les informations personnelles de nos utilisateurs sont tout aussi confidentielles, et nous devons les protéger. Les logs et interfaces d'une application web exposent souvent des données personnelles: comment les expurger et/ou restreindre leur accès? Je partagerai mes travaux sur la protection des données personnelles dans un écosystème mature de plusieurs millions de lignes de code, et du paquet open-source pour Django que nous avons créé. diff --git a/content/pyconfr-python-grpc-2019.md b/content/pyconfr-python-grpc-2019.md index e343251..5824d6b 100644 --- a/content/pyconfr-python-grpc-2019.md +++ b/content/pyconfr-python-grpc-2019.md @@ -19,7 +19,7 @@ L'application permet d'analyser des contenus textes (texte associé à des tweet On s'intéressera particulièrement à des notions d'architecture et (un peu) d'infras: * propositions de stratégie de packaging/structuration/versionnement de projets python avec micros-services -* tests unitaires: comment tester des micro-services gRPC ? (framework de tests: PyTest) +* tests unitaires: comment tester des micro-services gRPC ? (framework de tests: PyTest) * docker: outils de dev, containeurs de production, stratégie de releases * CI/CD: CircleCI, TravisCI diff --git a/content/pyconfr-python_pour_tous-2019.md b/content/pyconfr-python_pour_tous-2019.md index 1743228..f79791f 100644 --- a/content/pyconfr-python_pour_tous-2019.md +++ b/content/pyconfr-python_pour_tous-2019.md @@ -11,33 +11,33 @@ Par [Nathanaël Langlois][6], [Amaury Carrade][5], Titouan Soulard − Salle [Ro ![logo PyConFr Bordeaux 2019][pyconimg] -Python, aussi bien utilisé pour du développement d’application que pour des programmes de calculs complexe, ouvre par sa facilité de prise en main un champ gigantesque de possibilité à toutes les populations. L’association “Zeste de Savoir”, fédérée autour d’un site communautaire de partage de connaissances éponyme, organise régulièrement des ateliers dans des universités à destination de collégiens et lycéens en proposant notamment aux enfants de quartiers défavorisés de s’y joindre. Comment rendre la programmation simple et attractive ? C'est ce à quoi nous tentons de répondre dans nos ateliers et cette conférence. +Python, aussi bien utilisé pour du développement d’application que pour des programmes de calculs complexe, ouvre par sa facilité de prise en main un champ gigantesque de possibilité à toutes les populations. L’association “Zeste de Savoir”, fédérée autour d’un site communautaire de partage de connaissances éponyme, organise régulièrement des ateliers dans des universités à destination de collégiens et lycéens en proposant notamment aux enfants de quartiers défavorisés de s’y joindre. Comment rendre la programmation simple et attractive ? C'est ce à quoi nous tentons de répondre dans nos ateliers et cette conférence. --- Notes personnelles: -[Zeste de savoir][3] : asso _fork_ du SdZ/SimpleIT (? SdZ // ZdS) +[Zeste de savoir][3] : asso _fork_ du SdZ/SimpleIT (? SdZ // ZdS) Fondé en 2014 / +12000 membres Plateforme en Django -Zeste de code : passer IRL +Zeste de code : passer IRL 1er atelier sponsorisé par [Meet and code][2] Construction d'un jeu de type _snake_ sur un atelier de 4h -Mise en place d'objectifs : +Mise en place d'objectifs : 1. Afficher le jeu & serpent * Une bibliothèque d'abstraction pour faciliter le dev et traduire partielement 1. Déplacer le serpent -1. ? +1.  ? 1. Gestion des évènements -Pédagogie : une heure de rudiment technique +Pédagogie : une heure de rudiment technique Initiation au monde réel de la programmation: documentation de la bibliothèque d'abstraction @@ -55,9 +55,9 @@ Cible jeune lié aux début avec [Meet and code][2], mais autres publiques possi Dans les collège et lycée pub pour l'évènements -Continuité de la formation pour les intéressés : via le forum/site +Continuité de la formation pour les intéressés : via le forum/site -Combien de session de 4h : une seule +Combien de session de 4h : une seule [1]: https://www.pycon.fr/2019/fr/talks/conference.html#python%20pour%20tous%E2%80%AF%3A%20amener%20un%20zeste%20de%20programmation%20dans%20les%20milieux%20moins%20favoris%C3%A9s diff --git a/content/pyconfr-tech_in_protest-2019.md b/content/pyconfr-tech_in_protest-2019.md index d0eb887..d04daa7 100644 --- a/content/pyconfr-tech_in_protest-2019.md +++ b/content/pyconfr-tech_in_protest-2019.md @@ -23,7 +23,7 @@ This talk is for audients who are interested to know how our lives are changed b --- -Personal notes : +Personal notes : créatrice de [pick & mix][3] @@ -32,7 +32,7 @@ créatrice de [pick & mix][3] - 24/6 crowdfounding for ad in press - 1/7 100 000 HK annual democracy march -Gov reaction : +Gov reaction : - 11/8 eye injury - 1/10 1st protester shot @@ -43,17 +43,17 @@ Gov reaction : Apps related to protests: -- tinder : leave message on status -- LiHKG, but moved on reddit : share useful links -- telegram : encription chat & **hudge** groups -- twitch : recording _real_ video -- [bridgefy][4] : bluetooth network with rebound -- uber : volunteer drivers help protesters but police arrest now driving -- pokemon go : used for an excuse for illegal assembly -- [whatsgap][5] : suggestion for protester supporter restauration & Week end activities -- _unknow_ : an app to pay taxe dollar by dollar (& cost 2$ for eac dollar payed to governement) +- tinder : leave message on status +- LiHKG, but moved on reddit : share useful links +- telegram : encription chat & **hudge** groups +- twitch : recording _real_ video +- [bridgefy][4] : bluetooth network with rebound +- uber : volunteer drivers help protesters but police arrest now driving +- pokemon go : used for an excuse for illegal assembly +- [whatsgap][5] : suggestion for protester supporter restauration & Week end activities +- _unknow_ : an app to pay taxe dollar by dollar (& cost 2$ for eac dollar payed to governement) -Solution to protect from technology : +Solution to protect from technology : - technology footprint is identity - using single ticket instead _packages_ @@ -63,7 +63,7 @@ China use: - public image face recognition - social credit system - - not perfect : women picture on a bus catched as a non footwalk usage + - not perfect : women picture on a bus catched as a non footwalk usage - kids at school - lampposts are suspected to be used for filming - reeducation camp diff --git a/content/reparation_chauffage_soufflant.md b/content/reparation_chauffage_soufflant.md index b6710f6..e8c825e 100644 --- a/content/reparation_chauffage_soufflant.md +++ b/content/reparation_chauffage_soufflant.md @@ -32,7 +32,7 @@ Carte de commande avec un condensateur HS - ![photo de la carte d'origine (HS)][2] - ![photo de la carte d'origine (HS)][3] -Référence condensateur : +Référence condensateur : ``` VISHAY F1778 MKP / SH @@ -56,7 +56,7 @@ Et voilà ! --- -Merci qui ? +Merci qui ? ----------- - [L'atelier Soudé](http://atelier-soude.fr/) (_Villeurbanne_, _Vaulx en Velin_, _Lyon_, _Oullins_, _Givors_, etc.) diff --git a/content/sauvegarder-configuration-bureau-mate.md b/content/sauvegarder-configuration-bureau-mate.md index 0a95206..db6f90f 100644 --- a/content/sauvegarder-configuration-bureau-mate.md +++ b/content/sauvegarder-configuration-bureau-mate.md @@ -6,30 +6,30 @@ Tags: backup, mate, debian, admin, lmde2 Status: published -Sauvegarde de la BDD _MATE_ avec [`dconf`][dconf] : +Sauvegarde de la BDD _MATE_ avec [`dconf`][dconf] : * `dconf dump / > ~/Desktop/dconf-backup` -Un peu de tri dans les réglages que l'on souhaite garder : +Un peu de tri dans les réglages que l'on souhaite garder : * `vi ~/Desktop/dconf-backup` -Puis sauvegarder des icônes & thèmes : +Puis sauvegarder des icônes & thèmes : * `tar -czvf icons-backup.tar.gz ~/.icons` * `tar -czvf themes-backup.tar.gz ~/.themes` -On restore la config dans le bureau de destination : +On restore la config dans le bureau de destination : * `dconf load / < dconf-backup` * `tar -xzvf icons-backup.tar.gz -C ~/` * `tar -xzvf themes-backup.tar.gz -C ~/` --- -Sources : +Sources : -* [addictivetips.com] : [_How do I restore MATE panel settings from old backup_][at] -* [askubuntu.com] : [_How To Back Up The Mate Desktop Settings On Linux_][so] +* [addictivetips.com] : [_How do I restore MATE panel settings from old backup_][at] +* [askubuntu.com] : [_How To Back Up The Mate Desktop Settings On Linux_][so] [dconf]: https://packages.debian.org/source/buster/dconf [at]: https://www.addictivetips.com/ubuntu-linux-tips/back-up-the-mate-desktop-settings-linux/ diff --git a/content/sketchup2017-wine-lmde2.md b/content/sketchup2017-wine-lmde2.md index 4c8ff6c..fde37a8 100644 --- a/content/sketchup2017-wine-lmde2.md +++ b/content/sketchup2017-wine-lmde2.md @@ -10,7 +10,7 @@ Tags: LMDE2, viellerie, admin, wine **`/!\` Vieilles notes probablement obsolètes `/!\`** -## Version de la distro : +## Version de la distro : ``` ~ % cat /etc/linuxmint/info diff --git a/content/virtualbox-debian-cli.md b/content/virtualbox-debian-cli.md index 82fb3c3..d9205bf 100644 --- a/content/virtualbox-debian-cli.md +++ b/content/virtualbox-debian-cli.md @@ -28,7 +28,7 @@ vboxmanage guestproperty get vdeb "/VirtualBox/GuestInfo/Net/0/V4/IP" --- -Sources consultées : +Sources consultées : - [Installer les _additions invités_ dans VirtualBox][vbxguest] [fr] - [Trouver l’IP d’une machine virtuelle VirtualBox][vbxip] [fr] diff --git a/content/wxpython-installation-debian-buster-en.md b/content/wxpython-installation-debian-buster-en.md index c8cbf9f..2ec001d 100644 --- a/content/wxpython-installation-debian-buster-en.md +++ b/content/wxpython-installation-debian-buster-en.md @@ -64,11 +64,11 @@ if __name__ == '__main__': ![HelloWorld result image][img] -Notes : +Notes : ------- * I had troubles with `python3.6` (but I forgot notice what…) -* About 4.2G of free space is needed in `/tmp` : [I had to set a user-land build-place for pip][pip] +* About 4.2G of free space is needed in `/tmp` : [I had to set a user-land build-place for pip][pip] --- [pip]: https://pip.pypa.io/en/stable/reference/pip_install/#cmdoption-b diff --git a/content/wxpython-installation-debian-buster.md b/content/wxpython-installation-debian-buster.md index ef4f7e9..10e1e55 100644 --- a/content/wxpython-installation-debian-buster.md +++ b/content/wxpython-installation-debian-buster.md @@ -64,11 +64,11 @@ if __name__ == '__main__': ![HelloWorld result image][img] -Notes : +Notes : ------- * Ça n'a pas fonctionné avec `python3.6` (mais j'ai oublié de noter quoi…) -* Nécessite plus de 4.2Go d'espace disque sur `/tmp` : [j'ai du utilisé un répertoire temporaire local][pip] +* Nécessite plus de 4.2Go d'espace disque sur `/tmp` : [j'ai du utilisé un répertoire temporaire local][pip] --- [pip]: https://pip.pypa.io/en/stable/reference/pip_install/#cmdoption-b diff --git a/theme-uberspot/templates/article_header.html b/theme-uberspot/templates/article_header.html index d7fffd5..a2b33cd 100644 --- a/theme-uberspot/templates/article_header.html +++ b/theme-uberspot/templates/article_header.html @@ -13,7 +13,7 @@ {% endif %} {% if article.translations %} - | Traductions : + | Traductions : {% for translation in article.translations %} {{ translation.lang }} {% endfor %} diff --git a/theme-uberspot/templates/base.html b/theme-uberspot/templates/base.html index 263ad7f..4a9126b 100644 --- a/theme-uberspot/templates/base.html +++ b/theme-uberspot/templates/base.html @@ -1,4 +1,7 @@ + diff --git a/theme-uberspot/templates/page.html b/theme-uberspot/templates/page.html index 421c5f4..063ed84 100644 --- a/theme-uberspot/templates/page.html +++ b/theme-uberspot/templates/page.html @@ -6,7 +6,7 @@

{{ page.title|striptags }}

{% if page.translations %} -

Traductions: +

Traductions : {% for translation in page.translations %} [{{ translation.lang }}] {% if not loop.last %} diff --git a/theme-uberspot/templates/social.html b/theme-uberspot/templates/social.html index d7dbc60..64354d7 100644 --- a/theme-uberspot/templates/social.html +++ b/theme-uberspot/templates/social.html @@ -4,7 +4,7 @@ -   +   {% endfor %} diff --git a/theme-uberspot/templates/tags.html b/theme-uberspot/templates/tags.html index f7fe2e6..146790a 100644 --- a/theme-uberspot/templates/tags.html +++ b/theme-uberspot/templates/tags.html @@ -8,7 +8,7 @@

Liste des tags

{
{% for tag, publications in tags %} - '{{ tag }}': {{ publications|count }}{% if not loop.last %}, {% endif %} + '{{ tag }}': {{ publications|count }}{% if not loop.last %}, {% endif %} {% endfor %}
}