26 Oct 2016

Takeoff Conf 2016

C’est avec un plaisir tout particulier que nous écrivons cet article, car faire un feedback sur TakeOffConf c’est se rendre compte que cette conférence a bien eu lieu ! Ils l’ont fait ! Après 2 années et 10 mois — quasi 3 ans quoi —  sans conférences majeures sur Lille, TakeOffConf est de retour !

Le petit truc en plus de cette conférence c’est son atmosphère ; elle est anglophone, sponsorisée par des entrepreneurs tech, organisée par des développeurs-entrepreneurs et animée par des speakers éclectiques ! Vous imaginez l’ambiance ?

Ça n’a pas été simple pour l’équipe de trouver les ressources pour organiser l’événement mais ils l’ont fait! Les développeurs se sont habitués aux conférences à bas prix en province, mais pour TakeOffConf il faut débourser quelques euros de plus. Et avec ces années d’absence, la conférence semblait avoir perdu de son aura pour trouver sponsors, speakers et participants. Normal !

Mais avec leurs réseaux, leur niaque et l’aide des communautés locales, la communication de tweets à oreilles a su rassembler assez défervescence pour redonner vie à cette conférence. L’unique conférence tech lilloise is back ! Merci à eux !

2016-10-20-09-20-11

Craftsmanship, CSS & Vexillology

Une des conférences qui m’intriguait concernait l’alliance du craftmanship, du CSS et de la Vexillology : l’étude des drapeaux. #WTF (http://talks.pixelastic.com/slides/css-flags-takeoffconf/#/)

La conférence démarre par un rappel au craftmanship, à ses origines, aux compagnons, à la volonté de créer des chefs d’oeuvre dans son ouvrage, à vouloir s’améliorer constamment, à partager son savoir. Super intro !

L’idée est d’appliquer ces valeurs au CSS. Bah oui quoi, on peut aussi vouloir produire des coloriages (™@LudovicBorie) de qualité !

Pour maîtriser le CSS et pour ajouter un peu de piment dans l’histoire, penchons nous sur l’étude des drapeaux et relevons le challenge :

Créer tous les drapeaux du monde en CSS avec une seule <div> !

Il y a plusieurs sortes de drapeaux. La plupart son avec des bandes de couleurs, assez simples à créer en CSS.

1-ifunqc-isvpk5tv_egphkg

Puis ça se complique et on doit utiliser linear-gradient pour les drapeaux plus complexes, radial-gradient pour ceux qui contiennent des cercles, les pseudos element before pour créer des étoiles, puis un peu de triche avec des fonts pour certains symboles complexes, puis des tips & tricks pour créer des drapeaux assez compliqués. Les croissants deviennent des cercles imbriqués, les triangles sont faits avec des clip-path et polygon. Etc. Etc. Jusqu’à se retrouver bloquer sur certains drapeaux sans solutions CSS/1div pour le moment. (Il demande de l’aide pour terminer cette oeuvre)

1-unr-dvhqim5_hpf-y7b3sq

Une conférence inattendue comme j’adore avec un gros travail préparatoire de qualité et un message sur l’importance du travail pour atteindre le graal de la maîtrise.

Web

Front-end

Le talk The Web and the Butterfly Effect a abordé les problèmes de la sémantique et de l’accessibilité des sites web.

Plusieurs solutions ont été données pour éviter cela :

  • Utiliser les fonctions de server-side rendering de notre framework JavaScript
  • Avec un HTML valide (par exemple une balise a sans href n’est pas valide)
  • Ajouter la langue utilisée

Ces différents éléments permettent de rendre le site plus accessibles aux screen-readers et de faire fonctionner notre site (au moins au minimum) sans JavaScript.

Aujourd’hui nous faisons de plus en plus de single page application (SPA) et fonctionner sans JavaScript nous semble inconcevable, mais veut-on vraiment devenir indépendant du JavaScript (ou d’un framework), comme on l’était du Flash il y a quelques années ?
Nous avons aussi eu un aperçu du futur du JavaScript avec ECMAScript 6 is so 2015! Meet ES2016. La présentation a abordé les nouveautés d’ES2016 et de celles qui sont en cours de finalisation pour ES2017. La fonctionnalité qui m’a le plus marqué est async / await qui se rapproche de ce qui se fait en C# notamment (cet article explique son fonctionnement en détail).
Enfin nous avons eu un retour d’expérience sur ReactJS, avec une démonstration. J’ai vu de nombreuses similarités avec l’approche composant que l’on a avec AngularJS 2.0.

API

Plusieurs sessions ont parlé des API et ont donné des techniques pour faire de notre API une belle API qui sera robuste, sécurisée et découvrable (notamment par les bots).
L’une de mes présentations préférée est celle sur Algolia’s fury road to a worldwide API (tirée du post Medium). On y apprend comment développer une API à haute disponibilité en :

  • pensant au design de notre API au plus tôt,
  • ne pas faire d’overengineering,
  • se focaliser sur l’exécution et voir les problèmes un à la fois.

Dans une autre présentation (Create modern web APIs in minutes), on apprend que notre API doit être évolutive en fonction des besoins du client : changer le Content-Type doit permettre de passer d’un retour JSON à un retour XML.
Par ailleurs notre API doit être découvrable, pour cela on peut  par exemple utiliser JSON-LD (un standard pour décrire les liens de l’API).

L’avantage d’avoir une API découvrable permet aux bots de la parcourir et d’envisager de nouvelles utilisations de cette dernière et d’avoir une API auto-documentée.

Les vilains BOTs

On a eu le droit à un retour d’expérience de Heroku sur leur usage des BOTs en interne. Vous savez ces programmes avec lesquels on peut interagir par messages textes plutôt que par des clics ?

Et bien chez Heroku, ils ont déjà un beau vécu avec les Chatbots. Ils ont d’abord eut tout plein de bots et c’était le bazar, puis ils ont eu un méga bot qui faisait tout, puis des bots rails qui reposent sur les commandes Slack ❤.

Si bien qu’ils ont tout plein de bots pour gérer tous leurs besoins dans l’entreprise. L’alerting se fait via des bots, la gestion des incidents est quasi-gérée de cette façon. Mais aussi les déploiements, les notifs, le code… À l’avenir, ils vont utiliser les dernières fonctionnalités des bots avec les boutons, le 2FA, automatiser les tâhes les plus courantes, bref les rendre plus intelligents. Encore une super conf qui donne des idées !

La conférence suivante s’intéresse aussi aux bots. On démarre en faisant le constat que les bots prennent déjà de plus en plus de places dans le paysage et que c’est exponentiel !

Il nous explique qu’un bon bot doit être connecté à une API pour être intelligent. Puis il nous montre que les besoins des bots influencent le design des APIs car on ne consomme pas la donnée de la même manière pour une interface graphique ou pour une interface textuelle. Les futurs utilisateurs de nos APIs sont des bots et il faut prévoir cet usage dans nos APIs dès maintenant. ❤ bots!

Mobile

Il y a eu 3 présentations liées au mobile dont 2 sur le développement d’application hybride.
Concernant le développement d’application hybride on a le choix : ReactJS (avec react-native) et AngularJS 2.0 (avec NativeScript).

Les deux technologies se ressemblent et promettent de réutiliser un maximum de code entre votre site web et votre application. En effet, les deux vont :

  • convertir le template HTML en code natif
  • proposer d’avoir des vues différentes pour les différentes plateformes
  • accéder aux méthodes / composants natifs : soit directement, soit en passant par un proxy

Les applications de démo que nous avons vu étaient fluides mais j’aimerais bien avoir un retour d’expérience sur une application plus complexe.
Une session était spécifique sur le développement Android et notamment la sécurité des applications. J’ai adoré cette session ! Les bonnes pratiques à retenir sont :

  • toujours encrypter les données
  • utiliser les fonctions de sécurité du device
  • faire du certificate pinning quand c’est possible
  • et surtout do not trust the device

En effet, il est très facile de faire du reverse-engineering sur une application Android (décompilation, MITM…).

Les slides de la présentation ne sont pas encore disponibles, je les ajouterais dès que je les ai.

 

Article co-écrit par Cyril Lakech et Xavier Balloy

Share
  • Damien Cavaillès

    It was great having both of you around 😉