Langages de programmation… Il y en a pour tout le monde

Notre principal produit chez PSIH est une plateforme décisionnelle extrêmement riche en fonctionnalités utilisée par plus de 700 établissements hospitaliers en France. Ceci nous amène à utiliser différents languages de programmation pour résoudre différentes problématiques techniques. Voici un aperçu de ces langages qui composent notre stack technique.

chart (2)

PHP

Tout a commencé avec du PHP, avant de passer à une architecture orientée micro-services, notre plateforme était composée d’une seule application monolithique en PHP. Avec l’architecture actuelle, PHP reste présent dans nombre d’applications fullstack Symfony2 mais aussi de services backend (PHP 5.6 pour le moment mais la migration vers PHP 7 est prévue). D’autres amis se sont joints à la fête.

Javascript

Javascript représente le language principal des différents frontends de la plateforme (ES 2015). Il est notamment utilisé dans un certain nombre d’applications AngularJS. Mais nous utilisons également javascript dans des outils et services NodeJS. Nous sommes également amenés à utiliser du Rhino pour la partie intégration de données.

Typescript

Nous avons entamé la migration Javascript ES6 vers Typescript sur certains projets et ce pour différentes raisons que je vous laisserai découvrir dans notre précédent article Why Typescript ? (Angular2, we are coming!)

Java

Java est utilisé dans différents services backend. Nous prévoyons une migration de Java au JDK8. Nous avions pour ainsi dire déjà amorcé la transition en utilisant Guava pour imiter les Optional et Lambda.

Less

Nos feuilles de styles sont écrites essentiellement en Less (pmsipilot-ui); un passage à Sass est envisagé avec la sortie de Twitter Bootstrap 4

Shell / Python / Ruby

Dans le cadre de l’industrialisation de la plateforme et du continuous delivery, nous sommes également amenés à utiliser différents du shellet du python pour du scripting et du ruby pour écrire des cookbooks Chef et configuration Vagrant.

SQL

le SQL (et PL/SQL) occupe forcément une partie importante de toute plateforme décisionnelle, notamment dans le développements de flux d’intégration et la génération de requêtes de reporting.

Le C

Pas énormément ok, mais on en fait quand même :).

Alors vous voulez vous joindre à la fête ?

 

Pourquoi sommes nous passés à Typescript ?

Il y’a quelques mois, nous avons migré notre frontend (4/5 applications Angular.JS, et pas des plus petites) en ES6 alias ES2015 (de façon incrémentale grâce à un workflow mi ES5, mi ES6). Je ne vous apprends rien du gain en maintenabilité et confort au niveau développement que ça nous as apporté. Hors avec le bond en popularité qu’est en train d’acquérir Typescript (Angular2 ne doit pas y être étranger), nous nous sommes posés la question du passage à Typescript.
… 

 

Workflow ES6 au sein d’une application Angular existante ES5

ECMAScript 6 (alias spécification de la future version de Javascript) se rapproche de plus en plus d’une version finale. De nombreux outils permettent déjà d’utiliser la syntaxe et les fonctionnalités d’ES6 avec du code généré compatible avec les navigateurs récents (et même un peu plus vieux). Et donc afin de limiter au maximum la dette technique au sein de nos applications, nous pensons que le changement, c’est maintenant.
… 

 

PMSIpilot UI, le thème bootstrap made in PMSIpilot

Chez PMSIpilot, nous développons une multitude d’applications web, que ce soit pour nos clients, ou pour des outils internes. Et pour chaque application, nous sommes confrontés à la problématique du design, de la cohérence par rapport aux autres applications. L’idée d’avoir une base commune s’est donc rapidement imposée.

… 

 

Connaissez vous Riad Benguella ?

Le développement, comment y êtes vous venu ?

Très jeune alors que j’étais au collège, je m’amusais à faire des petits sites web, pour mon club de foot préféré ou bien pour mes jeux vidéos … J’avoue, c’était du FrontPage, et ensuite du Dreamweaver avec des tableaux de partout sans une ligne de CSS avec pleins de gifs animés. J’aimais tellement ça que j’ai tout naturellement évolué vers le développement web, d’abord en PHP3. Et depuis j’ai décidé de faire de ma passion, mon métier.

Pourquoi nous avez-vous rejoint ?

A l’issue d’un stage qui m’avait permis de découvrir le cadre de travail, l’équipe, les différents projets, les technologies utilisées, le choix de PMSIpilot était devenu évident pour moi. Il y a des technologies Web, de l’innovation mais aussi de l’ambiance et des locaux à rendre jaloux.

Un autre point important est aussi la veille technologique faite constamment.

Quel système d’exploitation préférez-vous ?

Mac OS X, car tout simplement, je suis le plus productif avec, il me permet de faire les tâches courantes avec une certaine aisance et me permet également de bidouiller si nécessaire grâce à son terminal. J’accorde aussi une certaine importance au design et on peut dire que sur ce point, Mac OS est largement devant (avis personnel, pas de trolls svp).

Quel est le problème technique le plus important que vous avez rencontré ici ?

Je dirai pour l’instant, un problème de performance sur l’export Excel : exporter un fichier Excel de 500000 lignes et d’une vingtaine de colonnes, ça fait très mal à la RAM et apache non plus ne chôme pas.

En quelques mots, quelles sont vos tâches ?

Mes tâches sont assez variées en réalité, ça peut aller du petit changement sur le front au développement d’une tâche d’importation de fichier médical complexe.

Quelle serait votre spécialité au sein de l’entreprise ?

Je suis un peu le spécialiste du PMSIpilot Réquêteur, puisque j’avais participé en grande partie au développement de la première version, mais ça c’est « historique » ;)

Quels sont vos styles musicaux préférés ?

Du rock, de l’acoustique essentiellement et pour rappeler mes origines, du gnawi et de la musique arabo-andalouse.

Votre sport préféré

Le football bien sûr, mais on ne peut pas dire que j’en pratique tous les jours :P

Que faites vous de votre temps libre ?

En bon geek qui se respecte, je regarde des séries, je joue à la XBOX sans oublier de faire quelques lignes de code. Ah oui je publie aussi quelques articles sur mon blog, si l’inspiration est là (pas trop ces derniers temps :P)