Exposés 2021

Les exposés du PADR lors de l'année 2021 se derouleront en présentiel. Faites attention à la mailing list CRIStAL pour la confirmation des lieux et horaires.

Aussi, cette année les séminaires s'organisent en plusieurs parcours dont nottament: Python, C, Web et Nouveaux Arrivants.

Parcours Nouveaux Arrivants
Parcours Web
Parcours C
Parcours Python
Parcours Gestion de Données
Important Doctorants! La participation aux séminaires est reconnue par l’école doctorale EDSPI, vous recevrez une attestation de votre participation.

Voici le calendrier tentatif pour les prochaines séances. Des nouvelles dates s'ajouteront en fur et au mesure.

21/01/2022
Formation Gestion des projets C avec CMake
28/01/2022
Formation Gestion des projets Python avec Poetry
17/12/2021
Formation Introduction git -- gestion de branches
10/12/2021
Formation Introduction git -- les bases
12/11/2021
Code Dojo Javascript
29/10/2021
Code Dojo Javascript
22/10/2021
Code Dojo C – Testing + Emulation
15/10/2021
Code Dojo C – Testing + Emulation
9/10/2021
Code Dojo C – Testing + Emulation
23/09/2021
Code Dojo C – Testing + Emulation
16/09/2021
Code Dojo Python – Testing + Emulation
09/09/2021
Code Dojo Python – Testing + Emulation

Exposés 2020

Les exposés du PADR lors de l'année 2020 se derouleront à distance, sur les plateformes rendez-vous de renater, et mattermost du CRIStAL.
Intitulé Orateur Description
23-oct
10:00 - 12:00
Introduction to Git 1 - English Guillermo Polito Découverte de Git et installation. Les operations de add et commit. Les serveurs remotes avec les opérations de push, pull et fetch. Introduction au merge et les conflits. Séance en anglais.
30-oct
11:00 - 12:00
Introduction to the commercial videogame development process Ronie Salgado In this talk we will describe the three main stages in the process for developing a commercial videogame: pre-production, production and post-production. We will describe these stages from a commercial, and a technical perspective, along with the importance of the confluence of different disciplines spanning from the visual arts, literature, and software engineering. We will also provide tips for starting a new videogame development venture along with with some lessons learned by working in a commercial fighting videogame (large scale), and in some game jam (solo development).
06-nov
11:00 - 12:00
Encodings, files and streams - Basics and Python Guillermo Polito How data is stored in files? What is unicode, ascii, and what happens when data cannot be read? The notion of encodings is key to do data manipulation and analysis in our world. This talk gives an overview of what encodings are, and how these notions are applied in languages such as Java, Python and Pharo.
13-nov
10:00 - 12:00
Git 2 - Using Branches - French Guillermo Polito La maitrise de Git requiert une bonne comprension des conceptes de commit et réference, et en particulier des branches, tags et réfereces speciales tels que HEAD. Ce webinar introduit comment Git organise à l'intérieur ses informations pour pouvoir faire une utilisation avancé et simple de Git. Séance en Français.
27-nov
10:00 - 12:00
Git 2 - Using Branches - English Guillermo Polito Mastering Git requires a good understanding of the concepts of commit and reference, and in particular branches, tags and special references such as HEAD. This webinar introduces how Git internally organises its information to make an advanced yet simple usage of Git. Seminar in english.
30-nov
15:00 - 16:00
Modern Web Application with ReactJS Nicolas Passerini, Nicolas Scarcella, Uqbar Foundation, Argentine (https://www.uqbar.org/) ReactJS, developed by Facebook and a community of individual developers, is one of the trendiest open-source libraries for building fast and maintainable user interfaces. Built upon the idea that views can be better expressed by a fully-fledged language than template interpolation, it´s component-oriented architecture diverges from the classic MVC approaches, offering a new take on the way we define and compose visual elements.
In this talk we will introduce the main concepts in ReactJS: Its rendering system, its virtual DOM and the functional and object-oriented definition of components, along with an insight of applications lifecycle and state flow. We will also address some of the newer constructions of the framework, such as hooks, and present some ideas on where to go next.

The Speakers:

Nicolas Passerini: Too academical for engineering, too practical for science, Nico has been a teacher, scientist and engineer for 20 years creating software in lots of languages, including a few designed by himself. His main research interest is the influence of software in learning programming. He is one of the main authors of the wollok educational programming language and tooling. Father of two kids and several crazy projects. Loves cooking (and eating), brewing, chess, football, politics, but most of all putting theory into practice

Nicolas Scarcella: The other Nico. A rather similar one, just younger and balder. With over 10 years of experience as a teacher and software developer Nico has worked on many different areas, from the video game industry to languages compilers. He likes baking, overthinking and writing short bios that nobody reads anyway.

Source code: https://github.com/uqbar-project/react-tasks
04-dec
11:00 - 12:00
Experience engineering a compiler Guillermo Polito This presentation aims at sharing the experience of working on a cross-platform JIT (just-in-time) compiler using modern software engineering practices, in the context of the Pharo Virtual Machine. From its early development, the project embraced testing and continuous integration to focus on robustness and correctness of the compiler, and made emphasis on the usage of a simulated environment for debuggability. This experience reports on the usage of LLVM as a compiler back-end, and processor simulation tools such as Bochs, Qemu or Unicorn.
11-dec
10:30 - 12:00
Upgrade your skills to C++11 and C++17 Damien Marchal This presentation with be about "recent" changes in c++11, c+14 up to c++17. The aim of this presentation is to make a review of what has changed in the langage since c++11. C++11 was considered as a major update of the langage while c++14/17 bring only minor improviement. In this presentation we will show the new features among which automatic type inferance, functional programming, closure, asyncronous mechanism as well as what it brings in terms of maintainability, code expressivity and compactness. The idea is not to make you expert in c++11 but to bring you ideas on what may be useful in your current code base or if you start a new project.
18-dec
10:30 - 12:00
Upgrade your skills to C++17 and C++20 Damien Marchal This presentation with be about "latest changes" introduced in c++17 and c++20. While c++17 was considered as a minor update of the language, focused mainly on improving the features introduced in c+11,the c++20 is considered as a major release. The C++20 has been finalized in February 2020. In this presentation we will present what are the features (concepts and modules to cite a few) and why they are important.

Exposés passés

Intitulé Orateur Description
24/04/2019
11:00 (Salle du conseil au M3)
Présentation du Ruby. Franck Paszkowski
Cette présentation a pour but de découvrir le langage Ruby ! Ruby est conçue pour que la programmation soit un plaisir, et parfois une aventure ! C’est un langage plein de surprises et de possibilités. Aujourd’hui Ruby reste un acteur majeur du Web à travers son framework Rails utilisé notamment par Github, Gitlab, Twitter, AirBnb et BaseCamp. Qu’a-t-il donc de si spécial ? Enfin vous découvrirez également comment exploiter la JVM(Java Virtual Machine) à partir de JRuby/TruffleRuby JRuby.
27/03/2019
11:00 (Salle du conseil au M3)
Présentation de la RGPD (session 2). Olivier Auverlot
Cette présentation du RGPD exposera les bases essentielles du règlement européen. Nous découvrirons les bonnes pratiques pour le développement d’applications, la création de bases de données et l’archivage des informations. Une attention toute particulière sera portée sur le domaine des sciences. [Slides]
13/03/2019
11:00 (M3 salle 211)
Update your code for C++ 11, C++14, C++17, C++20 Damien Marchal
La présentation de demain portera sur les évolutions 'récentes' du c++ à savoir c++11, c++14, c++17 et c++20. L'objectif de la présentation est de faire un état des lieux sur les évolutions du langage. Et nous y présenterons les nouvelles fonctionnalités (inférence automatique de type, programmation fonctionnelle et "closures", mécanismes asynchrones). Nous présenterons aussi les apports en terme de concision et de maintenabilité. Enfin nous terminerons par les outils d'aide à la migration d'ancienne base de code. [Slides and examples]
27/02/2019
09h00-12h00 (Ecole Centrale, salle C116)
Introduction au contrôle par la pratique Alex Kruszewski
Au cours de cette initiation au contrôle, nous allons mettre en place une boucle d'asservissement simple pour le contrôle en position d'un robot mobile (un seul axe). Les différentes étapes seront les suivantes:
  • principe des asservissements et présentation du matériel
  • structure d'un code d'asservissement
  • implémentation du code permettant de récupérer les mesures issues des capteurs et d'envoyer les commandes aux actionneurs (sur Arduino)
  • implémentation du code permettant de garantir la cadence de l'algorithme de commande
  • principe et implémentation d'un PID (pas de Maths)
30/01/2019
11:00 (Salle du conseil au M3)
Présentation de la RGPD. Olivier Auverlot
Cette présentation du RGPD exposera les bases essentielles du règlement européen. Nous découvrirons les bonnes pratiques pour le développement d’applications, la création de bases de données et l’archivage des informations. Une attention toute particulière sera portée sur le domaine des sciences.
23/11/2018
(Salle du conseil au M3)
Présentation du PADR Damien Marchal
Présentation du PADR lors de la journée des nouveaux entrants.
25/01/2017
11:00 (Salle du conseil au M3)
Présentation de l'infrastructure de service du CRIStAL Gilles Carin
Présentation des services proposés le laboratoire CRIStAL à ses membres et de leur infrastructure.
28/06/2016
11:00 (salle du conseil au M3)
Le futur de la transformation de code avec Spoon Gérard Paligot
Spoon est une bibliothèque open-source qui permet l'analyse et la transformation de code. Face à ses concurrents, Spoon se différencie grâce à un méta modèle d'une granularité fine et avec des accès simples en lecture et en écriture. Dans cette présentation, nous verrons les concepts forts et les APIs de Spoon avec un exemple concret. Puis, nous verrons comment l'intégrer facilement dans un projet Java avec les technologies de build modernes du type Maven et Gradle. [ web]
25/05/2016
11:00 (salle conseil M3)
Interfacer du C avec Pharo grâce aux FFIs. Guillermo Polito
Pharo est un environnement intégré pour la programmation Smalltalk. Cette présentation abordera la manière de connecter Pharo à des programmes et des librairies écrites en C. Pharo, comme d'autres langages de programmation de haut niveau (python, ruby), sont réputés pour rendre leur développeurs plus efficaces. En effet, ces langages sont moins exigents en terme de de syntax et de déclarations des types. En revanche, utiliser ces langages a aussi son lot d'inconvénients tel que les performances moyennes et le manque de librairies. Les Foreign function interfaces (FFIs) sont une solution à ces problèmes car elles permettent de faire interagir le programmes de haut niveau avec des libraries de bas niveau (langage C). Elles permettent d'utiliser notre langage de préference pour nos tâches recurrentes, et appeller du code C de manière presque transparente. [Slides]
11/05/2016
11:00 (salle conseil M3)
Codiad: un éditeur de code dans le cloud Olivier Auverlot
Si vous êtes curieux des nouveaux outils de développement, venez découvrir un nouvel outil pour coder ! Codiad est un projet open-source ayant pour oobjectif est de fournir un environnement de développement complet, accessible de partout à l'aide d'un simple navigateur web.
20/04/2016 (déplacé du 02/03/2016)
11:00 (salle conseil M3)
Introduction à la conception électronique. Fabien Verbrugghe
Introduction à la conception et à la fabrication de petit équipements électronique. [Slides]
30/03/2016
11:00 (salle conseil M3)
Présentation de Unity 3D. Julien Wylleman & Damien Marchal
Présentation du moteur de jeux Unity 3D et comment il peut être utilisé pour illustrer des travaux de recherche. [Site web]
24/02/2016
11:00 (salle conseil M3)
Retour d'expérience sur Cython. Damien Marchal
Cython facilite la réalisation de bindings entre du C/C++ et du Python. Il permet aussi d'accélérer du code python (speed up de plusieurs ordres de grandeur) via l'usage optionel de typage statique. Dans cette présentation je ferais un retour d'expérience sur la réalisation de binding python pour un gros projet C++ (Sofa).
16/03/2016
11:00 (salle conseil M3)
Introduction à Smalltalk avec Pharo. Guillermo Polito
Prise en main de Smalltalk avec Pharo. Slides
15/04/2015
11:00 (amphi Turing/M3)
Du JSON dédié à un domaine ou comment créer un DSL (Domain Specific Language) Areski Flissi. Présentation d'une expérience de création d'un langage spécifique à un domaine (DSL, Domain Specific Langage). A partir d'un exemple très simple, cette présentation montre comment créer son langage et générer facilement son implémentation, ainsi qu'un éditeur textuel associé, en se basant sur une approche dirigée par les modèles.
01/04/2015
11:00 (salle du conseil M3)
Utilisation de GIT 2/2. Samuel Degrande et Emmanuel Leguy. Une présentation sur le bon usage du système de gestion de version GIT pour l'utilisateur avancé.
18/03/2015
11:00 (salle du conseil M3)
Utilisation de GIT 1/2. Samuel Degrande et Emmanuel Leguy. Une présentation sur le bon usage du système de gestion de version GIT pour le débutant comme pour l'utilisateur avancé.
04/02/2015
11:00 (salle du conseil M3)
Outils et techniques pour l'impression 3D. Mario Sanz-Lopez et Julien Wylleman Description des outils et des techniques pour l'impression 3D en lien avec les usages dans les équipes et les équipements dont nous disposons.
10/04/2014
11:00
Kaboom: un outil pour le live-coding en C/C++ Damien Marchal Présentation de Kaboom est un outil développé par Damien permettant de faire du live-coding sur du code C/C++. [Vidéo]
28/05/2014
11:00
Présentation d'Artefact. Olivier Auverlot
Présentation d'Artefact un framework développé par Olivier permettant la création de PDF en Smalltalk/Pharo. [Site web]
02/07/2014
11:00
Présentation de Docker. Emmanuel Leguy
Présentation de Docker un système de virtualisation Linux. [Slides] [Site web]