09/11/2020 Written by Cyril GRANDJEAN

Outside of the professional field, I like photography and hiking. This is why I created the French Riviera Hiking Meetup group to meet people from all over the world around hiking in the Alpes Maritimes. Because I like to couple personal projects with my passions, I decided a few years ago with friends from the Meetup group to create the OpenTracks project in my spare time.

OpenTracks is a website (https://opentracks.app) but also an iOS (link) and Android (link) application intended for people who like walks, hikes, snowshoe hikes, trails and treks.

Thanks to the OpenTracks application, you can search for hikes according to a lot of selection criteria but you can also perform the selected activities from your mobile thanks to the integrated GPS and the optimized offline mode to ensure that you are not lost but also by optimizing the battery usage. I invite you to explore the OpenTracks website and the descriptions of the mobile applications in more detail to discover more about the multiple features of the application and do not hesitate to create an account on the application if you are interested by the application.

I take advantage of the development of the application to improve my knowledge in JavaScript front-end and backend (OpenTracks is an application entirely developed in Javascript) as well as in mobile development which was an area that was relatively theoretical for me until now and to create a robust architecture that would allow to have pages displayed in SSR (for SEO), while being optimized on mobile. A difficult technical challenge but not uninteresting 🙂

I took advantage of this project to implement Test Driven Development in the application lifecycle. A small waste of time at the start of the project but which is now a considerable time saver thanks to the automatic tests which have been enriched over the versions of the application and which contributes to the continuous improvement of the quality of the application by avoiding regressions.

Run existing itineraries
Plan your activities

30/08/2018 Written by Cyril GRANDJEAN

After a few months of work, the new design of my personal website is now published online. Because the previous website design was created 8 years ago, I decided to recreate the website design from scratch in order to improve my web design skills. The new design has now been fully integrated into WordPress with an internationalisation mechanism in order to continue to display the content of pages and articles in French and English (I think it is still important to me to practice both languages despite the fact it takes more time to write pages and articles).

As a software engineer, I believe it is important to constantly learn about new technologies. That’s why I always try to learn and practice by working on some personal projects (I will develop in more detail in a future article). Therefore, I have used my need to improve my web design skills in this redesign work.

I have also tried to optimise the design for desktop computers, tablets and smartphone. I will continue to fix some bugs found and to make some other improvements in some future time.

In the blog, I will continue to write some articles about technological subjects, my professional experiences and some other articles worth sharing.

Don’t hesitate to follow me on Twitter, LinkedIn, Viadeo and GitHub by using my website links.

New website redesign

Apart from my job, I like to go hiking and discover new landscapes and wildlife that I like to photograph with my digital SLR camera. I am also always interested and passionate about exploring new destinations and new countries.

During the various hikes or trips that I have made with my friends or with my Meetup group, I noticed that the pictures I took were only used for a short time before being archived in a directory that was almost never opened. Moreover, when some people asked me to recommend them, I thought it would be more convenient if I could show them the pictures I took on a map. The Photo Travel project was born.

The aim of Photo Travel is to display photos of trips, hiking and events on a map for people interested in a particular destination, a particular hike or a local event.

Link to Photo Travel.

Photo Travel

19/03/2015 Written by Cyril GRANDJEAN

Using the new web technologies HTML 5 and CSS 3, I have redesigned my personal website in order to have a new responsible website with a better display depending if you are using a mobile, a tablet or a desktop computer.

  • Mobile display

mobile-display

  • Tablet display

Screenshot_2015-03-19-21-42-22

  • Desktop display

desktop-display

Abstract

Over the past years, the quantity of data created has increased in a very significant way. Databases and more generally data stores are now installed on servers, desktop computers but also on mobile devices. As a result, distributed data stores technologies have been developed to link these data by using some communication technologies.

In this dissertation, a Java toolkit for creating distributed data stores applications is designed and developed by using Java abstraction mechanisms. Before the development of the toolkit, some middleware technologies are studied in order to establish the communication between the different data stores. At the end of the project, the toolkit is implemented inside a concrete application scenario, that is, a client application which manages several libraries which have their own database.

The toolkit has been created modular with two layers. The first layer is the middleware layer composed of the SQLSpaces and JGroups modules, the middleware technologies that have been selected after the experiments. The second layer is the data layer composed of the MySQL and RDF data stores modules. Transfer transparency between RDF data stores and databases has been implemented and data are transferred between data stores by using command objects representing commands sent to one or many data stores.

Toolkit schema

Interactions between the different modules of the toolkit

You can find below the full dissertation report.

Read next content

08/07/2011 Written by Cyril GRANDJEAN

Here is a small tutorial for all who want to install Apache Tomcat on a QNAP.

First of all, download Java and Apache Tomcat and upload on your NAS.

Below are the paths to install Java and Apache Tomcat that I used :

  • Java : /share/Qweb/java6
  • Tomcat : /share/Qweb/tomcat6

Then, I have created the file tomcat.sh on the root of tomcat6.

#!/bin/sh
#Tomcat self-starting
#Auteur : Cyril GRANDJEAN
#Description : Self-starting de tomcat
#name of the process : tomcat
#pid of  : /var/run/tomcat.pid
RETVAL=0
QPKG_NAME="tomcat6"
_exit()
{
   /bin/echo -e "Error: $*"
   /bin/echo
   exit 1
}

JRE_HOME="/share/Qweb/java6"
CATALINA_HOME="/share/Qweb/tomcat6"

case $1 in
  start)
    sh /share/Qweb/tomcat6/bin/startup.sh
    ;;
  stop)
    sh /share/Qweb/tomcat6/bin/shutdown.sh
    ;;
  restart)
    sh /share/Qweb/tomcat6/bin/shutdown.sh
    sh /share/Qweb/tomcat6/bin/startup.sh
    ;;
  *)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
esac
exit $RETVAL

Then, to use it as a package on the interface of the QNAP, I have used the following commands :

echo "[tomcat6]" >> /etc/config/qpkg.conf
echo "Name = Tomcat6" >> /etc/config/qpkg.conf
echo "Version = 6.0" >> /etc/config/qpkg.conf
echo "Enable = TRUE" >> /etc/config/qpkg.conf
echo "Shell = /share/Qweb/tomcat6/tomcat.sh" >> /etc/config/qpkg.conf

You can now use Apache Tomcat on your QNAP.

23/03/2011 Written by Cyril GRANDJEAN

During my internship at Distrame from July 2010 to September 2011, I have participated to the creation of the solution Efficacenergie. This solution, directly installed on the intranet network of the customer, allows the measure of energy consumption of a building such as water consumption, gas, electricity or the measure of temperature, … Efficacenergie is compatible with the wireless sensors of the brands LEM and Coronis.

The solution is installed on a NAS working on a linux operating system. Our NAS server is going to play collector’s role of data resulting from wireless sensors. Thanks to the application server Apache Tomcat and a mySQL database, the customer can visualize his consumptions with an ergonomic Web interface developed from the javascript framework Ext-JS. You can find on my portfolio a list of available features with Efficacenergie.

Here is a small video of presentation of the solution (French video) :

01/03/2010 Written by Cyril GRANDJEAN

I inform you about the release of a new version of Redim Picture, my software to resize image.

What’s new :

  • Management of the main formats of image (JPEG, PNG, GIF, BMP)
  • New management of the proportions
  • Possibility of changing formats of favorites images
  • Addition which allows the user to save dimensions defined by images
  • Choice of the path where to save the image

The ancient version of Redim Picture was developed in VB.NET and suffered numerous bugs (Be indulgent, it was my first program 🙂 ). This new version, developed there in C#, is a beta version. Thus, if you notice bugs or if you wish to announce me a possibility of improvement of the software, do not hesitate to contact me.

Description of the program :

  • Name : Redim Picture
  • Description : Software to resize images (see novelties)
  • System compatibles : Windows xp, vista, seven. (Require the .NET Framework 3.5, to download it, click here).
  • Download : link