🎨 Normalize usage of non breaking spaces

Remove ` ` by ` `, less painfull to read
This commit is contained in:
Freezed 2020-09-27 22:12:55 +02:00
parent d96f73a07e
commit f348579a90
51 changed files with 221 additions and 218 deletions

View File

@ -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/).

View File

@ -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_

View File

@ -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.

View File

@ -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]

View File

@ -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/)

View File

@ -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à!

View File

@ -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]

View File

@ -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

View File

@ -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]

View File

@ -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)

View File

@ -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.

View File

@ -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

View File

@ -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`

View File

@ -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

View File

@ -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

View File

@ -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/<namespace>/grandpy/settings/ci_cd`&nbsp;:
Set up a [AWS IAM profile][awsiam] on **your AWS account** and add valid environment variables in `https://gitlab.com/<namespace>/grandpy/settings/ci_cd`:
- `AWS_ACCESS_KEY_ID`
- `AWS_SECRET_ACCESS_KEY`
Push it back and the _CI script_ will&nbsp;:
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

View File

@ -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&nbsp;: 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&nbsp;:
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&nbsp;:
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&nbsp;:
### Localement:
Il fonctionne comme une simple application mono-page [flask][flask]&nbsp;:
Il fonctionne comme une simple application mono-page [flask][flask]:
- [forkez-le][fork]
- mettez en place un environement virtuel&nbsp;: `virtualenv .venv`
- installez les dépendances&nbsp;: `pip install -r requirements.txt`
- executez locallement&nbsp;: `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&nbsp;:
### Sur Gitlab:
Créez un profil [AWS IAM][awsiam] sur **votre compte AWS** et ajoutez des variables d'environnement valides dans `https://gitlab.com/<namespace>/grandpy/settings/ci_cd`&nbsp;:
Créez un profil [AWS IAM][awsiam] sur **votre compte AWS** et ajoutez des variables d'environnement valides dans `https://gitlab.com/<namespace>/grandpy/settings/ci_cd`:
Repoussez le et le script d'intégration continue&nbsp;:
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_

View File

@ -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&nbsp;: [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.

View File

@ -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&nbsp;: 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.

View File

@ -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&nbsp;:**
**Sur une installation _standard_ basée sur:**
- Debian/GNU Linux
- Apache HTTPD
- MariaDB
**Mises à jours concernées&nbsp;:**
**Mises à jours concernées:**
- de _Nextcloud_ 12 à 18
- de _Debian/Stretch_ à _Debian/Buster_
**Remarques&nbsp;:**
**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&nbsp;: 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&nbsp;:
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&nbsp;: 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&nbsp;: 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&nbsp;: `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&nbsp;: 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&nbsp;: 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&nbsp;: 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&nbsp;: 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<br/>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&nbsp;: `mv nextcloud next-nextcloud-16.0.8`
- ⏪ rollback to 15.0.14&nbsp;: `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&nbsp;: `mv nextcloud next-nextcloud-16.0.8`
- 📸 backup 15.0.14&nbsp;: `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&nbsp;: v16.0.8 > v16.0.9
1. ☑ ⬆️ Upgrade Nextcloud: v16.0.8 > v16.0.9
- «[`update script`][5]»
1. ☑ ⬆️ Upgrade Nextcloud&nbsp;: 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&nbsp;: 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&nbsp;: v17.0.5 > v18.0.3`»
1. ☑ ⬆️ Upgrade Nextcloud&nbsp;: 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_&nbsp;: [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

View File

@ -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&nbsp;BY&nbsp;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 [CCBY4.0](https://creativecommons.org/licenses/by/4.0/deed.fr).
Mes adaptations&nbsp;:
Mes adaptations:
- lien vers le commit de _build_ du site;
- suppression de _templates_ (`disqus`, `js_https`, etc.);

View File

@ -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é&nbsp;:
* 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

View File

@ -1,4 +1,4 @@
Title: Parcours dev python&nbsp;: 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_&nbsp;: 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_&nbsp;:
* 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&nbsp;: 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&nbsp;:
* 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]

View File

@ -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&nbsp;:
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

View File

@ -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&nbsp;:
- 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

View File

@ -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&nbsp;: 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

View File

@ -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` &nbsp;:-)
* suppression de `fsockopen()` dans la directive `disable_functions` :-)
### Sources:

View File

@ -4,21 +4,21 @@ Slug: contact
Status: published
Summary: Contact me!
Hopla&nbsp;!
Hopla!
-------
Welcome to this page, my name is _Frédéric Zind_.
Professional in **vehicle maintenance** and **software development**, I share here&nbsp;:
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&nbsp;:
To contact me:
- mail&nbsp;: [pro@zind.fr](mailto:pro@zind.fr)
- phone&nbsp;: [+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.

View File

@ -2,23 +2,23 @@ Title: Contact
Lang: fr
Slug: contact
Status: published
Summary: Contactez moi&nbsp;!
Summary: Contactez moi!
Hopla&nbsp;!
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&nbsp;:
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&nbsp;:
Pour me contacter:
- mail&nbsp;: [pro@zind.fr](mailto:pro@zind.fr)
- tel&nbsp;: [+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.

View File

@ -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&nbsp;:
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&nbsp;:
Ouvrez une session de terminal depuis le répertoire d'installation et lancez la commande suivante:
```python
pelican --listen
```

View File

@ -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&nbsp;:
Diagrams are:
* **100%** text described
* built with _gitlab-ci_
@ -21,10 +21,10 @@ Diagrams are&nbsp;:
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_&nbsp;:
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]&nbsp;:
In this repo, _shared files_ diagrams [share same data][part]:
- associations
- attributes

View File

@ -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&nbsp;:
Les diagrammes sont:
* décrits **100%** par du texte
* générés avec _gitlab-ci_
@ -21,10 +21,10 @@ Les diagrammes sont&nbsp;:
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_&nbsp;:
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]&nbsp;:
Dans mon [exemple][repo], les diagrammes marqués _shared files_ [partagent les mêmes entitiés][part]:
- associations
- attributs

View File

@ -10,9 +10,9 @@ Status: published
Par [Nina Cercy][2] Salle [Alfred Wegener][awegener] Samedi à 17h30
![logo PyConFr Bordeaux 2019][pyconimg]
Biais cognitifs, sciences comportementales, incitations douces&nbsp;: le cerveau des utilisateurs/trices est devenu notre terrain de jeu — et linfantilisation notre meilleur business model.
Biais cognitifs, sciences comportementales, incitations douces: le cerveau des utilisateurs/trices est devenu notre terrain de jeu — et linfantilisation 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 lattention. Ne jetons pas le bébé avec leau du bain&nbsp;: la science comportementale, cest 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 lattention. Ne jetons pas le bébé avec leau du bain: la science comportementale, cest 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&nbsp;:
Piste émancipatrice individuelles proposée:
- anticipation
- minimisation

View File

@ -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&nbsp;:
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&nbsp;:
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_.

View File

@ -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]&nbsp;: 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_&nbsp;: [_Hello Zappa_][hz]
Mon autre _bac à sable Zappa_: [_Hello Zappa_][hz]
Le support est disponible en cliquant **sur le logo** de _PyConFr_ ci-dessus.

View File

@ -43,30 +43,30 @@ Notes personnelles:
### Acces aux déficients
- visuel&nbsp;: 8%
- auditif&nbsp;: 5%
- cognitif&nbsp;: 16%
- visuel: 8%
- auditif: 5%
- cognitif: 16%
### Stats
- tests visuels&nbsp;: 71% de bonne réponse
- tests audios&nbsp;: 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&nbsp;:
Définir challenge visuel:
- Image de WikiCommons
- proposition de 9 vignettes issues d'autres image, sauf une
Définir challenge audio&nbsp;:
Définir challenge audio:
- séquence de son sur lesquelles on ajoute du morse
- bibliothèque CCMixer
### Quitter ReCAPTCHA
Remplacement des 2 URLs&nbsp;: JS & clef
Remplacement des 2 URLs: JS & clef
pré-génération indispensable par lot /!\ au appel wiki & CCMixer

View File

@ -10,7 +10,7 @@ Status: published
Par [François Séguin][4] [Salle Rosalind][rfranklin] Samedi à 14h30
![logo PyConFr Bordeaux 2019][pyconimg]
Câbles diplomatiques américains, emails de Sony Pictures, photos de prototype d'iPhone&nbsp;: 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éé.

View File

@ -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

View File

@ -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 dapplication que pour des programmes de calculs complexe, ouvre par sa facilité de prise en main un champ gigantesque de possibilité à toutes les populations. Lassociation “Zeste de Savoir”, fédérée autour dun 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 sy 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 dapplication que pour des programmes de calculs complexe, ouvre par sa facilité de prise en main un champ gigantesque de possibilité à toutes les populations. Lassociation “Zeste de Savoir”, fédérée autour dun 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 sy 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]&nbsp;: 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&nbsp;: 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&nbsp;:
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&nbsp;: 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&nbsp;: via le forum/site
Continuité de la formation pour les intéressés: via le forum/site
Combien de session de 4h&nbsp;: 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

View File

@ -23,7 +23,7 @@ This talk is for audients who are interested to know how our lives are changed b
---
Personal notes&nbsp;:
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&nbsp;:
Gov reaction:
- 11/8 eye injury
- 1/10 1st protester shot
@ -43,17 +43,17 @@ Gov reaction&nbsp;:
Apps related to protests:
- tinder&nbsp;: leave message on status
- LiHKG, but moved on reddit&nbsp;: share useful links
- telegram&nbsp;: encription chat & **hudge** groups
- twitch&nbsp;: recording _real_ video
- [bridgefy][4]&nbsp;: bluetooth network with rebound
- uber&nbsp;: volunteer drivers help protesters but police arrest now driving
- pokemon go&nbsp;: used for an excuse for illegal assembly
- [whatsgap][5]&nbsp;: suggestion for protester supporter restauration & Week end activities
- _unknow_&nbsp;: 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&nbsp;:
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&nbsp;: 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

View File

@ -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&nbsp;:
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.)

View File

@ -6,30 +6,30 @@ Tags: backup, mate, debian, admin, lmde2
Status: published
Sauvegarde de la BDD _MATE_ avec [`dconf`][dconf]&nbsp;:
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&nbsp;:
Un peu de tri dans les réglages que l'on souhaite garder:
* `vi ~/Desktop/dconf-backup`
Puis sauvegarder des icônes & thèmes&nbsp;:
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&nbsp;:
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&nbsp;:
Sources:
* [addictivetips.com]&nbsp;: [_How do I restore MATE panel settings from old backup_][at]
* [askubuntu.com]&nbsp;: [_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/

View File

@ -10,7 +10,7 @@ Tags: LMDE2, viellerie, admin, wine
**`/!\` Vieilles notes probablement obsolètes `/!\`**
## Version de la distro&nbsp;:
## Version de la distro:
```
~ % cat /etc/linuxmint/info

View File

@ -28,7 +28,7 @@ vboxmanage guestproperty get vdeb "/VirtualBox/GuestInfo/Net/0/V4/IP"
---
Sources consultées&nbsp;:
Sources consultées:
- [Installer les _additions invités_ dans VirtualBox][vbxguest] [fr]
- [Trouver lIP dune machine virtuelle VirtualBox][vbxip] [fr]

View File

@ -64,11 +64,11 @@ if __name__ == '__main__':
![HelloWorld result image][img]
Notes&nbsp;:
Notes:
-------
* I had troubles with `python3.6` (but I forgot notice what…)
* About 4.2G of free space is needed in `/tmp`&nbsp;: [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

View File

@ -64,11 +64,11 @@ if __name__ == '__main__':
![HelloWorld result image][img]
Notes&nbsp;:
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`&nbsp;: [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

View File

@ -13,7 +13,7 @@
</span>
{% endif %}
{% if article.translations %}
&nbsp;|&nbsp;Traductions&nbsp;:
|Traductions:
{% for translation in article.translations %}
<a href="/{{ translation.url }}">{{ translation.lang }}</a>
{% endfor %}

View File

@ -1,4 +1,7 @@
<!DOCTYPE html>
<!-- Tu jettes un œil au code? Je fais ça aussi de temps en temps.
Je t'offre une bière la prochaine fois que l'on se croise avec le mot de passe
"Cœur d'artichaut à la moutarde à l'ancienne" (-: -->
<html>
<head>
<meta charset="utf-8">

View File

@ -6,7 +6,7 @@
<header>
<h1><a href="/{{ page.url }}" rel="bookmark">{{ page.title|striptags }}</a></h1>
{% if page.translations %}
<p>Traductions:
<p>Traductions:
{% for translation in page.translations %}
<a href="/{{ translation.url }}">[{{ translation.lang }}]</a>
{% if not loop.last %}

View File

@ -4,7 +4,7 @@
<a href="{{ link }}" target="_blank" title="{{ title }}">
<i class="fa fa-{{ title|lower }} fa-2x"></i>
</a>
&nbsp;
{% endfor %}
</div>
</center>

View File

@ -8,7 +8,7 @@
<h2>Liste des tags</h2>
{<br/>
{% for tag, publications in tags %}
<a href="{{ SITEURL }}/{{ tag.url }}">'{{ tag }}'</a>:&nbsp;{{ publications|count }}{% if not loop.last %}, {% endif %}
<a href="{{ SITEURL }}/{{ tag.url }}">'{{ tag }}'</a>:{{ publications|count }}{% if not loop.last %}, {% endif %}
{% endfor %}
<br/>}
</section>