Marmelab Blog

My First Assignment: a PHPCR Browser

I’ve just finished my master degree in IT at TELECOM Nancy, and my internship at INRIA. I was wondering if I preferred to continue studying in thesis, or to start looking for a job. As you may have guessed, I chose the latter, and after a month I finally found a job offer I appreciated at marmelab.

PHPCR Browser

I started programming in PHP a long time ago, and developed many projects on my own. But I never really shared them. Marmelab is the opportunity for me to work in a domain I like, and to learn in depth how to create and manage web projects.

My first weeks here at marmelab are focused on a specific training to quickly get lots of new skills. First, I worked on uptime, the open-source remote monitoring application written in Node.js, to add support for a WebPageTest poller.

Then, I was asked to work on a Silex application in order to provide a UI to explore PHPCR repositories. An older one still exists but has not been maintained for two years. I had already developed webapps with the Silex micro-framework, to control my father’s domotic. So that part was quite easy, also because the PHPCR specification is well documented. But in order to handle huge repositories, it was obvious that the tree navigation logic should be done client-side. I developed that part with an AngularJS application, which communicates with the Silex application using a REST API. This JavaScript part was new to me. That’s one of the particularities of the marmelab training: learning to learn, learning to produce new products, even on relatively new technologies, on a very fast pace.

After a week of development, the project’s GitHub repository is now released, with an open-source license. Marmelab has given me the responsibility of maintaining the project. People already started to give feedback. That’s the opportunity for me to discover another facet of the work: learning to maintain and manage a open-source project.

I am very satisfied of these first two weeks, it is very interesting to learn new technologies, and to produce something the community is interested in. I have already started to work on my next assignment: improving tests performance on a big symfony cmf application. I am also thinking about improvements for the PHPCR Browser, so expect commits on this project soon!