tag:linuxfr.org,2005:/tags/atom_editeur/publicLinuxFr.org : les contenus étiquetés avec « atom_editeur »2015-09-17T06:52:05+02:00/favicon.pngtag:linuxfr.org,2005:News/366192015-08-19T14:13:25+02:002015-08-19T14:13:25+02:00IPython est mort, vive IPython 4.0Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<div><p>Pour ceux qui ne connaissent pas IPython et son historique, je vous propose de consulter les <a href="//linuxfr.org/news/sortie-d-ipython-en-version-3-0">dépêches précédentes</a>, car si à l'origine il s'agissait uniquement d'une console évoluée pour Python, l'envergure des possibilités a bien changé entre-temps. Cette nouvelle version revient doucement aux sources en diminuant considérablement les fonctionnalités présentes. </p>
<p>Il y a quelques mois, une description de ce que pouvait faire IPython aurait pris plusieurs heures d'explication sur le <code>notebook</code>, protocole de communication, <code>qtconsole</code>, etc. depuis cette nouvelle version IPython n'est plus qu'une console évoluée pour Python. On remarquera que c'est plus proche de la philosophie Unix : "Ne faire qu'une seule chose, et la faire bien". </p>
<p>Vu qu'il y a peu de nouvelles fonctionnalités dans cette nouvelle version, je ne vais pas m'attarder trop dessus. Et plutôt décrire les changements opérés. </p>
<p>Merci a emilien.schultz, Nÿco, palm123, zurvan, jcr83 et Snark pour avoir participé à la rédaction. </p></div><ul><li>lien nᵒ 1 : <a title="http://blog.jupyter.org/2015/08/12/first-release-of-jupyter/" hreflang="en" href="https://linuxfr.org/redirect/94730">Release of Jupyter 4.0</a></li><li>lien nᵒ 2 : <a title="https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/jupyter/Ia54LJqbGxE/VMyMSTGJCwAJ" hreflang="en" href="https://linuxfr.org/redirect/94731">Annonce sur la mailing list Jupyter</a></li><li>lien nᵒ 3 : <a title="https://linuxfr.org/news/sortie-d-ipython-en-version-3-0" hreflang="fr" href="https://linuxfr.org/redirect/94732">Sortie de IPython 3.0</a></li><li>lien nᵒ 4 : <a title="http://ipython.readthedocs.org/en/stable/whatsnew/version4.html" hreflang="en" href="https://linuxfr.org/redirect/94737">Notes de version</a></li><li>lien nᵒ 5 : <a title="https://atom.io/packages/hydrogen" hreflang="en" href="https://linuxfr.org/redirect/94738">Greffon Hydrogen (Jupyter pour Atom)</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li>
<a href="#changement-de-fonctionnalit%C3%A9s">Changement de fonctionnalités</a><ul>
<li><a href="#nouvelles-fonctionnalit%C3%A9s">Nouvelles fonctionnalités</a></li>
<li><a href="#fonctionnalit%C3%A9s-retir%C3%A9es">Fonctionnalités retirées</a></li>
</ul>
</li>
<li><a href="#la-grande-s%C3%A9paration">La Grande Séparation</a></li>
<li><a href="#l%C3%A9cosyst%C3%A8me">L'écosystème</a></li>
<li><a href="#la-suite">La suite</a></li>
</ul><p>Il est 19h00 sous le soleil de Californie, les étudiants sont partis de la Bibliothèque principale de Berkeley. Une partie de l'équipe de développement d'IPython est encore dans l'espace de travail commun pour peaufiner la première publication de Jupyter. Fernando Pérez, créateur d'IPython appuie sur la touche entrée du clavier de MinRK… Les lignes défilent… Quelques secondes plus tard, la fin d'une époque. Pour la première fois en 14 ans, IPython n'est plus un paquet unique, mais un ensemble de bibliothèques clairement identifiées. </p>
<h2 id="changement-de-fonctionnalités">Changement de fonctionnalités</h2>
<h3 id="nouvelles-fonctionnalités">Nouvelles fonctionnalités</h3>
<p>Aucune. Facile à retenir. En fait, pour être honnête, ce n'est pas totalement vrai, nous avons bien ajouté quelques améliorations mineures, mais rien qui vaille la peine d'être décrit ici. </p>
<h3 id="fonctionnalités-retirées">Fonctionnalités retirées</h3>
<p>Alors là, c'est l'hécatombe. Au revoir le <strong>Notebook</strong>, plus de <strong>Qtconsole</strong>, plus de conversion de <em>notebook</em> avec <strong>nbconvert</strong>, plus de <strong>calcul parallel</strong>, ni de <strong>widget</strong>. Le code source ne fait plus "que" 65k lignes de Python, 180k tous langages confondus, contre 146k et 340k pour la branche en maintenance 3.x.</p>
<h2 id="la-grande-séparation">La Grande Séparation</h2>
<p>Bien que beaucoup de fonctionnalités aient été retirées, vous pouvez toujours y avoir accès en installant les paquets correspondants. Pour ceux qui s'intéresseraient à la manière dont les différentes fonctionnalités ont été retirées de l'arbre principal, je vous conseille d'aller lire l'article sur "La Grande Séparation" (<a href="http://blog.jupyter.org/2015/04/15/the-big-split/">The big Split™</a>). Ceci nous a permis de découper le code en à peu près une dizaine de paquets différents regroupant chacun une fonctionnalité bien précise. En tant qu'utilisateur, vous ne devriez faire face qu'à un nombre limité de choix. </p>
<p>Si vous n'utilisez IPython qu'en ligne de commande, rien de changé pour vous, vous installez <code>ipython</code>. <br>
Si par contre vous étiez fan du <code>notebook</code>, maintenant vous voulez installer le méta-paquet Jupyter (<code>pip install jupyter</code>) qui devrait installer toutes les dépendances. Si vous désirez une installation sur mesure vous pouvez aller piocher les composants nécessaires parmi <code>notebook</code>, <code>qtconsole</code>, <code>nbconvert</code>, <code>console</code>, <code>ipyparallel</code>, etc. Les nouveaux composants gardent leur licence BSD et l'historique des modifications grâce à <code>git filter-branch</code>.</p>
<p>En pratique pour les développeurs et utilisateurs qui voudraient trifouiller le code, il y a potentiellement plusieurs dépôts git à cloner. D'un autre coté si vous n'êtes intéressé que par une sous-partie des composants, le code est bien plus petit.</p>
<p>Vous pouvez allez lire le court <a href="http://blog.jupyter.org/2015/08/12/first-release-of-jupyter/">post de blog</a> sur la nouvelle version 4.0 de Jupyter (on commence à 4.0 pour rester dans la continuité d'IPython). </p>
<h2 id="lécosystème">L'écosystème</h2>
<p>Comme souvent, le nombre de paquets et d'outils qui fonctionnent autour de Jupyter croît.</p>
<p>On notera en particulier que Atom (l'éditeur de texte de GitHub) s'est enrichi du greffon <a href="https://atom.io/packages/hydrogen">hydrogen</a>. L'auteur travaille actuellement avec nous pour améliorer la complétion dans le <code>notebook</code>. L'intégration de l'édition de <code>notebook</code> directement dans Atom est aussi <a href="https://github.com/jupyter/atom-notebook">en progression</a>. </p>
<p>Il y a quelques mois de cela, on a aussi eu le plaisir d'avoir le rendu des <code>notebooks</code> sur GitHub, vous pouvez en lire plus sur <a href="http://blog.jupyter.org/2015/05/07/rendering-notebooks-on-github/">le blog de Jupyter</a>. Ainsi que l'intégration du protocole pour exécuter du code sur la plateforme de publication d'Oreilly, qui transforme les balises "pre" d'une page <a href="https://beta.oreilly.com/learning/data-visualization-with-seaborn">en code exécutable</a> à l'aide d'un outil open-source nommé <a href="https://github.com/oreillymedia/thebe">thebe</a> (point de culture générale : il s'agit d'une des lunes de Jupiter).</p>
<p>Une autre information est à noter, qui pourrait sembler déplacée sur un site généralement critique envers une certaine entreprise de Redmond à l'origine d'un système d'exploitation connu, les interactions entre Jupyter et les équipes de Microsoft sont relativement bonnes. Vous pouvez d'ailleurs utiliser les <code>notebooks</code> sur <a href="https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-python-ipython-notebook/">Microsoft Azure</a>. </p>
<p>Big Blue (ou IBM pour les bébés moules de LinuxFr.org), a aussi une intégration poussée des <code>notebooks</code>, dans ses <a href="https://knowledgeanyhow.org/">différentes platformes</a>. On remerciera en particulier les chercheurs en sécurité d'IBM pour la divulgation responsable de failles de sécurités avérées sur la liste de diffusion dédiée à la sécurité. </p>
<p>Kyle travaille toujours à Rackspace et passe une grande partie de son temps, avec l'autorisation de son employeur, sur <a href="https://github.com/nteract">de trop nombreux projets liés à Jupyter</a>.</p>
<h2 id="la-suite">La suite</h2>
<p>Maintenant plus que jamais est le moment de contribuer ! Chaque sous-projet est maintenant à taille humaine (et a été conçu pour l'être), et les publications ne sont plus synchronisées entre elles pour permettre plus de souplesse et des rythmes différents. Avec votre aide, il est envisageable d'avoir une nouvelle version du <code>notebook</code> au fil des mois, plutôt que des intervalles d'un an ! Par ailleurs, la taille de chaque projet diminuant, il va être plus facile d'obtenir les droits de commits, et de faire des choix d'implémentation sans se frotter à 10 autres développeurs qui ont un avis sans pour autant avoir jamais touché une ligne de ce sous-projet.</p>
<p>Avec le <a href="http://blog.jupyter.org/2015/07/07/jupyter-funding-2015/">récent financement</a>, les personnes travaillant sur Jupyter/IPython vont pouvoir garder leurs postes, mais des nouvelles positions s'ouvrent. On collabore aussi avec le projet <a href="http://opendreamkit.org/">OpenDreamKit</a> qui devrais aussi recruter en Europe, afin d'intégrer IPython plus en profondeur avec <a href="http://www.sagemath.org/">SageMath</a>. Je vous laisse allez chercher les offres de poste, ce n'est pas tous les jours qu'on peu trouver des offres d'emplois pour travailler à plein temps sur de l'Open Source. On notera aussi que deux développeurs de Berkeley (re)viennent travailler en Europe (Royaume-Uni, et Norvège) pour augmenter la présence européenne. </p>
<p>Au cours des trois prochaines années le financement du projet inclut des personnes dédiées pour écrire la documentation, ainsi que des fonds pour un designer et un développeur web. On va donc peut-être enfin avoir une documentation digne de ce nom et pas trop moche. </p>
<p>Le financement du projet prévoit aussi de faire une conférence sur quelques jours, pour regrouper la majorité des développeurs qui travaillent sur des projets en relation avec l'architecture de Jupyter. En attendant, cherchez les développeurs au conférence, j'ai entendu dire que maintenant ils avaient des autocollants Jupyter et des t-shirts à distribuer. </p>
<p>Sinon le développement a déjà repris de plus belle, avec addition de fonctionnalités au <code>notebook</code> en cours (Rechercher, remplacer, sélection multiple, collaboration temps réel), et intégration des sous-projets comme <code>traitlets</code> avec <code>matplotlib</code>.</p>
<p>Merci à vous, on attend vos contributions et commentaires avec impatience ! </p></div><div><a href="https://linuxfr.org/news/ipython-est-mort-vive-ipython-4-0.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/106446/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/ipython-est-mort-vive-ipython-4-0#comments">ouvrir dans le navigateur</a>
</p>
mbussonnpalm123emilien.schultzBenoît SibaudNÿcoZeroHeurezurvanSnarkjcr83https://linuxfr.org/nodes/106446/comments.atomtag:linuxfr.org,2005:News/365892015-08-17T09:05:25+02:002015-08-17T12:25:54+02:00Atom 1.0.x : l'autre éditeur de codeLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<div><p>Profitons de la torpeur estivale pour présenter Atom, un éditeur de code source multi plates-formes développé par GitHub et que nous n'avons pas encore eu l'occasion de présenter ici même. Depuis plus d'un an en version bêta, il s'est vu gratifier il y a quelques semaines du numéro de version symbolique 1.0 par son éditeur (il est actuellement en 1.0.7).</p>
<p><abbr title="Note des modérateurs">NdM</abbr> : ce logiciel Atom ne doit pas être confondu avec le format ouvert de syndication <a href="https://fr.wikipedia.org/wiki/Atom">Atom</a>, utilisé par LinuxFr.org par exemple.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f61746f6d2f73657474696e67732d766965772f393064373563306263373633663965393964623364653537333365623134616465333665646531392f696d616765732f61746f6d2e706e67/atom.png" alt="Atom" title="Source : https://raw.githubusercontent.com/atom/settings-view/90d75c0bc763f9e99db3de5733eb14ade36ede19/images/atom.png"><br>
Écrit en <a href="https://fr.wikipedia.org/wiki/CoffeeScript" title="Définition Wikipédia">CoffeeScript</a> sur la base de <a href="https://fr.wikipedia.org/wiki/Chromium" title="Définition Wikipédia">Chromium</a>, il se repose sur un mécanisme d'extensions en Javascript sur la base de <a href="https://fr.wikipedia.org/wiki/Node.js" title="Définition Wikipédia">Node.js</a> pour les fonctionnalités et de personnalisation par thèmes. Tout comme pour Vim ou Emacs, vous pouvez le transformer en un environnement de développement intégré (IDE) très puissant et unique taillé pour votre usage. Partagez-les en commentaires.</p></div><ul><li>lien nᵒ 1 : <a title="http://blog.atom.io/2015/06/25/atom-1-0.html" hreflang="en" href="https://linuxfr.org/redirect/94622">Annonce d'Atom 1.0 (Ne manquez pas la vidéo, elle mérite le détour)</a></li><li>lien nᵒ 2 : <a title="https://atom.io/" hreflang="en" href="https://linuxfr.org/redirect/94623">Site web d'Atom</a></li><li>lien nᵒ 3 : <a title="http://www.wired.com/2015/06/github-atoms-code-editor-nerds-take-universe/" hreflang="en" href="https://linuxfr.org/redirect/94624">Wired : GitHub Atom’s Code-Editor Nerds Take Over Their Universe</a></li><li>lien nᵒ 4 : <a title="https://atom.io/faq" hreflang="en" href="https://linuxfr.org/redirect/94755">FAQ d'Atom</a></li><li>lien nᵒ 5 : <a title="https://atom.io/docs" hreflang="en" href="https://linuxfr.org/redirect/94756">Documentation complète d'Atom</a></li><li>lien nᵒ 6 : <a title="https://github.com/atom/atom" hreflang="en" href="https://linuxfr.org/redirect/94757">Code source d'Atom</a></li></ul><div><p><img src="//img.linuxfr.org/img/687474703a2f2f7069782e746f696c652d6c696272652e6f72672f75706c6f61642f6f726967696e616c2f313433393735353734332e706e67/1439755743.png" alt="" title="Source : http://pix.toile-libre.org/upload/original/1439755743.png"></p>
<h2 id="rapide-description">Rapide description</h2>
<p>Comme précisé sur le site web, Atom :</p>
<ul>
<li>est multi-plateforme (Linux, Mac OS X et Windows) ;</li>
<li>propose un gestionnaire de paquets et de thèmes ;</li>
<li>est un logiciel libre : le cœur Atom et les nombreux paquets de base fournis par GitHub sont sous licence MIT ;</li>
<li>propose une auto-complétion relativement bien faite ;</li>
<li>a une interface avec onglets et de multiples panneaux ;</li>
<li>sait gérer l'ensemble des fichiers d'un projet, avec une vue arborescente façon Eclipse par exemple ;</li>
<li>a une interface de base épurée et fonctionne principalement à base de commandes clavier. Si vous n'en avez qu'une à retenir, c'est [Ctrl]+[Shift]+[P] qui affiche le sélecteur de commandes ;</li>
<li>est écrit entièrement avec des technologies web récentes : HTML, Javascript/CoffeeScript, CSS, Node.js, etc.</li>
<li>s'interface naturellement et par défaut avec git, on peut s'en douter.</li>
</ul><p>L'écran de bienvenue vous permet de démarrer assez rapidement et vous informe aussi explicitement que l'outil collecte quelques <a href="https://github.com/atom/metrics">statistiques</a> anonymes (hum, hum…) que vous pouvez très vite <a href="https://github.com/atom/metrics">désactiver en retirant le paquet <code>metrics</code></a>.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f7069782e746f696c652d6c696272652e6f72672f75706c6f61642f6f726967696e616c2f313433393637363730372e706e67/1439676707.png" alt="image de bienvenue" title="Source : https://pix.toile-libre.org/upload/original/1439676707.png"></p>
<p>Le nombre d'<a href="https://atom.io/packages">extensions disponibles pour Atom</a> est déjà très important. Plus de 2 500 au moment de l'écriture de cette dépêche. Cela va de la mini-carte du code source à l'« embellisseur » de code en passant par des modes vim/emacs plus ou moins complets ou encore la désactivation de touches ou la gestion de la syntaxe Markdown. Pratique pour rédiger des dépêches sur LinuxFr.org !</p>
<p><img src="//img.linuxfr.org/img/687474703a2f2f7069782e746f696c652d6c696272652e6f72672f75706c6f61642f6f726967696e616c2f313433393735353633362e706e67/1439755636.png" alt="markdown dans Atom" title="Source : http://pix.toile-libre.org/upload/original/1439755636.png"></p>
<h2 id="petit-historique">Petit historique</h2>
<p>L'histoire, racontée <a href="http://www.wired.com/2015/06/github-atoms-code-editor-nerds-take-universe/">un peu</a> <a href="http://blog.atom.io/2015/06/25/atom-1-0.html">partout</a> veut que l'un des fondateurs de Github, Chris Wanstrath soit un grand fan d'Emacs, de son mécanisme d'extension et surtout de sa profonde « bidouillabilité ». Mais il était gêné par le fait qu'il faille utiliser Lisp (voire une version spéciale Emacs de Lisp) pour le hacker.</p>
<p>Il s'est donc lancé en 2008 dans le codage d'un éditeur avec le même niveau de bidouillabilité mais avec des technologies plus modernes, basées sur celles du web. Comme c'était un projet en marge de Github qui lui demandait beaucoup d'attention, il y allait <em>piano</em> en espérant qu'un éditeur moderne et répondant à ses attentes s'impose. Mais voyant que rien ne sortait vraiment et que Github était sur les rails, il s'est remis à l'ouvrage pour sortir Atom 1.0 sous une licence libre. Désormais une personne est embauchée à temps plein pour travailler dessus. </p>
<p>Désormais, l'outil commence à réellement montrer sa polyvalence, avec Facebook qui a créé <a href="http://nuclide.io/">Nuclide</a>, un IDE spécial et adapté pour gérer et coder sur l'immense base de code interne. D'autres comme Nylas le <a href="https://www.nylas.com/blog/splitting-the-atom">transforment en un logiciel de traitement de courriels</a>.</p></div><div><a href="https://linuxfr.org/news/atom-1-0-x-l-autre-editeur-de-code.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/106318/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/atom-1-0-x-l-autre-editeur-de-code#comments">ouvrir dans le navigateur</a>
</p>
Florent ZaraNÿcoBenoît SibaudzurvanYves BourguignonJiehongPierre Jarillonhttps://linuxfr.org/nodes/106318/comments.atom