Bonjour,
J'ai refait il y a quelques semaines mon site catalogue de locations de vacances (au passage pour tous ceux qui veulent s'y inscrire, c'est gratuit, photos illimitées, recherche cartographique, backlink, ...) et voici ici un résumé des choix technos fait pour vous faire découvrir des outils que vous ne connaissez pas peut être et partager ainsi mon expérience.
Tout d'abord le site c'est http://www.mapeo.fr/
Base de données :
J'ai une grosse expérience de postgresql que j'adore, c'est définitivement le SGBD qui roxe (!), mais pour ce simple projet web, je suis resté classique avec mysql 5 et evidemment des encodages utf8 (plus question pour moi de faire un projet en iso-8859-1, on s'en veut toujours après !).
Ensuite, le choix langage/framework :
Fan de programmation objet evidemment c'est PHP5 qui a été retenu, mais surtout il me fallait un framework MVC (model view controller).
En effet, quitte à recommencer un site, autant partir sur des bonnes bases...
Et puis quand on y a gouté, le MVC, c'est vraiment cool.
Et là, c'est Jelix (http://www.jelix.org/) qui a été retenu. Un framework vraiment super, full objet, léger, extensible, documenté et qui plus est, francophone.
Evidemment les sources sont en utf-8, les pages affichées aussi.
La technologie de recherche :
Comme vous l'avez vu sur l'accueil du site, une grosse fonctionnalité est la recherche cartographique (avec une recherche avancée en prime), et là, pas question d'interroger mysql qui en recherche full text n'est pas le top et consomme bcp de resources.
J'ai donc essayé deux technologies : Lucene (de Apache) et Xapian.
Lucene s'est averé moins rapide et plus consommateur de mémoire que Xapian.
Le stemming (le fait pour le moteur de recherche de savoir que recherche, recherchez et recherchons ont la même racine) en langue française marchait aussi mieux avec Xapian.
C'est donc Xapian (http://xapian.org/)
Interactivité :
C'est de l'AJAX avec des réponses en JSON plutôt que XML, je trouve que JSON est bien bien mieux adapté à l'AJAX (ou l'AJAJ devrais je alors dire).
Caching :
Avec un plugin, j'ai ajouté à Jelix une fonction de cache. mysql est ainsi peu sollicité.
Serveurs :
Classique pour toutes les pages web, c'est un apache2. PHP5 beneficie d'un cache d'opcode en la personne de eAccelerator.
Pour toutes les images (qui sont servies sur le port 81) c'est un petit serveur super léger et aux perfs encore meilleures que lighttpd et thttpd : Cherokee (http://www.cherokee-project.com/). En effet, inutile de consommer un slot apache qui est un serveur lourd pour servir une image !
Voilà je crois que j'ai tout dit ! Evidemment si vous avez des questions sur Jelix ou Xapian ou autre, n'hésitez pas.
Si vous avez une location de vacances, n'hésitez pas non plus, inscrivez vous vite !
L.
J'ai refait il y a quelques semaines mon site catalogue de locations de vacances (au passage pour tous ceux qui veulent s'y inscrire, c'est gratuit, photos illimitées, recherche cartographique, backlink, ...) et voici ici un résumé des choix technos fait pour vous faire découvrir des outils que vous ne connaissez pas peut être et partager ainsi mon expérience.
Tout d'abord le site c'est http://www.mapeo.fr/
Base de données :
J'ai une grosse expérience de postgresql que j'adore, c'est définitivement le SGBD qui roxe (!), mais pour ce simple projet web, je suis resté classique avec mysql 5 et evidemment des encodages utf8 (plus question pour moi de faire un projet en iso-8859-1, on s'en veut toujours après !).
Ensuite, le choix langage/framework :
Fan de programmation objet evidemment c'est PHP5 qui a été retenu, mais surtout il me fallait un framework MVC (model view controller).
En effet, quitte à recommencer un site, autant partir sur des bonnes bases...
Et puis quand on y a gouté, le MVC, c'est vraiment cool.
Et là, c'est Jelix (http://www.jelix.org/) qui a été retenu. Un framework vraiment super, full objet, léger, extensible, documenté et qui plus est, francophone.
Evidemment les sources sont en utf-8, les pages affichées aussi.
La technologie de recherche :
Comme vous l'avez vu sur l'accueil du site, une grosse fonctionnalité est la recherche cartographique (avec une recherche avancée en prime), et là, pas question d'interroger mysql qui en recherche full text n'est pas le top et consomme bcp de resources.
J'ai donc essayé deux technologies : Lucene (de Apache) et Xapian.
Lucene s'est averé moins rapide et plus consommateur de mémoire que Xapian.
Le stemming (le fait pour le moteur de recherche de savoir que recherche, recherchez et recherchons ont la même racine) en langue française marchait aussi mieux avec Xapian.
C'est donc Xapian (http://xapian.org/)
Interactivité :
C'est de l'AJAX avec des réponses en JSON plutôt que XML, je trouve que JSON est bien bien mieux adapté à l'AJAX (ou l'AJAJ devrais je alors dire).
Caching :
Avec un plugin, j'ai ajouté à Jelix une fonction de cache. mysql est ainsi peu sollicité.
Serveurs :
Classique pour toutes les pages web, c'est un apache2. PHP5 beneficie d'un cache d'opcode en la personne de eAccelerator.
Pour toutes les images (qui sont servies sur le port 81) c'est un petit serveur super léger et aux perfs encore meilleures que lighttpd et thttpd : Cherokee (http://www.cherokee-project.com/). En effet, inutile de consommer un slot apache qui est un serveur lourd pour servir une image !
Voilà je crois que j'ai tout dit ! Evidemment si vous avez des questions sur Jelix ou Xapian ou autre, n'hésitez pas.
Si vous avez une location de vacances, n'hésitez pas non plus, inscrivez vous vite !
L.