lundi 9 mars 2009
Par Benoît COURTINE le lundi 9 mars 2009, 16:06 - Visibilité internet
Je reprends ici deux billets d'actualité publiés sur mon blog personnel :
- le premier, qui a fait suite à l'indisponibilité des mails Google de ce 24 février. Ce billet fait suite à celui posté ici même, qui ventait les mérites des "Google Apps" : malgré la récente indisponibilité des mails et la "mini-crise virtuelle" qui a suivi, je persiste à croire que Google offre des solutions tout à fait viables pour les PME (mails, calendriers, etc.), avec de nouvelles fonctionnalités qui vont dans ce sens (Google pour mobiles, consultation et rédaction de mails hors-ligne, etc.).
- le deuxième est un résumé de la conférence de lancement de Quotero 1.0 (à laquelle j'ai assisté), une GED Open Source.
jeudi 19 février 2009
Par Benoît COURTINE le jeudi 19 février 2009, 22:26 - Visibilité internet
Je me permet de copier ici (avec quelques modifications) le contenu d'un post de mon blog personnel... qui lui-même reprenait un billet du blog java de developpez.com signalant la sortie de la nouvelle version de l'outil Leonardi.
Les principales nouveautés de ce produit étant décrites dans le billet que je site, je ne les recopierai pas. En revanche, je ferai une (très) rapide présentation de l'outil (un résumé des informations que l'on peut trouver sur le site de Lyria), ainsi que du paradigme MDA auquel il se rattache.
Lire la suite...
mardi 3 février 2009
Par Benoît COURTINE le mardi 3 février 2009, 15:41 - Visibilité internet
A l'occasion de la sortie de Spago BI 2.0 (une solution de Business Intelligence open Source), une conférence a eu lieu dans les locaux de la Cantine.
J'ai assisté à cette conférence, et en voici un petit compte-rendu :
Lire la suite...
lundi 1 décembre 2008
Par Olivier ASTIER le lundi 1 décembre 2008, 13:28
Vu sur Advogato : Javascript bouscule le modèle MVC.
''When HTML first came out, browsers could have been called "Application Thin Clients", if the buzzword had been in use at the time. The introduction of javascript made it possible to execute code on the client, and this turned browsers into something much more than just a "display" mechanism.
Before Javascript, Web application development was simple: everything was done server-side. The concept of MVC - Model View Controller - was easy: the HTML was generated, and that was the view. With Javascript being a full-blown programming language, the lines are being blurred between which code is responsible for the View, the Controller and even the Model. The resultant split of responsibility across client and server in wildly diverse programming languages is driving many developers to alternative technologies such as Flash, and causing headaches for those Web developers who remain.''
jeudi 20 novembre 2008
Par Benoît COURTINE le jeudi 20 novembre 2008, 16:24 - Visibilité internet
Je suppose que bon nombre d'entre vous connaît le site http://www.developpez.com/, la plus grosse communauté virtuelle de développeurs francophones (tous langages confondus), ses blogs techniques, et ses forums, qui sont une référence lorsqu'on butte sur un problème technique.
Depuis maintenant 3 jours, ce site a subi une grosse mise à jour, visant à accentuer le côté "communautaire":
- possibilité d'annoter les profils des membres (principe des évaluations Ebay ou des "messages sur le mur" de Facebook)
- possibilité de créer des albums de photos
- possibilité de créer (ou de rejoindre) des groupes d'utilisateurs par centre d'intérêt.
Derrière cette mise à jour, on peut voir une tendance assez généralisée du web à s'orienter vers les systèmes communautaires (Ebay ayant été un des précurseurs en la matière, en allant jusqu'à créer un vocabulaire dédié partagé entre "ebayeurs et ebayeuses"): les nouvelles fonctionnalités proposées par http://www.developpez.com/ rejoignant finalement celles proposées par d'autres sites communautaires (Facebook, LinkedIn, Viadeo, etc.).
mercredi 16 juillet 2008
Par Benoît COURTINE le mercredi 16 juillet 2008, 11:23 - Visibilité internet
En juin et en juillet, de nombreux projets liés à java ont bien évolué. Voilà un petit résumé de ces évolutions (outre la sortie de la nouvelle version d'Eclipse Ganymède à laquelle un billet complet a été dédié):
Par ailleurs, Sun a publié un compte-rendu des différentes présentations techniques qui y ont été faites lors de JavaOne session 2008.
jeudi 26 juin 2008
Par Benoît COURTINE le jeudi 26 juin 2008, 12:53 - Visibilité internet
Il y a un mois, nous avions annoncé la sortie de la première release candidate de la nouvelle version d'Eclipse, et les nouveautés qu'elle apportait.
Hier, c'est la version finale de cette nouvelle version (Eclipse 3.4 "Ganymede") qui est parue. Et avec elle, un certain nombre de fonctionnalités supplémentaires par rapport à la release candidate et à la version précédente.
Lire la suite...
lundi 23 juin 2008
Par Benoît COURTINE le lundi 23 juin 2008, 12:07 - Visibilité internet
Il existe de nombreuses règles de "bonnes pratiques" en programmation objet, dont certaines sont spécifiques au langage java. Il existe des formations et des ouvrages entiers consacrés à ce sujet: je n'ai donc absolument pas la prétention d'en faire la liste ici.
En revanche, j'aimerais attirer l'attention sur le fait qu'il existe maintenant des outils faciles à mettre en oeuvre, et permettant de vérifier automatiquement un certain nombre de ces règles de "bonnes pratiques". Ils permettent d'améliorer significativement la qualité du code, pour un faible coup (à condition qu'ils soient déployés le plus tôt possible dans le processus de développement).
Lire la suite...
lundi 28 janvier 2008
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 ?
lundi 10 décembre 2007
Par Olivier GOSSELIN le lundi 10 décembre 2007, 14:03 - Visibilité internet
Je me fais un petit peu de pub:
Si vous êtes intéressés par les technos du Web 2.0 (javascript, html, css, php,...) et la représentation cartographique de données, je vous invites à faire un passage par mon site perso. Vous y trouverez plusieurs projets de veille technologique sur ces sujets, dont un à même eu le privilège d'être 'Mashup of the day" sur programmableweb.com.
- Mapified Kayak: une jolie couche de présentation pour le métamoteur de recherche de voyages Kayak, et la possibilité de rechercher plusieurs destinations et dates d'un coup (Google Maps + Kayak API).
- Overflown Countries: pour savoir quels pays vous survolez lors de vos voyages (Google Maps + Geonames API).
- Mapified Stock Indices: une présentation géolocalisée des variations d'indices boursiers asiatiques (Google Maps + Geonames + Dapper API).
- Mapified Rss: pour géolocaliser n'importe quel flux RSS et mettre en surbrillance les pays (Google Maps + Geonames API).
- GoogleMaps vs YahooMaps: les 2 cartes sur la même page pour comparer facilement les niveaux de zoom disponibles. Une fonction de synchronisation est fournie (Google Maps + Yahoo Maps API).
Bien que personnels, ces projets constituent également des démos pour présenter notre offre E-business et les compétences des ingénieurs d'Alcion dans ce domaine.
Dans cette optique, si vous êtes vous-mêmes ingénieurs d'Alcion, n'hésitez pas à faire partager vos projets logiciels sur ce blog.
jeudi 4 octobre 2007
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 !
lundi 24 septembre 2007
Par Olivier GOSSELIN le lundi 24 septembre 2007, 11:41 - Visibilité internet
Tim O'Reilly le considère comme le service qui va changer l'internet parce qu'il met enfin le web en tant que BD à la portée des non-informaticiens.
Ce service, c'est Yahoo!Pipes et ca permet de faire des aggégations très intéressantes.
Prenons l'un de ses exemples phares: le GeoAnotated Reuters News. Ce pipe récupère les 10 titres à la une dans un rss Reuters et alimente un service de conversion rss vers georss pour fournir un georss. Si vous regardez le source, vous verrez la présence des balises xml <geo:lat> et <geo:long>.
Ce flux est ensuite traité pour afficher les résultats dans une carte.
Evidemment, il ne vous a pas échappé qu'il était déja tout à fait possible de coder cela soi-même avec des HttpRequest pour peu d'avoir les compétences en javascript adéquates. La grande force de Yahoo!Pipes est d'offir une IHM masquant la complexité du code et de permettre le clônage des pipes produits.
Yahoo! Pipes et Dapper (vu dans le précédent billet) sont très complémentaires puisque le 1er peut produire le rss si celui-ci n'existe pas dans un site et le 2ème le manipuler aisément. Par exemple, si l'on souhaite représenter sur une carte les évolutions journalières des bourses asiatiques, on créé le Dapp à partir de Bloomberg, puis le pipe pour géolocaliser les bourses.
Par Olivier GOSSELIN le lundi 24 septembre 2007, 11:11 - Visibilité internet
Disons que nous concevons une application web de gestion de porte-feuille boursier et que nous avons besoin des cours de clôture à J-1 de l'indice CAC40 pour les retraiter ensuite suivant nos besoins. Comment allons-vous nous y prendre?
Le site d'Euronext présente quelque chose de bien intéressant: une table HTML avec les 40 valeurs de l'indice. Un service de téléchargement au format cvs ou excel est proposé mais ce n'est pas vraiment le flux de données le plus simple à traiter par notre application. Une autre solution peut consister à parser nous même le flux html pour extraire les informations pertinentes mais là encore le travail n'est pas simple. Alors?
L'idée est de dapper le contenu du tableau grâce au service web proposé par Dapper. La simplicité de l'opération est tout simplement fantastique puisqu'il nous faut 10mn maximum pour créer un générateur de flux xml adapté à nos attentes et le rendre disponible en ligne ici. Dans le fichier de sortie, chaque action est présente sous la forme:
<action groupName="action" type="group">
<libelle fieldName="libelle" href="http://www.euronext.com/trader/summarizedmarket/summarizedmarketRoot.jsp?lan=FR&selectedMep=1&idInstrument=18775&isinCode=FR0000120073" originalElement="a" type="field">AIR LIQUIDE</libelle>
<cloture fieldName="cloture" originalElement="td" type="field">94.57</cloture>
<volume fieldName="volume" originalElement="td" type="field">138,637</volume>
<varEnPourCentJsurJmoins1 fieldName="varEnPourCentJsurJmoins1" originalElement="td" type="field">-0.32</varEnPourCentJsurJmoins1>
</action>
nous pouvons également choisir le format de sortie json si nous préférons.
Tous les sites web deviennent ainsi potentiellement des web services grâce à ce web scraping.
jeudi 20 septembre 2007
Par Olivier GOSSELIN le jeudi 20 septembre 2007, 16:32 - Visibilité internet
Les Rich Internet Applications présentent bien des avantages mais il faut leur reconnaitre un inconvénient majeur du point de vue de l'ingéniérie logicielle: l'obligation de gérer différents navigateurs.
Le marché des navigateurs est dominé par 2 acteurs: Microsoft Internet Explorer (avec environ 80% de PDM en légère décroissance) et Mozilla Firefox (avec environ 15% de PDM en légère croissance). Si IE6 domine encore (45% de PDM), IE7 prend petit à petit sa succession (35%). Du côté de firefox, la version 2 est devenue ultra-majoritaire. Le bilan est donc qu'il convient de veiller en ce moment à la compatibilité de son application avec 3 navigateurs dans le cas d'un développement destiné au grand public.
Il existe des technologies permettant de faire abstraction du navigateur comme les applets Java ou Flash mais cela oblige l'utilisateur à posséder une JVM ou des plugins spécifiques (dans la bonne version) ... et l'ingénieur les compétences.
Une des grosse tendance de ces dernières années est l'utilisation d'AJAX, ce qui revient à utiliser le javascript, le DOM et les feuilles de styles. Si les choses se passent bien en terme de portabilité avec la syntaxe du javascript, les ennuis apparaissent lorsqu'on accède au DOM, chaque browser ne gérant pas les mêmes entités. Les spécifications du W3C vont vers une standardisation mais celle-ci est lente. On retrouve exactement le même phénomène avec les feuilles de styles (les specs sont ici).
Pour y avoir passé plus d'heures que je n'aurais voulu sur différents projets, il est fondamental d'éviter le champ de mines du cross-browser compliance si l'on veut respecter les délais d'un projet de RIA. Pour cela on s'appuiera au maximum sur les librairies et frameworks disponibles en veillant à régulièrement tester le rendu dans les navigateurs cibles et surtout pas uniquement à la fin des développements.
Notez bien que les librairies ne font pas tout. La RIA Alcionbooks est par exemple non complètement fonctionnelle sous IE dans sa V1.0 malgré l'utilisation de scriptaculous et de nombreuses heures passées dessus par Eric.
lundi 17 septembre 2007
Par Olivier GOSSELIN le lundi 17 septembre 2007, 10:21 - Visibilité internet
Le magazine mensuel des développeurs Programmez fête sa 100ème édition avec le n° de ce mois (actuellement en kiosque). Souhaitons donc un bon anniversaire à ce magazine de qualité.
Parmi les sujets traités, un très intéressant dossier sur l'avenir du métier de développeur.
PS: Si vous passez au siège, je peux vous le prêter...
lundi 10 septembre 2007
Par Olivier GOSSELIN le lundi 10 septembre 2007, 15:02 - Visibilité internet
UPDATE 09/20/2007: V1.5 released with several code improvements to be cross-Browser compliant. This version uses the localhost web proxy by default (see why here) and the scriptaculous library.
When you manage a set of application software, more often than not it's time wasting to check if it's still up to date by browsing home site by home site. Here comes the freely available Dashboard of software release versions annexed to this article.
It's based on a xml file where you store data about your own configuration, application by application in a similar way to the sample below.
<application>
<!-- URLradical is taken from the wikipedia url-->
<URLradical>Apache_Tomcat</URLradical>
<currentVersion>6.0.13</currentVersion>
</application>
The dashboard is a HTML page which retrieves data from both the xml file and wikipedia using Microsoft.XMLDOM and Msxml2.XMLHTTP objects. Everything is done client-side. In other words, no http server is required.

The screenshot of the dashboard related to our continuous integration platform tells us at a glance that new versions of Apache Tomcat, Apache HTTP server and Subversion have already been released since the release of the platform.
Known limitations:
- depends on the content of wikipedia pages (more precisely the infobox software tag. For example, Apache Continuum has no infobox yet, thus the error in the screenshot).
une annexe
lundi 27 août 2007
Par Olivier GOSSELIN le lundi 27 août 2007, 17:09 - Visibilité internet
Le POM est au coeur de la statégie de build proposée par Apache Maven. Il permet de gérer simplement à partir d'un fichier XML une grande partie de la problématique de récupération des sources, de la gestion des dépendances, de la compilation, du déploiement et de la génération de rapports (comme ici et ici sur le projet NAG).
Ce billet n'a pas vocation a expliquer le POM, puisque de très bons articles techniques le font déja ici et ici.Par ailleurs une étude directe du schéma n'est pas dénuée d'intérêt non plus.
Ce qui peut paraitre manquant c'est un document opérationnel synthétisant toutes ses connaissances dispersées. c'est à ce titre que la DT vous propose en annexe un template de POM qui vous facilitera la mise en application de Maven sur vos projets Java.
PS: Maven fait partie de la PFIC Java/J2EE d'AlcionGroup.
PS2: Apache Continuum exploite les infos contenues dans le POM pour intégrer en continu.
une annexe
vendredi 17 août 2007
Par Olivier GOSSELIN le vendredi 17 août 2007, 12:50 - Confidentiel Alcion
Pour célébrer la rentrée et vous aidez à mettre en pratique les bons principes du génie logiciel, la DT met à votre disposition une Plate-Forme d'Intégration Continue pour J2EE sous Windows. Elle est immédiatement opérationnelle, et de plus, portable, dans le sens où elle peut être mise sur une clef USB.
Cette PFIC est exclusivement construite par l'intégration d'outils opensource: Eclipse pour l'IDE, Subversion pour le SCM, Maven pour le BUILD, Continuum comme CIM et Tomcat comme Serveur Web. De plus Une distribution Xampp (Apache-PHP-MySQL) est également fournie.
Toutes les infos sont disponibles dans le doc ci-joint.
Le Package est disponible sur le serveur de domaine (Telechargement/Serveur/PFIC).
Eh oui on est comme ça à la DT d'Alcion: généreux avec vous ;)
PS: prévoir au minimum 500Mo d'espace disque.
une annexe
lundi 6 août 2007
Par Olivier GOSSELIN le lundi 6 août 2007, 10:06 - Visibilité internet
UPDATE: Précisons que l'intégration continue peut très bien se coupler à n'importe quelle méthodologie de développement logiciel: cycle en V, Unified process, Scrum, Extreme Programming, ....
Un sujet actuel: l'intégration continue (continuous integration) est une stratégie de génie logiciel visant à répérer le plus rapidement possible les éventuelles régressions d'une application par passage de jeux de tests dès la mise en version du code.
On trouve une très bonne introduction sur le site de Martin Fowler, père du terme.
Alcion Group possède une plate-forme d'intégration continue pour .NET autour de Nant et CruiseControl dans le cadre du projet MGV et des études sont faites pour un avoir une pour J2EE (Maven, Continuum, ...).
Si vous même avait une expérience du sujet, n'hésitez pas à en faire part dans les commentaires.
jeudi 19 juillet 2007
Par Olivier GOSSELIN le jeudi 19 juillet 2007, 14:44 - Visibilité internet
Comme beaucoup le savent, la génération de nombres aléatoires n'a jamais été vraiment aléatoire en informatique.
En C++ par exemple, on utilise généralement les fonctions srand() et rand() fournies par la librairie standard.
Tout cela pourrait bien changer prochainement avec l'apparition d'un nouveau service online gratuit appelé Quantum Random Bit Generator qui permet d'obtenir de véritables nombres aléatoires en s'appuyant sur le phénomène physique quantique d'émission de photons dans les semiconducteurs.
A découvrir absolument...
lundi 16 juillet 2007
Par Olivier ASTIER le lundi 16 juillet 2007, 10:29
Les idées derrière Spring (tissage et découplage) pourraient bien être ce qui est arrivé de plus important à J2EE ces 5 dernières années, et servir de boussole pour la suite.
Qu'en pensez-vous ?
jeudi 12 juillet 2007
Par Olivier ASTIER le jeudi 12 juillet 2007, 16:09
http://www.eclipse.org/europa/
Quoi de neuf dans l'IDE utilisé par 60% des développeurs ?
- Meilleur support pour C/C++ et pour les langages dynamiques (Ruby, Python) ;
- Ouverture à des fonctionnalités colaboratives multimedia (intégration voix, chat...)
- Fonctionne sous Vista.
Mais surtout, une mise à jour massive de 21 plug-ins pour toujours plus de productivité, en CSS, en JSF par exemple, sortis ensemble, packagés, testés, validés compatibles ! Ci dessous la liste de ces plug-ins par Benoit Courtine.
Lire la suite...
mardi 10 juillet 2007
Par Olivier ASTIER le mardi 10 juillet 2007, 12:10
Quelques centaines d'algorithmes réunis en un endroit unique. C'est sur Wikipedia.
• 1 Combinatorial algorithms
• 2 Compression algorithms
• 3 Computational geometry
• 4 Computer graphics
• 5 Computer vision
• 6 Cryptographic algorithms
• 7 Digital signal processing
• 8 Software engineering
• 9 Medical algorithms
• 10 Neural networks
• 11 Genetic Algorithms
• 12 Numerical algebra
• 13 Number theoretic algorithms
• 14 Numerical algorithms
• 15 Optimization algorithms
• 16 Parsing
• 17 Quantum algorithms
• 18 Theory of computation and automata
mercredi 4 juillet 2007
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é :
vendredi 1 juin 2007
Par Rida MAHI le vendredi 1 juin 2007, 13:38 - Visibilité internet
Le commencement de tout projet, nouvelles technologies ou autre, nécessite la mise en place d'un socle technique sur lequel va reposer l'ensemble de la logique métier de l'application future. L'expérience montre que bon nombre de développeurs, ont recours à une sorte de boite à outils qu'ils ont dû mettre en en place petit à petit au fil des projets et qui se compose de frameworks, classes utilitaires, bonnes pratiques etc.
Jaxio propsoe une solution élégante basée sur un générateur d'application reposant sur le modèle de la base de données pour générer le squelette de l'application. En quelques minutes, le temps du lancement du générateur, une application packagée est prête à être déployée sur, en théorie, n'importe quel serveur J2EE.
L'application résultatnte est plus qu'un socle technique: elle propose la majeur partie des widgets qu'on trouve dans une IHM classique: tri, pagination, changement de look and feel en quelques clicks
Lire la suite...
mardi 27 mars 2007
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 2 février 2007
Par Stéphane BOISSON le vendredi 2 février 2007, 21:27
Paris, les 2 et 3 mai 2007
La conférence agile sur les méthodes agiles !
Lire la suite...
mardi 16 janvier 2007
Par Olivier GOSSELIN le mardi 16 janvier 2007, 16:41
Une petite compilation des labs à suivre lors d'une veille technologique. N'hésitez pas à compléter la liste :)
Par Stéphane BOISSON le mardi 16 janvier 2007, 16:21
La société suisse Hortis a fait une présentation à l’Institut d’Agilité des Organisations au sein de de l’école de Management de Grenoble.
En particulier, il y a été présenté le produit agile d'Hortis "le forfait agile" et la manière dont Hortis essaie à son modeste niveau d'être elle même agile.
lundi 15 janvier 2007
Par Olivier ASTIER le lundi 15 janvier 2007, 17:21
Après l'open source, voici l'open education !!
Le prestigieux MIT (Massachussets Institute of Technology) met à disposition gratuitement une partie importante de ses supports de formation, notamment en informatique.
Dans cette énorme quantité, on remarque
- 6.001 Structure and Interpretation of Computer Programs
- 6.033 Computer System Engineering (SMA 5501)
- 6.046J Introduction to Algorithms (SMA 5503)
- 6.824 Distributed Computer Systems
- 6.830 Database Systems
- 6.831 User Interface Design and Implementation
- 6.854J Advanced Algorithms
- 6.092 Java Preparation
Par Olivier ASTIER le lundi 15 janvier 2007, 16:18
...c'est ce que nous aide à faire Joel Spolsky, dans son blog "Joel On software", que nous lisons avec intérêt à la DT. Il fait partie des rares personnes à bien comprendre la difficulté extrême de développer des logiciels de façon maîtrisée, et à savoir en parler : recrutement, méthodes efficaces ou non, etc. Pour la petite histoire, il est patron d'un éditeur de logiciel qui fait son succès sur un logiciel de bug-tracking, en dépit de Mantis.
Salon a d'ailleurs une bonne interview de lui.
vendredi 22 décembre 2006
Par Olivier ASTIER le vendredi 22 décembre 2006, 17:05
RomaFramework est une initiative à évaluer. Qui a des retours ?
http://www.romaframework.org/
Roma Meta Framework is a Open Source initiative to make Java application development easy. The approach is totally DDD, let's think to the domain of your application and Roma will makes the rest: persistence (database), presentation (HTML + Ajax), logging, user management, sessions, etc.
The Roma project is composed of two parts:
* Wizards to generate code automatically
* Runtime libraries that works as a glue code to integrate you application with the best Java technologies and products (Spring, JDO 2.0, Echo2, Log4J, etc.)
jeudi 14 décembre 2006
Par Olivier ASTIER le jeudi 14 décembre 2006, 16:41
Ah bon, vous ne saviez pas ? Depuis l'avènement des technologies objet, des approches composants, du développement des outils de génie logiciel, coder est devenu aussi facile que d'assembler des Duplo... Enfin, c'est ce que l'on dit...
Par Olivier ASTIER le jeudi 14 décembre 2006, 14:30
Même si les attaques arrivent en général par le réseau, ce sont les outils que nous choisissons et nos pratiques de développement logiciel qui déterminent la résistance des systèmes aux attaques, et non pas l'intervention a priori ou a posteriori d'un ingénieur sécurité. Que de responsabilités !
Voici le résumé d'un guide de survie, "les 6 idées stupides en sécurité informatique", l'expérience montrant que ce sont les idées les plus séduisantes et/ou sensées qui conduisent aux pire catastrophes :
- Permissions par défaut : une expression à bannir. Le défaut doit être l'interdiction. Le firewall d'un site web qui rejette les URLs malicieuses ? Non, il ne laisse passer que les URLs autorisées.
- Liste des attaques : mauvaise approche, puisqu'il en arrive de nouvelles tous les jours (80000 virus identifiés). Il est plus facile de lister les utilisations légitimes d'un réseau ou d'une application, et de bannir tout le reste.
- Pénétration/correction : refuser la logique qui voudrait qu'un logiciel / un système puisse être amélioré au fur et à mesure que ses vulnérabilités sont découvertes. Si c'était le cas, IE serait devenu sûr et le nombre de vulnérabilités découvertes diminuerait. L'alternative ? Concevoir le logiciel avec la sécurité en tête. Des exemples : QMail, Postfix...
- Les hackers sont cool, il faut les excuser : non, ce sont des sociopathes qui détruisent volontairement.
- Former les utilisateurs : nécessaire mais insuffisant. Si ça marchait, personne n'ouvrirait plus de pièce jointe exécutable.
- Agir plutôt qu'attendre : non, car agir vite fait prendre les mauvaises décisions. Mieux vaut attendre d'avoir des retours d'expérience que d'installer la nouvelle passoire juste parce qu'elle est à la mode.
- un septième point ? A lire directement dans l'article, avec les exemples, assez savoureux.
Autre sujet, même question, celle de la confiance que l'ingénieur peut avoir dans le résultat de ce qu'il produit : les "Observations personnelles sur la sûreté de la navette spatiale" du (grand) physicien Richard Feymann.
lundi 11 décembre 2006
Par Olivier ASTIER le lundi 11 décembre 2006, 18:01 - Visibilité internet
C'est qui celle là ? C'est une femme, pionnière de l'informatique,
- qui a travaillé sur Mark II et III, et sur UNIVAC, les tous premiers ordinateurs ;
- qui a inventé le bug (image ci-contre, lisez l'histoire si vous ne la connaissez pas !),
- qui a crée le premier langage compilé, le langage A, et codé le compilateur qui va avec,
- qui a grandement inspiré COBOL, qui reste un des langages les plus répandus. Et quand certains disent qu'il est dans l'ordre des choses que le langage le plus verbeux de l'histoire ait été produit par une personne du beau sexe, d'autres répondent que c'est bien un mec qui a concu Perl, suite compacte de borborygmes incompréhensibles...
http://en.wikipedia.org/wiki/Grace_Hopper
mardi 5 décembre 2006
Par Olivier ASTIER le mardi 5 décembre 2006, 10:55
Interview avec Bjarne Stroustrup, l'artisan du C++, à la MIT's Technology Review avec en particulier :
- "Comment je vois C++ en 2006" ;
- "Les développeurs de logiciels sont devenus experts dans l'art difficile de construire des systèmes raisonablement fiables sur les composants qui ne le sont pas. Mais souvent, personne ne sait comment ils y sont arrivés, au fil d'une évolution progressive faite d'essais et d'erreurs. Personnellement, je préfère savoir d'avance pourquoi et comment un système va marcher".
EDIT 8 déc. : ils ont publié la suite de l'interview
jeudi 30 novembre 2006
Par Olivier ASTIER le jeudi 30 novembre 2006, 17:01
Vu sur slashdot :
There is a good debate about GUI generation tools for Java going on at theserverside.com: 'Almost every platform has a visual designer that serializes the GUI to resources (some XML, some proprietary binaries) and then attaches it to the controller at runtime. Apple has had this for years with Interface Builder, Vista has a similar philosophy now as well. Java developers though are left with either hand coding of GUIs or potentially messy and brittle code generators. Neither of which promote good MVC separation. In fact they tend to encourage violations unless you are a very disciplined coder.' Personally, I am partial to BuoyBuilder as a great solution to this issue.
Et vous, comment codez-vous vos IHM ?
La discussion continue ci-dessous ("commentaires").
jeudi 23 novembre 2006
Par Olivier ASTIER le jeudi 23 novembre 2006, 15:36 - Visibilité internet
Java est enfin devenu compatible avec les applications temps réel. Le principe du garbage collector empêchait en effet une exécution prédictible, capable de garantir des temps de réponse sous un délai imparti. Aujourd'hui, l'implémentation de référence permet de gérer des lantences quantifiées de l'ordre de 20 microsecondes.
http://java.sun.com/javase/technologies/realtime.jsp
Première étape : la concrétisation de la JSR001, the "Real Time Specification for Java", qui définit des modifications profondes : une API et des ajouts à la JVM. En résumé :
- Deux nouveaux types de threads, dont un ne pouvant pas être interrompu par le garbage collector, et assurant un respect absolu des priorités (ce que l'implémentation standard ne garantissait pas) sur 28 niveaux
- Deux nouveaux espaces mémoire, ne faisant pas l'objet de garbage collection : l"immortal memory", jamais désallouée (prudence !), et la scoped memory (détruite à la sortie du scope). Des fonctions de l'API permettent l'allocation dans ces espaces.
- Deux mécanismes spécifiques aux applications temps réel : la prise en compte d'événements asynchrones ("happenings") et d'un chronométrage à la nanoseconde,
- L'accès direct à la mémoire physique permettant de coder des drivers en java plutôt qu'en C/C++ appelé par JNI. Ici aussi, prudence !
Deuxième étape : la disponibilité de machines virtuelles implémentant cette nouvelle norme. C'est chose faite, nous en avons au moins deux :
- L'implémentation Sun (Java Real Time System ou JavaRTS), sous forme d'add-on au JDK 1.4.1, fonctionnant uniquement sur Solaris/Sparc pour l'instant (la promesse d'autres plates-formes a été faite, avec la limitation que JavaRTS repose entièrement sur les qualités temps-réel de l'OS sous-jacent, Solaris en l'occurrence)
- L'implémentation de TimeSys, qui est lead sur la maintenance de la spécification et auteur de l'implémentation de référence : http://www.timesys.com/java/
Le modèle retenu permet de créer des systèmes complexes nécessitant de la logique temps-réel (réponse en temps imparti) combinée avec de larges portions de code n'ayant pas les mêmes exigences, codées en java "standard".
A noter également des implémentations de corba tirant parti de ces nouvelles propriétés.
vendredi 17 novembre 2006
Par Olivier ASTIER le vendredi 17 novembre 2006, 11:28
mercredi 8 novembre 2006
Par Olivier ASTIER le mercredi 8 novembre 2006, 19:34
Comment évaluer un candidat développeur par téléphone : la technique de Joel Spolsky, patron d'un petit éditeur de logiciels new-yorkais, dont la maturité managériale force le respect (voir son blog JoelOnSoftware) :
http://www.joelonsoftware.com/articles/ThePhoneScreen.html
6 conseils pour réussir un entretien de recrutement projet
http://ofb.net/~niniane/interview_howto.html (via le cache google)
Why Johnny can't code : if you want to give young students a grounding in how computers actually work, there's still nothing better than a little experience at line-by-line programming
. Un plaidoyer pour le basic, qui nous a tant appris :
http://www.salon.com/tech/feature/2006/09/14/basic/print.html
jeudi 12 octobre 2006
Par Olivier ASTIER le jeudi 12 octobre 2006, 12:02 - Confidentiel Alcion
Scrum par Stéphane Boisson
Spring par Thierry Roussel
jeudi 29 juin 2006
Par Olivier ASTIER le jeudi 29 juin 2006, 14:35
La présentation de Pierre Vauban à la direction de la société.
"Vers la démarche CMM, comment améliorer la qualité des forfaits"
Mon image préférée :

jeudi 22 juin 2006
Par Olivier ASTIER le jeudi 22 juin 2006, 19:22
Téléchargement gratuit de l'ouvrage "All the algorithms you will ever need"
www.cse.ucsd.edu/users/dasgupta/mcgrawhill/
Les tutoriaux définitifs HTML, CSS, PHP et Javascript sur le Ron's Guide
www.ronsguide.com
10 conseils pour produire du code réutilisable : assécher, spécialiser, découpler
http://hoskinator.blogspot.com/2006/06/10-tips-on-writing-reusable-code.html
La programmation fonctionnelle pour les nuls :
http://www.defmacro.org/ramblings/fp.html