Formation aux bonnes pratiques de gestion de projet OpenStack

OpenStack est une plate-forme infonuagique qui semble complexe au premier abord. Elle permet cependant une économie réelle et offre une flexibilité et une indépendance sans égales par rapport aux solutions concurrentes. Les succès des projets OpenStack sont nombreux et il est nécessaire, avant de se lancer dans un projet d’envergure, d’en connaître les bonnes pratiques.

formation-openstack-nuage

Jonathan Le LousPour permettre à nos clients de bien maîtriser les enjeux technologiques d’un projet OpenStack, Savoir-faire Linux propose une journée de formation exclusive animée par notre Vice-président Infonuagique et Infrastructure, Jonathan Le Lous, également vice-président de la communauté francophone d’OpenStack et co-animateur d’OpenStack Montréal.

Quand?

QUÉBEC
19
janvier
2016
MONTRÉAL
21
janvier
2016
OTTAWA
26
janvier
2016
TORONTO
28
janvier
2016

 

​​​​​Administrateurs de systèmes Red Hat: obtenez votre certification!

red_hat_partnerLe Centre de formation de Savoir-faire Linux, partenaire certifié Red Hat, organise en septembre prochain une session de formation RHCSA (Administrateur système certifié Red Hat) qui donnera lieu à une certification.

Cette formation s’adresse aux administrateurs de systèmes qui ont de 1 à 3 ans d’expérience à temps plein en tant qu’administrateur Linux.

Pour plus détails concernant les prix et conditions de cette formation, contactez-moi par courriel (formation(a)savoirfairelinux.com) ou par téléphone (514-276-5468 poste 348). Merci!

Photo de la salle de formation Aaron Swartz.

Animation, VFX et jeu vidéo : un python dans le moteur

Lavender Albino PythonL’industrie du divertissement numérique, comme Christian Beauchesne l’appelle judicieusement, a des besoins bien spécifiques découlant de ses modèles d’affaires. Soumise à une intense compétition rythmée par les saisons commerciales et les bilans annuels, elle doit produire des films, jeux vidéo et autres livrables à un train d’enfer, dans un grand roulement de tambour personnel. Pour réussir ce tour de force, elle dispose heureusement d’une épée magique : Python.

Générant un chiffre d’affaires galactique de l’ordre des 100 milliards de dollars US en 2014 (1), l’industrie du jeu vidéo est la première industrie culturelle dans le monde et une importante locomotive de l’économie numérique, du Japon aux USA en passant par la France et le Québec (2). Mais le secteur de l’infographie (Computer graphics, en anglais) ne s’arrête pas à la porte des studios de jeux comme Gameloft ou Ubisoft. Il franchit celle des studios d’effets spéciaux, comme Hybride Technologies ou Industrial Light & Magic (auteur des effets spéciaux de Star Wars et Transformers) et pénètre aussi dans les studios d’animation comme Digital District Montreal ou Pixar.

Un langage qui se glisse partout

Or, Python est un langage de programmation ouvert comptant un très grand nombre de modules et bibliothèques logicielles (libraries) qui lui donnent le pouvoir magique de s’adapter à de nombreuses situations. On le retrouve abondamment sur le Web, notamment avec le framework Django et derrière des sites tentaculaires comme Youtube et Google. Dropbox a basé son système sur Python et la NASA elle-même l’utilise, comme le montre l’une des success story du site de la Python Software Foundation.

Python is fast enough for our site and allows us to produce maintainable features in record times, with a minimum of developers” — Cuong Do, Software Architect, YouTube

Les studios d’infographie font partie de ces entreprises friandes de Python. Elles ont besoin d’être réactives à cause des échéances fluctuantes et de délais de plus en plus courts. Python permet justement de produire rapidement du code facile à maintenir. C’est donc un langage de choix pour développer ce que l’on appelle le « pipeline », le flux de données du studio. Ce pipeline va principalement gérer de très gros fichiers et y associer des attributs (ou tags) dans une base de données.

Python est certes plus lent que ses grands frères, C ou Java, mais ce n’est pas un problème, ici. Le principal goulot d’étranglement, c’est le chargement des fichiers et non la lenteur d’exécution du code. C’est pourquoi Python est présent dans toutes les grandes technologies: Maya, Nuke, Shotgun, Houdini, 3ds Max, Arnold, etc. Cette omniprésence fait en sorte que les pipelines peuvent dialoguer avec leurs composantes grâce à un seul et même langage. Cela réduit considérablement la complexité.

Enfin, il y a la philosophie de Python, résumée par ce célèbre aphorisme de Tim Peters :

There should be one– and preferably only one –obvious way to do it.” — Tim Peters (The Zen of Python)

Photo: affiche japonaise "Zen of Python"En d’autres termes, Python permet de sauter rapidement dans le code et de le comprendre. C’est ce que cherchent les studios qui doivent recruter très fréquemment de nouveaux développeurs.

Le choix de Python est d’autant plus logique que, sans être nécessairement le plus répandu, c’est l’un des langages de programmation les plus populaires au monde(3). Du fait de sa grande lisibilité, toutes les universités l’enseignent dans les cours de sciences informatiques et un grand nombre d’autodidactes le maîtrisent parfaitement. À Montréal, le cours DEV401 – Programmer en Python est l’un des plus populaires du centre de formation de Savoir-faire Linux et l’association Montréal Python n’est jamais en manque de présentateurs pour ses soirées-conférences mensuelles.

 
Voilà pourquoi, finalement, lorsque l’École Nad nous a contacté pour nous parler d’un Meetup Python spécifiquement dédié à cette communauté, il nous a semblé tout à fait naturel de nous y associer.

Un MeetUp Python pour les codeurs de VFX, d’animations 3D et de jeux vidéo

Montréal est l’une des grandes capitales de l’industrie du divertissement numérique et les principaux cadriciels de développement de cette industrie reposent, aujourd’hui, sur le langage Python. C’est à partir de ce constat que l’École des arts numériques, de l’animation et du design (NAD), en partenariat avec Savoir-faire Linux, a conçu Meetup Python. Ce nouvel événement vise à réunir les développeurs de l’industrie dans une communauté de pratique Python spécifique à leurs problématiques.

Vendredi dernier, quelques heures avant que les rues de Montréal ne soient livrées aux sorcières, vampires et morts-vivants, j’ai rencontré Christian Beauchesne, directeur du service aux entreprises et des projets spéciaux du NAD, qui m’en a présenté les grandes lignes, résumées cette vidéo :

Lors du premier Meetup qui aura lieu le 17 novembre 2014 à partir de 18h, dans les locaux de l’école, Éric Thivierge (Hybride Technologies) et Dave Lajoie (Digital District) présenteront leurs techniques et méthodes de travail dans ces domaines, tandis que Jordì Rìera (Savoir-faire Linux) donnera un aperçu des dernières nouveautés en matière d’utilisation de Python dans l’industrie du divertissement numérique.

Inscrivez-vous!

Devrait-on enseigner Git dans les cégeps et universités?

Logo GitLa semaine dernière, je me suis rendu avec mon collègue Philippe Latouche à l’Université Laval afin de rencontrer des étudiants en quête de travail et de stages. Nous avons rapidement constaté que plusieurs CV d’étudiants au Bac, qui visaient le monde du web, ne mentionnaient pas la connaissance de la technologie de gestion de versions décentralisé Git. Cela nous a surpris.

Git est-il enseigné au Cégep et/ou dans les universités?

Mis à part le programme de Technique en intégration Multimédia du Cegep Ste-Foy qui, semble-t-il, l’aurait intégré à son cursus, il semble difficile de trouver un cours public dédié à Git au Québec. Et nous ne sommes pas seuls; c’est aussi le cas aussi aux États-Unis. Jeff Siarto, designer à la NASA et à O’Reilly Media, et instructeur à l’Université du Michigan, dressait, en mai dernier, le même constat. Traduction libre :

Au cours de la dernière année, j’ai interviewé plusieurs nouveaux diplômés dans les domaines liés aux technologies (des programmeurs et les designers) et très peu d’entre eux connaissaient le contrôle de version. La plupart avaient peu ou pas d’expérience avec Git ou avec la communauté en ligne Github.

Comme nous le fait remarquer Olivier Lafleur, enseignant en informatique au Cégep de Lévis-Lauzon, Git est rarement enseigné directement par les professeurs, mais certains, conscients qu’il est devenu un standard demandent ou proposent à leurs étudiants de l’utiliser dans les travaux. Par exemple « au département d’informatique de l’Université Laval, on a le choix d’utiliser Git ou svn dans les projets. Dans mon cours de cégep, je fais utiliser Git et Github. C’est amusant… » En fait, Git s’enseigne en quelque sorte « par les pairs », fait-il remarquer.

Pourquoi ne pas mettre carrément Git au programme?

D’abord, certains disent (ici) qu’il le sera et qu’il s’agit simplement d’un retard des institutions par rapport à l’industrie. D’autres pensent que, pour l’université notamment, c’est un aspect trop technique et que l’effort devrait être mis à « enseigner un savoir fondamental, comme le design algorithmique, plutôt qu’un outil spécifique qui pourrait devenir obsolète au moment ou l’étudiant gradue » (voir cette conversation dans Hacker News).

Git est-il une mode?

Selon ce graphique de tendance de Indeed, il semble en tout cas que Git soit maintenant l’outil de gestion des versions le plus demandé par les employeurs et que son usage a connu une croissance constante depuis son arrivée sur le marché.

Source: Indeed.com

Bernard Chhun, développeur Web chez Savoir-faire Linux et co-fondateur du groupe Québec-Python, a assisté à la montée de Git. Après avoir travaillé avec d’autres gestionnaires de version comme Microsoft SourceSafe et svn, il a d’abord trouvé le maniement de Git en ligne de commande un peu complexe, mais il s’y est fait progressivement et ne reviendrait plus en arrière. « Git est en fait devenu un standard incontournable dans le monde de l’agilité et du travail collaboratif », affirme-t-il. De plus, c’est un logiciel libre, son code est ouvert, il ne dépend donc d’aucune entreprise et ne risque pas de décliner au profit d’une technologie concurrente demain matin.

L’université n’a-t-elle pas mieux à enseigner qu’un simple outil?

Selon Jeff Siarto (ibid), « Il n’y a aucune raison que le premier cours que reçoit un nouvel étudiant en sciences informatiques ne commence pas par l’ouverture d’un shell, l’installation de Git et la contribution de code sur Github ou sur le serveur Git d’une université. »

Chez Savoir-faire Linux (ainsi, probablement, que dans de nombreuses autres entreprises du Québec), lorsque nous engageons un stagiaire ou un développeur peu familier avec ce logiciel, nous devons souvent le former à l’interne à l’utilisation de Git, l’une des pierres angulaires de nos méthodes de développement collaboratif agile. Si les cégeps et les universités faisaient ce travail en amont, cela ferait évidemment gagner du temps à tout le monde. Il ne s’agit pas, en effet, d’un processus propre à une entreprise en particulier.

Une culture de collaboration à épouser

Finalement, n’est-ce pas cette culture du développement collaboratif qu’il faudrait intégrer, pas à pas, dans nos institutions d’enseignement? Cela prendra d’abord des enseignants comme Olivier Lafleur, qui demanderont à leurs étudiants de remettre leur travaux via Git, et d’autres qui choisiront de dédier une ou deux séances au sujet. Ces enseignants sont peut-être des pionniers, mais il existe tout de même des ressources pour les aider, dont le programme éducationnel de Github.

L’essentiel, c’est qu’une grande majorité de professeurs collégiaux et universitaires aient à coeur de relever ce défi lancé par Jeff Siarto :

Je mets au défi mes collègues professeurs, adjoints et moniteurs d’intégrer le contrôle de version dans leur programme, d’encourager la collaboration entre les étudiants et de leur donner les outils dont ils ont besoin pour avoir une longueur d’avance quand ils entrent sur le marché du travail. En tant que professeur et designer travaillant à distance avec des équipes aux quatre coins du monde, je n’attends rien de moins de mes nouveaux collègues!

Et en attendant cette évolution, Savoir-faire Linux commercialise une formation Git complète particulièrement appréciée par les entreprises. Vous ne direz pas qu’on ne vous l’a pas dit. 😉

Ressources

Pour démarrer son auto-apprentissage Git :

Pour aller plus loin :