Nos Outils
Voici en détail, quelques outils que nous maitrisons et utilisons pour réaliser vos projets et les maintenir
Node JS
Moteur permettant d’exécuter du JavaScript / TypeScript côté serveur. Nous nous en servons principalement sur des projets ayant besoin de traiter un nombre conséquent de requêtes en simultané.
Ce moteur de scripts comme PHP permet de créer des sites internet, des applications ou bien même encore des boutiques en ligne. On le trouve souvent dans la mouvance Headless CMS que nous avons également adoptée.
PHP
Langage de script permettant à des solutions comme WordPress, Drupal, WooCommerce d’exister. Il fait partie des langages dit dynamiques et permet de réaliser des boutiques en ligne, sites vitrine et des applications à destination de clients ou de collaborateurs comme par exemple des extranet / intranet
Symfony : le framework PHP
Mondialement connu et largement utilisé par la communauté de développeurs PHP, nous nous servons de celui-ci de façon ponctuelle ou quand le besoin est réel. Nous réalisons souvent des applications dites extranet ou intranet à destination de clients souhaitant utiliser le langage PHP pour garder un aspect économique au niveau de l’hébergement
Nous réalisons bien souvent la partie “back” en PHP avec Symfony, en utilisant toute sa panoplie d’outils proposés par ses soins et en façade, nous réalisons une application “front” sous forme de “SPA”, autrement dit une application exécutée par le navigateur, développée en JavaScript (TypeScript …), et qui ne consomme pas de ressources pour tout ce qui est gestion de l’affichage et de l’interaction avec l’utilisateur.
Kotlin / Java
Kotlin avec son support des coroutines, nous permet de réaliser de puissantes applications orientées Web avec notamment des API Rest, Grpc ou encore GraphQL. Grâce à des framework comme Micronaut ou Spring, nous obtenons rapidement des applications fiables, capables de traiter la majorité des workload avec l’avantage de la syntaxe de Kotlin, évitant d’écrire beaucoup de code superflux.
Ce que nous apprécions tout particulièrement est le fait d’avoir un seul livrable capable de fonctionner sur beaucoup de système d’exploitation. Au besoin, nous pouvons également utiliser la compilation native pour avoir un binaire optimisé grâce au projet GraalVM et Native Image
Golang
Nous utilisons majoritairement ce langage de programmation pour obtenir des binaires autonomes ayant à coeur de réaliser une tâche bien précise et ayant également la capacité de tenir une certaine charge. Ces binaires sont bien souvent des services réseau.
A ce jour, nous nous en servons pour développer notre outil de redirection http, un outil de vérification de la présence des adresses IP dans des listes noires, une application servant à identifier les botnets qui nous attaquent en SSH mais également des serveurs SMTP sortants / entrants
Spring Boot
Principalement utilisé pour nos outils internes de gestion (notre SI), nous affectionnons tout particulièrement la facilité que nous avons à créer des API GraphQL et Rest tout en profitant de l’éco-système Kotlin / Java, nous évitant de ré-écrire beaucoup de code. Ses points forts que nous affectionnons beaucoup sont l’utilisation de l’ORM Hibernate, de sa gestion de beaucoup de sources de données
FastAPI
Un framework web moderne et rapide pour la construction d’APIs avec Python qui repose sur les standards ASGI pour l’asynchronisme. Il est conçu pour être facile à utiliser, tout en offrant des performances élevées, équivalentes à celles de Node.js et Go grâce à Starlette pour le routage et Pydantic pour la validation des données. FastAPI facilite la création d’APIs robustes grâce à une documentation interactive générée automatiquement via Swagger UI et ReDoc, et supporte la déclaration de types Python standard pour valider les données, ce qui améliore la vitesse de développement et réduit les erreurs.
Son architecture asynchrone le rend particulièrement bien adapté aux applications nécessitant de hautes performances et de l’efficacité dans le traitement des requêtes simultanées, rendant FastAPI un choix populaire pour les microservices, les applications IoT, et les systèmes nécessitant une haute performance.