Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

BreizhCamp 2022

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Nächste SlideShare
Objectif fluid<fab />
Objectif fluid<fab />
Wird geladen in …3
×

Hier ansehen

1 von 62 Anzeige

BreizhCamp 2022

Herunterladen, um offline zu lesen

Retour sur les conférences du BreizhCamp, l'événement tech rennais annuel.
Alexandre, Antonin, Olivier et Pierre nous présentent quelques sujets choisis. Des sujets techniques qu'ils souhaitent nous faire partager, ceux qui leurs donnent des idées à mettre en place et à creuser ou tout simplement des sujets qui les ont particulièrement marqués :
- Urbaniser un SI pour 10 ans
- Les bases du Service Mesh
- Arch Unit, le test unitaire de l'architecture
- Fast API, aperçu du framework python
- OAuth 2.1 : Principes et nouveautés
- Rust : Pourquoi l'envisager ?
- REX Lean : Créer un SaaS et être rentable en 6 mois
- Retour sur la Keynote Sécurité
- La théorie de la vitre brisée appliquée à nos métiers

Retour sur les conférences du BreizhCamp, l'événement tech rennais annuel.
Alexandre, Antonin, Olivier et Pierre nous présentent quelques sujets choisis. Des sujets techniques qu'ils souhaitent nous faire partager, ceux qui leurs donnent des idées à mettre en place et à creuser ou tout simplement des sujets qui les ont particulièrement marqués :
- Urbaniser un SI pour 10 ans
- Les bases du Service Mesh
- Arch Unit, le test unitaire de l'architecture
- Fast API, aperçu du framework python
- OAuth 2.1 : Principes et nouveautés
- Rust : Pourquoi l'envisager ?
- REX Lean : Créer un SaaS et être rentable en 6 mois
- Retour sur la Keynote Sécurité
- La théorie de la vitre brisée appliquée à nos métiers

Anzeige
Anzeige

Weitere Verwandte Inhalte

Ähnlich wie BreizhCamp 2022 (20)

Anzeige

Aktuellste (20)

BreizhCamp 2022

  1. 1. BREIZHCAMP 2022 Vendredis de la Tech LE TIEC O. LE GUEN P. FOUCHEUR A. PROUTEAU A.
  2. 2. • Présentation de l’évènement • Sujets • Votre avis / Conclusion SOMMAIRE
  3. 3. Du 29 au 1er Juillet, à l’université de Rennes 2 Plus de 80 sessions divisées dans 4 amphithéâtres Des stands d’animation tenus par les sponsors sur les 3 jours Une équipe de bénévoles avec enregistrement de toutes les conférences La possibilité d’échanger avec les speakers (convivial) L’ÉVÈNEMENT Présentation Un excellent traiteur
  4. 4. 01 • Rétrospective des architectures • Présentation de solutions évolutives • Nouvelle architecture SI évolutive URBANISER UN SI POUR 10 ANS Christophe QUINTARD Architecte @ Ouest-France
  5. 5. URBANISER UN SI POUR 10 ANS Rétrospective des architectures
  6. 6. URBANISER UN SI POUR 10 ANS Solutions évolutives
  7. 7. URBANISER UN SI POUR 10 ANS Nouvelle architecture SI évolutive
  8. 8. URBANISER UN SI POUR 10 ANS Nouvelle architecture SI évolutive
  9. 9. 02 • Les bases du Service Mesh SERVICE MESH Vincent Arrocéna @varrocen Sylvain Decout @sylvaindecout
  10. 10. Un Service Mesh est une couche distribuée permettant la communication entre microservices SERVICE MESH: QU’EST CE QUE LE SERVICE MESH ?
  11. 11. Système d'orchestration de conteneurs SERVICE MESH: CONTEXTE
  12. 12. Logique métier Logique technique Communications Sécurité Résilience réseau Timeouts Retry Circuit Breakers Observabilité Metrics Tracing SERVICE MESH : LES CHALLENGES D’UNE ARCHITECTURE MICROSERVICES Pod Microservice Logique Métier Comm. config Sécurité Résilience Observabilité
  13. 13. Gère la logique technique Les communications passent par le proxy Utilisation d’une application tierce SERVICE MESH: SIDECAR PATTERN Pod Microservice Logique Métier Sidecar Proxy Comm. config Sécurité Résilience Observabilité
  14. 14. Pod Pod SERVICE MESH: CONTROL PLANE Control Plane Proxy Proxy Service Service Pod Proxy Service
  15. 15. Pod Pod SERVICE MESH: DATA PLANE Control Plane Proxy Proxy Service Service Pod Proxy Service Data Plane
  16. 16. SERVICE MESH Control Plane Data Plane
  17. 17. 03 • Le test unitaire de l’architecture ARCH UNIT Anthony Dassé Arch. Tech @ Sopra
  18. 18. KESAKO Lib de test basée sur Junit (4/5) Extensible, open source Permet de vérifier l’architecture: Les dépendances, package, nommage La séparation des couches Et bien d’autre V1.0.0 depuis le 3 octobre 2022 !
  19. 19. EXEMPLE Vérifier que les classes qui portent l’annotation @Path ont un nom terminant par « Controller » Vérifier que les classes qui portent l’annotation @Path sont dans un package nommé « ..controllers.. » Vérification de la structure Définition de couches « layout » : ex controllers et services, par nommage de package (ie. API vs business ) Vérification que la couche « controllers » n’est pas accédée, ou que la couche « services » n’est accédée que par la couche « controllers », que la couche « Repo BDD » n’est pas accédée par la couche « Endpoint Rest », etc..
  20. 20. EXEMPLE Des règles pré-définies Ex : pas de throw d’exception générique Utilisation de logs Pas de System.out/err Classes de test dans le package de la classe testée Sur de l’existant, fonctionnalité de « freeze », pour accepter les violations existantes et ne vérifier que les nouveautés
  21. 21. 04 • Késako ? • Pourquoi pas ! • Autres frameworks FFP2 : "FASTAPI […]" Fabrice Depaulis Ingénieur développement logiciels @ Orange Innovation
  22. 22. FFP2 : "FASTAPI FOR PYTHON PROGRAMMERS" Késako ? Fast Fast to code Fewer bugs Intuitive Easy Short Robust Standards-based
  23. 23. FFP2 : "FASTAPI FOR PYTHON PROGRAMMERS" Pourquoi pas ! Simple et rapide d’implémentation
  24. 24. FFP2 : "FASTAPI FOR PYTHON PROGRAMMERS" Pourquoi pas !
  25. 25. FFP2 : "FASTAPI FOR PYTHON PROGRAMMERS" Pourquoi pas ! Standard Open API
  26. 26. FFP2 : "FASTAPI FOR PYTHON PROGRAMMERS" Pourquoi pas ! Intégration de pewee et pydantic pour la persistance des données Documentation toujours auto-générée
  27. 27. FFP2 : "FASTAPI FOR PYTHON PROGRAMMERS" Autres frameworks Pourquoi d’autres frameworks ? Ça fait un peu beaucoup là non ? #staycritical Si c’est aussi fabuleux pourquoi tout le monde ne l’utilise pas ?
  28. 28. FFP2 : "FASTAPI FOR PYTHON PROGRAMMERS" Autres frameworks
  29. 29. FFP2 : "FASTAPI FOR PYTHON PROGRAMMERS" Autres frameworks
  30. 30. 05 • Pourquoi ? • Vocabulaire • Fonctionnement OAUTH 2.1 Julien Topçu Coach Tech @ Beyondxscratch.com
  31. 31. POURQUOI ? Exemples historiques : Importer des contacts mails sur un réseau social Agréger des boîtes mails (historique ??) Problématiques : Mot de passe divulgué, potentiellement stocké/logué Pas de révocation, sauf à modifier le mot de passe et le redonner à tous les services Accès illimité, non restreint à la fonction ciblée
  32. 32. VOCABULAIRE OAUTH Resource : item accédé, ex: contacts Resource Owner : Propriétaire de la ressource (souvent l’utilisateur final) End User : l’utilisateur final qui va autoriser un accès (vous!) Resource Server : Emplacement physique de la ressource (ex: Gmail) Authorization Server : Serveur qui réalise l’authentification - peut être le Resource Server, ou un système de SSO (ex : Google) Client : Celui qui veut accéder à la ressource (le 'client' oauth est donc le 'serveur' auquel l'utilisateur final se connecte...)
  33. 33. FONCTIONNEMENT client_id public redirect_uri peut être détourné. authorization_code interceptable Durée de validité courte, invalidée par l’échange de l’accessToken, mais…
  34. 34. OAUTH 2.1 Le diagramme précédent « Implicit flow » est encore majoritaire, mais déprécié. Mitigation Oauth2.1 Redirect_uri : Impose une white list exacte des redirect_uri autorisées pour un client Flow « Authorization code with PKCE » Le client ajoute le hash d’un secret à la redirection L’authorization server mémorise ce hash en donnant l’authorization_code Le client présente le secret lors de l’échange de l’authorization_code L’authorization server réalise le hash et valide la concordance • OK: échange contre l’accessToken • KO: refus d’accès
  35. 35. 06 • Késako Rust ? • Domaines d’utilisation • Pourquoi ne pas envisager Rust POURQUOI ENVISAGER RUST Alexis Delhelle Ingénieur d'études et de développement @ MAX Digital Services
  36. 36. POURQUOI ENVISAGER RUST Késako Rust ? Langage de programmation Par la fondation Mozilla pour la programmation système Langage compilé et pas de garbage collector (pas de gestion de la mémoire) Memory safe (pas de segmentation fault) Typage statique + inférence de type, donc pas de NullPointerException
  37. 37. POURQUOI ENVISAGER RUST Késako Rust : par rapport à Java Pas de garbage collector Empreinte mémoire faible Pas de null pointer Système de build unique Outil de gestion de dépendance unique
  38. 38. POURQUOI ENVISAGER RUST Domaines d’utilisation Firefox (comme par hasard) Cargo – gestionnaire de dépendance de Rust Solana – Cryptomonnaie Discord Android Kernel…
  39. 39. POURQUOI ENVISAGER RUST Pourquoi ne pas envisager Rust
  40. 40. POURQUOI ENVISAGER RUST Pourquoi ne pas envisager Rust Peut-on faire un SI en Rust ? Combien de version majeur de retard en fin de développement de mon application ? Qui sait faire du Rust ? Coût/bénéfice ? Est-ce une lubie pour faire jolie ou attirer des investisseurs ? (IA, BigData, ServerLess)
  41. 41. 07 • Présentation du contexte • Présentation de la méthode projet • Exemples de fonctionnement du LEAN REX LEAN : CRÉER UN SAAS ET ÊTRE RENTABLE APRÈS 6 MOIS François-Guillaume Ribreau, Sébastien Brousse Co-fondateurs @ CloudIAM
  42. 42. Projet qui démarre en 2018 Problématique initiale : Veulent deployer un Keycloak dans le SI Ouest-France REX LEAN : CRÉER UN SAAS ET ÊTRE RENTABLE APRÈS 6 MOIS Présentation du contexte • Keycloak est à configurer pour être sécurisé, mis à jour, sauvegardé, etc. • Il faut superviser et mettre à l'échelle si besoin • Les autres IAM "as a Service" sont généralement closed- source et hébergés en dehors de l’Europe “On recherche un service managé pour Keycloak ! Un équivalent à CloudAMQP” Créer un IAM (Identity Access Management) as a Service
  43. 43. Méthodologie LEAN Concept originaire de la ligne de production de Toyota (TPS) REX LEAN : CRÉER UN SAAS ET ÊTRE RENTABLE APRÈS 6 MOIS Présentation de la méthode projet "Par jour, c'est 90% de notre temps perdu pour 10% de valeur-ajoutée" Extreme programming KISS Pair programming Cycle de développement court et répété Prévoir des bases solides Développer un contrat d’interface final dès le depart d’une feature Pas d’optimisation pré-maturée, se limite à ce qui a été demandé On commence une feature dès lors que le client paie
  44. 44. Approche simple : Template Webflow Design basé sur de l’existant (concurrent CloudAMQP) Aucune feature déployée en dehors de l’infra les boutons de l’UX redirigent vers le support mail REX LEAN : CRÉER UN SAAS ET ÊTRE RENTABLE APRÈS 6 MOIS Fonctionnement du LEAN sur leur projet Tarification segmentée par nombre d’utilisateurs Le site est developpé en une demi-journée. « Tout limiter dans l’espace et dans le temps »
  45. 45. REX LEAN : CRÉER UN SAAS ET ÊTRE RENTABLE APRÈS 6 MOIS Exemples de fonctionnement du LEAN sur leur projet
  46. 46. REX LEAN : CRÉER UN SAAS ET ÊTRE RENTABLE APRÈS 6 MOIS Exemples de fonctionnement du LEAN sur leur projet
  47. 47. REX LEAN : CRÉER UN SAAS ET ÊTRE RENTABLE APRÈS 6 MOIS Exemples de fonctionnement du LEAN sur leur projet
  48. 48. REX LEAN : CRÉER UN SAAS ET ÊTRE RENTABLE APRÈS 6 MOIS Exemples de fonctionnement du LEAN sur leur projet
  49. 49. Après un 1 an de fonctionnement Ils ont répondu à un appel d’offre publique et ont été sélectionnés Ont développé toutes les features prévues initialement En ont même rajouté en dehors du périmètre grâce aux demandes client Ont réussi à monter un produit à seulement deux personnes Toujours rentables 4 ans après le lancement REX LEAN : CRÉER UN SAAS ET ÊTRE RENTABLE APRÈS 6 MOIS Fonctionnement du LEAN sur leur projet Limites de cette méthodologie Elle ne peut pas s’appliquer à tous les projets L’extreme programming et le lean sont compatibles dans de “petites équipes”, il sera plus compliqué de mettre cela en place sur des projets non agiles. Certaines réglementations imposent une approche non-agile (ex. ISO 27001)
  50. 50. 08 • Kézako? • Keynote sécurité KEYNOTES
  51. 51. 09 • Késako ? • Application dans nos métiers • Comment mieux gérer ses vitres THÉORIE DE LA VITRE BRISÉEE Saad Ansari Dev, Data Engineer, Engineering Manager @LeFreelance
  52. 52. THÉORIE DE LA VITRE BRISÉEE Késako ? Plus il y a de vitres brisées, plus il y en aura. Moi
  53. 53. THÉORIE DE LA VITRE BRISÉEE New york Sentiment d’impunité et d’insécurité The Dark Knight
  54. 54. THÉORIE DE LA VITRE BRISÉEE Paris On ne voit plus de graffiti dans le métro
  55. 55. THÉORIE DE LA VITRE BRISÉE Application dans nos métiers : relations humaines Comportements inappropriés.
  56. 56. THÉORIE DE LA VITRE BRISÉE Application dans nos métiers : balance ton code Tester en prod’ Laisser du code commenté Ne pas commenter Faire le héro / Devenir un héro Code mal structuré
  57. 57. THÉORIE DE LA VITRE BRISÉE Comment mieux gérer ses vitres : relations humaines Rétrospectives d’équipes Points individuels réguliers PARLER
  58. 58. CE N’EST PAS MAGIQUE Comment mieux gérer ses vitres : relations humaines Faire une réunion pour parler et penser que tout va se résoudre par magie Prendre à partie une personne THÉORIE DE LA VITRE BRISÉE
  59. 59. THÉORIE DE LA VITRE BRISÉE Comment mieux gérer ses vitres : balance ton code Relecture de code Poser des questions Dire non à un client qui veut un hotfix en prod un vendredi à 18h
  60. 60. THÉORIE DE LA VITRE BRISÉE Comment mieux gérer ses vitres : dérive A lancer trop d'alerte vous qui risquez de vous transformer en vitre brisée et c'est vous qui risquez d'être remplacé.
  61. 61. REMERCIEMENTS / RÉFÉRENCES https://www.youtube.com/watch?v=i9eECmJTVEY Urbaniser un SI pour 10 ans (Christophe Quintard) https://www.youtube.com/watch?v=5gZYU56q4No REX LEAN: Créer un SaaS et être rentable après 6 mois (François-Guillaume Ribreau, Sébastien Brousse) https://www.youtube.com/watch?v=eVpi0VT4tFQ ArchUnit à la rescousse de mon projet ✨ (Anthony Dasse) https://www.youtube.com/watch?v=QrGu7ITlSog OAuth 2.1 expliqué simplement (même si tu n'es pas dev) ! (Julien Topçu) https://www.youtube.com/watch?v=I2iYNZm_pqg Pourquoi envisager Rust (Alexis Delhelle) https://www.youtube.com/watch?v=Ju5LfNnocTA La théorie de la vitre briséee appliquée au développement logiciel (Saad Ansari) https://www.youtube.com/watch?v=iA2BbX7WuTw&t=1325s Service Mesh Reprenons les bases (Sylvain Decout, Vincent Arrocéna) Pas de vidéo FFP2 : « FastApi For Python Programmers » (Fabrice Depaulis) Nicolas De Loof
  62. 62. Straight to the point www.spikeelabs.fr

Hinweis der Redaktion

  • FastApi For Python Programmers
  • Des standards récents du langage (typehints, asyncio, ...)

    librairies solides (starlett, pydantic)

    Fastapi permet de développer une api en moins de temps qu'il n'en faut à Jeff pour s'acheter une villa à LosAngeles

    - génération automatique de doc
    - vérification de contraintes de données en entrée et sortie
    - support de l'asynchronisme
    - client de test intégré
    - mécanisme d'injection de dépendances (en python, il fallait oser)
  • Il ne peut pas exister seul si on veut se connecter à une db
  • Rester critique
  • Django n’est pas vraiment un framework pour faire des api
  • Doit exister avec marshmallow sqlalchemy

    Autres exemples Falcon ou connexion
  • Je n’ai pas de part de marché chez rust
  • Présentation deprecated
  • Oui ça fait beaucoup de poste

    On en va pas parler du bricolage
  • si une vitre est brisé dans un quartier, la probabilité qu'une autre vitre soit brisé augmente considérablement

    Personne ici n’a déjà eu envie de caser une vitre face a un bâtiment abandonné ?

    Sentiment d’impunité et d’insécurité
  • new york insécurité -> ne pas finir en the dark night (on a pas batman)
  • Metro parisien OSS117 ne peut pas être partout
  • Sexisme, racisme, Accent, faute de français, pas touche à mes cheveux, ni à ma barbe

    Laisser normaliser ces comportements :
    Sentiment d’impunité et d’insécurité
    Ceux visé, à travers des mécanismes de défense de devenir des agresseurs
  • Mauvaises pratiques normalisées

    Faire le héro : vouloir tout refaire en arrivant sur le projet : on a pas forcement les moyens et le besoin

    Hero : quelqu’un qui connait l’entièreté de l’application, qui devient un goulot d’etranglement
  • Dans un monde ou on a des échanges de partout il faut savoir discuter

×