AlcionTech

Aller au contenu | Aller au menu | Aller à la recherche

Tag - Retours dexpérience

Fil des billets - Fil des commentaires

mardi 31 août 2010

Utiliser Git en local

Les gestionnaires de configuration distribués ont vraiment la côte en ce moment, et en particulier Git.

Pour l'avoir testé, il faut bien admettre que ces outils simplifient énormément le processus de développement, en permettant de découpler très facilement les différentes tâches sur lesquelles on travaille dans autant de branches de développement.

Sur SVN, la gestion des branches n'est pas aisée. Donc dans la pratique, quand on travaille sur plusieurs évolutions (sous Eclipse) :

  • Soit on duplique le projet dans son espace de travail (avec un projet par évolution) : c' est certainement encore la manière la plus propre de faire, bien qu'un peu lourde à mettre en oeuvre.
  • Soit on travaille dans un unique projet : on n'a alors pas de moyen évident de distinguer quelle modification de code correspond à quelle évolution.

Cas d'application concret : en local, un développeur travaille sur deux fonctionnalités dans son projet, dont une est terminée et doit être commitée pour être embarquée dans la livraison du jour. Il faut alors retrouver quels sont les fichiers correspondants, pour faire un commit partiel du projet.

Autant dire que les risques de faire une erreur (oubli de fichier ou commit d'un fichier de l'autre évolution) sont loin d'être négligeables... et conduisent donc souvent à devoir faire un deuxième (quand ce n'est pas un troisième) commit correctif.

Ce scénario peut paraître un peu catastrophique, mais il peut pourtant arriver (et peut-être plus souvent qu'on ne le croit).

Quelques avantages de Git :

  • il permet de résoudre le problème mentionné ci-dessus : la gestion locale des branches permet d'en créer et d'en changer très rapidement, sans avoir à dupliquer le projet (entre autres fonctionnalités).
  • il est beaucoup plus souple que SVN dans ses possibilités de revenir en arrière en cas d'erreur : il permet par exemple "d'amender" un commit déjà effectué.
  • une fois que plusieurs fonctionnalités sont terminées, les possibilités de fusion (merge) des branches sont beaucoup plus puissantes que celle de Git, avec plusieurs stratégies de résolution des conflits (fast forward, etc.)

Tout ceci est très bien sur le papier, mais passons maintenant à l'application en entreprise, où la gestion de configuration des projets est gérée de manière centralisée par SVN (à Alcion Group, par exemple). Même si on est convaincu par les avantages des DVCS, l'impact sur le SI est tel que ça peut difficilement être mis en place.

Mais là encore, Git peut nous sauver. Il peut en effet être utilisé en local sur les postes de développement, et s'interfacer avec le serveur SVN de l'entreprise. Les développeurs bénéficient ainsi de ses avantages, pour un faible impact sur l'infrastructure.

Nicolas de loof explique très bien les principes d'utilisation de Git avec SVN. Afin d'adapter ces principes à nos environnements de développement, j'ai rédigé un tutoriel d'application pratique pour Eclipse.

Pour commencer et découvrir Git, je vouc recommande :

Et, pour aller plus loin, quelques lectures studieuses... et un peu plus volumineuses :

jeudi 14 février 2008

OpenBar le 21 février : Webservices B2B : étude de cas et panorama technologique

mike Jeudi 21 février à 18h30 au siège

5 ans après leur arrivée sur le terrain, les webservices sont devenu un mode privilégié de communication entre applications, notamment de part et d'autre d'une frontière organisationnelle, par exemple entre partenaires (clients, fournisseurs). Ils offrent un couplage moins fort que d'autres protocoles, et sont disponibles sur une grande variété de plate-formes.

Après un rappel, l'étude de cas que nous présentera Aziz sera l'occasion de resituer les différents concepts (XML, HTTP, SOAP, UDDI, WSDL, WS-Security...), puis de passer aux choses sérieuses en implémentant un cas d'école sur Weblogic 8 et 9 et sur Apache CXF.

mercredi 5 décembre 2007

Slides de l'open bar GWT (Google Web Toolkit)

Disponibles au téléchargement ci-dessous (lien "une annexe").
dilbertFlashJS.gif

jeudi 19 juillet 2007

Projet qui rit, projet qui pleure...

UPDATE: Un article qui prolonge le sujet: Top 10 Project Pitfalls You Can Avoid.

TriangleQualiteNotre 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.

2 articles recommandés (en anglais) traitent du sujet: Comment identifier les projets en difficulté? et Comment sauver un projet?

jeudi 12 juillet 2007

Ruby on Rails : slides, démo et liens

rails-small.pngMerci à Aurélien Drouet pour son intervention convaincante :

Lire la suite...

mardi 10 juillet 2007

MySQL et les caractères spéciaux

Une entrée de blog très concrète sur les accents que l'on perd en migrant une base MySQL sur une plate-forme différente.
http://www.orthogonalthought.com/blog/index.php/2007/05/...

L'auteur est célèble pour son site "Cooking for Engineers", des recettes de cuisine qui ressemblent à du code !

mercredi 4 juillet 2007

Mémoire d'éléphant : au coeur de Myspace, Ebay...

7623.jpgLes 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.

lundi 16 avril 2007

Boeing Agile?

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..

Lire la suite...

mardi 27 mars 2007

Comment rater un projet...

Trop d'ambition, pas assez de gestion du risque, pas assez de définition des besoins... ... quelques films d'horreur :

mercredi 7 février 2007

L'Intérêt des ERP en question..

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..

Lire la suite...

vendredi 2 février 2007

XP Day France 2007

Paris, les 2 et 3 mai 2007
La conférence agile sur les méthodes agiles !

Lire la suite...

mardi 16 janvier 2007

Présentation "Forfait Agile"

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.

mardi 9 janvier 2007

Kesako que les Safety Integrity Levels (SIL)?

Les SIL sont une norme de l'IEC (International Electrotechnical Commission) (la 61508 pour être précis) que vous rencontrez immanquablement lorsque vous intervenez sur des systèmes électriques, électroniques ou informatiques dans le domaine du transport aérien ou ferroviaire (mais pas uniquement). Ils définissent la probabilité qu'une entité (cartes, programmes, etc) échoue à satisfaire une ou plusieurs fonctions de sécurité allouées. Il y a 5 niveaux, de SIL0 (pas de sureté) à SIL4 (sureté maximale). Un classement SIL4 peut facilement augmenter d'au moins 50% les couts de production d'un produit de par les efforts à déployer pour garantir la sécurité.

tgvJ'ai travaillé quelques mois chez CSEE Transport sur le logiciel de régulation de trafic de la future LGV Est (appelé RBC et composante essentielle de l'ERTMS). C'est typiquement le genre d'application classée SIL 4 car une mauvaise régulation peut entrainer une collision frontale, par l'arrière (rattrapage) ou latérale (écharpement au niveau d'un aiguillage) de trains lancés à 320 km/h. Je vous laisse imaginer les dégats humains potentiels.

Toutes les ~120.000 lignes de code exécutables du RBC ne sont pas de sécurité mais on avoisinne quand même les 90% (une conception drivée par les fonctions sécu aurait probablement fait baisser ce chiffre).

Qu'implique la production d'une application ferroviaire SIL4? La norme européenne 50128 balise le terrain en terme de méthodologie et de type d'outils en faisant de propositions allant du "optionnel" au "hautement recommandé" (comprendre "obligatoire"). Chaque société implémente ensuite cette norme dans son organisation.

Chez CSEE un département dédié suit un cycle en V parrallèle au cycle de production en interagissant avec lui à toutes les phases pour produire des documents (AFS, DASL, DASV) avalisés in fine par l'organisme de certification.

jeudi 30 novembre 2006

Comment codez-vous vos IHM ?

wysiwyg.jpg_180_254_80.jpgVu 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 12 octobre 2006

Slides des présentations à l'open bar : Spring et Scrum

Scrum par Stéphane Boisson

Spring par Thierry Roussel

vendredi 30 juin 2006

La Française des Jeux accélère son e-business avec Alcion

fdjeux.pngDepuis 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 !

mercredi 21 juin 2006

Corba, les leçons de l'echec d'un standard

En 1998, CORBA a failli devenir le standard de communication pour les applications distribuées. En 2006, Corba n'occupe plus que quelques niches dans un écosystème qui s'est à présent enrichi de RMI, des Webservices, et de l'EAI. Cet article pointe comment les déficiences du processus de standardisation ont conduit à cette situation. Une leçon à retenir quand nous faisons des choix technologiques : privilégier les principes éprouvés, qui marchent, qui ont été testés. http://www.acmqueue.com/modules.php?name=Content&pa=showpage&pid=396