Des travaux sont actuellement en cours au sein du W3C pour préparer les évolutions qui seront prises en charge par les prochaines générations de navigateurs.
HTML5 (auparavant Web Applications 1.0)
Apple, Opera et la fondation Mozilla se sont associés de manière informelle au sein du Web Hypertext Application Technology Working Group (WhatWG) pour donner naissance au successeur du HTML4.1 figé depuis 8ans. Le W3C a pris ensuite le résultat de ces travaux comme base.
Les specs du HTML5 et de son équivalent XML, appelé XHTML5, sont à l'état de draft. Pour ceux intéréssés par les nouveautés, un article d'IBM mérite une lecture. La synthèse de la prise en charge par les navigateurs est disponible ici.
ECMA-262 edition 4
A la base du futur Javascript 2, la naissance de la 4eme édition des specs de l'ECMA-262 a été lente et laborieuse pour cause de vision divergente entre Mozilla et Microsoft. Toutes les infos sur l'état courant sont sur un wiki. On annonce une machine virtuelle et un compilateur JIT (appelée Tamarin dans Mozilla2).
Les microformats
Supportés par Firefox3 et IE8, les microformats visent à faciliter l'extraction automatique de contenu web en attachant de la sémantique aux données. Une introduction se trouve sur le site de référence.
Par Olivier ASTIER le lundi 24 septembre 2007, 13:57
Vous êtes cordialement invités à l'Open Bar AlcionTech,
Jeudi 4 octobre à 18h30 au siège.
Une collation sera servie.
L'intégration continue est une pratique de développement logiciel où
chaque membre d'une équipe intègre ses travaux fréquemment, au moins
une fois par jour. Chaque intégration est contrôlée par un build
automatique (incluant des tests) de manière a détecter le plus tôt
possible les anomalies.
L’expérience a montré que cette démarche conduit à des gains
substantiels en terme de coûts de développement. Malheureusement
encore trop peu de projets la mette en place.
Après une approche théorique rapide, nous vous montrerons une mise en
application de la CI autour d’un projet J2EE avec Maven&Continuum et
d’un projet .NET avec Ant&Cruise Control.
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.
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:
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.
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...
Dans un univers opensource très mouvant, il est bon d'avoir quelques repères.
Le site Infoworld vient de sortie son cru 2007 des Bossie awards qui vise à distinguer les meilleurs logiciels opensource destinés aux entreprises. Il y a différentes catégories dont le software development.
On extrait particulièrement 3 résultats:
Vous avez sûrement déja constaté que la plupart des pages web agrègent des données provenant de différents sites. Cela peut se faire de bien des manières, de la simple balise html iframe jusqu'aux web services. Par ailleurs, certains sites comme wikipedia fournissent régulièrement aux publics les dumps de leur BD qu'il convient d'importer dans son propre SI aux prix de coûteuses manipulations.
Sans aller jusqu'à cette extrémité, dans une optique de data mining, il est parfois très intéressant de construire sa propre page web en agrégant le contenu partiel (statique ou dynamique) de plusieurs autres pages sans qu'un protocole autre que http soit disponible et donc pratiquer le web scraping. C'est ce que nous faisons avec notre Dashboard. qui synthétise des informations arrivant en format mediaWiki, encapsulées entre 2 balises <text> dans plusieurs pages XML, dans une page locale unique au format html.
Ce type d'architecture logicielle est dite RESTful.
La faisabilité technique repose sur l'objet XMLHttpRequest et c'est lui qui se cache derière le A de AJAX en permettant de lancer des requêtes asynchrones à un serveur http.
L'exemple le plus connu reste google maps où le contenu de la zone carte/image satellite évolue avec les actions de la souris dans la page.
Dans le Dashboard, les appels au serveur wikipedia ne sont fait qu'une seule fois au chargement de la page et le DOM de la page est modifié une fois la page affichée (où le tableau est alors vide). A ce titre nous faisons probablement du AJAX lite ;)
L'étape la plus délicate n'est pas la récupération cachée d'un flux de donnée http mais le parsing de ce flux qui ne se prête pas forcément bien à l'extraction de données. Une fois les infos repérées avec la méthode de l'objet String indexOf, substring permet leur extraction et innerHTML leur réinjection dans la page courante.
Cette méthode autorise par exemple la construction de cette vue synthétique de variation de cours boursiers à partir des pages boursorama. PS: Ce billet passe sous silence d'éventuels copyrights qui peuvent exister sur les contenus ainsi récupérés.
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).
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.
La volonté d’ALCION GROUP de se doter d’une bibliothèque technique résolument moderne et professionnelle a conduit cet été la DT à mettre en place son catalogue sous forme électronique. Dorénavant un poste dédié en accès libre (dit PAL) situé juste à côté de la bibliothèque permet de rechercher des ouvrages, enregistrer ses emprunts et ses retours au moyen d’un lecteur de codes ISBN, et de consulter son compte usager.
Félicitations à Eric Metz pour le travail accompli pendant son stage.
161 ouvrages issus des bibliothèques de NSL, ARI, Datus, Alcion et ALCION GROUP sont d'ores et déjà disponibles en libre service à l’ensemble des collaborateurs de la société, alors n’hésitez pas à passer dans la salle de la DT.
Un petit peu de teasing pour la v2.0 : la DT travaille à la mise à disposition de certaines fonctionnalités d’Alcionbooks via l’intranet. Ainsi le catalogue pourra être consulté à distance et vous pourrez même faire des réservations d’ouvrage en ligne. C’est prévu pour Octobre et on en reparlera dans ces colonnes.
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.
AlcionGroup vient de réaliser pour le compte de la société Stein Heurtey une IHM pour son système d'optimisation de réchauffage pour procédés complexes.
L'IHM a été réalisée en C# .Net 2.0 et s'interface avec le reste du système via des fichiers binaires et sockets TCP. Elle comporte une vingtaine de fenêtres regroupée en MDI comporant des graphiques évolués et redimensionnables à la volée (position et température des produits dans les fours, puissance des bruleurs, temps de résidence...).
L'application permet également un masquage complet du système d'exploitation et une gestion avancée des langues.
Un petite démo vous présente cette application ci-dessous:
Félicitations à Réda B. et Clélio C. pour leur travail.
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 ;)
Par Rida MAHI le mercredi 8 août 2007, 16:32 - Technique
Depuis la version 1.4 de Java, un package java.util.prefs.* est apparu. Il permet de gérer des préférences qui correspondent à des informations organisées d'une manière hierrarchique.
La manière dont les informations sont stoquées est masquée par l'interface java.util.prefs.PreferencesFactory
L'implémentation utilisée peut être configurée comme argument de la JVM: java -Djava.util.prefs.PreferencesFactory=com.MyPreferencesFactory
Sous Windows, et dans le cas où aucune implémentation n'est fournie, c'est java.util.prefs.WindowsPreferencesFactory qui est prise par défaut.
Cette dernière se base sur les registres Windows et stoque les informations sous HKEY_CURRENT_USER\Software\JavaSoft\Prefs.
Pour plus d'information: http://www.ociweb.com/jnb/jnbSep2001.html
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.
Notre vie d'ingénieur logiciel est ponctuée de projets qui se passent parfois très bien, parfois malheureusement très mal, et le plus souvent à peu près bien (ou à peu près mal).
Un de vos rôles (souvent implicites), et ce quelque soit votre fonction, est d'identifier au plus vite si vous êtes sur un projet qui dérape et de proposer les actions correctives nécessaires.
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.
Vous rêviez de pouvoir consulter le catalogue de la bibliothèque de chez vous...
Vous rêviez de pouvoir suivre vos emprunts...
Vous rêviez de pouvoir réserver un ouvrage ou voir sa disponibilité...
Vous rêviez de pouvoir suggérer des achats d'ouvrages...
Et nous rêvions de vous donner satisfaction...
Depuis quelques semaines, Eric Metz est en stage chez nous et travaille d'arrache-pied à mettre en place le catalogue électronique de la bibliothèque d'AlcionGroup dans le cadre d'un projet de la DT. D'ici quelques semaines ce service sera mis à votre disposition.
Une exigence en ingéniérie informatique est un besoin fonctionnel ou technique que le produit du projet doit satisfaire. Il doit être idéalement sans ambiguité et purement quantitatif. Example:
Le système doit afficher l'écran mis à jour en moins de 2s une fois le bouton de validation cliqué.
On ne le dira jamais assez: la gestion des exigences est une cause fondamentale de la réussite ou de l'échec d'un projet.
Dans un processus de développement, il est illusoire de croire que l'on n'aura jamais besoin de "revenir en arrière", c'est à dire de retoucher au jeu initial d'exigences. Le versionning d'exigences est une réalité au même titre que le versionning de code.
Dans encore trop de projets, les exigences sont gérées dans des documents Office qu'il est bien difficile de tenir à jour. Heureusement il existe des outils dédiés à la gestion des exigences facilitant la collecte, la collaboration et l'analyse d'impact tout au long du cycle de développement logiciel. On citera Telelogic doors et Borland Caliber mais il en existe d'autres sur le marché.
Ces outils sont en général des modules d'une suite de logiciels couvrant tout les aspects de l'Application Lifecycle Management (planifier, définir, concevoir, tester) à partir d'un repository unique de données.
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.
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.
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.
.NET ne se déploie bien que sur Windows. Ceci n'est pas une insulte aux développeurs de Mono qui essayent de développer les moyens de faire tourner .NET sous linux, c'est un constat issu du terrain. Au moins pour la partie serveur.
Pour ce qui est de l'environnement client (celle qui permet d'exécuter une IHM, à l'instar d'une JVM sur poste utilisateur permettant d'exécuter une application swt ou Swing), il y a un intérêt évident à rendre la technologie présente sur tous les systèmes d'exploitation. Ce mouvement ne se fait pas sans ratés :
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 :-) !
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.
Par Rida MAHI le mardi 3 juillet 2007, 14:04 - Technique
OSCache est une solution de cache opensource Java qui se présente sous trois formes : filtre de servlet, taglib JSP et API.
Nous avons employé cette solution dans le cadre de la refonte d’un site Internet à grande fréquentation. Voici, en quelques points pratiques, ce qui distingue OSCache des autres solutions opensource.
Pour ce dernier rendez-vous avant l'été, nous mettons
un coup de projecteur sur une nouvelle technologie
dont beaucoup ont entendu parler mais que peu
ont eu l'occasion d'utiliser.
Ruby On Rails est une plate-forme open-source
dont la promesse est de permettre le développement
rapide d'applications relativement simples, en
interface web, sur une base de données.
Basée sur un langage de script objet apparu dans
les années 90 - Ruby - RoR permet, grâce à la simplicité
de sa configuration, le recours à de nombreux implicites,
d'éviter les répétitions et de simplifier les développements.
Les zélotes parlent développement 10 fois plus rapides
(qu'en J2EE ou .NET), et de "framework hautement
productif".
Aurélien Drouet, qui a pu développer plusieurs applications
pour un leader de la distribution, nous fera bénéficier
de son retour d'expérience par une présentation
générale accompagnée d'une démo, et nous
aidera à y voir clair dans l'énorme éco-système
Ruby On Rails en cours de développement.
Enfin, il nous dira pour quelles applications utiliser
Ruby On Rails... et celles pour lesquels c'est inadapté.
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
Un surprenant comparatif à 21 ans d'intervalle.
250 fois plus de mémoire, processeur 1000 fois plus rapide, système d'exploitation 1500 fois plus gros... et 60 fois plus long à installer.
En utilisation courante (Word, Excel), le gagnant n'est pas celui que l'on croit !
Une parabole utile sur la complexification des systèmes d'exploitations, des logiciels, des composants techniques et des outils : de nombreuses couches à traverser ! La simplicité est parfois une vertu...
La société IdealX fait partager son expertise des logiciels open source ici. Environ 280 logiciels à usage principalement professionnel sont listés et évalués. A étudier de près même si la dernière mise à jour semble dater de janvier 06.
Par exemple, si vous cherchez à sécuriser votre PC sous Windows avec 100% d'open source, il est recommandé ici d'installer l'antivirus Antivir (nota: AVG Anti-Virus Free Edition est gratuit mais pas open source) et l'antispyware spybot (nota: Ad-Aware SE Personal Edition est gratuit mais pas open source).
Un système de messaging entreprise permet de faire communiquer des applications à travers des messages. Les Système de messaging ou MOM (Middlewares orientés messages) les plus courants: Rendez vous (Tibco), MessageQ(Bea), MQ Series (IBM) ...
Mike Griffiths illustre avec l'exemple de Boeing la transition en cours dans des entreprises donneurs d'ordre pour moins de contrôle et de spécification vers plus de communication et de collaboration..
Chandler, le projet de calendrier open-source qui aurait pu devenir plus important que Firefox, a fait l'objet d'un livre (sous-titre : "deux douzaines de développeurs, 3 ans, 4732 bugs, la quête du code transcendant") dont voici une revue.
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.
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.
Oracle a annoncé hier lors de la conférence EclipseCon que Toplink sera cédé à l’Open Source sous l’égide du Projet Eclipse.
Tout sauf des spécificités liées à Oracle AS est concerné (même les fonctionnalités encore en cours de developpement)
Dans le cadre de l'amélioration continu du fonctionnement d'ALCION, le processus de mise en place d'une charte d'utilisation du SI est actuellement en cours d'exécution. Celle-ci a été rédigée par la DT et devrait entrer en service prochainement après aval de la direction et des représentants du personnel.
Si vous êtes en mesure de nous faire parvenir celle de vos clients pour pouvoir consolider la notre, n'hésitez pas à m'écrire ogosselin@...
La DT a mis au point une formation destinée à vulgariser notre métier d'ingénieur logiciel aux collaborateurs qui n'ont pas ou peu de connaissances sur le sujet, c'est à dire a priori les RH, les ingénieurs d'affaires et les ingénieurs juniors.
Cette formation va subir un rodage prochainement auprès des stagiaires RH.
Si vous avez des commentaires à faire sur le support (fourni en annexe à ce billet), n'hésitez pas a m'écrire à ogosselin@...
Par Olivier ASTIER le lundi 26 février 2007, 19:17 - Vie de la société
15 mars 2007 18h30 au siège.
Le point sur les EJB3
La norme EJB3, en cours de finalisation, fait d'ores et déjà l'objet d'implémentations de référence qui permettent de se familiariser avec l'approche.
Nous ferons une rapide synthèse des nouveautés, nous évaluerons la maturité de l'approche pour les projets de terrain, et nous chercherons à voir comment s'inscrivent les EJB3 dans l'écosystème de la persistance Java (notamment vis-à-vis d'HIbernate). Par Reda Hedhli.
Persistance en .NET avec NHibernate : une démarche open-source soutenue par AlcionGroup
La persistance de données objet dans une base de données relationnelle reste un des problèmes mal résolus du génie logiciel, que chacun de nos projets doit pourtant traiter en tenant compte des performances, du planning, et de l'agilité du logiciel résultant.
Alors que les architectures Java semblent trouver autour d'Hibernate l'outil adapté à la plupart des besoins, NHibernate transpose à présent ce modèle dans le monde .NET.
Manquait cependant l'outil de développement capable de faciliter la réalisation du mapping et de la configuration de NHibernate, à l'instar d'HibernateTools .Olivier Coanet et son équipe ont réalisé une première version de nHibernateTools, sous forme de plug-in visual Studio, et offert en licence open-source (http://meanstreets.dyndns.org/nhibernatetools/). Après des rappels sur la persistance .NET, Olivier vous montrera comment réaliser un mapping O/R en .NET, et aussi comment réaliser un Plug-In sous Visual Studio. Pour conclure, il échangera avec les participants sur la roadmap et les moyens à consacrer à NHibernate.
Par Olivier GOSSELIN le lundi 26 février 2007, 10:29
50ème billet sur ce blog :)
Une très bonne introduction au sujet se trouve ici.
Lu dans le Monde Informatique du 23 fev 07 p15, un commentaire de Jean-François Rambicur, président de la commission économie-marchés de la chambre patronale du secteur des logiciels et services:
avec un taux de croissance annuel moyen compris entre 30 et 50%, l'offshore devrait représenter environ 3,5% du marché français des services en 2007, peut-être 4.0%.
Ce chiffre s'établirait entre 10 et 15% aux USA.
Ces chiffres sont à prendre avec des pincettes pour les raisons données dans l'article du 1er lien du billet.
Un site de référence pour tout ce qui concerne les langagages informatique, leur histoire et leurs relations: ici.
Si vous voulez impressionner vos ami(e)s, je vous recommande d'accrocher ça au mur de chez vous :)
Pour connaître l'état du marché des langages, jetez un oeil au blog de Tim O'Reilly. Il poste régulièrement les stats des ventes des livres de la collection ... O'Reilly. Par exemple, ci-dessous voici la carte des ventes par langage (en vert, ça se vend plus, et en rouge, ça se vend moins). La taille des carrés donne les parts de marché au Q4 2006 et la couleur, l'évolution des ventes sur 1an.
Remarquez que C/C++ et Java sont en perte de vitesse, PHP stagne, et que C#, Javascript (via Ajax), Ruby et Python sont en forme. Attention, cette carte n'est qu'un indicateur de tendance, rien de plus. Elle ne reflète pas la base de code informatique existante.
Sur netcraft.com, on trouve la courbe d'évolution du nombre de sites. La tendance est clairement exponentielle, n'est ce pas?
Ce mouvement va t'il se poursuivre longtemps? 2 diagrammes trouvés sur internetworldstats.com nous en donnent une idée.
Vu la taille de la population asiatique (déja principal pôle de contribution) et le relatif faible taux de pénétration d'Internet sur ce continent, on peut raisonnablement prévoir encore plusieurs années de croissance du nombre d'utilisateurs (et de sites).
Pour info, le taux de pénétration est actuellement de 50% en France.
Si vous souhaitez les stats par langue, c'est ici.
Est-ce que tout est rose pour autant? Pas tout à fait car la où est l'information est la censure. Vous trouverez ici une carte instructive à ce propos.
Un lien vers un comparatif des dernières technologies pour client riche: Ajax, XUL, Flex, Apollo, WPF.Ce n'est pas très long à lire.
Je vous copie-paste la conclusion de l'auteur de l'étude:
"D'un point de vue plus personnel, je pense que le futur des application internet riche se situe avec Flex et Ajax qui restera. Quand aux applications de bureau, je mettrais une pièce sur un petit duel WPF / Apollo."
Qu'est ce que c'est que ce truc, vous dites vous?
Cet acronyme signifie Free/Libre/Open-Source Software, sujet très à la mode dans notre milieu comme vous le savez. Je vous invite à lire une étude passionnante sur le sujet ici publiée par l'UE et qui est la base d'une présentation que la DT a dans les cartons et que vous découvrirez prochainement sur ce blog ou en conf du soir à Alcion.
N'hésitez pas au passage à installer sur vos machines ces formidables étendards du libre:
Une étude chiffre les budgets et les gains de performance liés à l'installation d'un ERP.
Il semble cela ne soit pas très compétitif face au développement spécifique ou à l'externalisation..