Vagrant
1
7.7/10
Vagrant
GÉNIE LOGICIEL / 27 mai 2017

Vagrant est un logiciel libre et open-source pour la création et la configuration d’environnements virtualisés. En effet, il permet de créer des machines virtuelles qui seront utilisées pendant la phase de développement d’une application. Elles permettent d’obtenir l’environnement souhaité sans pour autant changer la configuration de la machine du développeur. De plus, la configuration de la machine virtuelle sera simple à exporter ou à importer. En effet, le logiciel va stocker la description complète de l’environnement de développement dans un fichier écrit en Ruby. Développé par Mitchell Hashimoto et John Bender depuis début 2010, le groupe HashiCorp a été créé afin d’assurer le développement du logiciel à temps plein. Ce logiciel s’avère être un outil qui simplifie la création ainsi que la gestion d’environnements virtualisés. Vagrant permet de travailler dans un environnement reproductible avec les mêmes versions quelles que soient les dépendances. Il s’avère d’ailleurs compatible avec la majorité des systèmes d’exploitation actuels, puisqu’il utilise le principe de virtualisation. Ainsi, un développeur travaillant sous Mac aura accès au même environnement qu’un développeur travaillant sous Windows ou , et ceci en conservant son IDE favori. Comment Vagrant fonctionne-t-il ? Vagrant est une surcouche développée sur des solutions de virtualisation telles que…

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 que les pratiques de développement sont poussées à 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. En attribuant à chaque membre de l’équipe un rôle bien défini, un projet XP peut être mené à bien. 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…

Méthode MVC
1
9.9/10
La méthode Modèle – Vue – Contrôleur 

La recherche en interactions homme-machine a permis le développement de modèles génériques et abstraits de systèmes interactifs. Ces recherches sont destinées à mieux comprendre les systèmes interactifs existants, et à mettre en place une base commune de communication. Elles guident également vers des choix d’architecture logicielle lors du développement de nouveaux systèmes interactifs. L’architecture Modèle – Vue – Contrôleur également nommée méthode MVC s’inscrit dans la lignée de ces recherches. Le modèle MVC a été conçu comme une solution générale permettant aux utilisateurs de manipuler des données volumineuses et complexes. Destinée à son origine aux applications logicielles pour un public d’entreprises, l’architecture MVC est majoritairement utilisée dans les applications Web. Dans ce contexte, il est étonnant de constater que le modèle MVC fût conceptualisé quelques années avant l’utilisation du terme « Internet » en 1982. Et force est de constater qu’après 40 ans, la mécanique MVC reste toujours autant d’actualité. Mais le traitement de ce sujet n’en est pas pour autant facilité malgré une base théorique de l’époque relativement condensée. L’évolution du concept au fil des années, ses différentes versions, ses nombreux domaines d’application, l’usage diversifié qu’en font les développeurs rendent le sujet protéiforme et d’autant plus complexe à appréhender.…

Web Socket et web RTC
1
8.3/10
Web Socket & Web RTC
WEB SERVICES / 3 mai 2017

Web socket et Web rtc sont deux moyens différents de communiquer avec le serveur. Ce rapport montre les technologies existantes avant la venue du Web Socket et pourquoi ce protocole a vu le jour. Il présente le protocole, ses principes et ses spécifications. Il aborde également cette API standardisée par le W3C qui est l’implémentation en langage de programmation de la norme. Puis, il recense les principales implémentations du Web Socket dans d’autres langages de programmation. Concernant le Web RTC, il présente les étapes qui ont conduit à cette norme ainsi que les implémentations actuelles. Il propose tout d’abord une présentation générale de la norme, de son architecture et de son fonctionnement. Puis il aborde les différents standards sur lesquels s’appuie le Web RTC pour fonctionner ainsi que les API implémentées. Les problèmes de sécurité et la gestion des pertes de paquets sont également abordés. Et plus précisément sur Web Socket et Web RTC ? Web Socket est un protocole ayant fait l’objet d’un RFC (RFC 6455) publié à la fin 2011. Et depuis 2012, il est en cours de standardisation au W3C à l’état de “Candidate Recommendation“. Ce protocole permet d’établir une connexion permanente et bidirectionnelle entre un client…