Pour mettre son savoir-faire au profit des clients, Xi Ingénierie dispose d’un éventail impressionnant de technologies, Open Source ou propriétaires, mais souvent les meilleures dans leur domaine.
Langages
Xi est une société multilingue! Les consultants Xi parlent couramment de nombreux types de langages techniques: - Java - .NET - PHP - HTML / DHTML / XML / CSS - C / C++ / VB / VBA
Java

Le langage du développement industriel par excellence. Java est particulièrement adapté au développement d’applications métier complexes nécessitant une grande robustesse et une interopérabilité élevée. Java présente l’avantage d’être multi-plateforme et bénéficie d’une très large communauté d’utilisateurs. En outre, de très nombreux Frameworks sont disponibles pour java.
.NET

Au cœur de la plate-forme Microsoft, .NET est incontournable pour toute intégration forte avec les outils ou l’environnement Mircrosoft. L’approche de .NET est résolument objet et propose une gamme très complète d’outils. Ces outils associés à l’environnement de développement Visual Studio en font un langage de haut niveau. Le produit AirMote® est par exemple entièrement développé sur .NET.
PHP

Le plus utilisé des langages pour le développement des sites Web dynamiques. Ce langage, souvent mal utilisé est pourtant très performant. Xi l’utilise pour une grande majorité des sites dynamiques, la plupart du temps en s’appuyant sur des progiciels comme Joomla! ou sur des Frameworks de développement comme Symphony et CakePhp. Attention toutefois à bien formaliser les règles de développement, les automatisations de tests pour développer un code propre et maintenable!
Flex / Flash

En provenance directe de AdobeLabs, Flex apporte à Flash la robustesse et la structuration qui lui faisaient défaut. Ce Framework innove également en proposant un moteur d’IHM descriptif qui s’appuie sur un formalisme XML (mxml) similaire à l’approche d’OpenLaszlo. Conjugué à d’autres Frameworks comme AIR ou PureMVC, Flex devient un outil extrêmement performant pour la réalisation d’IHM Web ou de clients lourds!
HTML / XHTML / CSS / DHTML et Ajax

L’alliance de ces 5 langages constitue la couche de présentation des pages Web. Cette couche de présentation est à la fois dynamique (DHTML), très évolutive (XHTML et CSS) et très proche d’un client lourd classique grâce à l’interactivité autorisée par AJAX.
XML

XML n’est pas un langage en tant que tel mais plutôt un formalisme particulièrement adapté à description des modèles objets. XML schéma ou les DTD permettent de rendre robuste son utilisation tout en permettant de partager un formalisme donné entre diverses applications, quel que soit le langage dans lequel elles sont écrites.
Outils
De la méthode avant tout et des outils pour les supporter : c’est la clé d’un développement de qualité, un gage de fiabilité, de maintenabilité et d’évolutivité. Les règles de codage, l’automatisation des tests, l’organisation des sources, leur gestion sont mises en oeuvre au travers d’outils adaptés à chacun des langages et des besoins.
Eclipse

L’un des IDE les plus avancés du marché. Développé sous une licence OpenSource par IBM, Eclipse propose un support au développement pour de nombreux langages. Eclipse propose également des mécanismes permettant de faciliter les processus de développement, depuis les tests en passant par le debugging d’applications Web. Et si tout cela ne suffisait pas, Eclipse permet également à toute équipe de développement de produire elle-même ses propres plugins pour enrichir les fonctionnalités existantes.
SVN - CVS
![]()
La gestion en configuration des sources est fondamentale pour au moins deux aspects clés du développement:
- Faciliter ou tout simplement permettre le développement en équipe
- Gérer la traçabilité des évolutions et modifications.
Les consultants Xi sont régulièrement sollicités sur des phases de conseil amont ou de mise en oeuvre des techniques de gestion en configuration des codes sources.
Intégration continue
Lorsque le projet est conséquent, l’intégration continue présente de nombreux avantages : elle permet un pilotage du projet par les tests, elle mesure un avancement en continu et automatiquement, elle assure une parfaite synchronisation des différentes équipes, elle fournit les reporting techniques (taux de couverture, complétude des tests, respects des règles et normes de codage…). L’intégration continue permet à tous de collaborer tout en fournissant aux responsables projet et technique, de façon systématiques, les indicateurs de pilotage.
Emma / EclEmma

Un outil OpenSource de mesure de la couverture de test. Tout comme Clover (outil payant), Emma instrumente le code de façon à mesurer la couverture de test effective lors des campagnes de test.
Clover
![]()
Tester, c’est juste indispensable. Malheureusement, ce n’est pas suffisant : il faut encore s’assurer que l’on a bien testé. Les outils de couverture de test sont là pour assurer qu’effectivement les tests sont bons, voire exhaustifs. C’est tout l’intérêt d’outils comme Clover ou Emma. En effet si 80% de vos méthodes sont testées, il se peut très bien que seulement 50% du code le soit réellement : quand on teste une méthode on ne teste pas systématiquement l’ensemble du code qui la compose (if/then, try/catch, break, switch, etc…). La couverture de test est là pour mesurer, en conformité avec la politique de test, ce qui est testé et ce qui ne l’est pas, dans quel ordre…
Checkstyle

Cet outil est dédié à la vérification des règles et normes de codage en Java. Il se présente sous la forme d’un plugin pour Eclipse et est le compagnon indispensable du responsable technique pour assurer un code homogène et bien implémenté.
JUnit
![]()
WATIJ, JUnit et PhpUnit adoptent le même principe pour les 2 langages Java et PHP : fournir un framework de test. Ces tests vont permettre d’assurer, étape par étape, composant par composant, le respect des spécifications. Ils seront également le rempart contre tout risque de régression lors des évolutions de version.
PhpUnit

PHPUnit s’inscrit dans la philosophie générale des Frameworks de test: tester le code et le fonctionnel en profondeur, garantir la robustesse, améliorer la réutilisabilité et l’évolutivité. Le principe, similaire à celui de Junit, repose sur l’écriture de classe de test (Test Case) et de listes logiques de test (Test Suite).
WATIJ

Watij est un outil qui gère les tests unitaires ou fonctionnels orientés vers l’interface utilisateur. Son champ d’application porte sur des pages Web à tester, quel que soit leur format (PHP, JSP, ASP…). Le principe consiste à reproduire les actions d’un utilisateur (entrées clavier, clicks souris) sur les pages web. Watij permet ensuite de simuler et tester les enchainements d’actions (on analyse le résultat HTTP de l’action) ainsi que le bon fonctionnement de la navigation sur le site web. Tous ces tests sont entièrement automatisés et s’appuient sur le socle technique de Junit.
Maven
![]()
Maven est le poste de contrôle pour la mise en œuvre des outils de l’intégration continue. Allié à divers outils, reposant en bonne partie sur ANT, Maven gère la mise en œuvre automatisée des différents outils.
Flex Builder

Flex builder est l’IDE vendu par Adobe pour les développements autour du Framework Flex. Il n’est pas indispensable du fait de produits concurrents mais est l’un des plus aboutis et des plus fiables. C’est en tout cas le choix Xi.
UML

UML propose 9 principaux schémas normalisés qui vont permettre de définir tous les aspects d’une application. UML est un véritable pont entre le client et les équipes de développement.
Rational Rose
![]()
Incontournable standard revendu par IBM, Rose est un modeleur UML très abouti. Certains éditeurs l’ont même choisit pour accompagner le SDK de leur produit (Windchill par exemple).
Magic Draw

Magic Draw est également un produit très mature qui présente en outre deux points forts : une implémentation stricte et complète de la norme XMI 2.0 et un support pour la modélisation collaborative.
Jude

Très léger et largement suffisant dans de nombreux cas, Jude est également extrêmement performant malgré l’absence de certaines fonctionnalités.
Frameworks
Les FrameWorks permettent aux outils et langages d’exprimer tout leurs potentiel. Ils capitalisent l’expérience des développeurs chevronés et facilitent le développement d’applications : les développeurs sont affranchis des étapes répétitives à faible valeur ajoutée.
Joomla!
Joomla! est reconnu comme l’un des meilleurs CMS OpenSource en PHP. Pourtant, au-delà de ses fonctionnalités CMS, Joomla! est un véritable FrameWork qui propose un mécanisme MVC performant, une véritable gestion de document ainsi qu’une architecture évolutive permettant le développement de plugins. Cette richesse de plugins offre une extension pratiquement sans limite des possibilités de joomla!.
Spip

De même que Joomla!, Spip est parmi les CMS les plus répandus. Son accessibilité et sa richesse en font un produit plebiscité.
.NET

Au-delà des langages, .NET propose de nombreux outils, concepts et patterns qui facilite grandement le travail des équipes de développement. Cette richesse en font une base fiable, saine et complète qui supporte le développement d’applications complexe. Il suffit d’y ajouter la pérennité et le savoir-faire de Microsoft pour comprendre que .NET peut être choisi comme le FrameWork corporate de certaines grandes entreprises.
AndroMDA

AndroMDA est l’un des FrameWork MDA maîtrisé par les consultants Xi. AndroMDA s’appuie sur MagicDraw pour permettre à une équipe informatique de bâtir jusqu’à 90% d’une application au simple moyen de la modélisation UML, sans qu’une seule ligne de code ne soit nécessaire.
Seam

Seam est une nouveauté dans le monde en perpétuelle évolution des serveurs d’application. Seam s’appuie sur de nombreuses techniques et outils parmi lesquels Jboss tient une place de tout premier choix. Seam intègre nativement différentes technologies (JSF, AJAX, EJB 3.0, XML, JPA et JBPM) en simplifiant considérablement leur utilisation.
OpenLaszlo

OpenLaszlo est un précurseur parmi les outils de génération d’applications riches. L’approche d’OpenLaszlo est similaire à celle de Flex (on devrait en fait inverser les termes) mais propose en plus de la génération Flash, une génération au format DHTML qui s’appuie sur AJAX.
Voir aussi
- Stage – Nouvelles Technologies : JAVA/J2EE
- Xi : expert en nouvelles technologies (Flex,PhP,JAVA)…
- Les technologies du développement d’application spécifique
- La prise en compte de nouveaux besoins et de nouvelles fonctionnalités avec Magento
- L’offre ecommerce Magento s’arme de nouvelles fonctionnalites

