1 June 2008

Develop a website for students to choose projects

[lang_fr]Logo de l\\\'UBO[/lang_fr][lang_en]UBO logo[/lang_en]

From january to june 2007, for my second semester project at TELECOM Bretagne “Development project”, I was asked, with 3 other students, to develop an online projects management system for the computer science department of the university Université de Bretagne Occidentale (UBO).

Goals

This website had to allow the persons invited by the projects session administrator to enter projects propositions. These propositions were then validated by the administrator, and shown to the students. THe interested students could then sort their choices. Once it was done, the administrator could assign projects to students, trying to satisfy a maximum of students. The assignments were then notified to the students.

The students had to be identified thanks to the LDAP of the UBO. However the persons who entered projects propositions weren’t all in the LDAP.

The website had to work in the most used browsers, and to use PHP and MySQL server-side.

Problems and solutions

The most difficult problem was the assignment of projects to the students. First we wanted to make an automatic system, but it wouldn’t have been flexible enough, and we hadn’t enough time to implement it. So we decided to create an AJAX interface that allowed the administrator to see in live which students and projects were unsastsified, and which changes could improve the situation. The changes could be saved at any moment to prevent data lost.

The interface for the students to sort the projects was a bit complicated too. So we used javascript to allow the student to slide and sort the projects. However the interface worked properly if javascript was disabled.

We had a little technical problem too to test the authentification system: we worked in TELECOM Bretagne and we hadn’t access to the UBO’s LDAP. So we tested the authentification with the TELECOM Bretagne’s LDAP, and we made the last changes during the deployment on the UBO’s server.

Difficulties

La première difficulté que nous avons rencontrée est que parmi le groupe de 4 étudiants pour ce projet, j’étais le seul à avoir déjà développé en PHP. Il a donc fallu du temps pour que les 3 autres apprennent ce langage.

THe first difficulty was that among 4 students, I was the only one to already know PHP. So the 3 others needed time to learn this language.

An other problem was due to a bad requirements gathering at the beginning of the project. As the problem wasn’t precise, the requirements have changedduring the project, making us waste a lot of time.

Conclusion

Despite these difficulties, the final result was functional, not beautiful (none of us was designer). It was fairly easy to maintain and properly documented.

I don’t know if our system is presently used at the UBO.

No Comments yet »

31 May 2008

A short adventure: Netvibes modules directory

[lang_fr]Un mini module Netvibes[/lang_fr][lang_en]A Netvibes mini module[/lang_en]

Do you know Netvibes ? This is (in my opinion) the best customizable start page (competitor of iGoogle).

It allows you to put on the same page all the information you are interested in on the web. For this, it uses a modular structure: each user can add the modules it is interested in.

The idea of a netvibes modules directory

Au début, seuls les développeurs de Netvibes créaient des modules, qui étaient accessibles à partir d’une barre latérale dans Netvibes.

At the beginning, only netvibes developpers could create modules, that users accessed thanks to a sidebar integrated in Netvibes.

But on 3rd March 2006, Netvibes announced on its blog the Mini Module API. So anyone with HTML knowledge could create modules for Netvibes. I then tried to create some modules.

Some days later, modules had been created by Netvibes users, but there was no easy way to list these modules. I then decided to create a modules directory. I released it some weeks later at http://twisterss.free.fr/netvibes. The website is now closed, but you can still see it in this blog’s archives.

This directory, that was available in English, French and later in German, was very successful, and most of netvibes modules were rapidly added by their authors.

Collaborating with Netvibes

A bit later, I was contacted by Tariq Krim, then Netvibes CEO, to integrate the directory to Netvibes. Thanks to this collaboration, the design was improved by a Netvibes designer (Maurice Svay), and I added RSS and Ical feeds support to the directory (an idea of Tariq).

Due to difficulties in the integration, my original code hasn’t been used in the Netvibes directory, but my database has been integrated to the Netvibes directory, that is still working.

To avoid multiplying the modules lists, I then deactivated my directory, and replaced it with a redirection to the Netvibes directory.

Conclusion

Finally my directory has only worked during some months, but it has had a lot of visitors. Thus I was obliged to create an advanced caching system, to avoid overloading my free host.

This short adventure allowed me to discover the Netvibes team. I understood too the necessity to write readable code, and to separate it from the appearance of the website, in order to ease the collaboration with other developpers and the reuse of the code. If I had properly used the PHP Zend framework, my code could probably have been reused in Netvibes directory.

No Comments yet »

Just for fun: my first website

[lang_fr]Capture de mon premier site internet[/lang_fr][lang_en]Screenshot of my first website[/lang_en]

While searching in my websites archives for my last article, I have discovered a very old website. This one is really the first website I have ever created.

As It made me laugh, I decided to put this website back online. You can see it here.

There are 4 pages created with WebExpert 2000. I remember having searched a long time to understand how to put it online. I imagin nobody has ever visited it.

This is a very good sample of what you shouldn’t do in a website :) .

No Comments yet »

Create the website of a very small business: Le fil à soi

[lang_fr]Logo du fil à  soi[/lang_fr][lang_en]Logo of Le fil à  soi[/lang_en]

This website is one of the first websites I have created.

History

The firstversion looked very bad: there were animated GIFs and frames that gave the website a very unprofessional look. Sadly I haven’t any screenshot of this version.

The second version was a bit better: I had discovered PHP, that allowed me to replace the frames by includes. But my free host didn’t provide any database, so all pages were saved in text files.

This architecture didn’t ease the modifications I had to do: generation of an RSS feed, creation of a simple administration interface, change of design…

Present state

A few years ago, I changed of free host, and I rebuilt completly the website to use a database and a homemade template system. I changed the design too (but the present design is still far from being XHTML valid).

You can see the website of “Le fil à soi” in its present version.

Conclusions

I am not yet satified by the design of the website, but I am limited by my skills in graphic design.

If you have to build a website for a very small business too, you should use a Content Management System (CMS) (drupal for example). It will allow you to reuse themes and plugins, and to customize the website as your client want very rapidly.

The next step for me would probably be to migrate this website to a CMS, and to convince the owners that they should pay for a real host and domain name.

No Comments yet »

  • Welcome!

    I write on this blog about my projects, my practices and my discoveries in the domains of the internet, networks and computer science.

    Tristan, French student in TELECOM Bretagne, a "grande école" specialized in telecommunications

    Contact me Twitter Facebook

    Read more »