From 1e4da97fd7f38aed2c96bd73470ab7b6dfed64fc Mon Sep 17 00:00:00 2001 From: Nicolas MASSE Date: Tue, 22 Dec 2020 17:19:22 +0100 Subject: [PATCH] i18n --- config.toml | 71 ------------------ config.yaml | 74 +++++++++++++++++++ content/english/_index.md | 11 +++ .../blog/3scale-toolbox-anonymous-policy.md | 4 +- .../3scale-toolbox-url-rewriting-policy.md | 2 + ...adm-release-mirror-between-environments.md | 2 + .../blog/ansible-add-prefix-suffix-to-list.md | 2 + .../check-ansible-version-number-playbook.md | 2 + .../blog/cleanup-playbook-3scale.md | 6 +- content/{ => english}/blog/cli-world-clock.md | 0 .../blog/configure-redhat-sso-3scale-cli.md | 4 +- .../configure-truststore-apicurio-studio.md | 2 + .../blog/decode-kubernetes-secret-base64.md | 2 + .../blog/deploying-invidious-openshift.md | 2 + .../blog/deploying-miniflux-openshift.md | 2 + .../blog/enable-global-policies-apicast.md | 2 + .../feed-url-drupal-wordpress-wix-youtube.md | 0 .../blog/install-miniflux-raspberry-pi.md | 2 + .../blog/install-openwrt-raspberry-pi.md | 2 + .../blog/install-operator-openshift-cli.md | 3 + .../blog/is-my-ntp-daemon-working.md | 0 .../jmeter-assess-software-performances.md | 23 +++--- .../blog/m4-as-replacement-for-sed.md | 0 .../blog/nginx-with-tls-on-openwrt.md | 2 + .../print-config-file-without-comments.md | 0 .../running-redhat-sso-outside-openshift.md | 2 + ...enshift-4-openid-connect-authentication.md | 0 .../blog/secure-quarkus-api-with-keycloak.md | 0 ...secure-raspberry-pi-keycloak-gatekeeper.md | 0 .../blog/send-mails-openwrt-msmtp-gmail.md | 2 + ...uires-the-openshift-python-client-error.md | 2 + .../testing-hard-drive-ssd-performance.md | 0 ...nage-the-qos-of-your-openshift-workload.md | 2 + ...-google-account-openid-connect-provider.md | 0 .../use-qlkube-to-query-the-kubernetes-api.md | 2 +- ...instructions-with-hugo-deploy-openshift.md | 0 ...rkshop-instructions-with-hugo-variables.md | 0 ...writing-workshop-instructions-with-hugo.md | 0 content/{ => english}/contact/index.md | 4 +- content/english/opensource/_index.md | 6 ++ content/english/speaking/_index.md | 6 ++ .../speaking/adeo-summit-2018.md | 0 .../{ => english}/speaking/apidays-2017.md | 0 .../develop-deploy-deliver-continuously.md | 0 .../speaking/devoteam-tech-for-people-2018.md | 0 .../speaking/devoxx-france-2019.md | 0 .../speaking/red-hat-forum-2017.md | 0 .../speaking/red-hat-forum-helsinki-2019.md | 0 .../speaking/red-hat-summit-2018.md | 0 .../speaking/red-hat-summit-2019.md | 0 .../speaking/red-hat-tech-exchange-2018.md | 0 .../speaking/red-hat-tech-exchange-2019.md | 0 .../speaking/techweek-sg-2019.md | 0 content/english/topics/_index.md | 6 ++ ...cale-toolbox-deploy-an-api-from-the-cli.md | 0 ...eploying-your-api-from-a-ci-cd-pipeline.md | 0 content/english/writing/_index.md | 5 ++ ...pis-as-a-product-get-started-in-no-time.md | 0 ...-product-get-the-value-out-of-your-apis.md | 0 ...deploy-your-api-from-a-jenkins-pipeline.md | 0 .../full-api-lifecycle-management-a-primer.md | 0 ...r-apis-deployed-with-istio-service-mesh.md | 0 ...ingle-sign-on-give-it-a-try-for-no-cost.md | 0 ...te-with-red-hat-single-sign-on-keycloak.md | 0 ...e-3scale-toolbox-jenkins-shared-library.md | 0 content/french/_index.md | 11 +++ content/french/contact/index.md | 15 ++++ content/french/opensource/_index.md | 6 ++ content/french/speaking/_index.md | 6 ++ content/french/topics/_index.md | 6 ++ content/french/writing/_index.md | 7 ++ content/speaking/_index.md | 7 -- content/writing/_index.md | 7 -- 73 files changed, 220 insertions(+), 102 deletions(-) delete mode 100644 config.toml create mode 100644 config.yaml create mode 100644 content/english/_index.md rename content/{ => english}/blog/3scale-toolbox-anonymous-policy.md (99%) rename content/{ => english}/blog/3scale-toolbox-url-rewriting-policy.md (99%) rename content/{ => english}/blog/airgap-openshift-installation-move-registry-created-using-oc-adm-release-mirror-between-environments.md (99%) rename content/{ => english}/blog/ansible-add-prefix-suffix-to-list.md (97%) rename content/{ => english}/blog/check-ansible-version-number-playbook.md (96%) rename content/{ => english}/blog/cleanup-playbook-3scale.md (98%) rename content/{ => english}/blog/cli-world-clock.md (100%) rename content/{ => english}/blog/configure-redhat-sso-3scale-cli.md (99%) rename content/{ => english}/blog/configure-truststore-apicurio-studio.md (99%) rename content/{ => english}/blog/decode-kubernetes-secret-base64.md (97%) rename content/{ => english}/blog/deploying-invidious-openshift.md (99%) rename content/{ => english}/blog/deploying-miniflux-openshift.md (99%) rename content/{ => english}/blog/enable-global-policies-apicast.md (99%) rename content/{ => english}/blog/feed-url-drupal-wordpress-wix-youtube.md (100%) rename content/{ => english}/blog/install-miniflux-raspberry-pi.md (99%) rename content/{ => english}/blog/install-openwrt-raspberry-pi.md (99%) rename content/{ => english}/blog/install-operator-openshift-cli.md (99%) rename content/{ => english}/blog/is-my-ntp-daemon-working.md (100%) rename content/{ => english}/blog/jmeter-assess-software-performances.md (93%) rename content/{ => english}/blog/m4-as-replacement-for-sed.md (100%) rename content/{ => english}/blog/nginx-with-tls-on-openwrt.md (99%) rename content/{ => english}/blog/print-config-file-without-comments.md (100%) rename content/{ => english}/blog/running-redhat-sso-outside-openshift.md (99%) rename content/{ => english}/blog/secure-openshift-4-openid-connect-authentication.md (100%) rename content/{ => english}/blog/secure-quarkus-api-with-keycloak.md (100%) rename content/{ => english}/blog/secure-raspberry-pi-keycloak-gatekeeper.md (100%) rename content/{ => english}/blog/send-mails-openwrt-msmtp-gmail.md (99%) rename content/{ => english}/blog/solving-this-module-requires-the-openshift-python-client-error.md (99%) rename content/{ => english}/blog/testing-hard-drive-ssd-performance.md (100%) rename content/{ => english}/blog/use-ansible-to-manage-the-qos-of-your-openshift-workload.md (99%) rename content/{ => english}/blog/use-google-account-openid-connect-provider.md (100%) rename content/{ => english}/blog/use-qlkube-to-query-the-kubernetes-api.md (99%) rename content/{ => english}/blog/writing-workshop-instructions-with-hugo-deploy-openshift.md (100%) rename content/{ => english}/blog/writing-workshop-instructions-with-hugo-variables.md (100%) rename content/{ => english}/blog/writing-workshop-instructions-with-hugo.md (100%) rename content/{ => english}/contact/index.md (89%) create mode 100644 content/english/opensource/_index.md create mode 100644 content/english/speaking/_index.md rename content/{ => english}/speaking/adeo-summit-2018.md (100%) rename content/{ => english}/speaking/apidays-2017.md (100%) rename content/{ => english}/speaking/develop-deploy-deliver-continuously.md (100%) rename content/{ => english}/speaking/devoteam-tech-for-people-2018.md (100%) rename content/{ => english}/speaking/devoxx-france-2019.md (100%) rename content/{ => english}/speaking/red-hat-forum-2017.md (100%) rename content/{ => english}/speaking/red-hat-forum-helsinki-2019.md (100%) rename content/{ => english}/speaking/red-hat-summit-2018.md (100%) rename content/{ => english}/speaking/red-hat-summit-2019.md (100%) rename content/{ => english}/speaking/red-hat-tech-exchange-2018.md (100%) rename content/{ => english}/speaking/red-hat-tech-exchange-2019.md (100%) rename content/{ => english}/speaking/techweek-sg-2019.md (100%) create mode 100644 content/english/topics/_index.md rename content/{ => english}/writing/3scale-toolbox-deploy-an-api-from-the-cli.md (100%) rename content/{ => english}/writing/5-principles-for-deploying-your-api-from-a-ci-cd-pipeline.md (100%) create mode 100644 content/english/writing/_index.md rename content/{ => english}/writing/apis-as-a-product-get-started-in-no-time.md (100%) rename content/{ => english}/writing/apis-as-a-product-get-the-value-out-of-your-apis.md (100%) rename content/{ => english}/writing/deploy-your-api-from-a-jenkins-pipeline.md (100%) rename content/{ => english}/writing/full-api-lifecycle-management-a-primer.md (100%) rename content/{ => english}/writing/manage-your-apis-deployed-with-istio-service-mesh.md (100%) rename content/{ => english}/writing/red-hat-single-sign-on-give-it-a-try-for-no-cost.md (100%) rename content/{ => english}/writing/using-a-public-certificate-with-red-hat-single-sign-on-keycloak.md (100%) rename content/{ => english}/writing/using-the-3scale-toolbox-jenkins-shared-library.md (100%) create mode 100644 content/french/_index.md create mode 100644 content/french/contact/index.md create mode 100644 content/french/opensource/_index.md create mode 100644 content/french/speaking/_index.md create mode 100644 content/french/topics/_index.md create mode 100644 content/french/writing/_index.md delete mode 100644 content/speaking/_index.md delete mode 100644 content/writing/_index.md diff --git a/config.toml b/config.toml deleted file mode 100644 index 92b661c..0000000 --- a/config.toml +++ /dev/null @@ -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/" diff --git a/config.yaml b/config.yaml new file mode 100644 index 0000000..ed1537c --- /dev/null +++ b/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: + diff --git a/content/english/_index.md b/content/english/_index.md new file mode 100644 index 0000000..73bfafa --- /dev/null +++ b/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]({{}}), [Single Sign On]({{}}) and [Containers]({{}}). + +I mainly work with [Open Source]({{}}) technologies such as [Keycloak]({{}}), [3scale]({{}}) or [OpenShift]({{}}). +I share my [expertise]({{}}) and interests on this site, as a guest [on other websites]({{}}) and I occasionally give [conferences]({{}}). + +Please read [my blog]({{}}) or [learn more about me](https://www.linkedin.com/in/nicolasmasse/). diff --git a/content/blog/3scale-toolbox-anonymous-policy.md b/content/english/blog/3scale-toolbox-anonymous-policy.md similarity index 99% rename from content/blog/3scale-toolbox-anonymous-policy.md rename to content/english/blog/3scale-toolbox-anonymous-policy.md index 467f341..257fe15 100644 --- a/content/blog/3scale-toolbox-anonymous-policy.md +++ b/content/english/blog/3scale-toolbox-anonymous-policy.md @@ -1,8 +1,10 @@ --- title: "What is this 'Anonymous' policy configured by the 3scale toolbox?" date: 2019-11-14T00:00:00+02:00 -opensource: +opensource: - 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/). diff --git a/content/blog/3scale-toolbox-url-rewriting-policy.md b/content/english/blog/3scale-toolbox-url-rewriting-policy.md similarity index 99% rename from content/blog/3scale-toolbox-url-rewriting-policy.md rename to content/english/blog/3scale-toolbox-url-rewriting-policy.md index 615b1a7..30165bf 100644 --- a/content/blog/3scale-toolbox-url-rewriting-policy.md +++ b/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 opensource: - 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/). diff --git a/content/blog/airgap-openshift-installation-move-registry-created-using-oc-adm-release-mirror-between-environments.md b/content/english/blog/airgap-openshift-installation-move-registry-created-using-oc-adm-release-mirror-between-environments.md similarity index 99% rename from content/blog/airgap-openshift-installation-move-registry-created-using-oc-adm-release-mirror-between-environments.md rename to content/english/blog/airgap-openshift-installation-move-registry-created-using-oc-adm-release-mirror-between-environments.md index 1539790..9e82b1e 100644 --- a/content/blog/airgap-openshift-installation-move-registry-created-using-oc-adm-release-mirror-between-environments.md +++ b/content/english/blog/airgap-openshift-installation-move-registry-created-using-oc-adm-release-mirror-between-environments.md @@ -5,6 +5,8 @@ opensource: - Ansible - OpenShift - Skopeo +topics: +- Containers --- Some customers, especially large banks, have very tight security requirements. diff --git a/content/blog/ansible-add-prefix-suffix-to-list.md b/content/english/blog/ansible-add-prefix-suffix-to-list.md similarity index 97% rename from content/blog/ansible-add-prefix-suffix-to-list.md rename to content/english/blog/ansible-add-prefix-suffix-to-list.md index 52c007c..24aa6ff 100644 --- a/content/blog/ansible-add-prefix-suffix-to-list.md +++ b/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 opensource: - 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. diff --git a/content/blog/check-ansible-version-number-playbook.md b/content/english/blog/check-ansible-version-number-playbook.md similarity index 96% rename from content/blog/check-ansible-version-number-playbook.md rename to content/english/blog/check-ansible-version-number-playbook.md index d8f25f5..395f617 100644 --- a/content/blog/check-ansible-version-number-playbook.md +++ b/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 opensource: - Ansible +topics: +- IT Automation --- My Ansible playbooks sometimes use features that are available only in a very recent versions of Ansible. diff --git a/content/blog/cleanup-playbook-3scale.md b/content/english/blog/cleanup-playbook-3scale.md similarity index 98% rename from content/blog/cleanup-playbook-3scale.md rename to content/english/blog/cleanup-playbook-3scale.md index aa9012b..cc10cd1 100644 --- a/content/blog/cleanup-playbook-3scale.md +++ b/content/english/blog/cleanup-playbook-3scale.md @@ -1,8 +1,12 @@ --- title: "A cleanup playbook for 3scale" date: 2020-04-28T00:00:00+02:00 -opensource: +opensource: - 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. diff --git a/content/blog/cli-world-clock.md b/content/english/blog/cli-world-clock.md similarity index 100% rename from content/blog/cli-world-clock.md rename to content/english/blog/cli-world-clock.md diff --git a/content/blog/configure-redhat-sso-3scale-cli.md b/content/english/blog/configure-redhat-sso-3scale-cli.md similarity index 99% rename from content/blog/configure-redhat-sso-3scale-cli.md rename to content/english/blog/configure-redhat-sso-3scale-cli.md index d0ba479..ffef4e2 100644 --- a/content/blog/configure-redhat-sso-3scale-cli.md +++ b/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 opensource: - 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. diff --git a/content/blog/configure-truststore-apicurio-studio.md b/content/english/blog/configure-truststore-apicurio-studio.md similarity index 99% rename from content/blog/configure-truststore-apicurio-studio.md rename to content/english/blog/configure-truststore-apicurio-studio.md index 69b97ff..547ce81 100644 --- a/content/blog/configure-truststore-apicurio-studio.md +++ b/content/english/blog/configure-truststore-apicurio-studio.md @@ -4,6 +4,8 @@ date: 2019-10-25T00:00:00+02:00 opensource: - Apicurio - 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. diff --git a/content/blog/decode-kubernetes-secret-base64.md b/content/english/blog/decode-kubernetes-secret-base64.md similarity index 97% rename from content/blog/decode-kubernetes-secret-base64.md rename to content/english/blog/decode-kubernetes-secret-base64.md index 4c22ad5..5d86d75 100644 --- a/content/blog/decode-kubernetes-secret-base64.md +++ b/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 opensource: - OpenShift +topics: +- Containers --- Creating a Kubernetes secret from a value is easy: diff --git a/content/blog/deploying-invidious-openshift.md b/content/english/blog/deploying-invidious-openshift.md similarity index 99% rename from content/blog/deploying-invidious-openshift.md rename to content/english/blog/deploying-invidious-openshift.md index c904166..077e345 100644 --- a/content/blog/deploying-invidious-openshift.md +++ b/content/english/blog/deploying-invidious-openshift.md @@ -4,6 +4,8 @@ date: 2019-11-16T00:00:00+02:00 opensource: - OpenShift - 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! diff --git a/content/blog/deploying-miniflux-openshift.md b/content/english/blog/deploying-miniflux-openshift.md similarity index 99% rename from content/blog/deploying-miniflux-openshift.md rename to content/english/blog/deploying-miniflux-openshift.md index c0f31a6..017ed8c 100644 --- a/content/blog/deploying-miniflux-openshift.md +++ b/content/english/blog/deploying-miniflux-openshift.md @@ -4,6 +4,8 @@ date: 2019-11-17T00:00:00+02:00 opensource: - OpenShift - 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! diff --git a/content/blog/enable-global-policies-apicast.md b/content/english/blog/enable-global-policies-apicast.md similarity index 99% rename from content/blog/enable-global-policies-apicast.md rename to content/english/blog/enable-global-policies-apicast.md index af7a110..21d534b 100644 --- a/content/blog/enable-global-policies-apicast.md +++ b/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 opensource: - 3scale +topics: +- API Management --- Recent versions of Apicast have a pluggable policy mechanism to apply different treatments to each exposed API. diff --git a/content/blog/feed-url-drupal-wordpress-wix-youtube.md b/content/english/blog/feed-url-drupal-wordpress-wix-youtube.md similarity index 100% rename from content/blog/feed-url-drupal-wordpress-wix-youtube.md rename to content/english/blog/feed-url-drupal-wordpress-wix-youtube.md diff --git a/content/blog/install-miniflux-raspberry-pi.md b/content/english/blog/install-miniflux-raspberry-pi.md similarity index 99% rename from content/blog/install-miniflux-raspberry-pi.md rename to content/english/blog/install-miniflux-raspberry-pi.md index 6dd5017..50d57a0 100644 --- a/content/blog/install-miniflux-raspberry-pi.md +++ b/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 opensource: - 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. diff --git a/content/blog/install-openwrt-raspberry-pi.md b/content/english/blog/install-openwrt-raspberry-pi.md similarity index 99% rename from content/blog/install-openwrt-raspberry-pi.md rename to content/english/blog/install-openwrt-raspberry-pi.md index 3c456c8..0824f16 100644 --- a/content/blog/install-openwrt-raspberry-pi.md +++ b/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 opensource: - OpenWRT +topics: +- Embedded Systems --- [OpenWRT](https://openwrt.org/) is a Linux distribution for embedded systems. diff --git a/content/blog/install-operator-openshift-cli.md b/content/english/blog/install-operator-openshift-cli.md similarity index 99% rename from content/blog/install-operator-openshift-cli.md rename to content/english/blog/install-operator-openshift-cli.md index f98bf38..a90b254 100644 --- a/content/blog/install-operator-openshift-cli.md +++ b/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 opensource: - 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. diff --git a/content/blog/is-my-ntp-daemon-working.md b/content/english/blog/is-my-ntp-daemon-working.md similarity index 100% rename from content/blog/is-my-ntp-daemon-working.md rename to content/english/blog/is-my-ntp-daemon-working.md diff --git a/content/blog/jmeter-assess-software-performances.md b/content/english/blog/jmeter-assess-software-performances.md similarity index 93% rename from content/blog/jmeter-assess-software-performances.md rename to content/english/blog/jmeter-assess-software-performances.md index f220b17..da0d9fa 100644 --- a/content/blog/jmeter-assess-software-performances.md +++ b/content/english/blog/jmeter-assess-software-performances.md @@ -2,9 +2,11 @@ title: "Use JMeter to assess software performances" date: 2020-07-24T00:00:00+02:00 opensource: -- jmeter -topic: -- performance-testing +- JMeter +topics: +- 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. @@ -17,6 +19,7 @@ To keep this article short and readable, I focused on the assessment of two HTTP ## Hardware setup +### Test 1 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. 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. 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. - +### Test 2 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. @@ -100,7 +103,7 @@ http { 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. 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. 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). 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. -![control3](control3.png) +{{< figure src="control3.png" title="Third measure is ok." >}} 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.). -![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. 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. -![thread-group](thread-group.png) +{{< figure src="thread-group.png" title="JMeter Thread Group" >}} And finally, a **Loop** component with three **If Controllers** underneath. 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. diff --git a/content/blog/m4-as-replacement-for-sed.md b/content/english/blog/m4-as-replacement-for-sed.md similarity index 100% rename from content/blog/m4-as-replacement-for-sed.md rename to content/english/blog/m4-as-replacement-for-sed.md diff --git a/content/blog/nginx-with-tls-on-openwrt.md b/content/english/blog/nginx-with-tls-on-openwrt.md similarity index 99% rename from content/blog/nginx-with-tls-on-openwrt.md rename to content/english/blog/nginx-with-tls-on-openwrt.md index fcabce5..637d645 100644 --- a/content/blog/nginx-with-tls-on-openwrt.md +++ b/content/english/blog/nginx-with-tls-on-openwrt.md @@ -4,6 +4,8 @@ date: 2019-12-19T00:00:00+02:00 opensource: - OpenWRT - 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. diff --git a/content/blog/print-config-file-without-comments.md b/content/english/blog/print-config-file-without-comments.md similarity index 100% rename from content/blog/print-config-file-without-comments.md rename to content/english/blog/print-config-file-without-comments.md diff --git a/content/blog/running-redhat-sso-outside-openshift.md b/content/english/blog/running-redhat-sso-outside-openshift.md similarity index 99% rename from content/blog/running-redhat-sso-outside-openshift.md rename to content/english/blog/running-redhat-sso-outside-openshift.md index 605bbba..568a88c 100644 --- a/content/blog/running-redhat-sso-outside-openshift.md +++ b/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 opensource: - 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. diff --git a/content/blog/secure-openshift-4-openid-connect-authentication.md b/content/english/blog/secure-openshift-4-openid-connect-authentication.md similarity index 100% rename from content/blog/secure-openshift-4-openid-connect-authentication.md rename to content/english/blog/secure-openshift-4-openid-connect-authentication.md diff --git a/content/blog/secure-quarkus-api-with-keycloak.md b/content/english/blog/secure-quarkus-api-with-keycloak.md similarity index 100% rename from content/blog/secure-quarkus-api-with-keycloak.md rename to content/english/blog/secure-quarkus-api-with-keycloak.md diff --git a/content/blog/secure-raspberry-pi-keycloak-gatekeeper.md b/content/english/blog/secure-raspberry-pi-keycloak-gatekeeper.md similarity index 100% rename from content/blog/secure-raspberry-pi-keycloak-gatekeeper.md rename to content/english/blog/secure-raspberry-pi-keycloak-gatekeeper.md diff --git a/content/blog/send-mails-openwrt-msmtp-gmail.md b/content/english/blog/send-mails-openwrt-msmtp-gmail.md similarity index 99% rename from content/blog/send-mails-openwrt-msmtp-gmail.md rename to content/english/blog/send-mails-openwrt-msmtp-gmail.md index d9bf376..6c55341 100644 --- a/content/blog/send-mails-openwrt-msmtp-gmail.md +++ b/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 opensource: - 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. diff --git a/content/blog/solving-this-module-requires-the-openshift-python-client-error.md b/content/english/blog/solving-this-module-requires-the-openshift-python-client-error.md similarity index 99% rename from content/blog/solving-this-module-requires-the-openshift-python-client-error.md rename to content/english/blog/solving-this-module-requires-the-openshift-python-client-error.md index 36fddf1..1751b65 100644 --- a/content/blog/solving-this-module-requires-the-openshift-python-client-error.md +++ b/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: - OpenShift - 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: diff --git a/content/blog/testing-hard-drive-ssd-performance.md b/content/english/blog/testing-hard-drive-ssd-performance.md similarity index 100% rename from content/blog/testing-hard-drive-ssd-performance.md rename to content/english/blog/testing-hard-drive-ssd-performance.md diff --git a/content/blog/use-ansible-to-manage-the-qos-of-your-openshift-workload.md b/content/english/blog/use-ansible-to-manage-the-qos-of-your-openshift-workload.md similarity index 99% rename from content/blog/use-ansible-to-manage-the-qos-of-your-openshift-workload.md rename to content/english/blog/use-ansible-to-manage-the-qos-of-your-openshift-workload.md index 50f2486..2dcbf91 100644 --- a/content/blog/use-ansible-to-manage-the-qos-of-your-openshift-workload.md +++ b/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: - OpenShift - Ansible +topics: +- IT Automation --- As I was administering my OpenShift cluster, I found out that I had a too diff --git a/content/blog/use-google-account-openid-connect-provider.md b/content/english/blog/use-google-account-openid-connect-provider.md similarity index 100% rename from content/blog/use-google-account-openid-connect-provider.md rename to content/english/blog/use-google-account-openid-connect-provider.md diff --git a/content/blog/use-qlkube-to-query-the-kubernetes-api.md b/content/english/blog/use-qlkube-to-query-the-kubernetes-api.md similarity index 99% rename from content/blog/use-qlkube-to-query-the-kubernetes-api.md rename to content/english/blog/use-qlkube-to-query-the-kubernetes-api.md index a5cd4c6..ff1ed66 100644 --- a/content/blog/use-qlkube-to-query-the-kubernetes-api.md +++ b/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 opensource: - OpenShift -topic: +topics: - GraphQL --- diff --git a/content/blog/writing-workshop-instructions-with-hugo-deploy-openshift.md b/content/english/blog/writing-workshop-instructions-with-hugo-deploy-openshift.md similarity index 100% rename from content/blog/writing-workshop-instructions-with-hugo-deploy-openshift.md rename to content/english/blog/writing-workshop-instructions-with-hugo-deploy-openshift.md diff --git a/content/blog/writing-workshop-instructions-with-hugo-variables.md b/content/english/blog/writing-workshop-instructions-with-hugo-variables.md similarity index 100% rename from content/blog/writing-workshop-instructions-with-hugo-variables.md rename to content/english/blog/writing-workshop-instructions-with-hugo-variables.md diff --git a/content/blog/writing-workshop-instructions-with-hugo.md b/content/english/blog/writing-workshop-instructions-with-hugo.md similarity index 100% rename from content/blog/writing-workshop-instructions-with-hugo.md rename to content/english/blog/writing-workshop-instructions-with-hugo.md diff --git a/content/contact/index.md b/content/english/contact/index.md similarity index 89% rename from content/contact/index.md rename to content/english/contact/index.md index 1df59db..7f1b639 100644 --- a/content/contact/index.md +++ b/content/english/contact/index.md @@ -1,7 +1,5 @@ --- title: "Contact me" -date: 2018-01-01T00:00:00+02:00 -draft: false --- 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) -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) or one of my contributions, please open an issue in the relevant GitHub repository diff --git a/content/english/opensource/_index.md b/content/english/opensource/_index.md new file mode 100644 index 0000000..7064469 --- /dev/null +++ b/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. diff --git a/content/english/speaking/_index.md b/content/english/speaking/_index.md new file mode 100644 index 0000000..f60661f --- /dev/null +++ b/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. diff --git a/content/speaking/adeo-summit-2018.md b/content/english/speaking/adeo-summit-2018.md similarity index 100% rename from content/speaking/adeo-summit-2018.md rename to content/english/speaking/adeo-summit-2018.md diff --git a/content/speaking/apidays-2017.md b/content/english/speaking/apidays-2017.md similarity index 100% rename from content/speaking/apidays-2017.md rename to content/english/speaking/apidays-2017.md diff --git a/content/speaking/develop-deploy-deliver-continuously.md b/content/english/speaking/develop-deploy-deliver-continuously.md similarity index 100% rename from content/speaking/develop-deploy-deliver-continuously.md rename to content/english/speaking/develop-deploy-deliver-continuously.md diff --git a/content/speaking/devoteam-tech-for-people-2018.md b/content/english/speaking/devoteam-tech-for-people-2018.md similarity index 100% rename from content/speaking/devoteam-tech-for-people-2018.md rename to content/english/speaking/devoteam-tech-for-people-2018.md diff --git a/content/speaking/devoxx-france-2019.md b/content/english/speaking/devoxx-france-2019.md similarity index 100% rename from content/speaking/devoxx-france-2019.md rename to content/english/speaking/devoxx-france-2019.md diff --git a/content/speaking/red-hat-forum-2017.md b/content/english/speaking/red-hat-forum-2017.md similarity index 100% rename from content/speaking/red-hat-forum-2017.md rename to content/english/speaking/red-hat-forum-2017.md diff --git a/content/speaking/red-hat-forum-helsinki-2019.md b/content/english/speaking/red-hat-forum-helsinki-2019.md similarity index 100% rename from content/speaking/red-hat-forum-helsinki-2019.md rename to content/english/speaking/red-hat-forum-helsinki-2019.md diff --git a/content/speaking/red-hat-summit-2018.md b/content/english/speaking/red-hat-summit-2018.md similarity index 100% rename from content/speaking/red-hat-summit-2018.md rename to content/english/speaking/red-hat-summit-2018.md diff --git a/content/speaking/red-hat-summit-2019.md b/content/english/speaking/red-hat-summit-2019.md similarity index 100% rename from content/speaking/red-hat-summit-2019.md rename to content/english/speaking/red-hat-summit-2019.md diff --git a/content/speaking/red-hat-tech-exchange-2018.md b/content/english/speaking/red-hat-tech-exchange-2018.md similarity index 100% rename from content/speaking/red-hat-tech-exchange-2018.md rename to content/english/speaking/red-hat-tech-exchange-2018.md diff --git a/content/speaking/red-hat-tech-exchange-2019.md b/content/english/speaking/red-hat-tech-exchange-2019.md similarity index 100% rename from content/speaking/red-hat-tech-exchange-2019.md rename to content/english/speaking/red-hat-tech-exchange-2019.md diff --git a/content/speaking/techweek-sg-2019.md b/content/english/speaking/techweek-sg-2019.md similarity index 100% rename from content/speaking/techweek-sg-2019.md rename to content/english/speaking/techweek-sg-2019.md diff --git a/content/english/topics/_index.md b/content/english/topics/_index.md new file mode 100644 index 0000000..eea2d7e --- /dev/null +++ b/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. diff --git a/content/writing/3scale-toolbox-deploy-an-api-from-the-cli.md b/content/english/writing/3scale-toolbox-deploy-an-api-from-the-cli.md similarity index 100% rename from content/writing/3scale-toolbox-deploy-an-api-from-the-cli.md rename to content/english/writing/3scale-toolbox-deploy-an-api-from-the-cli.md diff --git a/content/writing/5-principles-for-deploying-your-api-from-a-ci-cd-pipeline.md b/content/english/writing/5-principles-for-deploying-your-api-from-a-ci-cd-pipeline.md similarity index 100% rename from content/writing/5-principles-for-deploying-your-api-from-a-ci-cd-pipeline.md rename to content/english/writing/5-principles-for-deploying-your-api-from-a-ci-cd-pipeline.md diff --git a/content/english/writing/_index.md b/content/english/writing/_index.md new file mode 100644 index 0000000..25c2845 --- /dev/null +++ b/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. diff --git a/content/writing/apis-as-a-product-get-started-in-no-time.md b/content/english/writing/apis-as-a-product-get-started-in-no-time.md similarity index 100% rename from content/writing/apis-as-a-product-get-started-in-no-time.md rename to content/english/writing/apis-as-a-product-get-started-in-no-time.md diff --git a/content/writing/apis-as-a-product-get-the-value-out-of-your-apis.md b/content/english/writing/apis-as-a-product-get-the-value-out-of-your-apis.md similarity index 100% rename from content/writing/apis-as-a-product-get-the-value-out-of-your-apis.md rename to content/english/writing/apis-as-a-product-get-the-value-out-of-your-apis.md diff --git a/content/writing/deploy-your-api-from-a-jenkins-pipeline.md b/content/english/writing/deploy-your-api-from-a-jenkins-pipeline.md similarity index 100% rename from content/writing/deploy-your-api-from-a-jenkins-pipeline.md rename to content/english/writing/deploy-your-api-from-a-jenkins-pipeline.md diff --git a/content/writing/full-api-lifecycle-management-a-primer.md b/content/english/writing/full-api-lifecycle-management-a-primer.md similarity index 100% rename from content/writing/full-api-lifecycle-management-a-primer.md rename to content/english/writing/full-api-lifecycle-management-a-primer.md diff --git a/content/writing/manage-your-apis-deployed-with-istio-service-mesh.md b/content/english/writing/manage-your-apis-deployed-with-istio-service-mesh.md similarity index 100% rename from content/writing/manage-your-apis-deployed-with-istio-service-mesh.md rename to content/english/writing/manage-your-apis-deployed-with-istio-service-mesh.md diff --git a/content/writing/red-hat-single-sign-on-give-it-a-try-for-no-cost.md b/content/english/writing/red-hat-single-sign-on-give-it-a-try-for-no-cost.md similarity index 100% rename from content/writing/red-hat-single-sign-on-give-it-a-try-for-no-cost.md rename to content/english/writing/red-hat-single-sign-on-give-it-a-try-for-no-cost.md diff --git a/content/writing/using-a-public-certificate-with-red-hat-single-sign-on-keycloak.md b/content/english/writing/using-a-public-certificate-with-red-hat-single-sign-on-keycloak.md similarity index 100% rename from content/writing/using-a-public-certificate-with-red-hat-single-sign-on-keycloak.md rename to content/english/writing/using-a-public-certificate-with-red-hat-single-sign-on-keycloak.md diff --git a/content/writing/using-the-3scale-toolbox-jenkins-shared-library.md b/content/english/writing/using-the-3scale-toolbox-jenkins-shared-library.md similarity index 100% rename from content/writing/using-the-3scale-toolbox-jenkins-shared-library.md rename to content/english/writing/using-the-3scale-toolbox-jenkins-shared-library.md diff --git a/content/french/_index.md b/content/french/_index.md new file mode 100644 index 0000000..d527097 --- /dev/null +++ b/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]({{}}), le [Single Sign On]({{}}) et les [conteneurs]({{}}). + +Je travaille principalement avec des technologies [Open Source]({{}}) telles que [Keycloak]({{}}), [3scale]({{}}) ou [OpenShift]({{}}). +Je partage mon [expertise]({{}}) et mes centres d'intérêt sur ce site, [ailleurs sur le web]({{}}) et je donne occasionnellement des [conférences]({{}}). + +Je vous invite à lire [mon blog]({{}}) ou à en savoir plus [sur moi](https://www.linkedin.com/in/nicolasmasse/). diff --git a/content/french/contact/index.md b/content/french/contact/index.md new file mode 100644 index 0000000..504b361 --- /dev/null +++ b/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. diff --git a/content/french/opensource/_index.md b/content/french/opensource/_index.md new file mode 100644 index 0000000..c7314f2 --- /dev/null +++ b/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. diff --git a/content/french/speaking/_index.md b/content/french/speaking/_index.md new file mode 100644 index 0000000..39ed961 --- /dev/null +++ b/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. diff --git a/content/french/topics/_index.md b/content/french/topics/_index.md new file mode 100644 index 0000000..9842dcf --- /dev/null +++ b/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. diff --git a/content/french/writing/_index.md b/content/french/writing/_index.md new file mode 100644 index 0000000..0d7791f --- /dev/null +++ b/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. diff --git a/content/speaking/_index.md b/content/speaking/_index.md deleted file mode 100644 index 61beb20..0000000 --- a/content/speaking/_index.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Speaking" -date: 2017-02-20T00:00:00+02:00 -draft: false ---- - -Here is a list of my recent talks. \ No newline at end of file diff --git a/content/writing/_index.md b/content/writing/_index.md deleted file mode 100644 index c1b1f07..0000000 --- a/content/writing/_index.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Writing" -date: 2019-11-07T00:00:00+02:00 -draft: false ---- - -Here is a list of my recent articles.