entreprise L'omniprésence de l’open source chez les GAFAM Dans la Silicon Valley & la Tech en général L'Open-Source : le moteur caché de la Silicon Valley Évolution historique Du mouvement libre au mainstream Google et l'Open-Source Des projets fondamentaux pour l'écosystème Tech Apple et l'Open-Source Une approche sélective mais stratégique Facebook
code Ruby de Newby à Ready Qu'est-ce que Ruby? * Langage de programmation créé par Yukihiro "Matz" Matsumoto en 1995 * Orienté objet, dynamique et interprété * Philosophie: "Optimisé pour le bonheur du programmeur" et basé sur le principe de moindre surprise * Syntaxe élégante et naturelle * Fait pour créer vite. Pourquoi apprendre Ruby?
code L’entreprise de la Tech & de l’IT : Les défis humains, sociaux & environnementaux L'évolution induite par l’IT & la Tech Enjeux et opportunités Les défis de l’entreprise de la Tech & de L’IT Les défis technologiques Les défis humains Gestion des talents et diversité Les défis sociaux des entreprises IT Responsabilité et éthique Les défis environnementaux liés à
entreprise Que s’est-il passé au Xerox PARC ? Le creuset de l'innovation pillé par : « Les Pirates de la Silicon Valley* » Le Xerox PARC c’est où ? Pourquoi Palo Alto & la Silicon Valley ? Focus sur la Silicon Valley Un centre mondial de l'innovation technologique Le Xerox PARC c’est quoi ? Palo Alto Research Center
À la une L’histoire des systèmes d’exploitations D’UNICS à LINUX Un OS c'est quoi ? Cas d'exemple UNIX/Linux Depuis les origines … Vers L’ordinateur individuel Unix la branche BSD & les Clone d’UNIX 386 La branche « Open » Unix la branche SYSv5 La branche « Closed » Le monde DOS CLI Le monde Microsoft
Trust me i'm an Expert L’expertise dans l’IT : généraliste, spécifique, évolution de carrière sans management La quête de la connaissance Qu’est-ce qu’un expert en IT ? Les qualités d'un expert de l'IT Comment devenir un expert ? Les différents profils d’experts Un parcours sans management Les profils d’
De la bonne consommation de l’open source l’open source cela implique quoi ? * Définition : Logiciels dont le code source est accessible, modifiable et redistribuable. * Pourquoi consommer de l’open source ? * Innovation rapide * Réduction des coûts * Communautés actives * Transparence et sécurité => capacicté à tester sans engagement Trois acquis : Les enjeux Les bonnes pratiques de consommation Évaluer avant
Comment contribuer et lancer un projet open source Contribuer à un projet open source Le plus important : * Trouver un projet adapté * Choisir un projet qui vous passionne Utiliser potentiellement des plateformes de découverte * GitHub Explore : Filtrez par langage et explorez les projets tendance * CodeTriage : Inscrivez-vous pour recevoir des issues quotidiennes * Up For Grabs : Site dédié aux issues pour
code SOLID : Dependency Inversion Principle (DIP) 🎯 Objectif ; mettre en place un découplage fort et éviter l'effet "boite à outils" Cas d'étude, l'anti-pattern Un composant quelconque doit logger ses actions; l'anti-pattern pour : class Composant def initialize @log = open('composant.log', 'a') end def
code SOLID : Liskov Substitution Principle (LSP) Objectif : Les sous-classes doivent pouvoir remplacer leur classe de base sans changer le comportement attendu. Le Principe de Substitution de Liskov est l'un des cinq principes SOLID de la programmation orientée objet. Formulé par Barbara Liskov en 1987, il stipule que : "Si S est un sous-type de
code SOLID : Open/Closed Principle (OCP) Objectif : Une classe peut-être ouverte pour l'ajout ou l'extension mais fermée pour la modification On peut y ajouter des fonctionnalités mais doit éviter la surcharge et la modification de code existant. Remarque : En Ruby, la possibilité de sucharge se fait aussi bien via l'héritage
code SOLID : Interface Segregation Principle (ISP) Objectif : une classe ne doit pas être obligée d'implementer des méthodes dont elle n'a pas besoin (il existe undef en Ruby, mais au final cela reste une violation car c'est comme une redéfinition par une méthode vide). Anti-pattern class Command def perform raise NotImplementedError
ruby SOLID : Single Responsibility Principle (SRP) Objectif : une classe ne doit avoir qu'une seule responsabilité et defacto qu'une seule motivation pour être modifiée Anti-pattern On image une collecte de news sur un fournisseur, puis sa valorisation/formatage et la possibilité de l'envoyer par SMS ou Mail : Class News def collect(
Cloud : Superviser les logs systèmes et applicatifs avec Prometheus sur Ubuntu Pré-requis et temps pour tester ce mode opératoire * 1 serveur / VM Ubuntu LTS * 1 VM Ubuntu via VirtualBox/Multipass/WSL. * 1 à 2 heures de votre temps (1h pour ceux qui connaissent Prometheus, 2 pour les autres) Déployer Prometheus et la Push gateway Cela ce fait avec APT : # apt install
Cloud Cloud : IaaS + Docker Swarm, Config et Secret sur Swarm, stop au volumes as Config 🎯 Objectif : Découvrez dans cette page, comment utiliser les configs services et les secrets services dans Docker Swarm Mode. Introduction L'anti-pattern volume as config Pour déployer sur l'orchestrateur Docker Swarm, il est possible d'utiliser la syntaxe compose en emportant quelques éléments supplémentaires: Compose file version
code Cloud : Way2Cloud pattern : du flat file vers un service backend Redis 🎯 Objectif : ce document à pour mission est de montrer par l'exemple une transition Legacy/IaaS vers le PaaS, d'un application qui utilise des Spool de fichiers. le usecase ne se veut pas exhaustif et ne détaillera que l'usage des Spool depuis une application web