<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>tuto_fonctionnel</title>
        <link>https://video.ploud.fr/c/tuto_fonctionnel@peertube.fr/videos</link>
        <description>https://nokomprendo.frama.io/tuto_fonctionnel/index.html</description>
        <lastBuildDate>Tue, 20 Oct 2026 11:32:32 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>PeerTube - https://video.ploud.fr</generator>
        <image>
            <title>tuto_fonctionnel</title>
            <url>https://video.ploud.fr/client/assets/images/icons/icon-96x96.png</url>
            <link>https://video.ploud.fr/c/tuto_fonctionnel@peertube.fr/videos</link>
        </image>
        <copyright>All rights reserved, unless otherwise specified in the terms specified at https://video.ploud.fr/about and potential licenses granted by each content's rightholder.</copyright>
        <atom:link href="https://video.ploud.fr/feeds/videos.xml?videoChannelId=7656" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[tuto fonctionnel 41 : Comprendre Go en 5 minutes, en Haskell]]></title>
            <link>https://video.ploud.fr/w/tC19SvSxBryYiwKxc1a8XZ</link>
            <guid>https://video.ploud.fr/w/tC19SvSxBryYiwKxc1a8XZ</guid>
            <pubDate>Sun, 22 Dec 2019 09:20:47 GMT</pubDate>
            <description><![CDATA[https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_41/2019-12-21-fr-README.html Erratum : le code pour les processus légers ne correspond pas tout à fait. Voir l'article. D’après leur réputation, Go et Haskell sont des langages de programmat...]]></description>
            <content:encoded><![CDATA[<p><a href="https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_41/2019-12-21-fr-README.html" target="_blank" rel="noopener noreferrer">https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_41/2019-12-21-fr-README.html</a><br />
Erratum : le code pour les processus légers ne correspond pas tout à fait. Voir l'article.</p>
<p>D’après leur réputation, Go et Haskell sont des langages de programmation assez opposés : Go privilégie la simplicité, Haskell l’expressivité. Cependant ces deux langages ne sont pas si éloignés que cela. Plus exactement, les concepts de base de Go se retrouvent, de façon assez ressemblante, en Haskell.</p>
<p>Ce tutoriel reprend, en Haskell, les exemples de code en Go de l’article Comprendre Go en 5 minutes (<a href="https://www.jesuisundev.com/comprendre-go-en-5-minutes/" target="_blank" rel="noopener noreferrer">https://www.jesuisundev.com/comprendre-go-en-5-minutes/</a>). L’objectif n’est pas de présenter exhaustivement Go ou Haskell, ni de démontrer que l’un est “meilleur” que l’autre mais plutôt de montrer l’équivalent en Haskell de quelques fonctionnalités de Go.</p>
]]></content:encoded>
            <dc:creator>tuto_fonctionnel</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="19024532" type="video/mp4" url="https://peertube.fr/static/web-videos/dfad9d21-cadb-4b7e-a4d7-41bdab8ecf33-720.mp4"/>
            <media:community>
                <media:statistics views="24"/>
            </media:community>
            <media:embed url="https://video.ploud.fr/videos/embed/dfad9d21-cadb-4b7e-a4d7-41bdab8ecf33"/>
            <media:player url="https://video.ploud.fr/w/tC19SvSxBryYiwKxc1a8XZ"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/ef3e4006-ef8b-4521-8bf4-acb26e7e5f24-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/2ed24c07-d260-4a8d-a19d-032006ab065a-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/5c5117a8-d5e8-4a6f-9880-867f79fce088-360.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/587d9813-892c-4d8c-a4be-1766d6abb823-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="19024532" url="https://peertube.fr/static/web-videos/dfad9d21-cadb-4b7e-a4d7-41bdab8ecf33-720.mp4" framerate="30" duration="822" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="30286518" url="https://peertube.fr/static/web-videos/dfad9d21-cadb-4b7e-a4d7-41bdab8ecf33-480.mp4" framerate="30" duration="822" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="360" fileSize="24418423" url="https://peertube.fr/static/web-videos/dfad9d21-cadb-4b7e-a4d7-41bdab8ecf33-360.mp4" framerate="30" duration="822" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="19431180" url="https://peertube.fr/static/web-videos/dfad9d21-cadb-4b7e-a4d7-41bdab8ecf33-240.mp4" framerate="30" duration="822" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/previews/811e2442-bf65-4a87-8e30-3d2d5cd369ae.jpg"/>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/thumbnails/5e44a825-fd6c-4f9e-bd0d-a8db85516eb9.jpg"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">tuto fonctionnel 41 : Comprendre Go en 5 minutes, en Haskell</media:title>
            <media:description type="plain">https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_41/2019-12-21-fr-README.html Erratum : le code pour les processus légers ne correspond pas tout à fait. Voir l'article. D’après leur réputation, Go et Haskell sont des langages de programmat...</media:description>
        </item>
        <item>
            <title><![CDATA[tuto fonctionnel 40 : Gérer son environnement utilisateur NixOS, avec Home-manager]]></title>
            <link>https://video.ploud.fr/w/czPrrT46d5Vfb8gW61FrBj</link>
            <guid>https://video.ploud.fr/w/czPrrT46d5Vfb8gW61FrBj</guid>
            <pubDate>Mon, 11 Nov 2019 21:08:29 GMT</pubDate>
            <description><![CDATA[https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_40/2019-11-12-fr-README.html Home-manager est un outil qui permet de gérer son environnement utilisateur : environnement de bureau, thème de fenêtre, thème d’icones, logiciels, paramètres des...]]></description>
            <content:encoded><![CDATA[<p><a href="https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_40/2019-11-12-fr-README.html" target="_blank" rel="noopener noreferrer">https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_40/2019-11-12-fr-README.html</a></p>
<p>Home-manager est un outil qui permet de gérer son environnement utilisateur : environnement de bureau, thème de fenêtre, thème d’icones, logiciels, paramètres des logiciels, services utilisateur, “dot files”…</p>
<p>Home-manager est prévu pour fonctionner sur la distribution linux NixOS et utilise le gestionnaire de paquets Nix.</p>
]]></content:encoded>
            <dc:creator>tuto_fonctionnel</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="28556498" type="video/mp4" url="https://peertube.fr/static/web-videos/5dcd4e08-fc52-4faf-a63f-900ba84872bc-720.mp4"/>
            <media:community>
                <media:statistics views="54"/>
            </media:community>
            <media:embed url="https://video.ploud.fr/videos/embed/5dcd4e08-fc52-4faf-a63f-900ba84872bc"/>
            <media:player url="https://video.ploud.fr/w/czPrrT46d5Vfb8gW61FrBj"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/8bfeb314-b91b-4378-b18e-e4f52b8b06a4-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/80215003-1658-499e-8d09-6542564460ad-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/e33941c6-d490-4f01-afb9-3565c5d80e30-360.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/f4289102-bb58-4a59-b7fe-917bdb068cdd-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="28556498" url="https://peertube.fr/static/web-videos/5dcd4e08-fc52-4faf-a63f-900ba84872bc-720.mp4" framerate="30" duration="949" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="41156282" url="https://peertube.fr/static/web-videos/5dcd4e08-fc52-4faf-a63f-900ba84872bc-480.mp4" framerate="30" duration="949" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="360" fileSize="31796374" url="https://peertube.fr/static/web-videos/5dcd4e08-fc52-4faf-a63f-900ba84872bc-360.mp4" framerate="30" duration="949" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="23941601" url="https://peertube.fr/static/web-videos/5dcd4e08-fc52-4faf-a63f-900ba84872bc-240.mp4" framerate="30" duration="949" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/previews/a2aa6c54-b575-4c29-8569-6b49fcf7d81d.jpg"/>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/thumbnails/00b79d7f-c492-48c9-8e91-09a9bc85c481.jpg"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">tuto fonctionnel 40 : Gérer son environnement utilisateur NixOS, avec Home-manager</media:title>
            <media:description type="plain">https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_40/2019-11-12-fr-README.html Home-manager est un outil qui permet de gérer son environnement utilisateur : environnement de bureau, thème de fenêtre, thème d’icones, logiciels, paramètres des...</media:description>
        </item>
        <item>
            <title><![CDATA[tuto fonctionnel 39 : Étendre ou modifier sa logithèque Nix avec les overlays]]></title>
            <link>https://video.ploud.fr/w/6GYCwDcZXW3tTfYvHvgdVJ</link>
            <guid>https://video.ploud.fr/w/6GYCwDcZXW3tTfYvHvgdVJ</guid>
            <pubDate>Sun, 10 Nov 2019 22:26:24 GMT</pubDate>
            <description><![CDATA[https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_39/2019-11-11-fr-README.html Le gestionnaire de paquets Nix est hautement personnalisable. Pour cela, il reprend le principe de la composition de fonctions : un paquet est en fait une fonctio...]]></description>
            <content:encoded><![CDATA[<p><a href="https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_39/2019-11-11-fr-README.html" target="_blank" rel="noopener noreferrer">https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_39/2019-11-11-fr-README.html</a></p>
<p>Le gestionnaire de paquets Nix est hautement personnalisable. Pour cela, il reprend le principe de la composition de fonctions : un paquet est en fait une fonction qui indique comment ajouter ou modifier un logiciel à partir d’un environnement logiciel d’entrée.</p>
<p>Ainsi, la logithèque Nix n’est qu’un ensemble de paquets qui peuvent être appliqués pour construire l’environnement logiciel final. Les overlays permettent de modifier les paquets de cet ensemble ou d’en ajouter de nouveaux.</p>
]]></content:encoded>
            <dc:creator>tuto_fonctionnel</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="17959059" type="video/mp4" url="https://peertube.fr/static/web-videos/2e3657ec-8b89-4bcf-bd01-0f6de2455ce4-720.mp4"/>
            <media:community>
                <media:statistics views="16"/>
            </media:community>
            <media:embed url="https://video.ploud.fr/videos/embed/2e3657ec-8b89-4bcf-bd01-0f6de2455ce4"/>
            <media:player url="https://video.ploud.fr/w/6GYCwDcZXW3tTfYvHvgdVJ"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/dcfeef9a-9c3b-4941-a28f-12dbc388d3c4-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/3e205112-9eaa-469d-98d0-72426abf4d99-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/8ebaa2e5-dc12-48ed-b39a-89158c44a36c-360.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/8a94faeb-a8bf-4df2-8c6e-7dd4a48038ec-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="17959059" url="https://peertube.fr/static/web-videos/2e3657ec-8b89-4bcf-bd01-0f6de2455ce4-720.mp4" framerate="30" duration="427" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="24614985" url="https://peertube.fr/static/web-videos/2e3657ec-8b89-4bcf-bd01-0f6de2455ce4-480.mp4" framerate="30" duration="427" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="360" fileSize="17937190" url="https://peertube.fr/static/web-videos/2e3657ec-8b89-4bcf-bd01-0f6de2455ce4-360.mp4" framerate="30" duration="427" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="12379289" url="https://peertube.fr/static/web-videos/2e3657ec-8b89-4bcf-bd01-0f6de2455ce4-240.mp4" framerate="30" duration="427" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/previews/11bbc59e-e88f-4650-8193-b021939b4455.jpg"/>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/thumbnails/18ab6463-ddf4-4c43-a7e8-760dd3fbe97e.jpg"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">tuto fonctionnel 39 : Étendre ou modifier sa logithèque Nix avec les overlays</media:title>
            <media:description type="plain">https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_39/2019-11-11-fr-README.html Le gestionnaire de paquets Nix est hautement personnalisable. Pour cela, il reprend le principe de la composition de fonctions : un paquet est en fait une fonctio...</media:description>
        </item>
        <item>
            <title><![CDATA[tuto fonctionnel 37 : NixOS 19.09]]></title>
            <link>https://video.ploud.fr/w/tNQbKC4L6xB5PPUrPPLbYt</link>
            <guid>https://video.ploud.fr/w/tNQbKC4L6xB5PPUrPPLbYt</guid>
            <pubDate>Sun, 10 Nov 2019 00:36:39 GMT</pubDate>
            <description><![CDATA[https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_37/2019-11-09-fr-README.html NixOS est une distribution Linux basée sur Nix, un gestionnaire de paquets évolué. Nix permet à un utilisateur de créer des environnements logiciels personnalisés...]]></description>
            <content:encoded><![CDATA[<p><a href="https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_37/2019-11-09-fr-README.html" target="_blank" rel="noopener noreferrer">https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_37/2019-11-09-fr-README.html</a></p>
<p>NixOS est une distribution Linux basée sur Nix, un gestionnaire de paquets évolué. Nix permet à un utilisateur de créer des environnements logiciels personnalisés, fiables, isolés, reproductibles…</p>
<p>NixOS 19.09 est sorti le 09 octobre 2019. Ce post en présente quelques nouveautés et explique comment migrer de NixOS 19.03 à NixOS 19.09.</p>
]]></content:encoded>
            <dc:creator>tuto_fonctionnel</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="22144108" type="video/mp4" url="https://peertube.fr/static/web-videos/e130a70c-9708-4441-9702-1d72ef4518a3-720.mp4"/>
            <media:community>
                <media:statistics views="30"/>
            </media:community>
            <media:embed url="https://video.ploud.fr/videos/embed/e130a70c-9708-4441-9702-1d72ef4518a3"/>
            <media:player url="https://video.ploud.fr/w/tNQbKC4L6xB5PPUrPPLbYt"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/f0456915-aee8-45de-be23-0a238a14f8cd-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/06e73612-d41e-4040-8624-58718effcf5b-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/8cb6e0cd-01c3-4068-a519-6f87899e718f-360.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/bc183c71-b4c1-4ed6-8977-98c53a7b4b47-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="22144108" url="https://peertube.fr/static/web-videos/e130a70c-9708-4441-9702-1d72ef4518a3-720.mp4" framerate="30" duration="600" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="29086818" url="https://peertube.fr/static/web-videos/e130a70c-9708-4441-9702-1d72ef4518a3-480.mp4" framerate="30" duration="600" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="360" fileSize="21971606" url="https://peertube.fr/static/web-videos/e130a70c-9708-4441-9702-1d72ef4518a3-360.mp4" framerate="30" duration="600" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="16149817" url="https://peertube.fr/static/web-videos/e130a70c-9708-4441-9702-1d72ef4518a3-240.mp4" framerate="30" duration="600" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/previews/9141218d-84a2-4783-8864-9ecd5be3738b.jpg"/>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/thumbnails/cfe96638-ece7-472c-8b39-62b6fef12e4b.jpg"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">tuto fonctionnel 37 : NixOS 19.09</media:title>
            <media:description type="plain">https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_37/2019-11-09-fr-README.html NixOS est une distribution Linux basée sur Nix, un gestionnaire de paquets évolué. Nix permet à un utilisateur de créer des environnements logiciels personnalisés...</media:description>
        </item>
        <item>
            <title><![CDATA[tuto fonctionnel 38 : Cachix, un service de cache binaire basé sur Nix]]></title>
            <link>https://video.ploud.fr/w/3qbue1znV7P2EhjQqTPhdP</link>
            <guid>https://video.ploud.fr/w/3qbue1znV7P2EhjQqTPhdP</guid>
            <pubDate>Sun, 10 Nov 2019 00:30:51 GMT</pubDate>
            <description><![CDATA[https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_38/2019-11-10-fr-README.html Cachix permet de gérer facilement un cache personnel de paquets binaires. Concrètement, il s’agit d’un service de cloud et d’un logiciel client, le tout basé sur ...]]></description>
            <content:encoded><![CDATA[<p><a href="https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_38/2019-11-10-fr-README.html" target="_blank" rel="noopener noreferrer">https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_38/2019-11-10-fr-README.html</a></p>
<p>Cachix permet de gérer facilement un cache personnel de paquets binaires. Concrètement, il s’agit d’un service de cloud et d’un logiciel client, le tout basé sur le gestionnaire de paquets Nix. Cachix propose différentes offres, dont une offre gratuite de 10 Go de stockage en accès public.</p>
<p>Quand on utilise la logithèque officielle de Nix, on télécharge des paquets binaires déjà compilés. Nix permet très facilement d’empaqueter des programmes/bibliothèques personnels ou de modifier les paquets officiels. Mais dans ce cas, les paquets binaires correspondants ne sont pas dans le cache officiel et doivent donc être compilés sur la machine locale. Cachix permet d’envoyer les paquets binaires ainsi compilés sur un serveur. On peut alors récupérer ces paquets sur d’autres machines sans avoir à recompiler.</p>
]]></content:encoded>
            <dc:creator>tuto_fonctionnel</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="20815051" type="video/mp4" url="https://peertube.fr/static/web-videos/13929725-4c62-415a-ad6f-41126757d4af-720.mp4"/>
            <media:community>
                <media:statistics views="6"/>
            </media:community>
            <media:embed url="https://video.ploud.fr/videos/embed/13929725-4c62-415a-ad6f-41126757d4af"/>
            <media:player url="https://video.ploud.fr/w/3qbue1znV7P2EhjQqTPhdP"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/09cf27d1-4e8d-4a31-a14b-55f71a424c5f-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/bcd2aa66-6a5f-4c84-b760-765bf3405048-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/cd2f466c-4e37-4e68-967f-e888de6c6458-360.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/ef753309-c400-4d6e-9879-b52cf236b0fd-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="20815051" url="https://peertube.fr/static/web-videos/13929725-4c62-415a-ad6f-41126757d4af-720.mp4" framerate="30" duration="507" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="27036509" url="https://peertube.fr/static/web-videos/13929725-4c62-415a-ad6f-41126757d4af-480.mp4" framerate="30" duration="507" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="360" fileSize="19810812" url="https://peertube.fr/static/web-videos/13929725-4c62-415a-ad6f-41126757d4af-360.mp4" framerate="30" duration="507" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="14134440" url="https://peertube.fr/static/web-videos/13929725-4c62-415a-ad6f-41126757d4af-240.mp4" framerate="30" duration="507" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/previews/e8c78f5a-0ca3-4e77-8a3d-427bce89ea88.jpg"/>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/thumbnails/7d8118d1-a49e-4819-ad35-e9cb0ecd6aef.jpg"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">tuto fonctionnel 38 : Cachix, un service de cache binaire basé sur Nix</media:title>
            <media:description type="plain">https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_38/2019-11-10-fr-README.html Cachix permet de gérer facilement un cache personnel de paquets binaires. Concrètement, il s’agit d’un service de cloud et d’un logiciel client, le tout basé sur ...</media:description>
        </item>
        <item>
            <title><![CDATA[tuto fonctionnel 35 : Introduction aux templates C++]]></title>
            <link>https://video.ploud.fr/w/8VGPnvxuV8j2bQvmWUJKMQ</link>
            <guid>https://video.ploud.fr/w/8VGPnvxuV8j2bQvmWUJKMQ</guid>
            <pubDate>Sun, 03 Nov 2019 23:15:36 GMT</pubDate>
            <description><![CDATA[https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_35/2019-11-01-fr-README.html En C++, un template permet de paramétrer du code (fonction, structure, classe) selon un “type générique”. On peut ensuite spécifier un “type concret” que doit pre...]]></description>
            <content:encoded><![CDATA[<p><a href="https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_35/2019-11-01-fr-README.html" target="_blank" rel="noopener noreferrer">https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_35/2019-11-01-fr-README.html</a></p>
<p>En C++, un template permet de paramétrer du code (fonction, structure, classe) selon un “type générique”. On peut ensuite spécifier un “type concret” que doit prendre ce paramètre de type et ainsi générer le code correspondant. On peut bien-sûr spécifier différents types concrets et ainsi générer différents codes, à partir d’un même template.</p>
<p>Les templates C++ permettent d’écrire du code générique, ce qui est parfois appelé méta-programmation. Il s’agit d’un outil très important en C++ mais assez difficile à maitriser.</p>
<p>Ce premier article sur les templates C++ en présente la motivation et les fonctionnalités de base.</p>
]]></content:encoded>
            <dc:creator>tuto_fonctionnel</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="13474644" type="video/mp4" url="https://peertube.fr/static/web-videos/402f8b6d-755c-42cb-be7d-fa7e57a8867e-720.mp4"/>
            <media:community>
                <media:statistics views="19"/>
            </media:community>
            <media:embed url="https://video.ploud.fr/videos/embed/402f8b6d-755c-42cb-be7d-fa7e57a8867e"/>
            <media:player url="https://video.ploud.fr/w/8VGPnvxuV8j2bQvmWUJKMQ"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/6f78c861-4494-4d61-a7e4-cafb2c22878e-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/bd1fa05d-cb66-4b71-bfd7-8f0e6a273d5d-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/363c5233-f130-4629-a06d-93a91a645439-360.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/21f35f12-0fbd-4344-913c-a40b9240c335-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="13474644" url="https://peertube.fr/static/web-videos/402f8b6d-755c-42cb-be7d-fa7e57a8867e-720.mp4" framerate="30" duration="509" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="20660785" url="https://peertube.fr/static/web-videos/402f8b6d-755c-42cb-be7d-fa7e57a8867e-480.mp4" framerate="30" duration="509" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="360" fileSize="16408585" url="https://peertube.fr/static/web-videos/402f8b6d-755c-42cb-be7d-fa7e57a8867e-360.mp4" framerate="30" duration="509" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="12720801" url="https://peertube.fr/static/web-videos/402f8b6d-755c-42cb-be7d-fa7e57a8867e-240.mp4" framerate="30" duration="509" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/previews/4eaf5e0e-3096-48dd-8e61-c44207b08b61.jpg"/>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/thumbnails/99839614-445b-45ef-a41a-235f3e009241.jpg"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">tuto fonctionnel 35 : Introduction aux templates C++</media:title>
            <media:description type="plain">https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_35/2019-11-01-fr-README.html En C++, un template permet de paramétrer du code (fonction, structure, classe) selon un “type générique”. On peut ensuite spécifier un “type concret” que doit pre...</media:description>
        </item>
        <item>
            <title><![CDATA[tuto fonctionnel 36 : Les templates variadiques en C++]]></title>
            <link>https://video.ploud.fr/w/v5cuamTNkN6RidCzPK8LZi</link>
            <guid>https://video.ploud.fr/w/v5cuamTNkN6RidCzPK8LZi</guid>
            <pubDate>Sun, 03 Nov 2019 23:11:45 GMT</pubDate>
            <description><![CDATA[https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_36/2019-11-02-fr-README.html Les templates variadiques sont des templates qui peuvent recevoir un nombre variable de paramètres. On peut donc les voir comme l’équivalent des fonctions variadi...]]></description>
            <content:encoded><![CDATA[<p><a href="https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_36/2019-11-02-fr-README.html" target="_blank" rel="noopener noreferrer">https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_36/2019-11-02-fr-README.html</a></p>
<p>Les templates variadiques sont des templates qui peuvent recevoir un nombre variable de paramètres. On peut donc les voir comme l’équivalent des fonctions variadiques (comme la fonction printf) mais pour les templates. Ils permettent d’implémenter des structures de données complexes, comme par exemple des tuples, tout en profitant du système de typage du compilateur. Les templates variadiques utilisent généralement des fonctionnalités classiques en programmation fonctionnelle, comme la récursivité ou la réduction.</p>
]]></content:encoded>
            <dc:creator>tuto_fonctionnel</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="26010064" type="video/mp4" url="https://peertube.fr/static/web-videos/eb6f130e-3ac8-498f-a64d-688909dc8a93-720.mp4"/>
            <media:community>
                <media:statistics views="9"/>
            </media:community>
            <media:embed url="https://video.ploud.fr/videos/embed/eb6f130e-3ac8-498f-a64d-688909dc8a93"/>
            <media:player url="https://video.ploud.fr/w/v5cuamTNkN6RidCzPK8LZi"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/2a800c79-a1bd-4795-a73e-f586b090b4f8-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/c19c285d-b93c-421b-921b-a635b8595443-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/d2cb0b27-bede-46b2-996a-2204cd572c28-360.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/299699c9-6628-4f02-b619-a04934abcce2-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="26010064" url="https://peertube.fr/static/web-videos/eb6f130e-3ac8-498f-a64d-688909dc8a93-720.mp4" framerate="30" duration="958" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="43543595" url="https://peertube.fr/static/web-videos/eb6f130e-3ac8-498f-a64d-688909dc8a93-480.mp4" framerate="30" duration="958" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="360" fileSize="33344225" url="https://peertube.fr/static/web-videos/eb6f130e-3ac8-498f-a64d-688909dc8a93-360.mp4" framerate="30" duration="958" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="25060002" url="https://peertube.fr/static/web-videos/eb6f130e-3ac8-498f-a64d-688909dc8a93-240.mp4" framerate="30" duration="958" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/previews/caa2e109-aa8b-4429-8d69-cf0b02225507.jpg"/>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/thumbnails/08748362-b426-4216-ab30-a560a8d1bc63.jpg"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">tuto fonctionnel 36 : Les templates variadiques en C++</media:title>
            <media:description type="plain">https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_36/2019-11-02-fr-README.html Les templates variadiques sont des templates qui peuvent recevoir un nombre variable de paramètres. On peut donc les voir comme l’équivalent des fonctions variadi...</media:description>
        </item>
        <item>
            <title><![CDATA[tuto fonctionnel 19 : Créer et partager des paquets Nix]]></title>
            <link>https://video.ploud.fr/w/4QiXn6G15kTXr7xe3mzTyS</link>
            <guid>https://video.ploud.fr/w/4QiXn6G15kTXr7xe3mzTyS</guid>
            <pubDate>Tue, 30 Jul 2019 22:02:11 GMT</pubDate>
            <description><![CDATA[Nix permet facilement de : créer des paquets localement, regrouper des paquets dans un dépôt, soumettre des paquets à la communauté, tester des paquets soumis, https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_19/2018-04-25-READM...]]></description>
            <content:encoded><![CDATA[<p>Nix permet facilement de :</p>
<ul>
<li>créer des paquets localement</li>
<li>regrouper des paquets dans un dépôt</li>
<li>soumettre des paquets à la communauté</li>
<li>tester des paquets soumis</li>
</ul>
<p><a href="https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_19/2018-04-25-README.html" target="_blank" rel="noopener noreferrer">https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_19/2018-04-25-README.html</a></p>
]]></content:encoded>
            <dc:creator>tuto_fonctionnel</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="64983972" type="video/mp4" url="https://peertube.fr/static/web-videos/1f0a2e8b-f4a9-45aa-835b-5b0a6cd60006-720.mp4"/>
            <media:community>
                <media:statistics views="19"/>
            </media:community>
            <media:embed url="https://video.ploud.fr/videos/embed/1f0a2e8b-f4a9-45aa-835b-5b0a6cd60006"/>
            <media:player url="https://video.ploud.fr/w/4QiXn6G15kTXr7xe3mzTyS"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/b8da7704-ef8d-4de4-a7ad-d8263ab70998-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/9396bfba-1834-4cc4-aced-c0f77cf71d37-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/de242bbf-741b-478c-b144-7602e2dffc3a-360.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/478c0454-9631-4500-8316-875430233e7d-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="64983972" url="https://peertube.fr/static/web-videos/1f0a2e8b-f4a9-45aa-835b-5b0a6cd60006-720.mp4" framerate="30" duration="715" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="41229716" url="https://peertube.fr/static/web-videos/1f0a2e8b-f4a9-45aa-835b-5b0a6cd60006-480.mp4" framerate="30" duration="715" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="360" fileSize="30928532" url="https://peertube.fr/static/web-videos/1f0a2e8b-f4a9-45aa-835b-5b0a6cd60006-360.mp4" framerate="30" duration="715" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="22580252" url="https://peertube.fr/static/web-videos/1f0a2e8b-f4a9-45aa-835b-5b0a6cd60006-240.mp4" framerate="30" duration="715" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/previews/b523783c-7c7f-4228-b08b-d9a8e4a19673.jpg"/>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/thumbnails/7ef2b16a-76dd-4aec-8e22-7d9e15154df6.jpg"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">tuto fonctionnel 19 : Créer et partager des paquets Nix</media:title>
            <media:description type="plain">Nix permet facilement de : créer des paquets localement, regrouper des paquets dans un dépôt, soumettre des paquets à la communauté, tester des paquets soumis, https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_19/2018-04-25-READM...</media:description>
        </item>
        <item>
            <title><![CDATA[tuto fonctionnel 17 : Migrer un système NixOS (de 17.09 à 18.03)]]></title>
            <link>https://video.ploud.fr/w/3RYEmhinvrhD38GQnzrc5V</link>
            <guid>https://video.ploud.fr/w/3RYEmhinvrhD38GQnzrc5V</guid>
            <pubDate>Tue, 30 Jul 2019 22:01:33 GMT</pubDate>
            <description><![CDATA[Nix : système de paquets. NixOS : distribution linux utilisant Nix + un système de services. Nix/NixOS utilise un système de versions (deux versions par an) + un canal unstable pour le développement. Changer de version ou de canal se fait a...]]></description>
            <content:encoded><![CDATA[<p>Nix : système de paquets. NixOS : distribution linux utilisant Nix + un système de services.</p>
<p>Nix/NixOS utilise un système de versions (deux versions par an) + un canal unstable pour le développement.</p>
<p>Changer de version ou de canal se fait avec les outils classiques de Nix/NixOS.</p>
<p>Avantages de l’approche “fonctionnelle” : Pas d’effet de bord. On construit un nouveau système sans détruire l’ancien. On peut “switcher” entre les systèmes construits (par exemple, revenir au système précédent si le nouveau n’est pas satisfaisant).</p>
<p><a href="https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_17/2018-04-06-README.html" target="_blank" rel="noopener noreferrer">https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_17/2018-04-06-README.html</a></p>
]]></content:encoded>
            <dc:creator>tuto_fonctionnel</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="42690185" type="video/mp4" url="https://peertube.fr/static/web-videos/172ca408-949c-4b31-8804-d333839c83c1-720.mp4"/>
            <media:community>
                <media:statistics views="16"/>
            </media:community>
            <media:embed url="https://video.ploud.fr/videos/embed/172ca408-949c-4b31-8804-d333839c83c1"/>
            <media:player url="https://video.ploud.fr/w/3RYEmhinvrhD38GQnzrc5V"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/e47c0b91-d7e3-446d-8fc4-b6c17b406a89-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/733b2fdc-7274-4d5d-a99d-76e9439808a1-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/a5016095-61cd-4797-ba60-1178fa6a6d0b-360.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/4ef44f4e-5768-42e2-9759-8207bc9a7c1d-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="42690185" url="https://peertube.fr/static/web-videos/172ca408-949c-4b31-8804-d333839c83c1-720.mp4" framerate="30" duration="470" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="26054488" url="https://peertube.fr/static/web-videos/172ca408-949c-4b31-8804-d333839c83c1-480.mp4" framerate="30" duration="470" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="360" fileSize="19508394" url="https://peertube.fr/static/web-videos/172ca408-949c-4b31-8804-d333839c83c1-360.mp4" framerate="30" duration="470" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="14275621" url="https://peertube.fr/static/web-videos/172ca408-949c-4b31-8804-d333839c83c1-240.mp4" framerate="30" duration="470" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/previews/5efb5354-3015-47e0-b675-9c3a46f53d88.jpg"/>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/thumbnails/83576f64-bedd-471e-bef6-aa7fbe8fba91.jpg"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">tuto fonctionnel 17 : Migrer un système NixOS (de 17.09 à 18.03)</media:title>
            <media:description type="plain">Nix : système de paquets. NixOS : distribution linux utilisant Nix + un système de services. Nix/NixOS utilise un système de versions (deux versions par an) + un canal unstable pour le développement. Changer de version ou de canal se fait a...</media:description>
        </item>
        <item>
            <title><![CDATA[tuto fonctionnel 16 : Développement web en Haskell]]></title>
            <link>https://video.ploud.fr/w/go5MHQKrTMrAJWm8QkUkxj</link>
            <guid>https://video.ploud.fr/w/go5MHQKrTMrAJWm8QkUkxj</guid>
            <pubDate>Tue, 30 Jul 2019 22:00:01 GMT</pubDate>
            <description><![CDATA[Haskell est bien adapté au développement web côté-serveur : nombreuses bibliothèques, avantages du typage fort… Objectif de ce tutoriel : exemple d’application web pour gérer une “TODO list”. Fonctionnalités à mettre en oeuvre : serveur web ave...]]></description>
            <content:encoded><![CDATA[<p>Haskell est bien adapté au développement web côté-serveur : nombreuses bibliothèques, avantages du typage fort…</p>
<p>Objectif de ce tutoriel : exemple d’application web pour gérer une “TODO list”. Fonctionnalités à mettre en oeuvre : serveur web avec routage d’url, accès à une base de données, export JSON, génération dynamique de pages HTML/CSS</p>
<p><a href="https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_16/2018-04-01-README.html" target="_blank" rel="noopener noreferrer">https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_16/2018-04-01-README.html</a></p>
]]></content:encoded>
            <dc:creator>tuto_fonctionnel</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="50671444" type="video/mp4" url="https://peertube.fr/static/web-videos/7c8e64cb-c78d-4fff-8cb0-9ad64a362ed4-720.mp4"/>
            <media:community>
                <media:statistics views="23"/>
            </media:community>
            <media:embed url="https://video.ploud.fr/videos/embed/7c8e64cb-c78d-4fff-8cb0-9ad64a362ed4"/>
            <media:player url="https://video.ploud.fr/w/go5MHQKrTMrAJWm8QkUkxj"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/c91f2348-4888-49b9-ae78-1e6452933c44-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/f8cb0d92-8bd9-4474-95cc-655f37a9dd2b-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/d1828333-95de-47cb-a4bf-8818188d79bb-360.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/4bcb2fd3-4c52-4b4d-a5e6-5d2cc6e1ebc7-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="50671444" url="https://peertube.fr/static/web-videos/7c8e64cb-c78d-4fff-8cb0-9ad64a362ed4-720.mp4" framerate="30" duration="595" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="33020623" url="https://peertube.fr/static/web-videos/7c8e64cb-c78d-4fff-8cb0-9ad64a362ed4-480.mp4" framerate="30" duration="595" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="360" fileSize="25111094" url="https://peertube.fr/static/web-videos/7c8e64cb-c78d-4fff-8cb0-9ad64a362ed4-360.mp4" framerate="30" duration="595" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="18428320" url="https://peertube.fr/static/web-videos/7c8e64cb-c78d-4fff-8cb0-9ad64a362ed4-240.mp4" framerate="30" duration="595" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/previews/4d0ef4e7-3334-4646-9d39-3f4cbf32f2ef.jpg"/>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/thumbnails/9547ba60-92dd-4b78-8284-71b5373661e0.jpg"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">tuto fonctionnel 16 : Développement web en Haskell</media:title>
            <media:description type="plain">Haskell est bien adapté au développement web côté-serveur : nombreuses bibliothèques, avantages du typage fort… Objectif de ce tutoriel : exemple d’application web pour gérer une “TODO list”. Fonctionnalités à mettre en oeuvre : serveur web ave...</media:description>
        </item>
        <item>
            <title><![CDATA[tuto fonctionnel 18 (HS) : Archlinux vs Voidlinux]]></title>
            <link>https://video.ploud.fr/w/tsreP3goy3LNmFXSUV3NbD</link>
            <guid>https://video.ploud.fr/w/tsreP3goy3LNmFXSUV3NbD</guid>
            <pubDate>Tue, 30 Jul 2019 21:58:21 GMT</pubDate>
            <description><![CDATA[Archlinux et Voidlinux sont des distributions linux rolling-release pour utilisateurs “intermédiaires” (non-allergiques à la ligne de commande). Leurs objectifs sont proches mais leurs choix techniques assez différents. Objectifs de cette prése...]]></description>
            <content:encoded><![CDATA[<p>Archlinux et Voidlinux sont des distributions linux rolling-release pour utilisateurs “intermédiaires” (non-allergiques à la ligne de commande). Leurs objectifs sont proches mais leurs choix techniques assez différents.</p>
<p>Objectifs de cette présentation : comparer quelques caractéristiques techniques de Arch et de Void, installer un système de base : xfce + lightdm + clavier bépo, gérer les paquets (logiciels + noyaux), gérer les services, créer ses propres paquets</p>
<p><a href="https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_18/2018-04-21-README.html" target="_blank" rel="noopener noreferrer">https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_18/2018-04-21-README.html</a></p>
]]></content:encoded>
            <dc:creator>tuto_fonctionnel</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="102329493" type="video/mp4" url="https://peertube.fr/static/web-videos/de57a2a8-8d54-4e10-9ab0-f46caad6ad01-720.mp4"/>
            <media:community>
                <media:statistics views="54"/>
            </media:community>
            <media:embed url="https://video.ploud.fr/videos/embed/de57a2a8-8d54-4e10-9ab0-f46caad6ad01"/>
            <media:player url="https://video.ploud.fr/w/tsreP3goy3LNmFXSUV3NbD"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/82945e12-0470-42b2-8e66-02eaed12bfec-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/82cbf80d-429f-4544-a2e4-7fca84a900fc-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/90534f46-ae01-4b54-badd-a474f2a2ddad-360.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/ed569b80-940e-4017-a622-1edeed0e3931-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="102329493" url="https://peertube.fr/static/web-videos/de57a2a8-8d54-4e10-9ab0-f46caad6ad01-720.mp4" framerate="30" duration="1138" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="66722853" url="https://peertube.fr/static/web-videos/de57a2a8-8d54-4e10-9ab0-f46caad6ad01-480.mp4" framerate="30" duration="1138" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="360" fileSize="50176794" url="https://peertube.fr/static/web-videos/de57a2a8-8d54-4e10-9ab0-f46caad6ad01-360.mp4" framerate="30" duration="1138" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="36365258" url="https://peertube.fr/static/web-videos/de57a2a8-8d54-4e10-9ab0-f46caad6ad01-240.mp4" framerate="30" duration="1138" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/previews/9c8441a4-b21c-40d7-b4bb-f7d371e997ee.jpg"/>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/thumbnails/6315f937-6582-42ce-857e-c778321f4e87.jpg"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">tuto fonctionnel 18 (HS) : Archlinux vs Voidlinux</media:title>
            <media:description type="plain">Archlinux et Voidlinux sont des distributions linux rolling-release pour utilisateurs “intermédiaires” (non-allergiques à la ligne de commande). Leurs objectifs sont proches mais leurs choix techniques assez différents. Objectifs de cette prése...</media:description>
        </item>
        <item>
            <title><![CDATA[tuto fonctionnel 15 : Développement/déploiement web (apache, php, postgresql) avec nixops]]></title>
            <link>https://video.ploud.fr/w/tyFBMZ5gBsCTn9oJ8vPQfZ</link>
            <guid>https://video.ploud.fr/w/tyFBMZ5gBsCTn9oJ8vPQfZ</guid>
            <pubDate>Tue, 30 Jul 2019 21:55:55 GMT</pubDate>
            <description><![CDATA[Un site web “classique” nécessite souvent un serveur web + php et une base de données. Problèmes : mise en place non-triviale pour le développeur, mise en place à refaire pour déployer le site final, travail sur plusieurs sites web… Solutions : do...]]></description>
            <content:encoded><![CDATA[<p>Un site web “classique” nécessite souvent un serveur web + php et une base de données. Problèmes : mise en place non-triviale pour le développeur, mise en place à refaire pour déployer le site final, travail sur plusieurs sites web… Solutions : docker, nixops…</p>
<p><a href="https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_15/2018-03-10-README.html" target="_blank" rel="noopener noreferrer">https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_15/2018-03-10-README.html</a></p>
]]></content:encoded>
            <dc:creator>tuto_fonctionnel</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="41022698" type="video/mp4" url="https://peertube.fr/static/web-videos/df36f599-aa07-4cdb-8ad8-ed0dc8f2fd2d-720.mp4"/>
            <media:community>
                <media:statistics views="21"/>
            </media:community>
            <media:embed url="https://video.ploud.fr/videos/embed/df36f599-aa07-4cdb-8ad8-ed0dc8f2fd2d"/>
            <media:player url="https://video.ploud.fr/w/tyFBMZ5gBsCTn9oJ8vPQfZ"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/55dad930-e24a-40a4-8d39-b139293a5265-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/0b9c5724-c8b9-4fa9-90af-42436885edf8-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/92891855-2c1f-40b7-ad76-c404e52ba63d-360.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/2921b2d9-f59b-466c-b0ab-1efcdf255b37-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="41022698" url="https://peertube.fr/static/web-videos/df36f599-aa07-4cdb-8ad8-ed0dc8f2fd2d-720.mp4" framerate="30" duration="483" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="27167205" url="https://peertube.fr/static/web-videos/df36f599-aa07-4cdb-8ad8-ed0dc8f2fd2d-480.mp4" framerate="30" duration="483" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="360" fileSize="20331585" url="https://peertube.fr/static/web-videos/df36f599-aa07-4cdb-8ad8-ed0dc8f2fd2d-360.mp4" framerate="30" duration="483" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="14949537" url="https://peertube.fr/static/web-videos/df36f599-aa07-4cdb-8ad8-ed0dc8f2fd2d-240.mp4" framerate="30" duration="483" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/previews/cb514fab-81cb-4978-a534-58675ac8f0a2.jpg"/>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/thumbnails/877383ea-08c5-4e99-8e66-eb245d6ccb4f.jpg"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">tuto fonctionnel 15 : Développement/déploiement web (apache, php, postgresql) avec nixops</media:title>
            <media:description type="plain">Un site web “classique” nécessite souvent un serveur web + php et une base de données. Problèmes : mise en place non-triviale pour le développeur, mise en place à refaire pour déployer le site final, travail sur plusieurs sites web… Solutions : do...</media:description>
        </item>
        <item>
            <title><![CDATA[tuto fonctionnel 14 : liaison de fonction dynamique (ou pas)]]></title>
            <link>https://video.ploud.fr/w/o2BKCQv229NzpK1dFq4a3K</link>
            <guid>https://video.ploud.fr/w/o2BKCQv229NzpK1dFq4a3K</guid>
            <pubDate>Tue, 30 Jul 2019 21:54:29 GMT</pubDate>
            <description><![CDATA[Comment appeler des fonctions sur des collections hétérogènes. Par exemple : type Forme + sous-types Carre et Rectangle, fonctions surface. https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_14/2018-03-04-README.html]]></description>
            <content:encoded><![CDATA[<p>Comment appeler des fonctions sur des collections hétérogènes. Par exemple : type Forme + sous-types Carre et Rectangle, fonctions surface.</p>
<p><a href="https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_14/2018-03-04-README.html" target="_blank" rel="noopener noreferrer">https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_14/2018-03-04-README.html</a></p>
]]></content:encoded>
            <dc:creator>tuto_fonctionnel</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="80964274" type="video/mp4" url="https://peertube.fr/static/web-videos/b262d3d3-7a08-4dbc-9658-f80dc202ca3b-720.mp4"/>
            <media:community>
                <media:statistics views="3"/>
            </media:community>
            <media:embed url="https://video.ploud.fr/videos/embed/b262d3d3-7a08-4dbc-9658-f80dc202ca3b"/>
            <media:player url="https://video.ploud.fr/w/o2BKCQv229NzpK1dFq4a3K"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/b2c09ccf-c135-447a-8154-902743d6cd57-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/2101ab54-f45a-46df-8591-d3e06fa03804-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/eda873f1-8cb7-4f63-a0aa-16d80c0ec60e-360.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/37426a3c-5f20-4c68-9a34-cca171d0ff86-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="80964274" url="https://peertube.fr/static/web-videos/b262d3d3-7a08-4dbc-9658-f80dc202ca3b-720.mp4" framerate="30" duration="1079" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="55466675" url="https://peertube.fr/static/web-videos/b262d3d3-7a08-4dbc-9658-f80dc202ca3b-480.mp4" framerate="30" duration="1079" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="360" fileSize="42188597" url="https://peertube.fr/static/web-videos/b262d3d3-7a08-4dbc-9658-f80dc202ca3b-360.mp4" framerate="30" duration="1079" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="32070133" url="https://peertube.fr/static/web-videos/b262d3d3-7a08-4dbc-9658-f80dc202ca3b-240.mp4" framerate="30" duration="1079" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/previews/206a668b-40aa-4e32-afda-4a7d7a4150ed.jpg"/>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/thumbnails/a8457290-c183-4cad-bb9f-2b4e2ecc368d.jpg"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">tuto fonctionnel 14 : liaison de fonction dynamique (ou pas)</media:title>
            <media:description type="plain">Comment appeler des fonctions sur des collections hétérogènes. Par exemple : type Forme + sous-types Carre et Rectangle, fonctions surface. https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_14/2018-03-04-README.html</media:description>
        </item>
        <item>
            <title><![CDATA[tuto fonctionnel 13 : curryfication et évaluation partielle (javascript/haskell)]]></title>
            <link>https://video.ploud.fr/w/u58ViwtHq8oEzhqt36yabP</link>
            <guid>https://video.ploud.fr/w/u58ViwtHq8oEzhqt36yabP</guid>
            <pubDate>Tue, 30 Jul 2019 21:53:49 GMT</pubDate>
            <description><![CDATA[Comment écrire des fonctions curryfiée et faire de l'évaluation partielle en Javascript et en Haskell. https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_13/2018-02-25-README.html]]></description>
            <content:encoded><![CDATA[<p>Comment écrire des fonctions curryfiée et faire de l'évaluation partielle en Javascript et en Haskell.</p>
<p><a href="https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_13/2018-02-25-README.html" target="_blank" rel="noopener noreferrer">https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_13/2018-02-25-README.html</a></p>
]]></content:encoded>
            <dc:creator>tuto_fonctionnel</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="20009315" type="video/mp4" url="https://peertube.fr/static/web-videos/e353bce1-adbb-4e39-bacd-1acbf2815107-720.mp4"/>
            <media:community>
                <media:statistics views="14"/>
            </media:community>
            <media:embed url="https://video.ploud.fr/videos/embed/e353bce1-adbb-4e39-bacd-1acbf2815107"/>
            <media:player url="https://video.ploud.fr/w/u58ViwtHq8oEzhqt36yabP"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/a1a46b79-0f0d-478c-aa3f-135a129bd7ae-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/acc4663e-8cbc-4c6c-a28d-5f96933aba58-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/5969f96a-5e70-49c3-bc18-e1da04f61ec6-360.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/c21f8890-10d0-42eb-bc16-e7e07309dbfa-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="20009315" url="https://peertube.fr/static/web-videos/e353bce1-adbb-4e39-bacd-1acbf2815107-720.mp4" framerate="30" duration="340" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="14291472" url="https://peertube.fr/static/web-videos/e353bce1-adbb-4e39-bacd-1acbf2815107-480.mp4" framerate="30" duration="340" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="360" fileSize="11645798" url="https://peertube.fr/static/web-videos/e353bce1-adbb-4e39-bacd-1acbf2815107-360.mp4" framerate="30" duration="340" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="9081853" url="https://peertube.fr/static/web-videos/e353bce1-adbb-4e39-bacd-1acbf2815107-240.mp4" framerate="30" duration="340" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/previews/32c2c4b8-d830-49b9-806d-fac12471eed0.jpg"/>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/thumbnails/3a0a026e-b8ba-440d-b10a-020f08c92dc0.jpg"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">tuto fonctionnel 13 : curryfication et évaluation partielle (javascript/haskell)</media:title>
            <media:description type="plain">Comment écrire des fonctions curryfiée et faire de l'évaluation partielle en Javascript et en Haskell. https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_13/2018-02-25-README.html</media:description>
        </item>
        <item>
            <title><![CDATA[tuto fonctionnel 20 : Nix, programmation et loi de Murphy]]></title>
            <link>https://video.ploud.fr/w/2CAbVQnqryGySBfqqu5KGm</link>
            <guid>https://video.ploud.fr/w/2CAbVQnqryGySBfqqu5KGm</guid>
            <pubDate>Tue, 30 Jul 2019 21:53:14 GMT</pubDate>
            <description><![CDATA[Quand on développe un logiciel on utilise très souvent des bibliothèques, ce qui peut apporter de nombreux problèmes : bibliothèque fournie par le système ou à compiler manuellement, version compatible avec le projet, options de compilation, déplo...]]></description>
            <content:encoded><![CDATA[<p>Quand on développe un logiciel on utilise très souvent des bibliothèques, ce qui peut apporter de nombreux problèmes : bibliothèque fournie par le système ou à compiler manuellement, version compatible avec le projet, options de compilation, déploiement du projet final et de ses bibliothèques...</p>
<p>D’après la loi de Murphy, des problèmes finissent toujours par arriver. Les outils et OS classiques essaient de les éviter, Nix essaie de les résoudre.</p>
<p><a href="https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_20/2018-04-28-README.html" target="_blank" rel="noopener noreferrer">https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_20/2018-04-28-README.html</a></p>
]]></content:encoded>
            <dc:creator>tuto_fonctionnel</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="52140702" type="video/mp4" url="https://peertube.fr/static/web-videos/0d34fbd6-696b-499a-8b1a-abbdf40cbb90-720.mp4"/>
            <media:community>
                <media:statistics views="18"/>
            </media:community>
            <media:embed url="https://video.ploud.fr/videos/embed/0d34fbd6-696b-499a-8b1a-abbdf40cbb90"/>
            <media:player url="https://video.ploud.fr/w/2CAbVQnqryGySBfqqu5KGm"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/b21ece2e-5758-4b82-94b5-2e97a5ee9854-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/d0197b11-7829-465d-aa40-f6d78d703333-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/ac3ba55b-e31a-4b61-bbc3-8d8166b59aa3-360.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/2bc54269-b0bc-4f1e-9b2d-846c398790bc-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="52140702" url="https://peertube.fr/static/web-videos/0d34fbd6-696b-499a-8b1a-abbdf40cbb90-720.mp4" framerate="30" duration="529" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="31472776" url="https://peertube.fr/static/web-videos/0d34fbd6-696b-499a-8b1a-abbdf40cbb90-480.mp4" framerate="30" duration="529" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="360" fileSize="23119063" url="https://peertube.fr/static/web-videos/0d34fbd6-696b-499a-8b1a-abbdf40cbb90-360.mp4" framerate="30" duration="529" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="16710391" url="https://peertube.fr/static/web-videos/0d34fbd6-696b-499a-8b1a-abbdf40cbb90-240.mp4" framerate="30" duration="529" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/previews/8690b8d5-fa1d-4114-806c-f43eac0836a1.jpg"/>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/thumbnails/7b0d0159-ff67-42fd-a8a4-93ca24230197.jpg"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">tuto fonctionnel 20 : Nix, programmation et loi de Murphy</media:title>
            <media:description type="plain">Quand on développe un logiciel on utilise très souvent des bibliothèques, ce qui peut apporter de nombreux problèmes : bibliothèque fournie par le système ou à compiler manuellement, version compatible avec le projet, options de compilation, déplo...</media:description>
        </item>
        <item>
            <title><![CDATA[tuto fonctionnel 21 : Déployer un blog avec Hakyll, Gitlab-ci, Nix]]></title>
            <link>https://video.ploud.fr/w/qi3iHw9G6o8rCq5gyr1oHy</link>
            <guid>https://video.ploud.fr/w/qi3iHw9G6o8rCq5gyr1oHy</guid>
            <pubDate>Tue, 30 Jul 2019 21:50:11 GMT</pubDate>
            <description><![CDATA[Comment générer un blog avec Hakyll et le publier avec des outils modernes de gestion de code source et d'intégration continue. https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_21/2018-06-10-README.html]]></description>
            <content:encoded><![CDATA[<p>Comment générer un blog avec Hakyll et le publier avec des outils modernes de gestion de code source et d'intégration continue.</p>
<p><a href="https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_21/2018-06-10-README.html" target="_blank" rel="noopener noreferrer">https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_21/2018-06-10-README.html</a></p>
]]></content:encoded>
            <dc:creator>tuto_fonctionnel</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="54249636" type="video/mp4" url="https://peertube.fr/static/web-videos/c4bc6488-b8fe-42a7-9abb-f1867ef688d2-720.mp4"/>
            <media:community>
                <media:statistics views="17"/>
            </media:community>
            <media:embed url="https://video.ploud.fr/videos/embed/c4bc6488-b8fe-42a7-9abb-f1867ef688d2"/>
            <media:player url="https://video.ploud.fr/w/qi3iHw9G6o8rCq5gyr1oHy"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/89670cf8-c1af-4d63-b1d9-25a3741b0400-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/5a7739ae-06d5-4cb7-aa3a-b19027b97adf-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/df095525-c685-4eea-8ff0-2b867ce80ea9-360.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/5fad37da-bb26-4030-95eb-4662b35b0b8e-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="54249636" url="https://peertube.fr/static/web-videos/c4bc6488-b8fe-42a7-9abb-f1867ef688d2-720.mp4" framerate="30" duration="600" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="33418971" url="https://peertube.fr/static/web-videos/c4bc6488-b8fe-42a7-9abb-f1867ef688d2-480.mp4" framerate="30" duration="600" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="360" fileSize="24867877" url="https://peertube.fr/static/web-videos/c4bc6488-b8fe-42a7-9abb-f1867ef688d2-360.mp4" framerate="30" duration="600" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="18539079" url="https://peertube.fr/static/web-videos/c4bc6488-b8fe-42a7-9abb-f1867ef688d2-240.mp4" framerate="30" duration="600" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/previews/0e7dcaee-c601-4aa2-8ffc-f493c58ae470.jpg"/>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/thumbnails/166a5b61-bb5a-4481-bc6f-c8aa070a6b66.jpg"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">tuto fonctionnel 21 : Déployer un blog avec Hakyll, Gitlab-ci, Nix</media:title>
            <media:description type="plain">Comment générer un blog avec Hakyll et le publier avec des outils modernes de gestion de code source et d'intégration continue. https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_21/2018-06-10-README.html</media:description>
        </item>
        <item>
            <title><![CDATA[tuto fonctionnel 24 : Développement web frontend en Haskell, Elm et Purescript]]></title>
            <link>https://video.ploud.fr/w/bijWAZSWvHkSCyY72L9URf</link>
            <guid>https://video.ploud.fr/w/bijWAZSWvHkSCyY72L9URf</guid>
            <pubDate>Tue, 30 Jul 2019 21:49:11 GMT</pubDate>
            <description><![CDATA[Actuellement, le développement web côté-client (frontend) est très souvent réalisé en JavaScript ou dans des langages dérivés comme TypeScript. Il existe cependant d’autres outils intéressants, basés sur des langages de programmation fonctionnelle...]]></description>
            <content:encoded><![CDATA[<p>Actuellement, le développement web côté-client (frontend) est très souvent réalisé en JavaScript ou dans des langages dérivés comme TypeScript. Il existe cependant d’autres outils intéressants, basés sur des langages de programmation fonctionnelle, qui permettent notamment d’éviter de nombreuses erreurs lors de l’exécution sur le navigateur.</p>
<p>L’objectif de ce tutoriel est de rappeler quelques généralités sur le développement web frontend, et de présenter les outils Elm, Purescript, Miso et Reflex, à partir d’un exemple d’application (gallerie d’images fournie via une API web).</p>
<p><a href="https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_24/2018-08-17-README.html" target="_blank" rel="noopener noreferrer">https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_24/2018-08-17-README.html</a></p>
]]></content:encoded>
            <dc:creator>tuto_fonctionnel</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="152616465" type="video/mp4" url="https://peertube.fr/static/web-videos/5366b42a-006d-4d97-9a24-bdd5a50d2598-720.mp4"/>
            <media:community>
                <media:statistics views="19"/>
            </media:community>
            <media:embed url="https://video.ploud.fr/videos/embed/5366b42a-006d-4d97-9a24-bdd5a50d2598"/>
            <media:player url="https://video.ploud.fr/w/bijWAZSWvHkSCyY72L9URf"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/d73f494f-7b86-40ed-ac7f-abe8464e1521-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/4162b5a3-cde5-47dc-a79e-049d3c40d45c-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/506b3f73-dc8c-4a9a-bc54-27c18abaa79c-360.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/11387b7a-22a7-4c26-b004-358adba77883-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="152616465" url="https://peertube.fr/static/web-videos/5366b42a-006d-4d97-9a24-bdd5a50d2598-720.mp4" framerate="30" duration="1766" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="96073937" url="https://peertube.fr/static/web-videos/5366b42a-006d-4d97-9a24-bdd5a50d2598-480.mp4" framerate="30" duration="1766" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="360" fileSize="73534325" url="https://peertube.fr/static/web-videos/5366b42a-006d-4d97-9a24-bdd5a50d2598-360.mp4" framerate="30" duration="1766" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="54291317" url="https://peertube.fr/static/web-videos/5366b42a-006d-4d97-9a24-bdd5a50d2598-240.mp4" framerate="30" duration="1766" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/previews/235e6ced-202f-417d-81f6-90228bca6566.jpg"/>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/thumbnails/fed03299-d191-4806-b426-5856497966d9.jpg"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">tuto fonctionnel 24 : Développement web frontend en Haskell, Elm et Purescript</media:title>
            <media:description type="plain">Actuellement, le développement web côté-client (frontend) est très souvent réalisé en JavaScript ou dans des langages dérivés comme TypeScript. Il existe cependant d’autres outils intéressants, basés sur des langages de programmation fonctionnelle...</media:description>
        </item>
        <item>
            <title><![CDATA[tuto fonctionnel 25 : Un serveur de webcam en 35 lignes de Haskell]]></title>
            <link>https://video.ploud.fr/w/vmYBYyQLe6nbKG4aApEha9</link>
            <guid>https://video.ploud.fr/w/vmYBYyQLe6nbKG4aApEha9</guid>
            <pubDate>Tue, 30 Jul 2019 21:48:06 GMT</pubDate>
            <description><![CDATA[Pour mettre en place une webcam, on connecte une caméra à un ordinateur sur lequel on fait tourner un serveur retransmettant les images. Celles-ci sont alors accessibles via des requêtes au serveur. Cet article présente comment implémenter un ...]]></description>
            <content:encoded><![CDATA[<p>Pour mettre en place une webcam, on connecte une caméra à un ordinateur sur lequel on fait tourner un serveur retransmettant les images. Celles-ci sont alors accessibles via des requêtes au serveur.</p>
<p>Cet article présente comment implémenter un serveur de webcam en Haskell. Le serveur proposé transmet l'image courante en réponse aux requêtes HTTP. En parallèle (via un thread léger), il met également à jour l'image courante à partir du flux vidéo.</p>
<p><a href="https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_25/2018-08-25-en-README.html" target="_blank" rel="noopener noreferrer">https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_25/2018-08-25-en-README.html</a></p>
]]></content:encoded>
            <dc:creator>tuto_fonctionnel</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="48241754" type="video/mp4" url="https://peertube.fr/static/web-videos/edc6ca3e-8acd-48fc-b065-78984b9fbfb2-720.mp4"/>
            <media:community>
                <media:statistics views="19"/>
            </media:community>
            <media:embed url="https://video.ploud.fr/videos/embed/edc6ca3e-8acd-48fc-b065-78984b9fbfb2"/>
            <media:player url="https://video.ploud.fr/w/vmYBYyQLe6nbKG4aApEha9"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/a2292691-8bb1-4306-878c-28b3d1c3c862-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/3eb65bb0-d1af-4d18-a375-d2572230a82d-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/c5c65e41-1498-47e9-88ee-9eb3e2b2fba5-360.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/51c57ff6-43bf-46a9-88b8-97ccee00b677-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="48241754" url="https://peertube.fr/static/web-videos/edc6ca3e-8acd-48fc-b065-78984b9fbfb2-720.mp4" framerate="30" duration="507" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="29645125" url="https://peertube.fr/static/web-videos/edc6ca3e-8acd-48fc-b065-78984b9fbfb2-480.mp4" framerate="30" duration="507" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="360" fileSize="22294914" url="https://peertube.fr/static/web-videos/edc6ca3e-8acd-48fc-b065-78984b9fbfb2-360.mp4" framerate="30" duration="507" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="16062462" url="https://peertube.fr/static/web-videos/edc6ca3e-8acd-48fc-b065-78984b9fbfb2-240.mp4" framerate="30" duration="507" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/previews/3412281d-dc19-4330-ac6b-ede5601d9203.jpg"/>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/thumbnails/14606cbf-211b-41c7-ae89-89ab786f915f.jpg"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">tuto fonctionnel 25 : Un serveur de webcam en 35 lignes de Haskell</media:title>
            <media:description type="plain">Pour mettre en place une webcam, on connecte une caméra à un ordinateur sur lequel on fait tourner un serveur retransmettant les images. Celles-ci sont alors accessibles via des requêtes au serveur. Cet article présente comment implémenter un ...</media:description>
        </item>
        <item>
            <title><![CDATA[tuto fonctionnel 26 : Installer Node.js sur Debian : binaires, Nix ou Docker ?]]></title>
            <link>https://video.ploud.fr/w/8Lyh5n47q5oBMJRKo8iXnz</link>
            <guid>https://video.ploud.fr/w/8Lyh5n47q5oBMJRKo8iXnz</guid>
            <pubDate>Tue, 30 Jul 2019 21:46:18 GMT</pubDate>
            <description><![CDATA[Node.js est un outils très classique pour développer des applications web côté-serveur en JavaScript. La version LTS actuelle de Node.js est la 8. Malheureusement, Debian (Stretch) propose seulement la version 4, sans le gestionnaire de paquets NP...]]></description>
            <content:encoded><![CDATA[<p>Node.js est un outils très classique pour développer des applications web côté-serveur en JavaScript. La version LTS actuelle de Node.js est la 8. Malheureusement, Debian (Stretch) propose seulement la version 4, sans le gestionnaire de paquets NPM, ce qui n’est pas satisfaisant pour développer en Node.js correctement. Ce tutoriel présente plusieurs méthodes pour installer une version plus récente de Node.js.</p>
<p><a href="https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_26/2018-09-08-README.html" target="_blank" rel="noopener noreferrer">https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_26/2018-09-08-README.html</a></p>
]]></content:encoded>
            <dc:creator>tuto_fonctionnel</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="169112888" type="video/mp4" url="https://peertube.fr/static/web-videos/3ee89687-8e7f-44bc-a5a0-f1a9c183d2b7-720.mp4"/>
            <media:community>
                <media:statistics views="9"/>
            </media:community>
            <media:embed url="https://video.ploud.fr/videos/embed/3ee89687-8e7f-44bc-a5a0-f1a9c183d2b7"/>
            <media:player url="https://video.ploud.fr/w/8Lyh5n47q5oBMJRKo8iXnz"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/55f039cb-43f6-4555-8a8f-e9f7afd56a70-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/f7d637ed-a01e-4e6a-8737-f6c1feff3bde-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/e0125a8b-c8d4-4c9e-9337-d1b5d66b6590-360.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/f46a3e92-c064-498a-b5d8-5e70a0bd878c-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="169112888" url="https://peertube.fr/static/web-videos/3ee89687-8e7f-44bc-a5a0-f1a9c183d2b7-720.mp4" framerate="30" duration="1947" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="113152150" url="https://peertube.fr/static/web-videos/3ee89687-8e7f-44bc-a5a0-f1a9c183d2b7-480.mp4" framerate="30" duration="1947" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="360" fileSize="86005668" url="https://peertube.fr/static/web-videos/3ee89687-8e7f-44bc-a5a0-f1a9c183d2b7-360.mp4" framerate="30" duration="1947" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="62917050" url="https://peertube.fr/static/web-videos/3ee89687-8e7f-44bc-a5a0-f1a9c183d2b7-240.mp4" framerate="30" duration="1947" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/previews/1dd12967-97a3-4d9c-99b8-292b4d293e14.jpg"/>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/thumbnails/3a554f1f-5297-4ecf-8f7e-c5cdc05637b9.jpg"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">tuto fonctionnel 26 : Installer Node.js sur Debian : binaires, Nix ou Docker ?</media:title>
            <media:description type="plain">Node.js est un outils très classique pour développer des applications web côté-serveur en JavaScript. La version LTS actuelle de Node.js est la 8. Malheureusement, Debian (Stretch) propose seulement la version 4, sans le gestionnaire de paquets NP...</media:description>
        </item>
        <item>
            <title><![CDATA[tuto fonctionnel 23 : Déployer une application Haskell/PostgreSQL sur Heroku]]></title>
            <link>https://video.ploud.fr/w/n34SVnRoz5PyAe7qUagA6f</link>
            <guid>https://video.ploud.fr/w/n34SVnRoz5PyAe7qUagA6f</guid>
            <pubDate>Tue, 30 Jul 2019 21:44:10 GMT</pubDate>
            <description><![CDATA[Heroku est un service de cloud de type PaaS (Platform as a Service), comme Amazon Web Service, Google App Engine, Microsoft Azure, Red Hat OpenShift… Heroku propose une offre gratuite, limitée mais suffisante pour déployer des applications web sim...]]></description>
            <content:encoded><![CDATA[<p>Heroku est un service de cloud de type PaaS (Platform as a Service), comme Amazon Web Service, Google App Engine, Microsoft Azure, Red Hat OpenShift… Heroku propose une offre gratuite, limitée mais suffisante pour déployer des applications web simples.</p>
<p>Ce tutoriel montre comment écrire, configurer et déployer, sur Heroku, une application web en Haskell avec une base de données PostgreSQL.</p>
<p><a href="https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_23/2018-07-01-README.html" target="_blank" rel="noopener noreferrer">https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_23/2018-07-01-README.html</a></p>
]]></content:encoded>
            <dc:creator>tuto_fonctionnel</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="67542403" type="video/mp4" url="https://peertube.fr/static/web-videos/aa59ca0d-1fb9-40cf-bcc2-45847f6b1060-720.mp4"/>
            <media:community>
                <media:statistics views="11"/>
            </media:community>
            <media:embed url="https://video.ploud.fr/videos/embed/aa59ca0d-1fb9-40cf-bcc2-45847f6b1060"/>
            <media:player url="https://video.ploud.fr/w/n34SVnRoz5PyAe7qUagA6f"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/dec5a441-5c00-43c1-bf55-74c31e6339d1-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/5c4f0387-0581-40d4-9416-e4b9060023bd-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/2c9ede62-919b-4b4c-8b32-0de61ef1d4d6-360.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://video.ploud.fr/lazy-static/torrents/9171256c-5534-4d08-a4f3-5e096007b489-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="67542403" url="https://peertube.fr/static/web-videos/aa59ca0d-1fb9-40cf-bcc2-45847f6b1060-720.mp4" framerate="30" duration="742" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="43376876" url="https://peertube.fr/static/web-videos/aa59ca0d-1fb9-40cf-bcc2-45847f6b1060-480.mp4" framerate="30" duration="742" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="360" fileSize="32434738" url="https://peertube.fr/static/web-videos/aa59ca0d-1fb9-40cf-bcc2-45847f6b1060-360.mp4" framerate="30" duration="742" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="23613804" url="https://peertube.fr/static/web-videos/aa59ca0d-1fb9-40cf-bcc2-45847f6b1060-240.mp4" framerate="30" duration="742" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/previews/451ff3e5-bffd-4120-813a-79a20571d31f.jpg"/>
            <media:thumbnail url="https://video.ploud.fr/lazy-static/thumbnails/924179b3-3433-4ef7-8211-152b6874e2a5.jpg"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">tuto fonctionnel 23 : Déployer une application Haskell/PostgreSQL sur Heroku</media:title>
            <media:description type="plain">Heroku est un service de cloud de type PaaS (Platform as a Service), comme Amazon Web Service, Google App Engine, Microsoft Azure, Red Hat OpenShift… Heroku propose une offre gratuite, limitée mais suffisante pour déployer des applications web sim...</media:description>
        </item>
    </channel>
</rss>