Overblog Suivre ce blog
Administration Créer mon blog
7 à voir

Articles avec #overblog tag

Comment rebooter automatiquement son routeur ?

25 Juillet 2017 , Rédigé par Lionel Publié dans #Overblog

Que faire quand son routeur ou sa box s'arrête de temps en temps de fonctionner ? Dans ce billet un peu technique, je vous propose de découvrir ma solution à base d'une prise connectée et d'un peu de hacking.

Comment rebooter automatiquement son routeur ?

Le Spot Bouygues est un lieu sur le campus de l'EPITECH où étudiants et collaborateurs de Bouygues viennent se poser pour travailler sur des projets communs. L'infrastructure du lieu est très limitée: en gros il y a juste un routeur qui diffuse un accès WiFi et permet l'accès à Internet.

C'est tout à fait suffisant mais, de temps en temps, ce routeur se met à ne plus fonctionner: s'il y a des utilisateurs connectés il restent connectés mais perdent l'accès à Internet et les nouveaux arrivant ne peuvent plus se connecter au réseau. Rien de grave, j'imagine que vous avez ça de temps en temps sur votre box ou sur votre routeur ? Il suffit de redémarrer le routeur (juste le débrancher et le rebrancher…) et tout rentre de l'ordre en quelques minutes. La seule particularité est que pour des raisons de sécurité, au Spot, ce routeur est dans un caisson fermé à clé. Il faut donc avoir la clé pour réaliser l'opération.

 

Ce dysfonctionnement se produit de "temps en temps" une à deux fois par mois. Évidemment, cela se produit TOUJOURS au plus mauvais moment, c’est-à-dire quand je ne suis pas là. Les occupants n'ont alors pas d'autres choix que de m'appeler pour que je leur dise où est cachée la fameuse clé (sous le paillasson  ;-) afin qu'ils redémarrent le routeur. C'est également ennuyeux parce que le Spot contient des équipements de sécurité (caméras, détecteurs, …) qu'il est embêtant de ne pas pouvoir consulter à distance à tout moment.

 

Tentative de solution

Ce problème dure depuis des mois, à l'occasion j'ai essayé de faire de faire des recherches pour identifier les causes possibles et j'ai fait régulièrement les mises à jours du firmware du routeur mais hélas sans résoudre le problème jusqu'à présent. D'ailleurs si vous avez des suggestions, je suis preneur !

 

Il y a quelques mois je tombe sur un article de Gizmodo qui parle d'une prise magique capable de régler le problème: le "ResetPlug". Le ResetPlug s'intercale entre l'alimentation de votre box/routeur et la prise de courant. Il fonctionne comme un client WiFi qui écoute en permanence votre connexion Internet. Dès qu'il ne détecte plus Internet, il coupe l'alimentation quelques secondes ce qui a pour effet de redémarrer votre box/routeur.

Comment rebooter automatiquement son routeur ?

Cool. C'est exactement ce qu'il me faut !

Seul problème: ce gadget est vendu exclusivement aux US pour 60$. La prise supportée  est d'ailleurs une prise au format US. Le site laisse supposer qu'une version pour des prises Européennes pourrait être disponible mais en fait après plusieurs mois d'attentes il n'en est rien :-(

 

La prise connectée Kankun

L'été approche donc une période de vacances où le problème risque d'être encore plus visible car évidemment dans ces périodes je ne suis pas présent tout le temps au Spot. Il me fallait une solution.

En lisant attentivement la FAQ de la ResetPlug, je tombe sur une question qui éveille ma curiosité:

 

Q:  Isn't this a Kankun smart plug? They look the same?

A:  No, this is not the same as the Kankun smart plug. We both use the same plug hardware (outside) from iKonke, but the software (inside) is very different. The ResetPlug detects an Internet outage and cycles power automatically. The Kankun plug is meant to turn on or off the outlet from an app while on the same WiFi network.

 

Le ResetPlug utiliserait donc le même hardware qu'une mystérieuse prise intelligente "Kankun" mais y ajoute un logiciel spécifique. Hmmm. N'y aurait-il pas moyen de faire la même chose ?

Quelques recherches sur Internet me font tomber sur cette fameuse prise Kankun vendue par Amazon US pour 30$. C'est une prise contrôlable via son smartphone Android/iOS. Ce n'est pas exactement mon besoin mais c'est intéressant. Accessoirement, la Kankun est vendue moitié prix de la ResetPlug: le prix à payer pour le logiciel ajouté par ResetPlug ?

 

En cherchant un peu plus, je tombe sur un article de blog de Kenneth Burgener qui explique comment "hacker" la Kankun. L'article explique que la prise Kankun est en fait sous OpenWRT. Mes souvenirs de visiteur régulier du /tmp/lab (un des premiers hacker space en France) me reviennent à l'esprit: OpenWRT est une mini-distribution Linux qui équipe de nombreux équipement réseaux. Et si c'est une distribution Linux, il doit être facile d'y ajouter l'intelligence nécessaire au pilotage de la prise. En effet, l'article de Kenneth explique comment il est possible de se connecter à la prise en SSH et même y installer un mini-serveur HTTP pour la piloter à distance: cool, voilà la solution !

 

Je me lance donc dans l'achat de cette fameuse prise. Comme conseillé dans l'article, je la commande à 16,99$ sur Aliexpress, qui est moins cher qu'Amazon (j'ai encore gagné 50% !), qui y ajoute un adaptateur pour les prises EU et qui livre en France. Après quelques semaines (ça vient de Chine), l'objet arrive finalement au Spot.

Comment rebooter automatiquement son routeur ?

Hacktime

La prise en main n'est pas facile au début. Naïvement, j'essai d'installer l'appli Android pour configurer la prise mais depuis l'article de Kenneth qui date de 2015, l'application n'est plus disponible qu'en Chinois et honnêtement, même pour s'y connecter, c'est compliqué quand on ne comprends pas un mot (pas même un caractère !) de chinois.

 

Bref, je me retourne finalement vers la configuration via SSH. Une fois compris comment on réinitialise la prise (un petit bouton sur le côté) et qu'il faut quelques minutes pour qu'elle expose son WiFi de configuration ("0K_SP3"), j'arrive finalement à me connecter à la console.

 

 

BusyBox v1.19.4 (2014-03-27 17:39:06 CST) built-in shell (ash)

Enter 'help' for a list of built-in commands.

 

  _    _               _    _

 | | _-_| _____ _____  | | _-_| _____ ____

 |  -_-  |     ||     ||  -_-  |     ||    |

 | |-_   |  -  ||  |  || |-_   |  -__||   _|

 |  _ -_ |_____||__|__||  _ -_ |_____||__|  

 |_| -__|  S M A L L   |_| -__| S M A R T

 -----------------------------------------------------

 KONKE Technology Co., Ltd. All rights reserved.

 -----------------------------------------------------

  * www.konke.com            All other products and   

  * QQ:27412237              company names mentioned

  * 400-871-3766             may be the trademarks of

  * fae@konke.com            their respective owners.

 -----------------------------------------------------

root@koven:~# 

 

 

Je commence par configurer l'accès de la prise au WiFi du Spot. C'est expliqué dans l'article de Kenneth: il suffit de modifier deux fichiers de configurations Linux "/etc/config/wireless" et "/etc/config/network" pour y indiquer les informations de connexion au WiFi. Au redémarrage suivant, la prise est donc désormais connectée au WiFi du Spot.

 

Reste à rajouter l'intelligence pour tester la connexion au WiFi et arrêter la prise si la connexion échoue.

L'article de Kenneth et assez détaillé et il existe un groupe Google+ (pas très actif néanmoins) qui propose quelques astuces et programmes pour jouer avec la prise. J'apprends ainsi que pour couper l'alimentation de la prise il suffit d'écrire un 0 dans un endroit très précis du filesystem, ce qui se fait en une commande shell très simple:

 

echo 0 > /sys/class/leds/tp-link:blue:relay/brightness

 

Et pour remettre l'alimentation, il suffit d'écrire 1 au même endroit:

 

echo 1 > /sys/class/leds/tp-link:blue:relay/brightness

 

On ne peut pas faire plus simple ! J'ai donc de quoi piloter la prise pour pouvoir redémarrer le routeur une fois qu'il y sera branché.

 

Il faut maintenant tester la connexion. La prise étant connectée en WiFi au réseau du Spot, il suffit de tester l'accès à Internet pour vérifier que le routeur fonctionne. Il y a plusieurs méthodes pour faire ça mais comme OpenWRT n'intègre qu'un sous-ensemble des commandes Linux habituelles, j'opte pour une solution simple en utilisant la commande "wget" qui permet de lancer une requête HTTP sur une URL. Si l'URL répond la commande retourne 0, si elle ne répond pas elle retournera autre chose. Voilà donc mon test de connexion:

 

wget -q -s http://google.com

if [[ $? -eq 0 ]]; then

        echo 'Il y a internet'

     else

        echo 'Il n'y a pas internet'

fi

 

Comme vous le voyez, je teste l'accès à Google. Si Google tombe, on peut considérer qu'il y a un problème de connexion :-)

 

Bon il n'y a plus qu'à assembler les morceaux: s'il n'y a pas Internet, je coupe l'alimentation et je la remets. Dans la réalité c'est un peu plus compliqué, j'y rajoute un peu d'intelligence:

  • Inutile de tester en permanence la connexion, je considère qu'il suffit de le faire un test toutes les 5 minutes.
  • Par ailleurs il peut y avoir une micro-coupure, je décide qu'en cas d'échec du test de connexion on refait un test 30 secondes plus tard et on ne redémarre que si celui-ci échoue aussi.
  • Enfin, il est un peu brutal de redémarrer sans prévenir les utilisateurs potentiels qui se trouvent dans la salle. Comme justement je viens de recevoir au Spot un afficheur digital LaMetric, j'en profite pour écrire également un petit script (je ne le détaille pas ici mais si ça vous intéresse n'hésitez pas à demander) qui va déclencher un son et un affichage pour indiquer qu'il y a un problème.
Comment rebooter automatiquement son routeur ?

Bref, voici ce que donne le script final qui constitue "l'intelligence" de ma prise.

 

# checkinternet

while true

do

        wget -q -s http://google.com

        if [[ $? -eq 0 ]]; then

                echo $(date) was: online

        else

                echo $(date) was: OFFLINE, retry in 30 seconds

                /root/sendtolametric "Internet issue, retrying in 30s" > /dev/null

  sleep 30

                wget -q -s http://google.com

                if [[ $? -eq 0 ]]; then

                         echo $(date) was: now online

                else

                         echo $(date) was: still OFFLINE, reboot in 10s

                         /root/sendtolametric "Reboot in 10s" i2633 knock-knock critical > /dev/null

                         sleep 10

                         echo 0 > /sys/class/leds/tp-link:blue:relay/brightness

                         sleep 3

                         echo 1 > /sys/class/leds/tp-link:blue:relay/brightness

sleep 600

                fi

        fi

        sleep 300

done

 

En gros c'est un script qui teste toutes les 5 minutes ("sleep 300") la connexion (commande "wget"). Si elle échoue il attend 30 secondes ("sleep 30") puis refait le test. Si elle échoue à nouveau il prévient les utilisateurs (appel "sendtolametric" pour piloter l'afficheur digital), attend 10 secondes puis coupe la prise pendant 3 secondes puis la redémarre. Il attend ensuite bien sagement 10 minutes que le réseau refonctionne et relance son cycle de test.

 

Et ça marche ?

Avant de brancher ma prise ainsi configurée sur le routeur du Spot, j'ai d'abord fait tourner le script "à vide" quelques jours pour vérifier que tout allait bien. J'ai pu ainsi constater qu'il détectait correctement les coupures réseau. J'en ai profité pour le modifier en intégrant quelques temps d'attentes que vous voyez dans le script final ci-dessus. Il faut noter aussi que le script "loggue" chacune de ses actions ce qui me permet de voir à postériori ce qu'il a fait.

 

Finalement la prise est branchée au routeur du Spot depuis 3 semaines. Et j'ai eut la joie de constater qu'elle a déjà "corrigé" deux coupures réseau. Voici par exemple une de ses actions il y a quelques jours:

 

Mon Jul 17 03:18:45 CST 2017 was: online

Mon Jul 17 03:22:52 CST 2017 was: OFFLINE, retry in 30 seconds

Mon Jul 17 03:23:22 CST 2017 was: still OFFLINE, reboot in 10s

Mon Jul 17 03:36:55 CST 2017 was: online

Mon Jul 17 03:41:55 CST 2017 was: online

 

Je suis donc plus serein en me disant que, même en mon absence et même à 3h du matin, ma prise connectée veille à ce que le réseau du Spot soit toujours actif !

 

Amusant non ?

N'hésitez pas à laisser vos remarques ou suggestions en commentaire.

Lire la suite

Conférence sur le Google Summer of Code 2017

9 Mars 2017 , Rédigé par Lionel Publié dans #Overblog, #Google

Conférence sur le Google Summer of Code 2017

Pour la quatrième fois, je suis mentor pour le Google Summer of Code cette année.

Pour présenter ce programme et les projets proposées par l'organisation Open Source SugarLabs à laquelle je contribue, j'ai donné avec Michaël Ohayon une conférence à l'EPITECH le 2 mars dernier.

La conférence est disponible en vidéo ci-dessous. N'hésitez pas à me solliciter si vous voulez participer au Google Summer of Code ou si vous avez des questions sur les sujets présentés.

Lire la suite

Partageons l'expérience de réalité virtuelle

8 Mars 2017 , Rédigé par Lionel Publié dans #Overblog, #realitevirtuelle

Et si la réalité virtuelle pouvait sortir du casque et être une expérience partagée ? Compte-rendu d'une expérimentation dans ce sens menée au Spot Bouygues.

Vous avez peut-être déjà vu cette photo, Mark Zuckerberg - le patron de Facebook - marchant dans une allée au milieu d'une foule qui ne le voit pas, trop occupée à regarder une démonstration dans leurs casques de réalité virtuelle. C'était lors de la conférence Oculus l'année dernière, Mark Zuckerberg était l'invité surprise de la conférence et ce fut donc une vraie surprise pour tous ces spectateurs plongés dans leur monde virtuel.

 

Partageons l'expérience de réalité virtuelle

L'image fait réfléchir. En effet la réalité virtuelle est aujourd'hui une expérience solitaire qui ne se partage pas et surtout qui vous isole complétement du monde extérieur. Difficile d'imaginer que dans une entreprise, vous vous isoliez des vos collègues en mettant un casque sur les yeux alors que mettre un casque audio sur les oreilles n'est déjà pas supporté partout ! C'est le constat qu'a fait Philippe Choyer alors Directeur Général de C2S et auquel il a voulu remédier en faisant appel au Spot Bouygues et à une équipe d'étudiants de l'EPITECH.

 

De cette rencontre est né le projet CubeVR. L'idée: recréer l'immersion d'un casque de réalité virtuelle dans une salle en plaçant différents écrans autour des utilisateurs. Imaginez que vous êtes dans une voiture et que les écrans sont les fenêtres de la voiture ou que vous êtes dans une salle de réunion et que les écrans sont les fenêtres de la salle. En projetant de manière synchronisé une vidéo 360 sur les différents écrans en fonction de leur position géographique, vous pouvez donnez l'impression de vous trouvez ailleurs et être plusieurs à partager cette expérience. La réalité virtuelle sans le casque.

Partageons l'expérience de réalité virtuelle

Pour tester le mécanisme une salle a été emménagé dans les locaux de C2S. L'utilisateur se trouve au milieu de 6 écrans. Chaque paire d'écran représente le NORD, l'EST et l'OUEST. Ils sont reliés à 3 PC qui via le programme développé par les étudiants affichent simultanément une portion de l'angle de vue d'une vidéo 360°.  Via un paramétrage logiciel préalable on détermine la continuité des différentes vues pour qu'une personne ou un objet passant dans le champ de vision passe réellement d'un écran à l'autre. Une immersion sonore est également proposée via un système de haut parleurs disposés autour de l'utilisateur.

 

Voilà une petite vidéo qui montre le système en action pour une visite de Paris.

Techniquement la solution développée en C#/.NET par les étudiants consiste en un serveur qui va jouer le rôle d'ordonnanceur et un client qui encapsule un lecteur vidéo 360 à base de VLC. Chaque client peut être configuré de manière autonome et on peut avoir autant de clients qu'on veut lancé sur une même machine. Dans notre configuration de tests, un PC est utilisé comme serveur et 3 PC reliés à 2 écrans exécutent chacun 2 clients qui pilotent chacun un écran. En fait nous sommes montés jusqu'à 11 écrans simultanés mais nous avons atteints les limites des PC qui ne parvenaient pas à gérer de manière fluides l'affichage de 3 vidéos 360 en parallèle :-)

Partageons l'expérience de réalité virtuelle

La solution reste rudimentaire (à base de vieux PC et vieux écrans) et nécessite aujourd'hui de la configuration manuelle en fonction de la vidéo néanmoins elle donne déjà une bonne impression de ce que l'immersion sans casque peut donner. De plus, les étudiants à l'origine de la solution, Baptiste Moutier, Brian Zabandith et Ronan Camus, continuent à améliorer l'application dans le cadre de leur projet de fin d'étude EPITECH (EIP).

 

Et si la réalité virtuelle pouvait se partager simplement ?

Lire la suite

Quels langages pour développer demain ?

17 Janvier 2017 , Rédigé par Lionel Publié dans #Overblog

Quelles sont les plateformes de développement utilisées aujourd'hui par les étudiants en informatique ? Seront-elles les plateformes de demain ? Tentative de réponse dans ce billet.

Quels langages pour développer demain ?

Au Spot Bouygues (http://lespot-bouygues.com), je suis en contact en permanence avec des étudiants pour faire de l'Open Innovation. Le fossé est grand entre le fonctionnement de l'entreprise et celui des étudiants. Et il y a un domaine où la comparaison entre l'entreprise et les étudiants est intéressant c'est celui des plateformes de développement.

 

En effet, il est parfois étonnant de constater à quel point les langages utilisés par les étudiants sont souvent éloignés de ce que l'on connait en entreprise. Comme vous êtes nombreux à me poser la question des outils qu'utilisent les étudiants, je vous propose dans cet article une petite synthèse de ce que je vois au quotidien.

 

Précisons que cette synthèse s'appuie sur une observation du choix des étudiants sur les projets "libres": c’est-à-dire ceux ou ni l'école ni moi n'imposons une technologie spécifique. Bref: quand ils peuvent utiliser la technologie qu'ils veulent.

 

Architecture 3 couches

Sans grande surprise, l'architecture choisie par les étudiants est une architecture à trois niveaux:

  • Base de données
  • Couche de service, backend
  • Couche de présentation, frontend

 

Base de données: No SQL !

Si en entreprise on trouve plus facilement des bases de données SQL de type SQL Server ou Oracle, la base de données la plus utilisée sur les projets des étudiants est incontestablement MongoDB (https://www.mongodb.com). Ce n'est pas forcément un choix réfléchi par rapport aux mérites du NoSQL vs SQL mais c'est tout simplement plus facile: pas de schéma à imaginer, facilité d'utilisation du JSON, simplicité d'installation, gratuité, …

Quels langages pour développer demain ?

En fréquence d'utilisation par les étudiants, viennent ensuite loin derrière, PostgreSQL (https://www.postgresql.org/) et, plus rarement MySQL (https://www.mysql.fr/). Et ces bases sont souvent utilisées par les étudiants dans le cas où l'école impose un support multiDB.

 

REST pour longtemps

Pour ce qui est de la couche de services, le backend est systématiquement constitué par des services REST (https://en.wikipedia.org/wiki/Representational_state_transfer). Je n'ai jamais entendu parler de Web Services SOAP qu'on trouve pourtant encore beaucoup en entreprise.

La gestion d'authentification sur l'API REST se fait généralement de manière "propre" - l'EPITECH leur apprend très tôt les problèmes de sécurité :-) - en utilisant des tokens qui sont générés lors du login et véhiculé d'une requête à l'autre sur l'API.

Quels langages pour développer demain ?

Le langage de développement utilisé pour le backend est très souvent du node.js (https://nodejs.org). Il est régulièrement associé à un framework de type Express (http://expressjs.com), ou un "ORM" type Mongoose (http://mongoosejs.com/).

 

Je vois aussi de plus en plus souvent le langage Go (https://golang.org/) utilisé sur la partie backend. Ses performances sont souvent mises en avant par les étudiants même si cela est rarement un impératif dans leur projet.

 

Le langage PHP (http://php.net/) reste présent, notamment associé au framework Symfony (http://symfony.com/) qui est pas mal utilisé sur l'école et facilite la génération d'une API.

 

De manière plus anecdotique, je rencontre aussi du Ruby on Rails (http://rubyonrails.org/) ou du Python avec le framework Django (https://www.djangoproject.com). Il m'est arrivé une seul fois d'avoir un groupe d'étudiants ayant réalisé leur backend en .NET ! Je n'ai pas manqué de les féliciter d'être déjà "Entreprise Ready" ! Je n'ai jamais vu de projets d'étudiants avec un backend en J2EE ;-)

 

Inutile de dire que 100% du backend utilisé par les étudiants s'exécute sur Linux. Beaucoup de groupe mettent en place de véritables infrastructures de déploiement en s'appuyant sur des containers Docker (https://www.docker.com/). Sinon, pour le serveur Web, on trouve plus souvent du Nginx (http://nginx.org/) que du Apache (https://httpd.apache.org/).

 

 

AngularJS est dans le coin

Pour la réalisation du FrontEnd web des applications, AngularJS (https://angularjs.org/) , le framework de Google, fait clairement l'unanimité. Il est rare de trouver des projets où il n'est pas présent. J'ai même rencontré plusieurs groupes qui avaient passé du temps (et soufferts) à faire la migration d'AngularJS 1 vers AngularJS 2.

Quels langages pour développer demain ?

Pour les projets avec des IHM moins ambitieuses, je rencontre aussi beaucoup Bootstrap (http://getbootstrap.com/) - créé par Twitter - qui permet rapidement d'obtenir des pages HTML sympathiques.

Je commence également à rencontrer des projets utilisant React (https://facebook.github.io/react/ - créé par… Facebook), c'est un framework qui attise beaucoup la curiosité des étudiants.

 

Pour les développement mobile, je ne rencontre que des développements natifs. En effet, comme c'est trop facile (sic), les étudiants n'ont pas le droit à l'école d'utiliser des plateformes hybrides de type Cordova (http://cordova.apache.org/), PhoneGap (http://phonegap.com/) ou Ionic (http://ionicframework.com/) même s'ils m'en parlent régulièrement.

 

Les développements côté Android se font donc naturellement sous Android Studio (https://developer.android.com/studio). En arrivant à l'école je me suis ainsi rendu compte que j'étais le seul (le dernier ?) qui utilisait encore Eclipse.

 

Pour les développements iOS, il n'y a pas le choix, c'est Xcode (https://developer.apple.com/xcode/) qui est utilisé. Par contre la majorité des projets se font maintenant en Swift plutôt qu'en ObjectiveC. J'ai même vu des projets migrer d'ObjectiveC vers Swift et je rencontre régulièrement des étudiants qui migrent - dans la douleur - vers la dernière version de Swift.

 

Cela peut paraître surprenant mais il y a très souvent des développements sous… Windows Phone (si, si). Bon en fait c'est un peu de la triche car là l'école impose aux étudiants de faire du multi-plateforme, y compris Windows. J'ai rencontré plusieurs projets qui avait fait le choix de faire du Windows Universal (https://msdn.microsoft.com/en-us/windows/uwp/get-started/universal-application-platform-guide) pour fonctionner à la fois sur Windows 10 et Windows 10 Mobile, sinon ils font du classique (et périmé) développement Windows Phone.

 

A noter que je rencontre beaucoup de développeurs "Fullstack", c’est-à-dire capable de travailler sur toutes les couches. Par contre, les développeurs mobiles sont généralement spécialisés: ceux qui font de l'Android ne font pas de l'iOS et réciproquement. Question de religion probablement :-)

 

Les autres outils

Pour ce qui est de la gestion de source, même si l'école utilise encore SVN, c'est clairement Git qui fait l'unanimité. Les projets des étudiants sont donc hébergés sur une des plateformes principales:

Github (https://github.com/) qui propose un  abonnement "Pro" gratuit pour les étudiants, Gitlab (https://gitlab.com/) ou Bitbucket (https://bitbucket.org/). Les étudiants maîtrisent généralement assez bien la gestion des branches dans Git.

Quels langages pour développer demain ?

L'école sensibilise les étudiants au développement agile et à l'intégration continue. Les projets intègrent donc presque systématiquement des tests unitaires, notamment avec Mocha (http://mochajs.org/) pour node.js. On trouve également sur certains projets des vraies plateforme d'intégration continue comme Jenkins (https://jenkins.io/).

 

Pour la documentation des APIs, qui est également imposée, les étudiants utilisent des plateformes de génération automatique à partir des commentaires dans le code: principalement APIDoc (http://apidocjs.com/) ou Swagger (http://swagger.io/).

 

Pour ce qui est de la communication au sein du projet Slack (https://slack.com/) est utilisé par tous. Pour l'organisation des tâches, on retrouve également souvent Trello (https://trello.com/).

 

 

Conclusion

Le titre de ce billet est volontairement provocant: l'ensemble des technologies décrites ici ne sont pas nécessairement celles que l'on retrouvera demain dans toutes les entreprises. Elles sont pour beaucoup très récentes, ne sont pas toujours matures, et certaines disparaîtront peut-être sans jamais arriver à maturité !

Il n'empêche que ces technologies sont portées par de nombreuses startups et qu'elles disposent d'un véritable écosystème. Il est donc important, même dans une entreprise avec un SI qui a quelques années, de s'y intéresser si ce n'est pas déjà le cas. D'autant que les étudiants que je côtoie, qui sont vos futurs collaborateurs, vous en parlerons surement lors de leur entretien de recrutement et que votre réponse sera déterminante pour leur choix :-)

Lire la suite

10 minutes pour briller et parler digital en soirée

23 Décembre 2016 , Rédigé par Lionel Publié dans #Overblog

Lors de la Journée de la Transformation Numérique de Bouygues le 18 novembre dernier, j'ai donné une conférence intitulée "10 minutes pour briller et parler digital en soirée".

Derrière ce titre volontairement racoleur c'est l'occasion pour moi d'expliquer, dans un langage accessible à tous, tout le bien que je pense du développement et des développeurs. J'espère que ça vous inspirera. Si c'est le cas n'hésitez pas à partager.

Retrouvez également l'ambiance de cette très intéressante journée dans cette vidéo.

Lire la suite

A la découverte des Hololens: réalité augmentée et 3D

22 Novembre 2016 , Rédigé par Lionel Publié dans #Microsoft, #Overblog

Les Hololens sont les fameuses lunettes de réalité augmentée de Microsoft. Elles sont arrivées depuis quelques semaines à l'EPITECH, j'ai donc eu l'opportunité au Spot Bouygues de les manipuler et de commencer à travailler avec des étudiants sur plusieurs prototypes. Je vous invite dans cet article à une plongée à la découverte de cet OVNI de l'informatique.

Les Hololens se présentent comme un casque qui enserre la tête de l'utilisateur et place des écrans en forme de lunette devant ses yeux. Il est très important pour vivre au mieux l'expérience de positionner et de serrer le casque pour que le champ de vision soit optimal. Une molette et un bandeau permettent assez facilement de le faire mais quand on essai le matériel vite fait sur un salon, ce n'est pas toujours possible et j'ai reçu plusieurs personnes m'ayant dit "j'ai testé les Hololens, c'est nul" qui ont changé d'avis après les avoir essayées correctement au Spot.

Le casque Hololens

Le casque Hololens

Concrètement ce casque est en fait un véritable PC qui fonctionne sur un espèce de Windows 10. A la différence des dispositifs de réalité virtuelle type Oculus Rift ou HTC Vive, il est donc autonome: on ne traine pas une armée de fils derrière soi. La batterie est tout à fait correcte, le casque se recharge en USB et tient plusieurs heures. Enfin, il faut noter que l'Hololens est très cher (3000€) mais il ne faut pas le considérer aujourd'hui comme un outil grand public mais plutôt comme un outil pour explorer de nouvelles formes d'interaction.

 

Quelles fonctionnalités ?

 

Les Hololens sont des lunettes de réalité augmentée. De manière plus précise, les Hololens ont quatre fonctionnalités principales:

 

Afficher une scène 3D en réalité augmentée: c’est-à-dire projeter dans votre champ de vision, en surimpression par rapport à ce que vous voyez, des objets en 3D. Concrètement les lunettes ont des écrans transparents: lorsque le casque affiche quelque chose vous le voyez donc dans votre champ de vision en plus de la réalité que vous voyez par transparence. C'est très différent de la réalité virtuelle qui réinvente un monde virtuel dans un casque fermé.

 

Possibilité d'évoluer dans l'espace autour de la scène 3D: Grâce à différents capteurs intégrés dans le casque, les Hololens peuvent déterminer les mouvements de la tête que vous réalisez et modifier en temps réel la vue de la scène 3D par rapport à votre champ de vision actuel. Vous pouvez ainsi, par exemple, avoir l'impression de tourner autour des objets.

 

Possibilité de manipuler la scène 3D: lorsque vos mains sont dans votre champs de vision, les Hololens peuvent comprendre certains gestes que vous réalisez et faire réagir les objets 3D de la scène en fonction de ces gestes.

 

Voici une vidéo qui résume ces 3 fonctionnalités.

Comprendre la forme de l'espace autour de vous: Autre fonctionnalité importante, les Hololens embarquent des capteurs du type de ceux de la Kinect et peuvent donc comprendre les objets qui sont autour: sol, murs, table, ... Il est ainsi possible d'intégrer complètement la scène 3D dans son environnement.  C'était le cas dans la vidéo précédente avec le chien posé sur un meuble et les lettres plaquées au mur. La vidéo suivante montre une interaction plus amusante dans le jeu Roboraid où les Aliens sortent littéralement du mur !

Comment faire des choses avec ?

 

Les Hololens sont livrées avec un Kit de Développement s'appuyant sur la technologie Unity. L'outil n'est d'ailleurs par une nouveauté pour les spécialistes de la réalité virtuelle car il permet également de produire des applications pour l'Oculus Rift ou pour le HTC Vive.

 

Concrètement, Unity propose un environnement de développement 3D qui vous permet de dessiner/d'importer des formes 3D dans une scène, d'y ajouter des comportements en .NET et de générer cette scène en tant qu'application pour les Hololens.

Développement Hololens dans l'outil Unity

Développement Hololens dans l'outil Unity

L'API Hololens vous permet également de récupérer dans votre scène les informations de contexte fournies par les capteurs du casque: vous avez ainsi la possibilité de récupérer dans votre application l'ensemble du champ de vision sous forme de polygones ou sous forme d'objets reconstitués par l'API (sol, murs, tables, …).  La vidéo ci-dessous vous montre par exemple les polygones que "voit" les Hololens par rapport à la réalité et qui peuvent être exploitées par les applications.

Pour quoi faire ?

 

Les scénarios d'usage sont innombrables: que ce soit pour la formation, le support, la construction, le design …  En fait partout où l'intégration d'un objet 3D dans la réalité a un sens, les Hololens peuvent être pertinentes.

Les gens sont néanmoins souvent désemparés à l'idée de concevoir une application pour les Hololens: l'ajout de la 3ème dimension peut en effet être déroutante. Pourtant les questions à se poser sont les mêmes que lorsqu'on veut développer - par exemple - un site web:

  • Quels contenus je veux présenter ?
  • D'où proviennent ces contenus ? Est-ce qu'ils sont statiques (des objets 3D dont je dispose) ? Est-ce qu'ils sont dynamiques et dans ce cas où vais-je les récupérer ou comment vais-je les générer ?
  • Quel interactions peut-il y avoir avec ces objets ? Par défaut les Hololens permettent de  tourner autour mais puis-je interagir avec eux ? Si oui avec quels gestes ? Que provoqueront les interactions: l'affichage de nouveaux contenux ? Le changement (taille, propriété) du contenu existant ?

Une fois la réponse à ces questions posées, ce n'est plus qu'une affaire de développement, plus ou moins complexe selon les interactions à réaliser.

 

Au final

 

Les Hololens sont un outil formidables, de toutes les lunettes de réalité augmentée que j'ai pu tester (Google Glass, Optinvent, Metaglass, …) c'est sans aucun doute le matériel le plus abouti aujourd'hui. Elles proposent une expérience unique et  permettent de se projeter dans un avenir où l'interaction 3D serait la norme. C'est en tout cas l'avis de Microsoft dont la prochaine version de Windows intégrera la 3D partout (Paint, Office).

 

Alors, et si vous tentiez l'expérience Microsoft Hololens vous aussi ?

Lire la suite

I'm back: Twist and shout

25 Août 2016 , Rédigé par Lionel Publié dans #Overblog

Amis follower, vous l'avez probablement remarqué ma veille s'est considérablement réduite depuis quelques semaines. Et ce n'est pas (simplement) parce que c'était les vacances :-)

En fait, suite à mon passage au Mac, l'outil maison que j'utilise pour partager ma veille - Twist - est devenu inutilisable car il s'agissait d'un programme Windows (écrit en .NET pour être précis).

J'ai donc consacré pas mal de temps ces dernières semaines à le réécrire pour qu'il soit utilisable sur Mac. J'en ai profité pour lui adjoindre plein de fonctionnalités, à le rendre multiplateforme, multiutilisateur, cloud ready, ... bref, à le remettre au goût du jour. Cerise sur le gâteau il est désormais Open Source, vous pourrez donc suivre son évolution ici. Je ferai également un post dans quelques semaines pour vous raconter mon expérience sur ce premier vrai développement sur mon Mac.

Bon l'outil n'est encore qu'une version limitée (tout juste utilisable par moi :-) et vous constaterez donc probablement quelques erreurs dans mes publications mais en tout cas je suis de retour et vous allez être à nouveau pollué par ma veille sur tous les réseaux sociaux !

Chouette.

Lire la suite

Ma transformation numérique à moi, épisode 3

2 Août 2016 , Rédigé par Lionel Publié dans #Overblog

Troisième épisode de ma transformation numérique à moi et de mon passage au Mac. Après les difficultés du précédent épisode, il est temps d'apprivoiser la bête.

 

Les règles de la transformation

En me lançant dans ma transformation je me suis fixé quelques règles implicites que j'aimerai vous faire partager:

  • Pas de retour arrière. Je ne suis pas en train d'expérimenter le passage de PC à Mac. Je le fais vraiment. Je ne reviendrai pas sur PC si je ne suis pas satisfait. Ça change beaucoup de chose dans mon état d'esprit et dans mes actions, je me met en danger et je n'ai pas le choix. Il FAUT que je trouve des solutions pour éviter de vivre avec les problèmes que j'ai découvert. C'est cette angoisse qui me fait avancer aussi.
  • Pas de Window sur Mac. Dans l'absolu, je pourrais résoudre mes problèmes en installant une machine virtuelle Windows sur mon Mac. Je pourrais ainsi utiliser sur Mac les outils dont j'avais l'habitude sur  PC. Je retrouverai comme cela les fonctionnalités Outlook 2016 qui me manquent tant. Mais évidemment ça n'aurait aucun sens pour mon expérience et surtout ça ajouterai une contrainte supplémentaire (la machine virtuelle à démarrer) pour faire la même chose que je faisais avant. Il faut aussi savoir abandonner le passé.
  • Des fonctionnalités en plus. Je ne vais pas changer de solution pour avoir moins qu'avant. Sinon pourquoi changer ? Dans mes recherches je veillerai à chaque fois à ce que les outils que je choisirai soient plus efficaces ou plus riches que ceux que j'utilisais jusqu'à présent. C'est à ce prix uniquement que ma transformation sera réussie.

 

Il y a des logiciels sur Mac !

Armé de ces règles me voici donc lancé dans le changement de mes outils.

 

Et évidemment le premier outil à changer est ma gestion des tâches. C'est même la première tâche à faire (!) tant cela impacte mon quotidien. A dire vrai, je n'ai pas de mal à trouver des outils pour gérer ses tâches, il en existe une quantité impressionnante sur Internet et sur le Store. Après quelques essais, mon choix se porte sur todoist. Comme beaucoup il s'agit d'un outil cloud, il est donc accessible sur de nombreux supports (web, mobile, Windows et Mac). Son intégration au Mac est très bien faite. Il se place sur le dock et indique le nombre de tâches à faire dans la journée. Il est également présent sur la barre en haut où il est facile en 1 clic / 1 raccourci de créer une nouvelle tâche. Amusant: il vous félicite lorsque vous avez terminé toutes vos tâches et évalue votre nombre de "points de Karma" qui vous emmène vers le zen et la tranquillité.

 

L'outil est en freemium. La version payante permet d'intégrer des notes ou fichiers dans les tâches, d'avoir un archivage et des statistiques plus poussées sur son activité. Je n'en ai pas le besoin mais à 30€ par an, ça reste un investissement intéressant.  J'adopte assez rapidement todoist. Son gros avantage par rapport à la gestion des tâches Outlook est le multi-plateforme. Cela lui permet d'être très présent dans votre environnement: sur le bureau Mac, sous forme de notification sur le téléphone et il vous envoie même un mail récapitulatif en début de journée. Et son côté un peu ludique avec les félicitations et les points de karma est agréable. Évidemment la migration de Outlook vers todoist est "manuelle": il faut reporter ses tâches dans l'outil mais cela ne pose pas de problème (une quinzaine de tâches à reporter dans mon cas). Amusant: il existe un plugin permettant d'intégrer todoist dans Outlook mais… sur PC uniquement :-)

 

Autre point sensible pour moi la gestion de mes flux RSS et de la veille technologique que je pratique. Là non plus les outils ne manquent pas sur le web. Mais je souhaite vraiment un outil qui me permette de traiter les flux à mon rythme tout en étant lui aussi suffisamment présent dans mon environnement pour m'inciter facilement à m'informer. C'était l'avantage de recevoir les news dans Outlook. Après quelques essais j'opte pour l'outil feedly. C'est encore un outil cloud et il est lui aussi multi-plateforme notamment parce qu'il dispose d'une API ouverte. Il n'y a donc pas un seul device où vous ne pourrez pas le trouver : il est même disponible sur Blackberry, webOS et Firefox OS !

 

Comme c'est le cas pour ce genre d'outil, son interface propose d'organiser ses flux par thème et affiche une vue synthétique qui permet de parcourir les news de manière agréable. On peut cliquer dessus pour avoir le détail ce qui ouvre la news dans une nouvelle fenêtre et affiche le contenu total s'il est présent dans le flux (ce qui est de moins en moins le cas pour des raisons publicitaires). Mais il permet aussi d'ouvrir le navigateur pour voir le contenu sur le site. On peut marquer les articles comme lus au fur et à mesure, ils disparaissent alors du flux, ou les enregistrer pour les lire plus tard.

L'intégration sur Mac et intelligente puisqu'une fois de plus l'application s'affiche dans le dock avec le nombre d'articles à lire.

 

Mails, ToDo et Flux : tout ce qu'il y a à traiter et ici

Comme le montre la capture d'écran ci-dessus, je me retrouve ainsi sur mon bureau avec un vrai tableau de bord de mes choses à traiter: mails, todo et flux. Très efficace.

Avantage par rapport à Outlook, je peux facilement faire ma veille en mobilité, l'application Android étant tout à fait fonctionnelle. Autre bonus: feedly étant un outil cloud, il suggère de nouveaux contenus en rapport avec ceux que vous consultez en se basant sur cela sur les autres utilisateurs de l'outil. C'est souvent pertinent.

La migration depuis Outlook est assez facile car il est possible d'exporter tous les flux RSS enregistrés dans Outlook sous forme de fichier "OPML" qui est importable dans feedly. En quelques minutes, l'outil est donc complétement opérationnel dans mon cas.

 

Je procède de la même manière pour changer mes autres outils, je le fais au fur et à mesure, un outil à la fois en essayant différentes solutions. Ça prend du temps mais je suis surpris de constater une chose: "il y a des logiciels sur Mac !". Moi qui naïvement en vieil utilisateur de PC pensais que ce serait difficile, je n'ai aucun mal à trouver des outils équivalents à ceux à ce que j'utilisais: tout existe sur Mac.

Je ne vais pas détailler tous mes choix mais pour vous donner une idée, voici ce que donne ma barre d'outils sur Mac par rapport à celle que j'avais sur PC.

 

Avant: Windows 10

Après: Mac OS

 

On remarquera qu'il n'y a presque aucun outil Apple: pour une raison simple, ils ne sont généralement pas portables et non je ne veux pas changer mon Android contre un iPhone :-) J'essaye aussi, chaque fois que c'est pertinent, d'utiliser plutôt des solutions Open Source.

 

 

Un bureau, plusieurs bureaux, aucun bureau

Mise à part la partie logiciel, j'arrive maintenant de mieux en mieux à "dompter" mon touchpad. Je le trouve même d'une redoutable efficacité lorsqu'il s'agit de changer de "bureau". En effet, comme c'est le cas depuis peu sous Windows 10, il est possible d'organiser sous MacOS ses fenêtres dans différents "bureaux virtuels" qui sont autant d'espace de travail spécifique. J'étais sceptique sur cette fonctionnalité que n'ai jamais utilisé dans d'autres environnements mais elle très utile associée au touchpad et au défilement à trois doigts qui permet en un instant de zapper d'un bureau à un autre ou de réorganiser les fenêtres de son bureau.

 

 

En gros on peut laisser toutes les fenêtres ouvertes dans tous ces logiciels tout en restant productif !

 

Au fur et à mesure que j'utilise mon Mac je suis aussi surpris d'une chose: je n'ai plus de fil à la patte… Je m'explique: avant mon bureau ressemblait à ça:

Avant mon bureau c'était là…

 

Certes j'avais un PC portable mais je devais y ajouter pour travailler de manière confortable, un écran externe, un clavier, une souris, une encombrante "dock station" pour brancher tout ça et accéder au réseau, etc, …

Aujourd'hui j'ai un écran fantastique, un clavier très efficace, un touchpad plus efficace qu'une souris et l'absence de câble réseau, que je trouvais surprenante dans mon précédent billet, me parait un vrai avantage: le WiFi est largement suffisant.

 

Du coup je me rends compte que je n'ai plus besoin de bureau et que partout cela peut être mon bureau ! On parle beaucoup aujourd'hui de tiers lieux et d'aménagements de bureaux pour que chacun puisse s'installer où il veut: encore faut-il qu'on n'est pas à trainer avec soi tous ces accessoires de branchement !

 

…maintenant mon bureau c'est partout !

 

Ravi de cette découverte, je m'achète un sac à doc, j'y glisse mon nouveau bureau et je pars pour de nouvelles explorations. Vous venez ?

Lire la suite

Ma transformation numérique à moi, épisode 2

25 Juillet 2016 , Rédigé par Lionel Publié dans #Overblog

Après un premier billet d'introduction, nous voici concrètement maintenant dans mes aventures du passage de PC vers Mac, ma transformation digitale à moi. Et ce n'est pas simple !

 

Quelle belle machine

La machine est là. Voilà plusieurs jours que je l'attendais avec un peu d'anxiété.

J'ai bénéficié d'une expérimentation CYOD proposée par C2S: le collaborateur peut choisir la machine qu'il veut en ajoutant un peu d'argent de sa poche. J'ai choisi un MacBook Pro 15". Je voulais un grand écran et il me fallait la puissance d'un Core I7. Le choix s'imposait donc. Laurent me conseille d'y ajouter une souris Magic Mouse, ce que je fais.

Mon premier geste est de prendre une photo et de la twitter (on ne se refait pas :-).

Puis c'est le déballage: la machine est très belle. Très fine, très légère, un très large touchpad et un clavier qui semble agréable.

Mon premier geste est de cacher la machine dans une coque de protection noire et d'y coller un écran du Spot. Du coup… on ne dirait plus un Mac et plusieurs personnes me demande même si je suis passé sur HP :-) En fait je dois reconnaître que j'ai été parfois gêné en réunion par les gens qui s'affichaient un peu trop comme Mac addict avec cette pomme lumineuse au milieu de leur écran. Je ne veux pas en faire partie.

 

Allumage de la machine: l'écran est magnifique, d'une luminosité et d'une clarté étonnante. A la place mon écran externe fait pâle figure. Le démarrage est instantané, on se croirait sur une tablet !

Détail amusant, la petite LED sur le câble du chargeur qui passe de rouge à vert pour indiquer quand l'ordinateur est chargé sans avoir besoin de le mettre sous tension.

 

Bon par contre c'est MacOS qui se lance au démarrage, le défi commence maintenant.

 

Retrouver ses repères…

Après quelques écrans d'introduction (langue, fuseaux horaires,  réseau,…) et la saisie de 3 comptes différents: Apple Store, iCloud et compte utilisateur, me voici face au bureau MacOS.

 

La première chose que je fais est d'installer Office 2016 histoire de retrouver mes repères. L'opération se fait facilement. La configuration de mon compte Office 365 se passe sans encombre et me voilà sous Outlook. Je retrouve un peu mes repères en même temps que l'accès à Outlook et à ma messagerie.

Ouf, Office est bien là sur Mac

 

One Note est également important pour moi mais avant il faut récupérer tous mes documents et mes blocs notes du PC. Une copie de mon disque PC (environ 300Go quand même) s'impose.

Le Mac n'a pas de câble réseau. Je commence la copie en WiFi en partageant le disque de mon PC mais je trouve ça long. Je décide de passer en Ethernet directement entre le PC et le Mac pour aller à 100Gb/s. Il faut un câble spécial pour connecter le Mac en Ethernet (voir photo ci-dessous) et je perds un peu de temps à faire la config (IP fixe, connexion, …) côté PC puis côté Mac (c'est nouveau pour moi). Enfin la copie se lance, il me faudra une bonne soirée pour en venir à bout.

Passage au câble, le temps du transfert

 

Je retrouve enfin tous mes documents. Les documents Word, Excel, PowerPoint  et PDF s'ouvrent sans difficulté. J'essaye d'ouvrir mes blocs notes One Note et… ça ne marche pas. Sur Office 2016 Mac, on ne peut pas ouvrir de bloc notes Windows, il faut passer par le cloud. Grrrr ! Bon je synchronise donc mes blocs notes dans One Drive Entreprise et, après un temps de synchronisation qui me semble long (parce qu'il n'y a pas d'avancement !) je retrouve enfin mes bloc notes One Note. Tous les raccourcis claviers ont changé: comment faire des puces ? Comment mettre des marques ? … mais je m'y retrouve à peu prêt dans la navigation de mes blocs-notes, pages et sections.

 

… ou perdre ses repères

Côté Outlook, par contre je déchante un peu. Deux fonctionnalités majeures pour moi manquent à l'appel de la version Mac: les tâches et les flux RSS.

 

 

La gestion des tâches: Outlook était jusqu'à présent le centre névralgique pour gérer mon activité quotidienne. La fonctionnalité est toujours présente sur Mac mais hélas elle est loin de me donner satisfaction. Premier problème: le volet qui affichait en permanence les tâches à réaliser dans Outlook n'existe pas dans Office 2016 Mac. J'essai de jouer avec la vue Tâches mais aucune vue ne me satisfait et cela force à repasser régulièrement sur la vue tâches alors que mon objectif est d'avoir en permanence sous les yeux ma TODO list. Deuxième problème, Outlook PC propose simplement de marquer un mail en tant que tâche. Cela permet de gérer ses mails à traiter comme des actions dans sa TODO. C'était pratique mais ce n'est pas le cas dans Outlook Mac. Un flag apparaît bien dans la boite de réception mais il n'est visible qu'à cet endroit là. Pas très utile.

 

La gestion des flux RSS est également très importante pour moi. Une de mes activités consiste à faire de la veille et comme je l'expliquais dans un de mes précédents articles de blog (voir ici), j'utilise Outlook pour recevoir les mises à jour des sites sur lequel je fais de la veille sous forme de flux RSS. Ainsi, les messages et les flux se mélangent au même endroit ce qui en facilitait le traitement. Sur Outlook Mac, la fonctionnalité RSS… n'existe pas. Mes dossiers et flux RSS ont bien été migrés mais ils ne se mettent simplement pas à jour. En expertisant je constate qu'ils se mettent à jour sur le serveur Office 365 mais que le client Outlook Mac n'implémente pas cette fonctionnalité. Oooch.

 

Au bout d'une journée intensive sur le clavier et le touchpad du Mac, je souffre également un peu.

Les touches du clavier ne sont pas au même endroit que sur PC, certaines sont mystérieuses pour moi (où sont le symbole €, les accolades, les crochets, le backslash ?) et les raccourcis claviers sont entièrement à réapprendre (faire une capture d'écran, créer un nouveau dossier, aller au début de la ligne, supprimer un caractère …). Je perd un temps considérable à chaque fois à chercher de l'aide sur Internet pour un simple raccourci qui doit me faire gagner du temps.

Je me force aussi à utiliser le touchpad (pour vivre pleinement l'expérience !) et c'est compliqué. J'ai toujours eut besoin d'une souris sur PC et je n'arrive pas à être efficace avec le touchpad. En plus il n'y a pas de bouton et il faut comprendre l'utilisation subtile de 1 doigt, 2 doigts (bouton droit) ou même 3 doigts sur le touchpad. Je dois dire que je m'y perd complètement et mon efficacité s'en ressent.

 

Il faut se réinventer

 

Bref, mes premiers jours sont très difficiles, je n'arrive plus à gérer mes tâches, mon efficacité au clavier et à la souris sont catastrophiques et mes outils de base n'existent plus. Je suis très désorienté. Quand quelqu'un me demande comment ça se passe ma migration vers Mac je répond poliment que "la machine est magnifique mais qu'il faut que je retrouve mes repères" mais en fait je nage…

 

Je suis optimiste car dans tout changement il y a nécessairement une période d'apprentissage et je me dis que je suis dans le creux de la courbe… au point [1] sur la courbe ci-dessous.

 

Suivez-moi dans l'ascension à venir !

Lire la suite

Ma transformation numérique à moi, épisode 1

13 Juillet 2016 , Rédigé par Lionel Publié dans #Overblog

 

Changer son outil de travail quotidien n'est pas chose aisée. C'est pourtant le choix que j'ai fait. Par nécessité mais peut-être aussi un peu pour bousculer mes habitudes... Et j'ai décidé de partager mon expérience du changement !

 

Et oui après de nombreuses années sur PC à décortiquer les entrailles de toutes les versions de Windows (notamment ici dans ce blog: Windows 7, Windows 8 et Windows 10), ma prochaine machine sera un Mac.

Forcément, j'ai envie de vous raconter cette nouvelle aventure et vous faire vivre avec moi les surprises, les déceptions, les craintes qu'il y a derrière ce choix qui parait déjà à certains d'entre vous étonnant tant il m'est arrivé de "troller" sur Apple.

Alors pour lancer cette nouvelle série d'article "vie ma vie", commençons par le début: pourquoi ?

Trouver l'OS adapté à mon (mes) usages

Précisons tout de suite que je ne suis pas du jour au lendemain devenu allergique à Windows. Même si j'en ai dit du mal à cause du marketing qui va autour, Windows 10 est un très bon système d'exploitation et ne me posait aucun problème majeur dans mon usage au quotidien ces derniers mois.

Pourtant en préparant le renouvellement de ma machine j'ai décidé de passer à… Linux.

C'est Linux qu'il vous faut

D'abord parce que je suis un développeur et que Linux est un environnement de choix pour les développeurs. La puissance de la ligne de commande shell, la multitude de scripts et d'outils disponibles permet une productivité qu'on ne retrouve pas sous Windows (sauf si on ne fait que du développement Windows bien sûr :-). Utiliser des machines virtuelles Linux sous Windows n'est évidemment pas une solution efficace.

Ensuite parce que outre mon travail chez Bouygues, je suis contributeur sur un projet Open Source, SugarLabs, et que de fait, Linux est pour moi plus en phase avec cette philosophie.

Enfin parce que dans le contexte où j'évolue depuis 2 ans, au Spot Bouygues, Linux est l'environnement de développement principal pour les projets des étudiants avec lesquels je travaille. Et pour intégrer ou déployer ces projets sur le cloud je dois jongler avec des outils (ssh, scp, git, …) du monde Linux dont l'intégration dans Windows est pour le moins imparfaite.

Linux est donc mon souhait, mais après une analyse rapide je constate rapidement que passer sous Linux est impossible pour moi :-(

Mis à part le développement, mes outils de travail du quotidien sont Outlook, One Note, PowerPoint, Excel, Lync, … Comment pourrais-je me passer de ces outils qui n'existent pas sur Linux ? Bien sûr il en existe des versions Web mais elles sont très limitées et les solutions alternatives utilisables sous Linux (Open Office, Google App) ne sont pas au même niveau de fonctionnalités et/ou me poseront des problèmes pour échanger avec mes interlocuteurs.

MacOS, Unix inside

En y réfléchissant et en échangeant autour de moi, je me rends compte que MacOS peut être une solution.

MacOS repose sur une base Unix mais l'ensemble de la suite Office en version 2016 est disponible sous MacOS. Et d'après les dires de mes collègues de C2S qui sont (déjà) sur Mac, elles sont tout à fait fonctionnelles.

Autre avantage de MacOS, c'est le SEUL environnement qui permet de développer des applications iOS: pas de Mac, pas d'application iOS, ils sont malins chez Apple ! Or, il m'arrive régulièrement de devoir recompiler des applications iOS et jusqu'à présent je le faisais via une machine virtuelle Mac sur PC et c'est un véritable cauchemar (et c'est illégal par ailleurs ;-).

De plus MacOS n'est pas uniquement intéressant pour développer des applications iOS, il est parfaitement utilisable pour développer des applications Android, ce qui est un besoin régulier pour moi également. Mieux: en visitant le siège de Google à Moutain View il y a 2 ans j'ai constaté qu'une large proportion d'employés de Google utilisaient des Mac, à tel point que toutes les salles de réunion sont équipés en standard de chargeurs Mac ! Pas de soucis de compatibilité à craindre donc entre les outils Google et le Mac.

Bref, MacOS est un bon compromis: un système Unix idéal pour développer sans abandonner le monde Office qui reste dans mon quotidien.

Changer pour se réinventer

Une autre raison profonde m'incite à passer au Mac: changer !

Se transformer veut dire bousculer ses habitudes, sa manière de travailler. Quoi de mieux pour cela que de changer radicalement d'outil ? Et quoi de mieux que changer son outil du quotidien, son PC ?

Sortir de sa zone de confort en oubliant les outils qu'on a apprivoisé depuis des années pour étudier, imaginer de nouvelles solutions pour faire la même chose ou pour faire différemment en prenant même le risque de faire mieux. Voilà, ce qui permet d'innover, et c'est bien de le vendre à nos clients mais ne faut-il pas commencer par soi-même ?

Ce pas vers l'inconnu est un peu risqué et je le fais de manière un peu fébrile mais c'est donc la certitude de découvrir de nouvelles choses et de se réinventer. Il n'y a donc pas à hésiter.

Accompagnez-moi sur le chemin dans le prochain épisode !

Lire la suite
1 2 3 4 5 > >>