Browse Source

i18n

itix-theme
Nicolas Massé 5 years ago
parent
commit
1e4da97fd7
  1. 71
      config.toml
  2. 74
      config.yaml
  3. 11
      content/english/_index.md
  4. 4
      content/english/blog/3scale-toolbox-anonymous-policy.md
  5. 2
      content/english/blog/3scale-toolbox-url-rewriting-policy.md
  6. 2
      content/english/blog/airgap-openshift-installation-move-registry-created-using-oc-adm-release-mirror-between-environments.md
  7. 2
      content/english/blog/ansible-add-prefix-suffix-to-list.md
  8. 2
      content/english/blog/check-ansible-version-number-playbook.md
  9. 6
      content/english/blog/cleanup-playbook-3scale.md
  10. 0
      content/english/blog/cli-world-clock.md
  11. 4
      content/english/blog/configure-redhat-sso-3scale-cli.md
  12. 2
      content/english/blog/configure-truststore-apicurio-studio.md
  13. 2
      content/english/blog/decode-kubernetes-secret-base64.md
  14. 2
      content/english/blog/deploying-invidious-openshift.md
  15. 2
      content/english/blog/deploying-miniflux-openshift.md
  16. 2
      content/english/blog/enable-global-policies-apicast.md
  17. 0
      content/english/blog/feed-url-drupal-wordpress-wix-youtube.md
  18. 2
      content/english/blog/install-miniflux-raspberry-pi.md
  19. 2
      content/english/blog/install-openwrt-raspberry-pi.md
  20. 3
      content/english/blog/install-operator-openshift-cli.md
  21. 0
      content/english/blog/is-my-ntp-daemon-working.md
  22. 23
      content/english/blog/jmeter-assess-software-performances.md
  23. 0
      content/english/blog/m4-as-replacement-for-sed.md
  24. 2
      content/english/blog/nginx-with-tls-on-openwrt.md
  25. 0
      content/english/blog/print-config-file-without-comments.md
  26. 2
      content/english/blog/running-redhat-sso-outside-openshift.md
  27. 0
      content/english/blog/secure-openshift-4-openid-connect-authentication.md
  28. 0
      content/english/blog/secure-quarkus-api-with-keycloak.md
  29. 0
      content/english/blog/secure-raspberry-pi-keycloak-gatekeeper.md
  30. 2
      content/english/blog/send-mails-openwrt-msmtp-gmail.md
  31. 2
      content/english/blog/solving-this-module-requires-the-openshift-python-client-error.md
  32. 0
      content/english/blog/testing-hard-drive-ssd-performance.md
  33. 2
      content/english/blog/use-ansible-to-manage-the-qos-of-your-openshift-workload.md
  34. 0
      content/english/blog/use-google-account-openid-connect-provider.md
  35. 2
      content/english/blog/use-qlkube-to-query-the-kubernetes-api.md
  36. 0
      content/english/blog/writing-workshop-instructions-with-hugo-deploy-openshift.md
  37. 0
      content/english/blog/writing-workshop-instructions-with-hugo-variables.md
  38. 0
      content/english/blog/writing-workshop-instructions-with-hugo.md
  39. 4
      content/english/contact/index.md
  40. 6
      content/english/opensource/_index.md
  41. 6
      content/english/speaking/_index.md
  42. 0
      content/english/speaking/adeo-summit-2018.md
  43. 0
      content/english/speaking/apidays-2017.md
  44. 0
      content/english/speaking/develop-deploy-deliver-continuously.md
  45. 0
      content/english/speaking/devoteam-tech-for-people-2018.md
  46. 0
      content/english/speaking/devoxx-france-2019.md
  47. 0
      content/english/speaking/red-hat-forum-2017.md
  48. 0
      content/english/speaking/red-hat-forum-helsinki-2019.md
  49. 0
      content/english/speaking/red-hat-summit-2018.md
  50. 0
      content/english/speaking/red-hat-summit-2019.md
  51. 0
      content/english/speaking/red-hat-tech-exchange-2018.md
  52. 0
      content/english/speaking/red-hat-tech-exchange-2019.md
  53. 0
      content/english/speaking/techweek-sg-2019.md
  54. 6
      content/english/topics/_index.md
  55. 0
      content/english/writing/3scale-toolbox-deploy-an-api-from-the-cli.md
  56. 0
      content/english/writing/5-principles-for-deploying-your-api-from-a-ci-cd-pipeline.md
  57. 5
      content/english/writing/_index.md
  58. 0
      content/english/writing/apis-as-a-product-get-started-in-no-time.md
  59. 0
      content/english/writing/apis-as-a-product-get-the-value-out-of-your-apis.md
  60. 0
      content/english/writing/deploy-your-api-from-a-jenkins-pipeline.md
  61. 0
      content/english/writing/full-api-lifecycle-management-a-primer.md
  62. 0
      content/english/writing/manage-your-apis-deployed-with-istio-service-mesh.md
  63. 0
      content/english/writing/red-hat-single-sign-on-give-it-a-try-for-no-cost.md
  64. 0
      content/english/writing/using-a-public-certificate-with-red-hat-single-sign-on-keycloak.md
  65. 0
      content/english/writing/using-the-3scale-toolbox-jenkins-shared-library.md
  66. 11
      content/french/_index.md
  67. 15
      content/french/contact/index.md
  68. 6
      content/french/opensource/_index.md
  69. 6
      content/french/speaking/_index.md
  70. 6
      content/french/topics/_index.md
  71. 7
      content/french/writing/_index.md
  72. 7
      content/speaking/_index.md
  73. 7
      content/writing/_index.md

71
config.toml

@ -1,71 +0,0 @@
baseURL = "https://www.itix.fr/"
languageCode = "en-us"
title = "Nicolas Massé"
author = "Nicolas Massé"
theme = "diary"
pygmentsUseClasses = true
pygmentsCodefences = true
enableRobotsTXT = true
[taxonomies]
opensource = "opensource"
topic = "topics"
tags = "tags"
[params]
include_rss = true
latestpostscount = 10
i18n_flags = true
author = "Nicolas Massé"
description = "Nicolas Massé's blog"
github = "//github.com/nmasse-itix"
px500 = "//500px.com/nmasse"
linkedin = "//linkedin.com/in/nicolasmasse"
#selfintro = "TODO intro"
twitter = "//twitter.com/nmasse_itix"
gravatar = "006617bcd9aae1a019e1f923c8bd69e0"
#faviconfile = "images/favicon.ico"
[menu]
[[menu.main]]
name = "Home"
weight = 10
identifier = "home"
url = "/"
[[menu.main]]
name = "Biography"
weight = 20
identifier = "biography"
url = "/biography/"
[[menu.main]]
name = "Blog"
weight = 30
identifier = "blog"
url = "/blog/"
[[menu.main]]
name = "Open Source"
weight = 35
identifier = "opensource"
url = "/opensource/"
[[menu.main]]
name = "Speaking"
weight = 40
identifier = "speaking"
url = "/speaking/"
[[menu.main]]
name = "Writing"
weight = 50
identifier = "writing"
url = "/writing/"
[[menu.main]]
name = "Contact"
weight = 60
identifier = "contact"
url = "/contact/"

74
config.yaml

@ -0,0 +1,74 @@
baseURL: "/"
title: "Nicolas Massé"
author: "Nicolas Massé"
theme: "diary"
# pygmentsUseClasses implies a style sheet that can be generated as follow:
# hugo gen chromastyles --style=borland > static/css/chroma.css
pygmentsUseClasses: true
pygmentsCodefences: true
enableRobotsTXT: true
defaultContentLanguage: "en"
languages:
en:
weight: 1
languageName: English
contentDir: content/english
menu:
main:
- name: "Articles"
weight: 10
url: "/blog/"
- name: "Open Source"
weight: 20
url: "/opensource/"
- name: "Expertise"
weight: 30
url: "/topics/"
- name: "Speaking"
weight: 40
url: "/speaking/"
- name: "Writing"
weight: 50
url: "/writing/"
- name: "Contact"
weight: 60
url: "/contact/"
- name: "Resume"
weight: 70
url: "https://www.linkedin.com/in/nicolasmasse/"
fr:
weight: 2
languageName: Français
contentDir: content/french
menu:
main:
- name: "Articles"
weight: 10
url: "/fr/blog/"
- name: "Open Source"
weight: 20
url: "/fr/opensource/"
- name: "Expertise"
weight: 30
url: "/fr/topics/"
- name: "Conférences"
weight: 40
url: "/fr/speaking/"
- name: "Publications"
weight: 50
url: "/fr/writing/"
- name: "Me contacter"
weight: 60
url: "/fr/contact/"
- name: "CV"
weight: 70
url: "https://www.linkedin.com/in/nicolasmasse/"
taxonomies:
opensource: "opensource"
topic: "topics"
tags: "tags"
params:

11
content/english/_index.md

@ -0,0 +1,11 @@
---
title: "Nicolas Massé"
---
I am Nicolas Massé, you will find me on social networks under the nickname "nmasse-itix".
Initially developer, I now work as pre-sales consultant in the fields of [API Management]({{<relref "/topics/api-management" >}}), [Single Sign On]({{<relref "/topics/openid-connect" >}}) and [Containers]({{<relref "/topics/containers" >}}).
I mainly work with [Open Source]({{<relref "/opensource" >}}) technologies such as [Keycloak]({{<relref "/opensource/keycloak" >}}), [3scale]({{<relref "/opensource/3scale" >}}) or [OpenShift]({{<relref "/opensource/openshift" >}}).
I share my [expertise]({{<relref "/topics" >}}) and interests on this site, as a guest [on other websites]({{<relref "/writing" >}}) and I occasionally give [conferences]({{<relref "/speaking" >}}).
Please read [my blog]({{<relref "/blog" >}}) or [learn more about me](https://www.linkedin.com/in/nicolasmasse/).

4
content/blog/3scale-toolbox-anonymous-policy.md → content/english/blog/3scale-toolbox-anonymous-policy.md

@ -1,8 +1,10 @@
--- ---
title: "What is this 'Anonymous' policy configured by the 3scale toolbox?" title: "What is this 'Anonymous' policy configured by the 3scale toolbox?"
date: 2019-11-14T00:00:00+02:00 date: 2019-11-14T00:00:00+02:00
opensource: opensource:
- 3scale - 3scale
topics:
- API Management
--- ---
In this article on the Red Hat Developer blog, I explained [how to deploy an API from the CLI, using the 3scale toolbox](https://developers.redhat.com/blog/2019/07/29/3scale-toolbox-deploy-an-api-from-the-cli/). In this article on the Red Hat Developer blog, I explained [how to deploy an API from the CLI, using the 3scale toolbox](https://developers.redhat.com/blog/2019/07/29/3scale-toolbox-deploy-an-api-from-the-cli/).

2
content/blog/3scale-toolbox-url-rewriting-policy.md → content/english/blog/3scale-toolbox-url-rewriting-policy.md

@ -3,6 +3,8 @@ title: "What is this 'URL Rewriting' policy configured by the 3scale toolbox?"
date: 2019-11-14T00:00:00+02:00 date: 2019-11-14T00:00:00+02:00
opensource: opensource:
- 3scale - 3scale
topics:
- API Management
--- ---
In this article on the Red Hat Developer blog, I explained [how to deploy an API from a Jenkins Pipeline, using the 3scale toolbox](https://developers.redhat.com/blog/2019/07/30/deploy-your-api-from-a-jenkins-pipeline/). In this article on the Red Hat Developer blog, I explained [how to deploy an API from a Jenkins Pipeline, using the 3scale toolbox](https://developers.redhat.com/blog/2019/07/30/deploy-your-api-from-a-jenkins-pipeline/).

2
content/blog/airgap-openshift-installation-move-registry-created-using-oc-adm-release-mirror-between-environments.md → content/english/blog/airgap-openshift-installation-move-registry-created-using-oc-adm-release-mirror-between-environments.md

@ -5,6 +5,8 @@ opensource:
- Ansible - Ansible
- OpenShift - OpenShift
- Skopeo - Skopeo
topics:
- Containers
--- ---
Some customers, especially large banks, have very tight security requirements. Some customers, especially large banks, have very tight security requirements.

2
content/blog/ansible-add-prefix-suffix-to-list.md → content/english/blog/ansible-add-prefix-suffix-to-list.md

@ -3,6 +3,8 @@ title: "Ansible: Add a prefix or suffix to all items of a list"
date: 2019-11-18T00:00:00+02:00 date: 2019-11-18T00:00:00+02:00
opensource: opensource:
- Ansible - Ansible
topics:
- IT Automation
--- ---
Recently, in [one of my Ansible playbooks](../airgap-openshift-installation-move-registry-created-using-oc-adm-release-mirror-between-environments) I had to prefix all items of a list with a chosen string. Recently, in [one of my Ansible playbooks](../airgap-openshift-installation-move-registry-created-using-oc-adm-release-mirror-between-environments) I had to prefix all items of a list with a chosen string.

2
content/blog/check-ansible-version-number-playbook.md → content/english/blog/check-ansible-version-number-playbook.md

@ -3,6 +3,8 @@ title: "Check the Ansible version number in a playbook"
date: 2019-11-18T00:00:00+02:00 date: 2019-11-18T00:00:00+02:00
opensource: opensource:
- Ansible - Ansible
topics:
- IT Automation
--- ---
My Ansible playbooks sometimes use features that are available only in a very recent versions of Ansible. My Ansible playbooks sometimes use features that are available only in a very recent versions of Ansible.

6
content/blog/cleanup-playbook-3scale.md → content/english/blog/cleanup-playbook-3scale.md

@ -1,8 +1,12 @@
--- ---
title: "A cleanup playbook for 3scale" title: "A cleanup playbook for 3scale"
date: 2020-04-28T00:00:00+02:00 date: 2020-04-28T00:00:00+02:00
opensource: opensource:
- 3scale - 3scale
- Ansible
topics:
- API Management
- IT Automation
--- ---
If you are running integration tests embedding 3scale or are doing a lot of 3scale demos, you might sooner or later **have plenty of services declared in the 3scale Admin console**, which could reveal difficult to work with. If you are running integration tests embedding 3scale or are doing a lot of 3scale demos, you might sooner or later **have plenty of services declared in the 3scale Admin console**, which could reveal difficult to work with.

0
content/blog/cli-world-clock.md → content/english/blog/cli-world-clock.md

4
content/blog/configure-redhat-sso-3scale-cli.md → content/english/blog/configure-redhat-sso-3scale-cli.md

@ -3,7 +3,9 @@ title: "Configure Red Hat SSO for 3scale using the CLI!"
date: 2020-04-08T00:00:00+02:00 date: 2020-04-08T00:00:00+02:00
opensource: opensource:
- 3scale - 3scale
- keycloak - Keycloak
topics:
- OpenID Connect
--- ---
[3scale API Management](https://3scale.github.io/) can be used in conjunction with [Red Hat SSO](https://access.redhat.com/products/red-hat-single-sign-on) / [Keycloak](https://www.keycloak.org/) to secure APIs managed by 3scale using the OpenID Connect protocol. [3scale API Management](https://3scale.github.io/) can be used in conjunction with [Red Hat SSO](https://access.redhat.com/products/red-hat-single-sign-on) / [Keycloak](https://www.keycloak.org/) to secure APIs managed by 3scale using the OpenID Connect protocol.

2
content/blog/configure-truststore-apicurio-studio.md → content/english/blog/configure-truststore-apicurio-studio.md

@ -4,6 +4,8 @@ date: 2019-10-25T00:00:00+02:00
opensource: opensource:
- Apicurio - Apicurio
- Microcks - Microcks
topics:
- API Management
--- ---
[Microcks](http://microcks.github.io) and [Apicurio](https://www.apicur.io/) are nice Open Source projects that can even talk to each other to deliver greater value than the sum of their parts. [Microcks](http://microcks.github.io) and [Apicurio](https://www.apicur.io/) are nice Open Source projects that can even talk to each other to deliver greater value than the sum of their parts.

2
content/blog/decode-kubernetes-secret-base64.md → content/english/blog/decode-kubernetes-secret-base64.md

@ -3,6 +3,8 @@ title: "One-liner to decode a Kubernetes secret (base64 encoded)"
date: 2019-06-07T00:00:00+02:00 date: 2019-06-07T00:00:00+02:00
opensource: opensource:
- OpenShift - OpenShift
topics:
- Containers
--- ---
Creating a Kubernetes secret from a value is easy: Creating a Kubernetes secret from a value is easy:

2
content/blog/deploying-invidious-openshift.md → content/english/blog/deploying-invidious-openshift.md

@ -4,6 +4,8 @@ date: 2019-11-16T00:00:00+02:00
opensource: opensource:
- OpenShift - OpenShift
- Invidious - Invidious
topics:
- Containers
--- ---
[Invidious](https://github.com/omarroth/invidious) is an alternative frontend to YouTube that is slimmer, faster and at the same time offer more features than YouTube itself. And even more important: it's Open Source! [Invidious](https://github.com/omarroth/invidious) is an alternative frontend to YouTube that is slimmer, faster and at the same time offer more features than YouTube itself. And even more important: it's Open Source!

2
content/blog/deploying-miniflux-openshift.md → content/english/blog/deploying-miniflux-openshift.md

@ -4,6 +4,8 @@ date: 2019-11-17T00:00:00+02:00
opensource: opensource:
- OpenShift - OpenShift
- Miniflux - Miniflux
topics:
- Containers
--- ---
[Miniflux](https://miniflux.app) is a minimalist, open source and opinionated RSS feed reader. There is a [hosted instance](https://miniflux.app/hosting.html) available at a fair price point but wouldn't it be cooler to host your own instance on your OpenShift cluster? Let's do it! [Miniflux](https://miniflux.app) is a minimalist, open source and opinionated RSS feed reader. There is a [hosted instance](https://miniflux.app/hosting.html) available at a fair price point but wouldn't it be cooler to host your own instance on your OpenShift cluster? Let's do it!

2
content/blog/enable-global-policies-apicast.md → content/english/blog/enable-global-policies-apicast.md

@ -3,6 +3,8 @@ title: "Enable global policies on Apicast 3.6"
date: 2019-09-10T00:00:00+02:00 date: 2019-09-10T00:00:00+02:00
opensource: opensource:
- 3scale - 3scale
topics:
- API Management
--- ---
Recent versions of Apicast have a pluggable policy mechanism to apply different treatments to each exposed API. Recent versions of Apicast have a pluggable policy mechanism to apply different treatments to each exposed API.

0
content/blog/feed-url-drupal-wordpress-wix-youtube.md → content/english/blog/feed-url-drupal-wordpress-wix-youtube.md

2
content/blog/install-miniflux-raspberry-pi.md → content/english/blog/install-miniflux-raspberry-pi.md

@ -3,6 +3,8 @@ title: "Install Miniflux on your Raspberry PI"
date: 2020-04-08T00:00:00+02:00 date: 2020-04-08T00:00:00+02:00
opensource: opensource:
- OpenWRT - OpenWRT
topics:
- Embedded Systems
--- ---
In the article "[Nginx with TLS on OpenWRT](../nginx-with-tls-on-openwrt/)", I explained how to install Nginx with TLS support on a Raspberry PI. In the article "[Nginx with TLS on OpenWRT](../nginx-with-tls-on-openwrt/)", I explained how to install Nginx with TLS support on a Raspberry PI.

2
content/blog/install-openwrt-raspberry-pi.md → content/english/blog/install-openwrt-raspberry-pi.md

@ -3,6 +3,8 @@ title: "Install OpenWRT on your Raspberry PI"
date: 2019-12-19T00:00:00+02:00 date: 2019-12-19T00:00:00+02:00
opensource: opensource:
- OpenWRT - OpenWRT
topics:
- Embedded Systems
--- ---
[OpenWRT](https://openwrt.org/) is a Linux distribution for embedded systems. [OpenWRT](https://openwrt.org/) is a Linux distribution for embedded systems.

3
content/blog/install-operator-openshift-cli.md → content/english/blog/install-operator-openshift-cli.md

@ -3,6 +3,9 @@ title: "Install Kubernetes operators in OpenShift using only the CLI"
date: 2020-04-24T00:00:00+02:00 date: 2020-04-24T00:00:00+02:00
opensource: opensource:
- OpenShift - OpenShift
topics:
- Containers
- Kubernetes Operators
--- ---
OpenShift 4 went all-in on Kubernetes operators: they are used for installation of the platform itself but also to install databases, middlewares, etc. OpenShift 4 went all-in on Kubernetes operators: they are used for installation of the platform itself but also to install databases, middlewares, etc.

0
content/blog/is-my-ntp-daemon-working.md → content/english/blog/is-my-ntp-daemon-working.md

23
content/blog/jmeter-assess-software-performances.md → content/english/blog/jmeter-assess-software-performances.md

@ -2,9 +2,11 @@
title: "Use JMeter to assess software performances" title: "Use JMeter to assess software performances"
date: 2020-07-24T00:00:00+02:00 date: 2020-07-24T00:00:00+02:00
opensource: opensource:
- jmeter - JMeter
topic: topics:
- performance-testing - Performance testing
resources:
- '**.png'
--- ---
One of my side projects (the [Telegram Photo Bot](https://github.com/nmasse-itix/Telegram-Photo-Album-Bot)), have some performance issues that I will have to tackle. One of my side projects (the [Telegram Photo Bot](https://github.com/nmasse-itix/Telegram-Photo-Album-Bot)), have some performance issues that I will have to tackle.
@ -17,6 +19,7 @@ To keep this article short and readable, I focused on the assessment of two HTTP
## Hardware setup ## Hardware setup
### Test 1
When building my lab, I chose the smallest computer I had at home to host the thing to be assessed. When building my lab, I chose the smallest computer I had at home to host the thing to be assessed.
The reason is: the more powerful is the server, the more steady needs the network setup to be, the more powerful the injector needs to be. The reason is: the more powerful is the server, the more steady needs the network setup to be, the more powerful the injector needs to be.
If the rest of your setup is not up to the task, you are measuring something that is not the performances of the thing but rather the performances of your network or the injector itself! If the rest of your setup is not up to the task, you are measuring something that is not the performances of the thing but rather the performances of your network or the injector itself!
@ -25,7 +28,7 @@ We will see a good demonstration of this in the rest of the article.
So, the target hardware is an ARMv5 board with only one core running at 1.2 GHz, 128 MB of RAM and 256 MB of Flash. So, the target hardware is an ARMv5 board with only one core running at 1.2 GHz, 128 MB of RAM and 256 MB of Flash.
It was [a cheap NAS device](https://www.cnet.com/reviews/seagate-goflex-home-network-storage-system-review/) in its previous life. It was [a cheap NAS device](https://www.cnet.com/reviews/seagate-goflex-home-network-storage-system-review/) in its previous life.
I installed [OpenWRT](/opensource/openwrt/) on this little device. I installed [OpenWRT](/opensource/openwrt/) on this little device.
### Test 2
The injector is hosted on my Macbook Pro, a Core i7 at 2.5 GHz. The injector is hosted on my Macbook Pro, a Core i7 at 2.5 GHz.
This will provide a comfortable margin before reaching the limits of the injector. This will provide a comfortable margin before reaching the limits of the injector.
@ -100,7 +103,7 @@ http {
My first measure on the control (nginx) gave strange results. My first measure on the control (nginx) gave strange results.
![control1](control1.png) {{< figure src="control1.png" title="First measure gave results too low to be representative of nginx's performances." >}}
Less than 30 tps, even on an old ARM board, is definitely too low to be representative of nginx's performances. Less than 30 tps, even on an old ARM board, is definitely too low to be representative of nginx's performances.
Using [Wireshark](https://www.wireshark.org/), I discovered that JMeter did not established [Keep-Alive connections](https://sqa.stackexchange.com/questions/38211/re-using-the-tcp-connections-with-jmeter-like-a-real-browser). Using [Wireshark](https://www.wireshark.org/), I discovered that JMeter did not established [Keep-Alive connections](https://sqa.stackexchange.com/questions/38211/re-using-the-tcp-connections-with-jmeter-like-a-real-browser).
@ -133,13 +136,13 @@ httpclient.reset_state_on_thread_group_iteration=false
With Keep-Alive enabled, the 1200 tps are much more inline with the known performance level of nginx. With Keep-Alive enabled, the 1200 tps are much more inline with the known performance level of nginx.
Except there is a performance drop every 10-15 seconds that is not expected. Except there is a performance drop every 10-15 seconds that is not expected.
![control2](control2.png) {{< figure src="control2.png" title="Second measure shows a periodic performance drop." >}}
Using Wireshark, I discovered that during those performance drops, there are [TCP packets retransmissions](https://wiki.wireshark.org/DuplicatePackets). Using Wireshark, I discovered that during those performance drops, there are [TCP packets retransmissions](https://wiki.wireshark.org/DuplicatePackets).
At that time, my Macbook Pro hosting the injector was connected **using Wifi**. At that time, my Macbook Pro hosting the injector was connected **using Wifi**.
I switched to a good old Ethernet cable, and this time the results on the control were as expected. I switched to a good old Ethernet cable, and this time the results on the control were as expected.
![control3](control3.png) {{< figure src="control3.png" title="Third measure is ok." >}}
As a conclusion, always have a control in your experience! As a conclusion, always have a control in your experience!
@ -147,7 +150,7 @@ As a conclusion, always have a control in your experience!
To build my JMeter Test Plan, I started by adding a **User Defined Variables** component that holds all the settings related to lab environment (DNS names, ports, tokens, etc.). To build my JMeter Test Plan, I started by adding a **User Defined Variables** component that holds all the settings related to lab environment (DNS names, ports, tokens, etc.).
![udv](udv.png) {{< figure src="udv.png" title="JMeter User Defined Variables" >}}
I added a variable named **scenario** whose value will be passed to JMeter from the CLI. I added a variable named **scenario** whose value will be passed to JMeter from the CLI.
This enables me to run all my experiments automatically from a script, one after another. This enables me to run all my experiments automatically from a script, one after another.
@ -159,12 +162,12 @@ ${__P(parameter-name,default-value)}
I configured a **Thread Group** based on the **jp@gc - Ultimate Thread Group** with five concurrent users. I configured a **Thread Group** based on the **jp@gc - Ultimate Thread Group** with five concurrent users.
![thread-group](thread-group.png) {{< figure src="thread-group.png" title="JMeter Thread Group" >}}
And finally, a **Loop** component with three **If Controllers** underneath. And finally, a **Loop** component with three **If Controllers** underneath.
Each **If Controller** holds an **HTTP Probe** configured for the target scenario. Each **If Controller** holds an **HTTP Probe** configured for the target scenario.
![if](if.png) {{< figure src="if.png" title="JMeter If Controller" >}}
The If Controllers are defined with a **jexl3** expression, asserting the value of the **scenario** variable. The If Controllers are defined with a **jexl3** expression, asserting the value of the **scenario** variable.

0
content/blog/m4-as-replacement-for-sed.md → content/english/blog/m4-as-replacement-for-sed.md

2
content/blog/nginx-with-tls-on-openwrt.md → content/english/blog/nginx-with-tls-on-openwrt.md

@ -4,6 +4,8 @@ date: 2019-12-19T00:00:00+02:00
opensource: opensource:
- OpenWRT - OpenWRT
- nginx - nginx
topics:
- Embedded Systems
--- ---
In the article "[Install OpenWRT on your Raspberry PI](../install-openwrt-raspberry-pi/)", I explained how to install OpenWRT on a Raspberry PI and the first steps as an OpenWRT user. In the article "[Install OpenWRT on your Raspberry PI](../install-openwrt-raspberry-pi/)", I explained how to install OpenWRT on a Raspberry PI and the first steps as an OpenWRT user.

0
content/blog/print-config-file-without-comments.md → content/english/blog/print-config-file-without-comments.md

2
content/blog/running-redhat-sso-outside-openshift.md → content/english/blog/running-redhat-sso-outside-openshift.md

@ -3,6 +3,8 @@ title: "Running Red Hat SSO outside of OpenShift"
date: 2019-10-10T00:00:00+02:00 date: 2019-10-10T00:00:00+02:00
opensource: opensource:
- Keycloak - Keycloak
topics:
- Containers
--- ---
In an article named [Red Hat Single Sign-On: Give it a try for no cost!](https://developers.redhat.com/blog/2019/02/07/red-hat-single-sign-on-give-it-a-try-for-no-cost/), I explained how to deploy Red Hat SSO very easily in any OpenShift cluster. In an article named [Red Hat Single Sign-On: Give it a try for no cost!](https://developers.redhat.com/blog/2019/02/07/red-hat-single-sign-on-give-it-a-try-for-no-cost/), I explained how to deploy Red Hat SSO very easily in any OpenShift cluster.

0
content/blog/secure-openshift-4-openid-connect-authentication.md → content/english/blog/secure-openshift-4-openid-connect-authentication.md

0
content/blog/secure-quarkus-api-with-keycloak.md → content/english/blog/secure-quarkus-api-with-keycloak.md

0
content/blog/secure-raspberry-pi-keycloak-gatekeeper.md → content/english/blog/secure-raspberry-pi-keycloak-gatekeeper.md

2
content/blog/send-mails-openwrt-msmtp-gmail.md → content/english/blog/send-mails-openwrt-msmtp-gmail.md

@ -3,6 +3,8 @@ title: "Send mails on OpenWRT with MSMTP and Gmail"
date: 2020-04-08T00:00:00+02:00 date: 2020-04-08T00:00:00+02:00
opensource: opensource:
- OpenWRT - OpenWRT
topics:
- Embedded Systems
--- ---
A previous article named "[Install OpenWRT on your Raspberry PI](../install-openwrt-raspberry-pi/)" goes through the setup process to use OpenWRT on your Raspberry PI. A previous article named "[Install OpenWRT on your Raspberry PI](../install-openwrt-raspberry-pi/)" goes through the setup process to use OpenWRT on your Raspberry PI.

2
content/blog/solving-this-module-requires-the-openshift-python-client-error.md → content/english/blog/solving-this-module-requires-the-openshift-python-client-error.md

@ -4,6 +4,8 @@ date: 2019-09-13T00:00:00+02:00
opensource: opensource:
- OpenShift - OpenShift
- Ansible - Ansible
topics:
- IT Automation
--- ---
If you are using MacOS to develop Operators based on Ansible or simply running Ansible playbooks straight from your Mac, you might encounter this error: If you are using MacOS to develop Operators based on Ansible or simply running Ansible playbooks straight from your Mac, you might encounter this error:

0
content/blog/testing-hard-drive-ssd-performance.md → content/english/blog/testing-hard-drive-ssd-performance.md

2
content/blog/use-ansible-to-manage-the-qos-of-your-openshift-workload.md → content/english/blog/use-ansible-to-manage-the-qos-of-your-openshift-workload.md

@ -4,6 +4,8 @@ date: 2019-02-06T00:00:00+02:00
opensource: opensource:
- OpenShift - OpenShift
- Ansible - Ansible
topics:
- IT Automation
--- ---
As I was administering my OpenShift cluster, I found out that I had a too As I was administering my OpenShift cluster, I found out that I had a too

0
content/blog/use-google-account-openid-connect-provider.md → content/english/blog/use-google-account-openid-connect-provider.md

2
content/blog/use-qlkube-to-query-the-kubernetes-api.md → content/english/blog/use-qlkube-to-query-the-kubernetes-api.md

@ -3,7 +3,7 @@ title: "Use QLKube to query the Kubernetes API"
date: 2019-06-07T00:00:00+02:00 date: 2019-06-07T00:00:00+02:00
opensource: opensource:
- OpenShift - OpenShift
topic: topics:
- GraphQL - GraphQL
--- ---

0
content/blog/writing-workshop-instructions-with-hugo-deploy-openshift.md → content/english/blog/writing-workshop-instructions-with-hugo-deploy-openshift.md

0
content/blog/writing-workshop-instructions-with-hugo-variables.md → content/english/blog/writing-workshop-instructions-with-hugo-variables.md

0
content/blog/writing-workshop-instructions-with-hugo.md → content/english/blog/writing-workshop-instructions-with-hugo.md

4
content/contact/index.md → content/english/contact/index.md

@ -1,7 +1,5 @@
--- ---
title: "Contact me" title: "Contact me"
date: 2018-01-01T00:00:00+02:00
draft: false
--- ---
Do you need something from me ? Do you need something from me ?
@ -11,7 +9,7 @@ email address or on twitter at [@nmasse_itix](https://twitter.com/nmasse_itix).
![My Email](/images/my-email.png) ![My Email](/images/my-email.png)
If you want to know more about my professional career, you can find it on [Linkedin](https://www.linkedin.com/in/nicolasmasse/) but I can also provide a current CV or bio upon request. If you want to know more about my professional career, you can find it on [Linkedin](https://www.linkedin.com/in/nicolasmasse/) but I can also provide a current CV or biography upon request.
If you are reaching out to me for one of my [Open Source projects](https://github.com/nmasse-itix?tab=repositories) If you are reaching out to me for one of my [Open Source projects](https://github.com/nmasse-itix?tab=repositories)
or one of my contributions, please open an issue in the relevant GitHub repository or one of my contributions, please open an issue in the relevant GitHub repository

6
content/english/opensource/_index.md

@ -0,0 +1,6 @@
---
title: "Open Source"
---
In my daily work I use many Open Source communities, on which I have written articles.
Each Open Source community below is a link to the list of matching articles.

6
content/english/speaking/_index.md

@ -0,0 +1,6 @@
---
title: "Speaking"
---
I am occasionally invited to customers or corporate events to talk about APIs and SSO.
I have compiled the list of my latest talks below.

0
content/speaking/adeo-summit-2018.md → content/english/speaking/adeo-summit-2018.md

0
content/speaking/apidays-2017.md → content/english/speaking/apidays-2017.md

0
content/speaking/develop-deploy-deliver-continuously.md → content/english/speaking/develop-deploy-deliver-continuously.md

0
content/speaking/devoteam-tech-for-people-2018.md → content/english/speaking/devoteam-tech-for-people-2018.md

0
content/speaking/devoxx-france-2019.md → content/english/speaking/devoxx-france-2019.md

0
content/speaking/red-hat-forum-2017.md → content/english/speaking/red-hat-forum-2017.md

0
content/speaking/red-hat-forum-helsinki-2019.md → content/english/speaking/red-hat-forum-helsinki-2019.md

0
content/speaking/red-hat-summit-2018.md → content/english/speaking/red-hat-summit-2018.md

0
content/speaking/red-hat-summit-2019.md → content/english/speaking/red-hat-summit-2019.md

0
content/speaking/red-hat-tech-exchange-2018.md → content/english/speaking/red-hat-tech-exchange-2018.md

0
content/speaking/red-hat-tech-exchange-2019.md → content/english/speaking/red-hat-tech-exchange-2019.md

0
content/speaking/techweek-sg-2019.md → content/english/speaking/techweek-sg-2019.md

6
content/english/topics/_index.md

@ -0,0 +1,6 @@
---
title: "Expertise"
---
During my various interventions on customer site, I had to work on various subjects for which I have written one or more articles.
Each subject is a link to the list of matching articles.

0
content/writing/3scale-toolbox-deploy-an-api-from-the-cli.md → content/english/writing/3scale-toolbox-deploy-an-api-from-the-cli.md

0
content/writing/5-principles-for-deploying-your-api-from-a-ci-cd-pipeline.md → content/english/writing/5-principles-for-deploying-your-api-from-a-ci-cd-pipeline.md

5
content/english/writing/_index.md

@ -0,0 +1,5 @@
---
title: "Writing"
---
I post articles from time to time on various websites as a guest. I have gathered a list of my recent posts below.

0
content/writing/apis-as-a-product-get-started-in-no-time.md → content/english/writing/apis-as-a-product-get-started-in-no-time.md

0
content/writing/apis-as-a-product-get-the-value-out-of-your-apis.md → content/english/writing/apis-as-a-product-get-the-value-out-of-your-apis.md

0
content/writing/deploy-your-api-from-a-jenkins-pipeline.md → content/english/writing/deploy-your-api-from-a-jenkins-pipeline.md

0
content/writing/full-api-lifecycle-management-a-primer.md → content/english/writing/full-api-lifecycle-management-a-primer.md

0
content/writing/manage-your-apis-deployed-with-istio-service-mesh.md → content/english/writing/manage-your-apis-deployed-with-istio-service-mesh.md

0
content/writing/red-hat-single-sign-on-give-it-a-try-for-no-cost.md → content/english/writing/red-hat-single-sign-on-give-it-a-try-for-no-cost.md

0
content/writing/using-a-public-certificate-with-red-hat-single-sign-on-keycloak.md → content/english/writing/using-a-public-certificate-with-red-hat-single-sign-on-keycloak.md

0
content/writing/using-the-3scale-toolbox-jenkins-shared-library.md → content/english/writing/using-the-3scale-toolbox-jenkins-shared-library.md

11
content/french/_index.md

@ -0,0 +1,11 @@
---
title: "Nicolas Massé"
---
Je suis Nicolas Massé, vous me trouverez sur les réseaux sociaux sous le pseudo "nmasse-itix".
Développeur de formation, mon métier actuel est consultant avant-vente dans les domaines de l'[API Management]({{<relref "/topics/api-management" >}}), le [Single Sign On]({{<relref "/topics/openid-connect" >}}) et les [conteneurs]({{<relref "/topics/containers" >}}).
Je travaille principalement avec des technologies [Open Source]({{<relref "/opensource" >}}) telles que [Keycloak]({{<relref "/opensource/keycloak" >}}), [3scale]({{<relref "/opensource/3scale" >}}) ou [OpenShift]({{<relref "/opensource/openshift" >}}).
Je partage mon [expertise]({{<relref "/topics" >}}) et mes centres d'intérêt sur ce site, [ailleurs sur le web]({{<relref "/writing" >}}) et je donne occasionnellement des [conférences]({{<relref "/speaking" >}}).
Je vous invite à lire [mon blog]({{<relref "/blog" >}}) ou à en savoir plus [sur moi](https://www.linkedin.com/in/nicolasmasse/).

15
content/french/contact/index.md

@ -0,0 +1,15 @@
---
title: "Me contacter"
---
Besoin de quelque chose ?
Pour toute demande de conférence, d'article ou de prestation, vous pouvez me contacter directement à mon adresse e-mail ou sur Twitter à [@nmasse_itix](https://twitter.com/nmasse_itix).
![Mon e-mail](/images/my-email.png)
Si vous souhaitez en savoir plus sur mon parcours professionnel, vous pouvez le trouver sur [Linkedin](https://www.linkedin.com/in/nicolasmasse/) mais je peux également fournir un CV ou une biographie à jour sur demande.
Si vous me contactez pour l'un de mes [projets Open Source](https://github.com/nmasse-itix?tab=repositories) ou l'une de mes contributions, vous pouvez ouvrir un ticket dans l'entrepot GitHub concerné et mentionnez [@nmasse-itix](https://github.com/nmasse-itix/).
Remarque: je ne m'engage généralement pas sur un temps de réponse spécifique ni sur aucune réponse du tout à moins que votre e-mail ne soit clair, droit au but et ait quelque chose à voir avec mes centres d'intérêt.

6
content/french/opensource/_index.md

@ -0,0 +1,6 @@
---
title: "Open Source"
---
J'utilise dans mon travail au quotidien de nombreuses communautés Open Source, sur lesquelles j'ai été ammené à écrire des articles.
Chaque communauté Open Source ci-dessous est un lien vers la liste des articles correspondants.

6
content/french/speaking/_index.md

@ -0,0 +1,6 @@
---
title: "Conférences"
---
Je suis occasionnellement invité chez des clients ou sur des salons pour parler des APIs et de SSO.
J'ai compilé ci-dessous la liste de mes dernières interventions.

6
content/french/topics/_index.md

@ -0,0 +1,6 @@
---
title: "Expertise"
---
Au cours de mes différentes prestations, je suis amené à travailler sur des sujets variés pour lesquels j'ai écrit un ou plusieurs articles.
Chaque sujet est un lien vers la liste des articles correspondants.

7
content/french/writing/_index.md

@ -0,0 +1,7 @@
---
title: "Publications"
date: 2019-11-07T00:00:00+02:00
draft: false
---
Je publie des articles de temps à autre sur divers sites web en tant qu'invité. J'ai compilé ci-dessous une liste de mes récentes publications.

7
content/speaking/_index.md

@ -1,7 +0,0 @@
---
title: "Speaking"
date: 2017-02-20T00:00:00+02:00
draft: false
---
Here is a list of my recent talks.

7
content/writing/_index.md

@ -1,7 +0,0 @@
---
title: "Writing"
date: 2019-11-07T00:00:00+02:00
draft: false
---
Here is a list of my recent articles.
Loading…
Cancel
Save