• LilleFP 13 : du Rust pour remplacer C++ et du typage statique à gogo

    Incroyable, seulement 1 mois après l'édition précédente... LilleFP est de retour ! Comme toujours, Epitech Lille nous permet d'utiliser leurs locaux pour une session de folie ! Au programme, des machines à états et de l'utilisation illustrée de typage statique ! Comme l'édition précédente, on vous propose deux présentations et ensuite, le fameux verre de l'amitié LilleFP ! Sans plus attendre, je vous dévoile le programme de cette 13ème édition ! The elevator problem : A brief contextualized introduction to finite state machines in a type-safe context -------------------------------------------------------------------------------------------- par Xavier Van de Woestyne - https://twitter.com/vdwxv Initiation aux machines à états dans un langage statiquement typé avec des ascenseurs :v Xavier est Data-engineer chez Margo Bank (et il aime bien OCaml) Le XXIème siècle sera typé ou ne sera pas -------------------------------------------------------------------------------------------- Par Arnaud Bailly - https://twitter.com/dr_c0d3 - https://www.linkedin.com/in/arnaudbailly/ Cette session est une introduction au Développement Dirigé par les Types ou TDD (Type-Driven Development, a ne pas confondre avec l'"autre" TDD) et une réflexion sur ce que les types peuvent apporter la conception de logiciels. Au travers d'exemples pratiques en Elm, Haskell et Idris, je me propose de montrer comment le fait pour un langage de posséder un système de types évolué facilite le travail du développeur et permet d'introduire de "nouvelles" techniques en sollicitant le compilateur : développement à "trou", test de propriétés et génération de tests, rendre "impossible" les états "indésirables", utilisation des types comme spécification, refactoring agressif dirigé par le compilateur... Arnaud développe, et aide des équipes et des organisations à développer, des logiciels depuis environ 25 ans. --- On espère vous voire très nombreux pour faire honneur à nos speakers. On se réjouit de vous voir le 26 ! See yah !

    4
  • LilleFP 12 : le tant attendu Haskell s'invite à LilleFP !

    Salut à tous ! Voilà maintenant quelques mois que LilleFP somnole ! Il est donc temps d'arrêter d'hiberner et d'entamer l'année 2019 avec la 12ème édition de LilleFP. En plus d'être la première édition de cette année, nous accueillons ENFIN l'archétype du langage fonctionnel "pur", Haskell, qui jusqu'à présent, n'avait jamais été représenté à LilleFP. Comme on ne change pas une équipe qui gagne, cette douzième édition vous propose deux présentations, offertes par deux personnes qui, en plus de partager une passion certaine pour la programmation fonctionnelle, partagent le même prénom ! Quelle coïncidence ! Au programme de cette édition, Haskell, Tests dirigé par les propriétés et application web ! - Tests de propriétés : Ecrire moins de tests, trouver plus de bugs Par Julien Debon "Venez découvrir via un live coding la valeur ajoutée des tests de propriété et leur complémentarité avec les tests unitaires." Vous désirez apprendre à écrire des tests en vous servant des propriétés logiques des "objets" que vous manipulez ? Cette présentation est faite pour vous ! ;) A propos de Julien Debon. Développeur Java depuis 6 ans, passionné de bières et de jeux vidéos depuis bien plus, j'aime résoudre des problèmes et m'améliorer en permanence, aussi bien techniquement (nouveaux langages, nouvelles librairies) qu'humainement (Egoless programming, Software craftsmanship). J'ai découvert et me suis passionné pour la Programmation fonctionnelle, et je propose de partager cette passion autour de moi. - Applications web isomorphes en Haskell, ou comment développer, en fonctionnel et avec typage, pour le client et pour le serveur. Par Julien Dehos Popularisée il y a quelques années par Airbnb, "l'Isomorphic JavaScript" est une architecture désormais classique d'application web. Il s'agit principalement d'une application web monopage (Single Page App) pouvant s'exécuter à la fois côté-client et côté-serveur. À l'initialisation, une première vue est générée côté-serveur et fournie rapidement à l'utilisateur. Lorsque l'application est complètement chargée, elle s'exécute ensuite côté-client comme une SPA classique. Le langage fonctionnel Haskell dispose de quelques bibliothèques intéressantes pour développer des applications web, notamment Miso et Servant. Miso s'inspire très fortement de Elm et permet de réaliser des applications côté-client. Servant permet de déclarer et de servir des API web. Ces deux bibliothèques se combinent particulièrement bien pour développer des applications web isomorphes, avec l'avantage supplémentaire d'apporter un système de typage, non seulement sur le code même de l'application, mais également sur ses routes. Cette présentation aborde progressivement le développement d'applications web isomorphes en Haskell, d'une SPA Miso classique à une application isomorphe complète, en passant par les API et routes Servant. Différents exemples sont donnés ainsi qu'une courte introduction à Haskell. A propos de Julien Dehos Julien Dehos est enseignant-chercheur à l'Université du Littoral Côte d'Opale. Quand il n'écrit pas des biographies de lui-même, il lui arrive d'avoir des activités plus intéressantes comme développer des algorithmes d'IA en julia ou enseigner la programmation fonctionnelle, notamment pour le web, avec Haskell et Nix. Son site est : julien.dehos.free.fr Comme chaque édition, les deux sessions seront suivies du traditionnel verre de l'amitié ! On vous attend TRES NOMBREUX pour ce retour en force ! A Mercredi 27 ! Et passez un très bon début d'année 2019.

    1
  • LilleFP11 : la rentrée des champions

    Epitech Lille

    Salut à toutes et tous ! J'AI L'IMMENSE honneur d'annoncer la rentrée OFFICIELLE de LilleFP ! Après deux mois d'interruption splendides, il est temps de reprendre du service ! Pour cela, nous sommes, une fois de plus, gracieusement invité par Epitech Lille, pour une édition avec un format un peu différent ! En effet, plutôt que d'avoir deux présentations "longues", nous vous proposons deux "lightning talks" (~10 min) suivi d'une présentation un peu plus longue (~30min). Comme chaque fois, les présentations seront suivies d'un verre de l'amitié, pour discuter ! (Je pense que ce "verre" fait partie, à part entière de l'événement et vous êtes toujours les bienvenus) Programme - Paramètres implicites dans le langage OCaml étendu avec des effets algébriques, par Paul Laforgue. Les paramètres implicites correspondent à des variables dont la portée est dynamique. Cela est utile, par exemple, lorsque l'on désire donner une valeur à un paramètre profondément enfoui dans notre code sans vouloir étendre les fonctions intermédiaires avec un argument supplémentaire Mais, tout comme la liaison dynamique, cette construction peut aussi être source de complications. Comment savoir si, au moment d'exécuter un bout de code appelant une variable liée dynamiquement, celle-ci est définie dans l'environnement courant ? Nous allons présenter une manière sûre, par validation du "typeur", de traiter cette fonctionnalité dans une version d'OCaml étendue avec des effets algébriques. - Buzzwords et programmation fonctionnelle, 10 minutes pour comprendre ce que "sont les monades", par Xavier Van de Woestyne Très souvent présentées/évoquées de manière un peu abstraite à LilleFP; "les monades" c'est quelque chose d'un peu abstrait quand on découvre des langages à la Haskell. L'objectif de cette présentation est de tâcher de saisir l'intuition qu'il y a derrière "la notion de monade", rapidement, pour après pouvoir briller en société. - Julia: the hack, the soundness and the math, par Mathieu Besançon N'en déplaise à certains, un langage au moins partiellement dynamique, ça a des cas d'usage valides. L'itération rapide et les outils courants pour certaines applications (REPL, notebooks) sont souvent incompatibles avec des toolchains conçues dans d'autres buts. Par contre, un compilateur qui reçoit et utilise des informations sur le programme, ça aide. Un système de type guide le travail et structure les pensées pour le meilleur. On va voir le modèle de programmation de Julia, un langage typé mais dynamique, inspiré entre autres par Scheme, Lisp, Python, Matlab, Rust. Le mécanisme principal repose sur le dispatch multiple et l'inférence de type. Nous explorerons quelques caractéristiques dont les macros, la génération de code natif avant de faire un tour de quelques cas d'usage actuels et du tooling autour du développement de packages. A propos de nos speakers ! Mathieu est doctorant en projet entre INRIA Lille et Polytechnique Montréal et travaille sur le développement de modèles d'optimisation et de décision dans les smart grids. Avant son doctorat, Mathieu a travaillé comme développeur back-end & data scientist chez Equisense à Euratech. Il développe souvent en Julia, parfois en Python, a travaillé avec Go, R et joue parfois avec Rust. Son site web : http://matbesancon.github.io/ Paul est développeur chez Fewlines. Son parcours est spécialisé dans la recherche informatique, plus particulièrement la théorie et la conception de langages de programmation. Il affectionne tout particulièrement l'élaboration de programmes corrects par construction, et l'utilisation de langages fonctionnels statiquement typés. Son site web : http://phink.github.io/ Xavier est développeur chez Fewlines. Il aime bien les stouts et Mike Brant. Il affectionne tout particulièrement l'élaboration de programmes corrects par construction, et l'utilisation de langages fonctionnels statiquement typés. Son site web : https://xvw.github.io

    4
  • LilleFP10 : à l'assaut des TypeClasses (Scala à la rescousse) !

    Salut à tous ! Il était temps que l'on annonce une nouvelle édition de LilleFP ! Pour cette édition, on a décidé de mettre Scala à l'honneur. Durant cette édition, deux speakers qui ont la classe absolue viendront nous expliquer comment dompter un concept puissant pour faire ce que l'on appelle du "polymorphisme ad-hoc" : les classes de types ! Comme chaque fois, (et on les remercie grandement), Epitech Lille nous héberge et comme chaque fois, la soirée se déroulera en 3 parties, 2 présentations séparée par un interlude de 15 minutes, et ensuite, un petit apero "networking" où on pourra se rafraichir et manger des gourmandises ! Cet évènement est organisé en partenariat avec le LiSUG ! (https://www.meetup.com/fr-FR/Lille-Scala-User-Group-LiSUG/) --- PREMIÈRE PRÉSENTATION : Type Classes from the Ground Up Présentée par Nicolas Rinaudo (https://twitter.com/NicolasRinaudo) Les "TypeClasses" sont une alternative puissante au sous-typage et peuvent aider à réduire de manière drastique la quantité de "boilerplate" dans un projet ! Leur encodage, en Scala, est assez simple, mais souffre du fait qu'elles sont perçues comme une fonctionnalité avancée que seuls les développeurs expérimentés devraient utiliser ! Le but de cette présentation est de démystifier leur usage, ce qu'elles sont ! De montrer comment du "code fonctionnel" évolue naturellement vers elles et comment elles se composent implicitement pour offrir au développeur beaucoup de fonctionnalités "for free" ! Nicolas Rinaudo à plusieurs casquettes. Après avoir été CTO de Capcom Mobile Europe, il a fondé et piloté techniquement ioSquare, ensuite, sa boite a fusionné avec Besedo (une boite encore plus grande) dont il est devenu CTO. Au quotidien, Nicolas aime bien se plaindre de JavaScript, encenser Scala et raconter des blagues ! Il est très actif sur le Slack LilleFP ! SECONDE PRÉSENTATION : Dérivation générique de TypeClasses en Scala Présentée par Thomas Dufour (https://twitter.com/chwthewke) L'usage de TypeClasses peut simplifier grandement l'implémentation de comportements ad-hoc de sorte à en avoir un usage homogène (c-à-d. polymorphique). Cependant, si une bibliothèque fournit une TypeClasses utile, elle pourra également en fournir des instances pour les types standard appropriés, mais il reviendra à l'utilisateur d'implémenter ladite TypeClasses pour ses propres types, ce qui sera généralement répétitif et mécanique. Pour résoudre ce problème, nous allons nous intéresser à Shapeless et aux facilités de programmation générique que cette bibliothèque apporte. En l'utilisant dans un exemple concret, nous verrons comment dériver automatiquement une TypeClasses pour de nombreux types arbitraires, de la même façon que des bibliothèques répandues telles que circe, doobie, monocle, etc. Thomas Dufour est un habitué de LilleFP, il pèse dans le game de Scala et aime bien faire de la sorcellerie avec les types ! Avant d'être développeur à Epitech, il a fait des jeux-vidéos chez Ankama. Il aime aussi Haskell, même que la dernière fois, c'est à cause de moi (Xavier) qu'il n'a pas pu faire un talk sur Haskell... (je suis fier de moi). Il est aussi très actif sur le Slack LilleFP ! ---- On vous attend très nombreux ! Et vivement cette session !

    4
  • LilleFP9 : Facebook Infer et le développement d'applications concrètes en Elm

    Au programme Salut à tous ! Le dernier Meetup ayant eu lieu il y a presque 2 mois, il est temps d'annoncer en grande pompe la 9ème édition de LilleFP ! Une fois de plus, Epitech Lille nous accueille gracieusement et chaleureusement dans leurs locaux, à 2 minutes de la Grand Place de Lille et je suis ravi d'annoncer un programme inédit ! On commencera la soirée avec l'inénarrable Fenn qui viendra nous parler de Elm, dans un cas concret : - Building a Several Pages App with Elm Par Vincent Billey : https://twitter.com/Fenntasy Développeur chez Fewlines Cette présentation propose une manière claire et propre d'implémenter une application Elm complexe en se connectant à une API similaire (dans sa conception) à celle présentée par Thomas Gautier, en Elixir, durant LilleFP7 ! http://elm-lang.org/ Pour la seconde présentation, j'ai vraiment la joie d'annoncer que Jules Villard viendra nous parler de Infer, un produit Facebook d'analyse statique dont il est un des contributeur(s)? principal(aux?). Je suis d'autant plus heureux que Infer est écrit en grande partie en OCaml :) - Trouver des Bugs inter-procéduraux à grande échelle avec Infer Par Jules Villard https://github.com/jvillard Ingénieur logiciel dans l'équipe "Static Analysis Tools" chez Facebook à Londres Infer est un outil open-source d'analyse statique, écrit en OCaml – étant donné du code Java ou C/C++/Objective-C, Infer produit une liste de bugs potentiels. Tout un chacun peut utiliser Infer pour intercepter des bugs critiques avant qu'ils ne soient perçus par les utilisateurs, et pour éviter crashs et autres mauvaises performances. Infer est déployé avec succès à l'intérieur de Facebook, où il identifie des centaines de bugs par mois dans les applications mobiles et le code backend. Cet exposé présente comment utiliser Infer pour aider les développeurs à être plus rapides et confiants dans les changements de code qu'ils produisent. http://fbinfer.com/ On espère vous compter très nombreux et comme chaque fois, après les deux présentations, on vous proposera un apéro, histoire de pouvoir discuter et échanger ! A dans un mois ! À prendre avec vous Votre bonne humeur Important

    6
  • LilleFP8 : La blockchain et les tests dirigés par les propriétés

    Au programme Salut à tous ! On espère que vous avez passé d'excellentes fêtes de fin d'année ! Toute l'équipe de LilleFP vous souhaite le meilleur pour 2018 ! Et comme dans le meilleur, il y a LilleFP, il est temps de démarrer l'année avec notre huitième édition ! Une fois de plus, Epitech Lille nous accueille gracieusement dans leur superbe espace et comme chaque édition, après les présentations, DernierCri nous offre de magnifiques rafraichissements, pour discuter et faire connaissance ! Au programme de cette 8ème édition, la blockchain et du Scala ! Des chaines et des transactions Par Adrien Bensaïbi (https://twitter.com/olinkloo), fondateur d'ADAPP Cette présentation sera l'occasion de ReDécouvrir la chaine de blocks (aka Blockchain), ses implémentations actuelles et si on a le temps, comment l'utiliser afin de développer des applications et imaginer les usages de demain. ScalaCheck, Property-based testing for Scala Par Thomas Dufour (https://twitter.com/chwthewke), développeur à Epitech Vous désirez apprendre à écrire des tests en vous servant des propriétés logiques des "objets" que vous manipulez ? Cette présentation est faite pour vous ! A LilleFP5, Thomas nous avait expliqué comment manipuler les erreurs "de manières" fonctionnelle en Scala avec la bibliothèque Cats. Cette fois, il remet le couvert en nous présentant comme écrire les jeux de tests du future en utilisant ScalaCheck. À prendre avec vous : De la bonne humeur et de la curiosité ! Important

    3
  • LilleFP 7, Elixir FTW

    Epitech Lille

    Salut à tous, Après plus d'un mois d'inactivité, nous revoici pour un événement haut en couleur ! Comme pour l'édition précédente, nous vous donnons rendez-vous le 16/11/2017 à 19h dans les locaux Epitech Lille (que nous remercions chaleureusement) pour une édition spéciale Elixir/OTP en plein coeur de Lille ! Au programme de cette édition, deux présentations originales ! Exploration des meta-formats via les bitstrings en Elixir Par Julien Leclercq (https://twitter.com/Juli1_leclercq), développeur chez Dernier Cri. Comment en voulant écrire mon Spotify-like, j’ai été amené à m’intéresser a la manière dont OTP permet la manipulation de données binaires et à comment, au moyen de Behaviours; j’ai pu gérer des stratégies multiples pour parser une zoologie de formats binaires sans me prendre (trop) la tête ! De la musique à Elixir, voyons que ce qu’OTP nous offre en plus de la concurrence, la distribution, la métaprogrammation et toutes les features cools dont tout le monde parle souvent ! Suivi par Elixir - Votre API peut très bien se passer de Phoenix Par Thomas Gautier (https://twitter.com/aryko), CTO de Fewlines (https://github.com/fewlinesco/) Ou comment créer facilement une jolie API en assemblant seulement trois bibliothèques. (Note de Xavier : Un talk que beaucoup de développeurs Elixir attendent, car c'est parfois agréable de se focaliser sur l'essentiel et de ne pas embarquer un armada de choses inutiles quand on développe une API). En bref, un événement qui propose deux talks exclusifs ! On espère vous voir nombreux et comme à chaque édition de LilleFP, des rafraichissements vous seront proposés à la fin de l'événement ! A Jeudi !

    2
  • LilleFP 6, OCaml strikes back

    Epitech Lille

    Salut tout le monde ! Après Juillet et Août, LilleFP revient pour un événement orienté autour de OCaml (et ReasonML). Bien que la date n'ait pas été encore communiquée, cela se déroulera mi-septembre, à Epitech (que l'on remercie chaleureusement). Sans plus attendre, voici le programme de cette sixième édition ! A la découverte du langage OCaml Présenté par Xavier Van de Woestyne (@vdwxv), développeur chez Fewlines OCaml est un langage de programmation multiparadigme et destiné à l'implémentation de logiciels robustes. Dans cette présentation, je vous propose de découvrir rapidement ce superbe langage, ses piliers, ses points forts, ses points faibles et son éco-système. En plus de présenter une technologie extraordinaire (en toute objectivité, je vous l'assure ;) ), le but de cette présentation est de donner suffisamment de matériel pour appréhender la suivante ! ReasonML & Bucklescript, ou comment faire une application NodeJS fonctionnelle Présenté par Thomas Haessle (@oteku) , CTO chez Cutii Reason permet aux développeurs Javascript de bénéficier des apports d'un langage à typage statique et compilé, tout en conservant leur workflow NPM : alors aucune raison de ne pas s'y essayer. A très bientôt (pour communiquer la date et le lieu). L'équipe LilleFP

    12
  • LilleFP 5, Go! et Scala

    Agence Dernier Cri

  • LilleFP 5, Go! et Scala

    Agence Dernier Cri

    Chers amies et amis ! Alors que le soleil semble être au beau fixe à Lille, nous avons décidé d'organiser la cinquième édition de LilleFP. Comme les 4 dernières éditions, l'agence Dernier Cri (https://derniercri.io) nous accueille dans leurs bureaux, à la grand place de Lille ! Au programme de cette édition : Go, un langage pour abrutis ? Démonstration par l'absurde Guillaume Bailleul (https://twitter.com/laibulle), développeur chez Dernier Cri, nous parlera de son expérience avec Go, un langage souvent décrié par les hipsters (moi-même Xavier :v) de LilleFP comme un langage ridicule. L'objectif de cette présentation est de montrer que ces hipsters et que Go peut être utilisé de manière élégante et efficace ! Gestion d'erreur fonctionnelle avec Scala et Cats La gestion d'erreur est souvent complexe, Thomas Dufour (https://twitter.com/chwthewke), développeur à Epitech, va nous expliquer comment solutionner ce problème de manière élégante avec Scala et la bibliothèque Cats (http://typelevel.org/cats/). On espère vous voir nombreux ! A jeudi 22 !

    13