Les technologies que nous maitrisons et mettons à votre disposition
Présentation des technologies que nous utilisons
Ruby
Langage de programmationRuby est un language objet de haut niveau.
Sa souplesse et sa syntaxe simple et naturelle en font un language aussi performant qu'élégant.
Sa visibilité a longtemps été masqué par celle de Ruby on Rails, les développeurs apprenant Ruby par le biais du framework Ruby on Rails.
Toutefois il est de plus en plus utilisé en tant que tel, notamment pour l'administration système.
Ruby on Rails
Framework webRuby on Rails est un framework web permettant de réaliser des applications web.
Sa particularité est d'avoir été extrait d'une application originallement écrite en Ruby.
Cela lui donne une approche pragmatique et fonctionnelle que l'on ne retrouve dans aucun autre framework web.
Rails est conçu pour permettre aussi bien de prototyper rapidement une petite application que de faire évoluer celle ci vers un produit grand public, soumis à de fortes charges.
PHP
Langage de programmationPHP est un langage de programmation principalement utilisé pour le développement de sites et d'applications web.
Sa popularité s'est très vite accélérée avec le support de nombreux hébergeurs ce qui a permis aux sociétés et développeurs de facilement utiliser PHP pour leurs besoins.
L'avènement de Symfony, framework web similaire à Ruby on Rails, a encore plus ancré PHP en entreprise.
JavaScript
Langage de programmationJavaScript a longtemps été le parent pauvre des langages. Mal utilisé, il était stigmatisé et cantonné au navigateur.
L'arrivée de Node.js a été en ce sens un bouleversement puisque JavaScript peut désormais être utilisé aussi bien côté client que serveur.
L'avènement de framework web en JavaScript tel qu'EmberJS, AngularJS ou Backone.js ont fini d'achever son renouveau.
Node.js
Plateforme d'éxécution JavaScriptNode.js permet d'éxécuter du code JavaScript coté serveur. De fait, il devient possible d'écrire une application web entièrement en JavaScript.
Sa jeunesse est compensée par un écosystème très dynamique, symbolisé par le gestionnaire de package npm dont le nombre de paquets référencés croit à une vitesse incroyable.
Par ailleurs l'amélioration constante des performances des moteurs d'interprétation JavaScript, et notamment V8, en font un excellent choix dans les systèmes ayant de fortes contraintes de volumétrie.
ReactJS
Framework JavaScriptL'approche de React, conçu par Facebook est différente des autres outils puisqu'elle s'intéresse plus particulièrement à l'affichage de données interdépendantes.
Cette approche n'est pas adaptée à tous les usages mais permet de créer aussi bien des applications riches que des modules autonomes.
Vue.js
Framework JavaScriptVue est un framework JavaScript similaire à React.
React et Vue ont beaucoup en commun mais alors que React utilise son propre langage pour l'écriture de templates, JSX, Vue utilise du HTML. De ce fait, n'importe quel HTML valide est également un template Vue valide.
Vue est donc plus facile à prendre en main que React et permet de migrer une application web existante plus progressivement.
EmberJS
Framework JavaScriptEmberJS est un peu le pendant de Ruby on Rails en tant que framework JavaScript.
Il permet de structurer une application de la même façon, tout en la rendant complètement dynamique.
Ember s'adapte donc bien au développement d'application ayant de fortes contraintes métier.
CSS
Langage de programmationCSS est la pierre angulaire de la présentation de contenu sur le web.
Son système de feuilles de style permet de mettre en forme le contenu et créer un design adapté pour chaque application.
L'avènement récent du responsive web design a permi de mettre en valeur CSS dans sa capacité à présenter des rendus différents en fonction des capacités des terminaux qui les consultent.
Postgresql
Moteur de base de donnéesLe système de gestion de base de données Postgresql, bien qu'incroyablement performant, a longtemps été un second choix des développeurs face à MySQL.
L'usage de ce dernier a souvent été fait par défaut, dans le cadre d'un environnement LAMP (Linux Apache Mysql PHP) ; environnement utilisé pour apprendre les bases du développement.
Le rachat de MySQL par Oracle a poussé les développeurs à s'interroger sur l'avenir de MySQL et permis l'avènement de PostgreSQL.
Rubymotion
Framework ruby pour application iOSRubyMotion est un framework permettant de réunir le meilleur des deux mondes concernant l'écriture d'application pour iOS (c'est à dire pour iPhone et iPad) et Android.
En effet il permet d'écrire des applications natives iOS et Android, en Ruby. Toutes les API classiquement utilisables en objective-c le deviennent en Ruby, ce qui permet un gain de temps en développement considérable.
Amazon Web Services
Un ensemble d'outil pour servir votre application et monter en chargeAmazon Web Services offre un ensemble d'outils cohérents et complets de type cloud pour héberger votre application web.
L'ambition d'AWS et de vous permettre de passer d'une petite application à une application à forte volumétrie avec un jeu d'outils accessibles aux développeurs.
Répartition de charge, instance à la demande, réplication géographique, CDN, gestion de permissions avancées, base de données redondée, le panel d'outil d'Amazon Web Services est sans limite.
Docker
Outil de virtualisation légèreArrivé sur le marché début 2013, Docker a bouleversé le paysage de la virtualisation. Plus question d'émuler des machines complètes, ici on s'appuie directement sur l'OS hôte pour créer des conteneurs légers. À la clé la possibilité de mettre rapidement le pied à l'étrier même avec des architectures complexes.
Votre application est désormais découpée en services : un conteneur pour votre base de données, un pour votre reverse-proxy etc… avec la possibilité de monter en charge avec X conteneurs.
Docker a progressivement introduit tout une suite d'outils permettant d'orchestrer ses services localement avec compose, puis gérer différents type d'hôtes avec docker-machine pour finalement permettre du clustering avec swarm.