Bye Gafam, les tutos ! - Tutoriels https://tutos.bye-gafam.org/categorie4/tutoriels fr while ( ! geek) code_again(); Sun, 22 Mar 2020 17:18:00 +0100 PluXml Duplicacy : Sauvegarder sur le Cloud avec chiffrement local https://tutos.bye-gafam.org/article22/duplicacy-sauvegardes-avec-chiffrement-local https://tutos.bye-gafam.org/article22/duplicacy-sauvegardes-avec-chiffrement-local <p>Comment sauvegarder sur le Cloud de façon rapide, fiable et chiffrée.</p> <p><br /> &nbsp;</p><h2># Duplicacy c'est quoi ?</h2> <p>C'est de la balle! C'est une solution de backup qui permet de faire de la sauvegarde complète ou incrémentale sur le support de votre choix.<br /> Celà peut être un autre disque local, ou un emplacement FTP, ou sur le Cloud S3(Amazon, Wasabi, DigitalOcean, Minio et), Google(GCP, Google Drive) ou chez Microsoft (Azure, Onedrive), ou sur du OpenSwift ou même OVH pour ceux qui ont conservé&nbsp; leur compte chez feu Hubic.</p> <p>Pour la liste complète des <a href="https://forum.duplicacy.com/t/supported-storage-backends/1107">stockages supportés c'est ici.</a></p> <p>Mais là où c'est intéressant, c'est qu'on peut chiffrer la sauvegarde en local, et pour encore plus de sécurité on peut effectuer le chiffrement en ajoutant sa propre clé privé RSA.</p> <p>Le code est opensource.</p> <p>L'utilisation du client en ligne de commande est gratuite pour les particuliers.<br /> Ceux qui le souhaitent peuvent bénéficier d'une interface Web mais elle est payante, ceci dit le prix n'est pas excessif à mon sens et la qualité du logiciel en vaut largement le prix.</p> <h2>&nbsp;</h2> <h2># Installation</h2> <p>Pour installer Duplicacy (sur Raspberry), il existe un playbook Ansible prêt à l'emploi :</p> <pre> git clone <a href="https://github.com/share-me/init_raspberry">https://github.com/share-me/init_raspberry</a> cd init_raspberry</pre> <p>Vérifiez que les variables par défaut soient bonnes dans le répertoire <strong>group_vars/all/</strong><br /> puis lancer le playbook uniquement sur la partie Duplicacy, comme indiqué dans le fichier README</p> <pre> ansible_playbook 4.duplicacy.yml</pre> <p>&nbsp;</p> <h2># Créer l'emplacement de la sauvegarde</h2> <p>Je ne vais pas expliquer ce point en détail car il existe beaucoup de stockage différents.</p> <p>Faites en sorte d'avoir créé le repertoire sur votre disque local/FTP ou le bucket/container s'il s'agit du cloud, et de pouvoir y accéder avec tout ce qu'il faut (password, token, etc)</p> <p><br /> Pour savoir ce qui est nécessaire, je vous renvoie encore à la <a href="https://forum.duplicacy.com/t/supported-storage-backends/1107">liste des stockages supportés par Duplicacy</a>.</p> <p>&nbsp;</p> <p>&nbsp;</p> <h2># Créer un script de sauvegarde</h2> <p>&nbsp;</p> <p>L'exemple suivant concerne un cas pratique, effectuer la sauvegarde de mes contacts et agendas que j'auto héberge grâce à la <a href="http://tutos.bye-gafam.org/article3/radicale-synchronisation-contacts-et-calendrier-installation">solution Radicale comme expliqué ici</a> pour ceux que ca intéresse.<br /> Et mon emplacement de sauvegarde est HUBIC.</p> <p>&nbsp;</p> <p>Notez que Duplicacy a une particularité, il utilise des noms de variables précis.<br /> Vous aurez juste à modifier les noms de variable du bloc #auth, pour celà <a href="https://forum.duplicacy.com/t/passwords-credentials-and-environment-variables/">je vous renvoie à la documentation</a> encore pour savoir comment vous devez nommer vos variables, c'est la 3eme colonne.</p> <p>&nbsp;</p> <p>&nbsp;</p> <pre> #!/bin/bash # ceci est mon script sauvegarder_radicale.ksh # remote storage export storage_url=hubic://Jarvis/Radicale/ export storage_name=radicale # local repository export snapshot_id=radicale_snapshots export repository=/home/radicale/.config/radicale/collections # auth export DUPLICACY_${storage_name^^}_HUBIC_TOKEN=/root/hubic-token.json export DUPLICACY_${storage_name^^}_PASSWORD='mon_super_mot_de_passe_de_chiffrage' # backup LOG=/var/log/$(basename $0).log date | tee -a $LOG cd ${repository} duplicacy backup -stats -storage ${storage_name} | tee -a $LOG</pre> <h2>Initialiser le repertoire à sauvegarder</h2> <p><br /> Pour celà on copie colle tous les exports de variables qu'on a dans notre script</p> <p>Et on lance l'initialisation ainsi</p> <pre> cd ${repository} duplicacy init -encrypt -repository ${repository} -storage-name ${storage_name} ${snapshot_id} ${storage_url}</pre> <p>&nbsp;</p> <p>Voilà tout est prêt, on rend le script executable.<br /> Reste plus qu'à l'executer régulièrement ou à l'ajouter&nbsp; dans la crontab par exemple.</p> Sun, 22 Mar 2020 17:18:00 +0100 Nerd Radicale : Importer ses contacts et agendas https://tutos.bye-gafam.org/article21/radicale-synchronisation-contacts-et-calendrier-utilisation https://tutos.bye-gafam.org/article21/radicale-synchronisation-contacts-et-calendrier-utilisation <p>Utilisation d'un serveur Radicale pour la synchronisation des contacts et calendriers ( CardDav / Caldav)</p><h2># Prelude</h2> <p>Vous avez suivi mon tuto sur <a href="https://tutos.bye-gafam.org/../article3/radicale-synchronisation-contacts-et-calendrier-installation">l'installation d'un serveur Radicale</a> sur le Raspberry?<br /> Vous êtes capables de vous connecter à l'interface Radicale, et vous vous souvenez bien de l'identifiant et du mot de passe ?<br /> Bien.</p> <p>Vous êtes prêts pour les étapes suivantes ?</p> <ol> <li>Exporter vos agendas</li> <li>Exporter vos contacts (carnet d'adresses)</li> <li>Créer dans Radicale un nouvel agenda et un nouveau carnet d'adresses</li> <li>Importer votre agenda</li> <li>Importer vos contacts</li> <li>Synchroniser le mobile (Agenda et contacts)</li> </ol> <p>&nbsp;</p> <h2># Exporter son agenda</h2> <p>&nbsp;</p> <div>Il faut d'abord récupérer ses données.<br /> Pour Google Agenda, il faut aller dans "Paramètres et Partage" en cliquant à droite de l'agenda, puis "Exporter".<br /> Répéter l'opération s'il y a plusieurs agendas à récupérer.</div> <div>Normalement vous avez récupéré un fichier dont l'extension est <strong>.ICS</strong></div> <div>&nbsp;</div> <h2># Exporter ses contacts</h2> <div>Concernant les contacts, il va falloir les exporter au format vCard<br /> Répéter l'opération s'il y a plusieurs carnets d'adresses à récupérer.</div> <div>Normalement vous avez récupéré un fichier dont l'extension est <strong>.VCS</strong></div> <div> <h2>&nbsp;</h2> <h2># Créer ses collections</h2> <div>Dans Radicale, ce qu'on appelle une collection n'est ni plus ni moins qu'un carnet d'adresses ou un agenda.</div> <div>Se connecter à l'interface Radicale : <a href="http://192.168.0.254:5232">http://192.168.0.254:5232</a> à l'aide de l'un des identifiants créés précédemment.</div> <div>&nbsp;</div> <div>On créé une collection&nbsp; 'AddressBook" que l'on peut appeler "mes contacts"</div> <div>Évidemment, rien ne vous empêche de créer plusieurs carnet d'adresses, mais je conseille plutot d'en avoir un seul, vous pourrez toujours séparer les contacts plus tard dans des groupes "perso", "pro", etc</div> <div>&nbsp;</div> <div>On créé une autre collection "Calendar, journal and tasks" que l'on peux appeler "mon agenda" par exemple.<br /> Pour les agendas par contre, je créé autant d'agenda que voulu.</div> <div>&nbsp;</div> <div><br /> &nbsp;</div> <div>Radicale est petit, rapide et efficace, mais il fait le strict minimum,Et oui, il n'est pas possible d'importer ses fichiers <strong>.ICS</strong> et <strong>.VCF</strong> directement.</div> <p>Pour importer les fichiers, on va utiliser un logiciel sur l'ordinateur.</p> <p>Perso j'ai installé le logiciel <a href="https://www.thunderbird.net/fr/">Thunderbird</a>, c'est un logiciel qui sert à gérer ses emails, mais j'ai ajouté 2 extensions / addons:</p> <ul> <li><a href="https://addons.thunderbird.net/fr/thunderbird/addon/lightning/">Lightning</a> - pour gérer mon agenda</li> <li><a href="https://addons.thunderbird.net/fr/thunderbird/addon/cardbook/?src=ss">Cardbook</a> - pour gérer mes contacts</li> </ul> <p>&nbsp;</p> </div> <div> <h2># Importer ses calendriers dans Radicale</h2> <p>J'ouvre Thunderbird, puis l'addon Lightning (menu &gt; évènements et tâches &gt; agenda) ou directement l'icone Agenda dans la barre en haut directement</p> <p>&nbsp;</p> <p>Dans le cadre à gauche, clic droit &gt; "nouvel agenda" &gt; "sur le réseau"</p> <ul> <li>format: Caldav</li> <li>nom d'utilisateur: &lt;on laisse vide&gt;</li> <li><u>Emplacement</u>: http://192.168.0.254:5232/ludo/181459e1-0f03-27ec-d7b8-b7844d2919d1/</li> </ul> <p>Dans <u>Emplacement</u>, on va coller la valeur de <u>URL</u> qu'on aura récupéré dans l'interface Radicale.</p> <p>A l'ecran suivant, on appelle son agenda "mon agenda" par exemple, et dans adresse electronique on met "aucun"</p> <p>Il devrait vous demander à l'écran suivant votre identifiant et mot de passe.<br /> On valide, si ca passe, tout va bien.</p> <p>&nbsp;</p> <p>Vient maintenant l'import en lui même.</p> <p>On clique le menu en haut à droite (les 3 petites barres horizontales) &gt; évènements et tâches &gt; importer et je fournis le .ICS<br /> On choisit bien "mon agenda"</p> <p>Thunderbird va se bloquer pendant 2-3 minutes le temps de faire l'import.</p> <p>Il n'est pas impossible que Thunderbird rafraichisse mal l'agenda, il faut décocher/recocher la case pour rafraichir l'affichage correctement.<br /> Puis je répète cette opération pour autant d'agenda que je souhaite avoir</p> <div>&nbsp;</div> &nbsp; <h2># Importer ses contacts dans Radicale</h2> <div>Toujours dans Thunderbird, j'ouvre l'addon Cardbook via la petite icone dans la barre en haut</div> <div>&nbsp;</div> <div>A gauche, clic droit &gt;&nbsp; "nouveau carnet d'adresse", je choisis le type "distant", à l'écran suivant je conserve donc bien Carddav et je renseigne l'URL fournie par Radicale ainsi que les identifiants que j'avais choisi.</div> <div>Je clique sur "Valider", s'il ne se passe rien c'est que c'est bon (oui c'est débile)</div> <div>&nbsp;</div> <div>Ne reste plus qu'à importer en faisant je clic droit sur mon nouveau carnet d'adresse et je fais "importer des contacts depuis un fichier" en fournissant donc mon fichier vCard <strong>.VCS</strong></div> <div>La barre en bas indique le status de la synchronisation, il faut bien faire attention.</div> <div>&nbsp;</div> <div><img alt="" src="https://tutos.bye-gafam.org/data/medias/utilisation-radicale/Carddav_Cardbook.png" style="width: 340px; height: 86px;" /></div> <div>Tant que vous voyez (modifiés localement: xx=) celà signifie que la synchronisation est toujours en cours.<br /> Si ca ne bouge plus pendant 1min recliquez sur "Synchroniser"</div> <div>&nbsp;</div> <div>&nbsp;</div> &nbsp; <h2># Synchroniser ses contacts et agendas avec son mobile</h2> <div>A partir de là, vous avez donc tout réimporter, libre à vous de faire des modifications de vos contacts et agendas depuis vos addons Thunderbird Cardbook et Lightning</div> <div>&nbsp;</div> <div>Concernant la synchronisation mobile (c'est ce qui intéresse le plus en général), je peux vous conseiller dans le choix des applications:</div> <ul> <li>Les applications de <a href="https://tutos.bye-gafam.org/article15/applis-android-gestion-contacts" target="_blank">gestion de contact</a></li> <li>Les applications de <a href="https://tutos.bye-gafam.org/article14/gestion-l-agenda" target="_blank">gestion de calendrier</a></li> </ul> <p>&nbsp;</p> </div> <p>&nbsp;</p> Sun, 22 Mar 2020 16:48:00 +0100 Nerd Pi-hole : Bloquer la publicité à la maison https://tutos.bye-gafam.org/article16/installer-pi-hole-pour-bloquer-publicite-maison https://tutos.bye-gafam.org/article16/installer-pi-hole-pour-bloquer-publicite-maison <blockquote> <p>Installation d'un serveur Pi-hole pour le blocage des publicités sur le réseau domestique</p> <p>&nbsp;</p> <p>Ci-dessous l'installation manuelle, mais il existe un playbook Ansible prêt à l'emploi :</p> <p><a href="https://github.com/share-me/init_raspberry">https://github.com/share-me/init_raspberry</a></p> </blockquote><h2># Pourquoi installer un serveur Pi-Hole ?</h2> <p>Lorsque l'on souhaite se débarrasser des publicités lorsqu'on surfe, il existe la méthode maintenant bien connue du <strong>Adblock</strong> / <strong>uBlock </strong>, on bloque donc au niveau du navigateur Web comme Firefox / Chrome / Brave / etc</p> <p><strong>Pi-hole</strong> bloque la publicité en amont, au niveau de la BOX.</p> <p>&nbsp;</p> <p>Vous savez que le <strong>DNS </strong>est ce qui fait le lien entre une adresse Internet et son adresse IP.<br /> Actuellement votre <strong>BOX </strong>fait office de <strong>relai DNS</strong>, elle ne filtre rien, et retransmets toutes les demandes de site web à votre fournisseur Internet (Orange, Free, Bouygues, etc)</p> <p>A la place, ce sera <strong>Pi-hole</strong> qui fera office de <strong>relai </strong><strong>DNS</strong>, mais avant de retransmettre la demande il va vérifier si le site web ne fait pas partie de sa <strong>blacklist</strong>, si oui alors la requête part dans le trou noir.</p> <p>&nbsp;</p> <p style="text-align: center;"><img alt="Le trou noir de pi-hole" src="https://tutos.bye-gafam.org/data/medias/pi-hole/pihole_llc.png" style="width: 384px; height: 249px;" /></p> <p><br /> <strong>Le gros avantage</strong> de filtrer au niveau de la BOX c'est que n'importe quel appareil connecté à la BOX bénéficiera du blocage de la publicité, PC fixe, PC Portable, la tablette, smartphones, etc.<br /> Mais là où c'est encore plus intéressant c'est qu'<strong>il</strong><strong> va bloquer également les publicités qui normalement s'affichent dans les applications du mobile ou de la tablette.</strong></p> <p>&nbsp;</p> <p>En fait celà bloque ce que vous voulez, la publicité mais également les traqueurs si vous souhaitez et vous pouvez même faire un simili de contrôle parental en bloquant des sites webs bien précis, à vous de gérer votre propre blacklist.</p> <p>&nbsp;</p> <h2># Comment l'installer</h2> <p>Comme vous l'avez bien compris, il faut avoir son propre serveur à la maison, ou un <a href="https://tutos.bye-gafam.org/article1/debuter-avec-raspberry">Raspberry</a> fait parfaitement l'affaire. Il existe des images Docker pour le Pi-Hole donc si vous avez un NAS Synology avec la fonctionnalité <a href="https://tutos.bye-gafam.org/article5/docker-conteneurisation-services">Docker</a> activée c'est aussi une solution.</p> <p>&nbsp;</p> <p>Pour l'installation, c'est pas bien compliqué, votre serveur doit avoir une adresse IP fixe et il suffit de lancer cette commande puis de suivre sagement la procédure :-)</p> <p class="header-subtitle2"><code><span style="font-family: &quot;andale mono&quot;, monospace;"><span>curl -sSL https://install.pi-hole.net | </span><span>bas</span>h</span><span data-mce-bogus="1" data-mce-type="format-caret" id="_mce_caret"><span style="font-family: &quot;andale mono&quot;, monospace;"></span></span></code></p> <p>(je conseille de configurer les DNS de CloudFlare, ce sont les plus rapides)</p> <p>Dans les lignes qui défilent, notez bien le mot de passe qui va apparaitre</p> <p>Reste plus qu'à se connecter sur l'interface <a href="http://pi.hole/admin/">http://pi.hole/admin/</a></p> <p>Par défaut, plusieurs listes anti-publicité sont déjà installées.</p> <h2>&nbsp;</h2> <h2># Modifier la configuration de sa BOX</h2> <p>Pi-hole est installé mais ce n'est pas pour autant que tous les appareils de la maison vont l'utiliser.</p> <p>Pour celà, se connecter à la BOX et modifier le DNS pour y mettre l'adresse IP qui correspond au Raspberry. (parfois il est nécessaire de redémarrer la BOX)</p> <p>La prochaine fois que vos appareils se connecteront au WIFI, ils recevront la configuration DHCP qui contient comme DNS l'adresse IP de votre <strong>pi-hole</strong>.</p> <p>&nbsp;</p> <p>Si la procédure a fonctionné, vous devriez voir dans l'interface <a href="http://pi.hole/admin/">http://pi.hole/admin/</a> toutes les requetes de vos appareils.</p> <h2>&nbsp;</h2> <h2># Pour les curieux</h2> <p>Le log d'installation se trouve dans <code>/etc/pihole</code><br /> changer le mot de passe de l'interface admin : <code>pihole -a -p</code><br /> mettre à jour pi-hole : <code>pihole -up</code></p> <p>Dans le dashboard pihole, ce sont les IPs qui s'affichent et non les hostnames, pour avoir les hostnames il faut activer le DHCP de Pi-Hole (et désactiver celui de la BOX du coup).<br /> Ou si vous voulez conserver le DHCP de la box, alors il y a une seconde option qui consiste à activer le "conditional forwarding" dans les options pi-hole.</p> <p>&nbsp;</p> Fri, 01 Mar 2019 23:42:00 +0100 Nerd Radicale : Installer un serveur Carddav/Caldav https://tutos.bye-gafam.org/article3/radicale-synchronisation-contacts-et-calendrier-installation https://tutos.bye-gafam.org/article3/radicale-synchronisation-contacts-et-calendrier-installation <blockquote> <p>Installation d'un serveur Radicale pour la synchronisation des contacts et calendriers ( CardDav / Caldav)</p> <p>&nbsp;</p> <p>Ci-dessous l'installation manuelle, mais il existe un playbook Ansible prêt à l'emploi :</p> <p><a href="https://github.com/share-me/init_raspberry">https://github.com/share-me/init_raspberry</a></p> </blockquote><h2>Pourquoi installer un serveur Radicale ?</h2> <div align="left" style="float: left;"><!--?xml version="1.0" encoding="UTF-8" standalone="no"?--> <div align="center"><svg height="300" width="200" xmlns="http://www.w3.org/2000/svg"> <path d="M 186,188 C 184,98 34,105 47,192 C 59,279 130,296 130,296 C 130,296 189,277 186,188 z" fill="#a40000"></path> <path d="M 73,238 C 119,242 140,241 177,222 C 172,270 131,288 131,288 C 131,288 88,276 74,238 z" fill="#ffffff"></path> <g fill="none" stroke="#4e9a06" stroke-width="15"> <path d="M 103,137 C 77,69 13,62 13,62"></path> <path d="M 105,136 C 105,86 37,20 37,20"></path> <path d="M 105,135 C 112,73 83,17 83,17"></path> </g> </svg></div> <div align="center">&nbsp;</div> <div align="center">&nbsp;</div> <div align="center">&nbsp;</div> <div align="center">&nbsp;</div> <div align="center">&nbsp;</div> </div> <div align="left">Radicale est un serveur CalDAV (calendriers, todo-lists) et CardDAV (contacts, groupes de contacts)</div> <div align="left">Il est libre, open-source et sous GPLv3.</div> <div align="center">&nbsp;</div> <div align="left">Il permet de synchroniser ses contacts, groupes de contacts, et calendriers.</div> <div align="left">&nbsp;</div> <div align="left">Plusieurs autres <a href="https://en.wikipedia.org/wiki/Comparison_of_CalDAV_and_CardDAV_implementations#Server_implementations" title="alternatives">alternatives</a> sont possibles, parmi lesquelles Baïkal</div> <div> <p><strong>ATTENTION:</strong> Avant de vous lancer dans l'installation d'un serveur Radicale pour auto-héberger vos propres données de contacts et calendrier, j'espère que vous avez bien conscience qu'il est de votre responsabilité de faire des sauvegardes régulières de ces données.</p> <h2>&nbsp;</h2> <h2>&nbsp;</h2> <h2>&nbsp;</h2> <h2>&nbsp;</h2> <h2>&nbsp;</h2> <h2># Installer python et son module pip</h2> </div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># avec le user <strong>pi</strong></div> <pre> <code>sudo apt -y install python3 python3-pip apache2-utils</code></pre> <h2>&nbsp;<br /> # Installation de Radicale et ses librairies</h2> <div> <p><code>sudo useradd radicale -m -s /bin/bash</code></p> <p><code>sudo mkdir -p /var/log/radicale/</code></p> <p><code>sudo chown -R radicale:radicale /var/log/radicale</code></p> <p><code>sudo passwd radicale</code></p> <p><code>sudo su - radicale</code></p> <p>&nbsp;</p> </div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># avec user radicale</div> <p><code>mkdir -p ~/.config/radicale/</code></p> <p><code>mkdir -p&nbsp; ~/.config/systemd/user/</code></p> <p><code>pip3 install --upgrade radicale radicale[bcrypt] passlib[bcrypt]</code></p> <div>&nbsp;</div> <div> <h2># Création du fichier de mot de passe&nbsp; (chiffrage bcrypt)</h2> <p><code>htpasswd -B -c&nbsp; ~/.config/radicale/users nom_du_compte1</code></p> <p><code>htpasswd -B&nbsp;&nbsp;&nbsp;&nbsp; ~/.config/radicale/users nom_du_compte(x)</code></p> </div> <div> <p>En mettant bien évidemment ce que vous voulez comme user à la place de <strong>nom_du_compte1</strong></p> <h3>&nbsp;</h3> <p>&nbsp;</p> <h2># Créer un fichier de configuration</h2> </div> <div>&nbsp;</div> <div><strong>nano ~/.config/radicale/config</strong></div> <pre> [auth] type = htpasswd htpasswd_filename = ~/.config/radicale/users # encryption method used in the htpasswd file htpasswd_encryption = bcrypt # Average delay after failed login attempts in seconds delay = 10 [storage] filesystem_folder = ~/.config/radicale/collections [server] # ouvert à toute IP hosts = 0.0.0.0:5232 max_connections = 2 # 1 Megabyte max_content_length = 10000000 # 10 seconds timeout = 10 </pre> <blockquote> <p><u>/!</u>&nbsp; Pour plus d'option, voir le site officiel<br /> <a href="https://radicale.org/3.0.html#documentation/configuration" title="https://radicale.org/configuration/">https://radicale.org/3.0.html#documentation/configuration</a></p> </blockquote> <div> <h3>&nbsp;</h3> <h3>&nbsp;</h3> <h2># Créer un fichier de logging (format python)</h2> </div> <div>&nbsp;</div> <div><code><strong>nano ~/.config/radicale/logs.conf </strong></code></div> <pre> [loggers] keys = root [handlers] keys = file [formatters] keys = full [logger_root] # Change this to DEBUG or INFO for higher verbosity. level = INFO handlers = file [handler_file] class = handlers.RotatingFileHandler # Specify the output file and parameter for rotation here. # See https://docs.python.org/3/library/logging.handlers.html#logging.handlers.RotatingFileHandler # Example: rollover at 100000 kB and keep 10 files (means 1 MB) args = ('/var/log/radicale/log', 'a', 100000, 10) formatter = full [formatter_full] format = %(asctime)s - [%(thread)x] %(levelname)s: %(message)s</pre> <blockquote> <p><u>/!</u>&nbsp; Pour plus d'option, voir le site officiel<br /> <a href="https://docs.python.org/3/library/logging.config.html#configuration-file-format" title="https://docs.python.org/3/library/logging.config.html#configuration-file-format">https://docs.python.org/3/library/logging.config.html#configuration-file-format</a></p> </blockquote> <div>&nbsp;</div> <div>&nbsp;</div> <div>&nbsp; <h2># Créer un fichier de service systemd</h2> </div> <div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"># revenir au user pi</div> <div>&nbsp;</div> <div><code>sudo nano /lib/systemd/system/radicale.service</code></div> <pre> [Unit] Description=A simple CalDAV (calendar) and CardDAV (contact) server [Service] ExecStart=/usr/bin/env python3 -m radicale Restart=on-failure User=radicale Group=radicale [Install] WantedBy=multi-user.target</pre> <p>&nbsp;</p> <h2># Activer le service Radicale</h2> <p><code>sudo systemctl enable radicale.service</code></p> <p><code>sudo systemctl start radicale</code></p> <p><code>systemctl status radicale</code></p> <h2>&nbsp;</h2> <h2># Vérifier les logs</h2> <p><code>journalctl --unit radicale.service</code></p> <p>Ou bien on jette un oeil dans le log</p> <p><code>cat&nbsp; /var/log/radicale/log</code></p> <pre> 2019-02-18 22:07:15,414 - [76f75640] INFO: Starting Radicale 2019-02-18 22:07:15,415 - [76f75640] INFO: Authentication type is 'htpasswd' 2019-02-18 22:07:16,612 - [76f75640] INFO: Storage type is 'multifilesystem' 2019-02-18 22:07:16,623 - [76f75640] INFO: Rights type is 'owner_only' 2019-02-18 22:07:16,623 - [76f75640] INFO: Web type is 'internal' 2019-02-18 22:07:16,633 - [76f75640] INFO: Listening to 'jarvis' on port 5232 2019-02-18 22:07:16,634 - [76f75640] INFO: Radicale server ready</pre> <h2># Utilisation</h2> <p>Je vous invite à lire l'article concerné sur <a href="https://tutos.bye-gafam.org/../article21/radicale-synchronisation-contacts-et-calendrier-utilisation">l'utilisation de Radicale</a></p> Tue, 26 Feb 2019 13:17:00 +0100 Nerd Installer un Raspberry pour les nuls https://tutos.bye-gafam.org/article1/debuter-avec-raspberry https://tutos.bye-gafam.org/article1/debuter-avec-raspberry <blockquote> <p>En partant de zéro absolu, comment bien débuter avec un Raspberry !</p> </blockquote><h2>Etape 0 - Un Raspberry c'est quoi ?</h2> <p>Le raspberry est un mini-ordinateur, sa puissance est faible mais l'avantage c'est qu'il fait la taille d'une boite d'allumette et qu'il ne consomme quasi rien.</p> <p>Il sera donc utilisé grosso-modo dans les 2 cas suivants:</p> <ol> <li>Vous l'utilisez en remplacement d'un ordinateur normal, pour surfer sans être pressé, et envoyer des emails.</li> <li>Vous l'utilisez comme serveur, en mode curieux (et non ce n'est pas réservé qu'aux geeks) pour avoir des petites fonctionnalités sympas sur le réseau de la maison.</li> </ol> <p>&nbsp;</p> <h2>Etape 1 - Acheter un Raspberry</h2> <p>Attention, il existe plusieurs versions: Zéro, 1, 2, 3, 4. Je conseille vivement la dernière version la 4.</p> <p>Vous allez devoir acheter séparément la carte mère Raspberry + le boîtier + l'alimentation + la SdCard + le cable micro-HDMI</p> <p>Il est possible d'acheter des Raspberry neufs sur <a href="https://www.materiel.net/recherche/raspberry%20pi%204/?department=424">materiel.net</a><br /> Vous pouvez le trouver d'occasion sur <a href="https://www.leboncoin.fr/recherche?category=15&amp;text=%22raspberry%20pi%204%22&amp;search_in=subject" title="leboncoin.fr">leboncoin.fr</a> mais attention à bien avoir tous les éléments.</p> <p>La solution simple consiste à prendre le <strong>kit complet Raspberry 4</strong>, le plus cher coûte <a href="https://www.kubii.fr/174-raspberry-pi-4-modele-b">environ 130€</a>, pour ce prix vous aurez la version la plus performante (8Go) ainsi qu'une SdCard de 32 Go et tout le nécessaire.</p> <p>&nbsp;</p> <p>Il faudra par contre penser à acheter en supplément un petit câble ethernet de 50cm, si vous souhaitez l'utiliser en mode serveur, pour pouvoir cacher (et oublier) votre Raspberry derrière la box Internet.</p> <p><img alt="Kit Raspberry 4 microSD 32GB RAM 8GB" src="https://tutos.bye-gafam.org/data/medias/raspberry/PR8WHEU_IMG_600x450.jpg" style="width: 600px; height: 450px;" /></p> <h2>&nbsp;</h2> <h2>Etape 2 - Installer 'Raspberry Pi OS'</h2> <p>Le Raspberry 4 fonctionne avec une microSD.</p> <p>Si vous avez acheté un kit, le système <strong>'Raspberry Pi OS'</strong> est déjà sur la carte, vous pouvez donc passer directement au chapitre suivant.</p> <p>Si vous avez acheter la carte à part, alors nous devons ajouter le système Linux 'Raspberry Pi OS' dessus.<br /> Il va vous falloir un ordinateur capable de lire les SD et un adaptateur SD/microSD.</p> <p>La fondation Raspberry fournit un petit logiciel très pratique qui permet en quelques clics de mettre sur cette microSD le système d'exploitation du Raspberry.<br /> Il faut aller sur la page officielle : <a href="https://www.raspberrypi.com/software/">https://www.raspberrypi.com/software/</a> et télécharger "Raspberry Pi Imager" ou bien la version Mac ou Ubuntu selon ce que vous avez.</p> <p>On exécute le logiciel et on suit la procédure très simple en 3 étapes:</p> <ol> <li>le bouton "CHOOSE OS" &gt; le premier choix "Raspberry Pi OS (32 bits)</li> <li>le bouton "CHOOSE SD CARD", choisissez la bonne Sd Card, à priori une seule apparaitra.</li> <li>le bouton "WRITE"<br /> &nbsp;</li> </ol> <p>&nbsp;</p> <h2>Etape 3 - Configurer Raspberry Pi OS</h2> <p>Insérer la Sd-Card dans le Raspberry, connecter un clavier et une souris à l'USB, ainsi que le câble HDMI à un écran.</p> <p>Après le démarrage (qui peut durer 5 minutes), on arrive sur le bureau Linux, une fenêtre de réglages en anglais apparait, passez les étapes comme suit:</p> <ol> <li>Fenetre de demarrage, faire "Next"</li> <li>Réglage de la langue, France, French</li> <li>Choisir un username "nom d'utilisateur", password "mot de passe", le retaper dans la case suivante</li> <li>Si l'image ne remplit pas tout l'écran, c'est à dire s'il y a des bandes noires autour, cocher la case</li> <li>Connexion au Wifi, taper le code.</li> <li>Proposition de mettre à jour le système, Next (ca dure entre 5 et 30 minutes selon la connexion Internet)</li> <li>Ecran final, Restart</li> <li>Le Raspberry redémarre, et revient sur l'écran de Bureau.</li> </ol> <p>&nbsp;</p> <p>Pour une utilisation comme simple bureau, <strong>c'est terminé, vous pouvez surfer !</strong></p> <p>&nbsp;</p> <h2>Etape 4 - Le transformer en serveur</h2> <p>&nbsp;</p> <p>Si vous voulez aller plus loin, comme par exemple installer <a href="https://tutos.bye-gafam.org/article16/installer-pi-hole-pour-bloquer-publicite-maison">Pihole </a>qui est un logiciel permettant de <strong>supprimer toutes les publicités</strong> de tous les appareils de la maison (PC, Portable, Tablette, etc) alors il vous faut transformer le Raspberry en serveur.</p> <p>&nbsp;</p> <h3>1. Activer l'accès à distance</h3> <p>Pour une utilisation comme serveur et y accéder depuis un autre ordinateur, il nous faut activer l'accès à distance.</p> <p>Menu &gt; Préférences &gt; Configuration du Raspberry &gt; onglet [Interface]</p> <ol> <li>Activer SSH - Accès terminal de commandes</li> <li>Activer VNC - Accès bureau</li> </ol> <p>On valide. J'expliquerais à l'étape 5 ce que sont ces 2 modes, on peut choisir l'un ou l'autre en fait selon ce qu'on veut faire.</p> <p><img alt="Raspberry PI OS - configuration panel" src="https://tutos.bye-gafam.org/data/medias/raspberry/raspberry_configuration_panel.png" style="width: 474px; height: 180px;" /></p> <p>&nbsp;</p> <p>&nbsp;</p> <p>&nbsp;</p> <h3>2. Executer mon script de préparation</h3> <p>Le reste de la configuration est plus compliqué mais j'ai une très bonne nouvelle pour vous, j'ai fais un playbook <a href="https://tutos.bye-gafam.org/article7/ansible-gestion-et-configuration-parc-linux">Ansible</a> qui va faire tout le travail pour vous.</p> <p>Vous n'avez pas besoin de savoir ce qu'est un playbook Ansible, nous allons juste l'utiliser.</p> <p>Nous allons devoir abandonner la souris et passer par le terminal.<br /> C'est quoi un terminal? Et bien c'est l'écran noir où on tape des commandes directement.<br /> Pas d'inquiétude c'est facile, ouvrez "<strong>LXTerminal</strong>" c'est la petite icone noire carrée en haut.<br /> Ll'écran affichera la ligne "&lt;votre-nom&gt;@raspberrypi" , signifiant qu'il attend les commandes.</p> <p>&nbsp;</p> <p>Depuis le Raspberry, ouvrir le navigateur Internet (l'icone à côté du Terminal) et rouvrez ce site Web pour&nbsp; copier/coller les 3 commandes suivantes entre mon site et le LXTerminal.<br /> &nbsp;</p> <pre> wget https://raw.githubusercontent.com/share-me/init_raspberry/master/files/get_repo.ksh &nbsp;-O get_repo.ksh chmod +x get_repo.ksh ./get_repo.ksh</pre> <p>Pour information il faut faire un clic droit pour coller, puis valider avec [Entrée]</p> <p>&nbsp;</p> <p>L'execution de la dernière ligne vous demandera comment vous souhaitez appeler votre Raspberry, personnellement je l'ai nommé <a href="https://fr.wikipedia.org/wiki/Edwin_Jarvis">Jarvis</a> comme dans Iron Man :-D<br /> Mais bon soyez original, R2D2, DarkVador, Scoubidou, Thor, MisterBean, Tequila, etc (Le nom ne doit pas contenir d'espace)</p> <p>Le script attribue au Raspberry une adresse IP qui termine par <a href="https://fr.wikipedia.org/wiki/La_grande_question_sur_la_vie,_l%27univers_et_le_reste#La_recherche_de_la_question_ultime">42 </a>(référence culture geek)</p> <p>&nbsp;</p> <p>Notez sur un papier l'adresse IP du Raspberry que le script vous a renvoyé, ca ne servira pas Ahahah (Bon, peut être)</p> <pre> Type your Raspberry name: Jarvis Set Internet Box address: 192.168.0.1 Set Raspberry eth0 IP: 192.168.0.42 Set Raspberry name: jarvis</pre> <p>Notez saurez que l'execution est terminée lorsque l'écran reviendra sur l'invite de commande "&lt;votre-nom&gt;@raspberry" (ou en tout cas le nom que vous aurez choisi)</p> <p>&nbsp;</p> <h3>3. On met Ansible au boulot!</h3> <p>C'est le moment d'être fénéant, on lance les commandes suivantes</p> <pre> cd init_raspberry ansible-playbook 0.system_configuration.yml</pre> <p>Et on regarde toutes les lignes défiler, ca va durer quelques secondes mais ca va vous économiser 1h voire plus.</p> <p>De rien&nbsp; :-)</p> <p>Une fois tout celà terminé, on arrête le Raspberry via le menu:</p> <pre> Menu &gt; Deconnexion &gt; Arrêter</pre> <p>&nbsp;</p> <h2>Etape 5 - Tester l'accès depuis le PC</h2> <p>A partir de là, le Raspberry n'a plus besoin d'écran, on peut tout débrancher et le rebrancher directement derrière la box, juste avec l'alimentation (évidemment) et le petit câble ethernet de 50 cm.</p> <p>&nbsp;</p> <p>Comme explicité au chapitre 4.1, il y a 2 choix différents pour se connecter à son Raspberry <strong>depuis un autre PC:</strong></p> <ul> <li><strong>Le mode VNC</strong>, permet de voir le bureau du Raspberry, exactement comme quand vous étiez dessus tout à l'heure. Magique ;-)</li> <li><strong>Le mode SSH</strong>, permet d'afficher directement le terminal LXTerminal, que vous avez utilisé au chapitre 4.2, sauf que là c'est du direct on ne passe pas par le bureau.</li> </ul> <p>Vous choisirez l'un ou l'autre selon votre aisance en informatique.</p> <p>&nbsp;</p> <h3>Accès SSH (mode ligne de commande)</h3> <p>Depuis un PC, on télécharge le logiciel&nbsp; <a href="https://www.chiark.greenend.org.uk/~sgtatham/putty/">PuTTy</a>&nbsp; et on précise le nom que vous aviez donner au Raspberry ou son adresse IP que vous avez noté tout à l'heure (jarvis ou 192.168.1.42 pour moi donc) et taper sur [entrée]</p> <p><img alt="Connexion PuTTy au Raspberry Jarvis" src="https://tutos.bye-gafam.org/data/medias/raspberry/putty.png" style="width: 451px; height: 196px;" /></p> <p>Si tout se passe bien, vous devriez voir pour la toute première connexion un charabia comme</p> <p><code>The authenticity of host '192.168.1.42 (192.168.1.42)' can't be established.<br /> ED25519 key fingerprint is SHA256:RRFOE8mlAOEOlGaZPmlJXyS6zyyMJHlsIFpm0KmiE+A.<br /> This key is not known by any other names<br /> Are you sure you want to continue connecting (yes/no/[fingerprint])? yes</code><br /> &nbsp;</p> <p>Il suffit de taper "yes" et valider. Celà ne se reproduira plus à l'avenir.</p> <p>Ensuite vous aurez l'écran "login is" qui apparait, on saisit le nom d'utilisateur, que vous aviez choisi<strong> </strong>et le mot de passe qui va avec.</p> <p>&nbsp;</p> <h3>&nbsp;</h3> <h3>Accès VNC (mode graphique)</h3> <p>Si arriver directement sur l'écran noir du terminal en mode SSH vous fait flipper, alors on peut utiliser le mode VNC pour afficher le bureau du Raspberry tel que vous le voyiez quand il était encore branché sur un écran.<br /> &nbsp;</p> <p>Pour se faire, depuis votre PC téléchargez le logiciel <a href="https://www.realvnc.com/fr/connect/download/viewer/">VNC Viewer</a>, puis on précise en adresse <strong>VNC Server</strong> le nom ou l'adresse IP du Raspberry (jarvis ou 192.168.1.42 pour moi donc) et taper sur [Entrée]&nbsp; (et non le bouton "ouvrir une session" qui va juste vous demander de vous inscrire au site web)</p> <p>Pour s'identifier, l'utilisateur et le mot de passe que vous aviez choisi au début.</p> <p>&nbsp;</p> <p><img alt="Connexion VNC Viewer au Raspberry Jarvis" src="https://tutos.bye-gafam.org/data/medias/raspberry/vncviewer.png" style="width: 437px; height: 195px;" /></p> <p>A partir de là, pour pouvoir saisir des commandes on réouvre LXTerminal en double-cliquant l'icone carré noir en haut, ca revient exactement au même que le mode SSH, vous avez juste perdu du temps :-x</p> <p>&nbsp;</p> <p>Vous avez tout réussi? <strong>Wow Bravo! Vous êtes un(e) chef(fe).<br /> On se regarde dans le miroir et on répète 10X "je suis génial(e) !'</strong><br /> &nbsp;</p> <p><strong>Votre Raspberry est prêt pour faire de grandes choses maintenant !</strong></p> <p><strong><img alt="Borat thumbs up" src="https://tutos.bye-gafam.org/data/medias/raspberry/Borat_thumbs_up.jpg" style="width: 347px; height: 447px;" /></strong></p> Thu, 08 Feb 2018 19:14:00 +0100 Nerd