Activate & Deactivate PoE Camera via Cisco Router

In this post, we’ll explore how to activate or deactivate a surveillance camera via a Cisco router using Power over Ethernet (PoE) functionality. I’ve implemented a DIY surveillance installation at home using a PoE camera connected to a Cisco Small Business router. Specifically, I’m using the Cisco Smart Switch SG250-10P, which offers robust PoE capabilities that allow you to control power delivery to connected devices. This approach is particularly useful for security purposes, as it allows you to remotely control when your surveillance camera is active without physically accessing the device. ...

April 6, 2025

AWS SSM, Ansible et Raspberry Pi via SSH

Dans ce nouvel article de 2024, découvrez comment AWS Systems Manager (SSM) s’intègre de manière utile avec le Raspberry Pi (testé avec les modèles 3, Zero et 5). Explorez les possibilités de cette combinaison, idéale pour les projets d’informatique personnelle décentralisée. Que vous soyez un passionné du Cloud, un amateur d’IoT ou simplement curieux, cet article vous réserve des surprises ! Cet article sera particulièrement utile pour ceux qui cherchent à accéder facilement et de manière sécurisée à leur Raspberry Pi sans avoir à configurer le port forwarding sur leur box Internet, et ce, pour un coût minime [^pricing]. Nous utiliserons la fonctionnalité Session Manager d’AWS SSM. 🍇 ...

January 15, 2024

Quarkus & Java 11-17 et GitHub Action feat. Matrix

La construction des applications modernes et dites cloud natives passent obligatoirement par la case CI/CD. Les pipelines de type GitHub Action d’applications permettent de standardiser les processus de constructions, de tests, de versionning ainsi que de déploiement des applications. L’avantage des pipelines de constructions est le rapide feedback aux développeurs des erreurs dans la chaîne de traitement. Ainsi, il est facile de modifier un élément de configuration pour voir le résultat. Les applications modernes nécessitent de pouvoir migrer des socles techniques de manière transparente. ...

June 8, 2022

Pattern Découpler la Réception et Utilisation des Signaux avec jBPM & Drools

Pour mon activité professionnelle, je me déplace1 chez les clients afin d’expertiser les solutions qu’ils mettent en place dans leur système d’information et notamment le produit RHPAM2. Pour le compte d’un client donc, j’ai travaillé sur les processus métiers qu’il a mis en place chez lui. Ces processus de type BPMN permettent de gérer des processus de gestion sur lesquels nous n’allons pas nous étendre ici. Nous allons plutôt nous concentrer sur un patron de conception particulièrement intéressant tant par sa fonctionnalité que par son implémentation technique. ...

September 26, 2021

How to manage Exception inside a jBPM WorkItemHandler custom component

When we develop a BPMN process we have to handle correctly Error. An Error can be raised by any component during the processus instance and specially into a Work Item Handler node. This kind of node in jBPM is a Java component implementing the WorkItemHandler interface. Usually in Java program we manage error via Exception mechanism. How to manage Exception inside jBPM WorkItemHandler custom component. To illustrate how to use Exception/Error I propose to create a sample error process. This example will demonstrate how jBPM can transform Java exceptions into BPMN errors, allowing for proper error handling within your business processes. ...

October 28, 2020

Keycloak, les clefs Yubico et le standard Webauthn

Depuis quelque temps j’interviens chez mes clients afin de mener des études d’architecture autour de Keycloak/RHSSO. Comme son nom l’indique, il s’agit d’une solution de SSO c’est à dire d’un système unique d’authentification et d’authorisation. Le projet Keycloak a débuté en 2014 et est donc relativement mature, la communauté autour de ce projet est très importante et continue de croître, ce qui en fait une solution fiable et pérenne pour la gestion des identités. ...

October 26, 2020

Exécution d'un moteur de KYC en DMN avec Kogito

Dans le précédent post sur ce blog nous avons vu rapidement comment créer sa définition et modélisation des règles d’un KYC basé sur le standard DMN. Nous allons voir comment faire tourner cet exemple et exécuter sur un moteur implémentant le standard DMN. Cette approche permet de passer d’une modélisation théorique à une implémentation concrète et fonctionnelle. Exécution d’un moteur KYC en DMN avec Kogito Introduction Kogito Faisons un focus rapide sur Kogito. Kogito est un moteur de règle orienté cloud, conçu pour s’intégrer parfaitement dans les architectures modernes. Ce moteur de règle reprend en grande partie tout le coeur et le développement de Drools et jBPM mais propose des fonctionnalités purement Cloud notamment le fait qu’il est prévu d’être exécuté dans un container de type OCI / Docker et deployé sur un cluster Cloud K8S / Openshift par exemple. Cette approche facilite considérablement le déploiement et la scalabilité des règles métier. ...

June 6, 2020

Le standard DMN, un KYC en exemple

Pendant un certain temps les moteurs de règles étaient fortement dépendant des fournisseurs de solution. Mais depuis que le standard DMN pour Decision Model and Notation est maintenant disponible l’ensemble des éditeurs Opensource ou Closed Source fournissent une implémentation de ce standard. Nous allons voir avec un exemple rapide comment utiliser DMN pour modéliser et exécuter des règles métier. Le standard DMN, un KYC en exemple Introduction DMN est une norme de l’OMG (Object Management Group). Cette norme a pour objectif de standardiser la modélisation et le référentiel des règles de décision dans les applications ayant des besoins de scoring, d’évaluation et/ou d’aide à la décision. Elle permet de créer un pont entre les équipes métier et techniques en offrant un langage commun. ...

June 4, 2020

MQTTiser l'API Autolib avec Node-Red

Avertissement ...

April 21, 2018

Camel XML XPath XSLT Aggregator

This month I went to Greece for a customer of mine. I worked at Athens on Camel integration with Mainframe legacy systems. The customer wanted to use XML message format throughout the entire Camel route process. Their primary goal was to reuse some Camel routes as new service components, allowing for greater flexibility and modularity in their integration architecture. Fortunately, the Camel framework meets all of these requirements out of the box. In this article, we’ll explore a simple example demonstrating how to implement this approach effectively. ...

December 3, 2016

Setup a Hotspot Wifi with Ansible into a RaspberryPi 3

This September, RaspberryPi foundation has sold ten (10) Millions of unit. This small computer is amazing, you can setup very quickly several cool IoT projects. Since 2012, I bought all versions (B 256Mo, B 512Mo, B+, 2B, 3B) of RaspberryPi. I am a big fan of this product and you can find into this blog some projects I’ve made on top of this little computer. RaspberryPi version 3 comes with a wifi builtin interface, and this wifi interface can be configured as a Wifi Hotspot. I use it every day at home or at office. Today, I will show you how to configure a Wifi Hotspot with Ansible, which is a powerful automation tool that simplifies configuration management. ...

September 27, 2016

JBoss EAP 7 connected to WebsphereMQ running on Docker

Last year for a previous customer I wrote an article/post about WebsphereMQ Best Practice with JBoss EAP 6. Today we will make almost the same setup but with JBoss EAP 7, WebsphereMQ Sample IVT application, and both running on Docker. This tutorial demonstrates how to configure and connect these enterprise technologies in a containerized environment. I assume you have basic knowledge of Docker commands and concepts. Howto run JBoss EAP 7 connected to WebsphereMQ both running on Docker ...

August 3, 2016

JConsole & Java Mission Control with JBoss EAP 7

During Red Hat summit, Red Hat releases the new version of its JBoss Application Server. JBoss App Server provides a new JMX Remote Management protocol to connect with. A common JMX tool is JConsole and we will see how to use it with remote mode. We also configure an other tool called Java Mission Control for a cooler JMX monitoring solution. These tools provide powerful capabilities for monitoring and troubleshooting Java applications in production environments. ...

July 19, 2016

Lancement de JBoss EAP 7

Cela fait exactement 5 ans que je travaille pour Red Hat et pour mon cadeau d’anniversaire Red Hat vient de sortir sa nouvelle version de son serveur d’application phare à savoir JBoss EAP 7. Cette nouvelle version de JBoss EAP 7 présente certaines évolutions intéressantes par rapport à la version 6, tout en gardant la philosophie et l’architecture générale du serveur d’application. Les améliorations apportées visent principalement à moderniser la plateforme, améliorer ses performances et faciliter son utilisation dans des environnements cloud et conteneurisés. ...

June 27, 2016

UNESCO Challenge, point UNESCO, Malte - Malta

Récemment, je suis parti à Malte avec Madame, ce petit pays en taille possède un riche patrimoine culturel. Celui-ci démarre du Néolithique (-5000 -4000 avant JC) pour aller jusqu’à nos jours. Cela m’a beaucoup impressionné car étonnamment il y a beaucoup de sites Néolithique relativement bien conservés et surtout bien valorisés. Malte est un véritable musée à ciel ouvert, où chaque pierre semble raconter une histoire millénaire. L’un des sites les plus étendus sur Malte est le site “Temples mégalithiques de Malte” qui est réparti sur les deux grandes îles de l’archipel maltais (Malte et Gozo). Ces temples constituent l’un des ensembles de monuments préhistoriques les plus anciens au monde, antérieurs même aux pyramides d’Égypte et à Stonehenge. Auparavant, seul le site de Gozo était inscrit au patrimoine mondial de l’UNESCO. ...

June 14, 2016

Camel is going into Eclipse Kura

Today, I am going to talk about some exciting news in the IoT development world. This is a technical post, but without any code samples or hardware setup instructions. The Eclipse Kura Project has accepted a GitHub Pull Request that introduces a powerful new component to the develop branch. This new component is the Camel Framework from the Apache Foundation. Henryk Konsek, a talented colleague of mine, is the principal developer behind this integration. The relationship between Camel and Kura actually began earlier with the first Camel Kura component, which has been available since Camel version 2.15, also developed by Henryk. ...

March 18, 2016

Device IO and i2cdetect implementation

Today, we’re going to implement a quick tool available on the RaspberryPi using Java Device IO API. The i2cdetect utility is a simple I²C device scanner for your RaspberryPi that browses all I²C addresses to find which I²C devices are connected to your board. This tutorial demonstrates how to recompile the Device IO API and implement the i2cdetect functionality in Java, providing a platform-independent way to interact with I²C devices. i2cdetect with the Java Device I/O API implementation - a powerful tool for hardware detection and diagnostics on embedded systems. ...

March 9, 2016

Rhiot Kura Device IO GPIO and I2C

Recently, a colleague of mine asked me to implement a small demonstration project. I decided to develop a new component for the Rhiot project. This component is the DeviceIO I2C Camel component, which builds upon my previous work on Camel-pi4j that I had already developed for the Rhiot project. In this article, we’ll explore how to use this component within the Kura Platform via the Camel Framework. For this demonstration, we’ll need some hardware devices, specifically a RaspberryPi and an ActiveMQ broker. ...

February 29, 2016

UNESCO Challenge, point UNESCO, Maritime Greenwich, Prime Meridian

En ce début d’année 2016, je me suis rendu à Londres avec Madame. Nous avons pris le temps d’aller voir le Méridien de Greenwich qui est le méridien 0°. Ce lieu historique, situé dans le quartier de Greenwich au sud-est de Londres, représente un point de référence fondamental pour la navigation et la cartographie mondiale. Ce Méridien est devenu très important depuis qu’il est devenu la référence mondiale topographique à la Conférence internationale de Washington de 1884. Avant cette date, de nombreux pays utilisaient leur propre méridien de référence, ce qui créait une confusion considérable pour la navigation internationale et les échanges commerciaux. L’adoption d’un méridien unique a permis de standardiser les cartes et les systèmes de navigation à l’échelle mondiale. ...

January 29, 2016

Rhiot over Kura over Docker over RaspberryPi ;-)

During this Christmas day, Santa Claus brings us lot of presents (I hope for you too), I received 2 RaspberryPi Zero — thanks brother! I will show you something interesting after this special day. We gonna test how to use Rhiot project into Kura Eclipse Platform running inside Docker container deployed into a real RaspberryPi Zero device (in this order). If you don’t have yet a RaspberryPi (B+, 2 or zero) device you can use my previous post. ...

December 28, 2015

Kura over Docker

Rhiot project has recently decided to primarily support the Kura Eclipse Platform. Our project provides code and extensions for Kura, such as Camel integration and many other features. We’ve developed new Camel components specifically dedicated to the Kura Platform (gpio, cloud, wifi). We chose this platform because it’s an OSGi compliant software focused on the IoT universe, supported by the Eclipse Foundation and Eurotech. While Kura runs natively on RaspberryPi hardware, if you don’t have a RaspberryPi device yet, this tutorial will show you how to run Kura within a Docker container. ...

December 23, 2015

Rhiot Kura Gateway Sample (Emulator & RaspberryPi)

For a while, I have been developing during my free time for the Rhiot project with my Red Hat colleague Henryk. We started by developing several Camel components such as kura, pi4j, and bluetooth with other volunteers. Now we are focusing on developing and integrating these components for the Kura Platform. Kura is an OSGi Platform designed specifically for IoT, capable of running on RaspberryPi, BeagleBone, or Intel Edison devices. The Kura Platform comes with many embedded services tailored for IoT contexts, including GPIO, USB, I2C, Cloud Service, and more. In this post, we will explore: ...

December 3, 2015

RHIoT RaspberryPi Sense-Hat display

Recently, I bought the new official Sense-HAT from RaspberryPi foundation. This HAT (Hardware Attached on Top) add-on for the RaspberryPi device includes lots of cool features and sensors. The Sense-HAT comes with an 8x8 RGB565 pixel display, a Joystick, a Gyroscope, Accelerometer, Magnetometer, Temperature, Barometric pressure and Humidity sensors. All sensors are i2c compliant, making them easily accessible with the rhiot camel-pi4j component. This makes it very straightforward to retrieve data from all sensors and transmit them to external systems. The Rhiot team has also developed the first implementation of the rhiot camel-framebuffer component, which now enables pushing images directly to the 8x8 pixel screen. Note that the matrix consists of 8x8 RGB565 LEDs (2 bytes per pixel), providing a colorful display despite its small size. ...

November 24, 2015

RHIoT Webcam and websocket components on MacbookPro in Groovy

Yesterday, we’ve played with our MacBook Pro’s webcam. Today, we gonna see how to send images through a websocket directly in this page !!! or via a JavaFx program. We gonna re-use the previous post and integrate camel Websocket component. Let’s play with Groovy language to create a real-time webcam streaming solution. Webcam image to Websocket w/ Rhiot & Camel projects on MacbookPro Let’s start to broadcast yourself. This tutorial will guide you through setting up a webcam stream that can be viewed through a web browser or a JavaFX application. ...

October 23, 2015

RHIoT 0.1.2 Webcam component on MacOS X in Groovy

My tech leader on RHIoT project (ex-camellabs) Henryk had just release the last version of RHIoT project : 0.1.2. Lot of new stuffs are included in this new release, more details available here. I found in list a cool stuff to test. We gonna check if our new committer @levackt from ZA worked well. Webcam camel component on Mac OSX with Groovy language Let’s start to broadcast yourself. Requisites Have a mac tested MacBook Pro Retina, 13-inch, Mid 2014 Groovy Mac port installed Groovy Version: 2.4.4 JVM: 1.8.0_45 Vendor: Oracle Corporation OS: Mac OS X Program We gonna use Groovy language for this simple example. Groovy provides a concise and expressive syntax that makes it perfect for quickly testing new components like this webcam integration. ...

October 22, 2015

SSH to MacOS X (El Capitan) through iCloud tunnel

Avertissement ...

October 3, 2015

UNESCO Challenge, 国際連合教育科学文化機関の認定地, Iwami Ginzan Silver Mine, 石見銀山

石見銀山は、島根県大田市にある歴史的な銀鉱山で、2007年にユネスコ世界遺産に登録された。16世紀から20世紀にかけて採掘された銀山とその周辺の文化的景観が評価されている。 石見銀山 ユネスコによる要約 石見銀山は、16世紀から20世紀にかけて操業された銀鉱山で、当時の日本の銀生産量の約3分の1を占めていた。鉱山跡だけでなく、鉱山町、街道、港など、銀の生産と輸送に関わる文化的景観が残されている。 Title (ja) 石見銀山 Title (en) Iwami Ginzan Silver Mine and its Cultural Landscape Id 1246 Record date 2007 Visit Date 2015-08-21 Interest High 写真 リンク 石見銀山 — ユネスコ世界遺産

August 24, 2015

UNESCO Challenge, point UNESCO, Le Havre

Le Havre (Seine-Maritime, France) is a UNESCO World Heritage Site, visited during a work assignment in the city. Le Havre, the City Rebuilt by Auguste Perret Almost completely destroyed during World War II, Le Havre was rebuilt according to the urban plan of Auguste Perret, a renowned architect and concrete specialist. The reconstruction (1945–1964) represents one of the most remarkable post-war projects of the 20th century, showcasing innovative use of concrete and modern urban planning. ...

August 4, 2015

Wildfly 9.0 w/ Docker, Offline CLI and HTTP/2

Following the release of Wildfly 9.0.0.Final and the previous post on enabling HTTP/2 via offline CLI, this article covers the same setup inside a Docker container. Docker simplifies middleware infrastructure deployment: open source, rich CLI tooling, automated build process, and straightforward runtime management. How to set up HTTP/2 in Wildfly 9.0.0.Final with offline mode via Docker. Prerequisites Docker must be installed and running. See the official documentation for installation. X509 Certificate HTTP/2 does not strictly require encryption, but most browsers only implement it over TLS. Create certificates as described in the previous post. ...

July 9, 2015

Wildfly 9.0 Offline CLI and HTTP/2

The Wildfly community has released Wildfly 9.0.0.Final. As mentioned in a previous post about Wildfly, this version brings several notable features. Two of them combine well: offline CLI and HTTP/2 support. In a datacenter context, the initial configuration should ideally happen without starting the full process or opening unnecessary ports. This post shows how to set up HTTP/2 using offline mode — useful for starting a JBoss instance with HTTP/2 already enabled. ...

July 3, 2015

Leshan et le standard Lightweight M2M à l'EclipseCon

Découverte du protocole LWM2M pour l’Internet des Objets Lors de l’EclipseCon à Toulouse, Red Hat était présent en tant que sponsor Bronze avec un stand. L’occasion de suivre une formation sur le protocole CoAP et le standard LWM2M dispensée par Julien Vermillard de Sierra Wireless. Le protocole CoAP : une alternative légère à HTTP pour l’IoT Le protocole CoAP (Constrained Application Protocol) a été conçu pour répondre aux contraintes de l’IoT et des communications M2M (Machine-to-Machine) : ...

July 1, 2015

Java Regex Group Name

Lors du développement d’un programme, il est souvent nécessaire d’utiliser les expressions rationnelles (ou regex). Ces expressions constituent un outil puissant pour rechercher des motifs spécifiques dans des chaînes de caractères ou vérifier qu’un texte correspond à un format particulier. Dans tous les langages modernes comme Java, Ruby ou Python, les bibliothèques de regex sont disponibles en standard. Cet article explore une fonctionnalité particulièrement utile de la bibliothèque standard Java : les groupes nommés. ...

June 18, 2015

Camel IoT Labs i2c gpio mqtt lcd

One month ago, Henryk, Claus and the author started the Camel Labs project. This project provides new components for the IoT community based on Apache Camel. These components connect electronic devices (I2C, SPI, GPIO, Tinkerforge) and cloud services (PubNub, Cloudlet, MQTT) together. This lab demonstrates how to build an end-to-end IoT integration with I2C devices, an MQTT broker, and an I2C LCD display using just a few lines of code. ...

May 20, 2015

Sortie de wildfly 9.0 CR-01

La release candidate 01 de Wildfly 9.0.0 est sortie ce samedi. Elle est disponible en téléchargement ici. Cette version corrige un certain nombre de bugs et apporte de nouvelles fonctionnalités présentées ci-dessous. Elle représente une étape importante avant la sortie finale, avec des améliorations en termes de performances et de stabilité. Des exemples complets seront publiés ultérieurement. Java EE7 Wildfly 9 intègre les deux profils Web et Full du standard Java EE7. Cette implémentation complète donne accès à toutes les fonctionnalités de la spécification, notamment les dernières versions de JSF, JPA, JAX-RS et les autres technologies du standard. ...

May 4, 2015

Les premiers jours du projet Camel IoT Labs

L’Internet des Objets (IoT) prend une place croissante dans l’industrie informatique et au-delà. Des montres connectées Withings aux Raspberry Pi vendus à plus de 5 millions d’unités, en passant par les cartes Arduino à bas coût et les modules Tessel, la baisse du coût de production des composants électroniques a permis une large diffusion de ces technologies. En 2012, les premiers Raspberry Pi sont lancés sur le marché. Depuis, la collection s’est étoffée : B rev1, B rev2, B+ et B2. Le fer à souder a repris du service, comme à l’époque du lycée. Mais contrairement à cette époque où les ressources internet, les standards et le matériel étaient rares, aujourd’hui presque tout est à disposition. Il ne reste plus qu’à assembler des briques physiques avec des briques logicielles. ...

April 25, 2015

Apache Camel RaspberryPi PoC

Integrating Apache Camel with Raspberry Pi for IoT The Internet of Things (IoT) is reshaping how software interacts with the physical world. At the core of many IoT projects sit two building blocks: affordable hardware and flexible integration software. This article explores how to combine the Raspberry Pi with Apache Camel, an enterprise integration framework, to build IoT solutions bridging the physical and digital worlds. Introduction to the Technologies The Raspberry Pi is a credit card-sized computer that costs $35. With over five million units sold, it has become a reference platform among hobbyists, educators, and professional developers. While the Raspberry Pi Foundation’s primary goal was to provide an affordable computer for education, many electronics enthusiasts have adopted it for home automation, environmental monitoring, and other IoT applications. ...

April 3, 2015

Best Practices Websphere MQ/JBoss EAP 6 English Version

Integrating WebSphere MQ with JBoss EAP 6: Best Practices Enterprise application integration remains one of the most challenging aspects of modern IT architectures. This article details how to connect JBoss EAP 6 with IBM WebSphere MQ using Java EE standards and industry best practices. Introduction to JCA and Enterprise Integration JBoss EAP is Java EE 6 certified. Among the implemented specifications, the Java EE Connector Architecture (JCA) standard relies on the IronJacamar framework. ...

March 26, 2015

Best Practices Websphere MQ/JBoss EAP 6

Intégration de WebSphere MQ avec JBoss EAP 6 : bonnes pratiques L’intégration entre systèmes d’entreprise reste un défi récurrent dans les architectures modernes. Cet article détaille comment connecter JBoss EAP 6 avec IBM WebSphere MQ en s’appuyant sur les standards Java EE et les bonnes pratiques d’intégration. Introduction au standard JCA et à l’intégration JMS Le serveur d’application JBoss EAP est certifié Java EE 6. Parmi les spécifications implémentées, le standard Java EE Connector Architecture (JCA) repose sur le framework IronJacamar. ...

March 25, 2015

Yubico OTP et JBoss EAP 6 ou Wildfly 8

Intégration de l’authentification forte avec Yubikey dans JBoss Yubikey est une clé de sécurité matérielle qui permet d’implémenter une authentification forte (2FA) lors de la connexion à un site web ou une application (services bancaires, webmail, applications d’entreprise, etc.). De plus en plus d’organisations intègrent cette technologie pour renforcer leur sécurité. Principe de fonctionnement Le principe est simple : l’utilisateur fournit un token à usage unique généré par sa clé Yubikey comme second facteur d’authentification. Ce token, cryptographiquement sécurisé, est vérifié par le système et change à chaque utilisation. Même intercepté, il ne peut pas être réutilisé, ce qui renforce considérablement la sécurité. ...

March 19, 2015

Il y a un siècle aux Dardanelles

Le 18 mars 1915 marque l’un des épisodes les plus tragiques de la Première Guerre mondiale pour la Marine française. Cet article commémore le centenaire du naufrage du cuirassé « Le Bouvet » et rend hommage aux marins disparus lors de cette opération aux conséquences désastreuses. L’expédition des Dardanelles Il y a cent ans, le cuirassé « Le Bouvet », navire de guerre de la Royale, participait à une expédition Franco-Britannique aux Dardanelles. L’opération avait été conçue selon les plans du premier Lord de l’Amirauté, Winston Churchill. L’objectif : débarquer des forces alliées en Turquie pour prendre le contrôle du détroit, libérer l’accès à la Mer Noire et ravitailler la Russie Impériale, alliée dans le conflit contre les Empires centraux. ...

March 18, 2015

Premier post

Français Bienvenue sur ce blog. On y trouvera des articles techniques et des retours d’expérience sur divers sujets informatiques. L’objectif : partager des informations concrètes et utiles. Bonne lecture. English Welcome to this blog. It will feature technical articles and thoughts on various IT topics. The goal: sharing concrete feedback and useful information. Happy reading! 日本語 このブログへようこそ。技術的な記事やIT関連のさまざまな考察を掲載していきます。具体的なフィードバックや有益な情報を共有することが目的です。

March 10, 2015

Blog