Programmation orientée aspect
1
7.4/10
Programmation Orientée Aspect
GÉNIE LOGICIEL / 28 mai 2017

On oppose généralement la programmation orientée objet et la programmation orientée aspect. Les techniques de conception logicielles actuelles tentent d’architecturer les applications en modules a priori indépendants les uns des autres. En effet, ces modules gèrent des aspects différents du système conçu. C’est le principe même de la programmation orientée objet qui découpe le logiciel en unités de sens (les objets). Mais dans la pratique, on s’aperçoit que ces couches logicielles sont intimement liées : c’est l’entrecroisement des aspects techniques. Ainsi, une couche logicielle initialement dédiée à gérer la logique métier applicative, va se retrouver dépendante de modules gérant les aspects transactionnels, journalisation, etc. Se limiter aux méthodes de programmation ‘classiques’ conduit ainsi à une complexification du code, de son développement et de sa maintenance. Il a donc été introduit un nouveau concept permettant de gérer les aspects transversaux d’une application : la programmation orientée aspect. L’inversion de contrôle mise en œuvre par la programmation par aspect permet d’extraire les dépendances entre objets/modules (aspects techniques entrecroisés). C’est depuis l’extérieur de ces modules que se gèrent les dépendances. Elles sont spécifiées dans des composants du logiciel nommés aspects. AspectJ et la programmation orientée aspect AspectJ, une extension à Java, permet d’ajouter…

VPN (Virtual Private Network)
1
7.2/10
Les VPN (Virtual Private Network)
RÉSEAUX / 27 mai 2017

Un VPN ou Virtual Private Network (Réseau Privé Virtuel) est une technique dont l’objectif est de permettre à plusieurs postes distants de communiquer. Elle est apparue avec la nécessité pour les entreprises de relier leurs différents sites, de façon simple mais aussi peu coûteuse. Avant l’arrivée des VPN, les entreprises devaient utiliser des liaisons appelées TRANSPAC, ou bien des lignes louées. Les VPN ont alors permis de démocratiser ce type de liaison. Le terme VPN sera notamment utilisé dans un contexte de travail à distance, ainsi que pour l’accès à des structures de type cloud computing. Principes de fonctionnement d’un Virtual Private Network (VPN) Le principe même des VPN repose sur un protocole appelé “protocole de Tunneling“. Il permet notamment de faire circuler les informations de façon cryptée d’un bout à l’autre du tunnel qui relie deux postes. Une fois identifiés l’émetteur et le destinataire, le principe du Tunneling consiste donc à construire un chemin virtuel entre eux. Par la suite, l’émetteur chiffre les données et les envoie afin que celles-ci soient acheminées grâce à ce chemin virtuel. Simuler ainsi un réseau privé permet d’assurer un accès simple et économique aux intranets ou aux extranets d’entreprise. Mais les échanges reposent…

La méthode SCRUM
1
8/10
La méthode SCRUM
MÉTHODES AGILES / 26 mai 2017

La méthode Scrum se définit comme un schéma d’organisation de développement de produits complexes. En effet, ses créateurs la définissent comme un « cadre de travail holistique itératif qui se concentre sur les buts communs en livrant de manière productive et créative des produits de la plus grande valeur possible ». Il faut donc considérer la méthode Scrum comme un cadre méthodologique et non à proprement parler comme une méthode agile. Ceci s’explique par la prédictibilité imposée par un carnet de produit en préalable du développement. Ainsi que par l’adaptabilité limitée d’un sprint par le but immuable, donc en contradiction avec la troisième et la quatrième des valeurs Agiles. Expérimentée en 1993, la méthode SCRUM signifie « Mêlée » en anglais. Par ailleurs, il s’agit de loin la méthode Agile la plus utilisée dans le monde. Ainsi, elle bénéficie d’un nombre important de retours d’expérience. Les sprints de la méthode SCRUM Ce schéma d’organisation s’appuie sur le découpage d’un projet en boîtes de temps, nommées « sprints ». Ainsi, les sprints peuvent durer de quelques heures à un mois. La préférence allant à des sprints de deux semaines. Chaque sprint commence par une estimation suivie d’une planification opérationnelle, et se…

Unified Modeling Language (UML) et design patterns
1
7.6/10
UML & Design patterns
ARCHITECTURE LOGICIELLE / 26 mai 2017

UML pour Unified Modeling Language, est né en octobre 1994 au sein de la société Rational Software Corporation sur une idée de Grady Booch et de James Rumbaugh. La version 1.1 d’UML a été standardisée par l’OMG (Object Management Group) le 17 novembre 1997 suite à une demande de collaboration de plusieurs grande entreprises américaines. Parmi celles-ci, nous pouvons notamment citer Hewlett-Packard, IBM,vMicrosoft et Oracle. L’ Unified Modeling Language a été conçu pour modéliser différents types de systèmes, de taille quelconque et ceci pour tous les domaines d’application (gestion, science, temps réel, système embarqué). Ainsi, UML permet de diviser le système d’information (d’une organisation) entre un système métier et le système informatique. Le système métier doit modéliser les aspects statiques et dynamiques de l’activité selon une vision externe et une vision interne. De cette manière, le système métier ignore l’implémentation technique. De son côté, le système informatique recouvre la partie automatisée du système métier concrétisant les choix effectués parmi les différentes technologies disponibles. Les concepts manipulés sont les mêmes, pour chacun de ces deux niveaux d’abstraction. UML est fortement inspiré de l’approche 4+1 vues indépendantes (logique, composants, processus, déploiement et cas d’utilisation) définie par P. Kruchten. Il s’agissait alors d’exprimer les…

eXtreme programming
1
8.5/10
eXtreme Programming
MÉTHODES AGILES / 26 mai 2017

L’eXtreme Programming (XP) est une méthode agile de développement logiciel fondée sur des valeurs. Ces valeurs sont la simplicité, la communication, le feedback et le courage. Cette méthode a été développée par Kent Beck en 1996, qui a écrit le livre “Extreme Programming Explained”. XP tire son nom du fait de pousser les pratiques de développement à l’extrême. XP regroupe un ensemble de pratiques et de coordinations permettant d’améliorer la qualité des logiciels. Mais cette méthode améliore également la réactivité des équipes suite à l’évolution des besoins du client. Ainsi, XP fournit des pratiques qui s’appliquent à de petites équipes ayant besoin de développer rapidement des logiciels. On peut ranger ces pratiques en trois catégories qui sont la programmation, la collaboration et la gestion de projet. Par ailleurs, le processus de mise en place d’XP s’articule autour de phases qui s’enchaînent les unes après les autres et qui constituent son cycle de vie. Attribuer à chaque membre de l’équipe un rôle bien défini permet de mener correctement un projet XP. Une méthode agile comme XP intègre le changement comme un paramètre et non comme un risque pour le projet. L’agilité permet le changement au sein d’un projet mais également dans…