Présentation du site Blog de Francois MOTTET sur l'actualite informatique, Internet et Web2.0 :
Passionné d'Internet, je m'intéresse à tout ce qui touche au Web2.0 : nouvelles technologies, design et ergonomie, business, model. J'aime suivre la grande dynamique de création de nouveaux services web.
Développeur Informatique, je suis de très près les nouvelles méthodes de développement agiles, comme eXtreme Programming ou Scrum.
Pictogame est une plateforme de jeu 2D sur Internet. Il propose à l'internaute de créer son propre jeu. Sympa ! Même si les graphismes sont plus que simple et les jeux sans réel interet. Vous avez une option pour lancer un challenge à vos amis, bien pratique !
J'ai créé un jeu de voiture, avec mon propre circuit : bon jeu !!
Ce nouveau service Acrobat.com regroupe trois services web que sont : Adobe Brio permettant de réaliser des réunions en ligne, un traitement de texte répondant du nom de Buzzword et Adobe Share un service de partage de fichiers.
Buzzword permet le partage et l'édition de document texte en ligne, de façon collaborative. Adobe Share propose un espace de stockage de 5Go gratuit et Adobe Brio permet de réaliser des meeting en ligne, avec trois personnes en partageant écran, avec chat et voix.
La qualité des services est au rendez-vous. Le design est attractif et les services très facilement utilisables.
Avec ses trois services, Adobe complète son offre internet lancée avec la version de Photoshop en ligne et joue dans la cour de Google et sa suite office en ligne ou encore Microsoft et ses services Windows Live.
Rien de bien extraordinaire, mais tout de même bien pratique, alphabetizer est un service web permettant de trier un texte par ordre alphabétique. Les termes à trier peuvent être des lignes ou des mots séparés par un séparateur.
Il existe également de nombreuses options, comme par exemple ignorer les tags HTML, la casse, enlever les duplications, trier en mettant une majuscule en début de ligne...
Voici un premier article d'une série présentant les principales méthodes de développement agiles. eXtreme Programming est une des méthodes les plus utilisées dans le développement informatique, et celle que je connais le plus.
La principale différence par rapport aux méthodes traditionnelles est d'être ouvert, flexible aux changements voulus par le client. Son mot d'ordre : pousser à extrême des pratiques simples du développement informatique.
puisque la revue de code est une bonne pratique, elle sera faite en permanence
puisque les tests sont utiles, ils seront faits systématiquement avant chaque implémentation
puisque la conception est importante, elle sera faite tout au long du projet
puisque la simplicité permet d'avancer plus vite, nous choisirons toujours la solution la plus simple
puisque la compréhension est importante, nous définirons et ferons évoluer ensemble des métaphores
puisque l'intégration des modifications est cruciale, nous l'effectuerons plusieurs fois par jour
puisque les besoins évoluent vite, nous ferons des cycles de développement très rapides pour nous adapter au changement
13 pratiques permettent de mettre en place la méthode eXtreme Programming :
Client sur site : le client ou un de ses représentant doit être en permanence avec l'équipe de développement. Il a pour rôle de répondre aux questions de l'équipe et d'avoir la vue de l'utilisateur final.
Planning itératif : le client propose pour chaque itération (le développement de fonctionnalités se fait par palier à durée fixe, par exemple 15 jours), un contenu de fonctionnalités qu'il voudrait voir implémenter. L'équipe se réunit durant des planning game afin d'évaluer le temps nécessaire pour les réaliser.
Intégration continue : à l'aide d'outils comme Hudson ou Cruise Control, l'intégration continue permet de connaître l'état du logiciel à tout moment, en compilant, lançant les tests unitaires et fonctionnels à chaque commit de développeurs. Ainsi, la phase d'intégration (en fin de projet pour les projets traditionnels) est réalisée tout au long du développement, pour voir les problèmes au plus vite.
Livraisons fréquentes : Aidées par l'intégration continue, les livraisons au client doivent être les plus régulières et fréquentes possible, afin de découvrir les problèmes, notamment fonctionnels, au plus tot.
Rythme durable : l'idée est qu'un développeur fatigué travaille mal. AInsi, l'équipe doit travailler régulièrement, mais en limitant les périodes de travail intensif.
Tests fonctionnels : ces tests doivent être écrits par le client. Ils permettent de s'assurer que le produit réponde aux besoins du client. Fitnesse ou encore Concordion propose deux framework permettant de réaliser et d'automatiser les tests fonctionnels.
Test Driven Development : un test unitaire doit toujours être écrit AVANT le code correspondant. Ceci permet d'éviter d'avoir un code correspondant aux tests (dans l'idéal écrit par le client), et non l'inverse.
Conception simple : l'idée est de répondre aux besoins du client et de se limiter à ses besoins. C'est pas la peine de réaliser des usines à gaz pour une simple fonctionnalité. On ne développe que ce qu'on a besoin à l'instant T.
Méthaphores : l'idée est d'utiliser des méthaphores pour mieux se faire comprendre au sein de l'équipe. Par exemple, client-server est une méthaphore bien connue des informaticiens, permettant tout de suite de comprendre de quoi on parle. Idem pour les design pattern.
Refactoring : le code doit être remanier de façon continue afin de le rendre plus maintenable et d'améliorer sa qualité.
Propriété collective du code : tout le monde est propriétaire du code, pas de chasse gardée afin que toute l'équipe connaissent l'ensemble.
Convention de nommage : toutes les parties du code doivent être comprehensibles par tous les développeurs de l'équipe. Un ensemble de régle de codage doit être respecté. En revanche, celles-ci doivent être minimaliste, afin d'être bien appliquées par les développeurs.
Binomage : les développeurs travaillent en binôme. Ceci permet d'avoir une revue de code en continu et d'éviter les chasses gardées. C'est également un très bon moyen d'intégrer les nouveaux développeurs dans l'équipe.
Voici une petite explication de la méthode eXtreme Programming. Le prochain article expliquera la méthode Scrum.
Microsoft vient d'annoncer qu'il renonçait au rachat de Yahoo!. En effet, Yahoo! a rejeté le prix de 33$ par action que Microsoft proposait. Selon Steve Ballmer : "Après un examen minutieux, nous estimons que les exigences financières de Yahoo ne sont pas raisonnables pour nous et qu'il est dans le meilleur intérêt des actionnaires, des employés et des autres détenteurs de parts de Microsoft de retirer notre proposition"
Résultat : le cours de l'action Yahoo! est en chute. -22% vendredi dernier. Le cours de l'action devrait encore baisser aujourd'hui ! Il reste beaucoup de travail a Yahoo! pour rassurer ses actionnaires. Que va-t-il leur proposer ? Une fusion avec AOL ? avec MySpace ? Un accord avec Google ? Ceci est moins probable à cause des lois anti trust... Affaire à suivre !
Vu sur le blog de Fred Cavazza, la société Evolution Robotics va proposer un nouveau moyen de recherche sur votre téléphone portable à l'aide de l'appareil photo. L'idée est d'utiliser l'appareil photo comme moyen de saisie, à la place du clavier.
Voila comment la recherche se réalise :
Vous prenez en photo l'objet sur lequel vous désirez effectuer une recherche
Vous envoyez cette photo par email, à l'aide de votre téléphone
Vous recevez un email avec plein d'infos sur votre image, des liens de vidéos sur YouTube...
Vous avez ensuite la possibilité d'acheter ce produit (si possible), sur les sites marchands Amazon, iTunes...
L'idée est vraiment exceptionnelle, tant ce moyen de recherche est pratique sur un mobile. Imaginez-vous en vacances, vous voulez avoir plus d'information sur une statue, un monument etc...
A priori, cette technologie fonctionne sur tous les téléphones portables de nouvelle génération.
Google vient de lancer un nouveau service pour développeurs de sites web : Google App Engine. L'idée est de permettre la création de sites web, basés sur le langage Python et hébergés par Google.
Google offre ainsi :
Une solution de stockage en base de données avec le système BigTable
Une API permettant une authentification avec les comptes Google
Une API permettant d'utiliser la messagerie Google
Stockage des applications avec 500Mo offert dans un premier temps et 10Go de bande passante quotidienne
L'infrastructure réseau de Google, permettant d'avoir un service scalable, c'est à dire le passage d'un utilisateur par jour à 1 million est transparent pour vous
Un kit de développement, contenant un serveur d'application, et les API disponibles dans app engine.
C'est une excellente nouvelle pour les développeurs et pour Python et Django(framework de developpement web python) sur quoi ce service est basé.
Depuis une année qu'on l'attend, Adobe vient de sortir en bêta publique la version en ligne de Photoshop. Ce service est entièrement gratuit. Bien évidemment, la version en ligne est plus light que le célébre logiciel de retouche photos. Cependant, il vous sera possible de réaliser les retouches photos de base tels que le pivotage d'image, le recadrage, le réglage de la saturation, la luminosité ou encore des couleurs. De nombreux filtres sont également proposés afin d'appliquer des effets aux photos.
Le service offre également 2 Giga d'espace de stockage pour vos photos. Les technologies Flex/Flash ont été utilisées pour réaliser ce service qui est très réactif pour un service en ligne.
L'ensemble des méthodes de développement Agile mettent l'accent sur le test des logiciels. Cet article a pour but de présenter des outils utilisés pour générer automatiquement des tests automatiques, des outils pour écrire des tests unitaires, des outils pour écrire des tests fonctionnels et enfin des outils d'intégration continue qui ont pour but de builder en continu votre application, en lançant notamment votre batterie de tests.
Outils de génération de tests automatiques :
Leirios édite un outil permettant de générer des tests xUnit automatiquement d'après un modèle du logiciel écrit en UML et en langage B. Il se charge d'analyser la combinatoire et de sortir des jeux de tests pertinents pour passer dans toutes les branches de l'application.
Outils pour écrire des tests unitaires :
xUnit : le framework le plus connu pour écrire des tests unitaires. Basiquement, la classe de test hérite de TestCase, chaque méthode commençant par "test" est un test que le framework doit lancer. La vérification des résultats se fait grâce à des méthodes de la classe TestCase : assertEquals, assertTrue, failIf, failUnless, etc. Ce framework est décliné pour beaucoup de langages : jUnit (java), phpUnit (php), pyUnit (python), nUnit (C#), cppUnit(C++), httpUnit (HTML), etc...
testNG : Il se propose comme une amélioration de xUnit (NG=Next Generation). Il permet notamment de définir des dépendances complexes entre les différents tests (un exemple basique : lancer les tests 'communications' seulement si le test 'connexion' a fonctionné).
Outils pour écrire des tests fonctionnels :
Fit : le concept a été inventé par Ward Cunningham, le créateur du WikiWiki. Fit permet aux clients, testeurs et développeurs de savoir ce que leur logiciel doit faire, et ce qu'il fait réellement. Pour cela, les clients écrivent leurs tests sous forme de tableaux dans une page HTML en respectant le formalisme de Fit. Lorsque cette page est interprétée par Fit, les résultats produits par le logiciel sont comparés aux résultats attendus. Rouge => il y a une différence entre la spécification et les résultats produits; Vert => le logiciel produit les résultats attendus; Jaune => Exception. En pratique, les clients et les testeurs vont écrire des scénarios sous forme de tableau. Le développeur écrit une Fixture qui se charge de traduire les données du tableau en appel aux méthodes publiques du logiciel. Les tableaux sont interprétés par Fit qui appelle les méthodes de la fixture et récupère les résultats puis les compare aux résultats attendus.
FitNesse : il s'agit d'une surcouche à Fit qui propose un Wiki pour éditer et lire les pages HTML, pour exécuter les tests, pour les organiser en suites et pour la gestion de version.
Concordion : Son auteur est reparti des lacunes de Fit/FitNesse pour écrire Concordion. Les test s'affranchissent du format en tableau et peuvent s'intégrer au contenu HTML. La fixture utilise jUnit pour faire ses assertions. Au final, les spécifications produites sont beaucoup plus lisibles.
Selenium : Selenium permet de faire des tests fonctionnels de site web. On écrit ses tests en Javascript et Selenium pilote un navigateur Web (Opera, Firefox ou IE, sur Linux ou Windows) pour exécuter les tests et vérifier la conformité du comportement.
CubicTest : Surcouche à Selenium, il permet d'effectuer des vérifications à un plus haut niveau, comme l'enchaînement des pages, ou la présence de certains widgets sur la page. Il est disponible sous la forme d'un plugin Eclipse.
Outils d'intégration continue :
Généralement, tous font correctement leur travail. C'est au niveau de la facilité d'utilisation, du nombre de plugins (pour interfacer avec différents outils) et de la qualité de lecture des résultats que se fait la différence.
CruiseControl : le premier intégrateur continu. Écrit en Java, il s'interface avec beaucoup d'outils mais sa configuration peut parfois être laborieuse.
Hudson : facile à configurer et à utiliser, il est très bien. Il ne gère pas la consolidation des résultats des tests Fits pour le moment. Cependant il permet de définir plusieurs machines comme esclaves de construction pour se créer une ferme de compilation et de tests, en multipliant les combinaisons possibles. Par exemple, on peut lui demander de compiler un même logiciel Java avec le JRE 1.4, 1.4.1, 1.5 et 1.6 sous Linux, Windows 2000 et Windows XP. C'est lui qui se chargera de trouver les combinaisons correspondantes dans les machines disponibles et de gérer la compilation sans bloquer les esclaves les plus intéressants.
Continuum : Il s'agit d'un projet Apache. Je ne l'ai jamais essayé mais je n'en ai entendu que du bien. Il paraît qu'il est simple à utiliser et est particulèrement adapté aux projets Java gérés avec Maven.
Bitten : C'est un intégrateur continu simple qui s'intègre à Trac sous forme de plugin.
Si vous avez d'autres outils à faire partager, les commentaires sont là pour ça...
Cette année, les XP days a lieu le 5 et 6 mai à Paris.
''Vous êtes en quête d'idées neuves pour rendre plus efficaces vos projets de développement logiciels... Vous souhaitez en savoir plus sur les méthodes agiles, leurs bénéfices, leurs limites... Vous avez mis en place des pratiques agiles au sein de vos projets et vous souhaitez confronter vos retours d'expérience à ceux d'autres praticiens...
La conférence XP Day s'adresse à tous les intervenants des projets logiciels: chefs de projet, clients, décideurs, développeurs... Loin des conférences "académiques" ou des événements commerciaux, le succès du format XP Day s'explique par son orientation pragmatique.
Avec plus de 120 inscrits pour sa seconde édition en 2007, XP Day France est le rendez-vous à ne pas manquer si vous souhaitez des réponses concrètes, des idées que vous pouvez immédiatement mettre en pratique.''
Le sérieux réseau social professionnel LinkedIn vient de lancer une nouvelle version intégrant des pages de profils sur les entreprises. Pour le lancement, près de 160 000 entreprises ont leur page sur LinkedIn, les données étant issues de CapitalIQ.
Ceci est une très bonne manière de lier les entreprises aux employés. LinkedIn devient un endroit incontournable pour la recherche d'un emploi (pour rappel, LinkedIn a signé un partenariat avec l'Apec).
Si vous voulez rentrer en contact avec moi via LinkedIn, envoyez moi un mail.
Google n'a pas le choix ? Je pense qu'on a toujours le choix... Dommage qu'il ne sache pas résister à ce régime chinois qui depuis longtemps censure les résultats sur Google...
Depuis plusieurs semaines, la Chine massacre des centaines de Tibetains, ces derniers protestant contre l'invasion du régime chinois depuis près de cinquante années.
Le régime totalitaire chinois ne s'arrête pas là : censure des journalistes, interdiction de la ville de Lhassa, et censure d'Internet comme Google et Youtube en ont été les victimes.
Je ne sais pas si il faut boycotter les JO de Pekin... Mais il faut de tout façon une réaction rapide de la communauté internationnale.
PS. Je vous rassure, on parle beaucoup en ce moment de la Chine, mais la Russie, l'Iran ou encore la Birmanie ne sont pas mal dans le même genre...
Après une phase de beta privée à laquelle j'ai participé, Wikio lance aujourd'hui Wikio Europa officiellement. Comme je vous l'avais présenté dans un autre article, Wikio Europa propose un nouveau design très réussi, intégre les vidéos et permet d'utiliser la puissance des technologies web 2.0 (RSS...) sans le savoir. En effet, vous avez la possibilité de créer des pages personnelles d'actualité, ou de vous abonner à certains flux en un simple clic.
La partie vidéo propose les vidéos les plus populaires du moment et sont intégrées aux résultats de votre recherche.
Nouvelle amende pour Microsoft de la part de l'Union Européenne : 899 millions d'euros, ce qui fait passer à 1,68 milliard d'euros l'amende totale affligée à Microsoft de la part de l'UE...
Microsoft se fait taper dessus pour abus de position dominante. Il lui a été demandé depuis plusieurs années d?améliorer l?interopérabilité de ses logiciels.
Wikio va sortir en beta privée une nouvelle version nommée Wikio Europa. Au menu, une IHM complètement repensée comme vous pouvez le voir sur la copie d'écran,
L'objectif premier de cette version est de permettre à tout utilisateur d'exploiter la technologie RSS, qui pour le moment n'est réélement utilisée que par des connaisseurs. L'utilisateur pourra s'abonner à des blogs ou à des requêtes en 1 ou 2 clics. Vous pourrez ainsi suivre toutes les informations qui vous intéressent.
Cette version verra aussi naître Wikio Vidéo, qui proposera les vidéos les plus populaires du moment ainsi qu'un moteur de recherche de vidéos d'un genre nouveau.
Le design a l'air alèchant... J'attends de voir la sortie de la bêta. Pour information, des invitations sont disponibles sur Kelblog, le blog de Wikio ou encore Alterclickr.
Yahoo! refuse l'offre de Microsoft... Ce dernier n'est pas prêt à surencherir. Microsoft a donc décidé de lancer une OPA hostile sur Yahoo! en négociant directement avec les actionnaires. Ces derniers vont-il être attirés par l'offre de Microsoft ? Je pense que ce rachat se fera, Yahoo! n'ayant rien d'autre à propser...