{"id":2260,"date":"2023-01-03T22:44:17","date_gmt":"2023-01-03T21:44:17","guid":{"rendered":"https:\/\/www.webodesign.net\/?p=2260"},"modified":"2023-01-06T09:44:48","modified_gmt":"2023-01-06T08:44:48","slug":"installer-freshrss-sur-debian-11-avec-un-serveur-web-apache2","status":"publish","type":"post","link":"https:\/\/www.webodesign.net\/?p=2260","title":{"rendered":"Installer FreshRSS sur Debian 11 avec un serveur Web Apache2"},"content":{"rendered":"\n<div class=\"wp-block-uagb-container uagb-block-09ef758d alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<div class=\"wp-block-columns is-layout-flex wp-container-9\">\n<div class=\"wp-block-column is-layout-flow\">\n<div class=\"wp-block-group is-layout-flow\">\n<div class=\"wp-block-group is-layout-flow\" style=\"border-style:none;border-width:0px;border-radius:0px\">\t\t\t\t<div class=\"wp-block-uagb-table-of-contents uagb-toc__align-left uagb-toc__columns-1  uagb-block-647d8047     \"\n\t\t\t\t\tdata-scroll= \"1\"\n\t\t\t\t\tdata-offset= \"30\"\n\t\t\t\t\tstyle=\"\"\n\t\t\t\t>\n\t\t\t\t<div class=\"uagb-toc__wrap\">\n\t\t\t\t\t\t<div class=\"uagb-toc__title\">\n\t\t\t\t\t\t\tSommaire\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uagb-toc__list-wrap\">\n\t\t\t\t\t\t<ol class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#1-pr\u00e9sentation\" class=\"uagb-toc-link__trigger\">1. Pr\u00e9sentation<\/a><li class=\"uagb-toc__list\"><a href=\"#2-installation-du-serveur-web-apache-php-base-de-donn\u00e9es\" class=\"uagb-toc-link__trigger\">2. Installation du serveur Web : Apache, PHP, base de donn\u00e9es<\/a><ul class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#21-installation-dapache2\" class=\"uagb-toc-link__trigger\">2.1. Installation d&#039;Apache2<\/a><li class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#22-installation-de-la-derni\u00e8re-version-de-php\" class=\"uagb-toc-link__trigger\">2.2. Installation de la derni\u00e8re version de PHP<\/a><li class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#23-installation-de-mariadb\" class=\"uagb-toc-link__trigger\">2.3. Installation de MariaDB<\/a><\/li><\/ul><\/li><li class=\"uagb-toc__list\"><a href=\"#3-installation-pas-\u00e0-pas-de-freshrss\" class=\"uagb-toc-link__trigger\">3. Installation pas-\u00e0-pas de FreshRSS<\/a><ul class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#31-cr\u00e9er-une-base-de-donn\u00e9es-pour-freshrss\" class=\"uagb-toc-link__trigger\">3.1. Cr\u00e9er une base de donn\u00e9es pour FreshRSS<\/a><li class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#32-t\u00e9l\u00e9charger-et-installer-freshrss\" class=\"uagb-toc-link__trigger\">3.2. T\u00e9l\u00e9charger et installer FreshRSS<\/a><li class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#33-finaliser-linstallation-de-freshrss\" class=\"uagb-toc-link__trigger\">3.3. Finaliser l&#039;installation de FreshRSS<\/a><\/li><\/ul><\/li><\/ul><\/li><li class=\"uagb-toc__list\"><a href=\"#4-conclusion\" class=\"uagb-toc-link__trigger\">4. Conclusion<\/a><\/ul><\/ul><\/ol>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\n\n<div class=\"wp-block-group has-border-color has-vivid-cyan-blue-border-color has-background is-layout-flow\" style=\"border-style:dotted;border-width:2px;border-radius:8px;background-color:#fffdf8;padding-right:7px;padding-bottom:15px;padding-left:7px\">\n<h2 class=\"has-text-color wp-block-heading\" id=\"1-i-pr%C3%A9sentation\" style=\"color:#fffdf8;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0;font-size:1px\">1. Pr\u00e9sentation<\/h2>\n\n\n\n<div class=\"qubely-block-accordion  qubely-block-d34844\" data-item-toggle=\"true\">\n<div class=\"wp-block-qubely-accordion-item qubely-block-62a916\"><div class=\"qubely-accordion-item qubely-type-fill qubely-accordion-active\"><div class=\"qubely-accordion-panel qubely-icon-position-right\"><span class=\"qubely-accordion-panel-handler\" role=\"button\"><span class=\"qubely-accordion-panel-handler-label\">1. Pr\u00e9sentation<\/span><span class=\"qubely-accordion-icon fa fa-plus\"><\/span><\/span><\/div><div class=\"qubely-accordion-body\" style=\"display:block\"><div itemprop=\"text\">\n<p><strong>Nous allons installer FreshRSS sur une machine sous Debian 11 o\u00f9 nous allons utiliser le serveur Web Apache 2, le moteur de scripts PHP ainsi que MariaDB pour la base de donn\u00e9es de l&rsquo;application.<\/strong><\/p>\n\n\n\n<p>Pour rappel, FreshRSS est un agr\u00e9gateur de flux open source que vous pouvez installer sur un NAS, un Raspberry Pi, un serveur Web Linux, etc&#8230; Il y a plusieurs fa\u00e7ons diff\u00e9rentes de d\u00e9ployer cette application. Il existe \u00e9galement un container Docker.<\/p>\n\n\n\n<p>Si l&rsquo;on se r\u00e9f\u00e8re aux pr\u00e9requis list\u00e9s sur le GitHub officiel de FreshRSS, nous avons besoin des \u00e9l\u00e9ments suivants pour r\u00e9aliser une installation manuelle :<\/p>\n\n\n\n<ul>\n<li><strong>Serveur Web<\/strong> : Apache2 (recommand\u00e9), <a href=\"https:\/\/www.it-connect.fr\/cours-tutoriels\/administration-systemes\/serveur-web\/tutoriels-nginx\/\">Nginx<\/a> ou Lighttpd<\/li>\n\n\n\n<li><strong>Version de PHP<\/strong> : 7.0+ ainsi que plusieurs extensions (cURL, XML, JSON, MySQL, GMP)<\/li>\n\n\n\n<li><strong>Serveur de bases de donn\u00e9es<\/strong> :&nbsp;MySQL 5.5.3+ ou MariaDB, ou SQLite 3.7.4+, ou PostgreSQL 9.5+<\/li>\n<\/ul>\n<\/div><\/div><\/div><\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-border-color has-vivid-cyan-blue-border-color has-background is-layout-flow\" style=\"border-style:dotted;border-width:2px;border-radius:8px;background-color:#fffdf8;padding-right:7px;padding-bottom:15px;padding-left:7px\">\n<h2 class=\"has-text-color wp-block-heading\" id=\"1-i-pr%C3%A9sentation\" style=\"color:#fffdf8;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0;font-size:1px\">2. Installation du serveur Web : Apache, PHP, base de donn\u00e9es<\/h2>\n\n\n\n<div class=\"qubely-block-accordion  qubely-block-d34844\" data-item-toggle=\"true\">\n<div class=\"wp-block-qubely-accordion-item qubely-block-5dd03a\"><div class=\"qubely-accordion-item qubely-type-fill qubely-accordion-active\"><div class=\"qubely-accordion-panel qubely-icon-position-right\"><span class=\"qubely-accordion-panel-handler\" role=\"button\"><span class=\"qubely-accordion-panel-handler-label\">2. Installation du serveur Web : Apache, PHP, base de donn\u00e9es<\/span><span class=\"qubely-accordion-icon fa fa-plus\"><\/span><\/span><\/div><div class=\"qubely-accordion-body\" style=\"display:block\"><div itemprop=\"text\">\n<div class=\"wp-block-uagb-advanced-heading uagb-block-d34d7ee8\"><h3 class=\"uagb-heading-text\">2.1. Installation d&rsquo;Apache2<\/h3><\/div>\n\n\n\n<p>Mise \u00e0 jour du cache des paquets :<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;showPanel&quot;:false,&quot;languageLabel&quot;:&quot;no&quot;,&quot;language&quot;:&quot;Shell&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">sudo apt-get update<\/pre><\/div>\n\n\n\n<p>Installation d&rsquo;Apache2 et activation du d\u00e9marrage automatique :<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;showPanel&quot;:false,&quot;languageLabel&quot;:&quot;no&quot;,&quot;language&quot;:&quot;Shell&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">sudo apt-get install -y apache2\nsudo systemctl enable apache2<\/pre><\/div>\n\n\n\n<p>Activation des modules essentiels d&rsquo;Apache2 : rewrite, deflate, headers, ssl (pour passer le site en HTTPS)<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;showPanel&quot;:false,&quot;languageLabel&quot;:&quot;no&quot;,&quot;language&quot;:&quot;Shell&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">sudo a2enmod rewrite\nsudo a2enmod deflate\nsudo a2enmod headers\nsudo a2enmod ssl<\/pre><\/div>\n\n\n\n<p>Red\u00e9marrage Apache2 :<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;showPanel&quot;:false,&quot;languageLabel&quot;:&quot;no&quot;,&quot;language&quot;:&quot;Shell&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">sudo systemctl restart apache2<\/pre><\/div>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-3e2ed2f6\"><h3 class=\"uagb-heading-text\">2.2. Installation de la derni\u00e8re version de PHP<\/h3><\/div>\n\n\n\n<p>Installation de la derni\u00e8re version de PHP 7.4 disponible dans les d\u00e9p\u00f4ts de Debian 11 :<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;showPanel&quot;:false,&quot;languageLabel&quot;:&quot;no&quot;,&quot;language&quot;:&quot;Shell&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">sudo apt-get install -y php<\/pre><\/div>\n\n\n\n<p>Installation de modules suppl\u00e9mentaires :<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;showPanel&quot;:false,&quot;languageLabel&quot;:&quot;no&quot;,&quot;language&quot;:&quot;Shell&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">sudo apt-get install -y php-pdo php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath php-json php-gmp<\/pre><\/div>\n\n\n\n<p>Red\u00e9marrage Apache2 :<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;showPanel&quot;:false,&quot;languageLabel&quot;:&quot;no&quot;,&quot;language&quot;:&quot;Shell&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">sudo systemctl restart apache2<\/pre><\/div>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-fa4373cd\"><h3 class=\"uagb-heading-text\">2.3. Installation de MariaDB<\/h3><\/div>\n\n\n\n<p>Installation d&rsquo;un serveur MariaDB pour stocker la base de donn\u00e9es SQL de l&rsquo;application. Vous pouvez aussi utiliser MySQL ou pourquoi pas SQLite.<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;showPanel&quot;:false,&quot;languageLabel&quot;:&quot;no&quot;,&quot;language&quot;:&quot;Shell&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">sudo apt-get install -y mariadb-server<\/pre><\/div>\n\n\n\n<p>S\u00e9curisation de base du serveur MariaDB, notamment pour d\u00e9finir le mot de passe \u00ab\u00a0root\u00a0\u00bb :<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;showPanel&quot;:false,&quot;languageLabel&quot;:&quot;no&quot;,&quot;language&quot;:&quot;Shell&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">sudo mariadb-secure-installation<\/pre><\/div>\n\n\n\n<p class=\"has-vivid-green-cyan-color has-text-color\"><strong>\u00c0 partir de l\u00e0, Apache2, PHP et MariaDB sont install\u00e9s sur notre serveur Debian 11.<\/strong><\/p>\n<\/div><\/div><\/div><\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-border-color has-vivid-cyan-blue-border-color has-background is-layout-flow\" style=\"border-style:dotted;border-width:2px;border-radius:8px;background-color:#fffdf8;padding-right:7px;padding-bottom:15px;padding-left:7px\">\n<h2 class=\"has-text-color wp-block-heading\" id=\"1-i-pr%C3%A9sentation\" style=\"color:#fffdf8;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0;font-size:1px\">3. Installation pas-\u00e0-pas de FreshRSS<\/h2>\n\n\n\n<div class=\"qubely-block-accordion  qubely-block-d34844\" data-item-toggle=\"true\">\n<div class=\"wp-block-qubely-accordion-item qubely-block-791f0e\"><div class=\"qubely-accordion-item qubely-type-fill qubely-accordion-active\"><div class=\"qubely-accordion-panel qubely-icon-position-right\"><span class=\"qubely-accordion-panel-handler\" role=\"button\"><span class=\"qubely-accordion-panel-handler-label\">3. Installation pas-\u00e0-pas de FreshRSS<\/span><span class=\"qubely-accordion-icon fa fa-plus\"><\/span><\/span><\/div><div class=\"qubely-accordion-body\" style=\"display:block\"><div itemprop=\"text\">\n<div class=\"wp-block-uagb-advanced-heading uagb-block-71a46e02\"><h3 class=\"uagb-heading-text\">3.1. Cr\u00e9er une base de donn\u00e9es pour FreshRSS<\/h3><\/div>\n\n\n\n<p>Nous devons cr\u00e9er une base de donn\u00e9es sp\u00e9cifique \u00e0 FreshRSS. En compl\u00e9ment, un utilisateur d\u00e9di\u00e9 \u00e0 FreshRSS sera cr\u00e9\u00e9 et il aura des droits uniquement sur cette base de donn\u00e9es. Commen\u00e7ons par nous connecter \u00e0 notre instance MariaDB :<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;showPanel&quot;:false,&quot;languageLabel&quot;:&quot;no&quot;,&quot;language&quot;:&quot;Shell&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">sudo mariadb -u root -p<\/pre><\/div>\n\n\n\n<p>Saisissez le mot de passe \u00ab\u00a0root\u00a0\u00bb. Ensuite, on cr\u00e9e une base de donn\u00e9es pour FreshRSS. Dans cet exemple, elle s&rsquo;appelle \u00ab\u00a0<em>web_freshrss<\/em>\u00ab\u00a0.<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;sql&quot;,&quot;mime&quot;:&quot;text\/x-sql&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;showPanel&quot;:false,&quot;languageLabel&quot;:&quot;no&quot;,&quot;language&quot;:&quot;SQL&quot;,&quot;modeName&quot;:&quot;sql&quot;}\">CREATE DATABASE web_freshrss;<\/pre><\/div>\n\n\n\n<p>Puis, on cr\u00e9e un utilisateur nomm\u00e9 \u00ab\u00a0<em>admbdd_freshrss<\/em>\u00a0\u00bb avec le mot de passe \u00ab\u00a0<em>Votre-Super-Mot-De-Passe<\/em>\u00a0\u00bb :<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;sql&quot;,&quot;mime&quot;:&quot;text\/x-sql&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;showPanel&quot;:false,&quot;languageLabel&quot;:&quot;no&quot;,&quot;language&quot;:&quot;SQL&quot;,&quot;modeName&quot;:&quot;sql&quot;}\">CREATE USER 'admbdd_freshrss'@'localhost' IDENTIFIED BY 'Votre-Super-Mot-De-Passe';<\/pre><\/div>\n\n\n\n<p>Ensuite, on ajoute les droits \u00e0 ce nouvel utilisateur sur la base de donn\u00e9es que l&rsquo;on a cr\u00e9\u00e9e pr\u00e9c\u00e9demment et on nettoie les droits :<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;sql&quot;,&quot;mime&quot;:&quot;text\/x-sql&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;showPanel&quot;:false,&quot;languageLabel&quot;:&quot;no&quot;,&quot;language&quot;:&quot;SQL&quot;,&quot;modeName&quot;:&quot;sql&quot;}\">GRANT ALL PRIVILEGES ON web_freshrss.* TO admbdd_freshrss@localhost;\nFLUSH PRIVILEGES;<\/pre><\/div>\n\n\n\n<p>Enfin, on quitte le shell MariaDB, car nous avons termin\u00e9 :<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;sql&quot;,&quot;mime&quot;:&quot;text\/x-sql&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;showPanel&quot;:false,&quot;languageLabel&quot;:&quot;no&quot;,&quot;language&quot;:&quot;SQL&quot;,&quot;modeName&quot;:&quot;sql&quot;}\">EXIT;<\/pre><\/div>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-78e6455d\"><h3 class=\"uagb-heading-text\">3.2. T\u00e9l\u00e9charger et installer FreshRSS<\/h3><\/div>\n\n\n\n<p>Nous allons r\u00e9cup\u00e9rer les sources d&rsquo;installation de FreshRSS directement \u00e0 partir du GitHub en clonant le projet. Pour cela, nous avons besoin du paquet Git :<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;showPanel&quot;:false,&quot;languageLabel&quot;:&quot;no&quot;,&quot;language&quot;:&quot;Shell&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">sudo apt-get install -y git<\/pre><\/div>\n\n\n\n<p>Une fois que c&rsquo;est fait, nous pouvons cloner le projet avec la commande \u00ab\u00a0git clone\u00a0\u00bb en pr\u00e9cisant le chemin du projet. On va t\u00e9l\u00e9charger les donn\u00e9es dans \u00ab\u00a0\/tmp\u00a0\u00bb puisque ce n&rsquo;est que temporaire.<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;showPanel&quot;:false,&quot;languageLabel&quot;:&quot;no&quot;,&quot;language&quot;:&quot;Shell&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">cd \/tmp\ngit clone https:\/\/github.com\/FreshRSS\/FreshRSS<\/pre><\/div>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" src=\"https:\/\/www.it-connect.fr\/wp-content-itc\/uploads\/2022\/10\/FreshRSS-Telecharger-source-GitHub.png\" alt=\"FreshRSS - T\u00e9l\u00e9charger source GitHub\" class=\"wp-image-57348\"\/><\/figure>\n\n\n\n<p>Puis, on va d\u00e9placer le dossier \u00ab\u00a0FreshRSS\u00a0\u00bb \u00e0 la racine de notre serveur Web avec la commande \u00ab\u00a0mv\u00a0\u00bb :<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;showPanel&quot;:false,&quot;languageLabel&quot;:&quot;no&quot;,&quot;language&quot;:&quot;Shell&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">sudo mv \/tmp\/FreshRSS \/var\/www\/html\/<\/pre><\/div>\n\n\n\n<p>Cela signifie que pour acc\u00e9der \u00e0 FreshRSS, il sera n\u00e9cessaire d&rsquo;utiliser une URL comme celle-ci :<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;htmlmixed&quot;,&quot;mime&quot;:&quot;text\/html&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;showPanel&quot;:false,&quot;languageLabel&quot;:&quot;no&quot;,&quot;language&quot;:&quot;HTML&quot;,&quot;modeName&quot;:&quot;html&quot;}\">http:\/\/&lt;adresse IP du serveur&gt;\/FreshRSS<\/pre><\/div>\n\n\n\n<p>Cela s&rsquo;explique par le fait que<strong> la racine du site par d\u00e9faut d&rsquo;Apache2 est \u00ab\u00a0\/var\/www\/html\u00a0\u00bb<\/strong> et que notre applicatif est stock\u00e9 dans un sous-dossier. Pour ajuster cette configuration, vous pouvez modifier le fichier \u00ab\u00a0<em>\/etc\/apache2\/sites-enabled\/000-default.conf<\/em>\u00a0\u00bb et changer la valeur de la directive <em>DocumentRoot<\/em>.<\/p>\n\n\n\n<p><strong>Les donn\u00e9es sont d\u00e9plac\u00e9es \u00e0 la racine du site Web par d\u00e9faut d&rsquo;Apache2 mais il nous reste \u00e0 ajuster les droits.<\/strong><\/p>\n\n\n\n<p>Tout d&rsquo;abord, nous devons d\u00e9finir l&rsquo;utilisateur d&rsquo;Apache2 comme propri\u00e9taire :<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;showPanel&quot;:false,&quot;languageLabel&quot;:&quot;no&quot;,&quot;language&quot;:&quot;Shell&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">sudo chown -R www-data:www-data \/var\/www\/html\/FreshRSS<\/pre><\/div>\n\n\n\n<p>Puis, appliquer les permissions \u00ab\u00a0644\u00a0\u00bb sur les fichiers et \u00ab\u00a0755\u00a0\u00bb sur les dossiers. Je ne veux pas voir de permissions style \u00ab\u00a0777\u00a0\u00bb &#8230; Cela s&rsquo;effectue avec les commandes ci-dessous.<\/p>\n\n\n\n<p>Pour les fichiers, ex\u00e9cutez cette commande :<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;showPanel&quot;:false,&quot;languageLabel&quot;:&quot;no&quot;,&quot;language&quot;:&quot;Shell&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">sudo find \/var\/www\/html\/FreshRSS -type f -exec chmod 644 {} \\;<\/pre><\/div>\n\n\n\n<p>Pour les dossiers, ex\u00e9cutez cette commande :<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;showPanel&quot;:false,&quot;languageLabel&quot;:&quot;no&quot;,&quot;language&quot;:&quot;Shell&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">sudo find \/var\/www\/html\/FreshRSS -type d -exec chmod 755 {} \\;<\/pre><\/div>\n\n\n\n<p><strong>Voil\u00e0, passons \u00e0 la finalisation de l&rsquo;installation !<\/strong><\/p>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-8ec52e3a\"><h3 class=\"uagb-heading-text\">3.3. Finaliser l&rsquo;installation de FreshRSS<\/h3><\/div>\n\n\n\n<p>La suite et fin de l&rsquo;installation s&rsquo;effectue en mode web avec le navigateur ! Connectez-vous \u00e0 votre FreshRSS de cette fa\u00e7on :<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;htmlmixed&quot;,&quot;mime&quot;:&quot;text\/html&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;showPanel&quot;:false,&quot;languageLabel&quot;:&quot;no&quot;,&quot;language&quot;:&quot;HTML&quot;,&quot;modeName&quot;:&quot;html&quot;}\">http:\/\/&lt;adresse IP du serveur&gt;\/FreshRSS\nhttp:\/\/&lt;nom de domaine&gt;\/FreshRSS<\/pre><\/div>\n\n\n\n<p>La premi\u00e8re \u00e9tape consiste \u00e0 choisir la langue.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" src=\"https:\/\/www.it-connect.fr\/wp-content-itc\/uploads\/2022\/10\/Installer-FreshRSS-sur-Debian-11.png\" alt=\"Installer FreshRSS sur Debian 11\" class=\"wp-image-57349\"\/><\/figure>\n\n\n\n<p>Ensuite, l&rsquo;\u00e9tape \u00ab\u00a0<strong>V\u00e9rifications<\/strong>\u00a0\u00bb s&rsquo;affiche : tout doit \u00eatre vert afin de pouvoir continuer. Si ce n&rsquo;est pas le cas, c&rsquo;est probablement qu&rsquo;il vous manque une extension pour PHP (voir la liste commande pr\u00e9c\u00e9dente). Sinon, poursuivez.<\/p>\n\n\n\n<p>L&rsquo;\u00e9tape n\u00b03 consiste \u00e0 <strong>indiquer les informations pour se connecter \u00e0 la base de donn\u00e9es<\/strong> : h\u00f4te (localhost car c&rsquo;est le serveur local), nom de l&rsquo;utilisateur pour se connecter, son mot de passe, le nom de la base de donn\u00e9es et un pr\u00e9fixe pour les tables (utilisez autre chose que \u00ab\u00a0<em>freshrss<\/em>\u00a0\u00bb ou \u00ab\u00a0<em>rss<\/em>\u00ab\u00a0). R\u00e9utilisez les valeurs choisies lors de la cr\u00e9ation de la base de donn\u00e9es.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" src=\"https:\/\/www.it-connect.fr\/wp-content-itc\/uploads\/2022\/10\/FreshRSS-Base-de-donnees-MySQL.png\" alt=\"FreshRSS - Base de donn\u00e9es MySQL\" class=\"wp-image-57347\"\/><\/figure>\n\n\n\n<p>Enfin, l&rsquo;\u00e9tape n\u00b04 consiste \u00e0 cr\u00e9er un compte utilisateur qui sera administrateur de l&rsquo;instance FreshRSS. D\u00e9finissez un nom d&rsquo;utilisateur et un mot de passe !<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" src=\"https:\/\/www.it-connect.fr\/wp-content-itc\/uploads\/2022\/10\/FreshRSS-Creation-dun-compte-admin-800x344.png\" alt=\"FreshRSS - Cr\u00e9ation d'un compte admin\" class=\"wp-image-57346\"\/><\/figure>\n\n\n\n<p>Cliquez sur \u00ab\u00a0<strong>Terminer l&rsquo;installation<\/strong>\u00a0\u00bb si tout s&rsquo;est bien pass\u00e9 !<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" src=\"https:\/\/www.it-connect.fr\/wp-content-itc\/uploads\/2022\/10\/Synology-Installation-de-FreshRSS-Etape-5.png\" alt=\"Synology - Installation de FreshRSS - Etape 5\" class=\"wp-image-57140\"\/><\/figure>\n<\/div><\/div><\/div><\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-border-color has-vivid-cyan-blue-border-color has-background is-layout-flow\" style=\"border-style:dotted;border-width:2px;border-radius:8px;background-color:#fffdf8;padding-right:7px;padding-bottom:15px;padding-left:7px\">\n<h2 class=\"has-text-color wp-block-heading\" id=\"1-i-pr%C3%A9sentation\" style=\"color:#fffdf8;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0;font-size:1px\">4. Conclusion<\/h2>\n\n\n\n<div class=\"qubely-block-accordion  qubely-block-d34844\" data-item-toggle=\"true\">\n<div class=\"wp-block-qubely-accordion-item qubely-block-9cb495\"><div class=\"qubely-accordion-item qubely-type-fill qubely-accordion-active\"><div class=\"qubely-accordion-panel qubely-icon-position-right\"><span class=\"qubely-accordion-panel-handler\" role=\"button\"><span class=\"qubely-accordion-panel-handler-label\">4. Conclusion<\/span><span class=\"qubely-accordion-icon fa fa-plus\"><\/span><\/span><\/div><div class=\"qubely-accordion-body\" style=\"display:block\"><div itemprop=\"text\">\n<p><strong>Voil\u00e0, FreshRSS est install\u00e9 sur votre serveur Debian !&nbsp;<\/strong>Par d\u00e9faut, le flux RSS du GitHub correspondant aux versions de FreshRSS est int\u00e9gr\u00e9. Il ne vous reste plus qu&rsquo;\u00e0 ajouter vos premiers flux RSS ! Consultez l&rsquo;article d&rsquo;installation de FreshRSS sur un NAS Synology (<em>lien en d\u00e9but d&rsquo;article<\/em>) pour en savoir plus sur l&rsquo;utilisation et la configuration post-installation.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" src=\"https:\/\/www.it-connect.fr\/wp-content-itc\/uploads\/2022\/10\/Synology-Installation-de-FreshRSS-Tableau-de-bord-800x403.png\" alt=\"Synology - Installation de FreshRSS - Tableau de bord\" class=\"wp-image-57138\"\/><\/figure>\n\n\n\n<p>Pour aller plus loin, vous pouvez mettre en place un certificat SSL sur votre serveur Web pour passer sur une connexion HTTPS avec un certificat v\u00e9rifi\u00e9. Vous pouvez utiliser Let&rsquo;s Encryt, par exemple.<\/p>\n<\/div><\/div><\/div><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column uag-hide-tab uag-hide-mob is-layout-flow\" style=\"flex-basis:170px\">\n\n<div class=\"cleanlogin-container\">\t\t\n\n\t<form class=\"cleanlogin-form\" method=\"post\" action=\"https:\/\/www.webodesign.net\/?page_id=2385\" onsubmit=\"submit.disabled = true; return true;\">\n\t\t\t\n\t\t<fieldset>\n\n\t\t\t\t\t\t<div class=\"cleanlogin-field\">\n                <label for=\"log\">Identifiant<\/label>\n\t\t\t\t<input class=\"cleanlogin-field-username\" type=\"text\" name=\"log\" placeholder=\"Identifiant\" aria-label=\"Identifiant\">\n\t\t\t<\/div>\n\t\t\t\n\t\t\t<div class=\"cleanlogin-field\">\n                <label for=\"pwd\">Mot de passe<\/label>\n\t\t\t\t<input class=\"cleanlogin-field-password\" type=\"password\" id=\"pwd\" name=\"pwd\" placeholder=\"Mot de passe\" aria-label=\"Mot de passe\">\n                <i class=\"bi bi-eye-slash\" id=\"togglePassword\"><\/i>\n\t\t\t<\/div>\n\n\t\t\t\t\t\n\t\t\t<input type=\"hidden\" name=\"clean_login_wpnonce\" value=\"e994c14fba\">\n            \n\t\t\t\t\t<\/fieldset>\n\t\t\n\t\t<fieldset>\n\t\t\t<input class=\"cleanlogin-field\" type=\"submit\" value=\"Se connecter\" name=\"submit\">\n\t\t\t<input type=\"hidden\" name=\"action\" value=\"login\">\n\t\t\t\n\t\t\t<div class=\"cleanlogin-field cleanlogin-field-remember\">\n\t\t\t\t<input type=\"checkbox\" id=\"rememberme\" name=\"rememberme\" value=\"forever\">\n\t\t\t\t<label for=\"rememberme\">Se souvenir de moi\u00a0?<\/label>\n\t\t\t<\/div>\n\t\t<\/fieldset>\n\n\t\t\n\t\t<div class=\"cleanlogin-form-bottom\">\n\t\t\t\n            \n\t\t\t\t\t\t\t\t\t\n\t\t<\/div>\n\t\t\n\t<\/form>\n\n<\/div>\n\n<script>\nconst togglePassword = document.querySelector('#togglePassword');\nconst password = document.querySelector('#pwd');\n\ntogglePassword.addEventListener('click', function (e) {\n    const type = password.getAttribute('type') === 'password' ? 'text' : 'password';\n    password.setAttribute('type', type);\n    this.classList.toggle('bi-eye');\n});\n<\/script>\n<\/div>\n<\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Se tenir inform\u00e9 de l&rsquo;actualit\u00e9 &#8211; que \u00e7a soit les informations de soci\u00e9t\u00e9, des sujets sp\u00e9cifiques ou bien les mises \u00e0 jour de vos logiciels favoris h\u00e9berg\u00e9s sur Github &#8211; n&rsquo;est pas toujours ais\u00e9. Il faut aller de site en site pour chercher les informations, se rappeler de ce qu&rsquo;on a d\u00e9j\u00e0 lu ou pas, g\u00e9rer des favoris&#8230;<br \/>\nFreshRSS r\u00e9pond \u00e0 tous ces besoins et va nous simplifier la vie.<\/p>\n","protected":false},"author":3,"featured_media":2264,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"qubely_global_settings":"","qubely_interactions":"","_uag_custom_page_level_css":""},"categories":[18,21,16],"tags":[],"qubely_featured_image_url":{"full":["https:\/\/www.webodesign.net\/wp-content\/uploads\/2023\/01\/freshrss-install-00.png",940,490,false],"landscape":["https:\/\/www.webodesign.net\/wp-content\/uploads\/2023\/01\/freshrss-install-00.png",940,490,false],"portraits":["https:\/\/www.webodesign.net\/wp-content\/uploads\/2023\/01\/freshrss-install-00-540x320.png",540,320,true],"thumbnail":["https:\/\/www.webodesign.net\/wp-content\/uploads\/2023\/01\/freshrss-install-00-150x150.png",150,150,true],"medium":["https:\/\/www.webodesign.net\/wp-content\/uploads\/2023\/01\/freshrss-install-00-300x156.png",300,156,true],"medium_large":["https:\/\/www.webodesign.net\/wp-content\/uploads\/2023\/01\/freshrss-install-00-768x400.png",768,400,true],"large":["https:\/\/www.webodesign.net\/wp-content\/uploads\/2023\/01\/freshrss-install-00.png",940,490,false],"1536x1536":["https:\/\/www.webodesign.net\/wp-content\/uploads\/2023\/01\/freshrss-install-00.png",940,490,false],"2048x2048":["https:\/\/www.webodesign.net\/wp-content\/uploads\/2023\/01\/freshrss-install-00.png",940,490,false],"qubely_landscape":["https:\/\/www.webodesign.net\/wp-content\/uploads\/2023\/01\/freshrss-install-00.png",940,490,false],"qubely_portrait":["https:\/\/www.webodesign.net\/wp-content\/uploads\/2023\/01\/freshrss-install-00-540x320.png",540,320,true],"qubely_thumbnail":["https:\/\/www.webodesign.net\/wp-content\/uploads\/2023\/01\/freshrss-install-00-140x100.png",140,100,true]},"qubely_author":{"display_name":"R\u00e9mi","author_link":"https:\/\/www.webodesign.net\/?author=3"},"qubely_comment":0,"qubely_category":"<a href=\"https:\/\/www.webodesign.net\/?cat=18\" rel=\"category\">Formations<\/a> <a href=\"https:\/\/www.webodesign.net\/?cat=21\" rel=\"category\">Formations Linux<\/a> <a href=\"https:\/\/www.webodesign.net\/?cat=16\" rel=\"category\">Tutoriels Linux-Debian<\/a>","qubely_excerpt":"Se tenir inform\u00e9 de l'actualit\u00e9 - que \u00e7a soit les informations de soci\u00e9t\u00e9, des sujets sp\u00e9cifiques ou bien les mises \u00e0 jour de vos logiciels favoris h\u00e9berg\u00e9s sur Github - n'est pas toujours ais\u00e9. Il faut aller de site en site pour chercher les informations, se rappeler de ce qu'on a d\u00e9j\u00e0 lu ou pas,\u2026","uagb_featured_image_src":{"full":["https:\/\/www.webodesign.net\/wp-content\/uploads\/2023\/01\/freshrss-install-00.png",940,490,false],"thumbnail":["https:\/\/www.webodesign.net\/wp-content\/uploads\/2023\/01\/freshrss-install-00-150x150.png",150,150,true],"medium":["https:\/\/www.webodesign.net\/wp-content\/uploads\/2023\/01\/freshrss-install-00-300x156.png",300,156,true],"medium_large":["https:\/\/www.webodesign.net\/wp-content\/uploads\/2023\/01\/freshrss-install-00-768x400.png",768,400,true],"large":["https:\/\/www.webodesign.net\/wp-content\/uploads\/2023\/01\/freshrss-install-00.png",940,490,false],"1536x1536":["https:\/\/www.webodesign.net\/wp-content\/uploads\/2023\/01\/freshrss-install-00.png",940,490,false],"2048x2048":["https:\/\/www.webodesign.net\/wp-content\/uploads\/2023\/01\/freshrss-install-00.png",940,490,false],"qubely_landscape":["https:\/\/www.webodesign.net\/wp-content\/uploads\/2023\/01\/freshrss-install-00.png",940,490,false],"qubely_portrait":["https:\/\/www.webodesign.net\/wp-content\/uploads\/2023\/01\/freshrss-install-00-540x320.png",540,320,true],"qubely_thumbnail":["https:\/\/www.webodesign.net\/wp-content\/uploads\/2023\/01\/freshrss-install-00-140x100.png",140,100,true]},"uagb_author_info":{"display_name":"R\u00e9mi","author_link":"https:\/\/www.webodesign.net\/?author=3"},"uagb_comment_info":0,"uagb_excerpt":"Se tenir inform\u00e9 de l'actualit\u00e9 - que \u00e7a soit les informations de soci\u00e9t\u00e9, des sujets sp\u00e9cifiques ou bien les mises \u00e0 jour de vos logiciels favoris h\u00e9berg\u00e9s sur Github - n'est pas toujours ais\u00e9. Il faut aller de site en site pour chercher les informations, se rappeler de ce qu'on a d\u00e9j\u00e0 lu ou pas,\u2026","_links":{"self":[{"href":"https:\/\/www.webodesign.net\/index.php?rest_route=\/wp\/v2\/posts\/2260"}],"collection":[{"href":"https:\/\/www.webodesign.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.webodesign.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.webodesign.net\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webodesign.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2260"}],"version-history":[{"count":6,"href":"https:\/\/www.webodesign.net\/index.php?rest_route=\/wp\/v2\/posts\/2260\/revisions"}],"predecessor-version":[{"id":2279,"href":"https:\/\/www.webodesign.net\/index.php?rest_route=\/wp\/v2\/posts\/2260\/revisions\/2279"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.webodesign.net\/index.php?rest_route=\/wp\/v2\/media\/2264"}],"wp:attachment":[{"href":"https:\/\/www.webodesign.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2260"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webodesign.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2260"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webodesign.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2260"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}