Oct. 3, 2014
Le 24 septembre dernier une faille de sécurité a été découverte dans Bash, le "GNU Bourne-Again Shell", liée à la façon dont les variables d'environnement sont traitées dans le shell. Une 1ère mise a jour a été publiée en urgence dans la journée. Puis une seconde le lendemain, complétant le ...
April 9, 2014
La bibliothèque OpenSSL permet de sécuriser les échanges de données entre clients et serveurs. Récemment, une faille critique de sécurité permettant l'interception de données confidentielles à été découverte. Cependant, cette faille baptisée Heartbleed a très vite été corrigée grâce à la dernière mise à jour de la bibliothèque OpenSSL (version ...
Sept. 10, 2013
Leader dans le domaine des technologies Bluetooth et Wi-Fi, Parrot était présent lors de l'IFA 2013 qui s'est déroulé du 6 au 11 septembre 2013.
July 3, 2013
CARDO Paris® révolutionne les plages et les centres aquatiques en proposant des bonnets de bain élégants et confortables. A la tête de cette révolution... Emmanuelle Cardosi aqua-gymnaste depuis plus de 20 ans, elle redoutait avant chaque cours de devoir s’affubler de ce couvre-chef ridicule. Persuadée qu’un créateur de génie, nageur à ...
May 22, 2013
Syntec Ingenierie (Fédération des professionels de l'ingenierie) a confié à Emencia la refonte du site Avenir Ingenierie en Responsive Web Design. Le site Avenir Ingenierie est destiné à la découverte des métiers de l'ingénierie, c'est le seul site dédié aux étudiants, aux lycéens, mais aussi aux enseignants pour tout savoir sur les métiers de ...
April 25, 2013
Package Linking Talents (Groupe GL Events) a confié à Emencia l'intégration du site ECCP 2013 ( European Cancer Cluster Partnering ). Le salon ECCP 2013 rassemble des entreprises innovantes et des laboratoires de recherche afin de présenter des informations d'actualité sur leurs projets dans la lutte contre le cancer. Ce ...
April 24, 2013
Emencia offre au parrain et à son filleul un an d'hébergement mutualisé pour toute commande de site web réalisé avec Zwook, Django ou Magento Commerce (offre non cumulable).Vous avez certainement entendu parmi vos proches, des discussions autours de potentielles créations de sites Internet ? Si tel est le cas, mettez-nous ...
May 14, 2012
DP World, acteur majeur dans les opérations de terminaux à conteneurs nous a confié l'hébergement haute disponibilité de son applicatif web. Doraleh Container Terminal, résultat d'une "Joint Venture" de DP World et du gouvernement djiboutien, est le terminal de containers le mieux équipé de tout le continent africain.
Nov. 18, 2011
Depuis maintenant quelques années, le mot "cloud" fait partie du vocabulaire à la mode du monde de l'informatique. Rejoignant les mots tels que "virtualisé", "web2.0" ou "ajax", n’importe quel décideur voulant être à jour sur les dernières technologies est obligé de s’intéresser à ce concept qui commence à faire ses preuves afin de comprendre ce qu'il peut nous apporter dans le monde du développement et plus précisément dans le monde python.

1) Le cloud

Je suis certain que vous avez déjà vu la pub d'IBM ventant le "Cloud Computing" comme LA solution d'avenir, LA technologie que toute société digne de ce nom se doit d'utiliser. Cette présentation du cloud est certes attractive, mais que se cache-t-il réellement derrière ce "nuage" ? Si l'objet de cet article n'est pas de lister précisément toutes les technologies liées au cloud computing (wikipedia le fait déjà parfaitement http://fr.wikipedia.org/wiki/Cloud_computing ), il est bon de définir brièvement ce concept. Le Cloud computing c'est tout simplement l'action de déporter l'ensemble de ses services informatiques internes sur des serveurs distants. Alors certes, les plus perspicaces noteront judicieusement que cela fait déjà plusieurs années que leur intranet/extranet est stocké sur un serveur dédié, et qu'il n'y a rien de nouveau ! Mais là où le système "Cloud" va plus loin c'est grâce à l'apport de la virtualisation. Tout cela gagne en souplesse d'utilisation car au lieu d'installer ça sur un serveur fixe, souvent trop puissant au début et qui peut se retrouver limité lors de montée en charge, le cloud, par des mécanismes assez poussés en administration et de manière totalement invisible pour l'utilisateur va pouvoir adapter le support de l'application en fonction de la demande. La facturation de l’hébergement ne va donc plus fonctionner en terme de machine, mais en termes de consommation de services (bande passante, nombre de requêtes, consommation espace disque ....) L'exemple le plus connu et utilisé reste à ce jour Amazon EC2 (Elastic Compute Cloud). Ceci dit, même si tout cela est transparent pour l'utilisateur, la configuration et la gestion de ces systèmes demandent des compétences de plus en plus poussées en "administration système". Si cela ne pose aucun problème pour les grands comptes, le cas n'est pas identique pour une majorité de PME où souvent la casquette d'administrateur système est joué, à ses temps perdus par un développeur bien dépassé par ces nouveaux concepts. Une des solutions serait donc de proposer à ces développeurs (et donc aux PME qui les emploient) un système clef en main, prêt à être déployé à tout moment et qui permet au développeur de travailler sur ce qui le concerne: "le développement".

2) Développement et hébergement de services sur le cloud

Dans le monde python, Google a ouvert le bal le premier "médiatiquement parlant" avec Google App Engine et son framework basé sur Django associé a une base de données maison, puis par la suite a fait évoluer son produit permettant d'héberger des projets en Java, Go, Python. Par un ensemble de lignes de commande il était très facile de développer un site sur son ordinateur puis de le déployer sur les serveurs de Google. Dans le monde de ruby, Heroku fait parler de lui depuis quelques années et permet grâce à Git de déployer très facilement une applis Rails sur les serveurs d'Amazon. Ceci dit dans les 2 cas un inconvénient assez important peut être souligné: une seule et unique technologie peut être utilisée. Impossible de faire héberger sur une même application un forum php, une instance Redmine sous RoR et un site en Django. De plus, souvent certaines concessions sur la technologie/framework employés sont à faire. (Toujours sous Google App Engine, l'utilisation de leur base de données). Mais depuis quelques mois une société du nom de Dotcloud propose un service du même nom qui semble s’affranchir de ces défauts. Leur concept : voir une application comme un ensemble de briques framework/technologiques. On choisit donc l'ensemble des services que l'on veut et afin de créer une "stack" que l'on déploie ensuite sur leurs serveurs. Plus que prometteur, il restait à voir ce que cela donne en réalité.

3) Dotcloud: La fin de l’administration système ?

Fin septembre, dans les bureaux d'Emencia a eu lieu une petite réunion où quelques geeks du monde python viennent présenter les projets sur lesquels ils bossent. Jérôme Petazzoni profite de sa venue en France pour venir nous faire une démo de Dotcloud et je dois dire qu'au bout d’une heure de démonstration je suis fortement convaincu ! Comme décrit plus haut, Dotcloud est un système d’hébergement sur le cloud, permettant de déployer une application en utilisant plusieurs technologies. Premier constat : après à peine 6 mois d’existence la liste des services proposés est juste énorme. On retrouve les principales technologies du web: Php, Ruby, Python, Java, Mysql Postgresl mais aussi des plus minoritaires comme des bases NoSql (MongoDB, Redis), PostGIS (postgres avec le support d'objets géographiques), le moteur d'indexation Solr et de nombreux autres devraient faire rapidement leur apparition ( http://docs.dotcloud.com/services/roadmap/ ). Pour sa présentation, Jérome s'est penché sur l'installation d'un serveur Django couplé d'une base en postgres. Pour cela il se base sur la documentation présente sur le site. ( http://docs.dotcloud.com/tutorials/python/django/ ). Et là, 2eme point très agréable, il en profite pour nous montrer la richesse de la documentation. Chaque service possède sa documentation, claire et précise. Elle est couplée d'une suite de tutoriaux très clairs expliquant pas a pas comment déployer "from scratch" telle technologie. Un autre élément impressionnant vient du fait que ces tutoriaux ont été créés par un outil appelé Gitorial qui utilise les commits réalisés sur un repo Git pour créer un tutoriel. Résultat : tous ces tutoriaux sont en faite un ensemble de base de configuration permettant à tout moment via un "git clone" de créer une conf dotcloud associée à la technologie choisie et de le déployer en quelques lignes de commande. D'un point de vue développeur, cela peut être comparé à la DDD (développement dirigé par la documentation) et nous assure que la documentation fournit par Dotcloud sera toujours de qualité. Au final, la création d'un projet se résume a sa création via la commande:: dotcloud create monprojet Une récupération du squelette via git et quelques personnalisations de la configuration pour l'adapter à notre cas que l'on commit. Puis au déploiement:: dotcloud push monprojet Le projet se retrouve alors déployé sur les serveurs de Dotcloud. (il est bon de noter que l'on n'est pas du tout obligé de passer via Git pour commit et déployer son projet. Si Dotcloud ne trouve pas de folder .git dans le projet il utilisera alors rsync pour faire la synchro lors du dotcloud push)

4) Dans les entrailles d'un projet Dotcloud

La structure d'un projet est assez simple. Il y a à la racine du projet un fichier dotcloud.yml qui décrit la configuration sous une syntaxe de type yaml. On va lister les services qu’on veut utiliser. Chaque entrée correspondra à 1 service dotcloud. Un exemple de configuration pour un Django: il va nous falloir python et postgresql:: www: type: python db: type: postgresql Je défini donc 2 types de services, le www qui hébergera mon serveur python (puis Django) et ma db de type postgresql Lors du déploiement de l'application, Dotcloud va alors déployer 2 systèmes virtualisés (de type LXC), un hébergeant le serveur python et l'autre la base postgresql. Les 2 systèmes communiqueront ensemble à travers le réseau. Pour ceux qui le veulent il est possible d’accéder via un ssh et un shell restreint aux vm hébergeant les services. Enfin la configuration du domaine web se fait très facilement puisqu'il suffit de mettre son bout de configuration nginx dans le fichier nginx.conf. On peut donc très facilement créer son vhost pour son domaine personnel.

5) Et le prix dans tout ça ?

La grille de prix est ultra simple et très claire. Il existe 3 forfaits, un gratuit, un "pro" a 99$ par mois et un "entreprise" au tarif non communiqué. Leur principale différence se fera au niveau du nombre de services que l'on peut utiliser et un support plus adapté au monde de l'entreprise. Mise à part cela, pas de restrictions techniques sur la bande passante, l'espace disque ou les performances du serveur. Quant aux services proposés, le choix est total dans toutes les gammes de prix. A noter que Dotcloud s'engage à héberger gratuitement les projets d'étudiants, ceux associatifs ou en rapport avec le logiciel libre. Il suffit de les contacter si cela vous intéresse. Au final, nous pouvons voir que même si Dotcloud est jeune, ce service n'en possède pas moins de nombreux avantages. Un usage simple, une documentation claire et fournit, un nombre de technologies supportées déjà très élevé. Il est à coup sûr une option plus qu’intéressante pour tous développeur qui n'a pas envie ou le temps de gérer ses propres serveurs dédiés. Pratiquement tous les inconvénients (vus ci-dessus dans l’hébergement dans le cloud) disparaissent avec cette technologie. Ceci dit, on peut encore constater une petite zone d’ombre. Leur infrastructure se base sur Amazon EC2 donc des serveurs basés aux Etats- Unis et tributaires du service Amazon. Mais cela devrait être bientôt corrigé car Dotcloud est en train de se munir de ses propres serveurs en Europe.

Ressources:

Ibm: http://www.ibm.com/cloud/fr Cloud Computing: http://fr.wikipedia.org/wiki/Cloud_computing Amazon EC2: http://aws.amazon.com/ec2/ Google App Engine: http://code.google.com/appengine/ Django: https://www.djangoproject.com/ Java: http://www.java.com/fr/ Python: http://www.python.org Dotcloud: http://www.dotcloud.com http://docs.dotcloud.com/services/roadmap/ http://docs.dotcloud.com/tutorials/python/django/ Emencia: http://www.emencia.fr
Aug. 25, 2010
Emencia propose son expertise afin de valider au coup par coup le bon dimensionnement de la plate-forme d'hébergement vis-à-vis d'une opération de communication ponctuelle. Une semaine avant de réaliser une telle opération, le Client informe Emencia des détails fonctionnels de l'opération : * date, heure et mode de communication (publicité Web ou media classique, citation à la radio ou télévision), afin d'évaluer l'audience attendue sur le site ; * éléments sur lesquels porte la communication (page d'arrivée de la publicité Web, URL communiquée dans les medias) ; * autres éléments pertinents. Emencia réalise alors un audit de performance, soumettant le site à une charge comparable à celle attendue lors de l'opération. À l'issue de l'audit, un document de synthèse est produit, mentionnant notamment : * les conditions exactes du test (nombre de visiteurs simulés et hypothèses de travial), * l'évolution de la consommation des ressources de la plate-forme pendant le test, * les temps de réponse observés en fonction de la charge soumise, * une conclusion indiquant si la plate-forme est jugée comme adéquate, ou si des modifications matérielles ou logicielles sont à prévoir. À l'issue de ce benchmark, le Client peut en toute connaissance de cause solliciter des modifications afin de garantir à l'audience ciblée des conditions optimales. Chaque benchmark fait l'objet d'une facturation spécifique. http://www.emencia.fr/fr/competences/services-d-hebergement/benchmarking
Aug. 3, 2010
Les événements récents du site gouvernemental france.fr (source : http://www.lemonde.fr/technologies/article/2010/07/23/france-fr-le-recit-d-une-debacle_1391241_651865.html ) nous rappelle chaque jour que le service d'hébergement ne doit jamais être négligé. Réussir un projet, c'est aussi s'assurer que celui-ci sera disponible en cas de fort trafic. Afin de vous accompagner sur votre infrastructure d'hébergement, Emencia vous propose des services haut de gamme d’hébergement pour votre site Internet : Supervision, Métrologie, service de cache, Benchmarking, Sauvegarde. Le choix du service d'hébergement dépend entre-autre de la criticité de votre application. Il convient donc de bien prendre cet élément en compte afin de prévoir un service d'hébergement à la hauteur de votre projet. Benchmarking : http://www.emencia.fr/fr/competences/services-d-hebergement/benchmarking Emencia propose son expertise afin de valider au coup par coup le bon dimensionnement de la plate-forme d'hébergement vis-à-vis d'une opération de communication ponctuelle. Une semaine avant de réaliser une telle opération, le Client informe Emencia des détails fonctionnels de l'opération. Service de cache web : http://www.emencia.fr/fr/competences/services-d-hebergement/service-de-caching • Délivrer rapidement du contenu à un grand nombre d’utilisateurs • Limiter et optimiser l’utilisation de la bande passante • Réduire le temps de réponse suite à une requête Web • Réduire la consommation de ressources serveurs... Supervision des systèmes : http://www.emencia.fr/fr/competences/services-d-hebergement/supervision-des-systemes Chaque serveur déployé par EMENCIA dispose d'un ensemble de sondes de base • Mise en place de sondes spécifiques • Monitoring Nagios • Escalade des alertes Métrologie : http://www.emencia.fr/fr/competences/services-d-hebergement/metrologie EMENCIA déploie sur les serveurs alloués au Client un système de mesure permettant d'enregistrer en temps réel des informations relatives aux ressources du système et leur évolution dans le temps. Sauvegardes : http://www.emencia.fr/fr/competences/services-d-hebergement/sauvegardes Chaque sauvegarde s'opère sur les informations suivantes : • Fichiers de configuration de l'instance • Intégralité du logiciel Django, Python et produits d'extension • Bases de données SQL, MySQL, postgrès Mises à jour du système : http://www.emencia.fr/fr/competences/services-d-hebergement/mise-a-jour-systeme Emencia prend en charge les mises à jour de sécurité et les correctifs publiés relatifs aux logiciels installés sur le serveur. Pour en savoir plus, contacter notre service commercial par téléphone au 01 47 20 23 01
Sept. 21, 2008
Ngnix et Zwook http://www.emencia.net/fr/zwook-zope/configurerngnixetzwook A propos : Nginx [engine x] est un serveur HTTP(S) écrit par Igor Sysoev, dont le développement a débuté en 2002 pour les besoins d'un site russe à très fort trafic. Une partie de la documentation a été traduite du russe vers l'anglais. Ses sources sont disponibles sous une licence de type BSD. Il existe en plus du site principale un wiki proposant une documentation complète sur l'installation, la mise en production et détails sur les différentes options possibles. Pourquoi Nginx ? Depuis maintenant plusieurs années Apache règne dans le monde libre et est devenu LE serveur HTTP de référence. Cependant beaucoup de fonctionnalitées inutiles pour une utilisation dite classique ont été rajouté au cours du développement au détriment de la légerté de l'application. C'est pour cela que depuis quelques mois certaines alternatives plus optimisées et légères comme Lighttpd ou Nginx ont le vent en poupe. Pour le cas de Nginx ses points fort sont: * Système Asynchrone (Meilleurs gestion de requêtes simultanées) * Code ultra modulaire (Noyau minimal + modules complémentaires) * Gestion des machines multi-processeurs * Gestion optimisé d'utilisation en mode proxy (Ce qui nous intéresse dans le cas d'un zope)