Au cours de notre plongée dans l'univers de Google, nous aurons l'occasion de découvrir comment fonctionne le moteur de recherche le plus utilisé au monde, tant sur le plan de l'algorithme de recherche, clé de voute de la pertinence des résultats , que de son implémentation à l'échelle de plusieurs centaines de milliers de serveurs qui utilise des patterns logiciels novateurs. Nous aurons également l'occasion de voir comment fonctionne cette entreprise pas comme les autres.
Il sera donc question de mathématiques, d'informatique, et d'organisation ; il y en aura pour tous les goûts et les différents métiers qui son ceux d'AlcionGroup.
Tag - e-business
mardi 11 mars 2008
Jeudi 13 Avril - OpenBar special : comment marche Google
Par Olivier ASTIER le mardi 11 mars 2008, 12:17
lundi 28 janvier 2008
Perl, pour quoi faire ?
Par Olivier ASTIER le lundi 28 janvier 2008, 11:26
Choisir le bon outil pour le bon usage... Facile à dire !
Un petit article qui résume ce que l'on peut faire avec Perl :
- pattern-matching : en ligne de commande, recherche dans des fichiers
- in-place editing : en ligne de commande, rechercher/remplacer dans des fichiers
- shell scripts : en Perl, on peut faire plus lisible (hum ?), plus puissant,
- manipulation rapide de base de données : rapport...
- tout ça en cross-platform.
et ce qu'il vaut mieux éviter :
- des applications temps-réel ou haute performance,
- des scripts shell que l'on pourrait écrire en shell, et/ou ayant besoin de performance
- du développement web,
- d'utiliser toute la puissance de la syntaxe Perl, qui peut vite rendre le code illisible.
D'autres articles dans la même série : Javascript, pour quoi faire, et PHP, pour quoi faire ?
mardi 8 janvier 2008
Analyser le fonctionnement d'un serveur
Par Olivier ASTIER le mardi 8 janvier 2008, 11:52
Pour analyser les performances, identifier les contentions et planifier la capacité future d'un système, on a besoin de collecter les consommations CPU, mémoire, réseau, disque en continu.
On peut écrire son script soi-même ou bien, c'est mieux, utiliser des outils open-source existants :
Ces outils collectent les données ; on peut ensuite les traiter avec Nagios par exemple.
lundi 19 novembre 2007
OpenBar Alciontech le 29 novembre : le client riche en Java, c'est facile avec GWT et JavaFX
Par Olivier ASTIER le lundi 19 novembre 2007, 16:43
Ce mois-ci, une conférence pleine de bonnes nouvelles : on peut développer des écrans portables et sexy en Java, sans avoir besoin de connaître Javascript !
En introduction, un coup de projecteur sur JavaFX, sur le thème de "comment faire du flash, en java".
En plat principal, GWT, un framework qui a le potentiel de changer la donne. Il permet de réaliser des applications Ajax portables, en Java. Ses caractéristiques principales sont :
- il est open-source ;
- il n'impose pas d'apprendre javascript pour faire de l'ajax,
- il absorbe les nuances de navigateurs,
- il gère automatiquement des concepts de haut niveau comme la sérialisation, les appels RPC, et la traduction de code java->javascript pour exécution des traitements locaux au navigateur, ce qui est une petite prouesse.
Après 6 mois sur le terrain, il commence à être adopté par certains de nos clients.
Thierry a travaillé quelques semaines sur GWT. Il vous en expliquera les concepts, les principes de développement et vous fera une démo couvrant le design d'écrans, le remoting et l'exécution de code au sein du navigateur.
Que vient faire ici ce barbu frisé ? C'est Ajax le Grand, héros de la guerre de Troie... ;-)
jeudi 4 octobre 2007
Java : outils
Par Olivier ASTIER le jeudi 4 octobre 2007, 15:47
Ce matin, Florent m'a confié trois secrets d'un air de conspirateur :
- Non, OSCache (d'Open Symphony) n'est pas un cache transactionnel distribué ; par contre, TerraCotta est extraordinairement prometteur ;
- JXInsight est l'outil d'analyse de code java en fonctionnement (threads, mémoire, temps d'exécution) qui surpasse tous les autres en ce qu'il permet de débusquer rapidement les anomalies de fonctionnement ;
- SonarJ,, outil de rétro-ingénierie du code et de l'architecture d'une application, par exemple dans un contexte d'audit.
Merci Florent !
mardi 4 septembre 2007
Mesurer un temps de réponse web avec Pingdom tools
Par Olivier ASTIER le mardi 4 septembre 2007, 10:26
Votre page web met trop longtemps à s'afficher... Avant même de procéder à des tests de charge, une mesure unitaire permet d'identifier des causes importantes de sous-performance : latence, temps de construction de la page, débit réseau, complexité du webdesign - feuilles de styles, images...
Ce n'est que dans un deuxième temps qu'une intervention en profondeur - dans la configuration du serveur applicatif, voire dans le code contribuant à la génération des pages - devient justifiée.
L'outil mis à disposition gratuitement par Pingdom, en ligne, permet de procéder à cette première analyse.
http://tools.pingdom.com/fpt/
Les cordonniers étant proverbialement mal chaussés, on constate que notre instance de dotclear - qui motorise ce blog - n'est pas un foudre de guerre...
http://tools.pingdom.com/fpt/?url=www.alciongroup.com/alciontech
Enfin, il faut tenir compte de la localisation de l'outil - aux US - pour analyser les latences mesurées.
jeudi 12 juillet 2007
Injection SQL / Moyens de s'en prémunir
Par Olivier ASTIER le jeudi 12 juillet 2007, 16:25
L'injection SQL est une faille de sécurité présente dans de nombreux systèmes. Par exemple si vous saisissez comme login a' or 't'='t dans un système qui va valider le login par une requête SQL élaborée ainsi :
statement := "SELECT * FROM users WHERE name = '" + login + "';"
conduit à exécuter la requête SQL suivante :
SELECT * FROM users WHERE name = 'a' or 't'='t';
La clause where étant toujours vraie, la requête retourne tous les utilisateurs de la table... Encore plus dangereux, si le login saisi est a';DROP TABLE users; SELECT * FROM data WHERE name LIKE '%, ce qui exécute :
SELECT * FROM users WHERE name = 'a';DROP TABLE users; SELECT * FROM data WHERE name LIKE '%';
qui supprime la table des users ! Heureusement, ce fonctionnement ne serait possible que sous Microsoft SQL Server.
Outils de détection
Security Hacks a élaboré une liste des 15 meilleurs scanners pour ce type de vulnérabilité ; voici les 3 premiers :
SQLIer - SQLIer takes a vulnerable URL and attempts to determine all the necessary information to exploit the SQL Injection vulnerability by itself, requiring no user interaction at all. Get SQLIer.
SQLbftools - SQLbftools is a collection of tools to retrieve MySQL information available using a blind SQL Injection attack. Get SQLbftools.
SQL Injection Brute-forcer - SQLibf is a tool for automatizing the work of detecting and exploiting SQL Injection vulnerabilities. SQLibf can work in Visible and Blind SQL Injection. It works by doing simple logic SQL operations to determine the exposure level of the vulnerable application. Get SQLLibf.
mercredi 4 juillet 2007
Mémoire d'éléphant : au coeur de Myspace, Ebay...
Par Olivier ASTIER le mercredi 4 juillet 2007, 12:41 - Visibilité internet
Les grands de l'e-business rencontrent des problématiques logicielles sévères. Cependant, elles ne sont pas spécifiques aux mastodontes : elles se déclinent à toutes les échelles.
Une compilation de liens rares et précieux sur les secrets les mieux gardés de l'industrie.
Des jours et des jours de lecture captivante :-) !
MySpace : de 0 à 140 millions de comptes en peu de temps :
un article détaillé dans Baseline.
Une présentation technique détaillée d'Ebay, ses 2000To de données, pour (chaque jour) 1 milliards de pages vues (construites en XSL !) et 26 milliards de requêtes SQL. 100 000 lignes de code nouveau sont mises en production chaque semaine ! Et dans CIOInsight, la vision organisationnelle qui va avec.
Chez Amazon, une approche idéaliste de la SOA qui semble fonctionner : partitionner le gros problème en 50 petits, rendre une équipe responsable de chacun (par exemple : la page d'accueil, le profil utilisateur, le catalogue, le module de suggestions...) de bout en bout (ses propres serveurs, ses propres bases) avec une connexion SOA systématique entre modules afin de favoriser le découplage. Le détail dans une interview passionnante de Werner Vogels, leur directeur technique.
Et du côté de chez Google ? Après PageRank, l'algorithme qui nous a enfin permis de trouver quelque chose sur le web, GFS, innovation majeure dans le stockage (réunir plusieurs milliers de machines pour stocker un unique très gros fichier présenté comme tel aux applications), nous avons aimé :
- cette interview d'Amit Singhal, en charge de l'algorithme de recherche et de la qualité des résultats, notamment sur les évolutions récentes ;
- Le responsable des opérations parlant du fonctionnement des machines et de l'organisation des logiciels et des données ;
- un article de fond offrant une vue détaillée de la technique et du business.
mardi 27 mars 2007
OpenBar AlcionTech : meta-frameworks, Jaxio, le 26 avril
Par Olivier ASTIER le mardi 27 mars 2007, 12:50
>> Jeudi 26 avril 2007 à 18h30 au siège
Qu'est-ce qu'un méta-framework ?
Les frameworks sont à présent un état de fait ; plus un projet ne démarre sans l'adoption de briques techniques telles que Struts, Spring, Log4J, Hibernate..., qui enrichissent, chacune dans sa spécialité, le paradigme J2EE.
Un méta-framework est une "suite" de frameworks techniques assemblés afin de couvrir l'ensemble des besoins de réalisation d'une application.
Par exemple, certains réfléchissent, au sein d'AlcionGroup, à la possibilité de pré-assembler un socle applicatif basé sur Spring et Hibernate, prêt à partir sur nos projets.
Différentes initiatives vont dans le même sens (JAD, Keel, Roma, Jaxio, MD4J, Seam, RIFE, AppFuse, Tapestry...) dans le double objectif d'améliorer la productivité du développement, et de réduire les dépendances entre composants afin de faciliter l'évolution du logiciel produit (rester agile !).
Il y aura, à moyen terme, une norme defacto, sorte de "pile standard", incluant - ou non - les outils de développement rapide que l'intégration verticale suggère.
Quelques ressources : http://www.theserverside.com/tt/articles/article.tss?l=Keel http://romaframework.xwiki.com/xwiki/bin/view/Main/
La présentation du soir : Développement rapide d'applications J2EE avec Spring, Hibernate, et Jaxio
Jaxio est un outil de génération rapide d'applications J2EE à partir d'un modèle métier, développé par une jeune société française. Sur le constat d'une lassitude du développeur à réaliser certaines tâches répétitives liées aux patterns mis en oeuvre, Jaxio a automatisé la production de code pour les parties persistance, métier, et présentation, dans un cadre technologique tout à fait au niveau de l'état de l'art, et de plus totalement personnalisable. Les applications sont nombreuses : maquettage, RAD, développement itératif... Cette présentation sera assurée par Florent Ramière et Nicolas Romanetti, fondateurs de Jaxio. Et, pour tout vous dire... le retour des Alcionniens les intéresse.
vendredi 17 novembre 2006
<billet title="XML a 10 ans">
Par Olivier ASTIER le vendredi 17 novembre 2006, 11:28
vendredi 30 juin 2006
La Française des Jeux accélère son e-business avec Alcion
Par Olivier ASTIER le vendredi 30 juin 2006, 18:29
Depuis le 5 juin, on peut enfin jouer aux 17 jeux de tirage, de grattage et de pronostics de la Française des Jeux sur le web (www.fdjeux.com), grâce à la mise en production d'une version totalement nouvelle du site de jeu, en remplacement d'une architecture basée sur un client applet java et un serveur C/C++.
Ce sont désormais près d'un million de comptes joueurs qui sont ouverts 24h/24 sur une plate-forme à laquelle AlcionGroup a collaboré de près, tant sur le plan de l'architecture, que de la gestion de projet et de l'industrialisation.
- Site JSP + jeux Flash/XML/webservices
- Back-end java, framework propriétaire, Tomcat, Oracle
- Plate-forme transactionnelle sécurisée full-https
- Performances : 5000 sessions simultanées, temps de réponse moyen < 0.3s, sur 24 processeurs AIX
- Système de porte-monnaie permettant le micro-paiement
- équipe de 10 développeurs + 10 testeurs, sur 10 mois.
Aujourd'hui, la Française des jeux peut espérer convertir une part significative des 8 milliards d'euros de CA vers le online et ainsi jouer dans la cours des grands de l'e-business français, derrière voyages-sncf.com mais dans le peloton de tête des ténors de la VPC (notamment fnac.com). Avec un avantage majeur pour le online : la possibilité de limiter les mises des joueurs, qui sont parfaitement identifiés, dans le cadre de la politique de "jeu responsable". Limitation impossible dans le réseau des points de vente traditionnels. Enfin, deux scoops :
- en 2007, on pourra également jouer depuis son mobile ; il s'agit d'une tendance lourde, comme on le voit par exemple au Japon ;
- les systèmes hautement sécurisés rendent honnête. Inutile donc de me demander si j'ai un truc, une martingale ou une backdoor !