Récupération d'articles d'archives
@@ -0,0 +1,37 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/484
|
||||
date: '2010-01-09 23:12:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20101110212155/http://ingnu.fr/2010/01/09/le-rouleau-compresseur-google/
|
||||
tags:
|
||||
- Google
|
||||
title: Le rouleau compresseur Google
|
||||
weather:
|
||||
humidity: 89
|
||||
illuminance: 0.0
|
||||
precipitations: true
|
||||
pressure: 1006.3
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: -4.9
|
||||
wind_direction: 36
|
||||
wind_speed: 11.6
|
||||
---
|
||||
|
||||
Après avoir [phagocyté le marché des moteurs de recherche](https://web.archive.org/web/20101110212155/http://www.atinternet-institute.com/fr-fr/barometre-des-moteurs/barometre-des-moteurs-decembre-2009/index-1-1-6-185.html) et s'être inséré dans celui du [webmail](https://web.archive.org/web/20101110212155/https://www.google.com/accounts/ServiceLogin?service=mail&passive=true&rm=false&continue=http%3A%2F%2Fmail.google.com%2Fmail%2F%3Fhl%3Dfr%26tab%3Dwm%26ui%3Dhtml%26zy%3Dl&bsv=zpwhtygjntrz&scc=1<mpl=default<mplcache=2&hl=fr), après avoir créé [Maps](https://web.archive.org/web/20101110212155/http://maps.google.fr/maps?hl=fr&client=opera&rls=fr&hs=6qk&tab=wl), [cartographié la lune](https://web.archive.org/web/20101110212155/http://www.google.com/moon/), vous avoir [photographié dans votre piscine](https://web.archive.org/web/20101110212155/http://maps.google.fr/maps?f=q&source=s_q&hl=fr&geocode=&sll=46.965259,1.73584&sspn=13.002756,33.815918&ie=UTF8&ll=48.859774,2.292151&spn=0.005689,0.033023&z=16&layer=c&cbll=48.860602,2.291532&panoid=LlU9MdH7dGSNf78Ytc-t2A&cbp=11,144.08,,0,-14.3&utm_campaign=fr&utm_medium=lp&utm_source=fr-lp-emea-fr-gns-svn), après s'être inséré sur le marché des [navigateurs web devant Opera](https://web.archive.org/web/20101110212155/http://www.atinternet-institute.com/fr-fr/barometre-des-navigateurs/barometre-des-navigateurs-septembre-2009/index-1-1-3-180.html), après s'être lancé sur le marché des [téléphones mobiles](https://web.archive.org/web/20101110212155/http://www.google.com/phone/) et celui des [systèmes d'exploitation](https://web.archive.org/web/20101110212155/http://fr.wikipedia.org/wiki/Google_Chrome_OS), le rouleau compresseur Google s'intéresserait au [marché de l'énergie](https://web.archive.org/web/20101110212155/http://edocket.access.gpo.gov/2010/E9-31323.htm).
|
||||
|
||||
Avec ses [deux millions de serveurs](https://web.archive.org/web/20101110212155/http://www.youtube.com/watch?v=zRwPSFpLX8I), le parc informatique de Google est particulièrement consommateur.
|
||||
Il est donc logique de penser que si Google veut produire et revendre de l'énergie, c'est pour faire des économies, voire gagner encore plus d'argent.
|
||||
|
||||
Ce qui est drôle, et je le dis à chaque fois que Google fait un truc qui a un peu de succès/gueule, c'est que personne ne crache dessus.
|
||||
Je fais un parallèle avec Microsoft.
|
||||
Il y a dix ans, c'était la bête noire: les gens avaient peur pour leur vie privée, ça en devenait presque une psychose.
|
||||
|
||||
Google surveille vos recherches sur internet, vos mails pour cibler la publicité, vous espionne dans la rue, vous propose des [DNS ouverts](https://web.archive.org/web/20101110212155/http://code.google.com/intl/fr/speed/public-dns/) pour encore mieux surveiller le trafic web, et tout le monde crie au génie.
|
||||
Quelque chose m'échappe.
|
||||
Pas vous?
|
||||
|
||||
**Edit: ah bah non, [pas tout le monde](https://web.archive.org/web/20101110212155/http://www.generation-nt.com/google-monopole-ministre-allemagne-strategie-actualite-940101.html).
|
||||
Me voilà presque rassuré!**
|
||||
@@ -0,0 +1,75 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/485
|
||||
date: '2010-01-14 01:17:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20101024150709/http://ingnu.fr/2010/01/14/installer-minidlna-depuis-les-sources-sous-debian/
|
||||
tags:
|
||||
- Debian
|
||||
- DLNA
|
||||
- miniDLNA
|
||||
- Sources
|
||||
title: Installer miniDLNA depuis les sources sous Debian
|
||||
weather:
|
||||
humidity: 98
|
||||
illuminance: 0.0
|
||||
precipitations: false
|
||||
pressure: 1005.7
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 1.6
|
||||
wind_direction: 180
|
||||
wind_speed: 6.1
|
||||
---
|
||||
|
||||
Lorsque l'on télécharge [miniDLNA](https://web.archive.org/web/20101024150709/http://sourceforge.net/projects/minidlna/) depuis [SourceForge](https://web.archive.org/web/20101024150709/http://sourceforge.net/), on obtient une archive, qui, une fois décompressée, nous propose le binaire de ce serveur DLNA.
|
||||
Le problème, même s'il pourrait être résolu facilement par son écriture, c'est qu'il n'est pas livré avec un fichier à placer dans */etc/init.d*.
|
||||
Son lancement, son arrêt et son redémarrage deviennent donc fastidieux.
|
||||
|
||||
Ce problème ne se pose pas en récupérant ses sources via CVS.
|
||||
Mais avant, installons quelques dépendances:
|
||||
|
||||
```text
|
||||
apt-get install build-essential libavutil-dev libavcodec-dev libavformat-dev libflac-dev libvorbis-dev libid3tag0-dev libexif-dev libjpeg62-dev libsqlite3-dev cvs
|
||||
```
|
||||
|
||||
Puis téléchargeons les sources:
|
||||
|
||||
```text
|
||||
cd /usr/src
|
||||
cvs -z3 -d:pserver:anonymous@minidlna.cvs.sourceforge.net:/cvsroot/minidlna co -P minidlna
|
||||
cd minidlna
|
||||
```
|
||||
|
||||
On compile:
|
||||
|
||||
```text
|
||||
make
|
||||
make install
|
||||
```
|
||||
|
||||
On copie le fichier pour la gestion du service:
|
||||
|
||||
```text
|
||||
cp linux/minidlna.init.d.script /etc/init.d/minidlna
|
||||
chmod 755 /etc/init.d/minidlna
|
||||
update-rc.d minidlna defaults
|
||||
```
|
||||
|
||||
On édite les préférences:
|
||||
|
||||
```text
|
||||
nano /etc/minidlna.conf
|
||||
```
|
||||
|
||||
Et on lance:
|
||||
|
||||
```text
|
||||
/etc/init.d/minidlna start
|
||||
```
|
||||
|
||||
À noter qu'il est intéressant de renseigner la variable *db_dir*, pour la faire pointer vers le répertoire qui contiendra la base de données générée par le serveur.
|
||||
Faute de quoi, à chaque redémarrage, il devra la reconstruire.
|
||||
|
||||
On notera également son empreinte en mémoire et sa consommation CPU extrêmement réduite, sauf les premières minutes lors de la construction de la base de données, mais pas de quoi s'affoler.
|
||||
@@ -0,0 +1,159 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/486
|
||||
date: '2010-01-21 02:52:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20101104151401/http://ingnu.fr/2010/01/21/les-geeks-conservateurs/
|
||||
tags:
|
||||
- Acer
|
||||
- Apple
|
||||
- ASUS
|
||||
- Conservateur
|
||||
- EeeBox
|
||||
- EeePC
|
||||
- Facebook
|
||||
- Geek
|
||||
- GNU/Linux
|
||||
- Google
|
||||
- HP
|
||||
- Informatique
|
||||
- iPhone
|
||||
- Mobilité
|
||||
- MSI
|
||||
- Nexus
|
||||
- Portable
|
||||
- Référencement
|
||||
- Réseau
|
||||
- Sans fil
|
||||
- Téléphone
|
||||
- Twitter
|
||||
- WiFi
|
||||
- Windows
|
||||
title: Les geeks conservateurs
|
||||
weather:
|
||||
humidity: 100
|
||||
illuminance: 0.0
|
||||
precipitations: true
|
||||
pressure: 1015.5
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 0.9
|
||||
wind_direction: 180
|
||||
wind_speed: 4.7
|
||||
---
|
||||
|
||||
Je vous parlais il y a quelques temps de ce que sont les anciens geeks et les nouveaux geeks.
|
||||
J'aimerais aujourd'hui étoffer ma réflexion, en vous révélant ma pensée relative aux anciens geeks, dont j'estime faire partie, en les qualifiant de **conservateurs**.
|
||||
|
||||
Je précise tout d'abord que je ne prends volontairement pas en compte les considérations professionnelles, parce que l'informatique professionnelle **oblige** les employés à se munir d'un certain type de matériel.
|
||||
Je ne considère donc que ce qui fait partie des choix individuels.
|
||||
|
||||
Et je commence avec la mobilité.
|
||||
Ce marché n'a jamais été aussi prospère.
|
||||
Certes, c'est à mettre – aussi – sur le compte de la technologie, parce qu'elle le permet désormais, mais la cote de popularité de l'informatique mobile n'a jamais été aussi élevée.
|
||||
Le nombre d'ordinateurs portables et ultra-portables disponible sur le marché est tout simplement ahurissant: [Asus](https://web.archive.org/web/20101104151401/http://www.asus.com/) propose une trentaine de ses [EeePC](https://web.archive.org/web/20101104151401/http://eeepc.asus.com/fr/) à son catalogue, [Acer](https://web.archive.org/web/20101104151401/http://www.acer.fr/acer/home.do?LanguageISOCtxParam=fr&ctx2.c2att1=8&CountryISOCtxParam=FR&ctx1g.c2att92=25&ctx1.att21k=1&CRC=4140369594) dispose d'une cinquantaine de références, je n'ai pas réussi à compter ceux de [MSI](https://web.archive.org/web/20101104151401/http://www.msi-computer.fr/).
|
||||
[Google](https://web.archive.org/web/20101104151401/http://www.google.com/phone/?locale=en_US&s7e=) s'introduit sur le marché, [Apple](https://web.archive.org/web/20101104151401/http://www.apple.com/fr/) cartonne avec ses [iPhone](https://web.archive.org/web/20101104151401/http://www.apple.com/fr/iphone/) (je me demande encore pourquoi...), bref, l'informatique nomade est en plein essor.
|
||||
|
||||
Mais qu'en est-il de nos bons vieux PC de bureau?
|
||||
Abandonnés, écartés tels des pestiférés.
|
||||
Combien de fois aies-je entendu: "*Quoi?
|
||||
Un PC de bureau?
|
||||
Mais t'as vu la place que ça prend?
|
||||
Nan moi j'suis au taquet avec mon portable, je peux me connecter depuis n'importe où.*".
|
||||
Oui, c'est sûr, quand tu bosses c'est une raison valable.
|
||||
Le mec qui emmène son portable aux chiottes, en vacances ou au McDo n'a pas de raison valable.
|
||||
|
||||
Serait-ce une question d'esthétisme?
|
||||
Alors pourquoi les machines du type EeeBox, où le PC est logé dans un tout petit boitier derrière l'écran ne se vend pas plus que ça?
|
||||
Et puis, il y a toujours de belles machines du côté de Acer ou [HP](https://web.archive.org/web/20101104151401/http://welcome.hp.com/country/fr/fr/welcome.html), avec un faible encombrement.
|
||||
Ah, mais ça fait "cheap"...
|
||||
C'est le genre de machines que se payent les pauvres.
|
||||
Non, moi il me faut un portable.
|
||||
Mouais, pas convaincu.
|
||||
|
||||
En plus de ça, un portable, quand ça crame, ça coûte une blinde à réparer.
|
||||
Mon père, qui a ouvert [un blog](https://web.archive.org/web/20101104151401/http://www.20pouces.fr/) suite à ses déboires avec son Acer Aspire 9920 ("portable" doté d'un écran de 20 pouces), a payé plus de 500 euros pour réparer sa machine.
|
||||
Moi, quand ma carte mère claque, j'en ai pour cinq fois moins, et encore, si je choisi une gamme moyenne-haute.
|
||||
|
||||
Et puis, on a beau dire, les portables, ça chauffe.
|
||||
Beaucoup.
|
||||
Un seul caloduc et un seul ventirad pour refroidir à la fois le processeur et le GPU, ce n'est clairement pas suffisant.
|
||||
La mémoire chauffe aussi, et le disque dur également (pour peu qu'il y en ai deux, on atteint des records).
|
||||
Oui, il y a la solution du dock avec ventilateur intégré.
|
||||
Mais est-ce que ça ne réduit pas l'intérêt du "portable"?
|
||||
|
||||
Quant à la couverture réseau, n'en parlons pas: c'est déplorable à l'heure actuelle.
|
||||
Bien sûr, des boîtes comme les cinémas ou les cafés proposent le Wifi.
|
||||
Mais ces réseaux restent rares à l'heure actuelle et peu sécurisés (voire, pas du tout).
|
||||
Et passer par la 3G coûte les yeux de la tête.
|
||||
Vivement un forfait mobile inclus dans l'abonnement du foyer.
|
||||
|
||||
Tout ça pour dire que je suis conservateur: il n'y a rien de mieux qu'un bon ordinateur de bureau avec sa grosse tour, où les composants sont interchangeables à moindre coût, où la ventilation n'est pas un problème, où le bi-écran est possible (dans des conditions confortables...), et où la connexion internet n'est pas dépendante d'amateurs ayant mis en place un petit réseau pour que le chaland viennent prendre ses consommations chez eux.
|
||||
|
||||
Il y a quelques années en arrière, par "*référencement*", on entendait "*s'enregistrer auprès d'un moteur de recherche*".
|
||||
Généralement Google, évidemment.
|
||||
Aujourd'hui, les spécialistes du marketing incluent également les réseaux sociaux, comme [Facebook](https://web.archive.org/web/20101104151401/http://fr-fr.facebook.com/) ou [Twitter](https://web.archive.org/web/20101104151401/http://twitter.com/).
|
||||
Ce sont deux sites qui, à la base, et à ma connaissance, n'ont pas été créés pour les entreprises, mais la visibilité que ces "réseaux" procurent est réellement excellente.
|
||||
Cependant, et là c'est probablement plus une question de philosophie que de conservatisme, je ne vois pas les choses de la même manière.
|
||||
|
||||
En fait, je considère que si une chose a été créée à une fin, elle ne doit pas être utilisée à une autre.
|
||||
C'est un peu le même état d'esprit que j'applique à la téléphonie mobile: un téléphone doit permettre de téléphoner, pas de prendre des photos ou d'aller sur Internet, parce qu'il existe des appareils dédiés à cette utilisation.
|
||||
Alors bien sûr, on m'avancera que c'est pratique: on n'a qu'un seul appareil pour plusieurs usages.
|
||||
Alors je parlerai des consoles de jeux qui font de la vidéo, ce qui constitue un autre exemple d'aberration, selon moi.
|
||||
|
||||
Donc Facebook et Twitter devraient n'être utilisés qu'à des fins personnelles, encore que j'ai toujours été contre (et je le serai vraisemblablement toujours).
|
||||
Je n'ai d'ailleurs de compte ni chez l'un ni chez l'autre: je n'en vois pas l'intérêt.
|
||||
|
||||
Celui de partager avec plus de gens que ceux que j'ai autour de moi?
|
||||
De donner une visibilité supplémentaire à [Athaliasoft](https://web.archive.org/web/20101104151401/http://www.athaliasoft.fr/)?
|
||||
|
||||
Je répondrai à la première question que la simple utilisation d'un moteur de recherche permet de tomber sur mon blog.
|
||||
Comme je n'ai pas pour objectif de faire de l'argent avec Geek.Athaliasoft, mais simplement diffuser mon avis et mon expérience.
|
||||
Je ne cherche pas à avoir le plus grand nombre de visiteurs possible, à générer le plus de trafic, ni à gonfler des statistiques.
|
||||
|
||||
Je répondrai à la seconde question que la taille d'Athaliasoft ne permettrait pas un afflux de clients.
|
||||
Je travaille seul, et je ne compte pas embaucher pour le moment.
|
||||
Je n'ai surtout pas intérêt à ce que plusieurs personnes à la fois me demandent de travailler sur leur projet.
|
||||
Un ou deux à la fois, de sorte à ce que le travail soit bien fait.
|
||||
|
||||
Autre exemple du conservatisme chez les geeks: le fil.
|
||||
Un geek non conservateur ne va jurer que par le sans-fil: pas de fil au clavier, pas de fil à la souris, pas de fil au réseau. "*Moi je vois pas de différence, au niveau réactivité, entre une souris filaire et une souris sans-fil*". "*Moi je surfe en Wifi et ça me va bien*".
|
||||
Hum.
|
||||
|
||||
Les périphériques sans-fil fonctionnent sur accumulateurs, n'est-ce pas?
|
||||
Ces accumulateurs contiennent des produits toxiques, ne sont pas particulièrement bien recyclables, consomment de l'énergie.
|
||||
En panne de batterie?
|
||||
Tu ne peux plus utiliser ta souris ou ton clavier.
|
||||
Sur un portable, ça ne pose pas de soucis: il y a toujours le "trackpad".
|
||||
Mais sur une machine de bureau?
|
||||
|
||||
J'ai eu l'occasion de tester un certain nombre de souris sans-fil.
|
||||
En ce qui me concerne, je regrette, j'ai toujours un sentiment de flottement.
|
||||
Certes, au fil des ans, ce sentiment s'estompe.
|
||||
Mais il n'en reste pas moins qu'une souris filaire, ça ne flotte pas, ça répond au doigt et à l'oeil.
|
||||
|
||||
Et pour moi, l'excuse de l'encombrement du câble n'en est pas une: quand les câbles sont intelligemment disposés, on ne les sent plus, et on ne les voit plus.
|
||||
|
||||
Autre chose à propos des périphériques sans-fil: j'ignore si les choses ont changés parce que je n'ai pas poussé mes tests jusque là (je n'y ai pas pensé, tout simplement), mais je n'ai jamais réussi à atteindre le bios de ma machine avec un périphérique sans-fil.
|
||||
Plutôt embêtant...
|
||||
|
||||
Enfin, je vais conclure ce billet sur le réseau sans-fil.
|
||||
Je ne vais pas parlé de sa sécurité qui est de toute façon pitoyable en raison de sa nature même, on peut donc être le meilleur administrateur réseau qui soit, un réseau sans-fil est une vraie passoire.
|
||||
Bref.
|
||||
La configuration d'un réseau sans-fil est une vraie plaie.
|
||||
Les fournisseurs d'accès à Internet proposent généralement un outil basé sur le web qui facilite sa configuration de base, mais la configuration des clients est une autre paire de manches.
|
||||
|
||||
Sous Windows, pour peu que l'on utilise l'application du fournisseur de la carte réseau, c'est une vraie pagaille: je ne peux que recommander d'utiliser l'outil de Microsoft pour configurer son réseau.
|
||||
Les outils proposés par les constructeurs sont tape-à-l'oeil, avec plein de lumières et d'effet pour indiquer l'intensité du réseau, mais qu'ils sont compliqués...
|
||||
Bien sûr on peut régler finement ses paramètres.
|
||||
Mais l'utilisateur de base s'en fout du MTU et ne sait même pas ce que c'est.
|
||||
Pourquoi ne proposent-ils pas deux types de configuration: simple ou avancée?
|
||||
|
||||
Sous GNU/Linux, le problème est différent: la prise en charge des cartes réseau sans-fil est aléatoire, pour commencer.
|
||||
Soit on a le pilote intégré (ou fourni sous forme de module en source libre) et là c'est le jackpot: on a toute l'aide nécessaire pour configurer sa carte en dur, ou alors sa prise en charge est immédiate dans les outils graphiques de configuration, soit le constructeur propose le pilote sur son site et ça se complique un peu, soit il faut passer par ndiswrapper et ça peut devenir franchement prise de tête.
|
||||
|
||||
Rien de vaut le bon vieux filaire.
|
||||
|
||||
Rien ne vaut l'ancienne génération en fait.
|
||||
Vous n'êtes pas d'accord?
|
||||
@@ -0,0 +1,140 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/487
|
||||
date: '2010-06-21 23:00:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20101024151837/http://ingnu.fr/2010/06/21/installation-dun-systeme-de-mailing-list-sous-debian/
|
||||
tags:
|
||||
- Debian
|
||||
- École ouverte francophone
|
||||
- GNU
|
||||
- Mailing-list
|
||||
- Mailman
|
||||
title: Installation d'un système de mailing-list sous debian
|
||||
weather:
|
||||
humidity: 75
|
||||
illuminance: 0.0
|
||||
precipitations: false
|
||||
pressure: 1020.6
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 9.7
|
||||
wind_direction: 27
|
||||
wind_speed: 6.4
|
||||
---
|
||||
|
||||
La mise en place d'une mailing-list pour assurer la communication entre personnes m'a semblé être intéressant pour un projet lors de ma formation à l' [École Ouverte Francophone](https://web.archive.org/web/20101024151837/http://www.eof.eu.org/).
|
||||
J'ai donc opté pour [mailman](https://web.archive.org/web/20101024151837/http://www.gnu.org/software/mailman) du projet [GNU](https://web.archive.org/web/20101024151837/http://www.gnu.org/).
|
||||
|
||||
Nous considérerons pour ce tutoriel qu'un serveur [postfix](https://web.archive.org/web/20101024151837/http://www.postfix.org/) est déjà en place et fonctionnel.
|
||||
|
||||
L'installation en elle-même sous [debian](https://web.archive.org/web/20101024151837/http://www.debian.org/index.fr.html) se fait via la commande suivante:
|
||||
|
||||
```text
|
||||
apt-get install mailman
|
||||
```
|
||||
|
||||
On doit ensuite rajouter les lignes suivantes au fichier "*/etc/postfix/main.cf*":
|
||||
|
||||
```text
|
||||
owner_request_special = no
|
||||
unknown_local_recipient_reject_code = 550
|
||||
mailman_destination_recipient_limit = 1
|
||||
```
|
||||
|
||||
Et les lignes suivantes au fichier "*/etc/postfix/master.cf*":
|
||||
|
||||
```text
|
||||
mailman unix - n n - - pipe
|
||||
flags=FR user=list
|
||||
argv=/etc/mailman/postfix-to-mailman.py ${nexthop} ${user}
|
||||
```
|
||||
|
||||
On ajuste le fichier "*/etc/maiman/mm__cfg.py*":
|
||||
|
||||
```text
|
||||
DEFAULT_URL_PATTERN = 'http://%s/mailman/'
|
||||
PRIVATE_ARCHIVE_URL = 'mailman/private'
|
||||
IMAGE_LOGOS = '/images/mailman/'
|
||||
|
||||
DEFAULT_EMAIL_HOST = 'mail.host.tld'
|
||||
DEFAULT_URL_HOST = 'host.tld'
|
||||
```
|
||||
|
||||
Et on relance les services:
|
||||
|
||||
```text
|
||||
/etc/init.d/postfix reload
|
||||
/etc/init.d/mailman restart
|
||||
```
|
||||
|
||||
A ce moment, mailman va râler parce qu'il n'existe pas encore la liste par défaut (appelée "mailman ").
|
||||
On va donc la créer avec la commande suivante:
|
||||
|
||||
```text
|
||||
newlist mailman
|
||||
```
|
||||
|
||||
Après avoir répondu aux quelques questions (n'oubliez pas de spécifier un mot de passe), mailman vous communique une liste d'alias à indiquer dans votre fichiers d'alias, généralement "*/etc/aliases*".
|
||||
Il s'agit du fichier renseigné dans la directive "*alias_database*" du fichier "*/etc/postfix/main.cf*".
|
||||
|
||||
Une fois ces lignes ajoutées, lancez la commande:
|
||||
|
||||
```text
|
||||
postalias /etc/aliases
|
||||
```
|
||||
|
||||
Relancez postfix et mailman.
|
||||
|
||||
A noter qu'une directive existe pour ne pas avoir à refaire ces étapes lors de la création d'une nouvelle mailing-list, mais sur ma configuration, postfix ne prenait pas en compte les alias: je devais éditer le fichier "*/etc/aliases*" à la main.
|
||||
|
||||
Configurez ensuite un nouvel hôte virtuel dans Apache, dans le but de pouvoir gérer vos mailing-list via une interface web, mais surtout pour permettre aux autres personnes de s'y abonner facilement.
|
||||
Voici mon fichier spécifique à cet hôte virtuel:
|
||||
|
||||
```text
|
||||
<VirtualHost *:80>
|
||||
ServerName mailman.host.tld
|
||||
ServerAdmin contact@host.tld
|
||||
|
||||
ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/
|
||||
<Directory "/usr/lib/cgi-bin/mailman/">
|
||||
AllowOverride None
|
||||
Options ExecCGI
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
</Directory>
|
||||
|
||||
Alias /images/mailman/ /usr/share/images/mailman/
|
||||
<Directory "/usr/share/images/mailman/">
|
||||
AllowOverride None
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
</Directory>
|
||||
|
||||
Alias /pipermail/ /var/lib/mailman/archives/public/
|
||||
<Directory "/var/lib/mailman/archives/public">
|
||||
Options Indexes MultiViews FollowSymLinks
|
||||
AllowOverride None
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
</Directory>
|
||||
|
||||
<IfModule mod_rewrite.c>
|
||||
RewriteEngine on
|
||||
|
||||
# Redirect to SSL if available
|
||||
# <IfModule mod_ssl.c>
|
||||
# RewriteCond %{HTTPS} !^on$ [NC]
|
||||
# RewriteRule . https://%{HTTP_HOST}%{REQUEST_URI} [L]
|
||||
# </IfModule>
|
||||
|
||||
# Redirect root access to mailman list
|
||||
RewriteRule ^$ /mailman/listinfo [R=permanent,L]
|
||||
RewriteRule ^/$ /mailman/listinfo [R=permanent,L]
|
||||
|
||||
</IfModule>
|
||||
</VirtualHost>
|
||||
```
|
||||
|
||||
Vous voilà en mesure de gérer vos listes de diffusion depuis l'interface web, dont l'adresse sera celle de votre hôte virtuel.
|
||||
@@ -0,0 +1,2 @@
|
||||
description: Couverture composée localement pour accompagner la republication de l'article.
|
||||
attribution: Codex
|
||||
|
After Width: | Height: | Size: 45 KiB |
@@ -0,0 +1,71 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/488
|
||||
cover: images/cover.png
|
||||
date: '2010-06-22 10:09:23'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20100701121919/http://ingnu.fr/2010/06/22/lere-des-pc-nest-pas-terminee/
|
||||
tags:
|
||||
- Cloud
|
||||
- PC
|
||||
- Tablette
|
||||
title: L'ère des PC n'est pas terminée
|
||||
weather:
|
||||
humidity: 53
|
||||
illuminance: 76146.7
|
||||
precipitations: false
|
||||
pressure: 1022.2
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 16.2
|
||||
wind_direction: 45
|
||||
wind_speed: 7.6
|
||||
---
|
||||
|
||||
D'après [cette page](https://web.archive.org/web/20100701121919/http://www.techi.com/2010/06/three-reasons-the-pc-era-is-coming-to-an-end/) (qui a fait l'objet d'un tweet à l'instant), il existe trois raisons selon lesquelles l'ère des PC est sur le point de se terminer.
|
||||
En cause, le Cloud Computing et les tablettes.
|
||||
Ahah, elle est bien bonne...
|
||||
|
||||
On en a eu des Paco Rabanne de l'informatique, annonçant la fin proche de Microsoft, des sites persos, d'Internet par le téléphone ou que sais-je encore.
|
||||
Des visionnaires, qui prétendent annoncer la fin d'une chose qui n'en aura jamais.
|
||||
Des professionnels qui jouent au dés, en balançant une idée articulée autour d'une tendance, en espérant qu'elle se concrétise pour pouvoir devenir riches et célèbres.
|
||||
|
||||
On avait aussi annoncé la mort des PC de bureau lorsque les portables sont arrivés, et la fin des portables avec l'arrivée des ultra-portables.
|
||||
Mais voilà : les PC ont toujours la cote.
|
||||
Plus fort encore, les portables aussi, de même que les ultra-portables.
|
||||
En fait, c'est toute l'informatique qui a le vent en poupe.
|
||||
|
||||
Il y aura toujours des geeks qui voudront avoir le dernier processeur, la dernière carte graphique, le plus de mémoire, tout en sachant bien qu'il sera toujours à des années lumières d'avoir dans son bureau la puissance d'un Google.
|
||||
Mais de toute façon, qu'importe d'avoir un super calculateur qui sait modéliser l'ADN s'il ne veut qu'un PC pour jouer à Crysis ?
|
||||
Pourquoi se connecterait-il au Cloud pour ça, ou pour aller sur Facebook ?
|
||||
Et puis, rejoindre le Cloud, c'est offrir une surface d'attaque aux script-kiddies, quel intérêt ?
|
||||
|
||||
L'auteur prétend que la puissance informatique sera comme la puissance électrique à l'heure actuelle : on branche un terminal dans le mur, et les calculs sont effectués ailleurs.
|
||||
Or, la tendance de l'énergie, c'est de la produire soi-même, donc se désolidariser des fournisseurs d'énergie.
|
||||
Pourquoi chercherait-on à se désolidariser de nos ordinateurs ?
|
||||
Ce serait ouvrir la porte à l'utilisation de l'informatique à l'abonnement : vous vous voyez payer chaque heure passée devant votre ordinateur, en plus de ce qu'il coûte en énergie ?
|
||||
Ça me rappelle un peu le principe des cyber-cafés...
|
||||
|
||||
Toujours en parlant du Cloud, l'auteur prétend qu'il permet d'éviter la frustration ressentie lorsqu'on oublie de copier son album de musique d'un PC à l'autre, et qu'on veut l'écouter justement sur le PC qui ne l'a pas.
|
||||
Il n'a jamais entendu parlé des clés USB ?
|
||||
Des disques externes ?
|
||||
Et si déjà on a plusieurs ordinateurs, autant se monter un petit serveur, et le problème ne se pose plus.
|
||||
On n'expose pas non plus ses données sur Internet.
|
||||
On se monte son propre nuage en quelque sorte.
|
||||
C'est ce que j'ai fais, ça marche très bien, et n'importe qui ne peut pas accéder à mes données.
|
||||
|
||||
Enfin, il prétend également qu'il existera dans le Cloud des banques qui conserveront vos données, comme nos banques conservent notre argent.
|
||||
Hum.
|
||||
Vous vous rappelez [ce mec qui a fait perdre cinq milliards d'euros à une banque française](https://web.archive.org/web/20100701121919/http://www.lexpansion.com/economie/actualite-entreprise/l-homme-qui-a-fait-perdre-5-milliards-d-euros-a-la-sg_141026.html) ?
|
||||
Je me vois mal confier mes données personnelles à autre chose que mon propre serveur.
|
||||
D'ailleurs, mes économies sont sous mon matelas.
|
||||
|
||||
Et pourquoi la tablette devrait tuer le PC ?
|
||||
L'écran est trop petit pour pouvoir travailler avec, il n'y a pas de vrai clavier, il est impossible de s'y brancher un 5.1 pour se mater un blu-ray, et [ça fait ramer Windows 95](https://web.archive.org/web/20100701121919/http://www.gizmodo.fr/2010/04/12/heresie-windows-95-sur-un-ipad.html), alors un Crysis...
|
||||
[La tablette, c'est de la merde](https://web.archive.org/web/20100701121919/http://ingnu.fr/2010/01/31/lipad-cest-de-la-merde/).
|
||||
|
||||
Non, moi je crois simplement que de temps en temps, au lieu de publier n'importe quoi, certains feraient mieux de s'abstenir...
|
||||
Chaque plateforme a ses avantages et ses inconvénients, mais surtout son propre type d'utilisation.
|
||||
Je crois sincèrement que le PC, tel qu'on le connaît, subsistera encore longtemps.
|
||||
Pas vous ?
|
||||
@@ -0,0 +1,173 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/489
|
||||
date: '2010-06-23 17:44:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20101024144622/http://ingnu.fr/2010/06/23/installer-seeks-sous-debian/
|
||||
tags:
|
||||
- Compiler
|
||||
- Debian
|
||||
- Méta moteur
|
||||
- Moteur de recherche
|
||||
- Seeks
|
||||
- Source
|
||||
- Ubuntu
|
||||
title: Installer Seeks sous Debian
|
||||
weather:
|
||||
humidity: 56
|
||||
illuminance: 43331.4
|
||||
precipitations: false
|
||||
pressure: 1019.9
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 19.8
|
||||
wind_direction: 62
|
||||
wind_speed: 9.3
|
||||
---
|
||||
|
||||
[Seeks](https://web.archive.org/web/20101024144622/http://www.seeks-project.info/) est un méta moteur de recherche, permettant d'anonymiser les requêtes avant leur envoi aux moteurs de recherche, tels que [Google](https://web.archive.org/web/20101024144622/http://www.google.fr/), [Bing](https://web.archive.org/web/20101024144622/http://www.bing.com/?cc=fr), [Cuil](https://web.archive.org/web/20101024144622/http://www.cuil.com/), [Yahoo](https://web.archive.org/web/20101024144622/http://fr.search.yahoo.com/) ou [Exalead](https://web.archive.org/web/20101024144622/http://www.exalead.com/search/).
|
||||
Il offre en outre un proxy et un serveur web intégré.
|
||||
L'intérêt d'installer Seeks est donc de disposer d'un moteur de recherche qui va garantir l'anonymat de nos requêtes, et nous fournir des résultats exhaustifs et pertinents.
|
||||
On notera à ce sujet la possibilité de trier les résultats selon plusieurs critères, par exemple par blogs, par forums, par pages de wiki, etc.
|
||||
|
||||
Plusieurs schémas sont possibles pour utiliser Seeks après installation, notamment l'utiliser comme un proxy, donc à configurer dans votre navigateur web, utiliser le serveur web intégré depuis la version 2.3, ou passer par un autre serveur web, du genre apache, en "proxyfiant" les requêtes.
|
||||
|
||||
Puisque la dernière version intègre son propre serveur web, nous allons expliquer l'installation de Seeks la plus simple.
|
||||
|
||||
Tout d'abord, il faut installer quelques paquets:
|
||||
|
||||
```text
|
||||
apt-get install autoconf automake libtool libcurl4-gnutls-dev libpcre3-dev build-essential libxml2-dev git-core libevent-dev
|
||||
```
|
||||
|
||||
On installe *git-core* parce que, a priori, le binaire résultant de la compilation des sources obtenues avec *git* est moins capricieux.
|
||||
Ensuite:
|
||||
|
||||
```bash
|
||||
cd /usr/src
|
||||
git clone git://seeks.git.sourceforge.net/gitroot/seeks/seeks
|
||||
cd seeks
|
||||
./autogen.sh
|
||||
```
|
||||
|
||||
On va installer Seeks dans */opt/seeks*, et on veut compiler avec le module serveur web; il en résulte la commande suivante:
|
||||
|
||||
```bash
|
||||
./configure --enable-httpserv-plugin=yes
|
||||
```
|
||||
|
||||
Et on compile:
|
||||
|
||||
```bash
|
||||
make
|
||||
```
|
||||
|
||||
Petite astuce, pour les processeurs multi-cores, utilisez l'option *-j*, suivie du nombre de cores.
|
||||
Sur mon Core2Duo, cela donne:
|
||||
|
||||
```bash
|
||||
make -j2
|
||||
```
|
||||
|
||||
Une fois la compil terminée et sans accro, on installe:
|
||||
|
||||
```bash
|
||||
make install
|
||||
```
|
||||
|
||||
On se retrouve avec l'arborescence suivante:
|
||||
|
||||
```text
|
||||
/opt/
|
||||
`-- seeks
|
||||
|-- bin
|
||||
|-- etc
|
||||
| `-- seeks
|
||||
|-- lib
|
||||
| `-- seeks
|
||||
| `-- plugins
|
||||
| |-- blocker
|
||||
| |-- httpserv
|
||||
| `-- websearch
|
||||
`-- share
|
||||
|-- man
|
||||
| `-- man1
|
||||
`-- seeks
|
||||
|-- lsh
|
||||
| `-- swl
|
||||
|-- plugins
|
||||
| |-- blocker
|
||||
| `-- websearch
|
||||
| |-- patterns
|
||||
| |-- public
|
||||
| | `-- images
|
||||
| | `-- search_engines
|
||||
| `-- templates
|
||||
| `-- css
|
||||
|-- proxy
|
||||
| `-- templates
|
||||
`-- public
|
||||
|-- css
|
||||
|-- images
|
||||
`-- yui
|
||||
`-- 3.0.0
|
||||
|-- cssfonts
|
||||
|-- cssgrids
|
||||
|-- cssreset
|
||||
`-- yui
|
||||
```
|
||||
|
||||
On édite le fichier */opt/seeks/etc/seeks/config*.
|
||||
Les valeurs importantes à changer sont les suivantes:
|
||||
|
||||
```text
|
||||
confdir /opt/seeks/etc/seeks
|
||||
logdir /var/log
|
||||
logfile seeks.log
|
||||
plugindir /opt/seeks/lib/seeks/
|
||||
activated-plugin httpserv
|
||||
hostname <votre nom de domaine>
|
||||
```
|
||||
|
||||
Les autres options de configuration sont laissées à votre appréciation.
|
||||
Vérifiez ensuite les paramètres du fichier */opt/seeks/etc/seeks/httpserv-config*.
|
||||
Les paramètres par défaut devraient aller, mais si vous hébergez déjà un proxy sur le port 8080, il faudra changer soit celui de ce proxy, soit celui de Seeks.
|
||||
On peut ensuite passer à la configuration du fichier */opt/seeks/etc/websearch-config*.
|
||||
Là, pareil, c'est à votre appréciation.
|
||||
|
||||
On peut ensuite lancer le démon, avec la commande suivante:
|
||||
|
||||
```text
|
||||
/opt/seeks/bin/seeks --daemon
|
||||
```
|
||||
|
||||
J'ignore comment il se débrouille parce que je n'ai pas encore eu la curiosité de fouiller le code, mais a priori, pas besoin de lui dire où chercher son fichier de configuration, il le trouve tout seul.
|
||||
Changez une option dans le fichier de configuration, par exemple le port du serveur web et relancez Seeks pour vous en convaincre.
|
||||
Bref.
|
||||
Si toutefois il ne le trouvait pas, il suffit de lui indiquer le chemin complet du fichier config (donc */opt/seeks/etc/seeks/config*) à la fin de la commande précédente.
|
||||
|
||||
On a notre Seeks fonctionnel, et accessible depuis le port configuré précédemment.
|
||||
Il est toujours possible, maintenant, de créer un hôte virtuel dans Apache, histoire qu'il ait son propre nom de domaine ou de sous-domaine.
|
||||
Voici un extrait de configuration le permettant:
|
||||
|
||||
```text
|
||||
ProxyPass / http://127.0.0.1:8080/
|
||||
ProxyPassReverse / http://127.0.0.1:8080/
|
||||
```
|
||||
|
||||
C'est tout.
|
||||
|
||||
Si vous ne souhaitez pas passer par le serveur web intégré, je dois vous signaler que sur mon serveur, il crash pratiquement à chaque requête, ce qui, évidemment, est très handicapant.
|
||||
|
||||
Pour finir, vous pouvez ajouter la ligne suivante au début du fichier */etc/rc.local*:
|
||||
|
||||
```text
|
||||
/opt/seeks/bin/seeks --daemon
|
||||
```
|
||||
|
||||
De cette manière, Seeks démarrera automatiquement avec la machine.
|
||||
|
||||
Je signale également que des paquets tout prêts pour debian et ubuntu existent déjà.
|
||||
Cependant, je n'en étais pas satisfait, c'est pourquoi je vous propose l'installation depuis les sources.
|
||||
D'autre part, hormis l'installation des dépendances, la procédure est valable pour à peu près n'importe quelle plateforme.
|
||||
@@ -0,0 +1,196 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/490
|
||||
date: '2010-08-09 10:33:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20101024152035/http://ingnu.fr/2010/08/09/installation-dun-miroir-pour-debian-ou-ubuntu/
|
||||
tags:
|
||||
- Apt-mirror
|
||||
- Debian
|
||||
- Miroir
|
||||
- Rsync
|
||||
- Ubuntu
|
||||
title: Installation d'un miroir pour debian ou ubuntu
|
||||
weather:
|
||||
humidity: 61
|
||||
illuminance: 79440.90000000001
|
||||
precipitations: false
|
||||
pressure: 1018.1
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 20.4
|
||||
wind_direction: 342
|
||||
wind_speed: 2.3
|
||||
---
|
||||
|
||||
Histoire d'avoir ça toujours sous la main, voilà la procédure pour créer un miroir d'un dépôt Debian.
|
||||
Tout d'abord, il faut déterminer si le dépôt que l'on veut copier permet de passer par rsync ou non.
|
||||
|
||||
## Dépôt avec accès rsync
|
||||
|
||||
On installe le paquet *rsync*:
|
||||
|
||||
```text
|
||||
apt-get install rsync
|
||||
```
|
||||
|
||||
On télécharge le fichier de configuration:
|
||||
|
||||
```text
|
||||
wget http://www.debian.org/mirror/anonftpsync
|
||||
```
|
||||
|
||||
Si l'on souhaite synchroniser plusieurs miroirs avec rsync, enregistrez ce fichier avec un nom unique.
|
||||
Par exemple, *debian-sync*, *debian-multimedia-sync*, etc.
|
||||
|
||||
Dans ce fichier, modifier les lignes suivantes:
|
||||
|
||||
```text
|
||||
TO=<répertoire de destination>
|
||||
RSYNC_HOST=<hôte du dépôt>
|
||||
RSYNC_DIR=<répertoire du dépôt>
|
||||
LOGDIR=<fichier journal>
|
||||
ARCH_EXCLUDE=<toutes les architectures à exclure, séparées par des espaces>
|
||||
```
|
||||
|
||||
L'hôte du dépôt peut être sélectionné depuis la [liste des miroirs Debian](https://web.archive.org/web/20101024152035/http://www.debian.org/mirror/list).
|
||||
Il ne s'agit que du nom de domaine (par exemple: *ftp2.fr.debian.org*).
|
||||
|
||||
Pour la variable *RSYNC_DIR*, connectez-vous au dépôt dont vous voulez faire un miroir, et placez-vous à la racine de ce dépôt.
|
||||
Généralement, *RSYNC_DIR* aura pour valeur *debian*, dans la mesure où il devrait exister un répertoire de ce nom, immédiatement à la racine du serveur.
|
||||
|
||||
*LOGDIR* contient le chemin complet vers le répertoire où seront stockés les fichiers journaux.
|
||||
Attention si vous faites plusieurs miroirs avec le même *LOGDIR*: vous devrez modifier la variable *LOGFILE* plus bas dans le fichier de configuration, pour éviter que les journaux s'écrasent mutuellement.
|
||||
|
||||
La liste des architectures disponibles est présente dans la description de la variable *ARCH_EXCLUDE*: il suffit de copier celles dont on ne veut pas, entre guillemets.
|
||||
|
||||
Une fois la configuration terminée, il ne reste plus qu'à rendre le script exécutable:
|
||||
|
||||
```text
|
||||
chmod +x /scripts/debian-rsync
|
||||
```
|
||||
|
||||
Et à l'exécuter une première fois:
|
||||
|
||||
```text
|
||||
/scripts/debian-rsync
|
||||
```
|
||||
|
||||
Attention, ça va prendre plusieurs heures, voire une nuit entière.
|
||||
|
||||
## Dépôt sans accès rsync
|
||||
|
||||
Dans le cas où le serveur que vous voulez copier ne propose pas de module rsync, vous devrez utiliser *apt-mirror*.
|
||||
|
||||
```text
|
||||
apt-get install apt-mirror
|
||||
```
|
||||
|
||||
Après cette installation, vous trouverez un fichier *mirror.list* dans le dossier */etc/apt*.
|
||||
Faites une copie de ce fichier, et donnez-lui un nom unique (comme tout à l'heure, *mirror.list-debian* ou *mirror.list-debian-multimedia*), puis éditez-le.
|
||||
|
||||
*base_path* correspond au répertoire cible, là où sera créé le dépôt.
|
||||
Laissez les autres variables telles quelles.
|
||||
Ajoutez ensuite la liste du ou des dépôt(s) à copier.
|
||||
Par exemple, pour [ubuntu](https://web.archive.org/web/20101024152035/http://www.ubuntu-fr.org/), nous aurons le fichier de configuration suivant:
|
||||
|
||||
```text
|
||||
set base_path /mnt/shares/debian-mirror/ubuntu
|
||||
set mirror_path $base_path/mirror
|
||||
set skel_path $base_path/skel
|
||||
set var_path $base_path/var
|
||||
set cleanscript $var_path/clean.sh
|
||||
set defaultarch i386
|
||||
set nthreads 4
|
||||
set tilde 0
|
||||
|
||||
deb http://archive.ubuntu.com/ubuntu/ lucid main restricted universe multiverse
|
||||
deb http://archive.ubuntu.com/ubuntu/ lucid-updates main restricted universe multiverse
|
||||
deb http://archive.ubuntu.com/ubuntu/ lucid-security main restricted universe multiverse
|
||||
deb http://archive.ubuntu.com/ubuntu/ lucid-backports main restricted universe multiverse
|
||||
deb http://archive.ubuntu.com/ubuntu/ lucid main/debian-installer
|
||||
|
||||
deb-amd64 http://archive.ubuntu.com/ubuntu/ lucid main restricted universe multiverse
|
||||
deb-amd64 http://archive.ubuntu.com/ubuntu/ lucid-updates main restricted universe multiverse
|
||||
deb-amd64 http://archive.ubuntu.com/ubuntu/ lucid-security main restricted universe multiverse
|
||||
deb-amd64 http://archive.ubuntu.com/ubuntu/ lucid-backports main restricted universe multiverse
|
||||
deb-amd64 http://archive.ubuntu.com/ubuntu/ lucid main/debian-installer
|
||||
|
||||
clean http://archive.ubuntu.com/ubuntu
|
||||
```
|
||||
|
||||
Vous noterez les lignes commençant par "*deb-amd64*": il s'agit simplement d'indiquer à apt-mirror que l'on souhaite également faire un miroir des dépôts pour une architecture amd64.
|
||||
Si vous ne voulez que cette architecture et uniquement celle-là, remplacez la variable:
|
||||
|
||||
```text
|
||||
set defaultarch amd64
|
||||
```
|
||||
|
||||
Et supprimez les lignes commençant par "*deb-amd64*".
|
||||
Laconfiguration présentée ici est valable pour les architectures i386 et amd64.
|
||||
|
||||
Maintenant, nous allons créer l'arborescence cible (en fonction de la variable *base_path* définie ci-dessus):
|
||||
|
||||
```text
|
||||
mkdir -p /mnt/shares/debian-mirror/ubuntu/{var,skel,mirror}
|
||||
```
|
||||
|
||||
On lance ensuite une première fois la copie:
|
||||
|
||||
```text
|
||||
apt-mirror /etc/apt/mirror.list-debian
|
||||
```
|
||||
|
||||
Ici aussi, patience, la copie peut prendre plusieurs heures.
|
||||
|
||||
## Automatisation de la mise à jour
|
||||
|
||||
On rajoute la ligne suivante dans la *crontab*, si on utilise rsync:
|
||||
|
||||
```text
|
||||
2 54 * * * /scripts/debian-rsync
|
||||
```
|
||||
|
||||
Ou la ligne suivante, si on utilise apt-mirror:
|
||||
|
||||
```text
|
||||
2 54 * * * /usr/bin/apt-mirror /etc/apt-/mirror.list-debian
|
||||
```
|
||||
|
||||
Vérifiez bien les chemins et les noms de fichiers, pour qu'ils correspondent à votre cas.
|
||||
Maintenant, chaque nuit, vos miroirs vont se mettre à jour tout seuls.
|
||||
|
||||
## Rendre accessible les miroirs via http
|
||||
|
||||
Il faut, bien sûr, avoir un serveur http sous la main.
|
||||
Par exemple, [apache](https://web.archive.org/web/20101024152035/http://www.apache.org/).
|
||||
Créez un hôte virtuel, ayant pour racine, par exemple, */var/www/mirror*.
|
||||
|
||||
L'idéal serait de mettre tous les miroirs dans un même répertoire, chaque miroir ayant son propre répertoire.
|
||||
Par exemple:
|
||||
|
||||
- Mirrors Debian Debian-multimedia Ubuntu etc.
|
||||
|
||||
Il suffit ensuite d'exécuter la commande suivante pour rendre un miroir disponible via http:
|
||||
|
||||
```text
|
||||
ln -s <chemin vers le miroir> /var/www/mirror/
|
||||
```
|
||||
|
||||
Attention aux miroirs créés via apt-mirror: apt-mirror créé une arborescence particulière, du type *<base_path>/mirror/<host>/<dist>*, où:
|
||||
|
||||
- *base_path* correspond à la variable du même nom spécifiée dans le fichier *mirror.list*
|
||||
- *host* est généré automatiquement en fonction des dépôts spécifiés dans le fichier *mirror.list*
|
||||
- et *dist* est également généré automatiquement
|
||||
|
||||
En reprenant l'exemple de notre fichier de configuration, le chemin complet vers notre dépôt ubuntu serait */mnt/shares/debian-mirror/ubuntu/mirror/archive.ubuntu.com/ubuntu*.
|
||||
C'est un peu long, mais au moins, tout est bien organisé...
|
||||
|
||||
## Conclusion
|
||||
|
||||
Pour finir, il faut ajouter notre dépôt à notre sources.list:
|
||||
|
||||
```text
|
||||
deb http://<adresse du serveur>/<root> <dist> <branches>
|
||||
```
|
||||
@@ -0,0 +1,2 @@
|
||||
description: Couverture générée localement pour accompagner la republication de l'article.
|
||||
attribution: Codex
|
||||
|
After Width: | Height: | Size: 240 KiB |
@@ -0,0 +1,71 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/491
|
||||
cover: images/cover.png
|
||||
date: '2010-09-01 08:10:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20101024144632/http://ingnu.fr/2010/09/01/une-petite-interview-de-lequipe-debian/
|
||||
tags:
|
||||
- Debian
|
||||
- Interview
|
||||
- Logiciels
|
||||
- Questions
|
||||
- Réponses
|
||||
title: Une petite interview de l'équipe debian
|
||||
weather:
|
||||
humidity: 88
|
||||
illuminance: 25720.100000000002
|
||||
precipitations: false
|
||||
pressure: 1019.2
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 11.5
|
||||
wind_direction: 69
|
||||
wind_speed: 8.1
|
||||
---
|
||||
|
||||
L'équipe debian a gentiment accepté de répondre à quelques unes de mes questions.
|
||||
En voici la traduction :
|
||||
|
||||
**Quelle est la date de lancement prévue pour debian 6 ?**
|
||||
|
||||
Vraisemblablement cette année.
|
||||
Elle a déjà été gelée (voir [l'annonce](https://web.archive.org/web/20101024144632/http://www.debian.org/News/2010/20100806)), donc nous avons encore besoin d'effectuer quelques tests finaux, corriger les derniers bugs et peaufiner la documentation.
|
||||
|
||||
**Quelles sont les améliorations les plus significatives pour cette nouvelle version ?**
|
||||
|
||||
Quelques unes sont déjà décrites dans l'annonce sus-mentionnée.
|
||||
Pour résumer : nouvelle, plus facile à utiliser, plus grande, meilleure ;-)
|
||||
|
||||
À côté de ça, Debian 6.0 va être livrée avec plus de 30 000 paquets (comparé aux 24 000 de Debian 5.0), donc nous avons intégré environ 5 000 nouveaux paquets, toujours aussi simples à installer et à configurer, et avec la qualité que vous attendez de nous.
|
||||
|
||||
**Quand est-ce que la nouvelle interface pour les sites Debian va être disponible pour le monde entier (y compris la France :)) ?**
|
||||
|
||||
Au même moment, elle sera disponible en anglais, allemand, espagnol, finnois et les 35 langages dans lesquels nos sites sont (partiellement) traduits, puisque nous essayons de séparer le contenu actuel de l'interface de nos pages web.
|
||||
|
||||
**Est-ce que le cycle des sorties seront les mêmes pour la Debian 6 que pour les versions précédentes ?**
|
||||
|
||||
Oui, nous sortirons toujours une nouvelle version quand nous serons satisfaits de sa qualité ;)
|
||||
|
||||
**Est-ce que les sorties majeures seront plus fréquentes ?**
|
||||
|
||||
Cela dépend de votre utilisation.
|
||||
Nous n'ajouterons sans doute pas beaucoup de nouveaux logiciels aux versions stables (nous ajouterons peut-être de nouvelles images de noyaux, pour supporter du nouveau matériel, et évidemment corriger les bugs sévères).
|
||||
Toutefois, il y a le service [www.backports.org](https://web.archive.org/web/20101024144632/http://www.backports.org/), qui propose des mises à jour pour une grande partie des paquets utilisables dans une version stable.
|
||||
Le travail pour intégrer ce service et en faire un service officiel est en cours, mais pas encore terminé.
|
||||
|
||||
Un autre développement récent, que vous trouverez peut-être intéressant, concerne l'idée d'une distribution "testing utilisable couramment", qui aurait le bénéfice de logiciels à jour, tout en conservant les bénéfices du Projet Debian (gestion des paquets, FAQ, liberté, etc.).
|
||||
|
||||
**Du neuf à propos de Debian GNU/Hurd ?**
|
||||
|
||||
Michael Banck s'est exprimé à ce sujet à New York lors de la conférence Debian 2010.
|
||||
Et malgré la disponibilité d'une vidéo de cette allocution (une version beta ; une meilleure vidéo devrait être ajoutée plus tard ; voir [ici](https://web.archive.org/web/20101024144632/http://penta.debconf.org/dc10_schedule/events/595.en.html) pour les détails) je dois confesser que je n'ai moi-même pas encore eu le temps de voir cette vidéo, désolé :(
|
||||
|
||||
**Depuis plusieurs mois, des distributions telles que ubuntu tendent à devenir plus populaires que Debian. Pensez-vous que Debian va être phagocytée par ces distributions, ou pensez-vous plutôt qu'elles auront toujours besoin de Debain pour exister ?**
|
||||
|
||||
Hum, c'est une question difficile.
|
||||
Alors que certaines distributions dérivées de Debian deviennent plus populaires que Debian elle-même, toutes ces distributions partagent une même chose : elles *dépendent* de Debian.
|
||||
Je ne connais aucune dérivée, qui serait capable d'accomplir toutes les taches dont est capable Debian, compte tenu du fait que Debian fait plus que simplement packager un grand nombre de logiciels pour les autres : elle les *intègre*, pour qu'ils fonctionnent correctement.
|
||||
Elle fourni de gros efforts pour assurer la qualité de ces paquets, elle propose des mises à jour de sécurité pour tout ces paquets dans leur version stable.
|
||||
C'est donc là, certainement, le *besoin* d'une Debian.
|
||||
@@ -0,0 +1,40 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/492
|
||||
date: '2010-09-13 19:07:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20101108174930/http://ingnu.fr/2010/09/13/la-television-connectee-par-opera/
|
||||
tags:
|
||||
- HTML5
|
||||
- Navigateur
|
||||
- Opera
|
||||
- Télévision
|
||||
- Widget
|
||||
title: La télévision connectée par Opera
|
||||
weather:
|
||||
humidity: 73
|
||||
illuminance: 2407.3
|
||||
precipitations: false
|
||||
pressure: 1025.8
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 14.1
|
||||
wind_direction: 259
|
||||
wind_speed: 5.5
|
||||
---
|
||||
|
||||
L'entreprise norvégienne [Opera Software](https://web.archive.org/web/20101108174930/http://www.opera.com/) nous propose, par l'intermédiaire de son [canal YouTube](https://web.archive.org/web/20101108174930/http://www.youtube.com/user/operasoftware), une vidéo fort intéressante, montrant qu'elle est décidée à ne pas faire comme tout le monde (comprendre Google ou Apple).
|
||||
Cela concerne cette fois les possibilités que pourrait offrir un téléviseur connecté à Internet.
|
||||
Je ne sais pas si c'est mon téléviseur ou ma platine Blu-ray (des Samsung) ou si c'est le firmware, mais la connexion à Internet et aux services Internet est particulièrement lente (juste un peu plus rapide sur la platine).
|
||||
L'idée proposée par Opera permettrait peut-être de palier à ce problème.
|
||||
|
||||
En effet, la solution (le concept) mis en avant par Opera est l'utilisation des recommandations du [W3C](https://web.archive.org/web/20101108174930/http://www.w3.org/) relatives aux [widgets](https://web.archive.org/web/20101108174930/http://www.w3.org/TR/widgets/), et offre à ce titre aux développeurs un kit de développement.
|
||||
Les technologies employées sont bien évidemment HTML5, mais également CSS, XML et JavaScript.
|
||||
|
||||
Cette solution offre bien des avantages: la compatibilité, l'inter-opérabilité, le confort d'utilisation, la simplicité de développement.
|
||||
Autre caractéristique du système: l'intégration de ces widgets, même en cours de visionnage: l'exemple donné par la source, Mac Generation, évoque la possibilité de "tweeter le programme que l'on consulte".
|
||||
|
||||
En ce qui me concerne, l'idée me plait bien.
|
||||
Et vous, vous en pensez quoi, chers lecteurs?
|
||||
Pensez-vous que cela pourra améliorer les fonctionnalités Web de notre équipement vidéo?
|
||||
@@ -0,0 +1,50 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/493
|
||||
date: '2010-09-16 14:46:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20101108174709/http://ingnu.fr/2010/09/16/le-piratage-nuit-gravement-a-lemploi/
|
||||
tags:
|
||||
- État
|
||||
- Libre
|
||||
- Open Source
|
||||
- Piratage
|
||||
- Propriétaire
|
||||
title: Le piratage nuit gravement à l'emploi
|
||||
weather:
|
||||
humidity: 61
|
||||
illuminance: 32942.0
|
||||
precipitations: false
|
||||
pressure: 1012.6
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 15.1
|
||||
wind_direction: 264
|
||||
wind_speed: 14.8
|
||||
---
|
||||
|
||||
À en croire le site [ITespresso](https://web.archive.org/web/20101108174709/http://www.itespresso.fr/), qui relaye une [étude](https://web.archive.org/web/20101108174709/http://portal.bsa.org/piracyimpact2010/index.html) formulée par la [Business Software Alliance](https://web.archive.org/web/20101108174709/http://www.bsa.org/), le piratage de logiciels représente d'une part un manque à gagner pour l'État, mais d'autre part nuit aussi à l'embauche.
|
||||
Les chiffres avancés sont de l'ordre de 40% de copies pirates de logiciels qui circulent en France, et 14 599 emplois dans le secteur des technologies de pointe pourraient être créés.
|
||||
Enfin, le piratage représenterait un manque à gagner de 2.4 milliards d'euros pour l'État, montant que, bien sûr, celui-ci espère récupérer d'ici quatre ans.
|
||||
|
||||
Moi, j'ai envie de dire: "*Passez à l'Open Source au lieu de râler*".
|
||||
Je me rends compte que pour beaucoup de gens, il n'existe pas de modèle économique pour le Libre.
|
||||
Tu fais des applications Libres pour passer le temps, pas pour gagner ta vie.
|
||||
|
||||
Sauf que le Libre est un facteur de croissance pour une entreprise.
|
||||
Juste pour prendre l'exemple de la boite dans laquelle je travaille en tant qu'informaticien: nous avions besoin de deux nouveaux serveurs pour notre présence sur Internet et pour la gestion des succursales basées un peu partout en Alsace.
|
||||
Si nous avions dû opter pour une solution propriétaire, la facture aurait été beaucoup plus salée (nous avons fait une économie de près de 600 euros rien que sur les licences de système d'exploitation).
|
||||
L'autre grand projet a été l'achat de licences Office 2010.
|
||||
Près de 2 000 euros auraient pu être économisés en restant sur [Open Office](https://web.archive.org/web/20101108174709/http://www.openoffice.org/) (qui est installé sur toutes les machines du parc, en raison de problèmes de... compatibilité entre Office 2003, 2007 et 2010).
|
||||
|
||||
D'autre part, en restant sur du propriétaire, personne n'a besoin d'être formé.
|
||||
On passe de Office 2007 à Office 2010 sans trop de problème.
|
||||
Par contre, tout le monde rechigne à passer définitivement sur de l'Open Office parce que cela nécessite un apprentissage.
|
||||
D'où un facteur d'embauche: il faut des formateurs spécialisés dans le Libre.
|
||||
Sauf que les boîtes n'ont pas envie de recruter parce que ça leur coûte trop cher...
|
||||
|
||||
Enfin bon, ma réflexion ne change rien au monde, et en plus, elle n'est pas nouvelle.
|
||||
Mais j'avais envie de réagir à cette actualité.
|
||||
|
||||
Vous n'êtes pas d'accord avec moi?
|
||||
@@ -0,0 +1,57 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/494
|
||||
date: '2010-09-20 14:02:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20101108180533/http://ingnu.fr/2010/09/20/bradley-khun-rappelle-lexistence-de-gnu-social/
|
||||
tags:
|
||||
- Diaspora
|
||||
- Free Software Foundation
|
||||
- GNU
|
||||
- GNU social
|
||||
title: Bradley Khun rappelle l'existence de GNU Social
|
||||
weather:
|
||||
humidity: 55
|
||||
illuminance: 78934.1
|
||||
precipitations: false
|
||||
pressure: 1017.1
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 18.5
|
||||
wind_direction: 180
|
||||
wind_speed: 1.8
|
||||
---
|
||||
|
||||
Le Web a opté pour plusieurs angles d'attaque à l'encontre du projet Diaspora, et quand je dis "*le Web*", c'est [ingnu](https://web.archive.org/web/20101108180533/http://ingnu.fr/2010/09/18/diaspora-ca-sent-un-peu-le-sapin/) compris.
|
||||
Exotisme des technologies mises en oeuvre, et sécurité délaissée, par exemple.
|
||||
|
||||
Selon [Numerama](https://web.archive.org/web/20101108180533/http://www.numerama.com/), les développeurs se défendent de ce deuxième point en prétextant que c'était le but.
|
||||
Fournir une application avec un niveau de sécurité faible, pour que la communauté corrige.
|
||||
Ben voyons.
|
||||
Ce qui m'étonne, c'est la réaction de Numerama: "*C'est l'absence de failles dans la première version du code qui aurait été surprenante*".
|
||||
À moins que ce ne soit de la rhétorique.
|
||||
Toujours est-il que peu importe comment on aborde un projet web, plus encore aujourd'hui que jamais, et plus encore quand il s'agit d'héberger des données personnelles, il est inconcevable de proposer une application non sécurisée en téléchargement public.
|
||||
|
||||
Par contre, Numerama nous fait part d'un nouveau problème: une fois le code source corrigé par la communauté, rien n'empêche les développeurs de Diaspora de basculer vers une licence propriétaire.
|
||||
Ils auront ainsi bénéficié des 200 000 dollars de dons, mais aussi du travail de la communauté.
|
||||
Serait-ce à dire qu'en plus de faire preuve d'amateurisme, ils feraient preuve de fourberie?
|
||||
|
||||
C'est pourquoi Bradley Kuhn, ancien directeur exécutif de la [Free Software Foundation](https://web.archive.org/web/20101108180533/http://www.fsf.org/), nous rappelle qu'il existe le projet [GNU Social](https://web.archive.org/web/20101108180533/http://www.gnu.org/software/social/), qui est déjà disponible au téléchargement, et qui est vraisemblablement plus abouti (je testerai ça dans la journée, la soirée ou la nuit, et je vous ferai part de mes découvertes).
|
||||
En tout cas, il repose sur un bon vieux couple PHP/MySQL.
|
||||
De toute manière, c'est un projet officiel faisant partie intégrante du projet [GNU](https://web.archive.org/web/20101108180533/http://www.gnu.org/).
|
||||
On ne peut donc qu'attendre un niveau de qualité assez élevé, de la rigueur, et bien évidemment, une préservation des informations privées.
|
||||
|
||||
**[Mise à jour]**
|
||||
|
||||
**GNU Social est développé "aux côtés de" [status.net](https://web.archive.org/web/20101108180533/http://status.net/) ([ce n'est pas un fork](https://web.archive.org/web/20101108180533/http://gitorious.org/social/pages/Home)), une application sur laquelle repose également – entre autres – [identi.ca](https://web.archive.org/web/20101108180533/http://identi.ca/).
|
||||
Pas la peine d'en faire une news pour le tester puisqu' [ingnu dispose déjà de ce type de service](https://web.archive.org/web/20101108180533/http://identi.ca/ingnufr/all), justement chez identi.ca.
|
||||
Donc concernant GNU Social, tout va bien, on est en terrain connu, il n'y a rien à prouver face à Diaspora, même si on compare davantage status.net à twitter qu'à facebook.**
|
||||
|
||||
**[/Mise à jour]**
|
||||
|
||||
Et pour ceux qui ont envie de se lancer dans un projet de grande envergure, c'est le moment, puisqu'il est tout à fait possible de récupérer [les sources de Diaspora](https://web.archive.org/web/20101108180533/http://github.com/diaspora/diaspora) (ou pas...) et de forker le projet pour en faire un "vrai" projet libre, non motivé par l'argent, et qui ne risque pas de virer propriétaire.
|
||||
|
||||
Je commence à me dire que Diaspora fut un projet médiatique (je ne sais pas *comment* ils ont réussi leur coup mais il l'ont réussi), destiné à engranger de l'argent, faire parler d'eux, puis qu'on va très vite l'oublier.
|
||||
Le problème, c'est que les donateurs, particuliers ou investisseurs, vont probablement commencer à se méfier des projets Libres qui demandent des dons avant de présenter une version concrète, ce qui risque peut être de freiner un peu ceux qui ont vraiment besoin d'argent.
|
||||
L'avenir nous dira comment tout ceci évolue...
|
||||
@@ -0,0 +1,51 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/495
|
||||
date: '2010-09-21 08:47:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20101108135337/http://ingnu.fr/2010/09/21/le-nom-a-t-il-un-impact-sur-la-reussite-chez-les-geeks/
|
||||
tags:
|
||||
- Célébrités
|
||||
- Geek
|
||||
- Informatique
|
||||
- Réussite
|
||||
title: Le nom a-t-il un impact sur la réussite chez les geeks ?
|
||||
weather:
|
||||
humidity: 81
|
||||
illuminance: 37249.8
|
||||
precipitations: false
|
||||
pressure: 1019.5
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 14.4
|
||||
wind_direction: 90
|
||||
wind_speed: 5.4
|
||||
---
|
||||
|
||||
Loin de moi la prétention de vouloir publier une étude sérieuse et exhaustive sur le sujet, mais j'avais envie de me pencher sur la question, découvrant au fil des ans de troublantes coïncidences...
|
||||
Cet article doit donc être pris au second degrés, n'y voyez aucunement une manifestation d'un penchant pour l'ésotérisme ou la superstition (je suis un scientifique à la base...)
|
||||
|
||||
Cependant, force est de constater que dans le domaine de l'informatique, certains prénoms, certains noms de famille, ou certaines racines de l'un ou de l'autre reviennent souvent.
|
||||
|
||||
Par exemple, "berg ".
|
||||
Comme Zuckerberg (créateur de [facebook](https://web.archive.org/web/20101108135337/http://www.facebook.com/), la traduction littérale de son nom de famille est "*montagne de sucre*", ce qui dé-crédibilise un peu le personnage en y pensant...), Spielberg (producteur de je-ne-sais combien de films de geeks, et dont la traduction du nom de famille pourrait être "*montagne de loisirs*", ce qui correspond bien au bonhomme).
|
||||
Ou le prénom – raccourci – "Steeve" et ses variantes: Wozniack et Jobs d' [Apple](https://web.archive.org/web/20101108135337/http://www.apple.com/fr/), Ballmer, ou moins réputé, Kleene (pour sa théorie de la récursion et les expressions rationnelles).
|
||||
|
||||
Après, cela dépend également de l'origine de la personnalité considérée.
|
||||
Par exemple, c'est évidemment outre-Atlantique que l'on trouve le plus de John, et ceci, sans doute sans prendre en considération le sujet qui nous intéresse: la corrélation entre nom et réussite chez les geeks.
|
||||
Parmis les John célèbres, on citera Carmack à qui l'on doit notamment Quake et Doom, Backus qui lança le Fortran, Atanasoff qui fut le concepteur du premier ordinateur, von Neumann qui établit l'architecture des ordinateurs, ou encore Warnock, co-fondateur de [Adobe](https://web.archive.org/web/20101108135337/http://www.adobe.com/fr/).
|
||||
|
||||
Le prénom Alan semble également être un facteur de réussite: Turing qu'on ne présente plus, Sugar, fondateur d'Amstrad (ah, le bon vieux temps des CPC...), ou encore Kay qui créa le langage SmallTalk.
|
||||
Tout comme Éric, prénom porté par le PDG de Google, Schmidt, ou Raymond, fondateur de l' [Open Source Initiative](https://web.archive.org/web/20101108135337/http://opensource.org/), voire Allman, créateur de [sendmail](https://web.archive.org/web/20101108135337/http://www.sendmail.org/).
|
||||
Ou Marc, comme Zuckerberg (encore lui), Andreessen le fondateur de [Netscape](https://web.archive.org/web/20101108135337/http://netscape.aol.com/), Ewing, créateur de [Red Hat](https://web.archive.org/web/20101108135337/http://www.fr.redhat.com/) ou encore Shuttleworth, celui d' [Ubuntu](https://web.archive.org/web/20101108135337/http://www.ubuntu-fr.org/).
|
||||
|
||||
C'est également sans compter sur la réussite de ceux qui ont un nom ou un prénom peu commun dans le monde des geeks, mais un nom qui a été donné à leur découverte, leur création.
|
||||
C'est ainsi le cas de Ada Lovelace, dont le prénom a donné un langage de programmation, ou George Boole, dont l'algèbre est un élément essentiel en informatique, Seymour Cray, constructeur de célèbres super-ordinateurs, ou encore Haskell Cury, dont les travaux ont menés à la programmation fonctionnelle, et au langage Haskell.
|
||||
|
||||
On notera également quelques personnages célèbres, mais fictifs, dont le nom revient très souvent.
|
||||
Je veux parler, bien entendu, de John et Jane Doe, ou encore de Dave Null.
|
||||
|
||||
En conclusion, si vous voulez que votre futur enfant réussisse dans un monde de geek, il faudra l'appeler John, Bill, Steeve ou Mark.
|
||||
|
||||
Si vous avez une fille, il ne vous reste que Ada...
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/496
|
||||
date: '2010-11-09 20:46:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20101124142017/http://ingnu.fr/2010/11/09/les-projets-dingnu/
|
||||
title: Les projets d'ingnu
|
||||
weather:
|
||||
humidity: 90
|
||||
illuminance: 0.0
|
||||
precipitations: true
|
||||
pressure: 981.1
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 5.8
|
||||
wind_direction: 161
|
||||
wind_speed: 9.9
|
||||
---
|
||||
|
||||
Vu qu'en ce moment, l'actualité n'a rien de transcendant, j'ai décidé que dans les prochains jours, j'allais me consacrer aux projets de développement que j'avais laissé en suspens jusque là.
|
||||
|
||||
Par ailleurs, je viens de remarquer que [l'outil de téléchargement](https://web.archive.org/web/20101124142017/http://ingnu.fr/books/) que j'ai intégré à WordPress déconne: cliquer sur le bouton de téléchargement d'un fichier renvoi vers une page prétendant que le fichier n'existe pas.
|
||||
|
||||
Étant donné que j'aimerais quand même diffuser ne serait-ce que le *Manifeste du geek*, j'ai décidé que le premier de mes projets allait être un espace de téléchargement.
|
||||
Cela fait longtemps que je souhaitais en coder un, mais ingnu m'offre l'occasion de m'y consacrer sérieusement.
|
||||
Ce qui signifie aussi que vu son importance pour ingnu, elle va être terminée rapidement, et donc diffusée rapidement.
|
||||
Il s'agira par conséquent de la première application Libre que je diffuserai via ingnu.
|
||||
|
||||
Ensuite, j'ai récemment codé un gestionnaire de médias: une application pour lister mes Blu-ray en fait.
|
||||
Il existe [d'autres outils](https://web.archive.org/web/20101124142017/http://opendb.iamvegan.net/wiki/index.php?title=Main_Page) sur le marché bien sûr, mais j'ai voulu une application allant à contre-courant.
|
||||
Je trouve, en effet, que le fait de créer un film dans un tel gestionnaire, en passant par un outil d'importation permettant de télécharger les données du film via [Allociné](https://web.archive.org/web/20101124142017/http://www.allocine.fr/) ou [Amazon](https://web.archive.org/web/20101124142017/http://www.amazon.fr/), ne permet pas l'exactitude.
|
||||
Je voulais un outil me permettant, avec un moindre effort, de créer une galerie d'images, de créer des coffrets et d'y ajouter des médias, chose que ne permettent pas, ou pas facilement, les autres outils disponibles.
|
||||
Il me reste encore à optimiser et sécuriser l'application, et ce sera donc sans doute le deuxième de mes projets à être diffusés.
|
||||
Compte tenu que pour le moment elle n'est ni optimisée ni sécurisée, je ne souhaite pas la proposer au téléchargement.
|
||||
Je suis le premier à dire que c'est dangereux de proposer au téléchargement une application "pas finie", mais si vous souhaitiez tout de même en faire l'expérience, laissez un message sur le forum.
|
||||
|
||||
J'ai encore mon agenda des geeks à faire.
|
||||
Contrairement aux deux applications précédentes, je le veux ouvert aux modules.
|
||||
Je dois donc concevoir une API qui permettent de le faire.
|
||||
Je souhaite aussi intégrer d'autres fonctionnalités d'inter-opérabilité comme des outils d'import/export ou un webservice.
|
||||
Bien sût, tout cela va prendre un peu de temps.
|
||||
|
||||
Enfin, il y a un dernier projet sur lequel j'aimerais travailler, mais là je vois à plus long terme.
|
||||
Il existe dans le Laboratoire, il s'appelle *MiVili*, mais je ne souhaite encore diffuser aucune information à son sujet (par crainte par exemple que je me rende compte qu'il n'a aucun intérêt et que personne ne va s'en servir).
|
||||
Il s'agira probablement du plus gros de mes projets, je n'escompte donc pas pouvoir le diffuser dans les prochains temps.
|
||||
|
||||
Restez donc connectés, et n'hésitez pas à me faire part de vos impressions, remarques ou suggestions, à mesure que je fais avancer les choses!
|
||||
@@ -0,0 +1,108 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/497
|
||||
date: '2010-12-02 21:00:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20110303132720/http://ingnu.fr/2010/12/02/a-propos-de-la-neutralite-du-net/
|
||||
tags:
|
||||
- Censure
|
||||
- Internet
|
||||
- Neutralité
|
||||
title: À propos de la neutralité du net
|
||||
weather:
|
||||
humidity: 89
|
||||
illuminance: 0.0
|
||||
precipitations: false
|
||||
pressure: 1005.4
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: -8.1
|
||||
wind_direction: 148
|
||||
wind_speed: 6.8
|
||||
---
|
||||
|
||||
Je me souviens de l'Ancien Temps.
|
||||
J'étais particulièrement jeune, je devais avoir dix ans ou moins peut-être.
|
||||
J'étais en retard à l'époque sur le plan du matériel.
|
||||
Je n'avais qu'un Amstrad CPC6128.
|
||||
Le bon vieux temps.
|
||||
|
||||
À cette époque, les entreprises mettaient l'adresse de leur site Internet en bas de chaque publicité.
|
||||
Elles se comptaient encore sur les doigts de la main, et j'avais entrepris de noter dans un carnet toutes les adresses Internet que je voyais, même si elles abordaient un sujet qui ne m'intéressait pas.
|
||||
Tous les jours, je notais une dizaine ou une vingtaine d'adresses.
|
||||
|
||||
Rapidement, je n'eus plus le courage de continuer mon référencement, parce que leur nombre croissait de jour en jour.
|
||||
Et puis j'ai eu, moi aussi, mon propre ordinateur et ma propre connexion Internet.
|
||||
|
||||
Les premiers sites que je visitais alors étaient relativement simples.
|
||||
De simples pages statiques, [bariolées](https://web.archive.org/web/20110303132720/http://wonder-tonic.com/geocitiesizer/content.php?theme=3&music=10&url=ingnu.fr), couvertes de gifs animés, s'étendant sur des kilomètres de hauteur.
|
||||
Les gens y mettaient ce qu'ils voulaient.
|
||||
Ils créaient ça facilement, avec *Frontpage* par exemple.
|
||||
Tout le monde pouvait faire son site (ou du moins, sa page perso), y mettre et dire ce qu'il voulait.
|
||||
|
||||
Puis il y a eu l'avènement du partage, avec des applications comme [Kazaa](https://web.archive.org/web/20110303132720/http://www.kazaa.com/fr/index.htm), [eMule](https://web.archive.org/web/20110303132720/http://www.emule-project.net/home/perl/general.cgi?l=13), [Napster](https://web.archive.org/web/20110303132720/http://www.napster.com/).
|
||||
Les musiques, puis quelques temps après les films, s'échangeaient en masse.
|
||||
|
||||
C'était encore le temps de la neutralité.
|
||||
Les interactions entre site Internet et visiteurs étaient limitées, voire inexistantes.
|
||||
Passion mise à part, tout le monde était sur un pied d'égalité: la découverte de ce monde, où tout est relié, interconnecté, rendait chacun humble, parce qu'il n'avait pas plus de connaissance que les autres.
|
||||
Chacun contribuait peut-être un peu à faire avancer la technologie, en demandant de nouveaux smileys pour les uns, de nouvelles possibilités d'interactions pour les autres.
|
||||
|
||||
Aujourd'hui que l'interaction entre site Internet et visiteurs est possible, maintenant qu'Internet est plus communiquant que jamais, et que les visiteurs peuvent aussi communiquer entre eux et pas seulement avec un site Internet, la question de la neutralité se pose, et par extension, celle de la censure.
|
||||
|
||||
À l'époque, nous, les geeks, on pensait qu'on avait découvert un nouveau monde, et que nous en étions les colons.
|
||||
Notre avantage était que ce monde n'était pas habité: nous n'avions donc besoin d'en chasser personne, contrairement aux européens qui arrivèrent en Amérique.
|
||||
Nous arrivions sur une terre vierge, accueillante, exempte de concurrence.
|
||||
Nous pouvions créer notre propre politique (si tant est qu'une politique devait être mise en place), notre propre société.
|
||||
Nous pouvions créer un monde libre, où nous pourrions dire ce que nous voulions, nous défendre comme nous le voulions en cas de besoin.
|
||||
Le tout, verbalement, puisque les interactions physiques n'étaient pas possible.
|
||||
|
||||
En fait, c'était comme si, dans un MMORPG, nous avions tous le même build.
|
||||
Il n'y avait pas de faibles ni de forts.
|
||||
Si on injuriait quelqu'un sur sa religion, il pouvait se défendre en injuriant la notre, et on en serait restés là.
|
||||
Pas de bataille juridique, pas de confrontation physique.
|
||||
Juste des mots.
|
||||
|
||||
Mais maintenant, certains d'entre nous, geeks, sous l'impulsion d'une autorité supérieure non geek, motivés par l'argent ou le pouvoir, ont décidé qu'il était temps de mettre un terme à ces libertés.
|
||||
La neutralité du Réseau des réseaux est désormais remise en question.
|
||||
|
||||
Il n'est plus possible de dire ce que l'on veut, de faire ce que l'on veut sur Internet.
|
||||
Internet n'est plus libre, Internet n'est plus neutre.
|
||||
On n'en est plus à se demander si oui ou non Internet va perdre sa neutralité.
|
||||
Il faut maintenant se poser la question suivante: "*Comment permettre aux Hommes d'être à nouveau reliés par un réseau neutre?*"
|
||||
|
||||
La question de la neutralité ne se poserait pas si seulement les faits d'une certaines gravité étaient pris en compte, comme par exemple l'usurpation d'identité.
|
||||
Mais quand quelqu'un qui cherche à participer à un projet soi-disant libre et neutre se fait censurer, parce que son intervention ne respecte pas une charte elle-même en contradiction avec ses principes de base, là on est en droit de se poser des questions.
|
||||
|
||||
J'ai étudié le droit entre autres choses.
|
||||
J'avais pris l'habitude de malmener mes professeurs avec des phrases du genre: "*Comment pouvons-nous définir notre pays comme libre, alors que nous avons des lois, et que les lois sont elles-mêmes des entraves à la liberté?*".
|
||||
J'ai compris plus tard que nous sommes dans un pays libre parce qu'officiellement, l'esclavage est aboli.
|
||||
|
||||
C'est un peu comme ces offres Internet mobiles illimitées, limitées à 500Mo.
|
||||
|
||||
Il y a deux ou trois ans en arrière, j'avais évoqué sur un forum l'idée que pour restaurer la liberté et la neutralité sur Internet, il fallait créer un réseau parallèle: chaque personne tire un câble vers son voisin.
|
||||
Chacun met en place un petit nœud de réseau, avec un switch et des câbles.
|
||||
En gros, créer un immense réseau local, parallèle à Internet, mais qui ne serait géré par personne et par tout le monde à la fois.
|
||||
Les réactions que j'ai suscité oscillaient entre mépris et amusement, mais personne ne m'a pris au sérieux.
|
||||
|
||||
Il y a quelques jours, j'ai lu (malheureusement, je ne sais plus où) qu'un, américain ou un britannique démarrait la mise en place d'un tel réseau.
|
||||
|
||||
Peut être que finalement, c'est tout de même la seule chose à faire pour restaurer la neutralité d'Internet.
|
||||
Ou peut-être n'est-ce qu'une utopie, parce qu'après tout, les gens sont procéduriers: rien ne les empêche d'attaquer quelqu'un d'autre en justice simplement à cause d'un délit de sale gueule.
|
||||
|
||||
Je ne parle même pas du piratage, parce que si vous avez lu le [Manifeste du geek](https://web.archive.org/web/20110303132720/http://dl.ingnu.fr/?f=3), vous savez que je considère que toute œuvre devrait être Libre.
|
||||
Mais pourquoi empêcher les gens de dire ce qu'ils veulent?
|
||||
Pourquoi nous empêcher de diffuser notre connaissance?
|
||||
Pourquoi nous mettre des bâtons dans les roues quand on veut avancer et faire avancer?
|
||||
|
||||
Je crois savoir pourquoi.
|
||||
La jalousie.
|
||||
Ceux qui ont le pouvoir de filtrer sont jaloux de ceux qui ont la possibilité d'évoluer et faire évoluer.
|
||||
C'est le même principe qu'à l'heure actuelle en entreprise: on n'évolue plus, parce que soit on a peur de se brouiller avec les collègues qui convoitent le même poste, soit parce que les supérieurs ont peur pour leur propre poste.
|
||||
|
||||
Je rêve qu'un jour Internet redevienne ce qu'il était à ses débuts.
|
||||
Alors, je rêve qu'Internet suive la même voie que les livres: ils ont d'abord été écrits, puis imprimés et diffusés.
|
||||
On les a ensuite brûlés, pour qu'ils reviennent finalement, et perdurent.
|
||||
Brûlons Internet tel qu'il est, pour que nous puissions en créer un nouveau, plus libre, plus neutre, largement utilisé.
|
||||
Redonnons à Internet ce qui était à Internet à ses débuts!
|
||||
@@ -0,0 +1,3 @@
|
||||
description: "Couverture originale créée localement pour accompagner la republication de l'article Peut-on se passer de Google ?."
|
||||
attribution: "Codex"
|
||||
prompt: "Illustration abstraite éditoriale inspirée d'un moteur de recherche dominant, avec spirale lumineuse, réseau de points et ambiance rétro-web 2012, sans texte, sans logo."
|
||||
|
After Width: | Height: | Size: 269 KiB |
@@ -0,0 +1,37 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/498
|
||||
cover: images/cover.png
|
||||
date: '2011-12-25 05:11:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120224014938/http://ingnu.fr/2011/12/25/peut-on-se-passer-de-google/
|
||||
tags:
|
||||
- Vie privée
|
||||
- Google
|
||||
title: Peut-on se passer de Google ?
|
||||
weather:
|
||||
humidity: 92
|
||||
illuminance: 0.0
|
||||
precipitations: false
|
||||
pressure: 1031.4
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 0.7
|
||||
wind_direction: 220
|
||||
wind_speed: 12.8
|
||||
---
|
||||
|
||||
Google est omniprésent et, malheureusement, omniscient. Son succès repose bien sûr sur la pertinence des résultats des recherches qu'on lui soumet; je ne dénie pas son efficacité mais son manque de respect pour la confidentialité. Le problème, c'est que d'une certaine manière, entre le moteur de recherche, YouTube et d'autres sites dont je ne ferai pas la liste ici (Google possède plus de 500 noms de domaine), ils ont réussi à créer une certaine dépendance chez les utilisateurs. J'ai donc voulu tester et vérifier s'il était possible de se passer de Google et de toutes ses autres créations.
|
||||
|
||||
Pour ce faire, j'ai utilisé [une technique](https://web.archive.org/web/20120224014938/http://ingnu.fr/2011/12/25/comment-bloquer-un-site-internet/) relativement simple à mettre en œuvre pour bloquer l'intégralité des domaines gérés par Google: lorsqu'un des clients de mon réseau essaye d'aller sur une page qui leur appartient, la résolution de nom pointe vers mon propre serveur.
|
||||
|
||||
Premier constat: même si Google dispose de fermes de serveurs et d'une bande passante proprement gigantesques, tous les sites Internet, soulagés des publicités AdSense, sont incroyablement plus rapides. Je n'ai pas de méthode pour le mesurer, mais c'est tellement énorme qu'il est inutile de vouloir chronométrer le chargement des pages.
|
||||
|
||||
Deuxième constat: il existe des alternatives! Aussi stupide que cela puisse paraître, oui, il y a des alternatives tout à fait convaincantes à Google. Non, ce n'est pas le seul moteur de recherche. Non, YouTube n'est pas le seul site à proposer des millions de vidéos. Non, GMail n'est pas le seul à proposer des comptes mails gratuits. Non, Picasa n'est pas le seul service de partage d'images. Toutes ces alternatives existent et sont tout à fait valables. C'est juste qu'elles ne sont pas aussi médiatisées. Par ailleurs, il y a même des alternatives françaises dans le lot...
|
||||
|
||||
En ce qui me concerne, et cela fera l'objet d'un prochain article, je n'utilise pas de moteur de recherche mais un méta-moteur libre ([Seeks](https://web.archive.org/web/20120224014938/http://www.seeks-project.info/site/)). Un méta-moteur va effectuer la recherche que vous lui aurait soumis via plusieurs moteurs (comme Google, Bing, etc.). En l'occurrence, vous vous en doutez, je l'ai configuré pour exploiter tous les moteurs à sa disposition, à l'exception de Google. Hé bien, si l'on fait abstraction de l'esthétique de l'application qui ne la met pas vraiment en valeur (mais qui est personnalisable), je trouve tout aussi bien ce que je cherche qu'à l'époque où j'utilisais Google. Mieux: Seeks me propose des résultats plus pertinents, parce que compilés via plusieurs moteurs et jugés par la communauté. Cerise sur le gâteau: je peux accéder à Seeks via un protocole sécurisé (personne ne peut intercepter ma recherche).
|
||||
|
||||
Pour l'heure, le blocage de l'intégralité des sites appartenant à Google ne me cause aucun préjudice, au contraire: je (re)découvre des sites oubliés, restés dans l'ombre de Mountain View. En tant que webmestre, je réapprends à me débrouiller sans Google qui, de toute manière, un jour où l'autre, indexera mon site simplement parce que des liens vers lui existent. Et concernant les outils de statistiques, il en existe suffisamment, Libres de surcroit.
|
||||
|
||||
Je parle beaucoup des alternatives existantes, sans pour autant les nommer. Rassurez-vous, dans un prochain article, j'établirai la liste des outils Google les plus utilisés, que je comparerai à deux types de solutions: les sites concurrents et les applications Libres à installer sur son propre serveur.
|
||||
@@ -0,0 +1,3 @@
|
||||
description: "Couverture originale créée localement pour accompagner la republication de l'article [MàJ du 27/01/2012] Pourquoi Google, c'est le mal."
|
||||
attribution: "Codex"
|
||||
prompt: "Illustration abstraite éditoriale inspirée d'un moteur de recherche dominant, avec spirale lumineuse, réseau de points et ambiance rétro-web 2012, sans texte, sans logo."
|
||||
|
After Width: | Height: | Size: 269 KiB |
@@ -0,0 +1,57 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/499
|
||||
cover: images/cover.png
|
||||
date: '2011-12-25 18:14:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120221132138/http://ingnu.fr/2011/12/25/pourquoi-google-cest-le-mal/
|
||||
tags:
|
||||
- Vie privée
|
||||
- Google
|
||||
title: '[MàJ du 27/01/2012] Pourquoi Google, c''est le mal'
|
||||
weather:
|
||||
humidity: 91
|
||||
illuminance: 0.0
|
||||
precipitations: false
|
||||
pressure: 1034.3
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 3.9
|
||||
wind_direction: 238
|
||||
wind_speed: 12.8
|
||||
---
|
||||
|
||||
Vous le constatez depuis l'ouverture de ce blog, je suis anti-Google et on peut se demander pourquoi. En réalité, je ne suis pas réellement anti-Google: je suis contre tout système capitaliste qui ordonne à ses clients ou utilisateurs comment consommer son bien ou son service. En effet, l'élément déclencheur de la réouverture de Ingnu a été le blocage de mon navigateur Web par Google+ et l'obligation d'utiliser Google Chrome (le navigateur de Google...) ou Firefox (avec qui Google a un partenariat), ce que j'ai jugé scandaleux.
|
||||
|
||||
Pendant longtemps, c'est Microsoft qui était la bête noire des Libristes. Elle l'est toujours d'ailleurs, mais leur cible est désormais les réseaux sociaux, tels que facebook. En ce qui me concerne, je pense que c'est secondaire. Il n'y a pas à se plaindre du manque de respect de la vie privée sur facebook: c'est un site créé pour étaler sa vie privée. Bien sûr, il y a le problème du stockage de cette vie privée, mais il appartient à chacun de savoir ce qu'il y met. Bref, je parlerai de ce sujet dans un autre billet.
|
||||
|
||||
Il en résulte que j'ai davantage d'intérêt pour le cas de Google pour le moment.
|
||||
|
||||
Google ne s'est pas contenté de phagocyter le marché des moteurs de recherche. L'entreprise a racheté beaucoup de sites Internet, dans de nombreux domaines. Vidéos, photos, mais aussi systèmes d'exploitation, navigateurs Web, science, cartographie.
|
||||
|
||||
> **[Mise à jour du 27 janvier]**
|
||||
|
||||
> Il semblerait que les domaines cités ci-dessous n'appartiennent pas ou plus à Google, comme en témoigne une simple requête [whois](https://web.archive.org/web/20120221132138/http://www.whois.net/whois/marsgoogle.com):
|
||||
|
||||
> " *Savez-vous par exemple que parmi la longue liste de domaines possédés par l'entreprise, on trouve notamment marsgoogle.com, jupitergoogle.com ou neptunegoogle.com, ce qui suggère qu'ils envisagent de coloniser et étendre leur emprise sur tout le système solaire?* "
|
||||
|
||||
> **Merci à Somebody de m'avoir alerté à ce sujet!**
|
||||
|
||||
> **[/Mise à jour]**
|
||||
|
||||
Bien sûr, je tourne cela en ridicule, mais c'est symptomatique d'une envie croissante de pouvoir.
|
||||
|
||||
De manière plus pragmatique, si une entreprise avait le pouvoir de vie ou de mort sur Internet, ce serait bien Google. Poussée par les lobbys, rien n'empêche l'entreprise, sur un plan technique, de supprimer un site de ses bases de données. C'est déjà arrivé, et cela risque fort de se reproduire. Nous sommes loin, très loin, d'un Internet Libre, décentralisé, et non soumis à la corruption. Malheureusement, nous sommes tellement dépendants de Google (y compris les geeks), que nous n'envisageons pas la possibilité d'une existence sur Internet sans être référencé par leur moteur de recherche.
|
||||
|
||||
Un autre problème de vie privée causé par Google concerne les DNS. Avec son service de DNS ouverts au public, n'importe qui peut décider d'utiliser les DNS de Google plutôt que ceux de son fournisseur d'accès à Internet. En utilisant ce service, Google garde une trace de chaque site et de chaque page que vous visitez, de manière plus obscure encore que lorsque vous utilisez le moteur de recherche.
|
||||
|
||||
Vous aurez peut être constaté, en effet, que depuis plusieurs mois maintenant les liens issus d'une recherche sur Google pointent vers une page de redirection chez Google, avant de vous renvoyer sur le site que vous voulez visiter. Avant cela, les liens étaient bien ceux pointant directement vers la page désirée. Grâce à ce système, ils peuvent améliorer les résultats de futures recherches portant sur le même sujet. Premier problème: aucune communication n'a été faite à ce sujet (je veux dire, via une diffusion largement accessible à tous, comme par exemple un lien sur la page d'accueil permettant d'afficher les nouveautés du moteur). Deuxième problème: rien ne les empêche de stocker non seulement la recherche associée à la page sur laquelle vous avez cliqué, mais aussi votre adresse IP, votre adresse MAC et surtout associer le tout à votre compte Google (et a fortiori, GMail) si vous étiez connecté pendant la recherche.
|
||||
|
||||
Vous vous dites peut-être: " Oui je sais, et alors? ". Alors, les revenus publicitaires de Google s'élevaient à près de 23 milliards de dollars en 2009. En utilisant des méthodes qui me dérangent au plus haut point. Google a été critiqué lors de l'introduction des publicités dans GMail, son service de messagerie, parce que les messages transitant par leur service de messagerie étaient analysés pour proposer des publicités mieux ciblées. Et qu'est-ce qui a changé? Absolument rien. Il y a toujours des publicités ciblées dans GMail.
|
||||
|
||||
Ajoutez à cela que souvent, quand vous avez un compte GMail, vous utilisez le service iGoogle, pour avoir une page personnalisée. Peut-être même que vous avez activé le widget météo en spécifiant la ville où vous vous trouvez. Et vous avez également configuré cela sur votre terminal Android, qui, généralement, envoi votre position aux serveurs de Google pour encore augmenter la pertinence de vos recherches. Ce terminal est souvent sur vous, et vous vous en servez même chez vous. Dans la ville configurée dans le widget météo. Ville intégralement couverte par Street View.
|
||||
|
||||
Vous voyez où je veux en venir? C'est de l'extrapolation, mais techniquement, Google est en mesure de vous envoyer, chez vous, une personne destinée à vous vendre des produits et services, qui va vous dire: " Bonjour Madame, le 27 juin à 10h34 vous avez effectué une recherche portant sur le terme " chaussures " alors que vous vous trouviez dans le centre-ville de Lyon par temps de pluie. Nous avons déterminé que si vous avez envie de chaussures, vous êtes prête à sacrifier votre brushing que vous veniez juste de vous faire faire chez votre coiffeur habituel (dénommé X) situé aux coordonnées GPS xxx.xxxx xxx.xxxx. Je viens donc vous voir pour vous vendre ces parapluies Hello Kitty, parce que nous savons également que vous en êtes fan, vu que vous avez acheté des strings de la marque auprès du VPCiste La Redoute le 12 février.Non? Pas intéressée? Puis-je dans ce cas vous proposez un flyer dans lequel vous trouverez des informations portant sur la prochaine réunion des Alcooliques Anonymes dans votre région, et que le numéro pour les femmes battues et en détresse est le 0......... Ah et au passage, l'itinéraire que vous avez emprunté ne correspond pas aux itinéraires que nous avons dans notre base de données. Si vous souhaitez continuer à profiter des services du coiffeur X, nous vous demandons de bien vouloir passer par la rue X. Dans le cas contraire, il se pourrait qu'il oublie de sécher vos cheveux lors de votre prochaine envie de brushing. ".
|
||||
|
||||
Oui. Google est parfaitement en mesure de le faire, sur le plan technique. Bien plus facilement que Microsoft qu'on a diabolisé pendant des années.
|
||||
@@ -0,0 +1,3 @@
|
||||
description: "Couverture originale créée localement pour accompagner la republication de l'article En quoi le Libre est un garant de la vie privée."
|
||||
attribution: "Codex"
|
||||
prompt: "Illustration abstraite éditoriale sur le logiciel libre et l'émancipation numérique, avec symbole d'ouverture, rayons lumineux et ambiance rétro-web 2012, sans texte, sans logo."
|
||||
|
After Width: | Height: | Size: 105 KiB |
@@ -0,0 +1,46 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/500
|
||||
cover: images/cover.png
|
||||
date: '2011-12-28 02:19:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120225101312/http://ingnu.fr/2011/12/28/en-quoi-le-libre-est-un-garant-de-la-vie-privee/
|
||||
tags:
|
||||
- Vie privée
|
||||
- Debian
|
||||
- Firefox
|
||||
- GNU
|
||||
- Libre
|
||||
- Linux
|
||||
- Logiciel
|
||||
- Mozilla
|
||||
- Ubuntu
|
||||
title: En quoi le Libre est un garant de la vie privée
|
||||
weather:
|
||||
humidity: 99
|
||||
illuminance: 0.0
|
||||
precipitations: false
|
||||
pressure: 1030.2
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 2.0
|
||||
wind_direction: 156
|
||||
wind_speed: 6.3
|
||||
---
|
||||
|
||||
Si vous vous intéressez un peu à l'informatique, vous devriez avoir entendu parler au moins une fois des Logiciels Libres ou Open Source. Peut-être même avez-vous succombé à la tendance, qualifiant les acteurs du Libre de hippies ou de communistes. Et si c'est le cas, c'est probablement que vous n'avez aucune idée des implications et des conséquences du Libre, aussi bien dans le domaine de l'informatique que dans des domaines plus éloignés.
|
||||
|
||||
Richard Stallman fut le premier à formaliser la notion de Logiciel Libre sous la forme d'une licence, la GPL, instaurée dans le cadre de la création d'un système d'exploitation dont le code source est ouvert, modifiable par tous, et dont le nom est GNU. Sa volonté était de libérer le logiciel, le rendre indépendant de toute entreprise. Son discours d'aujourd'hui est toujours le même, après trente ans: une entreprise qui ne libère pas le code source de ses applications est une entreprise qui emprisonne ses clients, esclaves de sa volonté à sortir une nouvelle version, esclaves des interdictions et des obligations qu'elle leur impose lors de l'utilisation de ce logiciel.
|
||||
|
||||
La protection de la vie privée est une conséquence directe et logique de l'accès à l'intégralité du code source d'une application. Par extension, l'ouverture du code source est signe de la grande confiance que l'on peut accorder à un Logiciel Libre. Si le code n'est pas fermé, il est possible de voir ce que l'application veut faire, il est possible de détecter si une atteinte à la vie privée est envisagée. Et il est également possible de supprimer ou modifier le code malveillant, tout en étant assuré que les fonctionnalités désirées de l'application continuent de faire leur office.
|
||||
|
||||
C'est la raison pour laquelle, lorsqu'on est obligés d'utiliser des applications non-libres, il est très important de redoubler de vigilance, en ce qui concerne les données que l'on fait transiter par cette application. Ainsi, la plupart des sites Internet ne revendiquant pas clairement faire appel à des Logiciels Libres doit être évitée. facebook, Google+, twitter sont de bonnes plateformes pour communiquer ses informations à de grands groupes de personnes. A l'exception des entreprises, qui a besoin, envie, et la possibilité de communiquer à de grands groupes de personnes? Qui a envie que facebook devienne le témoin de toutes nos vies? Personne, et pourquoi? Parce que ces données sont utilisées par facebook et ses tiers à notre insu, exactement comme les banques jouent avec de l'argent qui ne leur appartient pas: le notre. Dans les deux cas, nos vies et notre argent sont utilisés à notre insu, et dans l'impunité.
|
||||
|
||||
Pour éviter cela, il faut recourir aux Logiciels Libres. Eux seuls nous laissent le contrôle de ces données. Parce qu'ils nous offrent l'accès à l'encryptage, à la sécurité, à l'attribution de droits d'accès variés et spécifiques. Et parce qu'une fonctionnalité qui n'existe pas dans un Logiciels Libre peut être développée et intégrée à ce logiciel, puis partagée avec les autres développeurs, qui à leur tour vont pouvoir améliorer l'application, la sécuriser.
|
||||
|
||||
En utilisant Windows, vous êtes dépendants du bon vouloir de Microsoft à sortir des mises à jour. En 2004, le ver Sasser a infecté des millions de machines de par le monde en exploitant une faille connue depuis plusieurs années. Microsoft n'a pas proposé de correctif pour cette faille, elle a été exploitée. La plupart des failles de sécurité concerne des logiciels propriétaires. Certains sites, tels que Secuser, n'abordent même pas le système d'exploitation GNU/Linux.
|
||||
|
||||
Toutefois, il existe certaines entreprises (ou " fondations "), qui font perdre leur noblesse au Logiciel Libre, de par leur politique. C'est le cas, par exemple, de Mozilla, avec, notamment, son navigateur firefox ou son client de messagerie Thunderbird. Pourquoi existe-t-il des vulnérabilités dans leurs logiciels qui sont réputés Libres? A cause d'une politique interne contraignante: la soumission de code source est un parcours du combattant. C'est le cas également avec le système qui fut à la mode ces dernières années et qui perd de la vitesse ces derniers temps: Ubuntu. Ce système exploite les dépôts instables de la distribution Debian. Pourquoi utiliser des dépôts instables, connus pour contenir des vulnérabilités, et impropres à une utilisation en conditions réelles? Pourquoi promouvoir Ubuntu comme étant un système d'exploitation grand public, alors qu'il s'agit davantage d'un ensemble de " proof of concept "?
|
||||
|
||||
Il en résulte que les Logiciels Libres sont les garants de la vie privée et de la sécurité, à condition de les choisir correctement: sans une grande entreprise qui les régissent d'une main de fer.
|
||||
@@ -0,0 +1,67 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/501
|
||||
date: '2011-12-29 01:25:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120221104359/http://ingnu.fr/2011/12/29/quelles-sont-les-alternatives-a-google/
|
||||
tags:
|
||||
- Agenda
|
||||
- Alternatives
|
||||
- Blogger
|
||||
- Coppermine
|
||||
- Daily Motion
|
||||
- Documents
|
||||
- Dotclear
|
||||
- DuckDuckGo
|
||||
- Gallery
|
||||
- Gmail
|
||||
- Google
|
||||
- Horde
|
||||
- Kronolith
|
||||
- Libre
|
||||
- LibreOffice
|
||||
- Picasa
|
||||
- Piwigo
|
||||
- Reader
|
||||
- Seeks
|
||||
- Tiny Tiny RSS
|
||||
- WordPress
|
||||
- YouTube
|
||||
- Zenphotos
|
||||
title: Quelles sont les alternatives à Google ?
|
||||
weather:
|
||||
humidity: 97
|
||||
illuminance: 0.0
|
||||
precipitations: true
|
||||
pressure: 1023.2
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 4.4
|
||||
wind_direction: 247
|
||||
wind_speed: 17.3
|
||||
---
|
||||
|
||||
Mes premiers billets ont été consacrés à Google.
|
||||
Après avoir [présenté deux techniques que j'ai mis en oeuvre pour bloquer les sites de Google](https://web.archive.org/web/20120221104359/http://ingnu.fr/2011/12/25/comment-bloquer-un-site-internet/) (entre autres) sur mon réseau, j'ai affirmé qu'[il était tout à fait possible de se passer de leurs services grâce à d'autres services restés dans l'ombre](https://web.archive.org/web/20120221104359/http://ingnu.fr/2011/12/25/peut-on-se-passer-de-google/), avant d'aborder la question que se posent mes détracteurs : [pourquoi Google c'est le mal](https://web.archive.org/web/20120221104359/http://ingnu.fr/2011/12/25/pourquoi-google-cest-le-mal/) ?
|
||||
|
||||
La suite logique est donc de vous présenter ces fameuses solutions alternatives.
|
||||
J'ai cherché et testé différentes solutions de remplacement aux outils Google les plus utilisés, qu'il s'agisse d'un service en ligne ou d'une application à installer sur son propre serveur.
|
||||
|
||||
Vous noterez que l'inconvénient de toute alternative en ligne est que vous ne maîtrisez pas vos données.
|
||||
Par opposition, le contrôle de vos données (et donc la confidentialité) est justement le gros avantage d'une solution que vous pouvez installer vous-même.
|
||||
Vous noterez également que les solutions à installer chez soi que je vous propose sont réputées être Libres.
|
||||
|
||||
| Vous utilisez | Alternative en ligne | A installer chez soi |
|
||||
| --- | --- | --- |
|
||||
| Moteur de recherche | [Duck Duck Go](https://web.archive.org/web/20120221104359/http://duckduckgo.com/) Avantages : protocole sécurisé, point d'honneur mis sur la confidentialité, possibilité de désactiver les publicités Inconvénients : en anglais uniquement [ixquirck](https://web.archive.org/web/20120221104359/https://ixquick.com/fra/) Avantages : Là encore, un point d'honneur mis sur la confidentialité et le respect des données personnelles | [Seeks](https://web.archive.org/web/20120221104359/http://www.seeks-project.info/site/) Avantages : les recherches sont stockées sur votre propre serveur Inconvénients : sa difficulté d'installation |
|
||||
| GMail | Le service de messagerie de votre fournisseur d'accès Avantages : ils sont généralement assez ouverts sur les protocoles (IMAP, voire IMAPS) Inconvénients : aucune garantie contre le SPAM... | Son propre serveur mail Avantages : vous en faites ce que vous voulez ! Inconvénients : très compliqué à paramétrer pour une sécurité et une confidentialité maximale |
|
||||
| Picasa | [Flickr](https://web.archive.org/web/20120221104359/http://www.flickr.com/) [Piwigo](https://web.archive.org/web/20120221104359/http://fr.piwigo.com/) Avantages : La plateforme utilise le Logiciel Libre du même nom, les avantages sont donc les mêmes que dans le cas de WordPress par exemple | [Gallery](https://web.archive.org/web/20120221104359/http://gallery.menalto.com/), [Coppermine](https://web.archive.org/web/20120221104359/http://coppermine-gallery.net/) Avantages : excellent pour gérer de grosses galeries de photos, beaucoup de possibilités différentes pour envoyer les photos Inconvénients : usine à gaz pour de petites galeries [zenPhotos](https://web.archive.org/web/20120221104359/http://www.zenphoto.org/) Avantages : Pas de base de données, léger Inconvénients : navigation pas toujours pratique [Piwigo](https://web.archive.org/web/20120221104359/http://fr.piwigo.org/) Avantages : Léger, modulaire, esthétique |
|
||||
| YouTube | [DailyMotion](https://web.archive.org/web/20120221104359/http://www.dailymotion.com/fr/about) Avantages : c'est français Inconvénients : ceux qui postent sur YouTube ne postent pas nécessairement sur DailyMotion... | ? |
|
||||
| Agenda | ? | [Kronolith](https://web.archive.org/web/20120221104359/http://www.horde.org/apps/kronolith/) Avantages : relativement simple à installer depuis la version 4 de Horde, quoique nécessitant un accès shell au serveur Inconvénients : sincèrement, je ne vois pas... |
|
||||
| Blogger | [WordPress](https://web.archive.org/web/20120221104359/http://fr.wordpress.com/) Avantages : le moteur est connu et maîtrisé, visibilité de votre blog | [WordPress](https://web.archive.org/web/20120221104359/http://fr.wordpress.org/) Avantages : libre, beaucoup d'extensions disponibles, mis à jour régulièrement Inconvénients : vaut mieux ne pas avoir à toucher au code... [DotClear](https://web.archive.org/web/20120221104359/http://fr.dotclear.org/) Avantages : c'est français, code propre, ici aussi de nombreuses extensions sont disponibles Inconvénients :... |
|
||||
| Documents | ? | [LibreOffice OnLine](https://web.archive.org/web/20120221104359/http://www.libreoffice.org/) Avantages : LibreOffice... en ligne ! Inconvénients : pas encore disponible... et on peut s'attendre à une installation lourde |
|
||||
| Reader | [feedshow](https://web.archive.org/web/20120221104359/http://reader.feedshow.com/) | [Tiny Tiny RSS](https://web.archive.org/web/20120221104359/http://tt-rss.org/redmine/) Avantages : comme son nom l'indique, très petit et léger, pratique et performant |
|
||||
| iGoogle | [NetVibes](https://web.archive.org/web/20120221104359/http://www.netvibes.com/fr) | |
|
||||
|
||||
Merci à mes lecteurs sur [facebook](https://web.archive.org/web/20120221104359/http://www.facebook.com/ingnu) pour m'avoir aidé à compléter ce tableau !
|
||||
@@ -0,0 +1,52 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/502
|
||||
date: '2012-01-03 01:54:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120415203633/http://ingnu.fr/2012/01/03/comment-le-livre-de-richard-stallman-a-change-ma-vision-du-libre/
|
||||
tags:
|
||||
- La révolution du logiciel libre
|
||||
- Libre
|
||||
- Richard Stallman
|
||||
- RMS
|
||||
title: Comment le livre de Richard Stallman a changé ma vision du Libre
|
||||
weather:
|
||||
humidity: 94
|
||||
illuminance: 0.0
|
||||
precipitations: false
|
||||
pressure: 1021.3
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 3.6
|
||||
wind_direction: 249
|
||||
wind_speed: 14.2
|
||||
---
|
||||
|
||||
Le Libre est une philosophie.
|
||||
C'est mon ami Christophe qui me l'a présenté ainsi, à une époque où je défendais Microsoft parce que tout le monde s'acharnait sur cette entreprise; à une époque où je voulais un serveur dénué de logiciels que je n'appelais pas encore "privateurs", par soucis de ne pas être "hors la loi".
|
||||
|
||||
Et puis petit à petit je me suis détaché de Microsoft, jusqu'à l'arrivé de Steeve Balmer, qui a ridiculisé son entreprise, qui n'a aucun charisme, et qui fait prendre à Microsoft un chemin qui ne me convainc pas, ce qui a éteint en moi le peu d'intérêt qu'il me restait pour Redmond.
|
||||
Dans le même temps, je comprenais de mieux en mieux où voulait en venir Stallman avec le Libre, même si je ne pouvais me défaire de quelques logiciels privateurs (notamment flash parce que je regarde des vidéos sur Internet, et les jeux commerciaux).
|
||||
|
||||
Ayant perdu mon emploi et devant donc consacrer mes ressources à plus vital, ce n'est que récemment, grâce à ma femme, que j'ai pu enfin avoir entre les mains "[La révolution du Logiciel Libre](https://web.archive.org/web/20120415203633/http://framabook.org/richard-stallman-et-la-revolution-du-logiciel-libre)".
|
||||
|
||||
En prenant connaissance de la façon dont l'idée de Logiciel Libre a émergé de l'esprit de Richard Stallman dans les premiers chapitres du livre, il m'est apparu évident que la possibilité d'avoir accès au code source d'une application n'était presque qu'accessoire.
|
||||
La véritable essence du Logiciel Libre va beaucoup plus loin, puisqu'il s'agit de libertés fondamentales dont on parle.
|
||||
L'exigence naturelle pour un consommateur d'avoir accès au contenu de ce qu'il consomme : la recette de sa boisson préférée par exemple (et je prends cet exemple parce j'aimerais [fabriquer mon propre Coca Cola](https://web.archive.org/web/20120415203633/http://en.wikipedia.org/wiki/OpenCola_(drink))...).
|
||||
Cela pour lui redonner le contrôle sur ce qu'il utilise.
|
||||
|
||||
C'est ainsi que [j'ai bloqué l'accès aux sites appartenant à Google](https://web.archive.org/web/20120415203633/http://ingnu.fr/2011/12/25/peut-on-se-passer-de-google/) depuis mon réseau, dans un premier temps.
|
||||
Puis abandonné progressivement les derniers logiciels privateurs qui persistaient sur ma machine, que j'ai remplacé par des alternatives libres, à l'exception de mon navigateur web, qui demeure Opera, navigateur auquel je consacrerai mon prochain billet, afin d'expliquer pourquoi, malgré le fait que son code source ne soit pas disponible, je continue de l'utiliser.
|
||||
|
||||
En tous les cas, les premiers chapitres de la "*biographie autorisée*" de Richard Stallman ont constitué un déclencheur.
|
||||
Et par une belle ironie, ce qu'ils ont déclenché en moi l'ont fait à la toute fin de l'année 2011, après avoir [réouvert les portes de ingnu](https://web.archive.org/web/20120415203633/http://ingnu.fr/2011/12/24/reouverture-de-ingnu/).
|
||||
Ces chapitres ont décuplé ma volonté de contribuer au Logiciel Libre, que ce soit par la publication d'une application actuellement en développement, mon intégration dans une association pour la promotion du Libre qui devrait arriver au mois de février (lorsque mes finances me le permettront de nouveau), ou la communication que j'entreprends sur le Logiciel Libre auprès de mes proches et de mes amis, et sur Internet via ingnu et les réseaux sociaux, qu'ils soient libres ou non.
|
||||
|
||||
L'année 2012 sera pour moi une année de progression, boostée par ce livre; ma motivation est regonflée, mes intentions plus assurées, mes convictions plus fortes.
|
||||
Je peinais à trouver comment m'en sortir tout en exerçant ma passion, l'enchaînement de boulots de plus ou moins grande envergure ne m'y aidant pas vraiment.
|
||||
Mais je sais maintenant ce que je dois faire, ce que je veux faire.
|
||||
Je veux être un acteur du Libre, et je ne me contenterai pas de publier une application.
|
||||
|
||||
Alors, même si de base vous n'êtes pas un partisan du Libre, même si vous ne trouvez dans l'informatique qu'un outil et que vous vous contenteriez des signaux de fumée, procurez-vous "La révolution du Logiciel Libre".
|
||||
Ce qui y est écrit peut changer votre façon de voir l'informatique.
|
||||
@@ -0,0 +1,3 @@
|
||||
description: "Couverture originale créée localement pour accompagner la republication de l'article Comment l'ICANN va tuer Internet, et comment l'en empêcher."
|
||||
attribution: "Codex"
|
||||
prompt: "Illustration abstraite éditoriale sur Internet et son architecture, avec globe stylisé, arcs de connexion et ambiance rétro-web 2012, sans texte, sans logo."
|
||||
|
After Width: | Height: | Size: 102 KiB |
@@ -0,0 +1,64 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/503
|
||||
cover: images/cover.png
|
||||
date: '2012-01-11 20:41:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120401223712/http://ingnu.fr/2012/01/11/comment-licann-va-tuer-internet-et-comment-len-empecher/
|
||||
tags:
|
||||
- Internet
|
||||
- DNS
|
||||
- ICANN
|
||||
title: Comment l'ICANN va tuer Internet, et comment l'en empêcher
|
||||
weather:
|
||||
humidity: 95
|
||||
illuminance: 0.0
|
||||
precipitations: false
|
||||
pressure: 1032.1
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 2.7
|
||||
wind_direction: 214
|
||||
wind_speed: 7.8
|
||||
---
|
||||
|
||||
L'un des principes qui garantissent la liberté sur Internet, la confidentialité des données, et la pérennité des services, est la décentralisation. C'est la raison pour laquelle il est indispensable de préférer un équivalent libre (comme [status.net](https://web.archive.org/web/20120401223712/http://status.net/) qui fait tourner [social.ingnu.fr](https://web.archive.org/web/20120401223712/https://social.ingnu.fr/)) à une solution gérée par une seule entreprise (comme facebook ou twitter).
|
||||
|
||||
Le gros problème avec Internet, c'est que l'un de ses fondements n'est justement pas décentralisé et bien géré par une seule entreprise: [l'ICANN](https://web.archive.org/web/20120401223712/http://www.icann.org/).
|
||||
|
||||
Il s'agit de l'organisme en charge de l'attribution des noms de domaine sur Internet. Et s'il y a bien un domaine à ne pas toucher sur Internet, c'est l'attribution des noms de domaine. Si, par le biais de lois ou de pressions politiques ou financières, on demande à l'ICANN d'empêcher l'enregistrement ou l'utilisation de certains domaines, c'est la porte ouverte à tous les excès.
|
||||
|
||||
Présentée comme une corporation à but non lucratif et au bénéfice public, il n'en reste pas moins que si on leur agite une pomme sous le nez, ils ne vont pas cracher dans la soupe. Et justement, ils se sont trouvé une pomme.
|
||||
|
||||
Vous ne le savez peut-être pas (je rappelle que le changement de ligne éditoriale de ingnu fait que je m'adresse à un public plus large que les geeks), mais les noms de domaines sont contraints à des TLD (Top Level Domains). Ce sont les.fr,.com,.org,.net. Jusqu'à présent, ces TLD étaient fixés, il n'est pas possible d'en créer de nouveaux, sauf si l'ICANN estime qu'ils sont légitimes (par exemple, le.xxx qui a fait grand bruit puisque créé spécifiquement pour les sites pornographiques). Par l'intermédiaire de son blog, l'ICANN a annoncé que n'importe qui (ou presque, c'est bien le problème) pourra bientôt (apparemment dans le courant de cette année) créer n'importe quel TLD. Vraiment n'importe qui? Oui, à condition de raquer 185 000 dollars. Vous voyez où se situe le problème?
|
||||
|
||||
Et si plusieurs personnes veulent enregistrer le même TLD? Il est mis aux enchères. Autrement dit, l'ICANN vient d'offrir la possibilité aux riches d'assoir encore davantage leur suprématie sur Internet. Mais à part ça, il n'y a pas de but lucratif, et leur action bénéficie au peuple...
|
||||
|
||||
Donc, théoriquement, si vous êtes fans d'Apple et même si vous avez du pognon, oubliez tout de suite l'idée d'acheter le TLD.apple, vous risqueriez de vous retrouver devant les tribunaux. Cette belle idée de l'ICANN pour se faire un maximum d'argent va donc forcément ruiner Internet.
|
||||
|
||||
**La question est donc: que faire pour éviter que l'ICANN ne tue Internet?**
|
||||
|
||||
En ce qui me concerne, je rejoins le principe de décentralisation. Plutôt que d'avoir un seul organisme en charge des noms de domaines, chacun devient son propre registrar. Cela me paraît être la solution idéale à bon nombre de problèmes, y compris des problèmes de censure ou de blocage. Voici donc comment je vois l'implémentation de ce système.
|
||||
|
||||
Dans les distributions GNU/Linux gérant des dépôts logiciels, il faut rajouter une ligne à un fichier de configuration, ligne qui correspond à la définition d'un dépôt. Rajouter cette ligne, c'est permettre au gestionnaire de paquets d'accéder aux logiciels présents sur ce dépôt.
|
||||
|
||||
De la même manière, il devrait être possible d'ajouter une ligne à un fichier de configuration, ligne qui correspond à un domaine ou un TLD géré par quelqu'un. Par exemple, si vous souhaitez accéder aux sites appartenant à Google (qui aura, à coup sûr, acheté le TLD.google), vous ajouteriez, à votre fichier de configuration, une ligne de ce type:
|
||||
|
||||
```text
|
||||
.google <adresse ip>
|
||||
```
|
||||
|
||||
Où <adresse ip> pourrait correspondre à un serveur hébergé par Google qui communique la liste des domaines gérés par Google. Du coup, arbitrairement, chacun pourrait également écrire une ligne de ce type:
|
||||
|
||||
```text
|
||||
.adsense.google <adresse ip>
|
||||
```
|
||||
|
||||
Où, cette fois, <adresse ip> est une adresse IP ne pointant nulle part (ou sur localhost), de sorte à bloquer les pubs sur le domaine adsense.google.
|
||||
|
||||
Cela implique également que si je ne souhaite pas avoir accès à certains sites, il me suffit de ne pas les inclure dans mon fichier de configuration. De plus, les lignes de configuration spécifique à chaque site Internet pourraient se partager entre utilisateurs, communiquées sur des dépôts publics. On pourrait aussi imaginer des communautés créant des serveurs contenant les domaines qui pointent vers tous les blogs de geeks, offrant à tous la possibilité d'ajouter à leurs dépôts leur serveur, pour avoir un accès immédiats à des centaines de blogs.
|
||||
|
||||
Il faut bien comprendre également que cela permettra à tout le monde de disposer de son propre domaine, sans qu'il ne soit nécessaire de payer quoique ce soit.
|
||||
|
||||
Mon idée est là. Elle doit être étoffée, formalisée, mais je suis persuadé que c'est la meilleure solution pour un Internet plus Libre, plus décentralisé, plus en accord avec ce qu'il doit être depuis sa création. Qu'en pensez-vous?
|
||||
@@ -0,0 +1,3 @@
|
||||
description: "Couverture originale créée localement pour accompagner la republication de l'article [MAJ 27/01/2012] Mes résolutions pour 2012."
|
||||
attribution: "Codex"
|
||||
prompt: "Illustration abstraite éditoriale pour un billet d'opinion informatique, avec panneaux, lignes structurelles et ambiance rétro-web 2012, sans texte, sans logo."
|
||||
|
After Width: | Height: | Size: 85 KiB |
@@ -0,0 +1,76 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/504
|
||||
cover: images/cover.png
|
||||
date: '2012-01-15 18:06:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120529034414/http://ingnu.fr/2012/01/15/mes-resolutions-pour-2012/
|
||||
tags:
|
||||
- Ingnu
|
||||
title: '[MAJ 27/01/2012] Mes résolutions pour 2012'
|
||||
weather:
|
||||
humidity: 88
|
||||
illuminance: 0.0
|
||||
precipitations: false
|
||||
pressure: 1020.6
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: -1.8
|
||||
wind_direction: 68
|
||||
wind_speed: 15.2
|
||||
---
|
||||
|
||||
Si vous suivez régulièrement mes notices sur [social.ingnu](https://web.archive.org/web/20120529034414/https://social.ingnu.fr/), sur [facebook](https://web.archive.org/web/20120529034414/http://www.facebook.com/ingnu) ou sur [twitter](https://web.archive.org/web/20120529034414/https://twitter.com/#!/Ingnufr), vous avez du voir [celle-là](https://web.archive.org/web/20120529034414/https://social.ingnu.fr/notice/110) passer. Cependant, je souhaitais vous faire part de mes résolutions à travers un article complet sur ingnu. Cela me permettra d'en dresser une liste exhaustive avec des détails. Cela me servira non seulement comme liste de tâches/memo/todo, mais cela me permettra également de vous donner l'envie de piocher dans ces résolutions pour que vous les fassiez votre pour cette nouvelle année.
|
||||
|
||||
**Développer et publier un Logiciel Libre**
|
||||
|
||||
C'est déjà fait, et il s'appelle ShareMyPics. Il s'agit d'un clone libre de twitpic. L'application est diffusée sous licence [GNU Affero GPL](https://web.archive.org/web/20120529034414/http://www.gnu.org/licenses/agpl.html). Vous pouvez consulter le [wiki](https://web.archive.org/web/20120529034414/http://sharemypics.net/) de l'application, ainsi que ses sources sur [github](https://web.archive.org/web/20120529034414/https://github.com/Ingnu/Share-My-Pics).
|
||||
|
||||
**Contribuer à un Logiciel Libre**
|
||||
|
||||
Pendant quelques temps après avoir formulé mes résolutions pour 2012, je me suis posé la question: "*A quel Logiciel Libre je vais apporter ma contribution?*". Ce n'est que récemment que j'ai trouvé la réponse via une notice de [nizarus](https://web.archive.org/web/20120529034414/http://identi.ca/notice/88647631).
|
||||
|
||||
Lassé du monopole Google, mais récemment propriétaire d'un [GeeksPhone](https://web.archive.org/web/20120529034414/http://www.geeksphone.com/fr/), je suis pour le moment dans l'obligation d'utiliser Android. Je n'attendais qu'une chose: voir un OS libre pour smartphone qui ne soit pas issu de Google. Il y en a un, [Tizen](https://web.archive.org/web/20120529034414/https://www.tizen.org/), par The Linux Foundation. Je n'ai vu aucune mention explicite de la licence exacte sous laquelle il va sortir (je n'ai peut-être que survolé le site), mais vu le contenu du répertoire des sources, il y a plein de paquets GNU, donc c'est plutôt bon signe.
|
||||
|
||||
Tizen sera donc très probablement le Logiciel Libre auquel je contribuerai en 2012. Juste après ma prochaine résolution que voici.
|
||||
|
||||
**LFS**
|
||||
|
||||
Mon serveur privé, en charge du partage de fichiers et de l'imprimante, de la sauvegarde de toutes mes machines y compris de la dedibox hébergeant - entre autres - mon humble blog, du DNS secondaire pour tous mes domaines, de la gestion de mon onduleur, et que sais-je encore, tourne sur une honorable [debian](https://web.archive.org/web/20120529034414/http://www.debian.org/). Mais j'ai dorénavant d'autres aspirations pour le système d'exploitation en charge de gérer tout ça.
|
||||
|
||||
J'ai déjà eu l'occasion de me faire la main sur [Linux From Scratch](https://web.archive.org/web/20120529034414/http://www.linuxfromscratch.org/), mais jamais en situation réelle. J'ai donc décidé que dans les prochaines heures (ou prochains jours, selon le nombre de Red Bull que j'ai à ma disposition) j'aurai construit un système GNU/Linux complet pour ce serveur.
|
||||
|
||||
> **[Mise à jour du 18 janvier]**
|
||||
|
||||
> Après 12 heures de compilation sur un AMD A-3300, je m'embarque sur 12 heures de galères avec grub. Il faut savoir que j'ai huit disques dans ce serveur, et qu'a priori, lors d'une installation précédente d'une autre distribution GNU/Linux, grub a dû s'installer là où il n'aurait pas dû. Convaincu que grub n'était installé que sur mon disque principal, j'ai bien galéré avant de trouver la solution à mon problème.
|
||||
|
||||
> J'ai dû mon salut à la toute puissance de dd.
|
||||
|
||||
> ```text
|
||||
> dd if=/dev/zero of=/dev/sda bs=446 count=1
|
||||
> ```
|
||||
|
||||
> Cette commande, appliquée à chacun de mes disques durs, m'a permit de virer le MBR (dont je n'ai besoin que sur le disque de démarrage, cela va de soi), et d'enfin pouvoir booter ma LFS.
|
||||
|
||||
> Après encore quelques heures à installer les logiciels dont j'ai besoin, j'ai un serveur parfaitement fonctionnel, hyper optimisé. Par contre, il faut que je désactive la swap. GNU/Linux prend ses aises sur la swap alors qu'il a 4Go pour se faire plaisir...
|
||||
|
||||
> Au final, LFS c'est une grande aventure, mais quand on arrive au bout, on se dit: "Putain, c'est moi qui ai fait ça? "et surtout, on a appris plein de choses très intéressantes.
|
||||
|
||||
> Du coup, je rajoute une extension à la résolution d'installer LFS sur mon serveur: installer LFS sur ma propre machine. Ce qui implique l'installation depuis les sources de toute la partie interface graphique. Encore des nuits blanches en perspective
|
||||
|
||||
**Adhérer à une association pour le Libre**
|
||||
|
||||
J'ignore encore vers laquelle je vais me tourner. À vrai dire, j'ignore encore tout des associations promouvant le Logiciel Libre. Donc avant d'adhérer, je vais d'abord me renseigner. Mais en 2012 je ferai partie de l'une d'entre elles.
|
||||
|
||||
> **[Mise à jour du 27 janvier]**
|
||||
|
||||
> **Mettre à jour le Manifeste du Geek**
|
||||
|
||||
> Depuis l'an dernier, je me suis rendu compte que le terme "geek "avait encore perdu de son sens initial. De plus en plus de jeunes s'affirment geeks sans même savoir de quoi il s'agit. Par ailleurs, j'ai pris connaissance, à travers différents médias, de personnalités ou d'anecdotes fortement liées à la culture geek.
|
||||
|
||||
> Tout cela doit être intégré au Manifeste.
|
||||
|
||||
> Peut-être d'ailleurs que le livre sera restructuré. Il devrait s'agir d'un "Manifeste", autrement dit, il devrait non pas suivre des chapitres mais des articles.
|
||||
|
||||
> Enfin, le moyen de diffusion va changer, ainsi que la licence. Actuellement, le Manifeste du Geek est publié sous licence GNU GPL. La licence va passer sur une [FDL](https://web.archive.org/web/20120529034414/http://www.gnu.org/licenses/fdl.html). Quant au moyen de diffusion, j'ouvrirai mon propre dépôt git (qui me servira également pour [SMP](https://web.archive.org/web/20120529034414/http://sharemypics.net/)).
|
||||
@@ -0,0 +1,3 @@
|
||||
description: "Couverture originale créée localement pour accompagner la republication de l'article Il faut arrêter avec le cloud !."
|
||||
attribution: "Codex"
|
||||
prompt: "Illustration abstraite éditoriale sur le cloud computing, avec nuages géométriques, lignes de synchronisation et ambiance rétro-web 2012, sans texte, sans logo."
|
||||
|
After Width: | Height: | Size: 113 KiB |
@@ -0,0 +1,45 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/505
|
||||
cover: images/cover.png
|
||||
date: '2012-01-19 11:22:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120224014226/http://ingnu.fr/2012/01/19/il-faut-arreter-avec-le-cloud/
|
||||
tags:
|
||||
- Vie privée
|
||||
- Cloud
|
||||
title: Il faut arrêter avec le cloud !
|
||||
weather:
|
||||
humidity: 98
|
||||
illuminance: 1393.7
|
||||
precipitations: true
|
||||
pressure: 1021.7
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 4.3
|
||||
wind_direction: 230
|
||||
wind_speed: 26.3
|
||||
---
|
||||
|
||||
Pas une journée ou presque ne passe sans qu'une actualité concernant le cloud ne soit publiée sur les sites d'informations. Le cloud est à la mode. Si vous n'êtes pas informaticiens, le cloud peut peut être vous échapper: c'est quoi le cloud?
|
||||
|
||||
Le cloud, c'est la déportation de vos données et applications sur un serveur distant. Inoffensif? Détrompez-vous.
|
||||
|
||||
Qui propose du cloud aujourd'hui? Microsoft, Google, entre autres. Autrement dit, vous remettez vos données entre les mains de personnes qui ont déjà prouvé par le passé qu'on ne pouvait pas leur faire confiance. Mais au delà de ça, utiliser le cloud pour stocker données et applications, c'est s'affranchir de la "basse besogne "de leur gestion, et de la gestion du serveur sur lequel elles sont stockées. Autrement dit, vous n'avez aucune maîtrise sur la façon dont vos données sont utilisées. Vous ne maîtrisez plus rien avec le cloud.
|
||||
|
||||
Le cloud nécessite donc que vous envoyez vos données et vos applications sur un serveur, opération pendant laquelle elles sont vulnérables. Ainsi, vous ne maîtrisez ni l'envoi des données, ni leur stockage. Et une fois sur place, dans le "nuage", vous ne maîtrisez pas leur accès. Celui qui gère le serveur de destination a accès aux données, et je ne pense pas que les services offrant du cloud computing prennent la peine de chiffrer les données. Et même s'ils chiffraient les données, les administrateurs de ces services seraient capable de les déchiffrer.
|
||||
|
||||
Ce qui veut également dire que rien ne les empêche d'analyser ces données, pour s'en servir contre vous. Par exemple, en ciblant de la publicité, en récupérant des adresses emails pour leur proposer leurs services de cloud computing, ou pour s'assurer que vous n'enfreignez pas leurs conditions d'utilisation.
|
||||
|
||||
Avec la prolifération des tablettes, et bientôt de l'IPv6, les problèmes de sécurité lors de l'accès au cloud vont se faire de plus en plus nombreux et de plus en plus graves, faisant le bonheur des entreprises vendant de l'antivirus. Des antivirus sur des tablettes... Des tablettes intégrant des botnets... Des tablettes intégrant quatre coeurs, suffisamment de puissance pour faire tout et n'importe quoi avec, et surtout n'importe quoi.
|
||||
|
||||
C'est le développement du cloud computing qui a permis cette prolifération d'appareils mobiles. Le cloud computing, c'est la mort de l'informatique.
|
||||
|
||||
[La part de marché des appareils mobiles vient de dépasser la part de marché des ordinateurs de bureau](https://web.archive.org/web/20120224014226/http://www.pcinpact.com/news/68387-france-tablettes-tactiles-ordinateurs-bureau.htm). Les jeux se mettent maintenant aussi au cloud. Vous ne voyez pas qu'en soutenant le cloud, vous mettez à mort nos ordinateurs? Vous ne voyez pas qu'en soutenant le cloud, vous en faites des terminaux? Vous ne voyez pas que le cloud, c'est le minitel 2.0, et que nos ordinateurs ne serviront plus à rien, à part se contenter de faire de l'affichage?
|
||||
|
||||
Un cas et un seul trouve grâce à mes yeux: lorsque vous avez votre propre serveur, et que vous maîtrisez la chaîne de données de bout en bout, autrement dit, que vous savez maîtriser la sécurité de votre serveur, de votre client, et de la transmission des données de l'un à l'autre. Je ne dis pas qu'il faut être un expert en sécurité et que votre serveur doit être plus sécurisé que les serveurs gouvernementaux, bien sûr. Je dis juste que le cloud, c'est bien quand vous avez le votre, que chaque élément vous appartient, ou appartient à quelqu'un de confiance.
|
||||
|
||||
Alors pitié, arrêtez avec le cloud! Vous tuez l'informatique! Vous marginalisez le domaine passionnant, complexe et essentiel qu'est l'informatique serveur! On vous vend des solutions alléchantes: plus de soucis de gestion, plus de serveur à héberger, plus d'administration, donc plus d'administrateurs à payer, plus d'infrastructure complexe à déployer. En réalité, vous offrez à des personnes malintentionnées la possibilité de violer votre vie privée, qu'elle ait ou non un rapport avec votre travail d'ailleurs, et de se faire encore plus d'argent sur votre crédulité.
|
||||
|
||||
Et une fois de plus, le cloud viole un des principes fondamentaux des geeks: ne pas mettre tous ses œufs dans le même panier. Alors reprenez le contrôle de vos données et de vos serveurs!
|
||||
@@ -0,0 +1,3 @@
|
||||
description: "Couverture originale créée localement pour accompagner la republication de l'article Ce que les gouvernements devraient proposer."
|
||||
attribution: "Codex"
|
||||
prompt: "Illustration abstraite éditoriale pour un billet d'opinion informatique, avec panneaux, lignes structurelles et ambiance rétro-web 2012, sans texte, sans logo."
|
||||
|
After Width: | Height: | Size: 85 KiB |
@@ -0,0 +1,58 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/507
|
||||
cover: images/cover.png
|
||||
date: '2012-01-20 20:54:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120402092249/http://ingnu.fr/2012/01/20/ce-que-les-gouvernements-devraient-proposer/
|
||||
tags:
|
||||
- Culture
|
||||
title: Ce que les gouvernements devraient proposer
|
||||
weather:
|
||||
humidity: 98
|
||||
illuminance: 0.0
|
||||
precipitations: true
|
||||
pressure: 1014.7
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 3.9
|
||||
wind_direction: 288
|
||||
wind_speed: 24.2
|
||||
---
|
||||
|
||||
La culture et les médias changent, et je reprendrai les termes évoqués par beaucoup de gens y compris des politiciens, il faut que les ayants-droits s'en rendent compte. On nous y incite même, avec la VOD par exemple, accusée de tuer le marché de la location de films, alors qu'il ne s'agit que de la transformation d'un moyen de consommation. Exactement au même titre que l'informatique ne tue pas d'emplois, elle en créé de nouveaux, différents, mais tout aussi indispensables.
|
||||
|
||||
Ainsi, au lieu de faire fermer des sites tels que MegaUpload, nos gouvernements feraient mieux de s'en inspirer. Par ailleurs, sans les points que je vais évoquer ci-dessous, il y a peu de chances que l'offre légale soit préférée aux méthodes de téléchargement dites illégales. Enfin, bien qu'à mon sens la licence globale soit la moins pire des solutions, je pense qu'il ne faut forcer la main à personne. Alors voici mes recommandations pour une offre légale judicieuse, intelligente, et qui devrait avoir ses chances.
|
||||
|
||||
**Offrir de la qualité**
|
||||
|
||||
Les fichiers partagés illégalement sont de la plus haute qualité possible. Les films sont encapsulés dans du MKV sans perte ou au format ISO, la musique en FLAC ou en OGG. Les blu-ray sont proposés en 1080p, les séries dans la plus haute résolution disponible. Il est vital pour une offre légale de proposer du contenu de qualité, non compressé.
|
||||
|
||||
Par ailleurs, il est vital également que les majors sortent des blu-ray avec une bande son française en non-compressé. Il est scandaleux de mettre une bande son compressée sur un média comme le blu-ray.
|
||||
|
||||
**Offrir de la quantité**
|
||||
|
||||
Il ne servira à rien de proposer une offre légale si elle ne contient que des produits labellisés. Il faut donc oublier l'idée de ne vendre que du français, sous peine de voir les utilisateurs des services fuiter vers des solutions "illégales "à l'étranger.
|
||||
|
||||
Il faut donc proposer tout un panel de médias, aussi exotiques soient-ils. Du côté des films, oui, il faudra aussi proposer du porno ou bien de l'humour british. Du côté de la musique, il faudra offrir aussi bien du Justin Bieber que du Rammstein, des Beatles, du Sinatra, ou du Pavaroti.
|
||||
|
||||
**Offrir du choix**
|
||||
|
||||
Vu que tout le monde n'est pas équipé en HD, autant proposer aussi des films au format DVD. Et pour ceux qui n'ont pas une grosse connexion, il faut offrir du DivX. Et pour ceux qui n'aiment pas télécharger, il faut proposer du streaming. Il doit y avoir un choix réel et pertinent dans les formats de fichiers proposés.
|
||||
|
||||
**Offrir un service rapide**
|
||||
|
||||
A plusieurs niveaux d'ailleurs. D'une part, l'accès à l'offre légale doit être rapide et sans contrainte: saisir quatorze fois un CAPTCHA pour accéder à un album, après s'être créé un compte puis connecté, avoir confirmé qu'on a plus de 18 ans, etc. n'est pas tolérable. Quand on veux un film ou une musique, on la veut tout de suite, et généralement, anonymement.
|
||||
|
||||
D'autre part,il est intolérable d'avoir quinze minutes de publicités sur un film que l'on a acquis légalement, comme il est parfaitement intolérable de voir deux à cinq avertissements concernant l'interdiction de reproduire le film. D'abord parce que c'est inefficace (une fois ripé, ces avertissements n'existent plus) et d'autre part parce qu'on ne voit ces avertissements que sur des copies légales.
|
||||
|
||||
Pour offrir un service rapide, un investissement doit être effectué. Mais si les particuliers ayant ouvert MegaUpload ont été capables [de dépenser 65 millions de dollars depuis 2005](https://web.archive.org/web/20120402092249/http://korben.info/megaupload-ferme.html) pour leur hébergement et leur bande passante pour fournir un service rapide à leurs clients, cela ne devrait pas poser de problèmes à un gouvernement capable de dépenser [4 millions pour un site qui ne fonctionne pas](https://web.archive.org/web/20120402092249/http://www.numerama.com/magazine/16537-le-portail-officiel-francefr-coutera-au-total-4-millions-d-euros.html), ou [des dizaines de millions pour une loi liberticide](https://web.archive.org/web/20120402092249/http://fr.wikipedia.org/wiki/Loi_Création_et_Internet#Le_co.C3.BBt_.C3.A9conomique).
|
||||
|
||||
**Offrir un service gratuit**
|
||||
|
||||
Il faut proposer aux utilisateurs un service gratuit. Les visiteurs occasionnels peuvent être bridés au niveau du débit ou du volume de téléchargement. Les visiteurs réguliers doivent pouvoir payer un abonnement leur permettant de s'affranchir de ces limites. Autrement dit, plus on consomme, plus on paye. C'est fair-play, ne nuit à personne, et n'empêche pas en plus de mettre en place de la publicité. Ça se monnaye, et plutôt bien même.
|
||||
|
||||
**Éduquer**
|
||||
|
||||
Je conclurai cet article sur l'importance de la plateforme légale en terme d'éducation, et pas que celle des internautes, mais aussi des artistes et des majors. Il est vital que les artistes qui n'ont pas encore compris l'intérêt de s'auto-produire soient informés des bénéfices apportés par cette solution. Par ailleurs, il est tout aussi vital pour les gouvernements d'informer les majors que les moyens de consommer la culture changent, et que c'est le partage de la culture et des connaissances qui a permis à notre civilisation de traverser les siècles, et que par conséquent, brider l'accès à la culture comme ils le font, c'est faire régresser notre civilisation.
|
||||
@@ -0,0 +1,45 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/506
|
||||
date: '2012-01-20 02:45:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120402092254/http://ingnu.fr/2012/01/20/la-premiere-guerre-mondiale-virtuelle/
|
||||
tags:
|
||||
- Guerre
|
||||
title: La Première Guerre Mondiale "virtuelle" ?
|
||||
weather:
|
||||
humidity: 95
|
||||
illuminance: 0.0
|
||||
precipitations: true
|
||||
pressure: 1015.4
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 5.8
|
||||
wind_direction: 265
|
||||
wind_speed: 24.6
|
||||
---
|
||||
|
||||
Cela reste dans le domaine de l'invisible pour beaucoup de monde, mais nous sommes peut être en train d'assister à la Première Guerre Mondiale virtuelle, entendez par là : "sur Internet".
|
||||
|
||||
Il y a quelques heures, le FBI faisait fermer le site megaupload.com, qui était une source privilégiée pour télécharger illégalement de nombreux fichiers vidéos ou musicaux, ou des jeux, ou encore des systèmes d'exploitation non-libres.
|
||||
|
||||
En un éclair, les Anonymous ont pris d'assaut certains sites gouvernementaux liés aux ayants-droits.
|
||||
Les sites de la MPAA, de la RIAA, d'Universal ont été mis hors ligne.
|
||||
[La page facebook du FBI](https://web.archive.org/web/20120402092254/http://www.facebook.com/FBI) voit le nombre de commentaires exploser, notamment rédigés en ASCII Art par des tunisiens, tandis que, de son côté, [notre propre président se réjouit de l'action des fédéraux américains](https://web.archive.org/web/20120402092254/http://www.tv5.org/TV5Site/cinema/afp_article.php?rub=cinema&idArticle=120120001057.hvrtm0c3.xml).
|
||||
Mais les Anonymous ont twitté leur intérêt pour hadopi.fr...
|
||||
|
||||
Alors, est-ce que le soulèvement des Hommes Libres de part le monde est finalement en train de se faire, après le feu mis aux poudres dans l'affaire megaupload ?
|
||||
Ou n'est-ce encore qu'une action relativement isolée ?
|
||||
Les tunisiens et les Anonymous s'attaquent tout de même à des sites gouvernementaux, est-ce que les États-Unis vont leur faire la chasse ?
|
||||
Est-ce qu'il vont rallier d'autres hackers ?
|
||||
|
||||
Et nous ?
|
||||
Comment nous positionner si conflit il y a ?
|
||||
Sommes-nous des "citoyens du monde" ?
|
||||
Sommes-nous neutres ?
|
||||
Devons-nous afficher notre allégeance ?
|
||||
|
||||
Peut-être que les prochaines heures vont marquer le début d'une première guerre mondiale sur Internet.
|
||||
Ou pas.
|
||||
Dans tous les cas, je suis pour la Liberté, et pour les Geeks !
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/508
|
||||
date: '2012-01-22 18:46:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120403191736/http://ingnu.fr/2012/01/22/telephoner-en-illimite-avec-un-forfait-free-a-zero-euros/
|
||||
tags:
|
||||
- Free
|
||||
- Portable
|
||||
- SIP
|
||||
title: Téléphoner en illimité avec un forfait free à zéro euros
|
||||
weather:
|
||||
humidity: 89
|
||||
illuminance: 0.0
|
||||
precipitations: true
|
||||
pressure: 1012.8
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 5.7
|
||||
wind_direction: 260
|
||||
wind_speed: 29.9
|
||||
---
|
||||
|
||||
Cet article sort un peu du cadre de ma ligne éditoriale actuelle, mais j'avais envie de partager mon expérience avec vous.
|
||||
|
||||
Il s'adresse aux possesseurs d'une freebox n'ayant pas de forfait mobile illimité.
|
||||
A l'issue de cet article, vous aurez la possibilité de passer et recevoir des appels depuis et vers votre téléphone portable sous Android, totalement légalement et totalement gratuitement, quel que soit votre forfait.
|
||||
|
||||
En ce qui me concerne, j'ai pris le forfait free à 2€ (que je ne paye pas puisque je suis déjà client freebox).
|
||||
Par conséquent, free m'offre la télévision, le téléphone fixe et portable et Internet pour 37€ et des patates (j'ai la freebox V6), le tout en illimité.
|
||||
Seule contrainte : avoir un accès wifi ouvert à disposition, ou une borne freewifi.
|
||||
|
||||
Comment donc passer des appels gratuits et illimités depuis son téléphone portable ?
|
||||
Simple : SIP.
|
||||
|
||||
free offre à ses clients freebox un compte SIP, qu'il suffit d'activer en se rendant dans son interface de gestion, rubrique "Téléphone", puis "Gestion de mon compte SIP".
|
||||
Indiquez un mot de passe, et, si vous souhaitez que vos appels sur votre ligne fixe soient "transférés"sur votre portable, cochez la case"Rediriger les appels entrants vers le compte SIP".
|
||||
Ainsi, quand quelqu'un vous appellera sur votre numéro en 09, c'est votre portable qui sonnera...
|
||||
|
||||
Validez, puis installez l'application "[Linphone](https://web.archive.org/web/20120403191736/http://www.linphone.org/)" sur votre téléphone Android (l'application est disponible sous licence GNU GPL pour ne rien gâcher).
|
||||
Pour le paramétrage, rien de plus simple : toutes les informations dont vous avez besoin se trouvent sur la page de réglage de votre compte SIP précédemment consultée : l'identifiant est votre numéro en 09, le mot de passe que vous avez choisi, et le domaine qui est "freephonie.net".
|
||||
|
||||
C'est terminé, il ne vous reste plus qu'à tester les appels entrants et sortants.
|
||||
|
||||
Notez encore une fois que vous ne pourrez utiliser votre téléphone en client SIP qu'à condition d'avoir un réseau wifi à portée.
|
||||
Vous pouvez maintenant rester des heures au téléphone, y compris avec un forfait à 0€, sans payer un centime de plus.
|
||||
|
||||
Ah et pour info, ça marche aussi sur une tablette Archos 7HT...
|
||||
@@ -0,0 +1,3 @@
|
||||
description: "Couverture originale créée localement pour accompagner la republication de l'article Quand certains médias n'ont rien compris...."
|
||||
attribution: "Codex"
|
||||
prompt: "Illustration abstraite éditoriale pour un billet d'opinion informatique, avec panneaux, lignes structurelles et ambiance rétro-web 2012, sans texte, sans logo."
|
||||
|
After Width: | Height: | Size: 87 KiB |
@@ -0,0 +1,93 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/509
|
||||
cover: images/cover.png
|
||||
date: '2012-01-25 17:34:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120404211240/http://ingnu.fr/2012/01/25/quand-certains-medias-nont-rien-compris/
|
||||
tags:
|
||||
- Mobile
|
||||
- Free
|
||||
title: Quand certains médias n'ont rien compris...
|
||||
weather:
|
||||
humidity: 83
|
||||
illuminance: 126.7
|
||||
precipitations: false
|
||||
pressure: 1017.9
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 2.9
|
||||
wind_direction: 94
|
||||
wind_speed: 10.5
|
||||
---
|
||||
|
||||
Free Mobile a ouvert ses portes depuis le 12 janvier. Année marquée d'une pierre blanche dans l'histoire de la téléphonie mobile, permettant aux français d'avoir un abonnement mobile à tarif enfin raisonnable.
|
||||
|
||||
Je passerai outre la scandaleuse propagande anti-Free orchestrée par les trois autres opérateurs, dénigrant le réseau, insultant son architecte, diffamant l'infrastructure, pour n'évoquer qu'une chose: les médias qui n'ont rien compris.
|
||||
|
||||
C'est le cas par exemple de Tom's Guide, qui publie un dossier aberrant, portant honteusement le titre de "*10 raison de ne pas s'abonner*". Tom's Guide serait sponsorisé par Orange, SFR ou Bouygues pour poursuivre la propagande?
|
||||
|
||||
Je vais traiter chacun des dix points soulevés dans cet article. Présenté comme un diptyque, je mettrai mon billet à jour lorsque Tom's Guide aura ajouté ses autres idioties.
|
||||
|
||||
**La portabilité fonctionne mal**
|
||||
|
||||
Pour commencer, le titre est erroné. Peut être est-ce par soucis d'économiser des caractères (ce qui est contraire à la pratique journalistique habituelle - je précise avoir été journaliste pour Presence-PC qui a été racheté par Tom's), ou bien peut-être est-ce réellement le bordel dans la tête de Jean-Sébastien Zanchi, qui devait peut-être pondre un article rapidement et qui déchaîne les passions, comme si le groupe Tom's en avait besoin?
|
||||
|
||||
Dans tous les cas, Free doit effectivement essuyer les critiques de personnes se plaignant de la lenteur de l'opération de portabilité du numéro.
|
||||
|
||||
Pour commencer, ma femme a vu son numéro porté en moins d'une semaine. Logique, nous étions parmi les premiers, je pense, à s'être inscrits. Ensuite, et c'est toujours logique, maintenant que la plateforme de création de compte est débridée, le nombre de demandes a explosé, passant, selon l'article de Tom's, de 10 à 45 000 par jour. A noter que, se tirant une balle dans le pied, l'article précise bien que c'est le CIE EGP qui est en charge de la portabilité. Précisons également que c'est l'organisation qui coordonne les demandes de portabilités depuis et vers tous les opérateurs, et qu'ils sont indépendants de Free.
|
||||
|
||||
Or l'article laisse suggérer que c'est bien Free qui est en cause.
|
||||
|
||||
**Le renouvellement de téléphone**
|
||||
|
||||
Effectivement, chez Free, on fera l'impasse sur le renouvellement du téléphone. D'un autre côté, vous êtes libres. Se prendre un abonnement chez Free pourrait presque être considéré comme éthique: vous n'avez aucun engagement, à l'exception de prévenir 10 jours à l'avance, si vous souhaitez résilier. Or, si vous preniez un téléphone avec un forfait Free, vous devriez continuer à le payer (ce qui est parfaitement normal), même si vous résiliez.
|
||||
|
||||
Ensuite, votre fidélité est tout de même récompensée: si vous êtes déjà client Free, vous économisez 4 euros sur votre abonnement illimité. 4€ par mois que vous pouvez dépenser comme bon vous semble. Comment est récompensée la fidélité chez les autres opérateurs? Vous avez des points, qui vous permettent de prendre un téléphone à 59€ ou plus, et dont vous payerez de toute façon une partie tous les mois dans votre forfait. Sachant que vous vous engagez de nouveau chez cet opérateur, vous allez payer pendant un ou deux ans une partie de votre téléphone, qui sera doté d'un beau logo personnalisé aux couleurs de votre prestataire, bridé, ne vous permettant pas d'en faire ce que vous voulez (je pense notamment au tethering).
|
||||
|
||||
**Pas intéressant pour tout le monde**
|
||||
|
||||
C'est vrai que passer chez Free n'est pas intéressant pour tout le monde: si vous êtes encore pieds et poings liés par votre opérateur actuel, il vous fera payer un tiers de votre abonnement si vous êtes engagés sur 24 mois et qu'il vous reste douze mois ou moins à tirer. Autrement dit, il vaut mieux être proche de la fin de son contrat pour passer chez Free. Mais une fois de plus, le problème ne vient pas de chez Free, mais des autres opérateurs.
|
||||
|
||||
**Le prix de l'iPhone**
|
||||
|
||||
Sérieusement, quand on est chez Free, à la base, c'est qu'on est un geek. Les vrais geeks n'ont pas d'iPhone. Les vrais geeks n'ont rien qui vienne d'Apple.
|
||||
|
||||
Quant aux autres, s'ils choisissent leur opérateur en fonction du téléphone, notablement quand l'opérateur en question n'en vend pas et dit à qui veut l'entendre qu'ils sont libres de le choisir, ils sont perdus. D'un autre côté c'est très bien: ils peuvent mieux se rendre compte de ce que coûte réellement un iPhone, et passeront donc peut-être sur des téléphones moins bridés, mais aussi moins chers, et surtout plus libres.
|
||||
|
||||
**Les services complémentaires**
|
||||
|
||||
Impossible d'avoir accès aux chaînes de télévisions? Freebox Mobile, plugin TV, et VMPlayer. Tout le bouquet Free sur le téléphone. L'auteur ne s'est visiblement pas renseigné avant d'écrire n'importe quoi. C'est intolérable pour un journaliste (encore une fois, j'ai figuré dans les rangs de Presence-PC avant que le site soit racheté part Tom's, puis chez Génération-NT).
|
||||
|
||||
Quant aux offres Spotify et compagnie, rien n'empêche l'utilisateur de souscrire des comptes à tour de bras si ça le chante. Personnellement, je n'aime pas avoir des tas de trucs préinstallés dont je ne me servirais jamais, et qui, peut-être, diffusent des informations à mon insu.
|
||||
|
||||
**La concurrence s'est alignée**
|
||||
|
||||
C'est une raison de ne pas passer chez Free? Sans Free, la concurrence n'aurait pas aligné ses tarifs. Tout le monde continuerait de payer des fortunes pour un service qui vaut un peu moins que ce que Free propose (ils ont quand même besoin de faire un peu de marge, hein). Justement, il faut passer chez Free, pour montrer son indignation face à la façon dont les consommateurs ont été traités pendant toutes ces années.
|
||||
|
||||
Comme par hasard, aujourd'hui ils peuvent baisser leurs tarifs, alors qu'avant Free ils ne le pouvaient pas?
|
||||
|
||||
**L'assistance client**
|
||||
|
||||
Sans déconner, arrêtez avec des arguments pareils, c'est mesquin. Pour commencer, les Freenautes n'habitent pas que Paris. Pour une fois qu'on pense un peu aux provinciaux avant les parisiens. Ensuite, la prérogative pour Free était de déployer un réseau qui couvre 27% de la population, avec une date butoir. Ils avaient d'autres priorités d'investissement que les boutiques Free. Par ailleurs, Xavier Niel a annoncé que des centaines de boutiques allaient ouvrir dans les années qui viennent. Comme pour SFR et Bouygues, ils doivent faire leur chemin, c'est tout.
|
||||
|
||||
D'autre part, leurs pages d'assistance sont suffisamment complète pour y trouver de l'aide, notamment en ce qui concerne le réglage des APN. Après, il faut savoir lire, c'est évident. Quant aux téléphones, Free n'a pas à proposer de l'assistance lorsque ces téléphones ne sont pas achetés chez eux. Et les téléphones déjà achetés chez eux sont pré-réglés pour être utilisables immédiatement.
|
||||
|
||||
Enfin, comme pour tout produit de consommation, c'est au constructeur de gérer la garantie, pas au revendeur, même si ce dernier peut être un intermédiaire.
|
||||
|
||||
**Le prix du roaming data**
|
||||
|
||||
Rien à dire là dessus. Free est un réseau français, il ne faut pas s'étonner que son utilisation à l'étranger soit chère. Par ailleurs, l'exemple proposé (les États-Unis) est, à mon humble avis, légèrement hors du champs des trois millions d'utilisateurs prévus. Je doute fortement que la grande majorité des clients Free vont chercher à se connecter au réseau depuis les États-Unis. Sans compter qu'avec un peu de jugeote, on peut se passer du roaming. Faut juste pas être con. C'est peut-être hors de portée de certains, je ne dis pas le contraire.
|
||||
|
||||
**Limité à trois millions d'abonnés**
|
||||
|
||||
Pour quelque chose dont on ne dispose d'aucune autre information que ce qui a été dit lors de la conférence de lancement, le titre semble quelque peu absolu. On n'y est pas encore, et comme a dit Xavier Niel, c'est un pallier, pour s'assurer que les infrastructures sont bien en place, et que le modèle économique est viable. Free n'a pas bougé ses tarifs depuis la création de leur premier accès à Internet, sauf quand l'État réclame une taxe supplémentaire. On peut donc raisonnablement avancer que Free n'augmentera pas ses tarifs par la suite.
|
||||
|
||||
**La mort des MVNO**
|
||||
|
||||
La mort des MVNO? Ils ont été les premiers à s'aligner sur les tarifs de Free. Leur politique contractuelle est une alternative solide aux trois autres grands opérateurs. Les gens les ont choisi pour ça, et resteront chez eux pour ça. Free n'est pas un concurrent des MVNO, c'est bien un concurrent de Bouygues, SFR, et dans une moindre mesure jusqu'à leur indépendance, de Orange. Free Mobile a été créé pour répondre à ceux qui n'avaient pas confiance dans les MVNO, et ceux qui en avaient marre d'être pris pour des vaches à lait. C'est un marché totalement différent.
|
||||
|
||||
Au final, cet article est un torchon, et n'apporte rien sinon la désinformation. Free Mobile était une nécessité pour mettre en lumière les pratiques scandaleuses des autres opérateurs. Et ça a bien marché. Leur seule réponse: de la propagande, de la désinformation, relayées par Tom's. C'est une déception.
|
||||
|
||||
Ceci, ajouté au codage malpropre du site (rendu dégeux sous GNU/Linux), fait que Tom's passe à la trappe en ce qui me concerne (du moins, après la deuxième partie de leur article). Dommage, ils avaient parfois des articles intéressants.
|
||||
@@ -0,0 +1,3 @@
|
||||
description: "Couverture originale créée localement pour accompagner la republication de l'article Vers la fin de l'occasion."
|
||||
attribution: "Codex"
|
||||
prompt: "Illustration abstraite éditoriale sur le cloud computing, avec nuages géométriques, lignes de synchronisation et ambiance rétro-web 2012, sans texte, sans logo."
|
||||
|
After Width: | Height: | Size: 113 KiB |
@@ -0,0 +1,62 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/510
|
||||
cover: images/cover.png
|
||||
date: '2012-01-31 23:36:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120402165625/http://ingnu.fr/2012/01/31/vers-la-fin-de-loccasion/
|
||||
tags:
|
||||
- Cloud
|
||||
- Dématérialisation
|
||||
- Occasion
|
||||
title: Vers la fin de l'occasion
|
||||
weather:
|
||||
humidity: 69
|
||||
illuminance: 0.0
|
||||
precipitations: false
|
||||
pressure: 1019.8
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: -4.4
|
||||
wind_direction: 55
|
||||
wind_speed: 8.8
|
||||
---
|
||||
|
||||
Je m'insurge depuis que ingnu a rouvert sur les lois liberticides qui affectent notamment Internet. Cependant, tant que ces lois ne concernent qu'Internet, à part les geeks, peu s'en émeuvent. L'inertie dont fait preuve le "commun des mortels "est à imputer probablement à trois causes: le manque d'intérêt, le manque de motivation pour délaisser des plateformes "qui marchent "pour des plateformes Libres qu'ils ne connaissent pas, et parce que ça n'affecte pas - encore - leur vie de tous les jours.
|
||||
|
||||
Cependant, plusieurs organisations (entreprises et État) conspirent pour tuer une liberté qui affecte tout le monde: la liberté d'acheter (et vendre) de l'occasion. En effet, qui n'a jamais acheté d'occasion? Moi-même qui suis généralement - et ça me coûte de le dire - un early-adopter, il m'est déjà arrivé d'acheter des jeux, des livres ou des films d'occasion.
|
||||
|
||||
Tout cela a - probablement - commencé avec l'avènement du Cloud.
|
||||
|
||||
Considéré à ses débuts comme un moyen pratique de se mettre à sa disposition ses données depuis n'importe où dans le monde, les entreprises ont commencé à y voir un moyen de contrôler ce que les gens font des données qui y sont stockées, et ce que les gens consomment comme services.
|
||||
|
||||
À travers le Cloud, et plus précisément les Software As Service (SaS), les entreprises ont habilement amené leurs clients à se passer de logiciel à installer sur leur propre machine (logiciel qui pouvait alors être piraté) pour opter pour une solution plus restrictive: leur proposer de payer pour utiliser un logiciel que cette entreprise elle-même héberge, sur un serveur chargé du traitement des données, tâche anciennement affectée à la machine sur laquelle ce logiciel était installé chez le client.
|
||||
|
||||
Exactement le même procédé que la VoD (Video on Demand): on n'achète plus la vidéo, on paye pour la regarder pendant 24h. Si on veut la revoir, il faut repayer.
|
||||
|
||||
Exactement le même procédé que la première génération de consoles de jeux connectées, où il faut mettre la main au portefeuille pour acheter des correctifs, des extensions, bien que le support CD (ou équivalent) était toujours disponible.
|
||||
|
||||
Exactement le même procédé, porté à un niveau jamais atteint, par Sony avec sa PSP Go. Plus de média physique, et par conséquent, plus moyen de le revendre.
|
||||
|
||||
Malheureusement, d'autres entreprises suivent. Et l'exemple le plus récent est la volonté de l'État de tuer le marché du film d'occasion. Et rien n'empêcherait les éditeurs de faire pression pour étendre leur emprise sur le marché du livre d'occasion.
|
||||
|
||||
L'occasion est un marché parallèle, libre ou presque. Les majors et éditeurs ne peuvent pas ponctionner les clients une deuxième fois lorsqu'un produit est revendu. La fin de l'occasion signifierait que les éditeurs pourraient vendre leurs produits plus chers - les gens seraient obligés d'acheter au prix fort - sans pour autant augmenter la valeur de ces produits, tout en tuant tout un pan de l'économie: les boutiques d'occasion payent des impôts comme toute entreprise.
|
||||
|
||||
Aujourd'hui, quand vous payer plus de cent euros pour un coffret Blu-ray avec des figurines, des livres collectors, des CD avec la bande originale, etc., vous en avez pour votre argent. La fin de l'occasion signifie forcément la distribution dématérialisée, et donc, la fin des coffrets collectors, ou même, la fin pure et simple du matériel.
|
||||
|
||||
Les implications sont abyssales: d'un côté, la dématérialisation du contenu signifie le traitement centralisé des données, donc les ordinateurs personnels n'auront plus d'intérêt à être puissants. Les passionnés n'auront donc plus accès à des processeurs ultra-performants, des cartes graphiques surpuissantes. Les PC ne deviendront plus que de simples terminaux voués à l'affichage, un peu comme un téléviseur. Tuer l'occasion, c'est tuer l'informatique.
|
||||
|
||||
C'est aussi tuer la valeur ajoutée, celle pour laquelle on décide de dépenser des sommes plus importantes que pour un objet classique, rare, ancien, disponible uniquement sur le marché de l'occasion parce que plus vendu, et donc, impossible à obtenir par d'autres moyens.
|
||||
|
||||
C'est tuer la créativité, car c'est réserver à une élite ayant les moyens d'acquérir de puissants serveurs et une bande passante coûteuse la possibilité de produire et diffuser de la culture.
|
||||
|
||||
De manière plus pragmatique, empêcher les gens d'acheter d'occasion, c'est réduire de manière significative leur pouvoir d'achat.
|
||||
|
||||
Je vais extrapoler et même un peu dévier du sujet, mais concrètement, d'une manière ou d'une autre, l'argent appartient à l'État. Quand vous êtes employés, l'argent que votre entreprise vous donne ne vient de nulle part ailleurs que de l'État. Les aides dont bénéficient certaines entreprises et certaines familles pauvres proviennent de l'État. En achetant, vous n'enrichissez pas un vendeur, vous ne faites que rendre cet argent à l'État, parce que ce vendeur paye des impôts, des taxes, et des fournisseurs, qui eux-mêmes payent des impôts et des taxes. L'argent passe ainsi de main en main jusqu'à retourner aux sources: dans les caisses de l'État. Autrement dit, d'une l'argent ne vous appartient pas, même si vous pleurez que vous l'avez gagné à la sueur de votre front, et de deux, l'argent n'a aucune valeur, ce n'est qu'un outil d'échange. Bref.
|
||||
|
||||
Avec les lois liberticides, la suppression des plateformes de téléchargement "illégales "et la promotion de plateformes légales, la suppression du marché de l'occasion, l'État ne cherche qu'une seule chose: supprimer un maximum d'intermédiaires possible. Moins il y a d'intermédiaires, plus d'argent sera récupéré. Et comme les plus riches sont ceux qui consomment le plus, ce sont eux aussi qui ramènent le plus d'argent à l'État. C'est la logique des "flux "financiers.
|
||||
|
||||
Mais qu'on soit geek, ouvrier, passionné de musique, fan de films, féru de lecture, tout ce que le gouvernement met en place nous concerne tous. C'est la suppression de notre patrimoine. En dématérialisant, on supprime notre patrimoine. On n'achète plus un coffret ou un livre, on achète des données numériques. Or, l'information, sous sa forme informatisée, ne peut s'acheter parce qu'elle se duplique aisément. L'information numérique doit rester libre, parce qu'elle ne peut pas être soumise à restrictions de part sa nature même. Mais personne (à part les chinois peut-être...) ne peut copier un coffret avec une figurine en résine numérotée, ou un album collector avec des photos inédites. C'est du matériel, c'est donc du patrimoine.
|
||||
|
||||
Alors, il faut lutter pour la conservation de notre patrimoine, il faut s'élever contre ces lois qui nous dépouillent tous!
|
||||
@@ -0,0 +1,59 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/511
|
||||
date: '2012-02-04 01:59:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120221102629/http://ingnu.fr/2012/02/04/faire-fonctionner-xmpp-avec-status-net/
|
||||
tags:
|
||||
- StatusNet
|
||||
- XMPP
|
||||
title: Faire fonctionner XMPP avec status.net
|
||||
weather:
|
||||
humidity: 53
|
||||
illuminance: 0.0
|
||||
precipitations: false
|
||||
pressure: 1030.8
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: -9.8
|
||||
wind_direction: 46
|
||||
wind_speed: 9.9
|
||||
---
|
||||
|
||||
Cela fait maintenant quelques temps que j'enquiquine mes followers sur [social.ingnu.fr](https://web.archive.org/web/20120221102629/https://social.ingnu.fr/ingnu/all) à propos de XMPP qui déconne sévèrement avec la release 1.0.1 de [status.net](https://web.archive.org/web/20120221102629/http://status.net/) : déconnections intempestives, mauvaise gestion de la file d'attente, etc.
|
||||
|
||||
La [page](https://web.archive.org/web/20120221102629/http://publications.jbfavre.org/statusnet/optimize-statusnet-nginx-php-fpm-apc-memcache.fr) de [Jean-Baptiste Favre](https://web.archive.org/web/20120221102629/http://www.jbfavre.org/) m'a permis de creuser un peu plus, bien que ne parlant pas de XMPP.
|
||||
Il aborde tout de même quelques directives de configuration à propos des files d'attente qui m'ont échappé, directives que j'ai adapté pour mieux coller (selon moi) à une debian et à placer dans le fichier *config.php* :
|
||||
|
||||
```php
|
||||
$config['daemon']['piddir'] = '/var/run/';
|
||||
$config['daemon']['user'] = 'www-data';
|
||||
$config['daemon']['group'] = 'www-data';
|
||||
```
|
||||
|
||||
Warning : Attention à adapter *user* et *group* si chez vous ils sont différents.
|
||||
|
||||
À cela, il faut rajouter les lignes relatives à XMPP :
|
||||
|
||||
```php
|
||||
addPlugin('xmpp', array(
|
||||
'user'=>'identifiant du robot',
|
||||
'server'=>'nom de domaine',
|
||||
'password'=>'mot de passe',
|
||||
'resource'=>'ce que vous voulez',
|
||||
'encryption'=>true,
|
||||
));
|
||||
```
|
||||
|
||||
Maintenant, l'étape la plus "difficile".
|
||||
En l'état, vous pouvez être à peu près certain que ça ne marchera pas.
|
||||
Un contributeur au projet propose un patch, [que vous pouvez télécharger ici](https://web.archive.org/web/20120221102629/http://status.net/sites/default/files/issues/statusnet-1.0.1-inox.txt).
|
||||
Enregistrez-le à la racine de votre instance de status.net et nommez-le par exemple statusnet.patch, puis saisissez les commandes suivantes :
|
||||
|
||||
```bash
|
||||
sed -i "s#statusnet-1\.0\.1#\./#" statusnet.patch
|
||||
patch -p1 < statusnet.patch
|
||||
```
|
||||
|
||||
Normalement, tout devrait fonctionner à merveille désormais.
|
||||
@@ -0,0 +1,148 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/512
|
||||
date: '2012-02-05 17:34:00'
|
||||
dossier:
|
||||
- Créer son propre Cloud
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120225102811/http://ingnu.fr/2012/02/05/creer-son-propre-cloud-introduction/
|
||||
tags:
|
||||
- Firewall
|
||||
- iptables
|
||||
title: Introduction
|
||||
weather:
|
||||
humidity: 42
|
||||
illuminance: 1267.0
|
||||
precipitations: false
|
||||
pressure: 1027.0
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: -6.8
|
||||
wind_direction: 72
|
||||
wind_speed: 11.4
|
||||
weight: 1
|
||||
---
|
||||
|
||||
Je parle beaucoup sur ingnu du fait que [Google c'est le mal](https://web.archive.org/web/20120225102811/http://ingnu.fr/2011/12/25/pourquoi-google-cest-le-mal/), qu'il faut utiliser des [alternatives libres](https://web.archive.org/web/20120225102811/http://ingnu.fr/2011/12/29/quelles-sont-les-alternatives-a-google/), et que [le Cloud, c'est de la merde](https://web.archive.org/web/20120225102811/http://ingnu.fr/2012/01/19/il-faut-arreter-avec-le-cloud/).
|
||||
Pour être tout à fait cohérent, il me fallait proposer des articles traitant concrètement de la mise en place de ces alternatives, et c'est pour cela que j'ai créé la rubrique "[Créer son propre cloud](https://web.archive.org/web/20120225102811/http://ingnu.fr/category/creer-son-propre-cloud/)", dont cet article constitue le premier maillon pour vous aider à construire votre serveur grâce aux Logiciels Libres.
|
||||
|
||||
Il y a quatre prérogatives : n'utiliser que des Logiciels Libres, assurer la confidentialité de vos données, assurer la sécurité de votre serveur, s'affranchir de tout service géré par une entreprise.
|
||||
|
||||
Nous considérerons que vous disposez déjà d'un système GNU/Linux, de préférence fraîchement installé, brut de décoffrage.
|
||||
Je me baserai sur un système [Debian GNU/Linux](https://web.archive.org/web/20120225102811/http://www.debian.org/) (que je maîtrise bien mieux que les autres), il faudra alors adapter certaines de mes notes à votre cas précis (notamment en ce qui concerne les commandes d'installation de paquets).
|
||||
|
||||
La toute première étape après l'installation du système d'exploitation est d'imposer une politique de sécurité stricte.
|
||||
Nous commençons donc par créer un script permettant la mise en place d'un pare-feu et qui s'exécutera à chaque démarrage de la machine.
|
||||
|
||||
```bash
|
||||
mkdir /scripts
|
||||
cd /scripts
|
||||
```
|
||||
|
||||
Le répertoire /scripts que nous venons de créer contiendra un certains nombre de fichiers, que nous créerons au fil des articles.
|
||||
Dans un premier temps, nous ne créons que le script du firewall :
|
||||
|
||||
```bash
|
||||
nano firewall
|
||||
```
|
||||
|
||||
```text
|
||||
#!/bin/sh
|
||||
|
||||
IPT=/sbin/iptables
|
||||
IF_EXT=eth0
|
||||
IP_SSH=xxx.xxx.xxx.xxx
|
||||
|
||||
${IPT} -t mangle -F
|
||||
${IPT} -t nat -F
|
||||
${IPT} -F
|
||||
${IPT} -t mangle -X
|
||||
${IPT} -t nat -X
|
||||
${IPT} -X
|
||||
${IPT} -Z
|
||||
|
||||
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
|
||||
|
||||
${IPT} -P INPUT DROP
|
||||
${IPT} -P OUTPUT ACCEPT
|
||||
${IPT} -P FORWARD ACCEPT
|
||||
|
||||
${IPT} -A FORWARD -i lo -o lo -j ACCEPT
|
||||
${IPT} -A INPUT -i lo -j ACCEPT
|
||||
${IPT} -A OUTPUT -o lo -j ACCEPT
|
||||
|
||||
${IPT} -A INPUT -p tcp ! --syn -m state --state NEW,INVALID -j REJECT
|
||||
|
||||
${IPT} -N SPOOFED
|
||||
${IPT} -N SERVICES
|
||||
|
||||
${IPT} -A SPOOFED -s 127.0.0.0/8 -j DROP
|
||||
${IPT} -A SPOOFED -s 169.254.0.0/12 -j DROP
|
||||
${IPT} -A SPOOFED -s 172.16.0.0/12 -j DROP
|
||||
${IPT} -A SPOOFED -s 192.168.0.0/16 -j DROP
|
||||
${IPT} -A SPOOFED -s 10.0.0.0/8 -j DROP
|
||||
|
||||
${IPT} -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
|
||||
|
||||
${IPT} -A SERVICES -p tcp --dport 22 -s ${IP_SSH} -j ACCEPT
|
||||
|
||||
##### Configuration personnalisée #####
|
||||
|
||||
##### Fin : Configuration personnalisée #####
|
||||
|
||||
${IPT} -A OUTPUT -j ACCEPT
|
||||
${IPT} -A INPUT -m state --state ESTABLISH,RELATED -j ACCEPT
|
||||
${IPT} -A INPUT -j SPOOFED
|
||||
${IPT} -A INPUT -i ${IF_EXT} -j SERVICES
|
||||
|
||||
#################################
|
||||
# Anti spam #
|
||||
#################################
|
||||
|
||||
FILE="/tmp/drop.lasso"
|
||||
URL="http://www.spamhaus.org/drop/drop.lasso"
|
||||
|
||||
[ -f $FILE ] && /bin/rm -f $FILE || :
|
||||
cd /tmp
|
||||
wget $URL
|
||||
blocks=$(cat $FILE | egrep -v '^;' | awk '{ print $1}')
|
||||
${IPT} -N droplist
|
||||
|
||||
for ipblock in $blocks
|
||||
do
|
||||
${IPT} -A droplist -s $ipblock -j LOG --log-prefix "DROP List Block"
|
||||
${IPT} -A droplist -s $ipblock -j DROP
|
||||
done
|
||||
|
||||
${IPT} -I INPUT -j droplist
|
||||
${IPT} -I OUTPUT -j droplist
|
||||
${IPT} -I FORWARD -j droplist
|
||||
|
||||
/bin/rm -f $FILE
|
||||
```
|
||||
|
||||
Dans un premier temps, on défini quelques variables.
|
||||
La plus importante est IP_SSH, c'est votre adresse IP, l'adresse depuis laquelle vous allez vous connecter au serveur via ssh.
|
||||
|
||||
Notice : Il est vital de s'assurer que cette variable est correctement renseignée, sans cela, vous serez incapable d'accéder au serveur une fois le script exécuté !
|
||||
|
||||
Ensuite, on purge les règles (pour pouvoir exécuter plusieurs fois le fichier sans que cela ne les alourdisse), on met en place une politique par défaut (rien ne doit pouvoir rentrer sans autorisation), on créé les chaînes SPOOFED et SERVICES qui vont nous permettre de séparer le trafic et de sécuriser les accès, on met en place des règles personnalisées (pour le moment, aucune), et on installe un blocage du SPAM en bonus.
|
||||
|
||||
Théoriquement, ce script est tout à fait utilisable tel quel.
|
||||
Au fil des articles, on ajoutera des directives spécifiques au niveau du commentaire "Configuration personnalisée".
|
||||
On se servira de la chaîne SERVICES pour y affecter les services hébergés par notre machine.
|
||||
|
||||
Important : Le "bonus block" relatif au spam va nous permettre, directement au niveau d'iptables, de dropper purement et simplement toute tentative de connexion depuis les adresses fournies par [spamhaus](https://web.archive.org/web/20120225102811/http://www.spamhaus.org/).
|
||||
|
||||
Dans le cas extrême où vous vous retrouviez bloqué, incapable de vous connecter en ssh à votre serveur, essayez de voir si votre hébergeur vous offre la possibilité de passer par un KVM virtuel.
|
||||
Cela vous permettra de reprendre la main sur votre serveur le temps de configurer correctement le pare-feu.
|
||||
Et dans le cas où le KVM est indisponible, voyez si votre hébergeur vous propose de démarrer un système de secours.
|
||||
Pour information, les deux possibilités vous sont offertes chez [online](https://web.archive.org/web/20120225102811/http://www.online.net/).
|
||||
|
||||
Il ne reste plus qu'à enregistrer, chmoder, exécuter, et patienter jusqu'au prochain article :
|
||||
|
||||
```bash
|
||||
chmod +x firewall
|
||||
./firewall
|
||||
```
|
||||
@@ -0,0 +1,362 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/513
|
||||
date: '2012-02-05 17:56:00'
|
||||
dossier:
|
||||
- Créer son propre Cloud
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120622184230/http://ingnu.fr/2012/02/05/installer-et-configurer-un-serveur-dns/
|
||||
tags:
|
||||
- Bind
|
||||
- DNS
|
||||
title: Installer et configurer un serveur DNS
|
||||
weather:
|
||||
humidity: 42
|
||||
illuminance: 1267.0
|
||||
precipitations: false
|
||||
pressure: 1027.0
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: -6.8
|
||||
wind_direction: 72
|
||||
wind_speed: 11.4
|
||||
weight: 2
|
||||
---
|
||||
|
||||
Le deuxième article de [cette nouvelle rubrique](https://web.archive.org/web/20120622184230/http://ingnu.fr/category/creer-son-propre-cloud/) traite logiquement de la mise en place d'un serveur DNS.
|
||||
À moins que vous n'ayez recours à l'outil de gestion de vos DNS proposé par votre registrar et qu'il ne vous bride pas, vous devrez passer par l'étape du serveur DNS, d'autant qu'il nous permettra par la suite de faire bien d'autres choses que simplement faire pointer un domaine sur une IP...
|
||||
|
||||
Nous utiliserons le serveur [bind](https://web.archive.org/web/20120622184230/http://www.isc.org/software/bind).
|
||||
Nous allons tout d'abord l'installer sur le serveur principal en tant que maître.
|
||||
Si vous disposez d'un second serveur, vous pourrez le configurer en tant qu'esclave pour assurer la continuité du service.
|
||||
|
||||
Important : *exemple.fr*
|
||||
|
||||
## Pare-feu
|
||||
|
||||
Tout d'abord, reprenons le script de pare-feu que [nous avons configuré précédemment](https://web.archive.org/web/20120622184230/http://ingnu.fr/2012/02/05/creer-son-propre-cloud-introduction/).
|
||||
|
||||
```bash
|
||||
nano /scripts/firewall
|
||||
```
|
||||
|
||||
Entre les lignes :
|
||||
|
||||
```text
|
||||
##### Configuration personnalisée #####
|
||||
```
|
||||
|
||||
Et :
|
||||
|
||||
```text
|
||||
##### Fin : Configuration personnalisée #####
|
||||
```
|
||||
|
||||
Rajoutez les lignes suivantes :
|
||||
|
||||
```text
|
||||
${IPT} -A SERVICES -p tcp --dport 53 -j ACCEPT
|
||||
${IPT} -A SERVICES -p udp --dport 53 -j ACCEPT
|
||||
```
|
||||
|
||||
Nous ouvrons donc le port 53 en TCP et en UDP.
|
||||
Normalement, seul le protocole UDP est utilisé pour les requêtes, mais le protocole TCP est utilisé également pour les transferts de zones dont nous aurons besoin plus tard.
|
||||
Il est donc important d'ouvrir les connexions aux deux types de protocoles, à moins que vous ne configuriez pas un serveur esclave.
|
||||
Nous pourrions également spécifier directement l'adresse du serveur esclave afin d'éviter toute demande de transfert directement depuis iptables :
|
||||
|
||||
```text
|
||||
${IPT} -A SERVICES -p tcp --dport 53 -s 2.2.2.2 -j ACCEPT
|
||||
${IPT} -A SERVICES -p udp --dport 53 -j ACCEPT
|
||||
```
|
||||
|
||||
## **Serveur maître**
|
||||
|
||||
Pour installer bind, rien de plus simple :
|
||||
|
||||
```bash
|
||||
apt-get install bind9 dnsutils
|
||||
```
|
||||
|
||||
Le paquet [dnsutils](https://web.archive.org/web/20120622184230/http://packages.debian.org/squeeze/dnsutils) contient notamment les outils *nslookup* et *dig*, qui nous serviront par la suite à tester notre installation.
|
||||
|
||||
Rendez-vous dans le répertoire de configuration de bind :
|
||||
|
||||
```bash
|
||||
cd /etc/bind
|
||||
/etc/init.d/bind9 stop
|
||||
```
|
||||
|
||||
On créé le fichier le définition de notre domaine :
|
||||
|
||||
```bash
|
||||
nano db.exemple.fr
|
||||
```
|
||||
|
||||
```text
|
||||
$TTL 86400
|
||||
@ IN SOA ns.exemple.fr. postmaster.exemple.fr. (
|
||||
2012020501
|
||||
2D ; Refresh
|
||||
15M ; Retry
|
||||
3W ; Expire
|
||||
86400 ) ; Negative Cache TTL
|
||||
|
||||
IN NS ns.exemple.fr.
|
||||
IN NS ns2.exemple.fr.
|
||||
|
||||
IN A 1.1.1.1
|
||||
|
||||
ns IN A 1.1.1.1
|
||||
ns2 IN A 2.2.2.2
|
||||
```
|
||||
|
||||
Quelques explications s'imposent.
|
||||
Dans la ligne relative au *SOA*, on déclare le serveur DNS autoritaire pour la zone (*ns.exemple.fr*) et l'adresse email du responsable (*postmaster.exemple.fr*, le "@"de l'adresse étant remplacé par un". ").
|
||||
Ensuite, on attribue un numéro de série au fichier; ce numéro ne s'invente pas : il s'agit de la date (au format *YYYYMMDD*) suivi d'un nombre compris entre 00 et 99.
|
||||
Pour plus de clarté, on va appeler ce nombre la "clé".
|
||||
Si vous disposez de plusieurs domaines, vous pouvez utiliser le premier chiffre de la clé comme identifiant pour un domaine particulier (par exemple, *"j'attribuerai toujours un 1 au domaine exemple.fr, et un 2 au domaine exemple2.fr*"), tandis que le second chiffre de la clé vous servira à indenter les modifications survenues dans ce fichier pour le jour donné.
|
||||
|
||||
Par exemple, vous faites 4 modifications sur le fichier *db.exemple.fr*, et 7 sur le fichier *db.exemple2.fr*, en date d'aujourd'hui.
|
||||
Vous pouvez attribuer les numéros de série suivants à vos fichiers : *2012020514* et *2012020527*.
|
||||
|
||||
Important : [ZoneCheck](https://web.archive.org/web/20120622184230/http://www.afnic.fr/fr/produits-et-services/services/zonecheck/)
|
||||
|
||||
Les valeurs suivantes (*refresh*, *retry*, etc.) devraient convenir à la majorité des situations.
|
||||
|
||||
Nous définissons ensuite les deux serveurs DNS associés au nom de domaine : *ns.exemple.fr.* et *ns2.exemple.fr.*
|
||||
|
||||
Ensuite, nous indiquons que le serveur principal a pour adresse IP 1.1.1.1, puis nous associons les adresses 1.1.1.1 et 2.2.2.2 aux deux serveurs de noms.
|
||||
Une fois que vous avez adapté cet exemple à votre propre domaine, vous pouvez enregistrer et fermer.
|
||||
|
||||
Théoriquement, dans une installation de base de bind sur une debian stable, le fichier *named.conf* contient la ligne suivante :
|
||||
|
||||
```text
|
||||
include "/etc/bind/named.conf.local";
|
||||
```
|
||||
|
||||
Si ce n'est pas le cas, rajoutez-là :
|
||||
|
||||
```bash
|
||||
echo "include \"/etc/bind/named.conf.local\";" >> named.conf
|
||||
```
|
||||
|
||||
Et modifiez le fichier *named.conf.local* :
|
||||
|
||||
```bash
|
||||
nano named.conf.local
|
||||
```
|
||||
|
||||
Ce fichier va contenir les directives de configuration pour un domaine particulier, en l'occurrence, exemple.fr (et/ou exemple2.fr).
|
||||
C'est une bonne pratique de configuration à laquelle passe la majorité des applications, cela permet de clarifier les choses, et de s'y retrouver facilement.
|
||||
|
||||
Mettez donc le contenu suivant dans ce fichier :
|
||||
|
||||
```text
|
||||
zone "exemple.fr" {
|
||||
type master;
|
||||
file "/etc/bind/db.exemple.fr";
|
||||
};
|
||||
```
|
||||
|
||||
On défini notre instance de bind comme étant maître pour ce domaine, et on lui indique le fichier de configuration correspondant.
|
||||
Enregistrez et fermez ce fichier une fois modifié.
|
||||
|
||||
Redémarrez ensuite bind, pour procéder à quelques tests :
|
||||
|
||||
```bash
|
||||
/etc/init.d/bind9 restart
|
||||
nslookup exemple.fr
|
||||
```
|
||||
|
||||
Vous devriez obtenir la sortie suivante :
|
||||
|
||||
```text
|
||||
Server: 127.0.0.1
|
||||
Address: 127.0.0.1#53
|
||||
Name: exemple.fr
|
||||
Address: 1.1.1.1
|
||||
```
|
||||
|
||||
Vous noterez qu'à cause de la propagation des DNS, votre domaine n'est peut être pas encore disponible depuis l'extérieur.
|
||||
N'hésitez pas à tester (en utilisant la même commande) régulièrement depuis une machine qui n'héberge pas le serveur bind.
|
||||
|
||||
Si la commande précédente vous retourne une sortie similaire, c'est que votre domaine est correctement configuré (du point de vue de bind en tout cas).
|
||||
En l'état actuel des choses, bind devrait donc être en mesure de répondre à des requêtes portant sur votre domaine, bien qu'encore aucun domaine "utile" ne soit créé.
|
||||
|
||||
## **Serveur esclave**
|
||||
|
||||
Pour faire fonctionner deux instances de bind sur le modèle de maître/esclave, on commence par compléter un peu la configuration du serveur maître.
|
||||
On reste donc sur la même machine, pour créer une clé de transfert :
|
||||
|
||||
```bash
|
||||
dnssec-keygen -a HMAC-MD5 -b 512 -n HOST <localhost>.exemple.fr.
|
||||
```
|
||||
|
||||
*dnssec-keygen* est un outil livré avec bind.
|
||||
Grâce à la commande suivante, on génère une clé en utilisant l'algorithme HMAC-MD5, d'une longueur de 512 bits, pour un hôte particulier (-n HOST), en l'occurrence, celui indiqué à la fin.
|
||||
Remplacez *<localhost>* par le nom d'hôte du serveur.
|
||||
Par exemple, j'ai appelé mon serveur "minerva", sur le domaine ingnu.fr.
|
||||
La commande qui s'applique à mon cas devient donc :
|
||||
|
||||
```bash
|
||||
dnssec-keygen -a HMAC-MD5 -b 512 -n HOST minerva.ingnu.fr.
|
||||
```
|
||||
|
||||
On génère une clé pour un hôte donné, mais *dnssec-keygen* permet bien d'autres choses que nous n'utiliserons pas ici.
|
||||
Notamment, vous pouvez choisir un algorithme différent, ou créer une clé pour toute une zone.
|
||||
Pour l'heure, nous souhaitons avoir la possibilité de transférer de manière sécurisée les données de zones (dans notre exemple, le fichier *db.exemple.fr*) de notre serveur maître vers le serveur esclave que nous configurerons plus tard.
|
||||
Cette commande est donc suffisante pour le moment.
|
||||
|
||||
A l'issue de l'exécution de cette commande (qui peut durer une vingtaine de secondes), deux nouveaux fichiers ont été créés.
|
||||
Ils commencent par la lettre K majuscule, et portent respectivement l'extension *.key* et *.private*.
|
||||
Le premier fichier contient une ligne qu'il est possible de rajouter dans un fichier de zone, tandis que le second contient quelques détails sur la création de la clé.
|
||||
Nous n'utiliserons dans notre cas précis aucun des deux dans son état actuel.
|
||||
Cependant, il peut être utile de les conserver pour un usage ultérieur.
|
||||
|
||||
La seule chose qui nous intéresse est la clé en elle-même qui figure dans les deux fichiers.
|
||||
Utilisez la commande *cat* sur le fichier *.private*, et copiez la clé qui apparaîtra.
|
||||
Créez ensuite le fichier *transfer.conf* :
|
||||
|
||||
```bash
|
||||
nano transfer.conf
|
||||
```
|
||||
|
||||
```text
|
||||
key "TRANSFER" {
|
||||
algorithm hmac-md5;
|
||||
secret "la clé que vous avez copié";
|
||||
};
|
||||
|
||||
server 2.2.2.2 {
|
||||
keys {
|
||||
TRANSFER;
|
||||
};
|
||||
};
|
||||
```
|
||||
|
||||
Dans ce fichier, nous ajoutons une clé au "trousseau" de bind, qui ne sera destinée qu'au transfert des zones entre le maître et l'esclave.
|
||||
Si un cas se présente où nous devrons diffuser d'autres clés, nous en génèrerons de nouvelles, pour éviter toute interférence.
|
||||
|
||||
Ensuite, nous affectons cette clé au serveur esclave, 2.2.2.2.
|
||||
|
||||
Incluez ce fichier à votre configuration, puis modifiez le fichier *named.conf.local* :
|
||||
|
||||
```bash
|
||||
echo "include \"/etc/bind/transfer.conf\" >> /etc/bind/named.conf
|
||||
nano named.conf.local
|
||||
```
|
||||
|
||||
```text
|
||||
zone "exemple.fr" {
|
||||
type master;
|
||||
file "/etc/bind/db.exemple.fr";
|
||||
allow-transfer { 2.2.2.2; };
|
||||
};
|
||||
```
|
||||
|
||||
Nous avons rajouté la ligne *allow-transfer { 2.2.2.2; };* qui nous permet d'éviter que n'importe qui puisse transférer nos zones sur son serveur.
|
||||
Redémarrez bind :
|
||||
|
||||
```bash
|
||||
/etc/init.d/bind9 restart
|
||||
```
|
||||
|
||||
Désormais, lorsque le serveur maître redémarrera, il notifiera automatiquement le(s) serveur(s) esclave(s) de tout changement, et initiera le transfert des zones de manière sécurisée.
|
||||
|
||||
Passons maintenant à la configuration du serveur esclave à proprement parlé.
|
||||
Sur la machine qui hébergera ce serveur, installez bind :
|
||||
|
||||
```bash
|
||||
apt-get install bind9 dnsutils
|
||||
```
|
||||
|
||||
Nous avons créé le fichier *transfer.conf* sur le serveur maître.
|
||||
Le même fichier doit être créé sur la machine esclave, avec une petite nuance.
|
||||
|
||||
```bash
|
||||
cd /etc/bind
|
||||
/etc/init.d/bind9/stop
|
||||
nano transfer.conf
|
||||
```
|
||||
|
||||
```text
|
||||
key "TRANSFER" {
|
||||
algorithm hmac-md5;
|
||||
secret "la clé que vous avez copié";
|
||||
};
|
||||
|
||||
server 1.1.1.1 {
|
||||
keys {
|
||||
TRANSFER;
|
||||
};
|
||||
};
|
||||
```
|
||||
|
||||
Vous noterez qu'il s'agit exactement du même fichier, y compris la même clé, mais que l'adresse IP de la clause *server* change.
|
||||
Dans la configuration du serveur esclave, c'est l'adresse IP du serveur maître qu'il faut indiquer.
|
||||
Ensuite, comme pour la configuration du serveur maître, on ajouter ce fichier à la configuration de bind :
|
||||
|
||||
```bash
|
||||
echo "include \"/etc/bind/transfer.conf\" >> /etc/bind/named.conf
|
||||
```
|
||||
|
||||
Modifions ensuite le fichier *named.conf.local* pour y ajouter la configuration de votre (vos) domaine(s) :
|
||||
|
||||
```text
|
||||
zone "exemple.fr" {
|
||||
type slave;
|
||||
file "/var/cache/bind/db.exemple.fr";
|
||||
masters { 1.1.1.1; };
|
||||
allow-notify { 1.1.1.1; };
|
||||
};
|
||||
```
|
||||
|
||||
Nous indiquons ici que le fichier de zone *db.exemple.fr*, une fois transféré, sera stocké dans le dossier */var/cache/bind*, qui devrait déjà être créé.
|
||||
Si ce n'est pas le cas, il faut le créer, et donc tous les cas, lui attribuer les bons droits :
|
||||
|
||||
```bash
|
||||
mkdir -p /var/cache/bind
|
||||
chown -R bind:bind /var/cache/bind
|
||||
chmod -r 644 /var/cache/bind
|
||||
```
|
||||
|
||||
Il suffit maintenant de redémarrer bind pour que les modifications soient prises en compte.
|
||||
|
||||
```bash
|
||||
/etc/init.d/bind9 restart
|
||||
```
|
||||
|
||||
Consultez immédiatement les journaux utilisés par bind :
|
||||
|
||||
```bash
|
||||
tail -100 /var/log/syslog
|
||||
```
|
||||
|
||||
Il se peut que vous y trouviez une erreur à propos de l'heure qui n'est pas synchronisée.
|
||||
Installez sur les deux serveurs le paquet [ntpdate](https://web.archive.org/web/20120622184230/http://packages.debian.org/squeeze/ntpdate), puis synchronisez les horloges avant de redémarrer bind :
|
||||
|
||||
```bash
|
||||
apt-get install ntpdate
|
||||
ntpdate 0.fr.pool.ntp.org
|
||||
/etc/init.d/bind9 restart
|
||||
```
|
||||
|
||||
Testez maintenant votre serveur :
|
||||
|
||||
```text
|
||||
nslookup
|
||||
> server 127.0.0.1
|
||||
Default server: 127.0.0.1
|
||||
Address: 127.0.0.1#53
|
||||
> exemple.fr
|
||||
Server: 127.0.0.1
|
||||
Address: 127.0.0.1#53
|
||||
Name: exemple.fr
|
||||
Address: 1.1.1.1
|
||||
```
|
||||
|
||||
Vous disposez désormais de l'une des pièces maîtresses de votre propre serveur.
|
||||
La configuration de base que nous avons mis en place aujourd'hui va être complétée et sécurisée au fil des articles à venir, pour qu'au final, vous disposiez d'une solution complète vous permettant de vous affranchir des services offerts par Google, Twitter, facebook et bien d'autres.
|
||||
Le serveur que nous allons monter avec ces articles va vous permettre de reprendre le contrôle de vos données.
|
||||
Alors à bientôt pour le prochain article, qui traitera de la deuxième pierre angulaire de votre Cloud personnel et Libre : le serveur mail.
|
||||
@@ -0,0 +1,280 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/514
|
||||
date: '2012-02-06 03:23:00'
|
||||
dossier:
|
||||
- Créer son propre Cloud
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120618100138/http://ingnu.fr/2012/02/06/creation-de-sa-propre-autorite-de-certification/
|
||||
tags:
|
||||
- Autorité
|
||||
- Certification
|
||||
- Certificats
|
||||
- OpenSSL
|
||||
title: Création de sa propre autorité de certification
|
||||
weather:
|
||||
humidity: 57
|
||||
illuminance: 0.0
|
||||
precipitations: false
|
||||
pressure: 1027.9
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: -10.4
|
||||
wind_direction: 73
|
||||
wind_speed: 8.7
|
||||
weight: 3
|
||||
---
|
||||
|
||||
J'avais [initialement](https://web.archive.org/web/20120618100138/http://ingnu.fr/2012/02/05/installer-et-configurer-un-serveur-dns/) prévu d'aborder dans un troisième article la configuration d'un serveur mail, mais il fallait d'abord que j'explique comment mettre en place une autorité de certification, puisque nous allons nous en servir dans la configuration du serveur mail, mais aussi pour bien d'autres services que nous verrons ultérieurement.
|
||||
|
||||
À l'issue de cet article, vous aurez à disposition une série de scripts qui vous permettront de mettre rapidement et facilement en place des certificats pour tous types d'applications.
|
||||
|
||||
L'autorité de certification et les certificats vous permettront de chiffrer les données qui vont transiter sur votre cloud personnel.
|
||||
Ainsi, si une personne malintentionnée cherchait à espionner ce qui transite entre votre propre machine et votre serveur, elle ne pourrait pas exploiter les données qu'elle récolterait.
|
||||
C'est une solution fiable, même si tout chiffrement peut être "cassé".
|
||||
Il faut simplement garder à l'esprit que vous n'êtes pas une banque, et que les données que vous allez stocker sur votre serveur n'ont de valeur que pour vous.
|
||||
Personne ne cherchera donc à passer des semaines ou des mois à casser le chiffrement de vos certificats...
|
||||
|
||||
Notice : En revanche, ils seront bien utiles pour chiffrer les données qui transitent sur votre réseau.
|
||||
|
||||
Important : [VeriSign](https://web.archive.org/web/20120618100138/http://www.verisign.com/ssl/index.html?tid=gnps)
|
||||
|
||||
Créons tout d'abord un répertoire dédié à nos scripts :
|
||||
|
||||
```bash
|
||||
mkdir -p /scripts/certificate_authority
|
||||
```
|
||||
|
||||
Vérifions ensuite que nous disposons bien du paquet nécessaire :
|
||||
|
||||
```bash
|
||||
apt-get install openssl
|
||||
```
|
||||
|
||||
Nous allons créer les premiers certificats, matérialisant l'autorité de certification.
|
||||
Les certificats spécifiques à certains services seront signés par cette autorité.
|
||||
Pour commencer, on va se créer un fichier de configuration personnalisé :
|
||||
|
||||
```bash
|
||||
cp /etc/ssl/openssl.cnf /scripts/certificate_authority/
|
||||
cd /scripts/certificate_authority
|
||||
nano openssl.cnf
|
||||
```
|
||||
|
||||
On édite ce fichier pour y modifier les variables suivantes :
|
||||
|
||||
- Dans la catégorie *[CA_default]*, mettez les valeurs suivantes :
|
||||
|
||||
```text
|
||||
dir = /scripts/certificate_authority
|
||||
certs = $dir/
|
||||
crl_dir = $dir/
|
||||
database = $dir/index.txt
|
||||
|
||||
new_certs_dir = $dir/
|
||||
|
||||
certificate = $dir/ca.crt
|
||||
serial = $dir/current_serial
|
||||
crlnumber = $dir/current_crl
|
||||
crl = $dir/crl.pem
|
||||
private_key = $dir/ca.key
|
||||
RANDFILE = $dir/.rand
|
||||
```
|
||||
|
||||
- Dans la catégorie *[req_distinguished_name]*, renseignez les valeurs suivantes :
|
||||
|
||||
- *countryName_default*
|
||||
- *stateOrProvinceName_default*
|
||||
- *localityName_default*
|
||||
- *0.organizationName_default*
|
||||
- *emailAddress_default*
|
||||
|
||||
Enregistrez puis fermez ce fichier.
|
||||
On va ensuite créer le fichier *create_ca*, qui aura pour but de créer l'autorité de certification.
|
||||
L'autorité de certification n'est à créer qu'une seule fois, mais le fait de créer un script pour le faire permettra, en cas de besoin, de retrouver les commandes nécessaires.
|
||||
À noter que nous allons créer un certificat dont la validité est de 10 ans (3650 jours).
|
||||
|
||||
```bash
|
||||
nano create_ca
|
||||
```
|
||||
|
||||
```text
|
||||
#!/bin/bash
|
||||
|
||||
base=`dirname $0`
|
||||
|
||||
echo "Étape 1 : Création de la clé"
|
||||
openssl genrsa -des3 -out "$base/ca.key" 1024
|
||||
|
||||
echo "Étape 2 : Génération de la demande de certificat"
|
||||
openssl req -config "$base/openssl.cnf" -new -key "$base/ca.key" -out "$base/ca.csr"
|
||||
|
||||
echo "Étape 3 : Génération du certificat"
|
||||
openssl x509 -days 3650 -signkey "$base/ca.key" -in "$base/ca.csr" -req -out "$base/ca.crt"
|
||||
|
||||
chmod 0400 ca.key
|
||||
```
|
||||
|
||||
```bash
|
||||
chmod 700 create_ca
|
||||
```
|
||||
|
||||
Cette dernière commande nous assure que personne à part *root* ne peut exécuter ce fichier.
|
||||
Ce que nous allons faire immédiatement :
|
||||
|
||||
```bash
|
||||
./create_ca
|
||||
```
|
||||
|
||||
Après vous avoir demandé un mot de passe (qu'il est impératif de renseigner), quelques questions vont vous être posées.
|
||||
La plupart contient déjà les réponses pré-replies dans le fichier *openssl.cnf* que nous avons édité plus tôt.
|
||||
Seule la variable *Organizational Unit Name* est à spécifier (mettez ce que vous voulez, par exemple "*Certificate Authority*"), et la variable *Common Name*, qui devrait contenir votre nom de domaine principal.
|
||||
|
||||
Une fois la commande exécutée et les variables spécifiées, trois nouveaux fichiers ont été créés dans le répertoire de travail (*/scripts/certificate_authority*) : *ca.csr* (la demande de certificat), *ca.crt* (le certificat principal) et *ca.key* (la clé privée).
|
||||
On peut désormais créer de nouveaux certificats, à l'aide d'un nouveau script :
|
||||
|
||||
```bash
|
||||
nano make_request
|
||||
```
|
||||
|
||||
```text
|
||||
#!/bin/bash
|
||||
|
||||
app=$1
|
||||
domain=$2
|
||||
base=`dirname $0`
|
||||
|
||||
if [ "$app" == "" ]
|
||||
then
|
||||
echo "Vous devez spécifier un nom d'application ou de service"
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ "$domain" == "" ]
|
||||
then
|
||||
echo "Vous devez spécifier un nom de domaine"
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ ! -d "$base/$app" ]
|
||||
then
|
||||
mkdir "$base/$app"
|
||||
fi
|
||||
|
||||
echo "Étape 1 : Création de la clé"
|
||||
openssl genrsa -des3 -out "$base/$app/$domain.key" 1024
|
||||
|
||||
echo "Étape 2 : Création de la demande de certificat"
|
||||
openssl req -config "$base/openssl.cnf" -new -key "$base/$app/$domain.key" -out "$base/$app/$domain.csr"
|
||||
|
||||
echo "Souhaitez-vous créer une clé sans mot de passe ? (o/n) [n]"
|
||||
|
||||
read answer
|
||||
|
||||
if [ $answer = o -o $answer = O ]
|
||||
then
|
||||
cp "$base/$app/$domain.key" "$base/$app/$domain.key-withpass"
|
||||
openssl rsa -in "$base/$app/$domain.key-withpass" -out "$base/$app/$domain.key"
|
||||
chmod 0440 "$base/$app/$domain.key-withpass"
|
||||
fi
|
||||
|
||||
chmod 0440 "$base/$app/$domain.key"
|
||||
```
|
||||
|
||||
```bash
|
||||
chmod +x ./make_request
|
||||
```
|
||||
|
||||
L'objectif de ce script va être de générer une demande de certificat pour une application donnée et un domaine donné.
|
||||
Cela nous permettra de générer des certificats différents selon les applications et les domaines, mais il est tout à fait possible (bien que déconseillé) de générer un seul certificat et de s'en servir dans toutes nos applications.
|
||||
Ce script s'utilisera de la manière suivante :
|
||||
|
||||
```bash
|
||||
./make_request <application> <domaine>
|
||||
```
|
||||
|
||||
Ce script va également nous permettre de créer des clés sans mot de passe, ce qui sera utile avec apache.
|
||||
|
||||
Créons ensuite le script qui va nous permettre de demander la signature d'une demande précédente :
|
||||
|
||||
```text
|
||||
nano sign_request
|
||||
```
|
||||
|
||||
```text
|
||||
#!/bin/bash
|
||||
|
||||
app=$1
|
||||
domain=$2
|
||||
base=`dirname $0`
|
||||
serial=0
|
||||
|
||||
if [ "$app" == "" ]
|
||||
then
|
||||
echo "Vous devez spécifier un nom d'application ou de service"
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ "$domain" == "" ]
|
||||
then
|
||||
echo "Vous devez spécifier un nom de domaine"
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ ! -d "$base/$app" ]
|
||||
then
|
||||
echo "Aucun certificat n'a été généré pour l'application spécifiée"
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ ! -f "$base/$app/$domain.csr" ]
|
||||
then
|
||||
echo "Aucun certificat n'a été généré pour le domaine spécifié"
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ -f "$base/current_serial" ]
|
||||
then
|
||||
serial=`cat "$base/current_serial"`
|
||||
fi
|
||||
|
||||
serial=$(($serial+1))
|
||||
|
||||
openssl x509 -req -days 3650 -in "$base/$app/$domain.csr" -CA "$base/ca.crt" -CAkey "$base/ca.key" -set_serial $serial -out "$base/$app/$domain.crt"
|
||||
|
||||
echo "$serial" > "$base/current_serial"
|
||||
|
||||
echo "Souhaitez-vous supprimer la requête initiale ? ($domain.csr) (o/n) [o]"
|
||||
|
||||
read answer
|
||||
|
||||
if [ "$answer" != "n" -a "$ans" != "N" ]
|
||||
then
|
||||
rm "$base/$app/$domain.csr"
|
||||
fi
|
||||
```
|
||||
|
||||
```bash
|
||||
chmod 700 sign_request
|
||||
```
|
||||
|
||||
La syntaxe est la même que précédemment :
|
||||
|
||||
```bash
|
||||
./sign_request <application> <domaine>
|
||||
```
|
||||
|
||||
La signature du certificat va générer un fichier portant l'extension *.crt* : c'est celui-ci qui sera notamment utilisé à travers les applications.
|
||||
|
||||
La procédure pour créer un certificat valide est donc la suivante.
|
||||
Nous admettrons pour l'exemple que nous travaillons avec apache.
|
||||
|
||||
```bash
|
||||
./make_request apache exemple.fr
|
||||
./sign_request apache exemple.fr
|
||||
```
|
||||
|
||||
Cela aura pour conséquence de créer un répertoire apache dans le répertoire */scripts/certificate_authority*, qui contiendra vos certificats, demandes, et clés spécifiques à apache.
|
||||
|
||||
Vous disposez désormais d'un ensemble complet d'outils pour générer facilement les certificats dont vous aurez besoin plus tard, et notamment lors de la mise en place du serveur mail, prochaine étape de la création de votre cloud personnel.
|
||||
@@ -0,0 +1,723 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/515
|
||||
date: '2012-02-06 17:53:00'
|
||||
dossier:
|
||||
- Créer son propre Cloud
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120621224105/http://ingnu.fr/2012/02/06/installation-de-son-propre-serveur-mail/
|
||||
tags:
|
||||
- Amavis
|
||||
- ClamAV
|
||||
- Dovecot
|
||||
- IMAP
|
||||
- Postfix
|
||||
- SMTP
|
||||
title: Installation de son propre serveur mail
|
||||
weather:
|
||||
humidity: 46
|
||||
illuminance: 1393.7
|
||||
precipitations: false
|
||||
pressure: 1028.7
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: -7.7
|
||||
wind_direction: 65
|
||||
wind_speed: 9.5
|
||||
weight: 4
|
||||
---
|
||||
|
||||
Le quatrième article de la [nouvelle rubrique](https://web.archive.org/web/20120621224105/http://ingnu.fr/category/creer-son-propre-cloud/) va donc traiter de l'installation de son propre serveur mail, élément indispensable de la chaîne de communication.
|
||||
Il existe déjà de nombreux tutoriels sur Internet, parfois très bien faits, parfois incomplets ou inadaptés.
|
||||
Je ne prétends pas que mon article sera mieux que les autres, j'espère seulement qu'il trouvera son public.
|
||||
|
||||
Notre serveur mail devra être sécurisé : nous ferons appel au chiffrement, ainsi qu'à diverses applications permettant de filtrer spam et virus, le plus efficacement possible, sans pour autant bloquer les correspondances légitimes (il m'est arrivé que certaines personnes utilisant un serveur SMTP wanadoo (sic) se retrouvent bloquées par mon serveur, à cause d'un non respect du protocole SMTP...).
|
||||
|
||||
Nous utiliserons le serveur SMTP [postfix](https://web.archive.org/web/20120621224105/http://www.postfix.org/), aux côtés duquel tournera le serveur IMAP [dovecot](https://web.archive.org/web/20120621224105/http://dovecot.org/).
|
||||
Le filtrage sera confié à [Spamassassin](https://web.archive.org/web/20120621224105/http://spamassassin.apache.org/), [amavis](https://web.archive.org/web/20120621224105/http://www.amavis.org/) et [clamav](https://web.archive.org/web/20120621224105/http://www.clamav.net/lang/en/).
|
||||
Nous aurons recourt à une base de données de type [MySQL](https://web.archive.org/web/20120621224105/http://www.mysql.com/).
|
||||
Même si vous ne gérerez qu'un seul domaine, virtualiser les utilisateurs et les domaines n'est pas plus consommateur de ressources : MySQL (ou tout autre serveur de bases de données, j'aurai pu traiter de [postgreSQL](https://web.archive.org/web/20120621224105/http://www.postgresql.org/) s'il ne me manquait pas de l'expérience) sera installé tôt ou tard, autant l'utiliser tout de suite.
|
||||
Et si par la suite vous acquérez un autre domaine et que vous vouliez proposer un service mail pour ce domaine, vous n'aurez pas de migration fastidieuse à effectuer.
|
||||
|
||||
Lorsque debconf vous demandera un mot de passe pour MySQL (et par extension, chaque fois que vous devrez saisir un mot de passe dans les prochains articles), vous devriez considérer utiliser un [générateur de mot de passe](https://web.archive.org/web/20120621224105/http://randompassword.com/).
|
||||
En utilisant un tel outil, vous pourrez générer des mots de passe complexes, de la longueur et de la complexité que vous voulez.
|
||||
|
||||
Sous debian donc, on installe les paquets suivants :
|
||||
|
||||
```bash
|
||||
apt-get install amavisd-new arj bzip2 cabextract clamav clamav-freshclam clamav-daemon cpio dovecot-imapd gzip lha mysql-server p7zip pax postfix postfix-mysql postfix-pcre ripole rpm spamassassin tar unrar-free unzip xz-utils zip zoo
|
||||
```
|
||||
|
||||
Outre postfix, dovecot, l'anti-virus et l'anti-spam, on installe également quelques utilitaires appelés par amavis/clamav pour analyser les pièces jointes aux futurs mails qui seront envoyés ou reçus par votre serveur.
|
||||
On passe ensuite à la configuration de MySQL.
|
||||
|
||||
## MySQL
|
||||
|
||||
debconf vous a probablement demandé de choisir un mot de passe pour l'utilisateur root (celui de MySQL).
|
||||
Vous devez maintenant créer un nouvel utilisateur pour la première base de données que nous allons créer, et qui sera exploitée par notre serveur mail.
|
||||
|
||||
```bash
|
||||
mysql -u root -pVotreMotDePasse
|
||||
```
|
||||
|
||||
Notice : *-p*
|
||||
|
||||
Saisissez alors les commandes suivantes, en remplaçant *NouveauMotDePasse* par un nouveau mot de passe, différent de celui de root (là encore, pensez à utiliser le générateur de mots de passe) :
|
||||
|
||||
```text
|
||||
CREATE USER 'MailServer'@'localhost' IDENTIFIED BY 'NouveauMotDePasse';
|
||||
GRANT USAGE ON * . * TO 'MailUser'@'localhost' IDENTIFIED BY 'NouveauMotDePasse';
|
||||
CREATE DATABASE IF NOT EXISTS `MailServer` ;
|
||||
GRANT ALL PRIVILEGES ON `MailServer` . * TO 'MailServer'@'localhost';
|
||||
```
|
||||
|
||||
Nous avons créé un nouvel utilisateur nommé *MailServer*, et une base de données dans laquelle il a tout privilège.
|
||||
Créons ensuite la structure :
|
||||
|
||||
```text
|
||||
USE MailServer;
|
||||
```
|
||||
|
||||
```text
|
||||
CREATE TABLE `access_sender` (
|
||||
`source` varchar(128) CHARACTER SET utf8 NOT NULL DEFAULT '',
|
||||
`access` varchar(128) CHARACTER SET utf8 NOT NULL DEFAULT '',
|
||||
`created` datetime NOT NULL,
|
||||
`modified` datetime NOT NULL,
|
||||
`active` tinyint(1) NOT NULL DEFAULT '1',
|
||||
UNIQUE KEY `source` (`source`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Virtual Sender Restrictions';
|
||||
CREATE TABLE `aliases` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`source` varchar(255) CHARACTER SET utf8 NOT NULL,
|
||||
`destination` varchar(255) CHARACTER SET utf8 NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
CREATE TABLE `domains` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(255) CHARACTER SET utf8 NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
CREATE TABLE `users` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`email` varchar(255) CHARACTER SET utf8 NOT NULL,
|
||||
`password` varchar(32) CHARACTER SET utf8 NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
quit;
|
||||
```
|
||||
|
||||
Nous avons créé respectivement la table qui contiendra les adresses emails toujours autorisées à nous envoyer quelque chose, quelle que soit la politique de filtrage de notre postfix, la table contenant les futurs alias, celle contenant les domaines et enfin celle qui contiendra nos utilisateurs.
|
||||
La base de données est configurée, nous pouvons passer à la suite.
|
||||
|
||||
## Postfix
|
||||
|
||||
Pour que Postfix utilise la base de données que l'on vient de créer, il faut créer quelques fichiers de configuration que nous allons placer dans le répertoire */etc/postfix/mysql* :
|
||||
|
||||
```bash
|
||||
/etc/init.d/postfix stop
|
||||
mkdir /etc/postfix/mysql
|
||||
```
|
||||
|
||||
Créez ensuite les fichiers suivants (n'oubliez pas de renseigner à chaque fois la variable *password* avec le mot de passe que vous avez attribué à l'utilisateur *MailServer*) :
|
||||
|
||||
```bash
|
||||
cd /etc/postfix/mysql
|
||||
nano alias.cf
|
||||
```
|
||||
|
||||
```text
|
||||
user = MailServer
|
||||
password =
|
||||
hosts = 127.0.0.1
|
||||
dbname = MailServer
|
||||
query = SELECT destination FROM aliases WHERE source='%s'
|
||||
```
|
||||
|
||||
```bash
|
||||
nano domains.cf
|
||||
```
|
||||
|
||||
```text
|
||||
user = MailServer
|
||||
password =
|
||||
hosts = 127.0.0.1
|
||||
dbname = MailServer
|
||||
query = SELECT 1 FROM domains WHERE name='%s'
|
||||
```
|
||||
|
||||
```bash
|
||||
nano email2email.cf
|
||||
```
|
||||
|
||||
```text
|
||||
user = MailServer
|
||||
password =
|
||||
hosts = 127.0.0.1
|
||||
dbname = MailServer
|
||||
query = SELECT email FROM users WHERE email='%s'
|
||||
```
|
||||
|
||||
```bash
|
||||
nano maps.cf
|
||||
```
|
||||
|
||||
```text
|
||||
user = MailServer
|
||||
password =
|
||||
hosts = 127.0.0.1
|
||||
dbname = MailServer
|
||||
query = SELECT 1 FROM users WHERE email='%s'
|
||||
```
|
||||
|
||||
```bash
|
||||
nano senders_whitelist.cf
|
||||
```
|
||||
|
||||
```text
|
||||
user = MailServer
|
||||
password =
|
||||
hosts = 127.0.0.1
|
||||
dbname = MailServer
|
||||
query = SELECT access FROM access_sender WHERE source='%s' AND active = '1'
|
||||
```
|
||||
|
||||
Nous venons simplement de créer les fichiers permettant de communiquer avec les tables créées précédemment.
|
||||
Modifions ensuite la configuration principale de postfix, à commencer par le fichier *main.cf*.
|
||||
Nous allons créer une nouvelle configuration en partant de rien, on va donc déplacer le fichier d'origine et en créer un nouveau :
|
||||
|
||||
```bash
|
||||
cd ../
|
||||
mv main.cf main.cf.orig
|
||||
nano main.cf
|
||||
```
|
||||
|
||||
Copiez-y ensuite la configuration suivante :
|
||||
|
||||
```text
|
||||
mynetworks = 127.0.0.0/8
|
||||
|
||||
# Dovecot settings
|
||||
virtual_transport = dovecot
|
||||
dovecot_destination_recipient_limit = 1
|
||||
|
||||
# MySQL settings
|
||||
virtual_mailbox_domains = mysql:/etc/postfix/mysql/domains.cf
|
||||
virtual_mailbox_maps = mysql:/etc/postfix/mysql/maps.cf
|
||||
virtual_alias_maps = mysql:/etc/postfix/mysql/alias.cf,mysql:/etc/postfix/mysql/email2email.cf
|
||||
|
||||
# SASL
|
||||
smtpd_sasl_type = dovecot
|
||||
smtpd_sasl_path = private/auth
|
||||
smtpd_sasl_auth_enable = yes
|
||||
|
||||
# TLS
|
||||
smtp_tls_CAfile = /scripts/certificate_authority/ca.crt
|
||||
smtpd_tls_CAfile = /scripts/certificate_authority/ca.crt
|
||||
smtpd_tls_cert_file = /scripts/certificate_authority/exemple.fr.crt
|
||||
smtpd_tls_key_file = /scripts/certificate_authority/exemple.fr.key
|
||||
smtpd_tls_received_header = yes
|
||||
tls_random_source = dev:/dev/urandom
|
||||
smtp_tls_security_level = may
|
||||
smtpd_tls_security_level = may
|
||||
smtp_use_tls = yes
|
||||
smtpd_use_tls = yes
|
||||
smtpd_tls_auth_only = no
|
||||
#smtpd_tls_wrappermode = yes
|
||||
smtpd_tls_loglevel = 1
|
||||
|
||||
# Filtering
|
||||
content_filter = smtp-amavis:[127.0.0.1]:10024
|
||||
receive_override_options = no_address_mappings
|
||||
|
||||
# Restrictions
|
||||
unknown_address_reject_code = 554
|
||||
unknown_hostname_reject_code = 554
|
||||
unknown_client_reject_code = 550
|
||||
unverified_sender_reject_code = 554
|
||||
smtpd_helo_required = yes
|
||||
strict_rfc821_envelopes = yes
|
||||
|
||||
smtpd_recipient_restrictions =
|
||||
reject_non_fqdn_sender,
|
||||
reject_unknown_sender_domain,
|
||||
reject_non_fqdn_recipient,
|
||||
reject_unknown_recipient_domain,
|
||||
permit_mynetworks,
|
||||
permit_sasl_authenticated,
|
||||
reject_unauth_destination,
|
||||
check_helo_access pcre:/etc/postfix/helo_checks.pcre,
|
||||
reject_invalid_helo_hostname,
|
||||
reject_non_fqdn_helo_hostname,
|
||||
check_sender_access mysql:/etc/postfix/mysql/senders_whitelist.cf,
|
||||
reject_rbl_client zen.spamhaus.org
|
||||
```
|
||||
|
||||
Important : *main.cf*
|
||||
|
||||
Il faut créer le fichier *helo_checks.pcre*.
|
||||
En utilisant les expressions rationnelles, cela permettra à postfix d'opérer un filtrage sur la commande *helo* du protocole SMTP.
|
||||
|
||||
```bash
|
||||
nano helo_checks.pcre
|
||||
```
|
||||
|
||||
```text
|
||||
/^localhost$/ 550 Don’t use localhost
|
||||
/^(base\.)?(exemple\.fr|exemple2\.fr)$/ 550 Don’t use my own domain/hostname
|
||||
/^\[?88\.190\.15\.133\]?$/
|
||||
550 Spammer comes to me \
|
||||
Greets me with my own IP \
|
||||
His mail I shall not see.
|
||||
/^[0-9.-]+$/
|
||||
550 Your software is not RFC 2821 compliant: \
|
||||
EHLO/HELO must be a domain or an \
|
||||
address-literal (IP enclosed in brackets)
|
||||
```
|
||||
|
||||
On modifie ensuite le fichier *master.cf* :
|
||||
|
||||
```text
|
||||
nano master.cf
|
||||
```
|
||||
|
||||
Dé-commentez la ligne (située en début du fichier) :
|
||||
|
||||
```text
|
||||
smtps inet n - - - - smtpd
|
||||
```
|
||||
|
||||
Et rajoutez les lignes suivantes :
|
||||
|
||||
```text
|
||||
dovecot unix - n n - - pipe
|
||||
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}
|
||||
```
|
||||
|
||||
```text
|
||||
smtp-amavis unix - - n - 2 smtp
|
||||
-o smtp_data_done_timeout=1200
|
||||
-o smtp_send_xforward_command=yes
|
||||
-o disable_dns_lookups=yes
|
||||
-o max_use=20
|
||||
```
|
||||
|
||||
```text
|
||||
127.0.0.1:10025 inet n - n - - smtpd
|
||||
-o content_filter=
|
||||
-o smtpd_restriction_classes=
|
||||
-o smtpd_delay_reject=no
|
||||
-o smtpd_client_restrictions=permit_mynetworks,reject
|
||||
-o smtpd_helo_restrictions=
|
||||
-o smtpd_sender_restrictions=
|
||||
-o smtpd_recipient_restrictions=permit_mynetworks,reject
|
||||
-o smtpd_data_restrictions=reject_unauth_pipelining
|
||||
-o smtpd_end_of_data_restrictions=
|
||||
-o mynetworks=127.0.0.0/8
|
||||
-o smtpd_error_sleep_time=0
|
||||
-o smtpd_soft_error_limit=1001
|
||||
-o smtpd_hard_error_limit=1000
|
||||
-o smtpd_client_connection_count_limit=0
|
||||
-o smtpd_client_connection_rate_limit=0
|
||||
-o receive_override_options=no_header_body_checks,no_unknown_recipient_checks
|
||||
-o local_header_rewrite_clients=
|
||||
```
|
||||
|
||||
Ces lignes servent à interfacer dovecot et amavis avec postfix.
|
||||
Il nous reste encore à créer les certificats.
|
||||
|
||||
```bash
|
||||
/scripts/certificate_authority/make_request postfix mail.exemple.fr
|
||||
```
|
||||
|
||||
Notice : *Common Name*
|
||||
|
||||
*mail.exemple.fr*
|
||||
|
||||
Signez ensuite le certificat :
|
||||
|
||||
```bash
|
||||
/scripts/certificate_authority/sign_request postfix mail.exemple.fr
|
||||
```
|
||||
|
||||
La configuration de postfix étant terminée, on s'occupe des filtres.
|
||||
|
||||
## Filtres
|
||||
|
||||
```bash
|
||||
/etc/init.d/amavis stop
|
||||
/etc/init.d/clamav-daemon stop
|
||||
/etc/init.d/clamav-freshclam stop
|
||||
adduser clamav amavis
|
||||
adduser amavis clamav
|
||||
```
|
||||
|
||||
Important : *amavis*
|
||||
|
||||
*clamav*
|
||||
|
||||
*clamav*
|
||||
|
||||
*amavis*
|
||||
|
||||
On édite ensuite la configuration de amavis :
|
||||
|
||||
```bash
|
||||
nano /etc/amavis/conf.d/15-content_filter_mode
|
||||
```
|
||||
|
||||
Dé-commentez les lignes dans ce fichier pour qu'il ressemble à ceci :
|
||||
|
||||
```text
|
||||
use strict;
|
||||
|
||||
@bypass_virus_checks_maps = (
|
||||
\%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);
|
||||
|
||||
@bypass_spam_checks_maps = (
|
||||
\%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);
|
||||
|
||||
1; # ensure a defined return
|
||||
```
|
||||
|
||||
Puis :
|
||||
|
||||
```bash
|
||||
nano /etc/amavis/conf.d/20-debian_defaults
|
||||
```
|
||||
|
||||
Vers la ligne 68, assurez-vous d'avoir les directives de configuration suivantes :
|
||||
|
||||
```text
|
||||
$final_virus_destiny = D_DISCARD; # (data not lost, see virus quarantine)
|
||||
$final_banned_destiny = D_BOUNCE; # D_REJECT when front-end MTA
|
||||
$final_spam_destiny = D_BOUNCE;
|
||||
$final_bad_header_destiny = D_PASS; # False-positive prone (for spam)
|
||||
```
|
||||
|
||||
On bloque ainsi totalement les virus, mais on laisse passer le spam (qui sera tagué par la suite) pour éviter de supprimer du courrier légitime.
|
||||
|
||||
On continue :
|
||||
|
||||
```bash
|
||||
nano /etc/amavis/conf.d/50-user
|
||||
```
|
||||
|
||||
```text
|
||||
use strict;
|
||||
|
||||
#
|
||||
# Place your configuration directives here. They will override those in
|
||||
# earlier files.
|
||||
#
|
||||
# See /usr/share/doc/amavisd-new/ for documentation and examples of
|
||||
# the directives you can use in this file
|
||||
#
|
||||
|
||||
$sa_spam_subject_tag = '***** SPAM ***** ';
|
||||
$spam_quarantine_to = undef;
|
||||
$sa_tag_level_deflt = undef;
|
||||
$final_spam_destiny=D_PASS;
|
||||
|
||||
@lookup_sql_dsn = (
|
||||
['DBI:mysql:database=MailServer;host=127.0.0.1;port=3306',
|
||||
'MailServer',
|
||||
'MotDePasse']);
|
||||
|
||||
$sql_select_policy = 'SELECT name FROM domains WHERE CONCAT("@",name) IN (%k)';
|
||||
|
||||
#------------ Do not modify anything below this line -------------
|
||||
1; # ensure a defined return
|
||||
```
|
||||
|
||||
On peut maintenant démarrer les services :
|
||||
|
||||
```bash
|
||||
/etc/init.d/amavis start
|
||||
/etc/init.d/clamav-daemon start
|
||||
/etc/init.d/clamav-freshclam start
|
||||
```
|
||||
|
||||
## Dovecot
|
||||
|
||||
```bash
|
||||
/etc/init.d/dovecot stop
|
||||
cd /etc/dovecot
|
||||
```
|
||||
|
||||
Configurons tout d'abord la connexion au serveur MySQL :
|
||||
|
||||
```bash
|
||||
mv dovecot-sql.conf dovecot-sql.conf-orig
|
||||
nano dovecot-sql.conf
|
||||
```
|
||||
|
||||
```text
|
||||
driver = mysql
|
||||
connect = host=127.0.0.1 dbname=MailServer user=MailServer password=MotDePasse
|
||||
default_pass_scheme = PLAIN-MD5
|
||||
password_query = SELECT email AS user, password FROM users WHERE email='%u'
|
||||
```
|
||||
|
||||
Comme d'habitude, pensez à changer le mot de passe, et mettez celui de l'utilisateur MySQL *MailServer*.
|
||||
Enregistrez puis fermez, avant de modifier la configuration principale :
|
||||
|
||||
```bash
|
||||
mv dovecot.conf dovecot.conf-orig
|
||||
nano dovecot.conf
|
||||
```
|
||||
|
||||
```text
|
||||
base_dir = /var/run/dovecot
|
||||
protocols = imaps managesieve
|
||||
|
||||
ssl = yes
|
||||
ssl_cert_file = /scripts/certificate_authority/dovecot/mail.exemple.fr.crt
|
||||
ssl_key_file = /scripts/certificate_authority/dovecot/mail.exemple.fr.key
|
||||
ssl_key_password = MotDePasse
|
||||
|
||||
mail_location = maildir:/var/vmail/%d/%n/Maildir
|
||||
|
||||
mail_uid = vmail
|
||||
mail_gid = vmail
|
||||
|
||||
mail_privileged_group = mail
|
||||
|
||||
protocol imap {
|
||||
}
|
||||
|
||||
protocol managesieve {
|
||||
login_executable = /usr/lib/dovecot/managesieve-login
|
||||
mail_executable = /usr/lib/dovecot/managesieve
|
||||
}
|
||||
|
||||
protocol lda {
|
||||
postmaster_address = postmaster@exemple.fr
|
||||
auth_socket_path = /var/run/dovecot/auth-master
|
||||
mail_plugins = sieve
|
||||
}
|
||||
|
||||
auth_executable = /usr/lib/dovecot/dovecot-auth
|
||||
|
||||
auth default {
|
||||
mechanisms = plain login
|
||||
|
||||
passdb sql {
|
||||
args = /etc/dovecot/dovecot-sql.conf
|
||||
}
|
||||
|
||||
userdb static {
|
||||
args = uid=5000 vid=5000 home/var/vmail/%d/%n
|
||||
}
|
||||
|
||||
user = root
|
||||
|
||||
socket listen {
|
||||
master {
|
||||
path = /var/run/dovecot/auth-master
|
||||
mode = 0600
|
||||
|
||||
user = vmail
|
||||
group = vmail
|
||||
}
|
||||
client {
|
||||
path = /var/spool/postfix/private/auth
|
||||
mode = 0660
|
||||
user = postfix
|
||||
group = postfix
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
plugin {
|
||||
sieve=/var/vmail/%d/%n/Maildir/sieve/.dovecot.sieve
|
||||
sieve_dir=/var/vmail/%d/%n/Maildir/sieve
|
||||
sieve_global_path = /etc/sieve/sieve.global
|
||||
}
|
||||
```
|
||||
|
||||
Lorsque nous allons générer le certificat et la clé à utiliser avec dovecot, vous aurez la possibilité de créer une clé sans mot de passe.
|
||||
Si vous choisissez de créer une clé sans mot de passe, commentez la ligne *ssl_key_password = MotDePasse*.
|
||||
Dans le cas contraire, indiquez le mot de passe utilisé lors de la génération du certificat.
|
||||
|
||||
Quelques répertoires vont devoir être créés :
|
||||
|
||||
```bash
|
||||
mkdir /etc/sieve
|
||||
mkdir /var/vmail
|
||||
```
|
||||
|
||||
On génère les certificats :
|
||||
|
||||
```bash
|
||||
/scripts/certificate_authority/make_request dovecot mail.exemple.fr
|
||||
/scripts/certificate_authority/sign_request dovecot mail.exemple.fr
|
||||
```
|
||||
|
||||
On créé ensuite l'utilisateur *vmail* :
|
||||
|
||||
```bash
|
||||
addgroup vmail --gid 5000
|
||||
adduser --system --disabled-password --no-create-home --disabled-login --uid 5000 --gid 5000 vmail
|
||||
chown -R vmail:vmail /var/vmail
|
||||
```
|
||||
|
||||
On peut désormais redémarrer dovecot :
|
||||
|
||||
```bash
|
||||
/etc/init.d/dovecot restart
|
||||
```
|
||||
|
||||
Nous avons configuré dovecot pour utiliser le plugin *sieve/managesieve*.
|
||||
Cela nous permettra plus tard de mettre en place des filtres pour la messagerie.
|
||||
|
||||
Créons tout de même le fichier de configuration de base pour sieve, dont le rôle va être simplement de déplacer le spam dans le bon répertoire :
|
||||
|
||||
```bash
|
||||
nano /etc/sieve/sieve.global
|
||||
```
|
||||
|
||||
```text
|
||||
require ["fileinto"];
|
||||
# rule:[Spam]
|
||||
if header :contains "Subject" "***** SPAM *****"
|
||||
{
|
||||
fileinto "Spam";
|
||||
}
|
||||
```
|
||||
|
||||
## Quelques tests
|
||||
|
||||
Installez le paquet [telnet](https://web.archive.org/web/20120621224105/http://packages.debian.org/fr/squeeze/telnet) si vous ne l'avez pas déjà :
|
||||
|
||||
```bash
|
||||
apt-get install telnet
|
||||
telnet localhost 25
|
||||
ehlo exemple.fr
|
||||
quit
|
||||
```
|
||||
|
||||
Vous devriez avoir une sortie console qui ressemble à ceci :
|
||||
|
||||
```text
|
||||
Trying ::1...
|
||||
Trying 127.0.0.1...
|
||||
Connected to localhost.
|
||||
Escape character is '^]'.
|
||||
220 minerva.localdomain ESMTP Postfix
|
||||
ehlo exemple.fr
|
||||
250-minerva.localdomain
|
||||
250-PIPELINING
|
||||
250-SIZE 10240000
|
||||
250-VRFY
|
||||
250-ETRN
|
||||
250-STARTTLS
|
||||
250-AUTH PLAIN LOGIN
|
||||
250-ENHANCEDSTATUSCODES
|
||||
250-8BITMIME
|
||||
250 DSN
|
||||
```
|
||||
|
||||
Procédez de même avec le port 465, la sortie doit être la même.
|
||||
|
||||
Pour tester le serveur IMAP, nous devons créer un premier domaine, puis un premier utilisateur du domaine :
|
||||
|
||||
```bash
|
||||
mysql -u root -pMotDePasse
|
||||
```
|
||||
|
||||
```text
|
||||
USE MailServer;
|
||||
INSERT INTO domains (name) VALUES ('exemple.fr');
|
||||
INSERT INTO users (email, password) VALUES ('test@exemple.fr', MD5('MotDePasse'));
|
||||
quit;
|
||||
```
|
||||
|
||||
On peut ensuite tester le serveur IMAP :
|
||||
|
||||
```bash
|
||||
openssl s_client -connect localhost:993
|
||||
```
|
||||
|
||||
La dernière ligne affichée devrait ressembler à ceci :
|
||||
|
||||
```text
|
||||
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE AUTH=PLAIN AUTH=LOGIN] Dovecot ready.
|
||||
```
|
||||
|
||||
Suite à quoi, écrivez :
|
||||
|
||||
```text
|
||||
A LOGIN test@exemple.fr MotDePasse
|
||||
```
|
||||
|
||||
La fin de la ligne suivante devrait afficher "Logged in".
|
||||
Concluez la session avec :
|
||||
|
||||
```text
|
||||
a5 LOGOUT
|
||||
```
|
||||
|
||||
Nous testerons plus tard les anti-virus et anti-spam.
|
||||
Pour l'heure, nous avons une dernière chose à régler.
|
||||
|
||||
## Firewall
|
||||
|
||||
```bash
|
||||
nano /scripts/firewall
|
||||
```
|
||||
|
||||
Entre les lignes :
|
||||
|
||||
```text
|
||||
##### Configuration personnalisée #####
|
||||
```
|
||||
|
||||
Et :
|
||||
|
||||
```text
|
||||
##### Fin : Configuration personnalisée #####
|
||||
```
|
||||
|
||||
Rajoutez les lignes suivantes :
|
||||
|
||||
```text
|
||||
${IPT} -A SERVICES -p tcp --dport 25 -j ACCEPT
|
||||
${IPT} -A SERVICES -p tcp --dport 465 -j ACCEPT
|
||||
```
|
||||
|
||||
Ce sont les deux ports à ouvrir pour que votre serveur SMTP puisse communiquer avec l'extérieur (et vice-versa).
|
||||
|
||||
Important : ```text
|
||||
${IPT} -A SERVICES -p tcp --dport 993 -j ACCEPT
|
||||
```
|
||||
|
||||
Cette commande permet d'ouvrir le port 993, qui est le port attribué au serveur IMAP sécurisé.
|
||||
Nous n'utiliserons donc pas le port habituel, le 143.
|
||||
|
||||
## DNS
|
||||
|
||||
Dernière étape de l'installation de notre serveur mail, la modification de la configuration de notre serveur DNS pour sa prise en compte.
|
||||
On édite donc le fichier de définition de notre zone :
|
||||
|
||||
```bash
|
||||
nano /etc/bind/db.exemple.fr
|
||||
```
|
||||
|
||||
Et on rajoute à la fin (sans oublier de modifier l'identifiant de l'enregistrement !) :
|
||||
|
||||
```text
|
||||
IN MX 10 mail.exemple.fr.
|
||||
mail IN A 1.1.1.1
|
||||
```
|
||||
|
||||
Et on redémarre bind :
|
||||
|
||||
```bash
|
||||
/etc/init.d/bind9 restart
|
||||
```
|
||||
|
||||
C'est aussi simple que ça !
|
||||
|
||||
La prochaine étape consistera à installer un serveur web sécurisé, et quelques applications utiles, dont un client de messagerie pour jouer avec le serveur mail que l'on vient d'installer.
|
||||
@@ -0,0 +1,488 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/516
|
||||
date: '2012-02-07 00:05:00'
|
||||
dossier:
|
||||
- Créer son propre Cloud
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120617154444/http://ingnu.fr/2012/02/07/installation-dun-serveur-http-https/
|
||||
tags:
|
||||
- Apache
|
||||
- phpMyAdmin
|
||||
- Roundcube
|
||||
title: Installation d'un serveur HTTP/HTTPS
|
||||
weather:
|
||||
humidity: 59
|
||||
illuminance: 0.0
|
||||
precipitations: false
|
||||
pressure: 1029.2
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: -11.2
|
||||
wind_direction: 56
|
||||
wind_speed: 8.3
|
||||
weight: 5
|
||||
---
|
||||
|
||||
On continue [notre nouvelle série d'articles](https://web.archive.org/web/20120617154444/http://ingnu.fr/category/creer-son-propre-cloud/).
|
||||
Après avoir [créer un pare-feu de base](https://web.archive.org/web/20120617154444/http://ingnu.fr/2012/02/05/creer-son-propre-cloud-introduction/) que nous complèterons au fil des articles, après avoir [mis en place une autorité de certification](https://web.archive.org/web/20120617154444/http://ingnu.fr/2012/02/06/creation-de-sa-propre-autorite-de-certification/), puis [un serveur DNS](https://web.archive.org/web/20120617154444/http://ingnu.fr/2012/02/05/installer-et-configurer-un-serveur-dns/) et [un serveur mail](https://web.archive.org/web/20120617154444/http://ingnu.fr/2012/02/06/installation-de-son-propre-serveur-mail/), nous nous attaquons maintenant à l'installation du serveur [apache](https://web.archive.org/web/20120617154444/http://httpd.apache.org/).
|
||||
|
||||
Apache devra pouvoir desservir des pages aussi bien en HTTP qu'en HTTPS, permettre l'utilisation de langages comme [PHP](https://web.archive.org/web/20120617154444/http://fr.php.net/) et les scripts CGI, tout en assurant une bonne réactivité et un degrés certain de sécurité.
|
||||
|
||||
Un serveur HTTP(S) nous permettra de mettre en place une grande variété de services : dans un premier temps, un outil pour gérer notre base de données et un client mail, puis par la suite, un blog, un wiki, un lecteur de flux RSS, etc.
|
||||
|
||||
Il nous permettra également de mettre en place un proxy pour simplifier l'accès à des applications offrant une interface web, partager et accéder aux fichiers, et bien d'autres choses encore.
|
||||
Rappelons que l'objectif est de s'affranchir de tout outil du Cloud, proposé par de grandes entreprises telles que Google.
|
||||
Apache en sera un moyen d'y accéder facilement.
|
||||
|
||||
Important : _Top Level Domain_
|
||||
|
||||
_mail.exemple.fr_
|
||||
|
||||
_exemple.fr_
|
||||
|
||||
_.fr_
|
||||
|
||||
Ce petit rappel effectué, on peut organiser les sites desservis par apache de la manière suivante :
|
||||
|
||||
```text
|
||||
/var/www Racine
|
||||
/var/www/exemple.fr Racine du domaine
|
||||
/var/www/exemple.fr/mail Racine du sous-domaine mail
|
||||
/var/www/exemple.fr/mail/www Racine du site hébergé
|
||||
/var/www/exemple.fr/mail/log Journaux
|
||||
/var/www/exemple.fr/www Racine du domaine principal
|
||||
/var/www/exemple.fr/www/www Racine du site hébergé
|
||||
/var/www/exemple.fr/www/log Journaux
|
||||
```
|
||||
|
||||
Une telle arborescence permet d'organiser correctement les différents sites qui pourront être desservis par Apache, tout en ayant rapidement à portée de la main les journaux pour chaque sous-domaine.
|
||||
Cela nous permettra également de confier ces journaux à une application telle que [awstats](https://web.archive.org/web/20120617154444/http://awstats.sourceforge.net/) pour une analyse plus efficace que si tous les journaux étaient regroupés dans le même fichier.
|
||||
|
||||
Avant toute chose, installons quelques paquets, stoppons apache, et supprimons les hôtes virtuels par défaut :
|
||||
|
||||
```bash
|
||||
apt-get install apache2 libapache2-mod-php5 php5 php5-mysql php5-mcrypt php-mdb2 php-mdb2-driver-mysql
|
||||
/etc/init.d/apache2 stop
|
||||
a2dissite default && rm /etc/apache2/sites-available/default
|
||||
a2dissite default-ssl && rm /etc/apache2/sites-available/default-ssl
|
||||
cd /etc/apache2
|
||||
```
|
||||
|
||||
On désactive ensuite totalement la journalisation dans apache :
|
||||
|
||||
```bash
|
||||
rm conf.d/other-vhosts-access-log
|
||||
nano apache2.conf
|
||||
```
|
||||
|
||||
Commentez la ligne :
|
||||
|
||||
```text
|
||||
ErrorLog ${APACHE_LOG_DIR}/error.log
|
||||
```
|
||||
|
||||
Comme on va également faire appel à SSL, on active le port 443 :
|
||||
|
||||
```bash
|
||||
mv ports.conf ports.conf-orig
|
||||
nano ports.conf
|
||||
```
|
||||
|
||||
```text
|
||||
NameVirtualHost *:80
|
||||
NameVirtualHost *:443
|
||||
Listen 80
|
||||
Listen 443
|
||||
```
|
||||
|
||||
On va continuer en créant quatre arborescences différentes, pour quatre sites différents.
|
||||
|
||||
Le premier pourrait être simplement qualifié de bonne pratique : afin d'accélérer le chargement des pages, il convient de confier certains éléments à un sous-domaine particulier, desservi par un hôte virtuel ne journalisant pas ses accès, et contenant des éléments statiques, tels que des images ou des scripts.
|
||||
On économise ainsi plusieurs cycles d'écriture à chaque chargement de page.
|
||||
|
||||
## Domaine static
|
||||
|
||||
Créons la première arborescence :
|
||||
|
||||
```bash
|
||||
mkdir -p /var/www/exemple.fr/static/www
|
||||
```
|
||||
|
||||
On créé ensuite notre premier hôte virtuel :
|
||||
|
||||
```bash
|
||||
cd /etc/apache2/sites-available
|
||||
nano static.exemple.fr
|
||||
```
|
||||
|
||||
```text
|
||||
<VirtualHost *:80>
|
||||
ServerName static.exemple.fr
|
||||
ServerAdmin contact@exemple.fr
|
||||
|
||||
DocumentRoot /var/www/exemple.fr/static/www
|
||||
</VirtualHost>
|
||||
```
|
||||
|
||||
Rien de bien sorcier : on déclare un nouvel hôte virtuel écoutant sur toutes les interfaces configurées dans apache (\*) sur le port 80.
|
||||
On déclare également le nom de domaine affecté à cet hôte virtuel, en indiquant éventuellement (ce n'est pas une obligation) l'adresse email du responsable.
|
||||
Enfin, la dernière directive défini la racine du site, là où se trouveront les fichiers.
|
||||
Pour le moment, il n'y en a aucun, mais au moins, on a un hôte virtuel destiné à stocker les fichiers statiques, c'est déjà ça.
|
||||
|
||||
## Domaine www
|
||||
|
||||
Le domaine (sous-domaine plus exactement) _www_ est un peu particulier dans la mesure où il est plus utilisé par habitude que réel besoin : on se passe très bien de la partie _www_ dans *www.exemple.fr*.
|
||||
Cela nous donne toutefois deux bonnes occasions : conserver notre arborescence de base saine, et voir comment créer un alias de domaine.
|
||||
|
||||
Notre objectif sera de faire en sorte que, peu importe si on accède à notre site principal via `http://exemple.fr` ou `http://www.exemple.fr`, on devra tomber sur la même page.
|
||||
On aura recours, pour cela, à la directive _ServerAlias_.
|
||||
|
||||
On créé donc notre second hôte virtuel avec son arborescence :
|
||||
|
||||
```bash
|
||||
mkdir -p /var/www/exemple.fr/www/{www,log}
|
||||
nano www.exemple.fr
|
||||
```
|
||||
|
||||
```text
|
||||
<VirtualHost *:80>
|
||||
ServerName exemple.fr
|
||||
ServerAlias www.exemple.fr
|
||||
ServerAdmin contact@exemple.fr
|
||||
|
||||
DocumentRoot /var/www/exemple.fr/www/www
|
||||
|
||||
CustomLog /var/www/exemple.fr/www/log/access_log
|
||||
ErrorLog /var/www/exemple.fr/www/log/error_log
|
||||
</VirtualHost>
|
||||
```
|
||||
|
||||
Par la même occasion, on en a profité pour spécifier le chemin vers le journal des accès et le journal des erreurs.
|
||||
Il faudra procéder de même pour tout hôte virtuel créé à l'avenir.
|
||||
|
||||
Pour le moment, nous n'utiliserons pas ce domaine : c'est vous qui déciderez ce que vous voulez en faire : blog, portail privé, etc.
|
||||
|
||||
## Domaine mysql
|
||||
|
||||
Le nom de ce sous-domaine importe peu.
|
||||
J'ai choisi _mysql_, comme j'aurai pu choisir _pma_, _phpmyadmin_, _admin_ ou tout autre.
|
||||
Cependant, en consultant régulièrement mes logs, j'ai constaté que certains s'amusent à scanner certains sous-domaines-clés, pour éventuellement tomber sur un script d'administration non-sécurisé.
|
||||
J'ai vu passer toutes sortes de sous-domaines, mais assez étonnamment, peu tentent _mysql.exemple.fr_.
|
||||
|
||||
Ce domaine servira à accéder justement à [phpMyAdmin](https://web.archive.org/web/20120617154444/http://www.phpmyadmin.net/), script php probablement le plus utilisé pour administrer graphiquement ses bases de données.
|
||||
Outre l'aspect pédagogique de sa présence dans cet article, puisque c'est un bon prétexte à l'introduction à SSL avec apache, ce sera également un outil très pratique pour la création de futures bases de données, mais aussi pour des tâches plus triviales comme la population de notre première base créée, _MailServer_.
|
||||
|
||||
Créons l'arborescence et l'hôte virtuel :
|
||||
|
||||
```bash
|
||||
mkdir -p /var/www/exemple.fr/mysql/www
|
||||
```
|
||||
|
||||
```bash
|
||||
nano mysql.exemple.fr
|
||||
```
|
||||
|
||||
```text
|
||||
<VirtualHost *:80>
|
||||
ServerName mysql.exemple.fr
|
||||
Redirect / https://mysql.exemple.fr/
|
||||
</VirtualHost>
|
||||
|
||||
<VirtualHost *:443>
|
||||
ServerName mysql.exemple.fr
|
||||
|
||||
DocumentRoot /var/www/exemple.fr/mysql/www
|
||||
|
||||
SSLEngine On
|
||||
SSLCertificateFile /scripts/certificate_authority/apache/mysql.exemple.fr.crt
|
||||
SSLCertificateKeyFile /scripts/certificate_authority/apache/mysql.exemple.fr.key
|
||||
</VirtualHost>
|
||||
```
|
||||
|
||||
Ici, nous créons un hôte virtuel écoutant sur le port 80, dont l'unique objectif sera de forcer la redirection vers le même hôte virtuel, mais écoutant sur le port 443 (le port HTTPS).
|
||||
La connexion à _mysql.exemple.fr_ sera donc forcément chiffrée.
|
||||
|
||||
On va tout de suite créer le certificat et la clé qui vont bien :
|
||||
|
||||
```bash
|
||||
/scripts/certificate_authority/make_request apache mysql.exemple.fr
|
||||
/scripts/certificate_authority/sign_request apache mysql.exemple.fr
|
||||
chown www-data:www-data /scripts/certificate_authority/apache/*
|
||||
```
|
||||
|
||||
Warning : _Common Name_
|
||||
|
||||
On va ensuite télécharger et installer phpMyAdmin.
|
||||
À l'heure où j'écris ces lignes, la dernière version disponible est la 3.4.9.
|
||||
|
||||
```bash
|
||||
cd /usr/src
|
||||
wget http://freefr.dl.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.4.9/phpMyAdmin-3.4.9-all-languages.tar.gz
|
||||
tar zxf phpMyAdmin-3.4.9-all-languages.tar.gz
|
||||
cp -Rv phpMyAdmin-3.4.9-all-languages/* /var/www/exemple.fr/mysql/www/
|
||||
mkdir /var/www/exemple.fr/mysql/www/config/
|
||||
chown -R www-data:www-data /var/www/exemple.fr/mysql/www
|
||||
```
|
||||
|
||||
Après avoir décompressé l'archive, on a copié les fichiers extraits dans le répertoire racine du sous-domaine _mysql_, puis on a créé le répertoire _config_ qui va nous servir à paramétrer phpMyAdmin.
|
||||
Enfin, on a attribué les bons droits à l'ensemble de l'arborescence.
|
||||
|
||||
Notice : ```text
|
||||
chown -R www-data:www-data <fichier ou répertoire>
|
||||
|
||||
````
|
||||
|
||||
Pour le moment, notre serveur n'est pas accessible depuis l'extérieur, nous nous occuperons donc de la configuration de phpMyAdmin plus tard.
|
||||
En attendant, créons notre dernier hôte virtuel.
|
||||
|
||||
## Domaine mail
|
||||
|
||||
Revenons dans le répertoire de configuration des hôtes virtuels :
|
||||
|
||||
```bash
|
||||
cd /etc/apache2/sites-available
|
||||
````
|
||||
|
||||
Et créons la nouvelle arborescence :
|
||||
|
||||
```bash
|
||||
mkdir -p /var/www/exemple.fr/mail/{www,log}
|
||||
```
|
||||
|
||||
Nous allons combiner tout ce que nous avons vu jusqu'à présent pour créer le fichier de configuration de cet hôte virtuel :
|
||||
|
||||
```bash
|
||||
nano mail.exemple.fr
|
||||
```
|
||||
|
||||
```text
|
||||
<VirtualHost *:80>
|
||||
ServerName mail.exemple.fr
|
||||
Redirect / https://mail.exemple.fr/
|
||||
</VirtualHost>
|
||||
|
||||
<VirtualHost *:443>
|
||||
ServerName mail.exemple.fr
|
||||
|
||||
DocumentRoot /var/www/exemple.fr/mail/www
|
||||
|
||||
SSLEngine On
|
||||
SSLCertificateFile /scripts/certificate_authority/apache/mail.exemple.fr.crt
|
||||
SSLCertificateKeyFile /scripts/certificate_authority/apache/mail.exemple.fr.key
|
||||
|
||||
CustomLog /var/www/exemple.fr/mail/log/access_log
|
||||
ErrorLog /var/www/exemple.fr/mail/log/error_log
|
||||
</VirtualHost>
|
||||
```
|
||||
|
||||
On créé notre couple clé/certificat :
|
||||
|
||||
```bash
|
||||
/scripts/certificate_authority/make_request apache mail.exemple.fr
|
||||
/scripts/certificate_authority/sign_request apache mail.exemple.fr
|
||||
chown www-data:www-data /scripts/certificate_authority/apache/*
|
||||
```
|
||||
|
||||
Warning : _Common Name_
|
||||
|
||||
Pour la consultation des mails, on va faire appel à l'excellent [RoundCube](https://web.archive.org/web/20120617154444/http://roundcube.net/), actuellement en version 0.7.1.
|
||||
|
||||
```bash
|
||||
cd /usr/src
|
||||
wget http://freefr.dl.sourceforge.net/project/roundcubemail/roundcubemail/0.7.1/roundcubemail-0.7.1.tar.gz
|
||||
tar zxf roundcubemail-0.7.1.tar.gz
|
||||
cp -Rv roundcubemail-0.7.1/* /var/www/exemple.fr/mail/www/
|
||||
cp roundcubemail-0.7.1/.htaccess /var/www/exemple.fr/mail/www/
|
||||
chown -R www-data:www-data /var/www/exemple.fr/mail/www/
|
||||
```
|
||||
|
||||
La configuration de RoundCube peut se faire depuis Internet, mais encore une fois, notre serveur n'est pas encore accessible depuis l'extérieur.
|
||||
On va donc patienter encore un peu.
|
||||
|
||||
On active maintenant nos hôtes virtuels fraîchement créés :
|
||||
|
||||
```bash
|
||||
ln -s /etc/apache2/sites-available/www.exemple.fr /etc/apache2/sites-available/default
|
||||
a2ensite default
|
||||
a2ensite www.exemple.fr
|
||||
a2ensite static.exemple.fr
|
||||
a2ensite mysql.exemple.fr
|
||||
a2ensite mail.exemple.fr
|
||||
/etc/init.d/apache2 start
|
||||
```
|
||||
|
||||
Important : _default_
|
||||
|
||||
*www.exemple.fr*
|
||||
|
||||
*www.exemple.fr*
|
||||
|
||||
Consultez les journaux des différents hôtes (en particulier les journaux d'erreurs) pour vous assurer que tout fonctionne bien du côté d'apache.
|
||||
|
||||
## DNS
|
||||
|
||||
On édite le fichier de configuration de notre domaine :
|
||||
|
||||
```bash
|
||||
nano /etc/bind/db.exemple.fr
|
||||
```
|
||||
|
||||
A la fin du fichier, rajoutez les lignes suivantes :
|
||||
|
||||
```text
|
||||
www IN CNAME ns
|
||||
* IN CNAME ns
|
||||
```
|
||||
|
||||
Ces deux lignes définissent un alias (_CNAME_) du domaine _www_ et de tout autre sous-domaine vers l'adresse IP attribuée au sous-domaine _ns_.
|
||||
Dans notre cas, tous ces sous-domaines pointent vers l'adresse principale de notre serveur (1.1.1.1, pour réutiliser l'exemple de départ).
|
||||
|
||||
On redémarre bind :
|
||||
|
||||
```bash
|
||||
/etc/init.d/bind9 restart
|
||||
```
|
||||
|
||||
## Firewall
|
||||
|
||||
```bash
|
||||
nano /scripts/firewall
|
||||
```
|
||||
|
||||
Entre les lignes :
|
||||
|
||||
```text
|
||||
##### Configuration personnalisée #####
|
||||
```
|
||||
|
||||
Et :
|
||||
|
||||
```text
|
||||
##### Fin : Configuration personnalisée #####
|
||||
```
|
||||
|
||||
Rajoutez les lignes suivantes :
|
||||
|
||||
```text
|
||||
${IPT} -A SERVICES -p tcp --dport 80 -j ACCEPT
|
||||
${IPT} -A SERVICES -p tcp --dport 443 -j ACCEPT
|
||||
```
|
||||
|
||||
## Configuration de phpMyAdmin
|
||||
|
||||
Rendez-vous à l'adresse `http://mysql.exemple.fr/setup/` et laissez-vous guider.
|
||||
Une fois que vous avez modifié votre configuration, déplacez le fichier à la racine :
|
||||
|
||||
```text
|
||||
mv /var/www/exemple.fr/mysql/www/config/config.inc.php /var/www/exemple.fr/mysql/www/
|
||||
chown www-data:www-data /var/www/exemple.fr/mysql/www/config.inc.php
|
||||
```
|
||||
|
||||
Je vous recommande la lecture de [cette page](https://web.archive.org/web/20120617154444/http://www.phpmyadmin.net/documentation/Documentation.html#config) qui va vous permettre de paramétrer phpMyAdmin beaucoup plus finement que ce que permet l'interface web.
|
||||
|
||||
Une fois terminé, supprimez le répertoire _config_ :
|
||||
|
||||
```text
|
||||
rm -r /var/www/exemple.fr/mysql/www/config/
|
||||
```
|
||||
|
||||
## Configuration de RoundCube
|
||||
|
||||
Maintenant que phpMyAdmin est installé, il vous sera plus simple de créer l'utilisateur et la base de données pour RoundCube.
|
||||
Ouvrez donc phpMyAdmin (`http://mysql.exemple.fr`), et cliquez sur l'onglet " _Utilisateurs_ ", puis sur le lien " _Ajouter un utilisateur_ " en bas de page.
|
||||
|
||||
Donnez-lui le nom de _RoundCube_, pour le client _localhost_, et générez un mot de passe.
|
||||
Cochez également la case " _Créer une base de données portant son nom et donner à cet utilisateur tous les privilèges sur cette base_ ".
|
||||
|
||||
Rendez-vous ensuite à l'adresse `https://mail.exemple.fr/installer/`.
|
||||
Sur la première page, vous verrez la liste des dépendances de RoundCube.
|
||||
S'il en manque l'une ou l'autre, installez-la (via _apt-get install <paquet>_ ou _pear install <paquet>_ si la première méthode ne donne rien) et redémarrez apache.
|
||||
Une fois que tout est bon, cliquez en bas sur _Next_.
|
||||
|
||||
Petit exercice : remplissez les différents champs en prenant en considération que :
|
||||
|
||||
- Le port SMTP est le 465 (via tls, pas ssl)
|
||||
- Le port IMAP est le 993 (via ssl, pas tls)
|
||||
- L'adresse du serveur est 127.0.0.1
|
||||
|
||||
## Touches finales
|
||||
|
||||
Une fois RoundCube correctement configuré, créez-vous votre propre adresse email via phpMyAdmin, dans la base de données _MailServer_, et dans la table _users_.
|
||||
Pensez à sélectionner le type _MD5_ lorsque vous saisirez votre mot de passe.
|
||||
|
||||
Par la même occasion, allez dans la table _aliases_, et créez deux enregistrements, dont le champ _source_ sera respectivement _root_ et _postmaster_, et _destination_ l'adresse email que vous venez de vous créer.
|
||||
Cela vous permettra de recevoir les mails administratifs envoyés automatiquement par les différents services de votre serveur.
|
||||
|
||||
[Nous avions précédemment configuré une liste blanche d'expéditeurs](https://web.archive.org/web/20120617154444/http://ingnu.fr/2012/02/05/installer-et-configurer-un-serveur-dns/), toujours autorisés à vous envoyer des mails.
|
||||
Cette liste correspond à la table _access_sender_ de la base de données _MailServer_.
|
||||
Nous allons nous servir de RoundCube pour peupler automatiquement cette table, dès que vous enverrez un message.
|
||||
|
||||
Éditez la configuration de RoundCube :
|
||||
|
||||
```text
|
||||
nano /var/www/exemple.fr/mail/www/config/main.inc.php
|
||||
```
|
||||
|
||||
Cherchez le terme " _plugins_ " (via la combinaison de touches Ctrl+w).
|
||||
|
||||
Complétez la liste présente, en rajoutant :
|
||||
|
||||
```text
|
||||
"automatic_addressbook"
|
||||
```
|
||||
|
||||
Modifiez ensuite le plugin en question :
|
||||
|
||||
```text
|
||||
nano /var/www/exemple.fr/mail/www/plugins/automatic_addressbook/automatic_addressbook.php
|
||||
```
|
||||
|
||||
Aux alentours de la ligne 110, cherchez le code suivant :
|
||||
|
||||
```php
|
||||
foreach($all_recipients as $recipient) {
|
||||
// Bcc and Cc can be empty
|
||||
if ($recipient['mailto'] != '') {
|
||||
$contact = array(
|
||||
'email' => $recipient['mailto'],
|
||||
'name' => $recipient['name']
|
||||
);
|
||||
```
|
||||
|
||||
Rajoutez après :
|
||||
|
||||
```php
|
||||
$con = mysql_connect("localhost", "MailServer", "MotDePasse");
|
||||
mysql_select_db("MailServer");
|
||||
|
||||
mysql_query("insert into access_sender (`source`,`access`) values ('" . $contact["email"] . "','OK')");
|
||||
mysql_close($con);
|
||||
```
|
||||
|
||||
Pensez à modifier le mot de passe (il s'agit de celui de l'utilisateur _MailServer_).
|
||||
|
||||
Enregistrez et fermez.
|
||||
Désormais, dès que vous écrirez à quelqu'un, son adresse sera automatiquement ajoutée à la liste blanche.
|
||||
|
||||
Si vous le souhaitez, vous pouvez également éditer directement cette liste, en modifiant le contenu de la table _access_sender_.
|
||||
|
||||
| source | Adresse email à mettre en liste blanche (toujours autorisée à nous contacter, même si son client mail ne respecte pas les standards |
|
||||
| ------ | ----------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| access | OK pour autoriser, NULL pour bloquer |
|
||||
| active | 1 pour activer, 0 pour désactiver |
|
||||
|
||||
Vous avez maintenant à votre disposition les fondements les plus importants pour la mise en place de votre cloud.
|
||||
Votre serveur est sécurisé via un script iptables restrictif, vous disposez d'un serveur de noms de domaine, d'un serveur de base de données, d'un serveur mail, et d'un serveur HTTP(S).
|
||||
Enfin, vous disposez d'une interface pour gérer facilement votre base de données, et d'un client mail agréable à utiliser.
|
||||
|
||||
Dans les prochains articles, nous verrons (dans le désordre) :
|
||||
|
||||
- Comment installer une alternative à facebook/twitter/Google+
|
||||
- Comment installer une alternative à twitpic
|
||||
- Comment installer une alternative à Google Calendar
|
||||
- Comment installer une alternative à flickr/Picasa
|
||||
- Comment stocker des fichiers sur votre serveur comme si celui-ci était sur votre réseau local
|
||||
- Comment partager des fichiers avec le monde entier
|
||||
- Comment sauvegarder et restaurer votre serveur
|
||||
@@ -0,0 +1,333 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/518
|
||||
date: '2012-02-07 21:17:00'
|
||||
dossier:
|
||||
- Créer son propre Cloud
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20121007072220/http://ingnu.fr/2012/02/07/kronolith-une-alternative-a-google-calendar/
|
||||
tags:
|
||||
- Google Calendar
|
||||
- Horde
|
||||
- Kronolith
|
||||
title: 'Kronolith : une alternative à Google Calendar'
|
||||
weather:
|
||||
humidity: 64
|
||||
illuminance: 0.0
|
||||
precipitations: false
|
||||
pressure: 1029.2
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: -9.8
|
||||
wind_direction: 57
|
||||
wind_speed: 16.4
|
||||
weight: 6
|
||||
---
|
||||
|
||||
Maintenant que nous avons [installé les bases d'un auto-hébergement](https://web.archive.org/web/20121007072220/http://ingnu.fr/category/creer-son-propre-cloud/), il est temps de mettre en place les [alternatives](https://web.archive.org/web/20121007072220/http://ingnu.fr/2011/12/29/quelles-sont-les-alternatives-a-google/) à tous ces services qui nous traquent, analysent, et revendent nos informations.
|
||||
|
||||
En premier lieu, on va s'occuper de Google Calendar.
|
||||
Notre objectif va être de s'en affranchir, en installant une solution relativement méconnue, injustement boudée au profit d'autres applications plus médiatisées.
|
||||
|
||||
Certes, l'installation et la configuration du framework [Horde](https://web.archive.org/web/20121007072220/http://www.horde.org/) et de ses "applications-filles" n'est pas réellement aussi simple qu'un assistant d'installation dans une page web, mais une fois installé, vous vous rendrez compte de sa toute puissance.
|
||||
|
||||
Précisons que Horde est un framework, sur lequel reposent bon nombre d'applications.
|
||||
La plus connue est probablement IMP, dont free fait usage, entre autres, pour permettre aux bénéficiaires d'une adresse @free.fr d'accéder à leurs mails.
|
||||
|
||||
Ici, nous reposerons sur ce framework pour installer Kronolith, redoutable de puissance et d'interopérabilité.
|
||||
|
||||
## Hôte virtuel
|
||||
|
||||
Créons notre hôte virtuel :
|
||||
|
||||
```bash
|
||||
nano /etc/apache2/sites-available/agenda.exemple.fr
|
||||
```
|
||||
|
||||
```text
|
||||
<VirtualHost *:80>
|
||||
ServerName agenda.exemple.fr
|
||||
Redirect / https://agenda.exemple.fr/
|
||||
</VirtualHost>
|
||||
|
||||
<VirtualHost *:443>
|
||||
ServerName agenda.exemple.fr
|
||||
|
||||
DocumentRoot /var/www/exemple.fr/agenda/www
|
||||
|
||||
SSLEngine On
|
||||
SSLCertificateFile /scripts/certificate_authority/apache/agenda.exemple.fr.crt
|
||||
SSLCertificateKeyFile /scripts/certificate_authority/apache/agenda.exemple.fr.key
|
||||
|
||||
CustomLog /var/www/exemple.fr/agenda/log/access.log
|
||||
ErrorLog /var/www/exemple.fr/agenda/log/error.log
|
||||
</VirtualHost>
|
||||
```
|
||||
|
||||
Nous avons créé un hôte virtuel non sécurisé redirigeant vers un hôte virtuel sécurisé, nous avons déjà vu le principe.
|
||||
Créons maintenant les certificats :
|
||||
|
||||
```bash
|
||||
/scripts/certificate_authority/make_request apache agenda.exemple.fr
|
||||
/scripts/certificate_authority/sign_request apache agenda.exemple.fr
|
||||
chown www-data:www-data /scripts/certificate_authority/apache/*
|
||||
```
|
||||
|
||||
Warning : _Common Name_
|
||||
|
||||
On active le site, et on redémarre apache :
|
||||
|
||||
```bash
|
||||
a2ensite agenda.exemple.fr
|
||||
/etc/init.d/apache2 restart
|
||||
```
|
||||
|
||||
## Horde
|
||||
|
||||
Créons l'arborescence de notre nouveau site :
|
||||
|
||||
```bash
|
||||
mkdir -p /var/www/exemple.fr/agenda/{www,log}
|
||||
```
|
||||
|
||||
Horde est intimement lié aux bibliothèques [PEAR](https://web.archive.org/web/20121007072220/http://pear.php.net/), et c'est une excellente chose : ces bibliothèques de code PHP sont très pointues, largement utilisées, et sont soutenues et maintenues par une large communauté d'utilisateurs.
|
||||
|
||||
Quand je dis que Horde est intimement lié à PEAR, c'est aussi parce que Horde dispose de son propre canal sur PEAR.
|
||||
Cela va nous permettre deux types d'installation :
|
||||
|
||||
- Une installation globale
|
||||
- Une installation locale
|
||||
|
||||
Dans le cas d'une installation globale, l'ensemble des bibliothèques et dépendances de Horde sera installé au niveau du système.
|
||||
Dans une installation locale, Horde fera appel aux bibliothèques installées spécifiquement pour chaque installation.
|
||||
|
||||
Dans notre cas, nous procéderons à une installation globale, parce que pour l'heure, nous n'aurons pas d'autre usage de Horde que Kronolith.
|
||||
Nous verrons plus tard comment basculer sur une installation locale.
|
||||
|
||||
```bash
|
||||
cd /var/www/exemple.fr/agenda/www
|
||||
```
|
||||
|
||||
On met à jour PEAR :
|
||||
|
||||
```bash
|
||||
pear upgrade PEAR
|
||||
```
|
||||
|
||||
On ajoute le dépôt (canal) de Horde :
|
||||
|
||||
```bash
|
||||
pear channel-discover pear.horde.org
|
||||
```
|
||||
|
||||
Et on définit le répertoire d'installation de Horde :
|
||||
|
||||
```bash
|
||||
pear install horde/horde_role
|
||||
pear run-scripts horde/horde_role
|
||||
```
|
||||
|
||||
Quand le script d'installation vous demandera où installer Horde, répondez :
|
||||
|
||||
```text
|
||||
./
|
||||
```
|
||||
|
||||
Puis on procède finalement au téléchargement des paquets et leur décompression à l'endroit spécifié :
|
||||
|
||||
```bash
|
||||
pear install -a -B horde/horde
|
||||
```
|
||||
|
||||
Une fois terminé, on créé le fichier de configuration initial :
|
||||
|
||||
```bash
|
||||
cp config/conf.php.dist config/conf.php
|
||||
```
|
||||
|
||||
On attribue les bons droits à l'installation :
|
||||
|
||||
```bash
|
||||
chown -R www-data:www-data ./
|
||||
```
|
||||
|
||||
Rendez-vous maintenant dans votre navigateur pour terminer l'installation.
|
||||
Tout d'abord, créons un nouvel utilisateur dans MySQL, [comme indiqué précédemment](https://web.archive.org/web/20121007072220/http://ingnu.fr/2012/02/07/installation-dun-serveur-http-https/).
|
||||
Nommez-le _Agenda_, par exemple, et générez un mot de passe.
|
||||
Mettez toujours "_localhost_" quand phpMyAdmin vous demande l'hôte lors de la création d'un utilisateur, parce que nous n'allons pas ouvrir notre serveur MySQL sur l'extérieur.
|
||||
Enfin, pensez à cocher la case correspondante à la création d'une base de données portant le nom de cet utilisateur.
|
||||
|
||||
Munissez-vous du nom d'utilisateur (_Agenda_) et du mot de passe que vous avez choisi, puis allez sur la page principale de Horde (`http://agenda.exemple.fr`).
|
||||
|
||||
Si vous n'êtes pas redirigé automatiquement, allez dans le menu de gauche, _Administration_ > _Configuration_, puis cliquez sur _Horde_.
|
||||
|
||||
Avant de configurer quoique ce soit d'autre, allez sur l'onglet "_Database_", et remplissez les champs comme suit :
|
||||
|
||||
Et enregistrez.
|
||||
Parcourez ensuite tous les onglets de configuration, avec pour objectif bien sûr de personnaliser comme vous le souhaitez votre installation, mais surtout choisir comme pilote "_SQL Database_" dans tous les onglets où c'est possible (c'est à dire _Preference System_, _Alarm System_, _DataTree System_, _Groups_, _Permissions_, _Lock System_, _Token System_ et _Virtual File Storage_ - les autres onglets peuvent également demander un pilote de stockage mais on ne le configurera pas).
|
||||
|
||||
Warning : _Authentication_
|
||||
|
||||
Une fois vos préférences choisies, cliquez sur le bouton "_Générer la configuration de Horde_".
|
||||
Vous devriez ensuite revenir sur la page principale de l'administration.
|
||||
|
||||
Horde va afficher des messages d'erreurs relatifs à la base de données, en vous fournissant plusieurs boutons pour remédier au problème.
|
||||
Il vous suffit de cliquez dessus pour successivement créer la structure de la base de données, puis la peupler avec les données de base.
|
||||
Vous n'avez rien d'autre à faire que cliquer sur ces deux boutons pour que tout se mette en place tout seul !
|
||||
|
||||
On peut maintenant s'occuper de la question de l'authentification.
|
||||
|
||||
Warning : maintenant
|
||||
|
||||
```text
|
||||
cp /var/www/exemple.fr/agenda/www/config/conf.php /var/www/exemple.fr/agenda/ww/config/conf.php-orig
|
||||
```
|
||||
|
||||
Retournez dans _Administration_ > _Configuration_ > _Horde_, onglet "_Authentication_".
|
||||
Choisissez "_SQL Authentication_" dans le menu _$conf[auth][driver]_.
|
||||
Laissez "_Horde defaults_" dans le menu qui apparaitra alors.
|
||||
|
||||
Warning : _$conf[auth][admins]_
|
||||
|
||||
Vous allez créer votre propre compte utilisateur pour pouvoir vous servir de Kronolith.
|
||||
Actuellement, Horde vous a "auto-identifié" en tant qu'_Administrator_, donc sans mot de passe.
|
||||
En passant par le pilote SQL pour l'authentification, on est dans l'obligation de créer un nouveau compte, faute de quoi vous ne pourrez jamais vous connecter à Horde...
|
||||
|
||||
Donc indiquez le nom d'utilisateur que vous allez créer dans la zone de texte _$conf[auth][admin]_ en haut de la page, et cliquez sur le bouton pour générer la configuration de Horde.
|
||||
|
||||
Allez ensuite immédiatement dans _Administration_ > _Utilisateurs_, et créez ce fameux nouveau compte.
|
||||
Une fois fait, vous pouvez vous déconnecter, puis vous reconnecter avec ce nouveau compte, sans perdre votre statut d'administrateur.
|
||||
|
||||
Important : _Administrator_
|
||||
|
||||
```text
|
||||
cp /var/www/exemple.fr/agenda/www/config/conf.php-orig /var/www/exemple.fr/agenda/www/conf.php
|
||||
```
|
||||
|
||||
Une fois que vous êtes connecté avec votre nouveau compte utilisateur, on peut passer à l'installation de Kronolith.
|
||||
|
||||
## Kronolith
|
||||
|
||||
Si vous n'y êtes pas, retournez dans la racine du site :
|
||||
|
||||
```bash
|
||||
cd /var/ww/exemple.fr/agenda/www
|
||||
```
|
||||
|
||||
L'installation de Kronolith est on ne peut plus simple :
|
||||
|
||||
```bash
|
||||
pear install -a -B horde/kronolith
|
||||
chown -R www-data:www-data ./
|
||||
```
|
||||
|
||||
Il vous suffit alors d'aller sur la page d'administration de Horde : _Administration_ > _Configuration_, pour mettre à jour les tables correspondantes à Kronolith.
|
||||
|
||||
Vérifiez ensuite la configuration de Kronolith (_Administration_ > _Configuration_ > _Kronolith_), puis enregistrez-la.
|
||||
Kronolith est prêt.
|
||||
|
||||
## Configuration et personnalisation
|
||||
|
||||
En l'état, tout fonctionne, mais rien n'est personnalisé.
|
||||
Il me sera impossible de détailler chaque option de configuration tant il y en a.
|
||||
Mais la grande force de Horde, c'est que ça marche "out-of-the-box".
|
||||
Après, farfouiller dans les options, c'est plus pour peaufiner, et se créer un fichier de configuration aux oignons.
|
||||
Cependant, je vous donne tout de même quelques pistes.
|
||||
|
||||
Pour commencer, nous avons installé Horde et Kronolith pour servir de calendrier partagé.
|
||||
Horde vous laisse le choix de l'application à ouvrir au démarrage.
|
||||
Allez dans _Préférences_ > _Préférences globales_ > _Afficher les préférences_.
|
||||
Là, le premier menu vous permet de choisir l'application à présenter après la connexion.
|
||||
Choisissez "_Agenda_".
|
||||
|
||||
Ensuite, sachez qu'il est possible d'afficher des agendas distants, dans de nombreux formats.
|
||||
Vous le verrez en allant dans Organisation > Agenda.
|
||||
Vous pouvez créer autant d'agenda que vous voulez, et surtout, vous pouvez les partager.
|
||||
|
||||
Si vous envisagez de créer plusieurs utilisateurs, chacun aura la possibilité de choisir avec qui il veut partager l'un ou l'autre de ses agendas.
|
||||
|
||||
Sachez aussi que vous pouvez importer un agenda iCal existant, autrement dit, rien ne vous empêche de récupérer vos calendriers Google actuels pour les importer dans Kronolith.
|
||||
|
||||
Pour aller plus loin avec les évènements, Horde est capable de gérer bien des webservices.
|
||||
Leur configuration se trouve (vous l'aurez sans doute remarqué) sur la page principale de la configuration de Horde.
|
||||
|
||||
## Plusieurs instances de Horde
|
||||
|
||||
Nous avons suivi la procédure pour installer une unique instance globale de Horde : il vous sera impossible de créer un nouvel hôte virtuel, et y installer Horde de la même façon.
|
||||
|
||||
Si vous avez suivi cette procédure et que finalement vous décidez que vous avez besoin d'avoir plusieurs instances de Horde, vous devrez supprimer l'instance actuelle.
|
||||
|
||||
Pour supprimer Horde, utilisez la commande suivante :
|
||||
|
||||
```bash
|
||||
pear uninstall `pear list -c horde | tail -n +4 | awk '{ print "horde/"$1 }'`
|
||||
```
|
||||
|
||||
Placez-vous à la racine du domaine agenda :
|
||||
|
||||
```bash
|
||||
cd /var/www/exemple.fr/agenda
|
||||
```
|
||||
|
||||
Exécutez ensuite les commandes suivantes pour installer les bibliothèques :
|
||||
|
||||
```bash
|
||||
pear config-create /var/www/exemple.fr/agenda/ /var/www/exemple.fr/agenda/pear.conf
|
||||
pear -c /var/www/exemple.fr/agenda/pear.conf install pear
|
||||
```
|
||||
|
||||
Installez ensuite Horde, depuis la nouvelle instance de PEAR :
|
||||
|
||||
```bash
|
||||
/var/www/exemple.fr/agenda/pear/pear -c /var/www/exemple.fr/agenda/pear.conf channel-discover pear.horde.org
|
||||
```
|
||||
|
||||
Puis :
|
||||
|
||||
```bash
|
||||
/var/www/exemple.fr/agenda/pear/pear -c /var/www/exemple.fr/agenda/pear.conf install horde/horde_role
|
||||
/var/www/exemple.fr/agenda/pear/pear -c /var/www/exemple.fr/agenda/pear.conf run-scripts horde/horde_role
|
||||
```
|
||||
|
||||
Cette fois, quand le script vous demandera où installer Horde, spécifiez le chemin de fichier complet :
|
||||
|
||||
```text
|
||||
/var/www/exemple.fr/agenda/www
|
||||
```
|
||||
|
||||
Il reste encore à informer apache de l'emplacement des bibliothèques.
|
||||
Créez ou modifiez le fichier.htaccess du site :
|
||||
|
||||
```bash
|
||||
nano /var/www/exemple.fr/agenda/www/.htaccess
|
||||
```
|
||||
|
||||
```text
|
||||
php_value include_path /var/www/exemple.fr/pear/php
|
||||
SetEnv PHP_PEAR_SYSCONF_DIR /var/www/exemple.fr/agenda
|
||||
```
|
||||
|
||||
## Une seule instance de Horde, plusieurs applications
|
||||
|
||||
Vous pouvez bien entendu utiliser IMP à la place de [RoundCube](https://web.archive.org/web/20121007072220/http://ingnu.fr/2012/02/07/installation-dun-serveur-http-https/) pour consulter vos messages, et accéder à Kronolith depuis la même instance de Horde, tout en gérant un wiki intégré, etc.
|
||||
Le nombre et la qualité des applications écrites avec Horde est sans pareil, et sont toutes intégrées les unes aux autres.
|
||||
Vous pourriez donc avoir envie d'utiliser Horde et pas seulement avec Kronolith.
|
||||
|
||||
Dans ce cas, la seule chose à changer dans notre procédure sera de trouver un nom de domaine plus adéquat que "_agenda.exemple.fr_" !
|
||||
Après, la méthode d'installation et les commandes sont pratiquement les mêmes, quelle que soit l'application à installer.
|
||||
|
||||
Juste pour vous donner envie, sachez que parmi les applications intégrées à Horde, vous trouverez :
|
||||
|
||||
- IMP, le client de messagerie
|
||||
- Kronolith, l'agenda partagé
|
||||
- Nag, le gestionnaire de tâches
|
||||
- Mnemo, le gestionnaire de notes
|
||||
- Turba, le gestionnaire de contacts (lui aussi très impressionnant par son interopérabilité)
|
||||
- Ingo, le gestionnaire de filtres (capable de gérer du procmail, du sieve, du maildrop, etc.)
|
||||
- Gollem, le gestionnaire de fichiers (capable de se connecter à un partage samba ou nfs distant, en ssh, en FTP, etc.)
|
||||
- Ansel, la galerie photos
|
||||
- etc. etc.
|
||||
|
||||
Si vous avez suivi la première partie de ce tutoriel, pour installer Horde avec Kronolith dans une instance globale, je suis persuadé que vous allez mourir d'envie d'essayer les autres applications.
|
||||
Et vous aurez bien raison : Horde est tout simplement la meilleure application web au monde (remarque tout à fait personnelle...)
|
||||
@@ -0,0 +1,3 @@
|
||||
description: "Couverture originale créée localement pour accompagner la republication de l'article Si j'étais président."
|
||||
attribution: "Codex"
|
||||
prompt: "Illustration abstraite éditoriale pour un billet d'opinion informatique, avec panneaux, lignes structurelles et ambiance rétro-web 2012, sans texte, sans logo."
|
||||
|
After Width: | Height: | Size: 88 KiB |
@@ -0,0 +1,52 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/517
|
||||
cover: images/cover.png
|
||||
date: '2012-02-07 03:34:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120221062015/http://ingnu.fr/2012/02/07/si-jetais-president/
|
||||
title: Si j'étais président
|
||||
weather:
|
||||
humidity: 55
|
||||
illuminance: 0.0
|
||||
precipitations: false
|
||||
pressure: 1028.7
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: -12.4
|
||||
wind_direction: 45
|
||||
wind_speed: 10.2
|
||||
---
|
||||
|
||||
Fort de ma nouvelle autorité, je commencerai par montrer au peuple français mon réalisme. Il est impossible de s'imaginer les problèmes du peuple sans soi-même faire partie du peuple. Or, le peuple ne se vautre pas dans la luxure. Le salaire français moyen est légèrement supérieur à 1000€. Comment peut-on comprendre son peuple quand soi-même on gagne près de 20 fois plus? Comment peut-on savoir si toutes les taxes qu'on impose à un pays peuvent être déboursées par ses citoyens?
|
||||
|
||||
Ma première action consiste à réduire significativement mon salaire de "dirigeant "du peuple français. Un salaire de 20 000€ mensuels n'est qu'une apparence, un artifice. Cela ne sert qu'à montrer le pouvoir qu'on a sur son peuple. Je déciderai donc de porter mon salaire à 1000€ nets mensuels. Après tout, un "Président "de la république dispose manifestement de bon nombre d'autres avantages. Inutile de gagner plus.
|
||||
|
||||
Ma seconde action va être de changer la terminologie du chef du gouvernement. "Président "me semble être doté d'une connotation négative, inspirant la supériorité, l'assise d'un pouvoir sur le peuple. En tant que nouveau chef d'État, je me considère comme le guide du peuple français. Sans majuscule. Parce que si je suis à la tête des français aujourd'hui, c'est pour les guider vers des jours meilleurs.
|
||||
|
||||
Ma troisième action va consister à supprimer tous les élus, tous les représentants du peuple. Je supprime les maires, les députés, les sénateurs. Je veux redonner le pouvoir aux français. Je veux que les français participent à nouveau activement à la vie politique du pays. Je crois que si les bureaux de votes se vident, c'est d'une part à cause du nombre d'intermédiaires trop élevé, et d'autre part parce qu'ils ont le sentiment de ne pas être écoutés, que le gouvernement fait de toute manière ce qu'il a décidé, peu importe ce que dit le peuple.
|
||||
|
||||
Je veux instaurer une vraie démocratie. LA vraie démocratie. Je veux rendre impossible l'adoption d'une loi, d'un traité, ou d'un décret, sans le consentement du peuple français. Pour y parvenir, je mettrais en place une plateforme permettant à tout un chacun de consulter librement toute proposition qui sera faite, et d'y donner son avis. La proposition ne sera adoptée qu'en cas de majorité absolue. C'est ainsi, et seulement de cette manière, qu'un gouvernement peut être qualifié de démocratique. Pas en permettant à des intermédiaires de répondre du peuple, qui les ont choisi en fonction de campagnes coûteuses, et menées dans l'unique but de se vendre. Je suis persuadé que redonner son pouvoir à la voix des français sera une motivation suffisante pour que le vote redevienne un acte de pure volonté.
|
||||
|
||||
La réduction du salaire du chef de l'État, la suppression de ces intermédiaires, la récupération puis la revente des biens appartenant à l'État prêtés aux intermédiaires et jugés somptuaires, permettra de réaliser des économies substantielles. Et pour une fois, pas en saignant les français.
|
||||
|
||||
Ma quatrième action sera l'arrêt pur et simple de la coopération avec toute entreprise ou organisme dont les méthodes ou les convictions vont à l'encontre de la liberté de l'individu, qu'il soit français ou résident de pays étranger. Il est intolérable que notre ancien gouvernement ait pu tisser des liens avec des entreprises fournissant des solutions informatiques à des chefs d'États leur permettant d'espionner leur peuple.
|
||||
|
||||
Par extension, je supprime tout organisme étatique voué à la seule sécurité du gouvernement au mépris de son peuple. Je récupère une France scindée en deux: le peuple se sent aujourd'hui oppressé, menacé par ses dirigeants, alors que le rôle de tout gouvernement est de protéger son peuple, et il en a toujours été ainsi. Nous vivons des jours sombres, où les peuples n'ont plus aucune estime de leur chef d'État; pire encore, ils le craignent. Tous ne s'avouent pas dictateur, et pourtant, tous sont manipulés par la possession et la richesse.
|
||||
|
||||
Je supprime donc la Hadopi, et tous ses employés. Je supprime tout lien avec la société Amesys, et avec toutes les autres entreprises avec lesquelles notre ancien gouvernement a pu être en relation, et dont les activités sont en désaccord avec les droits fondamentaux de l'Homme.
|
||||
|
||||
Je supprime également toutes les taxes injustifiées, illégales, immorales, et inutiles. Après tout, les économies réalisées sur la suppression des intermédiaires et la forte réduction de mon salaire et de mes avantages ne peuvent que conduire à une réduction du poids fiscal sur le peuple français. Comment notre ancien gouvernement a-t-il pu se rincer sur le dos de son peuple? Comment peut-on faire preuve d'aussi peu de respect envers le peuple qui l'a choisi?
|
||||
|
||||
Parmi les taxes dont je parle, j'évoque notamment les taxes sur les carburants, sur les produits de grande consommation, mais aussi la taxe sur la copie privée, absolument inutile et injustifiée. De quel droit l'État taxe-t-il un produit sur lequel il n'a aucun pouvoir décisionnel? Est-ce que le gouvernement participe à la fabrication du lait? À celle de l'essence? Pourquoi l'État devrait encore toucher presque 50% du prix de vente du pétrole, alors qu'il ne l'extrait pas, ni ne le raffine, ni ne le transporte? De quel droit l'État s'arroge-t-il presque 50% du salaire de ses citoyens, répartis entre impôts, taxes, cotisations obligatoires, etc.? Jusqu'aujourd'hui, qu'a exactement fait l'État pour mériter une telle somme?
|
||||
|
||||
Je compte mettre en place une forme de méritocratie. Le rôle du gouvernement est de protéger son peuple. Pas seulement en cas de guerre, mais aussi quand d'autres gouvernements s'attaquent à son intégrité. Et par intégrité, j'entends liberté individuelle. La liberté de vivre, de s'exprimer, de s'indigner, d'être heureux, insouciant, concerné. La liberté d'écrire, de composer, de développer. La liberté d'accéder à toute forme de culture ou de science.
|
||||
|
||||
Car c'est en partageant culture et sciences que les civilisations, que LA civilisation humaine a pu se développer, grandir, survivre, jusqu'à conquérir les océans et les étoiles. Notre ancien gouvernement a tout tenté pour empêcher le partage libre de la culture et de la science. Notre ancien gouvernement estimait que certaines civilisations valaient mieux que d'autres. Je crois que c'est précisément ce manque de discernement qui a causé la chute des anciennes civilisations, et des plus grandes. Je crois que c'est la soif de pouvoir et de richesses qui a causé leur déclin. Et c'est précisément ce dans quoi tombent les dirigeants de notre époque.
|
||||
|
||||
Après tant d'oppression, tant de mal causé aux peuples, tant de viols de leur liberté et de leur intégrité, il ne peut y avoir qu'un avenir radieux, parce que désormais, il ne peut plus y avoir que des dirigeants bons avec leurs peuples. Et c'est ce à quoi je vais m'employer.
|
||||
|
||||
Pour y parvenir, je l'ai dis, le peuple français aura la parole sur toute décision politique; les intermédiaires seront supprimés, tout comme les lois, les organismes et les entreprises allant à l'encontre des libertés; la culture et la science seront libres d'accès à tous: tout le monde pourra contribuer au savoir et à la connaissance. Et je me ferai un devoir d'inciter les autres gouvernements à suivre la même voie, et d'insister jusqu'à leur faire entendre raison. Et si ces gouvernements restent intangibles, nous accueillerons ceux qui veulent vivre libres.
|
||||
|
||||
Peut-être suis-je utopiste. Peut-être que vous vous dites que jamais je n'y arriverai. Je pense que la liberté des Hommes vaut bien qu'on essaye. Nous avons longtemps critiqué les chefs d'État, sans vraiment proposer d'alternative, ou, quand on le faisait, elles étaient rejetées. Voulez-vous réellement sacrifier un espoir de retrouver notre liberté, simplement parce que la tâche parait trop ardue? En ce qui me concerne, et en tant que guide, j'ai la force de tenter ma chance, parce que je crois encore en l'Homme, et je crois qu'il est encore capable de bonnes choses.
|
||||
@@ -0,0 +1,324 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/519
|
||||
date: '2012-02-08 00:34:00'
|
||||
dossier:
|
||||
- Créer son propre Cloud
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120221004509/http://ingnu.fr/2012/02/08/communiquer-via-xmpp/
|
||||
tags:
|
||||
- Prosody
|
||||
- XMPP
|
||||
title: Communiquer via XMPP
|
||||
weather:
|
||||
humidity: 68
|
||||
illuminance: 0.0
|
||||
precipitations: false
|
||||
pressure: 1028.9
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: -10.5
|
||||
wind_direction: 57
|
||||
wind_speed: 17.7
|
||||
weight: 7
|
||||
---
|
||||
|
||||
On utilise le protocole [XMPP](https://web.archive.org/web/20120221004509/http://xmpp.org/) notamment dans des applications de messagerie instantanées, mais son ouverture permet de l'embarquer dans à peu près tout type d'applications, y compris des réseaux sociaux.
|
||||
|
||||
Nous allons installer sur notre cloud personnel un serveur XMPP, qui, bien sûr, va nous permettre de communiquer avec le monde entier, mais dont nous nous servirons également à d'autres fins...
|
||||
|
||||
Nous exploiterons le serveur [prosody](https://web.archive.org/web/20120221004509/http://prosody.im/), et son serveur [BOSH](https://web.archive.org/web/20120221004509/http://fr.wikipedia.org/wiki/BOSH), qui va nous permettre de faire appel à une application web pour avoir son propre webchat et créer sa propre communauté.
|
||||
En outre, nous nous en servirons dans un prochain article consacré à un remplaçant pour Google+/facebook/twitter.
|
||||
|
||||
Depuis que j'écris [cette série d'articles consacrés au cloud personnel](https://web.archive.org/web/20120221004509/http://ingnu.fr/category/creer-son-propre-cloud/), j'essaye de proposer des guides mettant en place des solutions évolutives.
|
||||
Notre [serveur mail](https://web.archive.org/web/20120221004509/http://ingnu.fr/2012/02/06/installation-de-son-propre-serveur-mail/) est capable d'accueillir une infinité (virtuelle) de domaines et d'utilisateurs par exemple.
|
||||
J'appliquerai le même principe à prosody : vous pourrez disposer d'un nombre illimité de comptes sur un nombre illimité de domaines.
|
||||
|
||||
L'installation de prosody ne pose aucun problème, à condition de configurer le dépôt :
|
||||
|
||||
```bash
|
||||
echo "deb http://packages.prosody.im/debian stable main" > /etc/apt/sources.list.d/prosody.list
|
||||
apt-get update
|
||||
apt-get install prosody-0.9 liblua5.1-0 liblua5.1-dbi0 liblua5.1-expat0 liblua5.1-filesystem0 liblua5.1-sec0 liblua5.1-socket2 lua-zlib lua5.1
|
||||
```
|
||||
|
||||
Nous utiliserons notre base de données MySQL pour stocker les données de prosody.
|
||||
On va donc devoir créer un utilisateur dédié, que nous nommerons par exemple _XMPP_.
|
||||
[Procédez comme d'habitude](https://web.archive.org/web/20120221004509/http://ingnu.fr/2012/02/07/installation-dun-serveur-http-https/) (générez le mot de passe, définissez l'hôte comme étant "_localhost_", et créez la base de données portant le même nom).
|
||||
|
||||
## Configuration
|
||||
|
||||
On va se passer de la configuration par défaut :
|
||||
|
||||
```bash
|
||||
cd /etc/prosody
|
||||
/etc/init.d/prosody stop
|
||||
mv prosody.cfg.lua prosody.cfg.lua-orig
|
||||
rm conf.avail/* conf.d/*
|
||||
nano prosody.cfg.lua
|
||||
```
|
||||
|
||||
```text
|
||||
storage = "sql"
|
||||
sql = {
|
||||
driver = "MySQL";
|
||||
database = "XMPP";
|
||||
host = "localhost";
|
||||
username = "XMPP";
|
||||
password = "VotreMotDePasse";
|
||||
}
|
||||
|
||||
admins { "contact@exemple.fr" }
|
||||
|
||||
modules_enabled = {
|
||||
"roster";
|
||||
"saslauth";
|
||||
"dialback";
|
||||
"disco";
|
||||
"tls";
|
||||
"private";
|
||||
"vcard";
|
||||
"compression";
|
||||
"legacyauth";
|
||||
"version";
|
||||
"uptime";
|
||||
"time";
|
||||
"ping";
|
||||
"pep";
|
||||
"register";
|
||||
"privacy";
|
||||
"posix";
|
||||
"bosh";
|
||||
"groups";
|
||||
"announce";
|
||||
"watchregistrations";
|
||||
};
|
||||
|
||||
bosh_ports { "http-bind" }
|
||||
cross_domain_bosh = true
|
||||
|
||||
allow_registration = true;
|
||||
|
||||
log = {
|
||||
{ levels = { "error" }; to = "syslog"; };
|
||||
{ levels = { "error" }; to = "file"; filename = "/var/log/prosody/prosody.err"; };
|
||||
{ levels = { min = "info" }; to = "file"; filename = "/var/log/prosody/prosody.log"; };
|
||||
}
|
||||
|
||||
pidfile = "/var/run/prosody/prosody.pid"
|
||||
|
||||
Include "/etc/prosody/conf.d/*.lua"
|
||||
```
|
||||
|
||||
Quelques remarques :
|
||||
|
||||
- La directive _admins_ permet de renseigner prosody des comptes autorisés à accéder aux fonctions d'administrations. Vous devez y mettre l'adresse du compte que vous allez prochainement vous créer. Cette directive permet notamment, grâce au module _watchregistrations_ d'être tenu informé via message instantané de la création de nouveaux comptes, ce qui est utile si vous affectez la valeur _true_ à la directive _allow_registration_. Si vous ne souhaitez pas autoriser les "étrangers"à s'enregistrer sur votre serveur XMPP, supprimez la ligne"_watchregistrations_" et affectez la valeur _false_ à la directive _allow_registration_
|
||||
- L'installation par défaut n'inclue pas la directive _Include_ à la fin du fichier
|
||||
|
||||
Créons ensuite notre premier hôte virtuel :
|
||||
|
||||
```text
|
||||
nano conf.avail/exemple.fr.cfg.lua
|
||||
```
|
||||
|
||||
```text
|
||||
VirtualHost "exemple.fr"
|
||||
enabled = true
|
||||
|
||||
ssl = {
|
||||
key = "/scripts/certificate_authority/prosody/exemple.fr.key";
|
||||
certificate = "/scripts/certificate_authority/prosody/exemple.fr.crt";
|
||||
}
|
||||
|
||||
Component "conference.exemple.fr" "muc"
|
||||
```
|
||||
|
||||
Vu que nous définissons une clé et un certificat, il faut les créer :
|
||||
|
||||
```bash
|
||||
/scripts/certificate_authority/make_request prosody exemple.fr
|
||||
/scripts/certificate_authority/sign_request prosody exemple.fr
|
||||
```
|
||||
|
||||
Warning : Lorsque le _Common Name_ vous sera demandé, indiquez le nom de domaine !
|
||||
Et dans notre cas, acceptez la création d'une clé sans mot de passe !
|
||||
|
||||
De la même manière que la commande _a2ensite_ fournie par apache créé un lien symbolique depuis _/etc/apache2/sites-available/_ vers _/etc/apache2/sites-enabled/_ pour l'hôte virtuel concerné, il faut activer les hôtes virtuels dans prosody.
|
||||
Malheureusement, il n'existe pas de commande du même genre, il faut donc créer ce lien à la main :
|
||||
|
||||
```bash
|
||||
ln -s conf.avail/exemple.fr conf.d/exemple.fr
|
||||
```
|
||||
|
||||
On peut redémarrer prosody :
|
||||
|
||||
```bash
|
||||
/etc/init.d/prosody start
|
||||
```
|
||||
|
||||
Et créer votre premier utilisateur :
|
||||
|
||||
```bash
|
||||
prosodyctl adduser contact@exemple.fr MotDePasse
|
||||
```
|
||||
|
||||
Une fois fait, retournez dans phpMyAdmin pour vérifier que l'utilisateur a été correctement enregistré en base de données.
|
||||
|
||||
## Firewall
|
||||
|
||||
```bash
|
||||
nano /scripts/firewall
|
||||
```
|
||||
|
||||
Entre les lignes :
|
||||
|
||||
```text
|
||||
##### Configuration personnalisée #####
|
||||
```
|
||||
|
||||
Et :
|
||||
|
||||
```text
|
||||
##### Fin : Configuration personnalisée #####
|
||||
```
|
||||
|
||||
Rajoutez les lignes suivantes :
|
||||
|
||||
```text
|
||||
${IPT} -A SERVICES -p tcp --dport 5222 -j ACCEPT
|
||||
${IPT} -A SERVICES -p tcp --dport 5269 -j ACCEPT
|
||||
```
|
||||
|
||||
N'oubliez pas de relancer le script :
|
||||
|
||||
```bash
|
||||
/scripts/firewall
|
||||
```
|
||||
|
||||
## DNS
|
||||
|
||||
Éditons le fichier de configuration de notre zone :
|
||||
|
||||
```bash
|
||||
nano /etc/bind/db.exemple.fr
|
||||
```
|
||||
|
||||
Modifiez l'identifiant du fichier de configuration, comme d'habitude, puis ajoutez les lignes suivantes à la fin du fichier :
|
||||
|
||||
```text
|
||||
_xmpp-client._tcp 86400 IN SRV 20 0 5222 exemple.fr.
|
||||
_xmpp-server._tcp 86400 IN SRV 20 0 5269 exemple.fr.
|
||||
```
|
||||
|
||||
Et redémarrez bind :
|
||||
|
||||
```bash
|
||||
/etc/init.d/bind9 restart
|
||||
```
|
||||
|
||||
Votre serveur est prêt, fonctionnel, et accessible de l'extérieur.
|
||||
|
||||
## Installation d'un client XMPP
|
||||
|
||||
Il existe une grande variété de clients XMPP, qui s'installent tous très facilement : jetez un oeil à la logithèque de votre distribution préférée pour en trouver.
|
||||
[Une liste est disponible](https://web.archive.org/web/20120221004509/http://xmpp.org/xmpp-software/clients/) sur le site officiel du protocole XMPP.
|
||||
Parmi les plus répandus sous GNU/Linux on citera [pidgin](https://web.archive.org/web/20120221004509/http://www.pidgin.im/), [empathy](https://web.archive.org/web/20120221004509/http://live.gnome.org/Empathy), ou encore [kopete](https://web.archive.org/web/20120221004509/http://kopete.kde.org/).
|
||||
|
||||
## Installation du webchat
|
||||
|
||||
Nous installerons [Jappix](https://web.archive.org/web/20120221004509/https://project.jappix.com/).
|
||||
Il va nous permettre un certain nombre de choses, et notamment tester le serveur BOSH.
|
||||
Pour commencer, on va créer un nouveau sous-domaine :
|
||||
|
||||
```bash
|
||||
mkdir-p /var/www/exemple.fr/xmpp/{www,log}
|
||||
nano /etc/apache2/sites-available/xmpp.exemple.fr
|
||||
```
|
||||
|
||||
```text
|
||||
<VirtualHost *:80>
|
||||
ServerName xmpp.exemple.fr.fr
|
||||
Redirect / https://xmpp.exemple.fr/
|
||||
</VirtualHost>
|
||||
|
||||
<VirtualHost *:443>
|
||||
ServerName xmpp.exemple.fr
|
||||
|
||||
DocumentRoot /var/www/exemple.fr/xmpp/www
|
||||
|
||||
SSLEngine On
|
||||
SSLCertificateFile /scripts/certificate_authority/xmpp.exemple.fr.crt
|
||||
SSLCertificateKeyFile /scripts/certificate_authority/xmpp.exemple.fr.key
|
||||
|
||||
ProxyPass /http-bind/ http://127.0.0.1:5280/http-bind/
|
||||
ProxyPassReverse /http-bind/ http://127.0.0.1:5280/http-bind/
|
||||
Header set Access-Control-Allow-Origin "*"
|
||||
</VirtualHost>
|
||||
```
|
||||
|
||||
Comme d'habitude lors de la création d'un site sécurisé, on créé la paire clé/certificat :
|
||||
|
||||
```bash
|
||||
/scripts/certificate_authority/make_request apache xmpp.exemple.fr
|
||||
/scripts/certificate_authority/sign_request apache xmpp.exemple.fr
|
||||
chown www-data:www-data /scripts/certificate_authority/apache/*
|
||||
```
|
||||
|
||||
Warning : Lorsque le _Common Name_ vous sera demandé, indiquez le nom de domaine !
|
||||
Et dans notre cas, acceptez la création d'une clé sans mot de passe !
|
||||
|
||||
```bash
|
||||
a2ensite xmpp.exemple.fr
|
||||
/etc/init.d/apache2 restart
|
||||
```
|
||||
|
||||
On télécharge et on installe Jappix :
|
||||
|
||||
```bash
|
||||
cd /usr/src
|
||||
wget http://codingteam.net/project/jappix/download/file/jappix-spaco-0.9.zip
|
||||
unzip jappix-spaco-0.9.zip
|
||||
```
|
||||
|
||||
Important : Si vous n'avez pas encore installé le paquet _unzip_ et que vous avez une erreur lors de la décompression de l'archive, installez-le :
|
||||
|
||||
```text
|
||||
apt-get install unzip
|
||||
```
|
||||
|
||||
```bash
|
||||
cp -Rv jappix/* /var/www/exemple.fr/xmpp/www/
|
||||
chown -R www-data:www-data
|
||||
```
|
||||
|
||||
Et accédez au site pour le configurer, via `http://xmpp.exemple.fr`.
|
||||
|
||||
La première étape va être de créer l'utilisateur administrateur, alors laissez-vous guider par l'assistant.
|
||||
Vous avez ensuite accès à d'autres options, et particulièrement les hôtes, que vous configurerez comme suit :
|
||||
|
||||
| Hôte principal | exemple.fr |
|
||||
| -------------- | ------------------------------------ |
|
||||
| Hôte de salons | conference.exemple.fr |
|
||||
| Hôte pubsub | pubsub.exemple.fr |
|
||||
| Hôte BOSH | `https://xmpp.exemple.fr/http-bind/` |
|
||||
|
||||
Pensez également à configurer la variable "_Salons à rejoindre_"de l'onglet"_Configuration_", en spécifiant le nom d'un salon quelconque, sous la forme *salon@conference.exemple.fr*.
|
||||
Cochez également les cases relatives au chiffrement et au HTTPS, et la case "_Lien du gestionnaire_".
|
||||
Enfin, décochez la case "_Verrouiller l'hôte_" si vous souhaitez que des comptes non gérés par votre serveur puissent se connecter.
|
||||
|
||||
## Tests
|
||||
|
||||
Testez ensuite une première fois la connexion, en cliquant sur le bouton "_Fermer_" tout en haut à droite.
|
||||
Vous pourrez ensuite revenir à l'interface de configuration depuis le lien "_Gestionnaire_".
|
||||
Cliquez sur le gros bouton "_Connexion_", indiquez vos identifiants (par exemple, *contact@exemple.fr*) et votre mot de passe.
|
||||
La connexion devrait être immédiate.
|
||||
|
||||
Si ce n'est pas le cas, c'est probablement une question de connexion sécurisée.
|
||||
Consultez les fichiers journaux de prosody et apache pour tenter de déterminer d'où vient le problème.
|
||||
|
||||
Important : Le second test est optionnel : il devrait être effectué si vous permettez à des clients qui n'existent pas sur votre serveur de se connecter.
|
||||
|
||||
Si vous avez réussi à vous connecter, nous allons procéder à un second test, visant à vérifier le bon fonctionnement du serveur BOSH pour les clients externes.
|
||||
Si vous disposez déjà d'un compte XMPP ailleurs que sur votre propre serveur, essayez de vous connecter avec ces identifiants.
|
||||
Sinon, vous pouvez vous créer rapidement une adresse sur le site [jabber.org](https://web.archive.org/web/20120221004509/http://register.jabber.org/).
|
||||
@@ -0,0 +1,700 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/520
|
||||
date: '2012-02-12 20:36:00'
|
||||
dossier:
|
||||
- Créer son propre Cloud
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120422043827/http://ingnu.fr/2012/02/12/une-alternative-a-dropbox/
|
||||
tags:
|
||||
- Apache
|
||||
- Gollem
|
||||
- Horde
|
||||
- Unison
|
||||
- WebDAV
|
||||
title: Une alternative à Dropbox
|
||||
weather:
|
||||
humidity: 56
|
||||
illuminance: 0.0
|
||||
precipitations: false
|
||||
pressure: 1025.6
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: -7.7
|
||||
wind_direction: 103
|
||||
wind_speed: 6.3
|
||||
weight: 10
|
||||
---
|
||||
|
||||
Stocker des données personnelles après d'un prestataire comme Dropbox (ou dans un autre esprit, MegaUpload) est dangereux, et l'actualité nous l'a clairement montré : la fermeture arbitraire du service entraîne non seulement l'inaccessibilité de vos données, mais en plus, dans le cadre d'une opération anti-piratage, cela peut conduire également à la suppression de ces données, de manière tout aussi arbitraire.
|
||||
|
||||
La solution est une fois de plus évidente : héberger chez soi un tel service.
|
||||
|
||||
Ce que je vais vous proposer va faire grincer des dents ceux qui espèrent lire un tutoriel sur l'installation de [SparkleShare](https://web.archive.org/web/20120422043827/http://sparkleshare.org/) ou [OwnCloud](https://web.archive.org/web/20120422043827/http://owncloud.org/) (d'autres existent bien sûr).
|
||||
Je n'en ferai rien.
|
||||
Mais avant de quitter mon site frustré, laissez-moi juste expliquer mes arguments.
|
||||
|
||||
SparkleShare et OwnCloud sont relativement jeunes.
|
||||
Or, on est censés leur confier des données personnelles, qui, a priori, ne peuvent se permettre d'être corrompues ou insécurisées.
|
||||
La jeunesse de ces applications fait que, selon moi, elles présentent des risques de sécurité et de fiabilité.
|
||||
|
||||
D'autre part, cela nécessite parfois d'installer des dépendances exotiques ou non-libres : SparkleShare requiert mono.
|
||||
Quant à OwnCloud, son manque de fonctionnalités (dû à sa jeunesse encore une fois) n'en fait pas une solution idéale pour le moment.
|
||||
|
||||
Enfin, l'objectif de cette série de tutoriels est aussi de respecter ce qui est probablement le plus célèbre des paradigmes unix : une application pour chaque tâche.
|
||||
Ce qui veut dire que dans cet article nous verrons comment synchroniser nos documents entre plusieurs machines et proposer un accès générique à ces documents, tandis que dans les prochains articles, nous installerons des applications répondant à des besoins spécifiques, comme la gestion de galeries de photos par exemple.
|
||||
|
||||
Ce que je veux, c'est remplir toutes les fonctionnalités attendues d'un tel système, en utilisant uniquement des solutions logicielles éprouvées, standards, ne faisant appel à aucune dépendance exotique supplémentaire qui viendrait ralentir le serveur entier.
|
||||
En d'autres termes, ma solution convient tout aussi bien aux petits serveurs pas chers qui ne proposent pas une puissance de calcul importante ou un espace disque conséquent, qu'aux serveurs moins modestes capables de faire bien d'autres choses.
|
||||
|
||||
Si vous avez tenu jusque là, alors rappelons ce qu'un système tel que Dropbox propose :
|
||||
|
||||
- Un espace de stockage accessible depuis n'importe où
|
||||
- Transferts intelligents pour économiser la bande passante
|
||||
- Partage de fichiers
|
||||
- Accès mobile
|
||||
- Stockage sécurisé
|
||||
|
||||
Rien qui ne soit pas accessible à des Logiciels Libres éprouvés !
|
||||
|
||||
## Chiffrement
|
||||
|
||||
L'intérêt de chiffrer vos données sur le disque de votre serveur peut être sujet à discussion : à quoi bon chiffrer ses données sur le disque du serveur si les communications entre vous-même et votre serveur sont déjà chiffrées ?
|
||||
D'autant que pour que vous puissiez accéder aux données, il faut qu'elles soient déjà déchiffrées sur le serveur.
|
||||
Autrement dit, avant que vous vous y connectiez.
|
||||
C'est notamment le cas lors de l'utilisation d'une partition chiffrée.
|
||||
Et s'il faut systématiquement ouvrir un shell sur le serveur pour mettre le mot de passe destiné à déchiffrer les données, cela va rapidement devenir pénible, notamment dans le cadre d'un accès depuis un Smartphone.
|
||||
|
||||
Le chiffrement des données sur le disque du serveur présente un intérêt dans le cas extrêmement improbable où quelqu'un parviendrait à obtenir un accès shell au serveur.
|
||||
Si le disque virtuel qu'on a créé n'est pas chiffré, cette personne pourra librement le consulter.
|
||||
Et si c'est l'État qui saisit votre serveur pour une raison X ou Y, vous êtes dans l'obligation de fournir les moyens nécessaires au déchiffrement du disque.
|
||||
Et si vous feintez de l'oublier, le cassage du chiffrement ne devrait pas être trop long, compte tenu du fait que la loi vous interdit d'utiliser un encodage sur plus de 1024bits.
|
||||
Dans tous les cas, le chiffrement au niveau du disque est inutile, encombrant, lourd, et contraignant.
|
||||
|
||||
Voilà mon avis personnel sur la question.
|
||||
Si vous estimez que je me trompe, libre à vous de mettre en place les nombreuses solutions de chiffrement qui s'offrent à vous.
|
||||
N'oubliez juste pas que [TrueCrypt n'est pas Libre](https://web.archive.org/web/20120422043827/http://www.truecrypt.org/legal/license) (Open Source est un terme trompeur qui ne signifie pas Libre au sens strict entendu par Richard Stallman - et moi).
|
||||
|
||||
## Accès aux données
|
||||
|
||||
Pour rappel, on n'accèdera pas directement aux fichiers stockés sur le serveur (à l'exception d'un accès par l'interface web).
|
||||
On stocke les fichiers localement, et on les synchronise avec le serveur.
|
||||
Cela permet de ne pas ralentir la machine locale qui n'a pas besoin d'attendre d'être connectée au serveur pour travailler avec les fichiers, de travailler sur les données locales même si le serveur est inaccessible et de les synchroniser une fois le serveur de retour en ligne, et d'économiser de la bande passante puisque seules les modifications sont synchronisées.
|
||||
|
||||
Pour permettre plus de souplesse, on va stocker les documents des utilisateurs dans leur répertoire personnel, et proposer un répertoire public, accessible plus exactement à tous ceux ayant un compte sur le serveur.
|
||||
|
||||
Autrement dit, tout utilisateur qui souhaite avoir ses fichiers sur notre serveur devra avoir un compte Unix local.
|
||||
Cela nous permettra de conserver, lors des synchronisations, les propriétaires, groupes et permissions appliquées à tout fichier.
|
||||
|
||||
## Accès aux données depuis Apache
|
||||
|
||||
On va installer [Gollem](https://web.archive.org/web/20120422043827/http://www.horde.org/apps/gollem) pour accéder aux fichiers depuis le navigateur.
|
||||
|
||||
Gollem est le gestionnaire de fichiers du framework Horde, que [nous avons déjà vu lors de l'installation de Kronolith](https://web.archive.org/web/20120422043827/http://ingnu.fr/2012/02/07/kronolith-une-alternative-a-google-calendar/).
|
||||
Si vous avez suivi - comme je l'expliquais - la première partie du tutoriel, vous avez dû installer Horde de manière globale.
|
||||
Vous savez donc qu'il ne sera pas possible d'installer Gollem de la même manière.
|
||||
Plusieurs options s'offrent à nous :
|
||||
|
||||
- Installer Gollem dans sa propre instance de Horde
|
||||
- Fusionner l'agenda avec le gestionnaire de fichiers (en renommant par exemple l'hôte agenda.exemple.fr)
|
||||
- Installer un autre gestionnaire de fichiers (tel que Ajaxplorer et eXtplorer)
|
||||
|
||||
Il faut savoir concernant ce dernier point que, à ma connaissance et contrairement à Gollem, les autres gestionnaires de fichiers en ligne ne permettent pas d'avoir recours à des comptes Unix, ce qui est un pré-requis pour conserver les propriétaires, groupes et droits sur les fichiers, pré-requis que nous pourrions remplir en ayant recours à une couche FTP, le gestionnaire de fichiers devenant un simple client FTP pour l'hôte local.
|
||||
Inutile, puisque nous n'utiliserons pas FTP à l'extérieur du serveur...
|
||||
|
||||
Il faut aussi savoir que si vous optez pour la deuxième solution, les personnes ayant accès à l'agenda auront aussi accès aux fichiers et vice-versa.
|
||||
|
||||
Nous retiendrons donc la première solution.
|
||||
|
||||
Nous allons créer un hôte virtuel sécurisé, comme on a maintenant l'habitude de faire, à la différence que nous allons recourir à l'authentification par certificat en plus du chiffrement.
|
||||
Cela va vous permettre de contrôler finement l'accès à vos fichiers depuis l'interface web : pour y accéder, il sera obligatoire de disposer d'un certificat client que vous seul pourrez délivrer.
|
||||
|
||||
Créons l'arborescence, puis notre hôte virtuel :
|
||||
|
||||
```bash
|
||||
mkdir -p /var/www/exemple.fr/files/{log,www}
|
||||
nano /etc/apache2/sites-available/files.exemple.fr
|
||||
```
|
||||
|
||||
```text
|
||||
<VirtualHost *:80>
|
||||
ServerName files.exemple.fr
|
||||
Redirect / https://files.exemple.fr/
|
||||
</VirtualHost>
|
||||
|
||||
<VirtualHost *:443>
|
||||
ServerName files.exemple.fr
|
||||
|
||||
DocumentRoot /var/www/exemple.fr/files/www
|
||||
|
||||
SSLEngine On
|
||||
SSLCertificateFile /scripts/certificate_authority/apache/files.exemple.fr.crt
|
||||
SSLCertificateKeyFile /scripts/certificate_authority/apache/files.exemple.fr.key
|
||||
|
||||
CustomLog /var/www/exemple.fr/files/log/access.log
|
||||
ErrorLog /var/www/exemple.fr/files/log/error.log
|
||||
|
||||
php_value include_path /var/www/exemple.fr/files/pear/php
|
||||
SetEnv PHP_PEAR_SYSCONF_DIR /var/www/exemple.fr/files
|
||||
</VirtualHost>
|
||||
```
|
||||
|
||||
Nous avons créé un hôte virtuel non sécurisé redirigeant vers un hôte virtuel sécurisé, nous avons déjà vu le principe.
|
||||
Créons maintenant les certificats :
|
||||
|
||||
```bash
|
||||
/scripts/certificate_authority/make_request apache files.exemple.fr
|
||||
/scripts/certificate_authority/sign_request apache files.exemple.fr
|
||||
chown www-data:www-data /scripts/certificate_authority/apache/*
|
||||
```
|
||||
|
||||
Warning : *Common Name*
|
||||
|
||||
On active le site, et on redémarre apache :
|
||||
|
||||
```bash
|
||||
a2ensite files.exemple.fr
|
||||
/etc/init.d/apache2 restart
|
||||
```
|
||||
|
||||
On installe ensuite notre instance de PEAR.
|
||||
|
||||
```bash
|
||||
pear config-create /var/www/exemple.fr/files/ /var/www/exemple.fr/pear.conf
|
||||
pear -c /var/www/exemple.fr/files/pear.conf install pear
|
||||
```
|
||||
|
||||
On installe Horde :
|
||||
|
||||
```bash
|
||||
/var/www/exemple.fr/files/pear/pear -c /var/www/exemple.fr/files/pear.conf channel-discover pear.horde.org
|
||||
/var/www/exemple.fr/files/pear/pear -c /var/www/exemple.fr/files/pear.conf install horde/horde_role
|
||||
/var/www/exemple.fr/files/pear/pear -c /var/www/exemple.fr/files/pear.conf run-scripts horde/horde_role
|
||||
```
|
||||
|
||||
Important : */var/www/exemple.fr/files/www*
|
||||
|
||||
```bash
|
||||
/var/www/exemple.fr/files/pear/pear -c /var/www/exemple.fr/files/pear.conf install -a -B horde/horde
|
||||
cp /var/www/exemple.fr/files/www/config/conf.php.dist /var/www/exemple.fr/files/www/config/conf.php
|
||||
chown -R www-data:www-data /var/www/exemple.fr/files
|
||||
```
|
||||
|
||||
Il reste à installer quelques dépendances :
|
||||
|
||||
```bash
|
||||
/var/www/exemple.fr/files/pear/pear -c /var/www/exemple.fr/files/pear.conf install mdb2_driver_mysql
|
||||
```
|
||||
|
||||
Créez ensuite un utilisateur MySQL (reportez-vous à [cet article](https://web.archive.org/web/20120422043827/http://ingnu.fr/2012/02/07/installation-dun-serveur-http-https/) pour le faire via phpMyAdmin) avec sa base de données.
|
||||
Donnez-lui le nom "*Gollem*" par exemple.
|
||||
|
||||
Pour pouvoir utiliser PAM (et donc les comptes Unix locaux), il faut installer le paquet correspondant :
|
||||
|
||||
```bash
|
||||
pecl install pam
|
||||
```
|
||||
|
||||
Et modifier Horde :
|
||||
|
||||
```bash
|
||||
nano /var/www/exemple.fr/files/pear/php/Horde/Auth/Pam.php
|
||||
```
|
||||
|
||||
Changez la ligne 40 :
|
||||
|
||||
```php
|
||||
if (!Horde_Util::extensionExists('pam')) {
|
||||
```
|
||||
|
||||
Pour inclure l'extension *pam_auth* :
|
||||
|
||||
```php
|
||||
if (!Horde_Util::extensionExists('pam') && !Horde_Util::extensionExists('pam_auth')) {
|
||||
```
|
||||
|
||||
Enregistrez.
|
||||
On doit encore configurer PAM pour être utilisable par Gollem.
|
||||
Tout d'abord, créons un lien symbolique qui permettra de lier le service PAM de PHP au service PAM de la machine :
|
||||
|
||||
```bash
|
||||
cd /etc/pam.d
|
||||
ln -s login php
|
||||
```
|
||||
|
||||
Ensuite, il faut que l'utilisateur d'Apache (*www-data*) ait accès au fichier */etc/shadow*.
|
||||
Simple :
|
||||
|
||||
```bash
|
||||
adduser www-data shadow
|
||||
```
|
||||
|
||||
Puis redémarrez Apache :
|
||||
|
||||
```bash
|
||||
/etc/init.d/apache2 restart
|
||||
```
|
||||
|
||||
Important : */var/log/auth.log*
|
||||
|
||||
Configurez ensuite Horde exactement de la même manière que lors de l'installation de Kronolith (là encore, reportez-vous à [cet article](https://web.archive.org/web/20120422043827/http://ingnu.fr/2012/02/07/kronolith-une-alternative-a-google-calendar/)).
|
||||
Changez seulement les paramètres relatifs à la base de données, et dans l'onglet *Authentification*, affectez la valeur *PAM (Pluggable Authentication Modules) authentication* à la directive de configuration *$conf[auth][driver]*.
|
||||
Enregistrez, mais ne vous déconnectez pas encore de l'interface d'administration (vous ne pourriez plus y revenir pour le moment).
|
||||
Installons maintenant Gollem :
|
||||
|
||||
```bash
|
||||
/var/www/exemple.fr/files/pear/pear -c /var/www/exemple.fr/files/pear.conf install -a -B horde/gollem
|
||||
```
|
||||
|
||||
Puis corrigez les droits :
|
||||
|
||||
```bash
|
||||
chown -R www-data:www-data /var/www/exemple.fr/files/
|
||||
```
|
||||
|
||||
Retournez dans Horde, dans *Administration* > *Configuration*, et générez la configuration de Gollem.
|
||||
|
||||
Il faut, en revanche, modifier à la main la configuration relative à l'accès aux données.
|
||||
|
||||
```bash
|
||||
cd /var/www/exemple.fr/files/www/gollem/config
|
||||
mv backends.php backends.php-orig
|
||||
nano backends.php
|
||||
```
|
||||
|
||||
```php
|
||||
<?php
|
||||
|
||||
$backends['documents'] = array(
|
||||
'disabled' =--> false,
|
||||
'name' => 'Documents',
|
||||
'driver' => 'ssh2',
|
||||
'hordeauth' => true,
|
||||
'params' => array(
|
||||
'hostspec' => 'localhost',
|
||||
'permissions' => '700'
|
||||
),
|
||||
'loginparams' => array(),
|
||||
'root' => '/home',
|
||||
'home' => $GLOBALS['registry']->getAuth(),
|
||||
'attributes' => array(
|
||||
'type',
|
||||
'name',
|
||||
'edit',
|
||||
'download',
|
||||
'modified',
|
||||
'size',
|
||||
'permission',
|
||||
'owner',
|
||||
'group'
|
||||
)
|
||||
);
|
||||
|
||||
$backends['public'] = array(
|
||||
'disabled' => false,
|
||||
'name' => 'Fichiers publics',
|
||||
'driver' => 'ssh2',
|
||||
'hordeauth' => true,
|
||||
'params' => array(
|
||||
'hostspec' => 'localhost',
|
||||
'permissions' => '755'
|
||||
),
|
||||
'loginparams' => array(),
|
||||
'root' => '/var/public-docs',
|
||||
'home' => '/var/public-docs',
|
||||
'attributes' => array(
|
||||
'type',
|
||||
'name',
|
||||
'edit',
|
||||
'download',
|
||||
'modified',
|
||||
'size',
|
||||
'permission',
|
||||
'owner',
|
||||
'group'
|
||||
)
|
||||
);
|
||||
```
|
||||
|
||||
On créé deux backends : une pour les documents personnels, une pour les documents publics.
|
||||
Il faut donc créer le répertoire qui va bien :
|
||||
|
||||
```bash
|
||||
mkdir /var/public-docs
|
||||
chmod -R 777 /var/public-docs
|
||||
```
|
||||
|
||||
On attribue tous les droits à ce répertoire pour que n'importe qui puisse y écrire.
|
||||
Gollem s'occupera de mettre les droits à 755 pour chaque fichiers créé, sachant que Gollem permet à tout utilisateur de modifier les droits sur ses propres fichiers.
|
||||
|
||||
Il ne reste plus qu'à tester via l'adresse `http://files.exemple.fr`.
|
||||
|
||||
Une fois que tout fonctionne, vous devriez définir un utilisateur Unix qui sera administrateur de Horde.
|
||||
|
||||
```bash
|
||||
nano /var/www/exemple.fr/files/www/config/conf.php
|
||||
```
|
||||
|
||||
Modifiez la ligne :
|
||||
|
||||
```php
|
||||
$conf['auth']['admins'] = array('Administrator');
|
||||
```
|
||||
|
||||
Et mettez à la place de *Administrator* le nom de votre utilisateur unix sur votre serveur.
|
||||
Ainsi, en vous connectant à Horde, vous aurez accès à l'interface d'administration.
|
||||
|
||||
On dispose maintenant d'un espace privé pour chaque utilisateur, d'un espace public commun, et d'un moyen d'y accéder par un navigateur.
|
||||
Je crois que le plus dur est fait !
|
||||
|
||||
## Synchronisation des données
|
||||
|
||||
Nous utiliserons [unison](https://web.archive.org/web/20120422043827/http://www.cis.upenn.edu/~bcpierce/unison/) pour synchroniser nos données.
|
||||
L'avantage procuré par unison est qu'il permet une synchronisation bidirectionnelle, tandis que rsync ne propose qu'une synchronisation unidirectionnelle.
|
||||
|
||||
Bien que l'application ne soit plus maintenue, elle reste un élément fondamental de notre système : la synchronisation bidirectionnelle est ce qui va nous permettre d'avoir partout les mêmes fichiers, qu'on les ait modifiés depuis l'interface web, une machine sous GNU/Linux, sous Windows ou sous Mac.
|
||||
|
||||
Le fait que l'application ne soit plus maintenue devient du coup un avantage.
|
||||
Nous utiliserons donc la dernière version stable : la 2.40.63.
|
||||
|
||||
Cette version se trouve dans le dépôt *testing* de Debian.
|
||||
Si vous ne souhaitez pas ajouter ce dépôt à votre configuration (autrement dit, si vous ne voulez pas vous embêter avec l'[apt pinning](https://web.archive.org/web/20120422043827/http://jaqque.sbih.org/kplug/apt-pinning.html)), vous pouvez télécharger le paquet directement depuis [cette page](https://web.archive.org/web/20120422043827/http://packages.debian.org/wheezy/unison).
|
||||
|
||||
Si c'est la voie que vous avez choisi, vous utiliserez *dpkg* :
|
||||
|
||||
```bash
|
||||
dpkg -i unison_2.40.63-2_amd64.deb
|
||||
```
|
||||
|
||||
Sinon, *apt-get* :
|
||||
|
||||
```bash
|
||||
apt-get -t testing install unison
|
||||
```
|
||||
|
||||
Sous WIndows et Mac OS, vous trouverez les binaires sur [cette page](https://web.archive.org/web/20120422043827/http://alan.petitepomme.net/unison/index.html).
|
||||
|
||||
Pour configurer unison, créons un répertoire qui lui sera dédié dans votre répertoire utilisateur, sur votre propre machine :
|
||||
|
||||
```bash
|
||||
mkdir ~/.unison
|
||||
```
|
||||
|
||||
```text
|
||||
root = /home/<utilisateur local>/
|
||||
root = ssh://<utilisateur distant>@exemple.fr//home/<utilisateur distant>/
|
||||
times = true
|
||||
auto = true
|
||||
batch = true
|
||||
silent = true
|
||||
```
|
||||
|
||||
La première ligne indique la racine des fichiers locaux à copier, ici, votre répertoire utilisateur.
|
||||
|
||||
La seconde ligne indique la connexion ssh à utiliser pour synchroniser les fichiers avec le répertoire distant : ici, le *home* de l'utilisateur distant.
|
||||
|
||||
Ensuite, nous préservons les dates et heures affectées aux fichiers (*time*), et nous voulons une procédure la plus silencieuse possible.
|
||||
|
||||
La première fois que vous exécuterez unison, l'application vous posera des questions relatives à la synchronisation.
|
||||
Contentez-vous de valider avec la touche Entrée de votre clavier.
|
||||
|
||||
Mais avant d'exécuter unison pour la première fois, il faut créer une clé d'accès SSH.
|
||||
Toujours sur votre propre machine :
|
||||
|
||||
```bash
|
||||
ssh-keygen -t rsa -f ~/.ssh/id_rsa_<nom>
|
||||
```
|
||||
|
||||
Vous remplacerez *<nom>* par une valeur vous permettant de savoir qu'il s'agit de la clé permettant la synchronisation de vos fichiers avec le serveur.
|
||||
L'idée, c'est de la différencier d'autres clés que vous auriez pu créer avant.
|
||||
|
||||
Une fois créée, envoyez-la au serveur :
|
||||
|
||||
```bash
|
||||
ssh-copy-id -i ~/.ssh/id_rsa_<nom> <utilisateur distant>@exemple.fr
|
||||
```
|
||||
|
||||
De même, remplacez les valeurs entre chevrons pour qu'elles correspondent à votre situation.
|
||||
|
||||
Dernière étape avant de lancer la première synchronisation, ouvrir le port 22 sur le serveur.
|
||||
Reprenez notre [script de mise en place du firewall](https://web.archive.org/web/20120422043827/http://ingnu.fr/2012/02/05/creer-son-propre-cloud-introduction/) sur le serveur :
|
||||
|
||||
```bash
|
||||
nano /scripts/firewall
|
||||
```
|
||||
|
||||
Entre les lignes :
|
||||
|
||||
```text
|
||||
##### Configuration personnalisée #####
|
||||
```
|
||||
|
||||
Et :
|
||||
|
||||
```text
|
||||
##### Fin : Configuration personnalisée #####
|
||||
```
|
||||
|
||||
Rajoutez la ligne suivante :
|
||||
|
||||
```text
|
||||
${IPT} -A SERVICES -p tcp --dport 22 -j ACCEPT
|
||||
```
|
||||
|
||||
N'oubliez pas de relancer le script :
|
||||
|
||||
```bash
|
||||
/scripts/firewall
|
||||
```
|
||||
|
||||
Bien qu'en début de script nous spécifions l'adresse IP d'une machine toujours autorisée à se connecter, nous ne prévoyons pas que d'autres machines puissent accéder au port 22 (le port utilisé par SSH).
|
||||
|
||||
Vu que, dans le cas de l'utilisation d'un smartphone par exemple, on ne peut pas prévoir l'adresse IP du terminal (parce qu'on peut se connecter depuis une borne wifi inconnue), nous devons ouvrir le port 22 de manière systématique.
|
||||
|
||||
Important : [notre série consacrée à la mise en place d'un cloud personnel](https://web.archive.org/web/20120422043827/http://ingnu.fr/category/creer-son-propre-cloud/)
|
||||
|
||||
On peut enfin lancer la première synchronisation, qui va se borner à copier vos fichiers locaux sur le serveur distant.
|
||||
Sur votre machine, lancez simplement :
|
||||
|
||||
```bash
|
||||
unison
|
||||
```
|
||||
|
||||
Et patientez.
|
||||
|
||||
Le fichier *default.prf* que nous venons de créer est considéré par unison comme étant un profil.
|
||||
On peut créer autant de profils que nécessaire.
|
||||
Par exemple, nous avons créé un espace public sur le serveur, dont nous nous servirons plus tard pour stocker des photos et les gérer avec une galerie.
|
||||
Nous verrons alors comment configurer unison pour que cette galerie soit synchronisée avec un répertoire local sous un autre profil.
|
||||
|
||||
Pour le moment, il nous reste encore à automatiser la synchronisation de nos documents personnels.
|
||||
|
||||
## Automatisation
|
||||
|
||||
Le problème avec unison (en console sous GNU/Linux), c'est que lors d'une synchronisation, l'application ne vérifie pas si une instance de l'application est déjà en route.
|
||||
Autrement dit, plusieurs instances de unison peuvent tourner en même temps, ce qui peut poser problème lors de longues copies.
|
||||
Pour éviter cela, nous allons devoir créer un script qui se charge de cette vérification.
|
||||
Ce script sera créé sur votre machine avec le super-utilisateur.
|
||||
|
||||
En tant que root, créez le script en question :
|
||||
|
||||
```bash
|
||||
mkdir /scripts
|
||||
nano /scripts/unison-launcher
|
||||
```
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
|
||||
who=`whoami`
|
||||
mypid=$$
|
||||
mydir=`dirname $0`
|
||||
home="/home/$who"
|
||||
pidfile="$home/unison.pid"
|
||||
|
||||
if [ -f "$pidfile" ]
|
||||
then
|
||||
oldpid=`cat "$pidfile"`
|
||||
oldpidexists=`ps -p $oldpid | grep -v TTY | awk -F " " '{print $1}'`
|
||||
|
||||
if [ "$oldpidexists" != "" ]
|
||||
then
|
||||
exit
|
||||
fi
|
||||
fi
|
||||
|
||||
touch "$pidfile"
|
||||
echo $mypid > "$pidfile"
|
||||
|
||||
if [ "$1" == "" ]
|
||||
then
|
||||
if [ -f "$home/.unison/default.prf" ]
|
||||
then
|
||||
unison default
|
||||
else
|
||||
echo "Le profil par défaut est introuvable ($home/.unison/default.prf)"
|
||||
fi
|
||||
else
|
||||
if [ -f "$home/.unison/$1.prf" ]
|
||||
then
|
||||
unison $1
|
||||
else
|
||||
echo "Le profil $1 est introuvable ($home/.unison/$1.prf)"
|
||||
fi
|
||||
fi
|
||||
|
||||
rm "$pidfile"
|
||||
```
|
||||
|
||||
Attribuez ensuite les droits d'exécution :
|
||||
|
||||
```bash
|
||||
chmod +x /scripts/unison-launcher
|
||||
```
|
||||
|
||||
Ce script est fait pour permettre la synchronisation de comptes différents sur la même machine.
|
||||
|
||||
Il ne reste plus qu'à l'intégrer dans la crontab de chaque utilisateur à synchroniser :
|
||||
|
||||
```bash
|
||||
crontab -e
|
||||
```
|
||||
|
||||
```text
|
||||
* * * * * /scripts/unison-launcher
|
||||
```
|
||||
|
||||
Vous pouvez passer en argument de ce script le nom d'un profil à charger.
|
||||
Nous le verrons dans un prochain article.
|
||||
|
||||
Notice : *default.prf*
|
||||
|
||||
*.unison*
|
||||
|
||||
## Vérification
|
||||
|
||||
Maintenant que la première synchronisation a été effectuée, rendez-vous dans Gollem pour vérifier (`http://files.exemple.fr`).
|
||||
Vous devez retrouver tous vos fichiers, avec les bonnes permissions, et appartenant à l'utilisateur sur votre serveur.
|
||||
|
||||
Via Gollem, créez un répertoire de test.
|
||||
Patientez une minute, puis listez les fichiers sur votre propre machine.
|
||||
Le répertoire en question devrait avoir été créé.
|
||||
|
||||
Si tout fonctionne, et que vous disposez d'une autre machine sous GNU/Linux, il vous suffit d'y copier le script */script/unison-launcher* pour synchroniser les utilisateurs de cette machine (après avoir créer les profils par défaut, évidemment).
|
||||
|
||||
## Webdav
|
||||
|
||||
Webdav va nous permettre de nous synchroniser avec davantage de clients, et notamment les périphériques Android, puisque unison n'existe pas sous Android.
|
||||
Webdav étant géré par Apache, nous évitons deux écueils : installer une application dédiée (donc faire tourner un service de plus), et ouvrir un port réseau supplémentaire.
|
||||
|
||||
Installons tout d'abord quelques dépendances et activons-les :
|
||||
|
||||
```bash
|
||||
apt-get install libapache2-mod-auth-pam
|
||||
a2enmod auth_pam dav_fs dav
|
||||
a2dismod userdir
|
||||
```
|
||||
|
||||
Nous devons ensuite modifier un peu la configuration de notre hôte virtuel dans Apache.
|
||||
|
||||
```bash
|
||||
nano /etc/apache2/sites-available/files.exemple.fr
|
||||
```
|
||||
|
||||
Rajoutez les deux lignes suivantes dans la configuration de l'hôte virtuel sécurisé (avant </VirtualHost>) :
|
||||
|
||||
```text
|
||||
Include /etc/apache2/mods-available/userdir.load
|
||||
Include /etc/apache2/mods-available/userdir.conf
|
||||
```
|
||||
|
||||
Ensuite, on va modifier la configuration du module userdir :
|
||||
|
||||
```bash
|
||||
mv /etc/apache2/mods-available/userdir.conf /etc/apache2/mods-available/userdir.conf-orig
|
||||
nano /etc/apache2/mods-available/userdir.conf
|
||||
```
|
||||
|
||||
```text
|
||||
<IfModule mod_userdir.c>
|
||||
UserDir /home
|
||||
UserDir disabled root
|
||||
|
||||
DAVLockDB /var/lib/apache2/DAVLockDB
|
||||
|
||||
<Directory /home/*/>
|
||||
AllowOverride FileInfo AuthConfig Limit
|
||||
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
|
||||
|
||||
DAV On
|
||||
|
||||
AuthPAM_Enabled On
|
||||
AuthPAM_FallThrough Off
|
||||
|
||||
AuthUserFile /etc/shadow
|
||||
|
||||
ForceType text/plain
|
||||
</Directory>
|
||||
|
||||
Alias /public /var/public-docs
|
||||
|
||||
<Directory /var/public-docs>
|
||||
AllowOverride FileInfo AuthConfig Limit
|
||||
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
|
||||
|
||||
DAV On
|
||||
|
||||
AuthPAM_Enabled On
|
||||
AuthPAM_FallThrough Off
|
||||
|
||||
AuthUserFile /etc/shadow
|
||||
|
||||
ForceType text/plain
|
||||
</Directory>
|
||||
</IfModule>
|
||||
```
|
||||
|
||||
On définit ici que le répertoire utilisateur pour Apache est son home, et on créé un accès au répertoire public.
|
||||
Afin d'éviter que n'importe qui puisse voir le répertoire d'un autre utilisateur, il faut créer un fichier.htaccess dans chaque répertoire utilisateur.
|
||||
Ainsi, seul l'utilisateur connecté peut accéder à son propre répertoire.
|
||||
|
||||
```bash
|
||||
nano /home/<utilisateur>/.htaccess
|
||||
```
|
||||
|
||||
```text
|
||||
AuthPAM_Enabled on
|
||||
AuthType Basic
|
||||
AuthName "PAM"
|
||||
|
||||
require user <utilisateur>
|
||||
```
|
||||
|
||||
Remplacez *<utilisateur>* par le nom d'utilisateur correspondant au répertoire personnel dans lequel vous mettez ce fichier.
|
||||
|
||||
Vous pouvez désormais accéder, via un client dav ou votre navigateur, aux adresses suivantes :
|
||||
|
||||
- http://exemple.fr/~utilisateur
|
||||
- http://exemple.fr/public
|
||||
|
||||
## Synchronisation avec un client Android
|
||||
|
||||
Maintenant que webdav est en place, on va pouvoir configurer un client sous Android.
|
||||
|
||||
Et pour cela, nous allons installer sur le terminal l'application [WebDav File Manager](https://web.archive.org/web/20120422043827/https://market.android.com/details?id=jp.ddo.shigadroid.webdavfilemanager).
|
||||
|
||||
Expliquer comment configurer le client sortirait du cadre de cet article déjà bien touffu par ailleurs.
|
||||
[La page suivante](https://web.archive.org/web/20120422043827/http://shigadroid.web.fc2.com/en/) vous permettra de configurer l'application ainsi que la synchronisation.
|
||||
|
||||
Nous verrons, en revanche, dans notre prochain article, comment configurer l'application pour envoyer automatiquement les photos prises avec le terminal vers notre serveur.
|
||||
|
||||
## Conclusion
|
||||
|
||||
Un tel article mérite bien une conclusion particulière.
|
||||
Nous avons maintenant mis en place tout ce qu'un service comme Dropbox peut fournir, et peut être même plus encore (nous le verrons dans les prochains articles).
|
||||
En l'occurrence :
|
||||
|
||||
- on peut accéder à nos fichiers depuis un navigateur et via webdav, donc depuis des périphériques nomades
|
||||
- nos données sont synchronisées donc accessibles depuis n'importe où
|
||||
- l'accès à nos données se fait seulement via SSH ou SSL, donc les transferts sont sécurisés
|
||||
- on peut gérer la bande passante allouée à l'accès aux fichiers
|
||||
- on va pouvoir installer des applications web dédiées à la gestion de certains types de fichiers, de façon plus puissante et plus agréable que tout autre service intégré
|
||||
- on dispose d'une excellente base pour faire bien d'autres choses avec nos fichiers !
|
||||
|
||||
Voilà donc cet article consacré à la mise en place d'une alternative à Dropbox terminé.
|
||||
Il s'agissait là probablement du plus complexe que nous ayons eu à aborder depuis le début de l'installation de notre cloud personnalisé.
|
||||
Il est aussi peu probable que les articles suivants soient aussi long et difficiles à intégrer que celui-ci.
|
||||
Nous avons vu un certain nombre de notions relativement complexes, sans compter les petites modifications à apporter ça et là à des applications existantes ([nous l'avons fait pour status.net](https://web.archive.org/web/20120422043827/http://ingnu.fr/2012/02/08/son-propre-reseau-social-avec-status-net/), nous le faisons ici avec Horde).
|
||||
|
||||
Donc, même si vous n'avez pas eu le courage de tout mettre en œuvre, j'espère néanmoins que cet article (et les autres !) vous a intéressé.
|
||||
|
||||
Prochainement, nous installerons une application pour partager ses photos, application qui reposera sur le dossier public que nous avons mis en place, et dont la mise à jour sera automatique.
|
||||
Cerise sur le gâteau : quand vous prendrez une photo depuis votre smartphone, celle-ci sera automatiquement envoyée à la galerie et intégrée, exactement comme avec Google et Picasa, sauf que nous n'aurons recours qu'à des Logiciels Libres !
|
||||
|
||||
Ensuite, nous renforcerons la sécurité de notre serveur.
|
||||
Nous mettrons en place un système de sécurité préventif, autant que défensif.
|
||||
|
||||
L'article d'après sera consacré à la sauvegarde et la restauration de notre serveur.
|
||||
|
||||
Enfin, je publierai un dernier article, conclusion globale de tout le chapitre sur l'installation d'un cloud personnel.
|
||||
@@ -0,0 +1,3 @@
|
||||
description: "Couverture originale créée localement pour accompagner la republication de l'article C'est quoi le Libre ?."
|
||||
attribution: "Codex"
|
||||
prompt: "Illustration abstraite éditoriale sur le logiciel libre et l'émancipation numérique, avec symbole d'ouverture, rayons lumineux et ambiance rétro-web 2012, sans texte, sans logo."
|
||||
|
After Width: | Height: | Size: 105 KiB |
@@ -0,0 +1,41 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/521
|
||||
cover: images/cover.png
|
||||
date: '2012-02-13 00:09:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120224015034/http://ingnu.fr/2012/02/13/cest-quoi-le-libre/
|
||||
tags:
|
||||
- Libre
|
||||
- Logiciel
|
||||
title: C'est quoi le Libre ?
|
||||
weather:
|
||||
humidity: 59
|
||||
illuminance: 0.0
|
||||
precipitations: false
|
||||
pressure: 1025.2
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: -8.8
|
||||
wind_direction: 225
|
||||
wind_speed: 3.1
|
||||
---
|
||||
|
||||
Je sais qu'il y a beaucoup de sources d'informations pour savoir ce qu'est le Libre ([dont la principale](https://web.archive.org/web/20120224015034/http://www.gnu.org/philosophy/free-sw.html)), mais j'ai toujours constaté avec regret qu'il y a encore beaucoup de gens qui considèrent mal les Libristes, les défenseurs du Libre.
|
||||
|
||||
Je les ai vu dire que dans certains domaines, les Logiciels Libres n'arrivent pas à la cheville des logiciels privateurs, sur le plan technique. J'en ai vu dire que les Logiciels Libres n'apportent rien, et ne sont d'aucune utilité face aux logiciels privateurs. J'en ai vu dire que les Logiciels Libres ne sont pas des alternatives viables aux logiciels privateurs, ou aux services web du type Google ou facebook. J'en ai même lu qui disaient que si un auteur de Logiciel Libre voulait insérer dans son code une partie destinée à espionner l'utilisateur, personne ne le verrait.
|
||||
|
||||
Alors, j'ai décidé d'essayer autre chose, que dire "les Logiciels Libres c'est mieux, les logiciels privateurs c'est mal".
|
||||
|
||||
La plupart des critiques que j'ai lu sont fondées sur l'aspect technique des Logiciels Libres. Or, le fondement même des Logiciels Libres est la liberté justement. Ils n'existent pas simplement pour qu'une alternative à Microsoft Office ou Microsoft Windows existe, ils existent pour apporter la liberté au sein de l'informatique. Ils ont été conçus pour libérer leurs utilisateurs des contraintes arbitrairement et injustement imposées par les éditeurs de logiciels.
|
||||
|
||||
C'est à Richard Stallman que l'on doit cette vision du Logiciel Libre. Tout défenseur du Logiciel Libre se doit de connaître et approuver Stallman, tandis que ses détracteurs se doivent de connaître les intentions formulées par Licence Publique Générale.
|
||||
|
||||
L'aspect technique des Logiciels Libres est pour ainsi dire secondaire: la priorité est d'accorder des libertés fondamentales aux auteurs et aux utilisateurs de ces logiciels; l'aspect technique ne doit être mis en avant que pour leur valorisation par rapport aux solutions privatrices.
|
||||
|
||||
Par exemple, dire que GIMP est une plaisanterie face à Photoshop relève de l'ignorance, puisque cela revient à comparer les deux logiciels sur un plan technique. Or, GIMP n'est pas une réponse technique à Photoshop, c'est une réponse de principe. GIMP existe pour que puisse exister une alternative Libre à Photoshop.
|
||||
|
||||
Ce que certains considèrent comme une faiblesse est en réalité une force du Logiciel Libre: puisqu'on veut parler d'aspect technique, la technicité d'un Logiciel Libre est dépendante de sa communauté, forte de plusieurs milliers d'utilisateurs qui sont autant de contributeurs, tandis que la technicité d'un logiciel privateur n'est dépendante que du bon vouloir de l'entreprise qui le publie. Autrement dit, elle n'est motivée que par l'argent.
|
||||
|
||||
Ce qui m'amène à poser la question suivante: comment un Libriste peut se considérer comme tel s'il ne voit aucun inconvénient à utiliser une solution privative?
|
||||
@@ -0,0 +1,136 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/522
|
||||
date: '2012-02-13 14:04:00'
|
||||
dossier:
|
||||
- Créer son propre Cloud
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120221004519/http://ingnu.fr/2012/02/13/gerer-ses-photos-avec-photoshow/
|
||||
tags:
|
||||
- PhotoShow
|
||||
title: Gérer ses photos avec PhotoShow
|
||||
weather:
|
||||
humidity: 63
|
||||
illuminance: 34842.5
|
||||
precipitations: false
|
||||
pressure: 1020.6
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 0.1
|
||||
wind_direction: 258
|
||||
wind_speed: 12.5
|
||||
weight: 11
|
||||
---
|
||||
|
||||
Maintenant que nous disposons d'[une solution de stockage en ligne](https://web.archive.org/web/20120221004519/http://ingnu.fr/2012/02/12/une-alternative-a-dropbox/), la prochaine étape consistera à mettre en place une application web pour partager ses photos avec le reste du monde.
|
||||
|
||||
Bien que de très nombreuses solutions existent, et de très bonne qualité (voir mon article sur [les alternatives à Google](https://web.archive.org/web/20120221004519/http://ingnu.fr/2011/12/29/quelles-sont-les-alternatives-a-google/)), mon choix s'est porté sur une petite application du nom de [PhotoShow](https://web.archive.org/web/20120221004519/http://www.photoshow-gallery.com/).
|
||||
|
||||
Je l'ai choisi pour plusieurs raisons.
|
||||
Tout d'abord, elle ne nécessite aucune base de données.
|
||||
Ensuite, elle ne nécessite pratiquement aucune maintenance, dans la mesure où les photos sont analysées automatiquement.
|
||||
Est également automatique la génération des miniatures.
|
||||
Et malgré sa simplicité, il reste possible de définir tout ou partie de la galerie comme étant privée, dont l'accès sera réservé aux utilisateurs de votre choix, ou simplement protégé par mot de passe.
|
||||
|
||||
Enfin, l'arborescence des fichiers n'a pas besoin de se trouver dans l'arborescence du site.
|
||||
Cela permet d'éviter que n'importe qui (les moteurs de recherche par exemple) puisse aspirer sans vergogne vos photos.
|
||||
On respecte ainsi une autre prérogative de [ma série d'articles](https://web.archive.org/web/20120221004519/http://ingnu.fr/category/creer-son-propre-cloud/) : préserver la confidentialité de nos données.
|
||||
|
||||
## Hôte virtuel
|
||||
|
||||
Première chose, comme d'habitude, on s'occupe de l'hôte virtuel dans apache :
|
||||
|
||||
```bash
|
||||
nano /etc/apache2/sites-available/photos.exemple.fr
|
||||
```
|
||||
|
||||
```text
|
||||
<VirtualHost *:80>
|
||||
ServerName photos.exemple.fr
|
||||
Redirect / https://photos.exemple.fr/
|
||||
</VirtualHost>
|
||||
|
||||
<VirtualHost *:443>
|
||||
ServerName photos.exemple.fr
|
||||
|
||||
DocumentRoot /var/www/exemple.fr/photos/www
|
||||
|
||||
SSLEngine On
|
||||
SSLCertificateFile /scripts/certificate_authority/apache/photos.exemple.fr.crt
|
||||
SSLCertificateKeyFile /scripts/certificate_authority/apache/photos.exemple.fr.key
|
||||
|
||||
CustomLog /var/www/exemple.fr/photos/log/access.log
|
||||
ErrorLog /var/www/exemple.fr/photos/log/error.log
|
||||
</VirtualHost>
|
||||
```
|
||||
|
||||
Nous avons créé un hôte virtuel non sécurisé redirigeant vers un hôte virtuel sécurisé, nous avons déjà vu le principe.
|
||||
Créons maintenant les certificats :
|
||||
|
||||
```bash
|
||||
/scripts/certificate_authority/make_request apache photos.exemple.fr
|
||||
/scripts/certificate_authority/sign_request apache photos.exemple.fr
|
||||
chown www-data:www-data /scripts/certificate_authority/apache/*
|
||||
```
|
||||
|
||||
Warning : Lorsque le *Common Name* vous sera demandé, indiquez le nom de domaine !
|
||||
Et dans notre cas, acceptez la création d'une clé sans mot de passe !
|
||||
|
||||
On active le site, et on redémarre apache :
|
||||
|
||||
```bash
|
||||
a2ensite photos.exemple.fr
|
||||
/etc/init.d/apache2 restart
|
||||
```
|
||||
|
||||
## Installation de PhotoShow
|
||||
|
||||
On créé l'arborescence du site :
|
||||
|
||||
```bash
|
||||
mkdir -p /var/www/exemple.fr/photos/{www,log,thumbs}
|
||||
```
|
||||
|
||||
Puis on télécharge et on installe PhotoShow :
|
||||
|
||||
```bash
|
||||
cd /usr/src
|
||||
git clone git://github.com/thibaud-rohmer/PhotoShow.git
|
||||
cp -R PhotoShow/* /var/www/exemple.fr/photos/www/
|
||||
chown -R www-data:www-data /var/www/exemple.fr/photos
|
||||
```
|
||||
|
||||
On configure l'application :
|
||||
|
||||
```bash
|
||||
nano /var/www/exemple.fr/photos/www/config.php
|
||||
```
|
||||
|
||||
```php
|
||||
$config->photos_dir = "/var/public-docs/Photos";
|
||||
$config->ps_generated = "/var/www/exemple.fr/photos/thumbs";
|
||||
```
|
||||
|
||||
Vous noterez le répertoire */var/public-docs/Photos* qu'il faut créer, et qui contiendra donc vos photos.
|
||||
|
||||
```bash
|
||||
mkdir /var/public-docs/Photos
|
||||
```
|
||||
|
||||
L'application en elle-même est prête, vous pouvez la visiter depuis l'adresse `http://photos.exemple.fr`.
|
||||
|
||||
Vous pouvez créer un compte "*anonyme*", ou "*invites*", protégé par mot de passe, si vous ne voulez pas que des personnes non identifiées aient accès à votre galerie.
|
||||
Vous pouvez aussi simplement la protéger avec un mot de passe, sans avoir besoin de créer un utilisateur particulier.
|
||||
|
||||
## Envoyer automatiquement ses photos prises avec un smartphone Android
|
||||
|
||||
Facile, si vous avez installé l'application WebDav File Manager comme indiqué dans [mon précédent article](https://web.archive.org/web/20120221004519/http://ingnu.fr/2012/02/12/une-alternative-a-dropbox/) (ou toute autre application Android capable de se synchroniser avec un dépôt WebDav ou SSH).
|
||||
Il vous suffit de mettre en place une synchronisation entre le répertoire où vos photos sont stockées sur votre smartphone (*DCIM/*) et `https://files.exemple.fr/public/Photos`.
|
||||
|
||||
Important : Attention si vous mettez d'autres photos depuis une autre source, ces photos seront aussi copiées sur votre téléphone.
|
||||
Pour l'éviter, vous pouvez créer un dossier */var/public-docs/Photos/Android*, que vous utiliserez pour la synchronisation.
|
||||
|
||||
Le tutoriel d'aujourd'hui est déjà terminé.
|
||||
Nous avons vu des choses relativement compliquées à mettre en oeuvre, mais c'était aussi pour nous simplifier la vie plus tard.
|
||||
Je vous avais bien dis que les prochains articles seraient plus simples !
|
||||
@@ -0,0 +1,256 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/523
|
||||
date: '2012-02-13 15:19:00'
|
||||
dossier:
|
||||
- Créer son propre Cloud
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120225092126/http://ingnu.fr/2012/02/13/renforcer-la-securite-de-son-serveur/
|
||||
tags:
|
||||
- Apache
|
||||
- Certificat
|
||||
- Client
|
||||
- Fail2ban
|
||||
- iptables
|
||||
title: Renforcer la sécurité de son serveur
|
||||
weather:
|
||||
humidity: 66
|
||||
illuminance: 35349.3
|
||||
precipitations: false
|
||||
pressure: 1019.9
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 0.5
|
||||
wind_direction: 267
|
||||
wind_speed: 14.8
|
||||
weight: 12
|
||||
---
|
||||
|
||||
Nous voilà sur la dernière ligne droite de notre série d'articles consacrée à la [mise en place d'un cloud personnel](https://web.archive.org/web/20120225092126/http://ingnu.fr/category/creer-son-propre-cloud/).
|
||||
Nous avons installé à peu près tout ce dont on peut avoir besoin, mais à part un [script de pare-feu](https://web.archive.org/web/20120225092126/http://ingnu.fr/2012/02/05/creer-son-propre-cloud-introduction/) relativement restrictif et une protection anti-spam et anti-virus pour [le serveur mail](https://web.archive.org/web/20120225092126/http://ingnu.fr/2012/02/06/installation-de-son-propre-serveur-mail/), il reste encore quelques petites choses à faire pour sécuriser notre serveur.
|
||||
|
||||
Avant toute chose, contrairement à ce que beaucoup de gens recommandent comme bonne pratique, je ne vais pas aborder la question du changement de port pour améliorer la sécurité de notre serveur.
|
||||
Je pense en effet qu'un simple *nmap* sur l'hôte à tester suffit pour déterminer quels sont les ports ouverts sur une machine, et ce n'est pas en déplaçant ce port que le "pirate" va jeter l'éponge.
|
||||
Si quelqu'un est vraiment déterminé à récupérer de votre serveur des données auxquelles il n'a pas le droit d'accéder, il y parviendra.
|
||||
|
||||
Je mise donc sur une approche différente qu'on va tout de suite mettre en place, et qui repose sur [fail2ban](https://web.archive.org/web/20120225092126/http://www.fail2ban.org/).
|
||||
Pour mémoire, fail2ban analyse les tentatives de connexion à votre serveur, et blacklist toute IP qui tentera d'accéder à votre serveur sans succès, selon un certain nombre de règles (qui peuvent être bien velues à configurer...).
|
||||
|
||||
## fail2ban
|
||||
|
||||
Installons l'application :
|
||||
|
||||
```bash
|
||||
apt-get install fail2ban
|
||||
/etc/init.d/fail2ban stop
|
||||
```
|
||||
|
||||
On configure ensuite l'application :
|
||||
|
||||
```bash
|
||||
mv /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf-orig
|
||||
nano /etc/fail2ban/jail.conf
|
||||
```
|
||||
|
||||
Le nombre d'applications nécessitant une connexion réseau pour fonctionner est relativement limité sur notre serveur, ce qui va simplifier la configuration de fail2ban, d'autant que la plupart des filtres existe déjà.
|
||||
|
||||
Voici un fichier *jail.conf* de référence, correspondant à notre serveur :
|
||||
|
||||
```text
|
||||
[DEFAULT]
|
||||
ignoreip = 127.0.0.1 xxx.xxx.xxx.xxx yyy.yyy.yyy.yyy
|
||||
bantime = 600
|
||||
maxretry = 3
|
||||
backend = polling
|
||||
destemail = contact@exemple.fr
|
||||
banaction = iptables-multiport
|
||||
mta = sendmail
|
||||
protocol = tcp
|
||||
|
||||
action_ = %(banaction)s[name=%(__name__)s, port="%(port)s", protocol="%(protocol)s]
|
||||
|
||||
action_mw = %(banaction)s[name=%(__name__)s, port="%(port)s", protocol="%(protocol)s]
|
||||
%(mta)s-whois[name=%(__name__)s, dest="%(destemail)s", protocol="%(protocol)s]
|
||||
|
||||
action_mwl = %(banaction)s[name=%(__name__)s, port="%(port)s", protocol="%(protocol)s]
|
||||
%(mta)s-whois-lines[name=%(__name__)s, dest="%(destemail)s", logpath=%(logpath)s]
|
||||
|
||||
# Choose default action. To change, just override value of 'action' with the
|
||||
# interpolation to the chosen action shortcut (e.g. action_mw, action_mwl, etc) in jail.local
|
||||
# globally (section [DEFAULT]) or per specific section
|
||||
action = %(action_)s
|
||||
|
||||
[ssh]
|
||||
enabled = true
|
||||
port = ssh
|
||||
filter = sshd
|
||||
logpath = /var/log/auth.log
|
||||
maxretry = 6
|
||||
|
||||
[ssh-ddos]
|
||||
enabled = false
|
||||
port = ssh
|
||||
filter = sshd-ddos
|
||||
logpath = /var/log/auth.log
|
||||
maxretry = 6
|
||||
|
||||
[pam-generic]
|
||||
enabled = true
|
||||
filter = pam-generic
|
||||
port = all
|
||||
banaction = iptables-allports
|
||||
port = anyport
|
||||
logpath = /var/log/auth.log
|
||||
maxretry = 6
|
||||
|
||||
[apache]
|
||||
enabled = true
|
||||
port = http,https
|
||||
filter = apache-auth
|
||||
logpath = /var/www/*/*/log/error.log
|
||||
maxretry = 6
|
||||
|
||||
[apache-multiport]
|
||||
enabled = true
|
||||
port = http,https
|
||||
filter = apache-auth
|
||||
logpath = /var/www/*/*/log/error.log
|
||||
maxretry = 6
|
||||
|
||||
[apache-noscript]
|
||||
enabled = true
|
||||
port = http,https
|
||||
filter = apache-noscript
|
||||
logpath = /var/www/*/*/log/error.log
|
||||
maxretry = 6
|
||||
|
||||
[apache-overflows]
|
||||
enabled = true
|
||||
port = http,https
|
||||
filter = apache-overflows
|
||||
logpath = /var/www/*/*/log/error.log
|
||||
maxretry = 2
|
||||
|
||||
[postfix]
|
||||
enabled = true
|
||||
port = smtp,ssmtp
|
||||
filter = postfix
|
||||
logpath = /var/log/mail.log
|
||||
|
||||
[sasl]
|
||||
enabled = true
|
||||
port = smtp,ssmtp,imap2,imap3,imaps,pop3,pop3s
|
||||
filter = sasl
|
||||
logpath = /var/log/mail.log
|
||||
|
||||
[named-refused-tcp]
|
||||
enabled = true
|
||||
port = domain,953
|
||||
protocol = tcp
|
||||
filter = named-refused
|
||||
logpath = /var/log/named/security.log
|
||||
```
|
||||
|
||||
Si vous activez le monitoring pour bind, vous devez activer la journalisation :
|
||||
|
||||
```bash
|
||||
nano /etc/bind/named.conf.options
|
||||
```
|
||||
|
||||
```text
|
||||
logging {
|
||||
channel security_file {
|
||||
file "/var/log/named/security.log" versions 3 size 30m;
|
||||
severity dynamic;
|
||||
print-time yes;
|
||||
};
|
||||
category security {
|
||||
security_file;
|
||||
};
|
||||
};
|
||||
```
|
||||
|
||||
```bash
|
||||
/etc/init.d/bind9 restart
|
||||
```
|
||||
|
||||
Vous devriez être relativement tranquille avec ce fichier de configuration.
|
||||
|
||||
Notice : N'oubliez surtout pas de renseigner correctement votre (vos) adresse(s) IP en début de fichier !
|
||||
|
||||
Démarrez ensuite le service :
|
||||
|
||||
```bash
|
||||
/etc/init.d/fail2ban start
|
||||
```
|
||||
|
||||
Désormais, si quelqu'un n'entre pas dans les clous, son adresse IP sera bloquée directement au niveau d'iptables, pour une durée déterminée spécifiée en début de fichier de configuration.
|
||||
|
||||
## Un firewall "modulaire"
|
||||
|
||||
On va un peu compléter [notre script de pare-feu](https://web.archive.org/web/20120225092126/http://ingnu.fr/2012/02/05/creer-son-propre-cloud-introduction/) pour vous permettre de spécifier vous-même une liste d'adresses IP à bannir.
|
||||
|
||||
```bash
|
||||
nano /scripts/firewall
|
||||
```
|
||||
|
||||
Ajoutez tout à la fin du fichier :
|
||||
|
||||
```text
|
||||
if [ -f "/scripts/firewall.hosts" ]
|
||||
then
|
||||
for ip in `cat /scripts/firewall.hosts`; do
|
||||
${IPT} -A INPUT -s $ip -j DROP
|
||||
done
|
||||
fi
|
||||
```
|
||||
|
||||
Créez ensuite le fichier en question :
|
||||
|
||||
```bash
|
||||
touch /scripts/firewall.hosts
|
||||
```
|
||||
|
||||
Vous pouvez maintenant remplir ce fichier avec les adresses IP que vous souhaitez bloquer (une par ligne).
|
||||
|
||||
N'oubliez pas de relancer le script une fois vos modifications terminées :
|
||||
|
||||
```bash
|
||||
/scripts/firewall
|
||||
```
|
||||
|
||||
## Accès via certificats clients
|
||||
|
||||
Si vous le souhaitez, vous pouvez limiter l'accès à certains de vos sites Internet à certains clients disposant d'un certificat délivré par vous-même.
|
||||
|
||||
Notice : Évitez cette restriction sur l'accès webdav : les clients webdav peuvent ne pas gérer les certificats clients.
|
||||
|
||||
Il suffit de modifier le fichier de configuration de l'hôte virtuel que vous voulez "protéger", en rajoutant les lignes suivantes :
|
||||
|
||||
```text
|
||||
<Location />
|
||||
SSLCACertificateFile /scripts/certificate_authority/ca.crt
|
||||
SSLVerifyClient require
|
||||
SSLVerifyDepth 4
|
||||
</Location>
|
||||
```
|
||||
|
||||
Vous créez ensuite un certificat classique :
|
||||
|
||||
```bash
|
||||
/scripts/certificate_authority/make_request apache-client sous-domaine.exemple.fr
|
||||
/scripts/certificate_authority/sign_request apache-client sous-domaine.exemple.fr
|
||||
chown -R www-data:www-data /scripts/certificate_authority/apache-client
|
||||
```
|
||||
|
||||
Notice : Dans ce cas, ne créez pas de certificat sans mot de passe.
|
||||
|
||||
Il faut ensuite exporter le certificat créé et signé dans un format compatible :
|
||||
|
||||
```bash
|
||||
openssl pkcs12 -export -clcerts -in /scripts/certificate_authority/apache-client/sous-domaine.exemple.fr.crt -inkey /scripts/certificate_authority/apache-client/sous-domaine.exemple.fr.key -out /scripts/certificate_authority/apache-client/sous-domaine.exemple.fr.p12
|
||||
```
|
||||
|
||||
Transmettez ce certificat et son mot de passe au client qui doit accéder au site, client qui devra l'importer dans son navigateur.
|
||||
Utilisez de préférence SSH pour effectuer ce transfert
|
||||
@@ -0,0 +1,211 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/524
|
||||
date: '2012-02-13 16:00:00'
|
||||
dossier:
|
||||
- Créer son propre Cloud
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120222160009/http://ingnu.fr/2012/02/13/trucs-et-astuces-pour-son-serveur-prive/
|
||||
tags:
|
||||
- Astuces
|
||||
- Trucs
|
||||
title: Trucs et astuces pour son serveur privé
|
||||
weather:
|
||||
humidity: 72
|
||||
illuminance: 14570.5
|
||||
precipitations: false
|
||||
pressure: 1019.2
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 0.0
|
||||
wind_direction: 266
|
||||
wind_speed: 14.1
|
||||
weight: 13
|
||||
---
|
||||
|
||||
Avant d'aborder un système de sauvegarde et de restauration pour son cloud personnel, je me suis dis que ce serait une bonne idée de compiler dans un article quelques trucs et astuces, relatifs notamment à la surveillance de votre serveur.
|
||||
|
||||
C'est l'occasion d'apprendre ou réapprendre à se servir des outils inclus dans toute bonne distribution qui se respecte, mais aussi comment compléter ces outils.
|
||||
|
||||
## Monitoring "sur site"
|
||||
|
||||
## Journaux
|
||||
|
||||
Ce que j'appelle "monitoring sur site", c'est comment surveiller son système depuis un shell.
|
||||
Un certain nombre de commandes existent pour nous permettre de diagnostiquer le fonctionnement de notre serveur.
|
||||
|
||||
Pour commencer, rien ne vaut les journaux.
|
||||
Concernant notre serveur, voici ceux qui sont principalement à surveiller :
|
||||
|
||||
- */var/log/syslog*, probablement le plus important de tous
|
||||
- */var/log/fail2ban.log*, pour surveiller ce que fail2ban fait
|
||||
- */var/log/mail.log*, pour surveiller le serveur mail
|
||||
- */var/www/*/*/log/*, pour surveiller les accès et erreurs sur l'ensemble de vos sites Internet
|
||||
|
||||
Pour consulter en temps réel un journal, utilisez la commande suivante :
|
||||
|
||||
```bash
|
||||
tail -f /var/log/syslog
|
||||
```
|
||||
|
||||
Pour consulter les X dernières lignes d'un journal :
|
||||
|
||||
```bash
|
||||
tail -X /var/log/syslog
|
||||
```
|
||||
|
||||
## Processus
|
||||
|
||||
Le monitoring sur site implique également la surveillance des processus.
|
||||
La commande suivante :
|
||||
|
||||
```bash
|
||||
ps aux
|
||||
```
|
||||
|
||||
Vous indiquera l'état des processus au moment où vous lancez la commande.
|
||||
Pour consulter l'état des processus en temps réel, utilisez la commande :
|
||||
|
||||
```bash
|
||||
top
|
||||
```
|
||||
|
||||
Cette commande vous informe également de l'état de la mémoire, de l'utilisation CPU, et d'autres choses encore.
|
||||
|
||||
## Matériel
|
||||
|
||||
Si vous hébergez vous-même votre serveur "à la maison", vous pourrez également avoir besoin de quelques capteurs de température :
|
||||
|
||||
```bash
|
||||
apt-get install lm-sensors
|
||||
sensors-detect
|
||||
```
|
||||
|
||||
De même pour les disques durs :
|
||||
|
||||
```bash
|
||||
apt-get install hddtemp
|
||||
hddtemp /dev/sd*
|
||||
```
|
||||
|
||||
D'autres informations relatives à votre matériel peuvent être extraites du pseudo système de fichiers */proc* :
|
||||
|
||||
```bash
|
||||
cat /proc/cpuinfo
|
||||
cat /proc/meminfo
|
||||
```
|
||||
|
||||
## RAID
|
||||
|
||||
Si vous bénéficiez d'un raid logiciel, vous pouvez consulter son état de différentes manières :
|
||||
|
||||
```bash
|
||||
cat /proc/mdstat
|
||||
mdadm --detail /dev/md0
|
||||
```
|
||||
|
||||
## Monitoring distant
|
||||
|
||||
Le monitoring distant est effectué depuis une interface web par exemple.
|
||||
J'ai choisi [phpSysInfo](https://web.archive.org/web/20120222160009/http://phpsysinfo.sourceforge.net/), que je trouve plus agréable à configurer et utiliser que munin, trop centré sur la création de graphs, et relativement compliqué à mettre en œuvre.
|
||||
|
||||
## Hôte virtuel
|
||||
|
||||
Première chose, comme d'habitude, on s'occupe de l'hôte virtuel dans apache :
|
||||
|
||||
```bash
|
||||
mkdir -p /var/www/exemple.fr/system/www
|
||||
nano /etc/apache2/sites-available/system.exemple.fr
|
||||
```
|
||||
|
||||
```text
|
||||
<VirtualHost *:80>
|
||||
ServerName system.exemple.fr
|
||||
Redirect / https://system.exemple.fr/
|
||||
</VirtualHost>
|
||||
|
||||
<VirtualHost *:443>
|
||||
ServerName system.exemple.fr
|
||||
|
||||
DocumentRoot /var/www/exemple.fr/system/www
|
||||
|
||||
SSLEngine On
|
||||
SSLCertificateFile /scripts/certificate_authority/apache/system.exemple.fr.crt
|
||||
SSLCertificateKeyFile /scripts/certificate_authority/apache/system.exemple.fr.key
|
||||
</VirtualHost>
|
||||
```
|
||||
|
||||
Nous avons créé un hôte virtuel non sécurisé redirigeant vers un hôte virtuel sécurisé, nous avons déjà vu le principe.
|
||||
Créons maintenant les certificats :
|
||||
|
||||
```bash
|
||||
/scripts/certificate_authority/make_request apache system.exemple.fr
|
||||
/scripts/certificate_authority/sign_request apache system.exemple.fr
|
||||
chown www-data:www-data /scripts/certificate_authority/apache/*
|
||||
```
|
||||
|
||||
Warning : Lorsque le *Common Name* vous sera demandé, indiquez le nom de domaine !
|
||||
Et dans notre cas, acceptez la création d'une clé sans mot de passe !
|
||||
|
||||
On active le site, et on redémarre apache :
|
||||
|
||||
```bash
|
||||
a2ensite system.exemple.fr
|
||||
/etc/init.d/apache2 restart
|
||||
```
|
||||
|
||||
Dans ce cas, il n'y a pas vraiment besoin de tenir des journaux.
|
||||
|
||||
## Installation de phpSysInfo
|
||||
|
||||
Rien de particulier à signaler : une fois l'application téléchargée et installée dans son répertoire (*/var/www/exemple.fr/system/www*), il suffit juste de la configurer en fonction des blocs que vous souhaitez afficher.
|
||||
|
||||
Certaines dépendances peuvent être nécessaires, en fonction des blocs que vous aurez configuré.
|
||||
L'application vous informera via des messages d'erreurs si des dépendances ne sont pas satisfaites.
|
||||
Vous pourrez alors aisément les installer.
|
||||
|
||||
## Notifications
|
||||
|
||||
Si vous faites appel à crontab pour effectuer des tâches routinières, il peut être intéressant d'avoir des rapports par mail.
|
||||
Il vous suffit d'éditer votre crontab et d'y insérer la ligne suivante :
|
||||
|
||||
```text
|
||||
MAIL="contact@exemple.fr"
|
||||
```
|
||||
|
||||
Nous avons installé [un serveur XMPP](https://web.archive.org/web/20120222160009/http://ingnu.fr/2012/02/08/communiquer-via-xmpp/), on peut également s'en servir comme service de notification.
|
||||
Ainsi, pour toute application qui permet d'exécuter une commande suivant un évènement donné, on peut demander à cette application d'envoyer un message à un compte XMPP que vous aurez créé à cet effet.
|
||||
Nous utiliserons pour cela le script *sendxmpp* :
|
||||
|
||||
```bash
|
||||
apt-get install sendxmpp
|
||||
```
|
||||
|
||||
Que l'on utilisera de la manière suivante :
|
||||
|
||||
```bash
|
||||
echo "Votre message" | sendxmpp -u <utilisateur> -p <mot de passe> -j exemple.fr <destinataire>@exemple.fr
|
||||
```
|
||||
|
||||
## Liste des paquets installés
|
||||
|
||||
Il peut être utile de récupérer la liste de tous les paquets installés, par exemple dans le cas d'une réinstallation ou d'un mirroring.
|
||||
Pour récupérer cette liste, on utilisera la commande suivante :
|
||||
|
||||
```bash
|
||||
dpkg -l | grep ii | awk -F ' ' '{print $2}'
|
||||
```
|
||||
|
||||
On peut, du coup, exporter cette liste dans un fichier :
|
||||
|
||||
```bash
|
||||
dpkg -l | grep ii | awk -F ' ' '{print $2}' > packages.list
|
||||
```
|
||||
|
||||
## Conclusion
|
||||
|
||||
Plein d'autres choses manquent surement à l'appel.
|
||||
On ne peut pas tout voir, mais théoriquement, ce qu'on a vu jusqu'aujourd'hui devrait être suffisant pour que vous puissiez jouer avec votre propre cloud.
|
||||
|
||||
Important : Ceci dit, avant de vraiment jouer avec, attendez au moins l'avant-dernier article (qui est aussi le prochain), consacré à la sauvegarde et à la restauration de son serveur !
|
||||
@@ -0,0 +1,3 @@
|
||||
description: "Couverture originale créée localement pour accompagner la republication de l'article Pourquoi j'arrête facebook et twitter."
|
||||
attribution: "Codex"
|
||||
prompt: "Illustration abstraite éditoriale sur les réseaux sociaux, avec bulles de conversation connectées, lignes de réseau et ambiance rétro-web 2012, sans texte, sans logo."
|
||||
|
After Width: | Height: | Size: 104 KiB |
@@ -0,0 +1,47 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/525
|
||||
cover: images/cover.png
|
||||
date: '2012-02-15 17:19:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120221042913/http://ingnu.fr/2012/02/15/pourquoi-jarrete-facebook-et-twitter/
|
||||
tags:
|
||||
- Internet
|
||||
- StatusNet
|
||||
title: Pourquoi j'arrête facebook et twitter
|
||||
weather:
|
||||
humidity: 82
|
||||
illuminance: 16724.4
|
||||
precipitations: false
|
||||
pressure: 1014.1
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 3.0
|
||||
wind_direction: 302
|
||||
wind_speed: 19.9
|
||||
---
|
||||
|
||||
[Je l'ai dis il y a quelques dizaines de minutes](https://web.archive.org/web/20120221042913/https://social.ingnu.fr/notice/3292) sur [social.ingnu](https://web.archive.org/web/20120221042913/https://social.ingnu.fr/), j'abandonne facebook et twitter. Bien que ma principale raison soit évidemment liée à la protection de ma vie privée, il en existe d'autres.
|
||||
|
||||
Tout d'abord, facebook et twitter ont beau cumuler à eux deux une population plus nombreuse que la Chine, je m'y sens seul. J'ai l'impression qu'il n'y a aucune activité qui m'intéresse. C'est d'autant plus vrai en ce qui concerne facebook, dont l'idée est davantage de se constituer un cercle d'amis plutôt qu'échanger des idées réellement intéressantes. Je commence à me lasser des photos personnelles, des histoires d'horoscope, ou de ce que les gens ont bouffé la veille (je ne parle pas de mes propres contacts qui ont des timelines un peu plus développées). Ce que je veux dire, c'est que trouver des gens qui m'intéressent sur facebook tient plus du hasard qu'autre chose. D'ailleurs, en fait, ce n'est jamais arrivé.
|
||||
|
||||
En ce qui concerne twitter, la situation est différente. La limite à 160 caractères (ou 144 je ne sais plus) est parfaitement incompréhensible pour moi. On est à l'ère du haut débit, où on s'échange des photos en quelques secondes, des films en quelques minutes. La limite de caractères arbitrairement imposée par twitter engendre des posts parfaitement incompréhensibles, truffés de raccourcis et d'abréviations qui pourrissent la timeline, d'autant que cela nécessite de faire le tri entre l'information qui est intéressante de celle qui ne l'est pas. C'est une perte de temps.
|
||||
|
||||
Il y a quelques semaines, j'ai franchi le pas et j'ai installé une instance de [status.net](https://web.archive.org/web/20120221042913/http://status.net/). Je l'ai installé parce que c'est un Logiciel Libre, et qu'il est présenté comme un réseau social libre et décentralisé. J'en avais déjà entendu parlé, mais j'étais un peu frileux, n'étant pas de nature particulièrement sociable.
|
||||
|
||||
En fin de compte, je me suis rendu compte que l'ouverture de cette application n'est pas seulement une philosophie de développement: cette ouverture se fait aussi sur le monde, à un niveau que je ne soupçonnais pas. On ne suit pas seulement des gens, individuellement, on suit des groupes, des fédérations d'instances de status.net. Et là, ça s'emballe: je reçois les posts de plusieurs dizaines de personnes simplement parce que je suis le groupe [Debian](https://web.archive.org/web/20120221042913/http://identi.ca/group/14/id), ou le groupe [GNU](https://web.archive.org/web/20120221042913/http://identi.ca/group/33/id). Et le ratio informations intéressantes/inutiles s'inverse par rapport aux autres réseaux sociaux (je ne parle pas de Google+ que j'ai quitté il y a quelques temps).
|
||||
|
||||
Du coup, on peut communiquer avec beaucoup plus de gens que sur facebook ou twitter, et surtout, beaucoup plus de gens qui partagent les mêmes centres d'intérêt.
|
||||
|
||||
Je n'ai pas encore bien pris le temps de m'occuper de mes followers ou de ceux que je follow, ce qui fait que ma liste est relativement restreinte. Mais j'ai déjà l'impression que c'est un nouveau monde qui s'étend à mes pieds - à mes doigts. Je me sens comme un explorateur qui vient de découvrir une terre inconnue, qui n'a qu'une hâte: l'explorer. D'autant que cette terre est déjà bien peuplée, vivante, comme si elle avait toujours été là.
|
||||
|
||||
Ce qui me permet de rebondir sur une critique que j'ai parfois entendu: non, ce n'est pas mort, non, ce n'est pas dépeuplé. C'est au contraire très actif, et de manière beaucoup plus intelligente que les autres réseaux sociaux.
|
||||
|
||||
Par un mystère que je ne m'explique pas, j'ai l'impression que des étrangers communiquent plus facilement sur status.net que sur n'importe quel autre réseau social. En ce qui concerne twitter, c'est peut être dû au fait que la communication est essentiellement uni-directionnelle, et concernant facebook, peut-être parce qu'il n'y a de communication que sur soi-même.
|
||||
|
||||
Sur status.net, c'est l'esprit Libre: on échange, on partage, on communique de manière omnidirectionnelle. Il suffit de faire partie d'un groupe pour que tous puissent lire ce que vous écrivez, tandis que vos posts (vos notices) ne quittent pas votre serveur.
|
||||
|
||||
Si vous faites partie de mes contacts facebook ou twitter, et que vous ne faites pas encore partie de mes contacts sur social.ingnu, je vous recommande donc chaudement de venir me rejoindre. [Créez-vous un compte sur mon instance](https://web.archive.org/web/20120221042913/https://social.ingnu.fr/main/register) (ou sur [identi.ca](https://web.archive.org/web/20120221042913/http://identi.ca/) par exemple), et ajoutez *ingnu@social.ingnu.fr* à ceux que vous suivez.
|
||||
|
||||
Peut-être alors qu'un jour, vous aussi vous quitterez les réseaux sociaux riches à milliards qui se servent de vos informations personnelles pour y parvenir, pour revenir du côté lumineux de la Force...
|
||||
@@ -0,0 +1,421 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/526
|
||||
date: '2012-02-19 00:14:00'
|
||||
dossier:
|
||||
- Créer son propre Cloud
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120221004524/http://ingnu.fr/2012/02/19/sauvegarder-et-restaurer-son-serveur/
|
||||
tags:
|
||||
- Backup
|
||||
- rsync
|
||||
- Sauvegarde
|
||||
title: Sauvegarder et restaurer son serveur
|
||||
weather:
|
||||
humidity: 96
|
||||
illuminance: 0.0
|
||||
precipitations: true
|
||||
pressure: 1012.4
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 3.6
|
||||
wind_direction: 226
|
||||
wind_speed: 16.5
|
||||
weight: 14
|
||||
---
|
||||
|
||||
Maintenant que nous disposons d'un serveur pratiquement complet pour [avoir son propre cloud](https://web.archive.org/web/20120221004524/http://ingnu.fr/category/creer-son-propre-cloud/), que nous avons [renforcé sa sécurité](https://web.archive.org/web/20120221004524/http://ingnu.fr/2012/02/13/renforcer-la-securite-de-son-serveur/) et que nous avons vu comment [opérer un monitoring basique](https://web.archive.org/web/20120221004524/http://ingnu.fr/2012/02/13/trucs-et-astuces-pour-son-serveur-prive/), nous allons voir comment sauvegarder et restaurer son serveur.
|
||||
|
||||
Nous allons faire appel au fameux [rsync](https://web.archive.org/web/20120221004524/http://rsync.samba.org/), pour ne pas encombrer notre serveur de solutions aussi lourdes à installer qu'à configurer, d'autant que je vous propose un script qui va simplifier tout ça, et même plus encore...
|
||||
|
||||
Vous pouvez placer ce script n'importe où : sur le serveur qui héberge vos services, sur votre propre machine, sur un serveur séparé, un NAS qui supporte rsync et l'authentification par clé, etc.
|
||||
Il suffit de configurer un peu le script pour que la sauvegarde se fasse presque toute seule.
|
||||
Elle est pas belle la vie Libre ?
|
||||
|
||||
## Choisir son dispositif de stockage
|
||||
|
||||
Communément, on sauvegarde sur une partition séparée, de préférence sur un disque séparé, peut être dans une machine séparée, ultimement dans un local séparé.
|
||||
Il n'y a véritablement que deux prérogatives à l'utilisation du script que je vous propose : la machine doit pouvoir utiliser rsync, et l'authentification par clé.
|
||||
Toute distribution GNU/Linux en est capable, vous ne devriez donc pas avoir trop de mal à disposer d'une plateforme adéquate.
|
||||
|
||||
Évidemment, une autre prérogative s'impose d'elle-même : l'espace disque disponible.
|
||||
|
||||
À titre d'exemple, sachez que j'utilise ce script pour sauvegarder deux serveurs et les documents d'une dizaine de personnes.
|
||||
Le premier, celui qui héberge ingnu.fr, héberge aussi tout un tas d'autres sites, un serveur mail d'une dizaine d'utilisateurs, les bases de données, etc.
|
||||
Au total, un snapshot des deux machines occupe à l'heure actuelle 7.6Go.
|
||||
|
||||
Mon script vous permet de disposer de deux types de sauvegardes : un instantané (appelé *snapshot*) et un instantané de chaque heure de chaque jour.
|
||||
Le premier instantané est en réalité vieux au maximum d'une minute, tandis que les autres instantanés vous permettent de remonter dans le temps par tranche d'une heure, sur un nombre de jours que vous pouvez déterminer.
|
||||
|
||||
Au final, sur cinq jours (qui est le réglage par défaut), l'espace disque total occupé par les sauvegardes n'est que doublé : il est actuellement de 13Go.
|
||||
Seuls les fichiers modifiés occupent la différence entre l'espace total et l'espace initial.
|
||||
|
||||
Vous n'avez donc pas besoin d'un disque de plusieurs téraoctets, à moins que vous ne vouliez sauvegarder aussi des fichiers comme des vidéos ou des distributions GNU/Linux en quantité industrielle...
|
||||
|
||||
## Créer la clé d'authentification
|
||||
|
||||
La communication entre le serveur et la machine qui exécute la sauvegarde (qui peut aussi être la même machine donc) se fait via rsync, donc ssh.
|
||||
La connexion est par conséquent chiffrée, et les transferts sont intelligents : la bande passante est minimisée.
|
||||
|
||||
Pour pouvoir tout sauvegarder d'un coup, on va donc sauvegarder en tant que root.
|
||||
Si vous sauvegardez depuis une machine distante, créez une clé avec la commande suivante :
|
||||
|
||||
```bash
|
||||
ssh-keygen -t rsa -f ~/.ssh/id_rsa_backup
|
||||
```
|
||||
|
||||
Que vous enverrez au serveur via la commande :
|
||||
|
||||
```bash
|
||||
ssh-copy-id -i ~/.ssh/id_rsa_backup.pub root@exemple.fr
|
||||
```
|
||||
|
||||
Vous devrez saisir le mot de passe root de la machine distante.
|
||||
Testez enfin l'accès :
|
||||
|
||||
```bash
|
||||
ssh root@exemple.fr
|
||||
```
|
||||
|
||||
Vous devriez être connecté sans avoir eu besoin de saisir votre mot de passe.
|
||||
|
||||
## Créer le script de sauvegarde
|
||||
|
||||
Créez un répertoire dédié au script et à sa configuration :
|
||||
|
||||
```bash
|
||||
mkdir -p /scripts/backup
|
||||
cd /scripts/backup
|
||||
mkdir conf.d include.d exclude.d
|
||||
```
|
||||
|
||||
Pour respecter le [Standard de Hiérarchie des Systèmes de Fichiers](https://web.archive.org/web/20120221004524/http://www.pathname.com/fhs/), nous devrions placer le script dans */usr/bin*, et la configuration dans */etc/backup*.
|
||||
Rien ne vous empêche de procéder de la sorte, à condition de modifier les chemins d'accès dans le script que nous allons voir tout de suite :
|
||||
|
||||
```bash
|
||||
nano backup
|
||||
```
|
||||
|
||||
```text
|
||||
#!/bin/bash
|
||||
|
||||
###############################################################################
|
||||
# Variables #
|
||||
###############################################################################
|
||||
|
||||
my_pid=$$
|
||||
my_dir=$(dirname $0)
|
||||
pid_file="/var/run/backup.pid"
|
||||
|
||||
conf_dir="$my_dir/conf.d"
|
||||
include_dir="$my_dir/include.d"
|
||||
exclude_dir="$my_dir/exclude.d"
|
||||
|
||||
log_dir="/var/log/backup"
|
||||
log_file="$log_dir/backup"
|
||||
|
||||
rsync_args="--archive --recursive --delete --delete-excluded"
|
||||
|
||||
backup_root="/mnt/backup"
|
||||
|
||||
rsync=$(which rsync)
|
||||
|
||||
current_date=$(date "+%Y-%m-%d")
|
||||
current_minute=$(date +%M)
|
||||
current_hour=$(date +%H)
|
||||
yesterday_date=$(date --date "yesterday" "+%Y-%m-%d")
|
||||
|
||||
max_age=5
|
||||
oldest_backup=$(date --date "$max_age days ago" "+%Y-%m-%d/%H")
|
||||
oldest_log=$(date --date "$max_age days ago" "+%Y-%m-%d")
|
||||
|
||||
###############################################################################
|
||||
# Fonctions #
|
||||
###############################################################################
|
||||
|
||||
function check_pid() {
|
||||
if [ -f "$pid_file" ]
|
||||
then
|
||||
old_pid=$(cat "$pid_file")
|
||||
old_pid_exists=$(ps -p $old_pid | grep -v TTY | awk -F " " '{print $1}')
|
||||
|
||||
if [ "$old_pid_exists" != "" ]
|
||||
then
|
||||
exit
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
function log() {
|
||||
if [ "$2" == "true" -o "$2" == "TRUE" -o "$2" == "yes" -o "$2" == "YES" -o "$2" == "1" ]
|
||||
then
|
||||
log_date=$(date "+%d/%m/%Y %H:%M:%S")
|
||||
|
||||
echo "[$log_date] $1" >> "$log_file"
|
||||
else
|
||||
echo "$1" >> "$log_file"
|
||||
fi
|
||||
}
|
||||
|
||||
function check_dir() {
|
||||
if [ ! -d "$1" ]
|
||||
then
|
||||
mkdir -p "$1"
|
||||
fi
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Lancement de la procédure #
|
||||
###############################################################################
|
||||
|
||||
##### Vérification des journaux ###############################################
|
||||
|
||||
check_dir "$log_dir"
|
||||
|
||||
if [ ! -f "$log_file" ]
|
||||
then
|
||||
touch "$log_file"
|
||||
fi
|
||||
|
||||
##### Déplacement des anciens journaux ########################################
|
||||
|
||||
if [ "$current_hour" == "00" -a "$current_minute" == "00" ]
|
||||
then
|
||||
mv "$log_file" "$log_file-$yesterday_date"
|
||||
fi
|
||||
|
||||
##### Démarrage de la procédure ###############################################
|
||||
|
||||
check_pid
|
||||
|
||||
echo $my_pid > "$pid_file"
|
||||
|
||||
start_date=$(date "+%d/%m/%Y %H:%M:%S")
|
||||
|
||||
log " "
|
||||
log "###############################################################################"
|
||||
log "# Début de la procédure : $start_date #"
|
||||
log "###############################################################################"
|
||||
log " "
|
||||
|
||||
list=$(ls "$conf_dir")
|
||||
|
||||
for host in $list; do
|
||||
conf_file="$conf_dir/$host"
|
||||
|
||||
source "$conf_file"
|
||||
|
||||
host_rsync_args="$rsync_args"
|
||||
host_snapshot="$backup_root/$host/snapshot"
|
||||
|
||||
if [ "$ENABLED" != "yes" -a "$ENABLED" != "YES" -a "$ENABLED" != "true" -a "$ENABLED" != "TRUE" -a "$ENABLED" != "1" ]
|
||||
then
|
||||
log "**** L'hôte $host est désactivé ****"
|
||||
log " "
|
||||
continue
|
||||
fi
|
||||
|
||||
log "**** Traitement de l'hôte $host ****"
|
||||
log " "
|
||||
|
||||
source="$SOURCE"
|
||||
target="$host_snapshot"
|
||||
|
||||
check_dir "$target"
|
||||
|
||||
log "Source : $SOURCE" true
|
||||
log "Destination : $target" true
|
||||
|
||||
if [ -f "$include_dir/$host" ]
|
||||
then
|
||||
log "Un fichier d'inclusion existe : $include_dir/$host" true
|
||||
host_rsync_args="$host_rsync_args --files-from=$include_dir/$host"
|
||||
fi
|
||||
|
||||
if [ -f "$exclude_dir/$host" ]
|
||||
then
|
||||
log "Un fichier d'exclusion existe : $exclude_dir/$host" true
|
||||
host_rsync_args="$host_rsync_args --exclude-from=$exclude_dir/$host"
|
||||
fi
|
||||
|
||||
log "Commande : $rsync $host_rsync_args $source $target" true
|
||||
log "Démarrage de la création ou mise à jour de l'instantané..." true
|
||||
|
||||
$rsync $host_rsync_args $source $target
|
||||
|
||||
log "Création ou mise à jour de l'instantané terminée" true
|
||||
|
||||
##### Sauvegarde périodique ###############################################
|
||||
|
||||
if [ "$current_minute" == "00" ]
|
||||
then
|
||||
log " "
|
||||
log "Sauvegarde périodique" true
|
||||
|
||||
source="$host_snapshot/"
|
||||
target="$backup_root/$host/$current_date/$current_hour/"
|
||||
|
||||
check_dir "$target"
|
||||
|
||||
log "Source : $source" true
|
||||
log "Destination : $target" true
|
||||
log "Commande : $rsync $host_rsync_args --links-dest=$source $SOURCE $target" true
|
||||
log "Démarrage de la sauvegarde périodique..." true
|
||||
|
||||
$rsync $host_rsync_args --link-dest="$source" "$SOURCE" "$target"
|
||||
|
||||
log "Sauvegarde périodique terminée" true
|
||||
fi
|
||||
|
||||
##### Suppression des anciennes sauvegardes ###############################
|
||||
|
||||
log " "
|
||||
log "Recherche d'une ancienne sauvegarde ($backup_root/$host/$oldest_backup)..." true
|
||||
|
||||
if [ -d "$backup_root/$host/$oldest_backup" ]
|
||||
then
|
||||
log "Une ancienne sauvegarde existe : $backup_root/$host/$oldest_backup" true
|
||||
log "Suppression de la sauvegarde la plus ancienne..." true
|
||||
|
||||
rm -rf "$backup_root/$host/$oldest_backup"
|
||||
|
||||
log "Suppression terminée" true
|
||||
else
|
||||
log "Il n'existe pas d'ancienne sauvegarde" true
|
||||
fi
|
||||
|
||||
log " "
|
||||
done
|
||||
|
||||
end_date=$(date "+%d/%m/%Y %H:%M:%S")
|
||||
|
||||
log "###############################################################################"
|
||||
log "# Fin de la procédure : $end_date #"
|
||||
log "###############################################################################"
|
||||
log " "
|
||||
|
||||
rm -f "$pid_file"
|
||||
```
|
||||
|
||||
Important : Veuillez noter que ce script me convient bien : rien ne vous empêche de faire des ajustements pour qu'il vous corresponde à VOUS !
|
||||
|
||||
Notice : Modifiez impérativement la variable *backup_root* !
|
||||
|
||||
Quelques explications.
|
||||
Si vous voulez respecter les FHS, modifiez les variables *conf_dir*, *include_dir* et *exclude_dir*.
|
||||
Vous pouvez également modifier la variable *max_age*, dont la valeur (un entier) représente le nombre de jours à conserver.
|
||||
|
||||
Ensuite, quelques fonctions classiques : recherche d'un pid existant (pour ne pas lancer deux sauvegardes simultanées), journalisation, et recherche et création de répertoire.
|
||||
|
||||
La procédure commence alors par la vérification de l'existence des journaux et leur archivage.
|
||||
Puis, le script récupère la liste des fichiers contenus dans *conf.d*, lit chacun d'entre eux pour obtenir deux directives de configuration (*$ENABLED* true/false et *$SOURCE* représentant la source à sauvegarder), recherche s'il existe un fichier d'inclusion (il vaut mieux sinon vous sauvegardez toute la partition, se trouve dans le répertoire *include.d*) et un fichier d'exclusion (facultatif, se trouve dans *exclude.d*).
|
||||
|
||||
Chaque minute (via une tâche cron), le script se lance, et créé ou met à jour l'instantané (le contenu du répertoire *$backup_root/$host/snapshot*).
|
||||
Chaque heure, ce snapshot est créé dans un répertoire distinct, en faisant appel aux hard links : le fichier n'est pas copié, mais un hard link est créé.
|
||||
Autrement dit, le fichier est accessible depuis deux adresses différentes.
|
||||
Même si la source (dans le *snapshot*) est supprimée, le fichier existe toujours grâce au hard link.
|
||||
Dans notre cas, cela nous permet d'économiser de l'espace disque.
|
||||
|
||||
La conséquence de cette façon de procéder est de disposer à tout instant d'une image complète du système de fichiers sauvegardé.
|
||||
Et le but, c'est de le restaurer en une ligne de commande (une simple copie suffira).
|
||||
|
||||
Enfin, on supprime les instantanés les plus anciens.
|
||||
|
||||
Attribuez le droit d'exécution au script :
|
||||
|
||||
```bash
|
||||
chmod +x backup
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
Vous disposez donc d'un répertoire *conf.d, include.d* et *exclude.d*.
|
||||
Le premier contiendra un fichier par machine à sauvegarder.
|
||||
Vous pouvez nommer ce fichier comme bon vous semble.
|
||||
Une seule règle à respecter : ce nom devra être le même que celui du fichier d'inclusions et du fichier d'exclusions.
|
||||
|
||||
Créons la configuration de notre cloud :
|
||||
|
||||
```bash
|
||||
nano conf.d/my_cloud
|
||||
```
|
||||
|
||||
```text
|
||||
ENABLED=true
|
||||
SOURCE=/
|
||||
```
|
||||
|
||||
Si le serveur est une machine différente, on utilisera la notation suivante :
|
||||
|
||||
```text
|
||||
SOURCE="root@exemple.fr:/"
|
||||
```
|
||||
|
||||
Avec cette configuration, on va sauvegarder l'ensemble de la machine concernée (ou plus exactement, l'intégralité de la partition */*).
|
||||
Ce n'est probablement pas ce que vous voulez, alors nous devons créer un fichier d'inclusions :
|
||||
|
||||
```bash
|
||||
nano include.d/my_cloud
|
||||
```
|
||||
|
||||
À peu de chose près, vous devriez mettre ceci :
|
||||
|
||||
```text
|
||||
/etc/amavis
|
||||
/etc/apache2
|
||||
/etc/bind
|
||||
/etc/clamav
|
||||
/etc/dovecot
|
||||
/etc/php5
|
||||
/etc/postfix
|
||||
/etc/prosody
|
||||
/etc/rc.local
|
||||
/etc/spamassassin
|
||||
/etc/ssl
|
||||
/opt
|
||||
/scripts
|
||||
/var/vmail
|
||||
/var/www
|
||||
/var/lib/mysql
|
||||
```
|
||||
|
||||
Avec ce contenu, vous devriez sauvegarder l'intégralité du serveur que nous avons configuré jusqu'à maintenant.
|
||||
|
||||
Pour éviter de sauvegarder des choses inutiles, créons un fichier d'exclusions :
|
||||
|
||||
```bash
|
||||
nano exclude.d/my_cloud
|
||||
```
|
||||
|
||||
```text
|
||||
log
|
||||
```
|
||||
|
||||
## Lancement
|
||||
|
||||
On édite la crontab de l'utilisateur qui procède à la sauvegarde :
|
||||
|
||||
```bash
|
||||
crontab -e
|
||||
```
|
||||
|
||||
```text
|
||||
* * * * * /scripts/backup/backup
|
||||
```
|
||||
|
||||
Et on vérifie le contenu du journal :
|
||||
|
||||
```bash
|
||||
tail -f /var/log/backup/backup
|
||||
```
|
||||
|
||||
## Restauration
|
||||
|
||||
Pour restaurer votre serveur, il suffit de copier vers lui tout ou partie de la dernière sauvegarde valide, via *scp*, tout simplement.
|
||||
Inutile de tergiverser : grâce à ce système de sauvegarde, il suffit d'une simple copie sécurisée pour restaurer le dernier état valide du serveur; contrairement à d'autres solutions de sauvegarde, pas besoin d'installer un agent sur la machine distante, une simple connexion ssh suffit !
|
||||
|
||||
## Conclusion
|
||||
|
||||
Nous voici arrivés à la fin de la série d'articles sur la création de son cloud personnel.
|
||||
Plus qu'un article à publier d'ici quelques minutes, alors à tout de suite !
|
||||
@@ -0,0 +1,115 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/527
|
||||
date: '2012-02-19 00:33:00'
|
||||
dossier:
|
||||
- Créer son propre Cloud
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120531001514/http://ingnu.fr/2012/02/19/vue-densemble-et-conclusion/
|
||||
title: Vue d'ensemble et conclusion
|
||||
weather:
|
||||
humidity: 97
|
||||
illuminance: 0.0
|
||||
precipitations: true
|
||||
pressure: 1011.8
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 3.5
|
||||
wind_direction: 224
|
||||
wind_speed: 17.1
|
||||
weight: 15
|
||||
---
|
||||
|
||||
Voilà, [notre série d'articles consacrée à la mise en place d'un cloud personnel](https://web.archive.org/web/20120531001514/http://ingnu.fr/category/creer-son-propre-cloud/) nous permettant de nous affranchir des solutions propriétaires en ayant recours uniquement à des Logiciels Libres touche à sa fin.
|
||||
Vous disposez désormais d'un ensemble d'outils performants, sécurisés, fiables et faciles à entretenir.
|
||||
Vous avez votre cloud !
|
||||
|
||||
Pour y voir un peu plus clair, je vous propose, à travers ce dernier article, de faire le point sur ce que nous avons fait, sur ce qui est en place, et sur ce qui peut encore être optimisé dans le futur.
|
||||
|
||||
## Articles publiés, sommaire
|
||||
|
||||
- [Créer son propre Cloud : Introduction](https://web.archive.org/web/20120531001514/http://ingnu.fr/2012/02/05/creer-son-propre-cloud-introduction/)
|
||||
- [Installer et configurer un serveur DNS](https://web.archive.org/web/20120531001514/http://ingnu.fr/2012/02/05/installer-et-configurer-un-serveur-dns/)
|
||||
- [Création de sa propre autorité de certification](https://web.archive.org/web/20120531001514/http://ingnu.fr/2012/02/06/creation-de-sa-propre-autorite-de-certification/)
|
||||
- [Installation de son propre serveur mail](https://web.archive.org/web/20120531001514/http://ingnu.fr/2012/02/06/installation-de-son-propre-serveur-mail/)
|
||||
- [Installation d'un serveur HTTP/HTTPS](https://web.archive.org/web/20120531001514/http://ingnu.fr/2012/02/07/installation-dun-serveur-http-https/)
|
||||
- [Kronolith : une alternative à Google Calendar](https://web.archive.org/web/20120531001514/http://ingnu.fr/2012/02/07/kronolith-une-alternative-a-google-calendar/)
|
||||
- [Communiquer via XMPP](https://web.archive.org/web/20120531001514/http://ingnu.fr/2012/02/08/communiquer-via-xmpp/)
|
||||
- [Son propre réseau social avec status.net](https://web.archive.org/web/20120531001514/http://ingnu.fr/2012/02/08/son-propre-reseau-social-avec-status-net/)
|
||||
- [Partager ses fichiers sur les réseaux sociaux avec SMP](https://web.archive.org/web/20120531001514/http://ingnu.fr/2012/02/09/partager-ses-fichiers-sur-les-reseaux-sociaux-avec-smp/)
|
||||
- [Une alternative à Dropbox](https://web.archive.org/web/20120531001514/http://ingnu.fr/2012/02/12/une-alternative-a-dropbox/)
|
||||
- [Gérer ses photos avec PhotoShow](https://web.archive.org/web/20120531001514/http://ingnu.fr/2012/02/13/gerer-ses-photos-avec-photoshow/)
|
||||
- [Renforcer la sécurité de son serveur](https://web.archive.org/web/20120531001514/http://ingnu.fr/2012/02/13/renforcer-la-securite-de-son-serveur/)
|
||||
- [Trucs et astuces pour son serveur privé](https://web.archive.org/web/20120531001514/http://ingnu.fr/2012/02/13/trucs-et-astuces-pour-son-serveur-prive/)
|
||||
- [Sauvegarder et restaurer son serveur](https://web.archive.org/web/20120531001514/http://ingnu.fr/2012/02/19/sauvegarder-et-restaurer-son-serveur/)
|
||||
|
||||
## Ports réseaux
|
||||
|
||||
En toute logique, depuis l'extérieur, tous les ports de votre serveur sont fermés, à l'exception des ports suivants :
|
||||
|
||||
| Port | Utilisation |
|
||||
| --- | --- |
|
||||
| 22 | Accès au serveur via SSH |
|
||||
| 25 | Accès au serveur SMTP (connexion non sécurisée) |
|
||||
| 53 | Accès au serveur DNS |
|
||||
| 80 | Accès au serveur HTTP (connexion non sécurisée) |
|
||||
| 443 | Accès au serveur HTTPS (connexion sécurisée) |
|
||||
| 465 | Accès au serveur SMTPS (connexion sécurisée) |
|
||||
| 993 | Accès au serveur IMAPS (connexion sécurisée) |
|
||||
| 5222 | Accès au serveur XMPP |
|
||||
| 5269 | Accès au serveur XMPP |
|
||||
|
||||
## Applications installées
|
||||
|
||||
- [Apache](https://web.archive.org/web/20120531001514/http://www.apache.org/) (serveur HTTP et HTTPS + Webdav)
|
||||
- [Bind](https://web.archive.org/web/20120531001514/http://www.isc.org/software/bind) (serveur DNS)
|
||||
- [MySQL](https://web.archive.org/web/20120531001514/http://www.mysql.com/) (base de données)
|
||||
- [Postfix](https://web.archive.org/web/20120531001514/http://www.postfix.org/) (serveur SMTP et SMTPS)
|
||||
- [Dovecot](https://web.archive.org/web/20120531001514/http://dovecot.org/) (serveur IMAP et IMAPS, gestion des filtres sieve)
|
||||
- [Prosody](https://web.archive.org/web/20120531001514/http://prosody.im/) (serveur XMPP et BOSH)
|
||||
- [Unison](https://web.archive.org/web/20120531001514/http://www.cis.upenn.edu/~bcpierce/unison/) (synchronisation)
|
||||
- [fail2ban](https://web.archive.org/web/20120531001514/http://www.fail2ban.org/) (sécurisation)
|
||||
- [rsync](https://web.archive.org/web/20120531001514/http://rsync.samba.org/) (sauvegarde)
|
||||
|
||||
## Applications web installées
|
||||
|
||||
- [phpMyAdmin](https://web.archive.org/web/20120531001514/http://www.phpmyadmin.net/) (gestion de la base de données)
|
||||
- [RoundCube](https://web.archive.org/web/20120531001514/http://roundcube.net/) (client mail)
|
||||
- [Horde](https://web.archive.org/web/20120531001514/http://www.horde.org/) + [Kronolith](https://web.archive.org/web/20120531001514/http://www.horde.org/apps#kronolith-) (agenda partagé)
|
||||
- [Jappix](https://web.archive.org/web/20120531001514/https://project.jappix.com/) (client XMPP)
|
||||
- [Status.net](https://web.archive.org/web/20120531001514/http://status.net/) (réseau social)
|
||||
- [SMP](https://web.archive.org/web/20120531001514/http://sharemypics.net/) (partage de fichiers sur les réseaux sociaux)
|
||||
- Horde + [Gollem](https://web.archive.org/web/20120531001514/http://www.horde.org/apps#gollem-) (accès aux fichiers)
|
||||
- [PhotoShow](https://web.archive.org/web/20120531001514/http://www.photoshow-gallery.com/) (galerie de photos)
|
||||
- [phpSysInfo](https://web.archive.org/web/20120531001514/http://phpsysinfo.sourceforge.net/) (monitoring)
|
||||
|
||||
## Améliorations, ajouts
|
||||
|
||||
En l'état, vous disposez d'une base, bien fournie mais une base tout de même à laquelle on peut ajouter beaucoup d'autres choses :
|
||||
|
||||
- un serveur de streaming audio/vidéo
|
||||
- des serveurs de jeux comme Minecraft ou Half Life qui offrent un serveur natif GNU/Linux
|
||||
- des scripts plus personnalisés
|
||||
- d'autres applications web (blog, agrégateur de contenu, syndication, utilitaires de la vie courante)
|
||||
- la gestion d'un onduleur
|
||||
- j'aurai aimé compléter l'article sur [XMPP](https://web.archive.org/web/20120531001514/http://ingnu.fr/2012/02/08/communiquer-via-xmpp/) en rajoutant des astuces pour l'intégration avec postfix/dovecot pour la notification de nouveaux messages ou pour un monitoring interactif du serveur, mais je n'ai pas eu le temps de tester moi-même
|
||||
- et probablement d'autres choses qui ne me viennent pas immédiatement à l'esprit
|
||||
|
||||
## Remerciements
|
||||
|
||||
Je remercie :
|
||||
|
||||
- tous mes lecteurs qui ont contribué de près ou de loin à la rédaction de ces articles
|
||||
- les bloggeurs qui m'ont linké
|
||||
- mes followers, qu'ils soient sur twitter, facebook ou [status.net](https://web.archive.org/web/20120531001514/https://social.ingnu.fr/ingnu)
|
||||
- Coca Cola et Red Bull (qui auraient pu me fournir quelques canettes gracieusement, franchement...)
|
||||
- ma femme qui m'a supporté
|
||||
- mes chats qui ne sont pas montés sur le bureau trop souvent pendant que j'écrivais
|
||||
- mes PC qui ne m'ont pas lâché pendant que je les torturais
|
||||
- l'Allemagne qui ne signe pas ACTA
|
||||
- mes parents sans qui je ne serai pas là aujourd'hui
|
||||
- ceux qui riront en lisant mes remerciements, particulièrement celle concernant mes parents
|
||||
|
||||
Continuez de m'écrire, me linker et m'aider.
|
||||
Vous me donnez un but en le faisant : contribuer aux communautés du Libre !
|
||||
@@ -0,0 +1,3 @@
|
||||
description: "Couverture originale créée localement pour accompagner la republication de l'article Les 6 fléaux d'Internet."
|
||||
attribution: "Codex"
|
||||
prompt: "Illustration abstraite éditoriale sur Internet et son architecture, avec globe stylisé, arcs de connexion et ambiance rétro-web 2012, sans texte, sans logo."
|
||||
|
After Width: | Height: | Size: 104 KiB |
@@ -0,0 +1,100 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/528
|
||||
cover: images/cover.png
|
||||
date: '2012-02-25 00:02:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120318074613/http://ingnu.fr/2012/02/25/les-6-fleaux-dinternet/
|
||||
tags:
|
||||
- Internet
|
||||
- Chiffrement
|
||||
- DNS
|
||||
- Fai
|
||||
- Ipv6
|
||||
- Motdepasse
|
||||
- Tracabilite
|
||||
title: Les 6 fléaux d'Internet
|
||||
weather:
|
||||
humidity: 99
|
||||
illuminance: 0.0
|
||||
precipitations: false
|
||||
pressure: 1026.2
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 5.6
|
||||
wind_direction: 238
|
||||
wind_speed: 11.5
|
||||
---
|
||||
|
||||
Internet est une avancée majeure dans l'histoire de la civilisation humaine. C'est le seul outil de communication qui peut se vanter de réunir les peuples, de permettre à un juif et un musulman de se parler ou à un chinois ou un coréen de s'exprimer. C'est aussi l'outil le plus puissant à la disposition de l'Homme pour partager culture et connaissance. Bref, je ne vais pas faire l'apologie d'Internet: c'est pour moi l'une des plus grandes et belles inventions de l'Homme qui n'imitent pas la Nature (là dessus aussi il y a de quoi déblatérer: quelles sont les "vraies "inventions de l'Homme, celles dont il ne s'est pas inspiré de la Nature, mais c'est un autre sujet).
|
||||
|
||||
Malheureusement, dans sa conception actuelle, Internet souffre de nombreux défauts dont je vais vous parler aujourd'hui. Il y en a peut être d'autres, peut être que certains d'entre vous jugeront que ce ne sont pas des problèmes. Pour moi, baroudeur du Net depuis presque la première heure, conscient des implications techniques du Réseau des réseaux, voici ce que je considère comme étant les fléaux d'Internet.
|
||||
|
||||
## Le système de gestion des noms de domaine
|
||||
|
||||
[J'en ai déjà parlé](https://web.archive.org/web/20120318074613/http://ingnu.fr/2012/01/11/comment-licann-va-tuer-internet-et-comment-len-empecher/), j'estime que le DNS dans son état actuel est l'un des plus gros défauts d'Internet. Pour commencer, le simple fait de ne pas être propriétaire mais seulement locataire d'un nom de domaine est inacceptable. Ensuite, c'est un système extrêmement fragile. Un peu comme une bombe atomique, on ne se sert pas des attaques massives contre les serveurs DNS parce qu'on connaît le résultat: ce serait tout bonnement terrifiant.
|
||||
|
||||
Bien qu'étant un système décentralisé (si un serveur DNS, même racine, se casse la gueule, Internet continue de fonctionner), il n'en reste pas moins que des attaques massives contre un système aussi fragile seraient catastrophiques, à cause du système de propagation. Lancer un déni de service massif contre un serveur ne ferait que le mettre hors-ligne: il suffit de relancer le serveur. Par contre, saboter les enregistrements DNS serait beaucoup plus grave.
|
||||
|
||||
La faute à un système non chiffré, non authentifié (ou trop peu), et paradoxalement "centralisé": seuls quelques prestataires dans le monde ont la possibilité de gérer des noms de domaine. Ce qui explique pourquoi on ne peut pas être propriétaire de son propre domaine.
|
||||
|
||||
Autrement dit, si chacun pouvait déclarer au monde entier que LUI possède le domaine *exemple.fr*, et que seul LUI peut diffuser l'adresse des serveurs appartenant au domaine, je pense qu'on gagnerait en sécurité, mais aussi en liberté. C'est d'ailleurs l'objet du projet [ODDNS](https://web.archive.org/web/20120318074613/http://oddns.ingnu.fr/) que j'ai furtivement lancé et qui, pour le moment, ne fait pas grand bruit. Mais je pense qu'il y a matière à réflexion.
|
||||
|
||||
## Les connexions non chiffrées
|
||||
|
||||
C'est tellement simple de chiffrer une connexion, je ne comprends pas pourquoi ce n'est pas systématique dans le cadre de manipulation de données personnelles. Les gros sites (Google, Twitter) commencent à s'y mettre, mais comment ça se fait que ce ne fut pas proposé dès le début? Ça s'auto-signe un certificat si on n'a pas les moyens de s'en payer un "valide", au moins dans un premier temps.
|
||||
|
||||
Quand je téléphone à quelqu'un sur un sujet personnel, j'apprécie de ne pas avoir quelqu'un qui écoute au milieu. C'est exactement à ça que sert le chiffrement.
|
||||
|
||||
Alors je vous invite tous, si ce n'est pas déjà fait, à:
|
||||
|
||||
- [Installer des certificats sur vos sites "sensibles"](https://web.archive.org/web/20120318074613/http://ingnu.fr/2012/02/06/creation-de-sa-propre-autorite-de-certification/) , privés (une instance de status.net par exemple)
|
||||
|
||||
- Créer des clés GPG pour vos mails (ça fera l'objet d'un prochain article)
|
||||
|
||||
- N'utiliser que des services chiffrés lorsque cela est possible
|
||||
|
||||
## Les fournisseurs d'accès à Internet
|
||||
|
||||
C'est eux qui ont le pouvoir technique. Si les gouvernements obligent les FAI à empêcher l'accès à un site (ce qui ne serait pas possible avec un système tel que ODDNS), ou couper la connexion Internet d'un client, eux seuls peuvent le faire.
|
||||
|
||||
Il existe des [FAIs alternatifs](https://web.archive.org/web/20120318074613/http://www.ffdn.org/doku.php). L'idée est excellente, la conception simple.
|
||||
|
||||
Mais il existe encore des freins conséquents à la mise en place d'un réseau affranchi des FAIs, à commencer par les infrastructures, en particulier le "simple "fait d'avoir un câblage parfaitement indépendant.
|
||||
|
||||
Il "suffirait "de pouvoir tirer un câble vers son voisin, et que lui tire un câble vers son voisin, etc. Après, les geeks, il y en a partout: la mise en place d'un routeur est très simple. Autre avantage de cette solution, bien qu'elle nécessite le coût d'installation de départ et l'adoption massive du principe, l'accès à Internet serait gratuit pour tout le monde.
|
||||
|
||||
## Les mots de passe
|
||||
|
||||
Peut être l'idée la plus stupide dans le domaine de l'informatique (à part bien sûr l'obfuscation de code source). Trop de gens mettent 1234 (ou 123456 si le mot de passe doit être plus long...), ou des dates de naissances, des prénoms, brefs, des suites de caractères faciles à prévoir.
|
||||
|
||||
Je trouve l'idée encore plus stupide en entreprise: mettre un mot de passe sur une machine en entreprise, c'est dire à tout le monde qu'on fait des choses sur cette machine dont on n'est pas très fier. Le problème est différent sur les serveurs: il est évident qu'on ne va pas laisser tout le monde trifouiller un serveur. Mais une machine cliente, j'ai du mal à comprendre. Les données d'entreprises sensibles peuvent être stockées sur une partition chiffrée, à l'abri des regards indiscrets, protégée par un certificat, par exemple...
|
||||
|
||||
## La traçabilité
|
||||
|
||||
Quand un serveur A contacte un serveur B et en attend une réponse, il est impossible que les deux machines ne communiquent pas leur adresse IP. C'est logique, et là encore, c'est le même principe que le téléphone: l'adresse IP est le numéro de téléphone à contacter. Il est impensable de contacter une machine précise sans en connaître un identifiant quelconque, identifiant largement diffusé et accessible publiquement. Pour l'heure, il s'agit de l'adresse IP.
|
||||
|
||||
Le problème, c'est que ces adresses IP sont traçables géographiquement. Si vous faites une recherche géographique sur ingnu.fr, vous verrez que le serveur est hébergé à Vitry.
|
||||
|
||||
Je pense que c'est une donnée qui non seulement ne doit pas être communiquée, mais en plus qui n'aide pas une machine A à contacter une machine B. Les ordinateurs s'en foutent comme de leur premier disque dur de l'emplacement géographique de leur correspondant. Ils veulent juste savoir comment le contacter, via quelle adresse IP.
|
||||
|
||||
On pourrait imaginer tout un tas de choses: pour identifier un humain sur une machine, on peut avoir recours aux clés RSA par exemple. Pourquoi ne pas imaginer une surcouche aux protocoles réseaux, dont la clé RSA serait celle de l'ordinateur à contacter? Ce qui permettrait dans le même temps de chiffrer l'intégralité de la communication avec cet ordinateur, sans révéler en clair la clé RSA de la machine émettrice. Du coup, la connexion serait intraçable.
|
||||
|
||||
## IPv6
|
||||
|
||||
Effectivement, le monde est en pénurie d'adresses IPv4, à cause de la multiplication, la prolifération des périphériques mobiles notamment. La réponse à cette pénurie nous vient d'IPv6. En gros, on en a pour des millénaires avant d'épuiser le stock d'adresses IPv6.
|
||||
|
||||
C'est bien beau tout ça, mais IPv6 (dont le lancement mondial se fera le 06/06, je le rappelle) change pas mal d'autres choses, notamment le routage.
|
||||
|
||||
Mon sentiment personnel est que ces modifications ont une incidence néfaste sur la sécurité des réseaux de part la compréhension relativement difficile du nouveau protocole et le manque de support des constructeurs sur du matériel réseau moins récent. Je vais digresser, mais le fait que les firmwares de la majorité des routeurs sur le marché ne sont pas libres n'aide probablement pas à ce que la migration vers IPv6 se fasse sans douleur.
|
||||
|
||||
IPv6 est nécessaire, je serai bien bête de dire le contraire. Mais la communication autour de son adoption devrait être plus grand public: après tout, beaucoup de locataires de box vont passer en IPv6 même sans le savoir, ce qui peut leur causer des désagréments en matière de sécurité puisqu'ils ne savent pas comment configurer leur box.
|
||||
|
||||
On pourra bien sûr m'objecter que les paramètres par défaut devraient être corrects. Il n'en reste pas moins qu'encore une fois, c'est mon sentiment personnel. IPv6 risque de causer des problèmes de sécurité dans un premier temps, jusqu'à ce qu'il soit parfaitement maîtrisé.
|
||||
|
||||
## Conclusion
|
||||
|
||||
Je m'attends à ce qu'on me traite de paranoïaque, et je ne m'attends pas à ce qu'on me dise visionnaire. Mais en tenant compte de mon expérience du Réseau, de mes convictions personnelles, de ma connaissance technique de l'informatique, j'espère qu'Internet tel qu'on le connaît est voué à disparaitre au profit de réseaux connectés n'ayant plus à subir les désagréments que je viens d'évoquer. Malheureusement, en l'état actuel des choses, je crois qu'Internet est trop ancré dans un modèle économique pour que son modèle technique change radicalement.
|
||||
|
||||
Il faut s'attendre à l'émergence d'un réseau parallèle à Internet, relié à lui par une unique voie d'accès unilatérale, empêchant Internet d'accéder à ce réseau, mais laissant ce réseau accéder à Internet. Internet va devenir commercial à 100%, tandis que ce réseau alternatif ne sera soumis à aucune loi capitaliste et sera Libre à 100%. En tout cas, il faut y travailler. C'est, à mon humble avis, urgent et capital pour l'avenir de l'informatique.
|
||||
@@ -0,0 +1,3 @@
|
||||
description: "Couverture originale créée localement pour accompagner la republication de l'article Hadopi ne sert à rien."
|
||||
attribution: "Codex"
|
||||
prompt: "Illustration abstraite éditoriale sur la contrainte et la censure numérique, avec barres verticales, trait de rupture et ambiance rétro-web 2012, sans texte, sans logo."
|
||||
|
After Width: | Height: | Size: 134 KiB |
@@ -0,0 +1,53 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/529
|
||||
cover: images/cover.png
|
||||
date: '2012-02-29 20:36:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120302060425/http://ingnu.fr/2012/02/29/hadopi-ne-sert-a-rien/
|
||||
tags:
|
||||
- Internet
|
||||
- Censure
|
||||
- Google
|
||||
- Paypal
|
||||
title: Hadopi ne sert à rien
|
||||
weather:
|
||||
humidity: 97
|
||||
illuminance: 0.0
|
||||
precipitations: false
|
||||
pressure: 1022.1
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 7.4
|
||||
wind_direction: 76
|
||||
wind_speed: 10.7
|
||||
---
|
||||
|
||||
J'adore la classe avec laquelle la France est capable de se ridiculiser.
|
||||
|
||||
Le 19 janvier dernier, le FBI a fait fermé le site MegaUpload, site basé en dehors des États-Unis, donc "hors de la juridiction "du FBI. Hors d'atteinte même, normalement des États-Unis. Et pourtant, quand les lobbys montrent les crocs, on soulève des montagnes pour satisfaire leurs caprices.
|
||||
|
||||
D'après une information relayée par Numerama, la fermeture de MegaUpload aurait incité la moitié des téléchargeurs à arrêter. Ça, et puis le fait que RapidShare et compagnie ont pris peur, taillé dans le gras, ne laissant plus rien aux pirates de la culture. Le FBI rôde, et tel un rapace, il plane au-dessus d'eux, et on ne peut pas prévoir quand il va attaquer.
|
||||
|
||||
Ceci dit, les États-Unis (ou plus précisément, certaines entreprises étasuniennes) ont compris qu'il n'y avait même pas besoin de sortir l'arsenal juridique pour faire fermer un site. Faut taper là où ça fait mal. Pas les noyaux non, le porte-feuille.
|
||||
|
||||
C'est ainsi que le français UpToBox est en train de couler, PayPal et Google l'ayant privé de ses ressources publicitaires. Deux des plus gros acteurs d'Internet qui commencent à faire la loi (Google et eBay, je rappelle que PayPal appartient à eBay). Et ils sont américains. Inutile de dire qu'il y a fort à parier que ce genre d'opérations se multiplient dans un avenir proche.
|
||||
|
||||
Ça, c'est gouverner par la terreur. Ça coûte pas cher, il suffit d'une action pour calmer tout le monde. Genre Hiroshima. À la States quoi.
|
||||
|
||||
On parle d'Hadopi depuis près de trois ans. À raison d'une dizaine de millions d'euros claqués par an, ça fait déjà trente millions qui ont été dépensé. Mais c'est notre cher Nicolas Sarkozy, et notre cher Frédéric Mitterand qui vont s'approprier la réussite des États-Unis, puisque [la Hadopi a réduit de 35% le piratage en France](https://web.archive.org/web/20120302060425/http://reflets.info/grace-a-hadopi-le-piratage-a-recule-de-35-mais-il-faut-aller-plus-loin-et-sattaquer-au-streaming-sarkozy/).
|
||||
|
||||
Et encore, 10 millions par an, c'est un chiffre politiquement correct. Je cite Mr Hervé Féron:
|
||||
|
||||
> Quel sera le coût de l'identification des adresses IP? Les barèmes sur les réquisitions judiciaires en matière d'internet n'existent pas encore - ce qui permet de douter de l'application de la loi "Hadopi 2 "- mais dans le code de procédure pénale, le tarif applicable à l'identification d'un abonné ADSL est de 8,50 euros. Si l'on table, comme les majors de la musique et du cinéma, sur 50 000 identifications quotidiennes - chiffre confirmé par le directeur général de la fédération française des télécoms (FFT) - cela ferait 425 000 euros par jour, soit plus que les subventions octroyées annuellement à la production cinématographique, que la Hadopi est censée défendre!
|
||||
|
||||
Ça, c'est gouverner à la française. On fait raquer tout le monde pour de la merde, et on fait passer ça pour la solution du siècle.
|
||||
|
||||
Je ne parle pas des magouilles sous-jacentes au business Hadopi, TMG et Amesys, un site comme [Reflets](https://web.archive.org/web/20120302060425/http://reflets.info/) est bien mieux documenté sur le sujet que moi.
|
||||
|
||||
Au final, une somme d'argent colossale est attribuée à des fumisteries. NOTRE argent, puisque c'est nous qui finançons ce genre de conneries. En payant des impôts, on se rend responsables du bridage, du filtrage, de la censure dans les pays qui ont acheté ces solutions logicielles à la France.
|
||||
|
||||
Au moins, aux États-Unis, la chasse aux pirates coûte moins cher vu que ce ne sont que quelques grosses entreprises qui s'en chargent: ce n'est même plus l'État qui paye. Loin de moi l'idée d'approuver ce que fait Google ou eBay, vous savez quelle est ma position sur le premier. Mais ce n'est pas le contribuable qui paye.
|
||||
|
||||
Parmi les solutions qui s'offrent à nous pour éviter notre escalade (ou notre chute...) vers un Internet contrôlé par quelques grosses mafias: [s'abstenir de voter](https://web.archive.org/web/20120302060425/http://ingnu.fr/2012/02/29/pourquoi-il-est-vital-de-ne-plus-voter/), et basculer massivement et rapidement vers un Internet décentralisé.
|
||||
@@ -0,0 +1,161 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/530
|
||||
date: '2012-03-07 01:41:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120318075022/http://ingnu.fr/2012/03/07/presentation-dodin/
|
||||
tags:
|
||||
- ODDNS
|
||||
title: Présentation d'Odin
|
||||
weather:
|
||||
humidity: 77
|
||||
illuminance: 0.0
|
||||
precipitations: false
|
||||
pressure: 1023.5
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: -0.1
|
||||
wind_direction: 123
|
||||
wind_speed: 7.3
|
||||
---
|
||||
|
||||
Cela fait quelques jours que je n'ai plus écris d'article sur ingnu.
|
||||
Peut-être même attendiez-vous fébrilement devant votre flux RSS une manifestation quelconque d'activité sur ingnu.
|
||||
En tout cas, ça me plait bien d'y croire :) Bref.
|
||||
|
||||
J'ai consacré ces derniers jours au développement d'ODDNS, nom de code Odin.
|
||||
C'est un projet dont j'ai [vaguement lancé l'idée](https://web.archive.org/web/20120318075022/http://ingnu.fr/2012/01/11/comment-licann-va-tuer-internet-et-comment-len-empecher/) il y a quelques temps mais Grovi, habitué du [serveur IRC de ingnu](https://web.archive.org/web/20120318075022/http://ingnu.fr/contact/), m'a pourtant fait part d'une certaine attente, abordée notamment sur la radio [Ici et Maintenant](https://web.archive.org/web/20120318075022/http://icietmaintenant.com/) (si vous me lisez et que vous possédez un enregistrement de l'émission dans laquelle on a parlé d'ingnu ou de ODDNS, n'hésitez pas à me l'envoyer !).
|
||||
Une alternative Libre, totalement décentralisée et neutre au système DNS actuel, dans ces temps de censure et de blocage par DNS, représente à mon sens une réponse vitale et urgente.
|
||||
C'est pourquoi je vous ai lâchement abandonné ces derniers jours.
|
||||
|
||||
Je reviens aujourd'hui avec la création d'une nouvelle catégorie du blog, [ODDNS](https://web.archive.org/web/20120318075022/http://ingnu.fr/category/oddns-2/), dans laquelle je vais régulièrement publier des informations relatives au projet, cet article en étant le premier représentant.
|
||||
|
||||
## Présentation
|
||||
|
||||
ODDNS se présente comme une sorte de surcouche à DNS.
|
||||
Quand vous voulez vous connecter à ingnu.fr, votre navigateur demande d'abord à un serveur DNS quelle est l'adresse IP associée à ce domaine, un peu comme si vous cherchiez un nom dans votre répertoire avant de l'appeler : votre téléphone affiche le nom de votre correspondant, mais n'appelle pas son nom : le téléphone compose son numéro.
|
||||
DNS, c'est le même principe.
|
||||
|
||||
Or, les gouvernements (voire des entreprises privées qui en font la demande) ont la possibilité d'empêcher les internautes d'accéder à certains noms de domaine, de manière plus ou moins arbitraire.
|
||||
Les sites hébergés sur ces noms de domaines ne sont plus accessibles via le nom de domaine.
|
||||
Ils restent toutefois accessibles via leur adresse IP.
|
||||
|
||||
ingnu.fr n'est pas le seul domaine que j'héberge.
|
||||
Pour répondre à plusieurs domaines différents en utilisant un seul serveur HTTP(S), je fais appel aux hôtes virtuels : le serveur envoi au client les pages qui correspondent au domaine qu'il a demandé.
|
||||
Par conséquent, si mon domaine est inaccessible et que le client cherche à contacter mon serveur web directement via son adresse IP, il ne tombera pas sur le site voulu, puisque mon serveur web ne saura pas quelle page lui envoyer.
|
||||
|
||||
Enfin, autre problème posé par le système DNS actuel, s'assurer l'utilisation pour soi de son propre nom de domaine implique de mettre la main au portefeuille.
|
||||
Nous ne sommes que locataires de nos noms de domaines.
|
||||
|
||||
Voilà les problématiques auxquelles répond ODDNS.
|
||||
Puisque les internautes se partagent les informations relatives à un domaine, il n'est pas possible de le bloquer.
|
||||
La censure au niveau DNS est donc rendue parfaitement inutile.
|
||||
D'autre part, le chiffrement des informations transitant entre un client et un serveur assure la confidentialité des requêtes.
|
||||
Enfin, on redevient propriétaire de ses noms de domaine : les registrars deviennent inutiles, tout comme l'ICANN.
|
||||
Internet retrouvera un peu de sa neutralité.
|
||||
|
||||
## Mes choix de développement
|
||||
|
||||
Il y avait beaucoup de façons différentes de créer ODDNS.
|
||||
J'aurai pu m'appuyer sur torrent, XMPP, ou écrire un module pour chaque serveur DNS existant.
|
||||
J'ai fais un choix qui peut paraître surprenant, voire laisser penser à un manque de sérieux, ou je ne sais quelle autre mauvaise intention qu'on me prêterait.
|
||||
J'ai décidé de développer ODDNS en PHP, et ce pour un certain nombre de raisons.
|
||||
|
||||
Pour commencer, PHP est disponible pour toutes les plateformes.
|
||||
L'application sera parfaitement portable.
|
||||
Ensuite, les bibliothèques disponibles pour PHP (notamment [PEAR](https://web.archive.org/web/20120318075022/http://pear.php.net/) que j'utilise autant que faire se peut) correspondent bien à l'usage de ODDNS.
|
||||
Je n'ai encore trouvé aucune fonctionnalité à ODDNS qui requiert une bibliothèque qui n'existe pas déjà.
|
||||
|
||||
Une autre raison majeure de l'utilisation de PHP est la future présence dans le paquet logiciel d'une interface web codée en PHP, qui exploitera massivement les bibliothèques ODDNS que j'ai conçu.
|
||||
Cette interface web permettra de gérer tous les aspects de l'installation d'ODDNS : démarrage, arrêt et redémarrage du serveur, mise à jour client et serveur, statistiques, infrastructure de clés publiques, absolument tout.
|
||||
Cette interface web viendra compléter les scripts exécutables en console.
|
||||
|
||||
Ensuite, là où certains auraient opté pour TLS/SSL, j'ai décidé d'implémenter le chiffrement via [GNUPG](https://web.archive.org/web/20120318075022/http://gnupg.org/).
|
||||
Pour commencer, parce que c'est 100% Libre.
|
||||
Ensuite, par ce que je peux chiffrer des chaînes de n'importe quelle taille (si un message entre un client et un serveur dépasse la taille d'un certificat TLS, le message doit être scindé, ce qui complique inutilement le développement).
|
||||
D'autre part, GNUPG me permet de chiffrer et signer les messages, ce qui me permet d'implémenter une notion d'hôtes de confiance.
|
||||
Je sais que TLS le permet aussi, mais puisque GNUPG l'intègre, autant s'en servir.
|
||||
|
||||
## État des lieux
|
||||
|
||||
J'ai développé un certain nombre de classes.
|
||||
Certaines d'entre elles sont préfixées "ODDNS".
|
||||
Les autres sont conçues pour être réutilisables à volonté.
|
||||
C'est notamment le cas des classes serveur, client et client d'un serveur (ce n'est pas tout à fait la même notion, le client d'un serveur est le client du point de vue du serveur, alors que le client est celui qui se connecte au serveur).
|
||||
Certaines classes ODDNS héritent de ces classes génériques pour implémenter notamment le chiffrement.
|
||||
|
||||
Cela signifie également qu'il est tout à fait possible d'écrire rapidement des bibliothèques pour supporter d'autres types de chiffrement (notamment TLS).
|
||||
Le stockage des données peut aussi faire l'objet de code spécifique (par exemple, pour stocker certains objets dans une base de données ou un serveur LDAP).
|
||||
|
||||
Tout le code est conçu pour gérer le paradigme évènementiel, ce qui simplifie et donc clarifie le code.
|
||||
|
||||
Le protocole en lui-même (utilisé donc pour la communication entre client et serveur) est totalement arbitraire, et ne dépend pas de fonctions PHP.
|
||||
Il est donc possible de lire le protocole, et d'en créer un serveur et un client dans n'importe quel langage de programmation.
|
||||
|
||||
Là encore, c'est peut être un choix qui semblera étrange à certains, mais qui rejoint l'idée d'ouverture d'ODDNS.
|
||||
Créer un protocole propre à ODDNS permet plus de fantaisie que si je m'étais basé sur un protocole existant.
|
||||
Cela permettra notamment de l'étendre facilement (une simple classe séparée du reste du code gère tous les messages du protocole), et pourquoi pas, remplacer le protocole DNS actuel en faisant répondre le serveur ODDNS aux requêtes DNS classiques.
|
||||
|
||||
En ce qui concerne la configuration, elle est scindée en trois partie.
|
||||
La partie globale, la partie cliente qui définit les serveurs à contacter pour récupérer les informations d'un domaine particulier, et la partie serveur qui détient ces informations.
|
||||
Un serveur ODDNS est donc un serveur qui transmet au client ODDNS les informations relatives à un nom de domaine, que le client ODDNS transformera pour être exploitables par le serveur DNS installé sur la même machine que lui.
|
||||
Par conséquent, le serveur DNS répondra aux requêtes concernant le domaine en question pour toutes les machines qui seront sur le même réseau.
|
||||
|
||||
Par exemple, vous avez un réseau local, dont les machines sont configurée pour utiliser le serveur DNS à l'adresse 192.168.0.1.
|
||||
Si vous effectuez une requête DNS auprès de ce serveur, il vous renverra les informations demandées après avoir transmis la requête à un autre serveur DNS plus approprié.
|
||||
|
||||
Si "par dessus" votre serveur DNS vous installez un client ODDNS, configuré pour récupérer les informations d'un domaine particulier, votre serveur DNS ne contactera plus d'autres serveurs.
|
||||
C'est votre propre serveur DNS qui répondra directement à vos requêtes relatives à ce domaine en particulier.
|
||||
|
||||
Enfin, j'ai conçu les scripts d'administration qui permettent la gestion du serveur, et la mise à jour du client.
|
||||
|
||||
J'ai également créé un salon #oddns sur mon serveur IRC (irc.ingnu.fr).
|
||||
|
||||
## Fonctionnement
|
||||
|
||||
Il n'est pas nécessaire de faire tourner le serveur ODDNS, mais c'est vivement recommandé, puisque cela permettra de partager vos informations relatives aux noms de domaine que vous visitez régulièrement avec le reste de la communauté.
|
||||
|
||||
Le client va lire un fichier de configuration dans lequel il trouvera un protocole, une cible et une ou plusieurs adresses IP.
|
||||
Le protocole permet au client de savoir s'il doit chiffrer ses communications, la cible peut être directement un nom de domaine, un canal ou une cible générique (tous les domaines du serveur à contacter), et si plusieurs adresses sont spécifiées, elles seront successivement contactée si la cible précédente n'a pas pu répondre à la requête du client.
|
||||
|
||||
Lorsqu'il a récupéré les données relatives à un serveur, il les stocke, conjointement à une somme md5 pour savoir si les données qu'il gère sont à jour.
|
||||
Enfin, il créé ou modifie les fichiers de configuration du serveur DNS pour qu'il réponde directement aux requêtes formulées pour les domaines récupérés.
|
||||
|
||||
Le serveur lit également un fichier de configuration, à peu de chose près semblable à la configuration DNS classique, mais simplifié.
|
||||
Cela va lui permettre de constituer le même fichier que lorsque le client demande les informations d'un domaine.
|
||||
Logique, puisque c'est ce fichier qui sera transféré au client.
|
||||
|
||||
Lorsqu'un client demande des informations relatives à un domaine spécifique à un serveur, celui-ci peut lui renvoyer directement les informations demandées, mais il peut également lui renvoyer le serveur "maître" du domaine.
|
||||
Par exemple, vous pouvez demander à un annuaire les informations relatives à ingnu, et celui-ci renverra à votre client ODDNS l'adresse IP de mon propre serveur plutôt que les informations elles-mêmes.
|
||||
Votre client contactera alors mon serveur pour obtenir les informations demandées.
|
||||
|
||||
> [Mise à jour du 09 mars 2012]
|
||||
>
|
||||
> On m'a rapporté qu'un schéma serait le bienvenu, en voici deux (tout moches, je suis pas doué pour ça).
|
||||
> Le premier représente le système de résolution DNS actuel : le serveur DNS du FAI est un maillon faible parce que c'est là que se fait la censure au niveau DNS.
|
||||
> Le second représente le système de communication de ODDNS.
|
||||
>
|
||||
> [/Mise à jour]
|
||||
|
||||
## Ce qu'il reste à faire
|
||||
|
||||
Migrer le [wiki](https://web.archive.org/web/20120318075022/http://oddns.ingnu.fr/) actuel.
|
||||
Il est bombardé de SPAM et je commence à saturer.
|
||||
Je voudrai opter pour quelque chose de plus approprié, c'est pourquoi je ne me suis pas "amusé" à installer des extensions pour aider à combattre les messages non sollicités.
|
||||
|
||||
Une fois que ce sera fait, je créerai un dépôt git pour ouvrir le code aux contributions.
|
||||
Les deux pourraient être faits en même temps si je créais un dépôt sur mon [redmine](https://web.archive.org/web/20120318075022/http://redmine.ingnu.fr/), mais j'aimerais avoir l'avis de mes visiteurs avant de faire quoique ce soit.
|
||||
|
||||
Il restera alors à écrire les wrappers pour les différents serveurs DNS existants, notamment ceux qui ne sont pas bind (dont je m'occuperai dans les prochains jours).
|
||||
|
||||
Ensuite, la première version stable d'ODDNS pourra être publiée une fois l'interface web écrite.
|
||||
|
||||
Je suis également à la recherche d'un logo pour le projet.
|
||||
Je suis une bille en création graphique, alors si une âme charitable voulait bien me faire un petit logo, j'en serai ravi !
|
||||
|
||||
Enfin, pour aider le projet, vous aurez la possibilité de faire un don : d'argent, de matériel informatique, d'hébergement.
|
||||
Je ne sais pas encore trop comment m'y prendre pour vous le proposer compte tenu du fait que PayPal est tout simplement hors de question.
|
||||
Mais si vous estimez que le projet mérite d'être soutenu, faites-moi vos propositions !
|
||||
Vous avez également la possibilité d'aider le projet tout simplement en en parlant autour de vous.
|
||||
Ça c'est gratuit, alors ne vous en privez pas !
|
||||
@@ -0,0 +1,3 @@
|
||||
description: "Couverture originale créée localement pour accompagner la republication de l'article Les revers de Google."
|
||||
attribution: "Codex"
|
||||
prompt: "Illustration abstraite éditoriale sur Internet et son architecture, avec globe stylisé, arcs de connexion et ambiance rétro-web 2012, sans texte, sans logo."
|
||||
|
After Width: | Height: | Size: 99 KiB |
@@ -0,0 +1,45 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/531
|
||||
cover: images/cover.png
|
||||
date: '2012-03-09 03:18:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120319195908/http://ingnu.fr/2012/03/09/les-revers-de-google/
|
||||
tags:
|
||||
- Internet
|
||||
- Buzz
|
||||
- Echecs
|
||||
- Google
|
||||
- Plus
|
||||
- Wave
|
||||
title: Les revers de Google
|
||||
weather:
|
||||
humidity: 90
|
||||
illuminance: 0.0
|
||||
precipitations: false
|
||||
pressure: 1033.1
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: -0.8
|
||||
wind_direction: 343
|
||||
wind_speed: 4.9
|
||||
---
|
||||
|
||||
Depuis que l'entreprise existe, elle a connu un certain nombre d'échecs, notamment dans le domaine des réseaux sociaux. Answers, Wave, Dodgeball, Jaiku, Buzz, autant de réseaux sociaux fortement inspirés de facebook ou twitter, autant d'échecs qui auront conduit Google sur le chemin de Google+, où l'entreprise est, là encore, en train de se prendre une méchante volée.
|
||||
|
||||
Initialement peuplé de geeks en mal de réseaux sociaux alternatifs (dont j'ai moi-même fais partie finalement), ne connaissant pas nécessairement status.net and co, Google+ se fait déserter. De plus en plus de monde abandonne le réseau social de Google: les brèves répétées à une fréquence quasi hebdomadaire sur le sujet en sont le témoin.
|
||||
|
||||
Apple aussi s'y met: l'annonce récente de leur abandon de Maps pour OpenStreetMap jette un autre pavé dans la mare, quoiqu'on pense d'Apple.
|
||||
|
||||
Alors faut il y voir une relation avec le changement récent de leur politique de confidentialité? Et où partent ceux qui délaissent Google?
|
||||
|
||||
Google pourrait avoir atteint une sorte de masse critique. On pourrait presque parler de loi: lorsqu'une entreprise atteint une certaine envergure, elle finit par s'effondrer sur elle-même. Bien sûr, Google est encore loin, très loin du dépôt de bilan, mais les fuites d'utilisateurs, de clients, ne sont jamais bonnes, et sont toujours révélatrices d'un dysfonctionnement de l'entreprise.
|
||||
|
||||
Entre les pertes colossales engendrées par l'utilisation d'outils de blocage de publicité (ou [le blocage DNS à la sauce ingnu!](https://web.archive.org/web/20120319195908/http://ingnu.fr/2011/12/25/comment-bloquer-un-site-internet/)), la recherche massive d'alternatives au moteur de recherche, le blocage des publicités sur certains sites et les cuisants revers, Google ne se porte bien que parce que c'est un géant. Et je suis persuadé que l'arrivée prochaine de LibreOffice OnLine ne va pas jouer en sa faveur, ni les ayants-droits qui, après avoir coulé MegaUpload, UpToBox, HotFile et compagnie, vont sans aucun doute possible s'attaquer à YouTube.
|
||||
|
||||
Autre échec de Google: Chrome. Enfin, pas vraiment un échec en soi puisqu'il s'est hissé à la seconde place sur le marché des navigateurs. Mais compte tenu de la situation actuelle, même si on dispose de sommes pharaoniques en réserve, on évite de se croire le plus fort, et on évite de mettre un million de dollars sur la table pour pirater une de ses applications. Cinq minutes, c'est le temps qu'il aura fallut pour qu'une partie de ce million de dollars vole en fumée. On notera d'ailleurs que, comme d'habitude, Opera n'est même pas cité dans ce genre de compétitions, alors qu'il s'agit d'un navigateur incontournable.
|
||||
|
||||
Quant à Android, on ne peut pas non plus réellement parler d'échec évidemment. Mais une chose m'intrigue tout de même. Android est diffusé sous double licence Apache/GNU GPL, donc Libre. Si c'est un Logiciel Libre, la communauté devrait contribuer à l'amélioration du logiciel en question. Or, j'ai quand même la sensation que les passionnés cherchent plus à créer des alternatives qu'à améliorer Android. J'ai même toujours soupçonné Google de publier du Logiciel Libre mais ne jamais prendre en compte les contributions de personnes externes à Google. C'est un comportement étrange pour la communauté du Libre. Il y a bien [CyanogenMod](https://web.archive.org/web/20120319195908/http://www.cyanogenmod.com/), mais cela me semble être davantage du "packaging "de ce qu'on peut trouver de meilleur sur la plateforme, que de la modification de code source profonde, celle qui vise à améliorer la compatibilité avec les terminaux ou les performances du système.
|
||||
|
||||
Finalement, je me demande si la prise de conscience que je n'attendais plus arrive enfin. Cela fait longtemps que je blâme Google pour son attitude, et qu'on me regarde bizarrement à chaque fois que j'en parle. Mais aujourd'hui, il semblerait que les yeux se soient ouverts. Mieux encore, ceux qui étaient réfractaires aux Logiciels Libres (faisant le double amalgame libre = gratuit, gratuit = pas abouti) commencent à s'y mettre, découvrent un nouveau monde, une nouvelle façon de voir l'informatique et Internet, en grande partie grâce à des projets comme LibreOffice, les distributions GNU/Linux comme Ubuntu (que je n'aime pas mais dont je ne renie pas l'influence positive sur les non-initiés), les navigateurs comme firefox (idem), ou les plateformes de publication Libres. Peut-être qu'enfin, le virage vers le Libre qu'on attend depuis des années est en train d'être pris. Peut-être que 2012 va être la fin du monde... capitaliste, propriétaire et privateur. On peut rêver, mais les mentalités changent enfin.
|
||||
@@ -0,0 +1,36 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/532
|
||||
date: '2012-03-10 16:20:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120319114807/http://ingnu.fr/2012/03/10/breve-oddns-et-ingnu-a-la-radio/
|
||||
tags:
|
||||
- Ici et Maintenant
|
||||
- Ingnu
|
||||
- ODDNS
|
||||
- Radio
|
||||
title: '[Brêve] ODDNS et ingnu à la radio'
|
||||
weather:
|
||||
humidity: 65
|
||||
illuminance: 23059.4
|
||||
precipitations: false
|
||||
pressure: 1032.3
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 9.1
|
||||
wind_direction: 340
|
||||
wind_speed: 10.4
|
||||
---
|
||||
|
||||
Grovi/Chabada_ a parlé de ingnu et du projet ODDNS [il y a quinze jours](https://web.archive.org/web/20120319114807/http://ingnu.fr/2012/03/07/presentation-dodin/) à la radio [Ici et Maintenant](https://web.archive.org/web/20120319114807/http://icietmaintenant.com/), et depuis on a tous fait notre bonhomme de chemin, particulièrement ODDNS.
|
||||
|
||||
Je me suis donc rendu sur le [tchat](https://web.archive.org/web/20120319114807/http://chat.rim952.fr/) de l'émission Hotline, où on m'a invité à présenter ODDNS plus en détails.
|
||||
À ce titre, j'ai eu la permission de vous proposer de télécharger mon intervention.
|
||||
Voici le fichier audio : [oddns-sur-riem](https://web.archive.org/web/20120319114807/http://ingnu.fr/2012/03/10/breve-oddns-et-ingnu-a-la-radio/oddns-sur-riem/).
|
||||
Il est en ogg et pèse 18Mo.
|
||||
|
||||
Je remercie donc chaleureusement Ici et Maintenant pour m'avoir permis de toucher un public plus large qu'à travers ingnu ou [social.ingnu](https://web.archive.org/web/20120319114807/https://social.ingnu.fr/).
|
||||
Je n'ai pu parler qu'à OliCat/Olivier, mais l'expérience était très sympa (c'est ma première radio !), donc merci aussi à lui.
|
||||
|
||||
Il est question de faire un point dans quinze jours, donc on se retrouvera pour, peut-être, annoncer la sortie du projet.
|
||||
@@ -0,0 +1,3 @@
|
||||
description: "Couverture originale créée localement pour accompagner la republication de l'article L'avenir d'Internet."
|
||||
attribution: "Codex"
|
||||
prompt: "Illustration abstraite éditoriale sur Internet et son architecture, avec globe stylisé, arcs de connexion et ambiance rétro-web 2012, sans texte, sans logo."
|
||||
|
After Width: | Height: | Size: 104 KiB |
@@ -0,0 +1,42 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/533
|
||||
cover: images/cover.png
|
||||
date: '2012-03-11 17:25:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120319191615/http://ingnu.fr/2012/03/11/lavenir-dinternet/
|
||||
tags:
|
||||
- Internet
|
||||
title: L'avenir d'Internet
|
||||
weather:
|
||||
humidity: 69
|
||||
illuminance: 14823.9
|
||||
precipitations: false
|
||||
pressure: 1031.0
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 9.6
|
||||
wind_direction: 14
|
||||
wind_speed: 10.7
|
||||
---
|
||||
|
||||
J'ai esquissé il y a quelques temps l'avenir d'Internet à travers un article que j'ai intitulé "[Les 6 fléaux d'Internet](https://web.archive.org/web/20120319191615/http://ingnu.fr/2012/02/25/les-6-fleaux-dinternet/)". Je souhaiterai revenir sur la question, afin de vous proposer ma vision du futur du Réseau des réseaux.
|
||||
|
||||
Dans un avenir proche, que j'estime être dans les cinq à dix ans, Internet deviendra un vaste réseau de consommation, et ne servira plus qu'à ça. On "consommera "de "l'Internet "comme aujourd'hui on consomme de la vidéo à la demande. La différence avec ce qu'il existe aujourd'hui est subtile, puisque la façon dont on y accédera ne changera pas: il y aura toujours les fournisseurs d'accès à Internet, les DNS, IPv6, etc. Ce qui changera, c'est le contenu.
|
||||
|
||||
Et le contenu changera parce que dans le même temps, un Internet parallèle verra le jour. Les geeks et nerds de la planète vont parvenir à ouvrir les yeux aux publics. Et les publics vont progressivement migrer leurs habitudes vers le nouvel Internet. Cette migration sera plus longue que pour les geeks et nerds, et devrait prendre entre dix et vingt ans à s'accomplir totalement, de sorte qu'Internet, celui d'aujourd'hui, ne devienne plus que la plus vaste plateforme de contenu multimédia payant au monde, sous l'égide de l'industrie audio-visuelle mondiale, représentée par un unique organisme qui sera créé pour l'occasion.
|
||||
|
||||
Le nouvel Internet, quant à lui, sera un nouveau monde, où tout ou presque devra être créé: infrastructures, protocoles, contenus. On ne pourra pas reprendre l'existant, parce que la compatibilité avec l'existant signifiera qu'une porte sera laissée ouverte aux entreprises qui feront du nouvel Internet ce qu'elles ont fait à l'ancien. Ce qui laissera le choix aux gens de payer pour le contenu imposé par l'industrie, ou donner volontairement pour des contenus gratuits et de qualité.
|
||||
|
||||
Tout sera donc à refaire, et cela (ré)ouvrira la porte du succès aux plus méritants. Succès qui ne sera plus donné en chiffre d'affaire ou masse salariale, mais en dons et en reconnaissance. Le nouvel Internet sera une mine de connaissances et de compétences, partagées librement, dans tous les domaines de la civilisation humaine.
|
||||
|
||||
Le nouvel Internet marquera l'apogée de Richard Stallman, ses pairs et ses successeurs. Tout le réseau sera sous une licence GNU. GNU ne sera plus seulement un système d'exploitation, GNU englobera les protocoles et services fournis par le nouveau Réseau. Il sera donc Libre: chacun participera à sa construction, en faisant passer un câble réseau chez le voisin, qui lui-même sera connecté à ses voisins les plus proches. Chaque machine pourra facilement être connecté au nouveau réseau, grâce à la liberté de diffusion des connaissances.
|
||||
|
||||
Et puisque les connaissances et compétences circuleront librement sur le nouveau réseau, la race humaine accèdera plus rapidement et plus efficacement à de nouvelles technologies dont tout le monde pourra profiter, et auxquelles tout le monde pourra contribuer. Que vous ayez des connaissances en mathématiques, en électronique, en physique, le nouvel Internet vous permettra de vous exprimer, de partager vos connaissances, et de contribuer à l'avancée du monde. Tandis que l'ancien Internet tombera en décrépitude, dans trente à cinquante ans, pour terminer encore quelques dizaines d'années plus tard dans les manuels d'histoire ou les musées virtuels où seront exposés les reliques des FAI et les serveurs des anciennes grandes entreprises comme Google, Amazon, Apple ou Microsoft.
|
||||
|
||||
Le nouvel Internet sera une source de profits, mais des profits purement intellectuels. Ses acteurs rechercheront uniquement la contribution, pas la rémunération. Ils ne seront motivés que par l'objectif d'améliorer le monde, pas d'améliorer leur vie. Ils n'auront qu'un but: l'enrichissement intellectuel, pas l'enrichissement personnel.
|
||||
|
||||
Cette philosophie découlera naturellement de l'utilisation massive quotidienne des nouvelles technologies de communications créées pour le nouvel Internet. Mais dans un premier temps, nos esprits, ceux des geeks et nerds d'aujourd'hui, seront occupés à autre chose: bâtir les nouveaux protocoles et les nouvelles infrastructures dont le nouvel Internet va avoir besoin, pour que les 6 fléaux d'Internet ne soient plus qu'un mauvais souvenir, et que le nouvel Internet soit créé sur des bases saines.
|
||||
|
||||
C'est à nous, aujourd'hui et pas demain, de créer les fondements de ce qui deviendra la plus grande réussite de l'Humanité: le nouvel Internet.
|
||||
@@ -0,0 +1,80 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/534
|
||||
date: '2012-03-19 15:16:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120402165732/http://ingnu.fr/2012/03/19/a-propos-du-droit-dauteur/
|
||||
tags:
|
||||
- Auteur
|
||||
- Droit
|
||||
title: A propos du droit d'auteur
|
||||
weather:
|
||||
humidity: 69
|
||||
illuminance: 59295.6
|
||||
precipitations: false
|
||||
pressure: 1028.1
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 9.7
|
||||
wind_direction: 4
|
||||
wind_speed: 14.8
|
||||
---
|
||||
|
||||
Simple rappel : une infraction au droit d'auteur peut occasionner 300 000 euros d'amende pour les personnes physiques et 1 500 000 euros pour les personnes morales, et trois ans de prison.
|
||||
Un homicide involontaire "coûte" 45 000 euros et la même peine de prison.
|
||||
Les génies à grosse tête qui ont pondu ces chiffres estiment donc **sans aucune ambiguïté** que **tuer un Homme est moins grave que de partager la culture**.
|
||||
Ainsi, si ces personnes sont tellement enclines à protéger la culture plutôt que l'humain, pourquoi la verrouiller et la labelliser ?
|
||||
Pourquoi ne pas faire comme l'Homme a toujours fait, et ce qu'il lui a permis de devenir une "civilisation supérieure", à savoir la partager, la diffuser au plus grand nombre ?
|
||||
Ben non, messieurs Vivendi, SACEM et compagnie en France ne veulent pas : ça ne remplit pas leurs poches.
|
||||
Bref, là, je n'apprends rien à personne.
|
||||
Moralité : tuez un SDF, ça vous coûtera moins cher que de partager la culture.
|
||||
|
||||
En revanche, comment ose-t-on parler de "droits" lorsque cela concerne des gens qui ne sont pas directement concernés par l'objet culturel ?
|
||||
Par exemple, comment peut-on dire qu'il existe encore des droits sur ce qu'ont fait Michael Jackson ou Elvis Presley ?
|
||||
Qui a des droits et pourquoi ?
|
||||
Pourquoi leurs enfants ont des droits sur ce qu'ont fait leurs parents ?
|
||||
C'est parfaitement insensé.
|
||||
|
||||
En ce qui me concerne, si j'avais un père producteur de films et une mère chanteuse, quel droit aurais-je de réclamer quoique ce soit sur leurs productions une fois décédés ?
|
||||
Je n'ai aucun droit : je n'ai en rien contribué à leur réussite ni même à la création de leur oeuvre.
|
||||
Ils en sont les "propriétaires" et en aucun cas je ne peux me prévaloir de ce titre, même si je suis de leur sang.
|
||||
|
||||
Alors, si de leur vivant, les artistes souhaitent verrouiller leurs oeuvres, soit, ils ont le droit de choisir de les publier ou non sous licence libre.
|
||||
Ils toucheront des "droits d'auteur", comme prévu par la loi.
|
||||
Mais une fois qu'ils sont morts, leurs oeuvres doivent être rendues au domaine public.
|
||||
Il n'y a aucune raison pour que leurs successeurs aient un quelconque droit sur ces oeuvres.
|
||||
|
||||
A qui revient l'argent gagné aujourd'hui par la vente de disques de Michael Jackson, Amy Whinehouse ou Whitney Houston ?
|
||||
Question rhétorique, vous connaissez la réponse : entre autres, aux majors et aux successeurs.
|
||||
Autrement dit, les majors et les successeurs se frottent les mains lors du décès d'un artiste parce que généralement c'est à ce moment là que les plus fortes ventes ont lieu.
|
||||
La mort d'un artiste est un évènement à ne surtout pas manquer : il faut absolument sortir un album évènement, exclusif, même si l'artiste a déjà publié 17 best-of, pas grave, on en sort encore un.
|
||||
Et les gens se l'arrachent.
|
||||
Alors pourquoi ne pas le faire, après tout.
|
||||
On s'en fout de l'éthique, du moment qu'il y a un paquet de blé à se faire.
|
||||
|
||||
En cela, je compare l'industrie de la culture aux pompes funèbres.
|
||||
J'appelle ça le Commerce de la Mort.
|
||||
|
||||
D'autant que toute la carrière des artistes va dans ce sens.
|
||||
Quel artiste, appuyé par l'industrie du disque, n'a jamais touché à la drogue, ou à l'alcool ?
|
||||
Quel artiste ne s'est pas tué en moto ou dans un hélicoptère, ou dans un avion ?
|
||||
Mort d'un cancer, d'overdose, de suicide ?
|
||||
C'est à se demander si l'industrie de la culture ne pousse pas ces gens dans leurs derniers retranchements, jusqu'à l'extrême limite, et si les malheurs qui leur arrivent ne sont pas du fait même de cette industrie.
|
||||
Surtout que l'industrie les choisi, comme nos chaînes françaises choisissent les candidats pour les émissions de télé-réalité.
|
||||
Ils sont choisis pour leurs prédispositions, leur instabilité psychologique, leur propension à sombrer dans l'alcool ou la drogue.
|
||||
|
||||
Voyez les artistes Libres, vous verrez qu'ils sont plus sains.
|
||||
Ils n'ont pas été choisis, ils se sont fait tout seuls.
|
||||
|
||||
Je parle de la culture sous sa forme la plus abordable peut-être, puisque je parle de la musique.
|
||||
Mais ma réflexion est valable pour toute la culture : films, jeux vidéos, informatique, etc.
|
||||
|
||||
N'achetez plus de musique non Libre.
|
||||
Ne lisez plus de livres non Libres.
|
||||
Ne regardez plus de films non Libres.
|
||||
Ne jouez plus à des jeux non Libres.
|
||||
N'utilisez plus de logiciels non Libres.
|
||||
|
||||
Vous entretenez le Commerce de la Mort.
|
||||
Sauvez vos artistes préférés : incitez-les à publier sous licence Libre !
|
||||
@@ -0,0 +1,86 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/535
|
||||
date: '2012-03-20 04:05:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120819212928/http://ingnu.fr/2012/03/20/on-ne-sait-plus-se-servir-de-linformatique/
|
||||
tags:
|
||||
- Amesys
|
||||
- Big Data
|
||||
- Cloud
|
||||
title: On ne sait plus se servir de l'informatique !
|
||||
weather:
|
||||
humidity: 87
|
||||
illuminance: 0.0
|
||||
precipitations: false
|
||||
pressure: 1031.0
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: -0.8
|
||||
wind_direction: 43
|
||||
wind_speed: 6.4
|
||||
---
|
||||
|
||||
La plupart des inventions de l'informatique moderne sont un aveu de notre oisiveté, notre manque de considération pour la plus grande invention de l'Homme, et notre formidable capacité à détruire ce que nous avons mis des années à bâtir.
|
||||
C'est assez inquiétant de voir à quel point nous sommes capables de faire tout et n'importe quoi.
|
||||
|
||||
Je ne sais même pas par quoi commencer.
|
||||
Si, commençons par ces pseudo-geeks, destructeurs des mondes.
|
||||
Ces codeurs fous, aliénés par l'argent, qui produisent des armes à destination des dictateurs du monde.
|
||||
Voilà un premier exemple concret et d'actualité qui plus est.
|
||||
Ces gens là constituent l'infanterie moderne, au service du Diable, d'El Chupacabra, du démon, de la Bête, nommez-le comme vous voulez.
|
||||
Ils n'en ont pas toujours conscience, aveuglés par le gain financier.
|
||||
Lobotomisés par l'argent, influencés par une entreprise qui leur fait les yeux doux en brandissant le carnet de chèque, ce sont pourtant des développeurs talentueux s'ils parviennent à développer des solutions capable d'écouter tout un pays.
|
||||
Pourquoi mettre ces capacités intellectuelles au profit d'une dictature, qu'elle soit politique ou financière ?
|
||||
Pourquoi ne pas préférer la mettre à contribution pour l'amélioration d'Internet plutôt que d'instrumentaliser sa décadence ?
|
||||
Avant de vous faire embaucher chez Amesys, réfléchissez à l'éthique.
|
||||
Si vous y êtes déjà, déposez votre démission et venez grossir les rangs des architectes du [Nouvel Internet](https://web.archive.org/web/20120819212928/http://ingnu.fr/2012/03/11/lavenir-dinternet/).
|
||||
Mais si vous tenez à y entrer ou y rester, n'oubliez jamais que vous aurez fait le pire choix de votre vie.
|
||||
|
||||
Autre exemple de la décadence de l'informatique : le cloud.
|
||||
[J'en ai déjà parlé](https://web.archive.org/web/20120819212928/http://ingnu.fr/2012/01/19/il-faut-arreter-avec-le-cloud/) plusieurs fois, le cloud détruit l'informatique.
|
||||
Le cloud est fait pour que vous stockiez toutes vos données au même endroit, sur des serveurs que vous ne maîtrisez pas.
|
||||
Le cloud, c'est transformer les boîtes, packaging et collector des jeux-vidéos et des films en une série de 0 et de 1.
|
||||
Vous n'achetez plus de beaux emballages, de beaux coffrets que vous avez plaisir à exposer, vous achetez de l'information.
|
||||
Concernant plus spécifiquement les jeux vidéos, les constructeurs souhaitent notamment que les PC et les consoles ne soient plus des calculateurs.
|
||||
Ils veulent que le rendu se fasse sur leurs serveurs.
|
||||
Autrement dit, pour ces gens-là, l'avenir de l'informatique, c'est le minitel : un clavier, un écran et un réseau.
|
||||
Plus de course à la puissance, plus de personnalisation.
|
||||
Retour au bon vieux temps : la caverne et les signaux de fumée aussi, pourquoi pas.
|
||||
|
||||
Après le cloud, une nouvelle mode est en train de voir le jour : le big data.
|
||||
Globalement, ça consiste à créer la plus grosse base de données, le plus gros fichier unique.
|
||||
Il doit exister des challenges chez les pseudo-geeks qui s'ennuient.
|
||||
On passe notre temps à tout éclater en plusieurs fichiers : configuration, bases de données en cluster, bibliothèques logicielles, pour plus de clarté, de rigueur, et d'interopérabilité.
|
||||
Et là, subitement, la mode c'est le big data.
|
||||
On incite à a création de bases de données de moins en moins organisées.
|
||||
On incite au gaspillage de ressources.
|
||||
Exactement de la même façon que les framework ou les langages de programmation managés.
|
||||
|
||||
Il existe des langages de programmation qui ne reposent sur rien (ou presque) : C, C++.
|
||||
Et puis il y a les langages dit managés : Java, C#.
|
||||
Ces derniers sont des surcouches des premiers, schématiquement.
|
||||
On écrit dans un langage, qu'une machine virtuelle va traduire en langage de plus bas niveau.
|
||||
On gagne peut-être en syntaxe, mais on perd un temps fou en exécution.
|
||||
|
||||
Les framework quant à eux nous imposent une façon particulière de concevoir notre application.
|
||||
Ils peuvent également être vus comme une surcouche, puisque leur objectif est de simplifier le développement.
|
||||
En gros, ils transforment l'appel à une méthode qui requiert quatre arguments en une méthode qui n'en requiert que deux, et dont le nom est raccourci, parfois à la limite du ridicule.
|
||||
Tout ça pour économiser quelques secondes de développement au détriment de l'utilisateur final.
|
||||
|
||||
Le rapport entre langages managés, framework et big data ?
|
||||
La perte de la rigueur.
|
||||
Tout ça nous fait perdre notre rigueur.
|
||||
Déjà que la rigueur aujourd'hui consiste à "faire marcher", même si le code est moche et que le mec qui va nous succéder risque le suicide en y plongeant à corps perdu.
|
||||
Si en plus l'application est écrite en Java et utilise un (ou des !) framework pour analyser des térabits de données, on court à la catastrophe.
|
||||
Alors qu'il suffit d'être rigoureux, faire du code propre, ne pas se presser.
|
||||
Réfléchir au lieu de glander sur YouTube et facebook.
|
||||
|
||||
En gros, tout est de la faute des pseudo-geeks, ces mecs qui savent coder mais branlent les mouches, qui savent gérer un réseau entier mais ont le bordel dans leur câblage parce qu'ils s'en foutent, qui ont un pouvoir entre les mains qu'ils ignorent mais qui sont aveuglés par l'argent.
|
||||
Ouvrez les yeux : vous détruisez l'informatique.
|
||||
Cessez d'exécuter les ordres de gens qui n'y connaissent rien, et qui font des tentatives qui ne visent pas à l'amélioration du monde mais le remplissage de leurs poches.
|
||||
Pas des vôtres.
|
||||
|
||||
Et arrêtez de faire honte aux geeks.
|
||||
On passe tous pour des glandus à cause de vous.
|
||||
@@ -0,0 +1,58 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/536
|
||||
date: '2012-03-21 05:58:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120615191942/http://ingnu.fr/2012/03/21/la-culture-se-casse-la-gueule-logique/
|
||||
tags:
|
||||
- Théâtre
|
||||
title: La culture se casse la gueule ? Logique !
|
||||
weather:
|
||||
humidity: 81
|
||||
illuminance: 0.0
|
||||
precipitations: false
|
||||
pressure: 1030.8
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: -0.1
|
||||
wind_direction: 66
|
||||
wind_speed: 7.9
|
||||
---
|
||||
|
||||
Il est de notoriété publique que les vilains pirates tuent la culture.
|
||||
Soit.
|
||||
Par culture, il faut parfois comprendre le plus incompréhensible.
|
||||
|
||||
Je n'ai jamais été un grand fan de théâtre, notamment parce que le théâtre est généralement surjoué.
|
||||
Ça manque de naturel, et les aficionados du théâtre vont me soutenir le contraire mais c'est un fait indéniable et seule la mauvaise foi peut faire prétendre le contraire.
|
||||
Les intonations et les gestes sont surjoués, point.
|
||||
Bref.
|
||||
|
||||
Nous habitons pas loin d'un château depuis un peu plus d'un an, château qui fait aussi office de centre culturel.
|
||||
Nous avions donc décidé de nous prendre un abonnement pour aller voir quelques représentations dont les descriptions semblaient intéressantes.
|
||||
Et en effet, notre premier spectacle, des jeux de peinture et de projections vidéos sur écran, était très sympathique, sans pour autant casser des briques.
|
||||
|
||||
Mais la deuxième représentation à laquelle nous avons assisté fut catastrophique.
|
||||
L'histoire était prévisible, les acteurs franchement mauvais, l'ambiance était glauque (deux soeurs qui s'adonnent au cannibalisme, enfin c'est ce qu'on essaye de nous faire croire jusqu'à la fin, autour de cinq congélateurs supposés remplis de viande humaine...), les dialogues chiants à mourir, etc.
|
||||
C'était il y a maintenant quelques mois.
|
||||
|
||||
L'abonnement de ma femme comprend une représentation consacré à Gainsbourg à laquelle elle a assisté hier soir.
|
||||
Bien que trouvant son histoire et ses compositions intéressantes, j'ai préféré ne pas y assister.
|
||||
J'ai bien fait...
|
||||
En lieu et place d'une sorte de biographie interprétée comme on aurait pu s'y attendre, ma femme a eu droit à deux heures de slam, de temps en temps entrecoupées par une batterie qui, apparemment, était ce qu'il y avait de mieux dans le "spectacle".
|
||||
|
||||
Autant les textes de Gainsbourg s'écoutent en chanson, autant en slam ça a dû vite devenir chiant.
|
||||
D'ailleurs, la plupart des membres du public ont levé les yeux au ciel au bout de quelques minutes seulement, et en sortirent en soupirant, visiblement soulagés d'en avoir terminé.
|
||||
Ma femme espérait en apprendre plus sur l'artiste, malheureusement elle fut bien déçue.
|
||||
À tel point qu'un suicide collectif en sortie du centre culturel n'aurait pas été étonnant.
|
||||
|
||||
Il faut savoir qu'une place de théâtre coûte plus cher qu'une place de cinéma.
|
||||
En l'occurrence, une place dans notre cinéma coûte un peu moins de 6 euros en tarif réduit, tandis que nos places pour le centre culture nous ont coûté une quinzaine d'euros.
|
||||
Une quinzaine d'euros qui servent notamment à payer des gens pour faire du slam, sur des paroles qu'ils n'ont même pas écrites.
|
||||
Je trouve ça proprement scandaleux.
|
||||
J'ai une belle collection de Blu-ray, et à part les coffrets, aucun ne m'a coûté plus de dix euros, et je peux les voir et revoir virtuellement à l'infini.
|
||||
|
||||
Alors si la culture se casse la gueule, à mon avis, il faut regarder du côté de ces gens-là, ou de Justin Bieber, ou des "artistes" du même genre.
|
||||
Ils sont davantage responsables du désintérêt manifeste du public pour la "culture" que le partage de fichiers.
|
||||
Relevez le niveau si vous voulez vendre vos merdes, sérieusement.
|
||||
@@ -0,0 +1,70 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/537
|
||||
date: '2012-04-07 18:08:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120409203630/http://ingnu.fr/2012/04/07/reponse-publique-a-bortzmeyer-a-propos-doddns/
|
||||
title: Réponse publique à Bortzmeyer à propos d'ODDNS
|
||||
weather:
|
||||
humidity: 74
|
||||
illuminance: 15837.5
|
||||
precipitations: true
|
||||
pressure: 1005.1
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 7.4
|
||||
wind_direction: 337
|
||||
wind_speed: 12.9
|
||||
---
|
||||
|
||||
Changaco, sur irc.ingnu.fr, canal #oddns, m'a fait part de [cet article](https://web.archive.org/web/20120409203630/http://seenthis.net/messages/64336) écrit par Stéphane Bortzmeyer.
|
||||
Ne voyant aucune possibilité de faire valoir mon droit de réponse sur le site en question à moins de m'inscrire, j'ai décidé d'en rédiger un article à part, qui permettra également à mes autres lecteurs de comprendre un peu mieux ce qu'est ODDNS, puisque manifestement, ça gueule mais sans chercher à comprendre, et surtout, ça dénigre.
|
||||
|
||||
Déjà, Bortzmeyer qualifie ODDNS de *vaporware*.
|
||||
Sait-il lire ou ne lit-il que les lignes qui l'intéresse ?
|
||||
N'a-t-il pas lu que la première bêta publique aurait lieu lundi ?
|
||||
On part donc déjà sur de mauvaises bases pour s'entendre.
|
||||
Je le dis officiellement : **ODDNS n'est pas un vaporware**, l'application est en alpha test (privé donc) jusqu'à lundi.
|
||||
[Un dépôt git existe](https://web.archive.org/web/20120409203630/http://code.ingnu.fr/?p=oddns.git;a=summary), un site est en préparation pour remplacer l'unique page peu avenante (j'en conviens) qui existe à l'heure actuelle.
|
||||
Des gens travaillent dessus (moi et Rikle_S), passent du temps dessus.
|
||||
Je trouve intolérable un tel comportement, un tel manque de respect pour des gens qui travaillent à trouver une solution satisfaisante.
|
||||
Ce manque de respect n'est pas censé être l'esprit de la communauté et du Libre.
|
||||
Mais Bortzmeyer n'en a que faire : il faut partie des puissants d'Internet, qui ont pignon sur rue, plein de followers, etc.
|
||||
En ce qui me concerne, je râle sur le système DNS actuel, mais moi au moins j'ai une solution à proposer.
|
||||
Qu'elle soit de la merde ou pas on s'en fout : j'ai une carte à jouer, moi.
|
||||
|
||||
En ce qui concerne l'explication du fonctionnement, ça vient, avec le nouveau site qui sera présenté en même temps que la bêta publique lundi.
|
||||
Au lieu d'écrire un article se contentant de broncher, pourquoi Bortzmeyer ne me contacte-t-il pas pour obtenir des renseignements ?
|
||||
Pourquoi tout de suite attaquer et dénigrer ?
|
||||
Ah, c'est peut-être ce qui a fait son succès, gueuler, râler, etc.
|
||||
Ça me rappelle un Stéphane Guillon, ou un Thierry Ardisson, que je ne supporte pas pour les mêmes raisons.
|
||||
|
||||
Ensuite, Bortzmeyer m'attaque en disant que je frime, alors que j'ai "sans doute juste l'expérience de l'administration de deux VPS Ubuntu Server sur OVH".
|
||||
En aucun cas je n'ai à justifier de mon expérience.
|
||||
Surtout pas à quelqu'un qui m'agresse.
|
||||
Mais pour son information, je n'ai pas deux VPS sous Ubuntu chez OVH et mon expérience d'Internet est largement satisfaisante pour me lancer dans un tel projet, et je me défendrai contre quiconque tentera de saper ma réputation ou ma personne, ou tentera la diffamation à mon égard.
|
||||
|
||||
Il m'accuse ensuite de "remplacer un système qualifié de trop fragile par une application en PHP".
|
||||
Et alors ? quel est le problème avec PHP ?
|
||||
On m'a déjà dit par mail que PHP ruinait la crédibilité de mon projet.
|
||||
Pourquoi ?
|
||||
Y'a que les gamins qui codent en PHP ?
|
||||
On ne peut pas coder un bon projet en PHP ?
|
||||
PHP n'est pas fait que pour faire du web les mecs, réveillez-vous.
|
||||
Et au lieu de m'insulter et d'écrire n'importe quoi à mon sujet, penchez vous sur la question de mon choix.
|
||||
A moins que vous ne sachiez pas dialoguer, échanger.
|
||||
Alors dans ce cas cassez-vous d'Internet, vous n'avez rien à y faire.
|
||||
L'échange et le dialogue, c'est l'un des principes fondateurs d'Internet.
|
||||
Ne venez pas me souffler dans les bronches juste pour faire de l'audience.
|
||||
|
||||
Enfin, qualifier mon projet de "bidon" sans même avoir pris la peine de jeter un oeil au dépôt git est quelque peu démesuré, voir révélateur d'un profond je-m'en-foutisme, voire de sadisme (Bortzmeyer gueule pour le plaisir).
|
||||
Et oui j'ai obtenu un soutient de PCInpact, ce qui prouve que mon projet n'est pas si bidon que ça.
|
||||
J'ai obtenu une interview sur une radio parisienne pour ce projet, et j'en ai donné d'autres par mail.
|
||||
ODDNS n'est pas un projet bidon, et mon dépôt git en est la preuve : l'application existe, elle est là, et elle est fonctionnelle.
|
||||
Je ne peux malheureusement rien contre les gens qui critiquent sans avoir pris la peine de se renseigner.
|
||||
|
||||
J'invite donc tout ceux qui sont intéressés par le projet (et ceux qui ont l'intelligence d'être critique en sachant de quoi ils parlent) de patienter jusqu'à lundi, que le nouveau site soit mis en ligne, et que l'application sorte en bêta publique.
|
||||
Je les invite également à consulter la page la plus importante du site, la FAQ, qui répondra à toutes les interrogations que j'ai entendu jusque là, ou du moins, les interrogations des gens qui ont pris la peine de me contacter pour m'en faire part.
|
||||
|
||||
A bon entendeur.
|
||||
@@ -0,0 +1,39 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/538
|
||||
date: '2012-05-16 13:45:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120528094832/http://ingnu.fr/2012/05/16/dropcenter-un-outil-a-installer-sur-son-cloud-personnel/
|
||||
tags:
|
||||
- DropCenter
|
||||
- Idleman
|
||||
title: 'DropCenter : un outil a installer sur son cloud personnel'
|
||||
weather:
|
||||
humidity: 62
|
||||
illuminance: 92997.8
|
||||
precipitations: false
|
||||
pressure: 1022.1
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 10.8
|
||||
wind_direction: 301
|
||||
wind_speed: 17.6
|
||||
---
|
||||
|
||||
Le développement d'[ODDNS](https://web.archive.org/web/20120528094832/http://oddns.org/) (et répondre aux [commentaires inutiles et insultants](https://web.archive.org/web/20120528094832/http://ingnu.fr/2012/04/07/reponse-publique-a-bortzmeyer-a-propos-doddns/#comments)) occupe tout mon temps libre depuis quelques semaines, et par conséquent, le blog tourne grâce aux anciens articles, et particulièrement ceux consacrés à la mise en place d'un [Cloud personnel](https://web.archive.org/web/20120528094832/http://ingnu.fr/category/creer-son-propre-cloud/) qui font un vrai carton.
|
||||
Vous continuez de m'écrire pour m'en dire tout le bien que vous en pensez, et ça fait super plaisir, alors continuez !
|
||||
|
||||
Malgré l'aspect chronophage d'ODDNS, j'ai voulu vous parler de [DropCenter](https://web.archive.org/web/20120528094832/http://dropcenter.fr/), qui m'a tout l'air d'être un projet aussi abouti qu'intéressant, réalisé par deux français, dont [idleman](https://web.archive.org/web/20120528094832/http://blog.idleman.fr/), un lecteur d'ingnu de la première heure.
|
||||
|
||||
DropCenter repose sur HTML5 et jQuery (bibliothèque JavaScript au cas où vous ne le sauriez pas), et grâce à ce duo, tout navigateur moderne (à l'exception d'Internet Explorer, me souffle idleman à l'oreille) supporte le drag'n'drop pour glisser et déposer ses fichiers dans son interface.
|
||||
Chaque modification est suivie de la mise à jour d'un flux RSS, pour que vous et vos visiteurs puissiez en être notifiés.
|
||||
|
||||
L'objectif étant de proposer une alternative libre (sous licence CC BY-NC-ND 2.0) aux solutions du type DropBox, je suis particulièrement sensible à la démarche de mon confrère.
|
||||
|
||||
DropCenter n'exploite pas de base de données, ce qui simplifie grandement son installation.
|
||||
En sus de DropCenter, la DropTeam vous propose aussi un logiciel pour Windows et GNU/Linux qui permet d'afficher les notifications sur le bureau.
|
||||
Pourquoi ne pas utiliser un lecteur de flux conventionnel ?
|
||||
Parce que DropNews permettra plus tard la synchronisation des fichiers entre votre machine et le serveur.
|
||||
|
||||
Une application prometteuse donc, qui mériterait d'avoir son tutoriel dans [Créer son propre Cloud](https://web.archive.org/web/20120528094832/http://ingnu.fr/category/creer-son-propre-cloud/), si elle n'était pas aussi simple à installer que décompresser l'archive dans le répertoire de son choix !
|
||||
@@ -0,0 +1 @@
|
||||
title: "Freebox Délégation de préfixe"
|
||||
|
After Width: | Height: | Size: 77 KiB |
|
After Width: | Height: | Size: 36 KiB |
@@ -0,0 +1,495 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/539
|
||||
date: '2014-12-15 23:02:32'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur LinuxFr
|
||||
url: https://linuxfr.org/users/richarddern/journaux/mon-reseau-aussi
|
||||
tags:
|
||||
- IPv6
|
||||
- Réseau domestique
|
||||
- Load-balancing
|
||||
- Failover
|
||||
- Debian
|
||||
- Réseau
|
||||
- Pare-feu
|
||||
title: Mon réseau (aussi)
|
||||
weather:
|
||||
humidity: 85
|
||||
illuminance: 0.0
|
||||
precipitations: true
|
||||
pressure: 1014.0
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 5.5
|
||||
wind_direction: 227
|
||||
wind_speed: 7.4
|
||||
---
|
||||
|
||||
Dans la mouvance des journaux actuels, j'ai décidé de montrer le mien (de réseau).
|
||||
En effet, je pense qu'il contient - aussi - certaines spécificités pouvant en intéresser d'autres que moi.
|
||||
|
||||

|
||||
|
||||
## WAN
|
||||
|
||||
La partie WAN est constituée de deux Freebox V6 en mode bridge.
|
||||
Je ne les ai pas configurées en mode routeur parce que je considère tout simplement que ce n'est plus leur rôle à partir du moment où j'intercale un routeur "maison".
|
||||
|
||||
## LAN
|
||||
|
||||
Le NAS (Synology DS214Play) est utilisé pour la sauvegarde des serveurs via rsync et le stockage des fichiers pour le LAN et le WLAN, et gère le serveur LDAP du réseau.
|
||||
Il est aussi utilisé pour l'encodage des vidéos, photos et musiques à la volée (d'où le "Play" à la place du "+" habituel), à destination des périphériques multimédias (platine Dune HD-MAX au salon et HD-TV101 dans la chambre, ainsi que les téléphones et tablettes, non présents sur le diagramme).
|
||||
|
||||
## WLAN
|
||||
|
||||
Le point d'accès sans-fil TP-Link TL-WA801N est configuré pour une authentification RADIUS, dont les identifiants sont fournis par le LDAP.
|
||||
|
||||
## DMZ
|
||||
|
||||
La DMZ est constituée de trois serveurs.
|
||||
|
||||
Mercure héberge tous mes sites publiques, Minerve le serveur mail (sous Zimbra) et XMPP (sous OpenFire), et Gitus le serveur git sous Gitlab.
|
||||
A l'exception de Minerve (Ubuntu 14.04), les serveurs sont sous Debian stable.
|
||||
|
||||
## Cerbere
|
||||
|
||||
Sous Debian GNU/Linux, doté des incontournables [patches de Julian Anastasov] [1], son rôle est d'assurer la sécurité du réseau et de distribuer les connexions Internet (load-balancing et fail-over, même si ces termes sont peut être un peu usurpés).
|
||||
Il héberge le serveur freeRADIUS pour l'authentification des clients du WLAN, Apache en tant que proxy pour les sites locaux, bind en tant que cache DNS, serveur pour les domaines locaux et pour le blocage de domaines indésirables.
|
||||
|
||||
### Load-balancing et fail-over
|
||||
|
||||
Bien que ce soient les patches sus-mentionnés qui font pratiquement tout, il faut tout de même constituer un firewall et une table de routage corrects.
|
||||
Je me suis donc préparé les scripts qui vont suivre, mais dans un premier temps, il faut créer les tables qui vont bien dans le fichier `/etc/iproute2/rt-tables`:
|
||||
|
||||
```
|
||||
#
|
||||
# reserved values
|
||||
#
|
||||
255 local
|
||||
254 main
|
||||
253 default
|
||||
0 unspec
|
||||
#
|
||||
# local
|
||||
#
|
||||
1 ISP1
|
||||
2 ISP2
|
||||
```
|
||||
|
||||
Maintenant, le script qui va modifier la table de routage:
|
||||
|
||||
```
|
||||
#!/bin/bash
|
||||
|
||||
# ----| Configuration |--------------------------------------------------------
|
||||
|
||||
P1_NET="xxx.xxx.xxx.0/24" # Réseau WAN 1
|
||||
IF1="eth1" # Interface WAN 1
|
||||
IP1="xxx.xxx.xxx.xxx" # IP WAN 1
|
||||
T1="1" # Identifiant de la table de routage
|
||||
P1="xxx.xxx.xxx.254" # Passerelle WAN 1
|
||||
|
||||
P2_NET="xxx.xxx.xxx.0/24" # Réseau WAN 2
|
||||
IF2="eth2" # Interface WAN 2
|
||||
IP2="xxx.xxx.xxx.xxx" # IP WAN 2
|
||||
T2="2" # Identifiant de la table de routage
|
||||
P2="xxx.xxx.xxx.254" # Passerelle WAN 2
|
||||
|
||||
DMZ_NET="10.0.0.0/16" # Réseau DMZ
|
||||
DMZ_IF="eth3" # Interface DMZ
|
||||
|
||||
LAN_NET="10.1.0.0/16" # Réseau LAN
|
||||
LAN_IF="eth4" # Interface LAN
|
||||
|
||||
WLAN_NET="10.2.0.0/16" # Réseau WLAN
|
||||
WLAN_IF="eth0" # Interface WLAN
|
||||
|
||||
# ----| Modification de la table de routage |----------------------------------
|
||||
|
||||
# Purge du cache des routes
|
||||
ip route flush cache
|
||||
|
||||
# Purge des règles
|
||||
ip rule flush
|
||||
|
||||
# Ce qui vient de $IP1 va dans la table ISP1,
|
||||
ip rule add from $IP1 pref 1500 lookup 1
|
||||
# ce qui vient de $IP2 va dans la table ISP2,
|
||||
ip rule add from $IP2 pref 1501 lookup 2
|
||||
# et ce qui est marqué par iptables va dans la table correspondante
|
||||
ip rule add fwmark 1 pref 2000 lookup 1
|
||||
ip rule add fwmark 2 pref 2001 lookup 2
|
||||
|
||||
# Règles par défaut
|
||||
ip rule add from all pref 32766 lookup main
|
||||
ip rule add from all pref 32767 lookup default
|
||||
|
||||
# Purge des routes existantes
|
||||
ip route flush table main
|
||||
ip route flush table 1
|
||||
ip route flush table 2
|
||||
|
||||
ip route add $P1_NET dev $IF1 src $IP1
|
||||
ip route add $P2_NET dev $IF2 src $IP2
|
||||
|
||||
ip route add $P1_NET dev $IF1 src $IP1 table $T1
|
||||
ip route add 127.0.0.0/8 dev lo table $T1
|
||||
ip route add default via $P1 table $T1
|
||||
|
||||
ip route add $P2_NET dev $IF2 src $IP2 table $T2
|
||||
ip route add 127.0.0.0/8 dev lo table $T2
|
||||
ip route add default via $P2 table $T2
|
||||
|
||||
ip route add $LAN_NET dev $LAN_IF
|
||||
ip route add $LAN_NET dev $LAN_IF table $T1
|
||||
ip route add $LAN_NET dev $LAN_IF table $T2
|
||||
|
||||
ip route add $WLAN_NET dev $WLAN_IF
|
||||
ip route add $WLAN_NET dev $WLAN_IF table $T1
|
||||
ip route add $WLAN_NET dev $WLAN_IF table $T2
|
||||
|
||||
ip route add $DMZ_NET dev $DMZ_IF
|
||||
ip route add $DMZ_NET dev $DMZ_IF table $T1
|
||||
ip route add $DMZ_NET dev $DMZ_IF table $T2
|
||||
|
||||
ip route add default scope global nexthop via $P1 dev $IF1 weight 1 nexthop via $P2 dev $IF2 weight 1
|
||||
|
||||
# IPv6
|
||||
# A décommenter plus tard :)
|
||||
|
||||
#ip -6 route add xxxx:xxxx:xxxx:d141::/64 dev $LAN_IF
|
||||
#ip -6 route add xxxx:xxxx:xxxx:d142::/64 dev $WLAN_IF
|
||||
#ip -6 route add xxxx:xxxx:xxxx:d143::/64 dev $DMZ_IF
|
||||
|
||||
#ip -6 route add xxxx:xxxx:xxxx:1591::/64 dev $LAN_IF
|
||||
#ip -6 route add xxxx:xxxx:xxxx:1592::/64 dev $WLAN_IF
|
||||
#ip -6 route add xxxx:xxxx:xxxx:1593::/64 dev $DMZ_IF
|
||||
```
|
||||
|
||||
Pensez à bien modifier les adresses IP et réseaux au début du fichier.
|
||||
Ce que nous faisons ici, c'est supprimer les tables de routage existantes pour les recréer "à la main", parce que c'est toujours mieux quand on fait soi-même...
|
||||
|
||||
Pour les routes liées à IPv6, il s'agit des préfixes que vous aurez choisi dans la console de gestion de vos Freebox (voir plus bas).
|
||||
|
||||
Enfin, le firewall:
|
||||
|
||||
```
|
||||
#!/bin/bash
|
||||
|
||||
echo 1 > /proc/sys/net/ipv4/ip_forward
|
||||
|
||||
# ----| Paramètres |-----------------------------------------------------------
|
||||
|
||||
WAN_IF="eth1"
|
||||
WAN_IP="xxx.xxx.xxx.xxx"
|
||||
|
||||
WAN2_IF="eth2"
|
||||
WAN2_IP="xxx.xxx.xxx.xxx"
|
||||
|
||||
LAN_IF="eth4"
|
||||
LAN_NET="10.1.0.0/16"
|
||||
|
||||
WLAN_IF="eth0"
|
||||
|
||||
DMZ_IF="eth3"
|
||||
DMZ_NET="10.0.0.0/16"
|
||||
|
||||
HOST_XMPP="10.0.0.3"
|
||||
HOST_SSH="10.0.0.4"
|
||||
HOST_MAIL="10.0.0.3"
|
||||
|
||||
iptables -t nat -F
|
||||
iptables -t nat -X
|
||||
|
||||
iptables -t mangle -F
|
||||
iptables -t mangle -X
|
||||
|
||||
iptables -F
|
||||
iptables -X
|
||||
|
||||
iptables -P INPUT DROP
|
||||
iptables -P OUTPUT ACCEPT
|
||||
iptables -P FORWARD ACCEPT
|
||||
|
||||
iptables -t mangle -A PREROUTING -j CONNMARK --restore-mark
|
||||
iptables -t mangle -A PREROUTING -m mark ! --mark 0 -j ACCEPT
|
||||
iptables -t mangle -A PREROUTING -j MARK --set-mark 1
|
||||
iptables -t mangle -A PREROUTING -m statistic --mode random --probability 0.5 -j MARK --set-mark 2
|
||||
|
||||
# Freebox 1 et 2
|
||||
iptables -t mangle -A PREROUTING -d 10.0.255.1 -j MARK --set-mark 1
|
||||
iptables -t mangle -A PREROUTING -d 10.0.255.2 -j MARK --set-mark 2
|
||||
|
||||
iptables -t mangle -A PREROUTING -j CONNMARK --save-mark
|
||||
|
||||
# Freebox 1 et 2
|
||||
iptables -t nat -A PREROUTING -d 10.0.255.1 -j DNAT --to-destination 212.27.38.253
|
||||
iptables -t nat -A PREROUTING -d 10.0.255.2 -j DNAT --to-destination 212.27.38.253
|
||||
|
||||
# Masquerade (partage des connexions Internet)
|
||||
iptables -t nat -A POSTROUTING -o $WAN_IF -j SNAT --to-source $WAN_IP
|
||||
iptables -t nat -A POSTROUTING -o $WAN2_IF -j SNAT --to-source $WAN2_IP
|
||||
|
||||
iptables -A INPUT -i lo -j ACCEPT
|
||||
|
||||
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
|
||||
|
||||
# Décommenter pour pouvoir pinguer cette machine
|
||||
#iptables -A INPUT -p icmp -j ACCEPT
|
||||
|
||||
# On accepte ce qui vient des réseaux internes
|
||||
iptables -A INPUT -i $LAN_IF -j ACCEPT
|
||||
iptables -A INPUT -i $WLAN_IF -j ACCEPT
|
||||
iptables -A INPUT -i $DMZ_IF -j ACCEPT
|
||||
|
||||
# Autres règles (services locaux, NAT, etc.)
|
||||
```
|
||||
|
||||
Avec deux Freebox, il fallait trouver une astuce pour accéder à leur interface de gestion et au multi-poste.
|
||||
J'ai retenu l'idée de créer une zone DNS avec des enregistrements de type _freebox1.mondomaine.lan_ et _freebox2.mondomaine.lan_, pointant respectivement sur `10.0.255.1` et `10.0.255.2`, d'où la présence de ces adresses dans ce script.
|
||||
Après avoir marqué les paquets en fonction de la destination voulue, je DNAT sur l'IP de _mafreebox.freebox.fr_ (`212.27.38.253`).
|
||||
|
||||
Le "load-balancing" se fait aux lignes suivantes:
|
||||
|
||||
```
|
||||
iptables -t mangle -A PREROUTING -j MARK --set-mark 1
|
||||
iptables -t mangle -A PREROUTING -m statistic --mode random --probability 0.5 -j MARK --set-mark 2
|
||||
```
|
||||
|
||||
où l'on marque un paquet sur deux avec `--set-mark 2`.
|
||||
|
||||
Certains sites risquent de poser problème avec ça, lorsqu'ils valident l'adresse IP au cours d'une session.
|
||||
Puisqu'un paquet sur deux passe par une connexion Internet, l'IP vue par le site en question change une fois sur deux (grosso modo).
|
||||
|
||||
Pour éviter cela, il faut marquer tous les paquets à destination de l'hôte en question avec la même marque.
|
||||
Ci-dessous, l'exemple avec la console de gestion de Online (_console.online.net_ soit `62.210.16.3`):
|
||||
|
||||
```
|
||||
iptables -t mangle -A PREROUTING -d 62.210.16.3 -j MARK --set-mark 1
|
||||
```
|
||||
|
||||
Cette ligne est à placer **avant** la ligne suivante:
|
||||
|
||||
```
|
||||
iptables -t mangle -A PREROUTING -j CONNMARK --save-mark
|
||||
```
|
||||
|
||||
Où l'on enregistre le marquage des paquets.
|
||||
Répéter l'opération pour tous les sites qui posent problème (d'expérience, ils sont peu nombreux, à vrai dire seul Online a requis cet ajout en ce qui me concerne mais la situation peut être bien différente en fonction des sites que vous fréquentez).
|
||||
|
||||
A noter qu'il est possible de remplacer la ligne:
|
||||
|
||||
```
|
||||
iptables -t mangle -A PREROUTING -d 62.210.16.3 -j MARK --set-mark 1
|
||||
```
|
||||
|
||||
Par:
|
||||
|
||||
```
|
||||
iptables -t mangle -A PREROUTING -d console.online.net -j MARK --set-mark 1
|
||||
```
|
||||
|
||||
Mais en ce qui me concerne, iptables n'aime pas.
|
||||
Il semblerait qu'une option du noyau soit requise, mais j'ignore laquelle (je vous invite à me l'indiquer si vous la connaissez).
|
||||
En tout cas, cela permet de simplifier la gestion de son firewall, c'est donc une piste à suivre.
|
||||
|
||||
Il suffit maintenant d'appeler ces deux scripts au démarrage de la machine.
|
||||
Sous debian, j'ai l'habitude de lancer mes scripts depuis le fichier `/etc/rc.local`.
|
||||
|
||||
### IPv6
|
||||
|
||||
IPv6, avec le routage, fait partie des choses qui me filent la frousse.
|
||||
Je me suis mis bien trop tard par rapport à ce que j'aurai dû/pu et c'est bien dommage, parce que finalement, ce n'est pas si compliqué.
|
||||
|
||||
Il faut préciser que ce que j'ai fais fonctionne, mais ce n'est peut être pas l'idéal.
|
||||
Aussi, j'accepte volontiers vos conseils pour améliorer ma configuration.
|
||||
|
||||
J'ai opté pour la délégation de préfixe: chaque Freebox permet de déléguer jusqu'à huit préfixes.
|
||||
J'en ai choisi trois par Freebox (un par réseau interne), et je les ai configuré comme suit:
|
||||
|
||||
Dans la console de gestion de chaque Freebox, aller dans _Paramètres de la Freebox_, _Mode avancé_ puis _Configuration IPv6_.
|
||||
|
||||

|
||||
|
||||
Je ne configure pas de nexthop sur le premier préfixe parce que sinon les interfaces de Cerbere reliées aux Freebox ne reçoivent plus d'adresse IPv6.
|
||||
L'adresse _Next Hop_ correspond à l'adresse _Lien local_ affichable via un simple `ifconfig` sur l'interface reliée à la Freebox.
|
||||
|
||||
Maintenant, on installe quelques paquets:
|
||||
|
||||
```
|
||||
apt-get install wide-dhcpv6-client radvd
|
||||
```
|
||||
|
||||
Et on les configure:
|
||||
|
||||
```
|
||||
nano /etc/wide-dhcpv6/dhcp6c.conf
|
||||
```
|
||||
|
||||
```
|
||||
# Interface de la première Freebox
|
||||
interface eth1 {
|
||||
send ia-pd 0;
|
||||
send ia-pd 1;
|
||||
send ia-pd 2;
|
||||
};
|
||||
|
||||
id-assoc pd 0 {
|
||||
# LAN
|
||||
prefix-interface eth4 {
|
||||
sla-id 1;
|
||||
};
|
||||
|
||||
prefix xxxx:xxxx:xxxx:d141::/64 18000;
|
||||
};
|
||||
|
||||
id-assoc pd 1 {
|
||||
# WLAN
|
||||
prefix-interface eth0 {
|
||||
sla-id 1;
|
||||
};
|
||||
|
||||
prefix xxxx:xxxx:xxxx:d142::/64 18000;
|
||||
};
|
||||
|
||||
id-assoc pd 2 {
|
||||
# DMZ
|
||||
prefix-interface eth3 {
|
||||
sla-id 1;
|
||||
};
|
||||
|
||||
prefix xxxx:xxxx:xxxx:d143::/64 18000;
|
||||
};
|
||||
|
||||
# Interface de la deuxième Freebox
|
||||
interface eth2 {
|
||||
send ia-pd 3;
|
||||
send ia-pd 4;
|
||||
send ia-pd 5;
|
||||
};
|
||||
|
||||
id-assoc pd 3 {
|
||||
# LAN
|
||||
prefix-interface eth4 {
|
||||
sla-id 1;
|
||||
};
|
||||
|
||||
prefix xxxx:xxxx:xxxx:1591::/64 18000;
|
||||
};
|
||||
|
||||
id-assoc pd 4 {
|
||||
# WLAN
|
||||
prefix-interface eth0 {
|
||||
sla-id 1;
|
||||
};
|
||||
|
||||
prefix xxxx:xxxx:xxxx:1592::/64 18000;
|
||||
};
|
||||
|
||||
id-assoc pd 5 {
|
||||
# DMZ
|
||||
prefix-interface eth3 {
|
||||
sla-id 1;
|
||||
};
|
||||
|
||||
prefix xxxx:xxxx:xxxx:1593::/64 18000;
|
||||
};
|
||||
```
|
||||
|
||||
Puis la configuration de radvd
|
||||
|
||||
```
|
||||
nano /etc/radvd.conf
|
||||
```
|
||||
|
||||
```
|
||||
# LAN
|
||||
interface eth4
|
||||
{
|
||||
AdvManagedFlag off;
|
||||
AdvOtherConfigFlag off;
|
||||
AdvSendAdvert on;
|
||||
AdvDefaultPreference high;
|
||||
AdvLinkMTU 1280;
|
||||
|
||||
prefix xxxx:xxxx:xxxx:d141::/64
|
||||
{
|
||||
AdvOnLink on;
|
||||
AdvAutonomous on;
|
||||
};
|
||||
|
||||
prefix xxxx:xxxx:xxxx:1591::/64
|
||||
{
|
||||
AdvOnLink on;
|
||||
AdvAutonomous on;
|
||||
};
|
||||
};
|
||||
|
||||
# WLAN
|
||||
interface eth0
|
||||
{
|
||||
AdvManagedFlag off;
|
||||
AdvOtherConfigFlag off;
|
||||
AdvSendAdvert on;
|
||||
AdvDefaultPreference high;
|
||||
AdvLinkMTU 1280;
|
||||
|
||||
prefix xxxx:xxxx:xxxx:d142::/64
|
||||
{
|
||||
AdvOnLink on;
|
||||
AdvAutonomous on;
|
||||
};
|
||||
|
||||
prefix xxxx:xxxx:xxxx:1592::/64
|
||||
{
|
||||
AdvOnLink on;
|
||||
AdvAutonomous on;
|
||||
};
|
||||
};
|
||||
|
||||
# DMZ
|
||||
interface eth3
|
||||
{
|
||||
AdvManagedFlag off;
|
||||
AdvOtherConfigFlag off;
|
||||
AdvSendAdvert on;
|
||||
AdvDefaultPreference high;
|
||||
AdvLinkMTU 1280;
|
||||
|
||||
prefix xxxx:xxxx:xxxx:d143::/64
|
||||
{
|
||||
AdvOnLink on;
|
||||
AdvAutonomous on;
|
||||
};
|
||||
|
||||
prefix xxxx:xxxx:xxxx:1593::/64
|
||||
{
|
||||
AdvOnLink on;
|
||||
AdvAutonomous on;
|
||||
};
|
||||
};
|
||||
```
|
||||
|
||||
Là encore bien remplacer les préfixes par ceux que vous avez choisi dans l'interface de gestion des Freebox (ou autre modem IPv6).
|
||||
|
||||
Vous pouvez maintenant décommenter les lignes relatives aux routes IPv6 dans le premier script fourni plus haut, relancer ce dernier, et [tester votre connexion] [2].
|
||||
|
||||
Pour référence, [cette page] [3] m'a bien aidé dans mes pérégrinations.
|
||||
De même, la [_cheat sheet_ de Jens Roesen] [4] a été fort utile.
|
||||
|
||||
C'est juste avant la création d'un script avec `ip6tables` pour sécuriser la portion IPv6 de mon réseau que j'ai abandonné, faute de temps.
|
||||
Il me manque donc cette partie de mon réseau, ainsi que la gestion de mes DNS publics en IPv6.
|
||||
Je m'y collerai dès que j'en aurai l'occasion.
|
||||
|
||||
## Remerciements
|
||||
|
||||
Je me dois de remercier mon ami [chrisk] [5] qui m'a accordé beaucoup de son temps afin de mener à bien l'installation de mon réseau.
|
||||
C'est lui qui a patché puis recompilé le noyau de Cerbere à la sauce Debian, et qui m'a donné les pistes et informations utiles au load-balancing et au fail-over.
|
||||
Un grand merci à lui.
|
||||
|
||||
[1]: https://web.archive.org/web/20150220071306/http://www.ssi.bg/~ja/
|
||||
[2]: http://test-ipv6.com/
|
||||
[3]: http://www.ipv6ve.info/project-definition/ipv6-subnet-cheat-sheet-and-ipv6-cheat-sheet-reference
|
||||
[4]: http://www.roesen.org/files/ipv6_cheat_sheet.pdf
|
||||
[5]: https://linuxfr.org/users/chrisk
|
||||
@@ -0,0 +1,139 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/540
|
||||
date: '2015-01-15 02:43:38'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur LinuxFr
|
||||
url: https://linuxfr.org/users/richarddern/journaux/je-n-aime-pas-le-code-moderne
|
||||
tags:
|
||||
- PHP
|
||||
- Composer
|
||||
- Fancy
|
||||
- Bibliothèque
|
||||
- PSR
|
||||
- PEAR
|
||||
title: Je n'aime pas le code moderne
|
||||
weather:
|
||||
humidity: 83
|
||||
illuminance: 0.0
|
||||
precipitations: false
|
||||
pressure: 1012.0
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 4.6
|
||||
wind_direction: 205
|
||||
wind_speed: 19.0
|
||||
---
|
||||
|
||||
Cher journal,
|
||||
|
||||
## Avant propos #
|
||||
|
||||
Développeur PHP depuis près de dix ans, internaute depuis quinze et geek depuis vingt-cinq, comme tout bon geek, je fais de la veille.
|
||||
Je m'intéresse aux nouveautés, j'étudie scrupuleusement les spécifications des langages que j'utilise (soit PHP, Javascript, CSS et HTML), en bref, je me tiens au courant et j'applique les recommandations les plus récentes.
|
||||
|
||||
### C'était mieux avant ##
|
||||
|
||||
J'adorais Internet.
|
||||
Je l'aime toujours, mais moins qu'avant.
|
||||
"Avant" ?
|
||||
Avant l'avènement des réseaux sociaux.
|
||||
|
||||
Similairement, bien que j'aime toujours coder, j'aime le code moins qu'avant.
|
||||
"Avant" ?
|
||||
Avant l'avènement des frameworks usines-à-gaz qui ne respectent même pas les principes élémentaires de codage ou du modèle [MVC](https://fr.wikipedia.org/wiki/Mod%C3%A8le-vue-contr%C3%B4leur) (du code logique dans des commentaires ?
|
||||
du code brut dans les templates ?).
|
||||
|
||||
### Mon framework à moi ! ##
|
||||
|
||||
Je travaille depuis quelques temps sur un framework maison, composé d'un loader du même genre que celui de [CakePHP](http://cakephp.org/) mais en plus lisible (```CoreLoader::load_vendor('phpmailer')``` ou ```CoreLoader::load_controller('home')``` par exemple), d'un routeur particulièrement complet (prenant en charge des routes automatiques, les droits des utilisateurs en fonction de la route demandée, etc.), de templates, etc.
|
||||
|
||||
Bien que j'ai codé moi-même le gros du framework, l'idée reste qu'il s'agisse d'une agrégation des meilleures librairies dans leur domaine respectif:
|
||||
|
||||
- [PHPMailer](https://github.com/PHPMailer/PHPMailer)
|
||||
- [Redbean](http://www.redbeanphp.com/welcome)
|
||||
- [Smarty](http://www.smarty.net)
|
||||
- etc.
|
||||
|
||||
## Changement de cap #
|
||||
|
||||
### La philosophie du Libre ##
|
||||
|
||||
Hier, j'ai eu une épiphanie:
|
||||
|
||||
> "Hey, coder toi-même ce qui existe déjà ?
|
||||
> Pas trop la philosophie du Libre !"
|
||||
|
||||
Ok.
|
||||
Ça implique - apparemment - d'utiliser des trucs ~~tout moches~~ modernes du genre [composer](https://getcomposer.org/).
|
||||
Bon, allez, je m'y colle.
|
||||
|
||||
Je cherche un peu une librairie pour remplacer mon routeur, et je tombe sur un certain nombre d'entre elles:
|
||||
|
||||
- [klein](https://github.com/chriso/klein.php)
|
||||
- [Toro](https://github.com/anandkunal/ToroPHP)
|
||||
- [Aura](https://github.com/auraphp/Aura.Router)
|
||||
|
||||
Et puis tiens, [PHP-Error](https://github.com/JosephLenton/PHP-Error) pourrait être pas mal.
|
||||
|
||||
### La déconvenue ##
|
||||
|
||||
> Oh !
|
||||
> Il y a un éditeur intégré pour modifier le code en direct quand une erreur se présente !
|
||||
> Cool !
|
||||
> Oh, ça m'enregistre un fichier presque vide quand il y a un antislash dans un namespace !
|
||||
> Bon, ben encore une application moderne qui mise sur l'apparence et qui en fait est tout bugguée...
|
||||
|
||||
Mon application de test n'est pas à la racine.
|
||||
Aucun problème pour mon routeur, mais _klein_ ne fonctionne pas sans _.htaccess_ pour le rewrite, _Aura_ est beaucoup trop gros et aucun des trois ne matche mes routes sur la variable _PATH_INFO_ mais sur le chemin relatif depuis _DOCUMENT_ROOT_.
|
||||
Bizarre...
|
||||
|
||||
### Cause et effet ##
|
||||
|
||||
De façon assez étrange, ni _Smarty_, ni _Redbean_ ne mentionnent _composer_ dans leur documentation, et _PHPMailer_ s'en passe parfaitement.
|
||||
D'ailleurs, j'aime beaucoup [la raison avouée pour laquelle l'auteur de _Redbean_ ne propose pas de package _composer_](http://www.redbeanphp.com/download).
|
||||
Certe, les trois peuvent s'installer via le gestionnaire de dépendances, mais de manière plus ou moins officieuse.
|
||||
|
||||
Personnellement, j'ai bien envie de tomber dans la facilité et voir un lien entre la qualité des librairies, le fait que _composer_ soit obligatoire ou non pour les installer, et la vétusté/simplicité de leur site Internet.
|
||||
|
||||
J'ai testé pas mal d'autres librairies encore et je constate une chose: une grosse partie a une page web créée avec [Bootstrap](http://getbootstrap.com/).
|
||||
Encore des clones de _bootstrap_...
|
||||
Certains mieux réalisés que d'autres toutefois, mais on sent toujours cette patte _bootstrap_, c'en est désespérant.
|
||||
Ni _Redbean_, ni _Smarty_ n'utilisent _bootstrap_ sur leur site.
|
||||
|
||||
Là encore, j'ai envie de tomber dans la facilité: comment avoir confiance dans une librairie dont l'auteur ne prend pas la peine de faire un site sans tomber dans le piège oisif de _bootstrap_, ou du moins, faire en sorte que ça ne se voit pas ?
|
||||
|
||||
Du coup, je ne comprends pas comment il est possible que de telles librairies ou outils puissent avoir une telle cote de popularité.
|
||||
|
||||
### Le mal-aimé ##
|
||||
|
||||
En parlant de popularité, autre exemple: [PEAR](http://pear.php.net/).
|
||||
|
||||
_PEAR_ existait avant _composer_.
|
||||
Avoir sa librairie disponible sur _PEAR_ était, à une époque, la quintessence, l'aboutissement, une reconnaissance extrême.
|
||||
Bien sûr, _PEAR_ est un framework alors que _composer_ est un gestionnaire de dépendances, mais tout de même.
|
||||
Aujourd'hui, tout le monde boude _PEAR_, à part [Horde](http://www.horde.org/) et quelques irréductible de ce que j'appelle l'artisanat du web, vestige d'une époque où le code devait être bien écrit, quasiment exempt de bugs, et fonctionner partout sans la moindre nécessité d'adaptation.
|
||||
Il semblerait qu'on ait perdu cette versatilité au prix d'artifices plus ou moins alambiqués (genre certains design-patterns, les [namespaces](http://php.net/manual/en/language.namespaces.php), les [traits](http://php.net/manual/en/language.oop5.traits.php), etc.).
|
||||
|
||||
### Interopérable ? ##
|
||||
|
||||
Le pire, c'est que toutes ces libs modernes suivent les recommandations [PSR](https://github.com/php-fig/fig-standards), donc devraient être facilement utilisables partout quelle que soit la configuration du serveur sur lequel elles sont installées.
|
||||
|
||||
D'ailleurs, je crois que les "standards" recommandés par le PHP-FIG ne servent qu'à _composer_.
|
||||
Il y a évidemment quelques bonnes idées dedans (UTF-8 sans BOM, _LoggerInterface_, etc.) qui contribuent effectivement et efficacement à l'interopérabilité des librairies PHP, mais désormais, je fuirai les librairies arborant fièrement avoir suivi ces recommandations parce que cela signifie qu'il va être pratiquement impossible de les utiliser sans _composer_ (qui a, par ailleurs, la fâcheuse tendance à installer tout un tas de truc que je n'ai jamais demandé et qui n'existe pas dans les archives).
|
||||
|
||||
### On n'est jamais mieux servis que par soi-même ##
|
||||
|
||||
Au final, je vais faire ce que j'ai toujours fais: continuer de tester des librairies, et intégrer à mon framework les meilleures d'entre elles, les plus simples à installer et utiliser, même si elles devaient être quelque peu obsolètes ([simplepie](https://web.archive.org/web/20150302151026/http://simplepie.org/) par exemple).
|
||||
|
||||
Pour ceux que ça intéresse, voici les différentes librairies que j'utilise, outre _Redbean_, _PHPMailer_ et _Smarty_ (sans _composer_ et sans les avoir modifier de quelque manière que ce soit):
|
||||
|
||||
- [Munee](http://mun.ee/) - concaténation et minification à la volée de CSS et JS avec support de less, scss, coffescript, etc.
|
||||
- [Parsedown](https://github.com/erusev/parsedown) - parser [markdown](http://daringfireball.net/projects/markdown/syntax)
|
||||
- [phpass](http://sunnyis.me/blog/secure-passwords/) - génération de hash sécurisés pour les mots de passe, en l'absence de blowfish
|
||||
|
||||
### Happy end, quand même ##
|
||||
|
||||
Je note tout de même que cette expérience m'a tout de même apporté de bonnes surprises, comme [monolog](https://github.com/Seldaek/monolog), [sentry](https://github.com/cartalyst/sentry) ou [climate](https://github.com/thephpleague/climate) que j'intégrerai peut être à mon framework, malgré l'utilisation "nécessaire" de _composer_ et leur usage abusif des namespaces...
|
||||
|
||||
Ou bien je coderai mes propres libs, les distribuerai sous licence Libre, hors _composer_, en mentionnant que j'ai une approche plus conservatrice du dév...
|
||||
@@ -0,0 +1,158 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/541
|
||||
date: '2015-02-05 15:54:27'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur LinuxFr
|
||||
url: https://linuxfr.org/users/richarddern/journaux/auto-hebergement-pas-toujours-evident
|
||||
tags:
|
||||
- NAS
|
||||
- Cloud
|
||||
- Serveur
|
||||
- Auto-hébergement
|
||||
- Edward Snowden
|
||||
- Heartbleed
|
||||
- Shellshock
|
||||
title: 'Auto-hébergement: pas toujours évident...'
|
||||
weather:
|
||||
humidity: 69
|
||||
illuminance: 17484.600000000002
|
||||
precipitations: false
|
||||
pressure: 1013.1
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: -1.5
|
||||
wind_direction: 46
|
||||
wind_speed: 23.9
|
||||
---
|
||||
|
||||
L'auto-hébergement a toujours été défini comme une alternative saine aux offres de stockage en ligne proposées par exemple par Amazon, Google ou Microsoft.
|
||||
Héberger chez soi ses propres données est un gage de sécurisation et de préservation de la confidentialité de ses données personnelles.
|
||||
|
||||
Il y a eu une période au cours de laquelle on trouvait toute une panoplie d'applications Libres pour réussir son auto-hébergement.
|
||||
On avait du choix, les applications étaient techniquement abouties et complètes.
|
||||
Puis il y a eu une période de creux.
|
||||
Une période pendant laquelle de nombreux projets ont été abandonnés, faute de temps et de moyens.
|
||||
|
||||
L'auto-hébergement retrouve désormais des couleurs, non pas sans rapport avec l'affaire Snowden, les atteintes quotidiennes à la liberté d'expression ou à la confidentialité, ou le vol de données privées.
|
||||
Malheureusement, le florilège des applications libres destiné à cet usage s'est réduit, et concilier sécurité, simplicité et fonctionnalités devient difficile.
|
||||
|
||||
## Auto-hébergement et NAS #
|
||||
|
||||
_**Sécurité:** moyen_ _**Simplicité:** excellent_ _**Fonctionnalités:** bon, mais..._
|
||||
|
||||
Les NAS "physiques" (comprendre: Synology, QNAP, etc.) offrent généralement un système de paquets logiciels permettant d'étendre leurs fonctionnalités: serveur web, serveur multimédia, serveur mail, etc. Cela permet de grandement simplifier leur installation bien sûr, mais au détriment - généralement - de leur "paramétrabilité".
|
||||
|
||||
Quand on a un accès root au système sous-jacent, les manques sont rapidement comblés par les connaisseurs.
|
||||
Quant aux utilisateurs lambda, ils utilisent ce qu'ils ont sous la main.
|
||||
|
||||
Le problème avec les NAS concerne surtout leur niveau de sécurité.
|
||||
Plus exactement, leur niveau de sécurité dépend de la réactivité des constructeurs à sortir des mises à jour en cas de problème.
|
||||
L'actualité récente ([HeartBleed](https://linuxfr.org/news/nouvelle-vulnerabilite-dans-l-implementation-openssl), [ShellShock](https://linuxfr.org/news/une-faille-nommee-shellshock), etc.) nous a montré - si besoin était encore - que les systèmes fermés contraignent les utilisateurs à attendre que les constructeurs sortent des correctifs.
|
||||
Un paradigme insupportable pour les défenseurs du Libre, à juste titre puisque cela affecte la sécurité et la confidentialité des données.
|
||||
Cela soulève donc la question de la confiance que l'on choisi d'accorder à un système de stockage de données qui contiendra - a fortiori - des données privées.
|
||||
Autrement dit, confier ses données à un NAS dont le système n'est pas (totalement) libre serait équivalent à confier ses données à un hébergeur dans le cloud.
|
||||
|
||||
Au final, les NAS offrent une grande simplicité (l'installation peut se faire en un gros quart d'heure), au détriment des fonctionnalités et surtout de la sécurité.
|
||||
Je ne crois pas qu'il s'agisse d'une bonne solution pour faire de l'auto-hébergement à cause de ça.
|
||||
Quand on veut s'auto-héberger, c'est pour contrôler le stockage, et donc avoir confiance dans son système de stockage.
|
||||
|
||||
## Un serveur _home-made_ #
|
||||
|
||||
_**Sécurité:** excellent_ _**Simplicité:** peut mieux faire_ _**Fonctionnalités:** excellent mais..._
|
||||
|
||||
À l'autre opposé, on a la possibilité de monter son propre serveur.
|
||||
Dans ce cas là, la sécurité n'est plus dictée "que" par le bon sens de l'administrateur, et sa connaissance des outils de base.
|
||||
Bien sûr, on ne joue plus dans la même cours que les NAS: monter un serveur soi même est loin d'être aussi simple et requiert un certain nombre de compétences pour être capable de le sécuriser.
|
||||
Mais le gain en terme de fonctionnalités est incommensurable, sauf que...
|
||||
|
||||
Le problème avec le serveur fait soi-même, je l'ai évoqué dans le premier paragraphe de ce journal.
|
||||
Il y a pour ainsi dire une certaine pénurie d'applications Libres dédiées à l'auto-hébergement.
|
||||
|
||||
### Cas du client mail ##
|
||||
|
||||
#### Le webmail, tout simple ###
|
||||
|
||||
Un exemple concret: le webmail.
|
||||
|
||||
Il y a quelques temps, on avait:
|
||||
|
||||
- [Squirrelmail](http://www.squirrelmail.org/)
|
||||
- [Horde + IMP](http://www.horde.org/)
|
||||
- [Roundcube](http://roundcube.net/)
|
||||
- [@mail](http://www.atmail.org/)
|
||||
- [Xuheki](https://web.archive.org/web/20150511043342/http://www.xuheki.com/)
|
||||
- [Hastymail](http://www.hastymail.org/)
|
||||
|
||||
Aujourd'hui, on a:
|
||||
|
||||
- Roundcube
|
||||
- [Mailpile](https://www.mailpile.is/)
|
||||
|
||||
Ces listes sont loin d'être exhaustives, mais le but est de montrer que le choix s'est grandement limité avec le temps, pour différentes raisons.
|
||||
|
||||
Squirrelmail n'est pratiquement plus utilisable aujourd'hui, et Horde non plus dans une moindre mesure.
|
||||
Dans le cas du premier, l'austérité de son interface rebute les nouveaux utilisateurs, déjà habitués aux interfaces léchées, claires, pleines d'icônes et dynamiques.
|
||||
Et bien que Horde ait su mieux moderniser son interface, elle reste en retrait par rapport à la concurrence.
|
||||
D'ailleurs, son remplacement au profit de Roundcube dans un certain nombre de packages est révélateur (par exemple, [Kolab](http://kolab.org/) n'offre plus Horde comme client depuis la version [3.0](http://kolab.org/news/2014/11/29/final-version-kolab-3.0-released)).
|
||||
|
||||
Les développeurs des autres solutions Libres ont simplement jeté l'éponge depuis 2013, voire avant.
|
||||
@mail est d'ailleurs probablement l'exemple le plus décevant puisque le projet Libre a été abandonné au profit d'une version sous licence non libre et qu'aucun fork n'existe depuis six ans.
|
||||
|
||||
Tout cela importerait peu si Roundcube et Mailpile n'étaient pas si "pauvres".
|
||||
Roundcube par exemple, bien que doté d'un système de [plugins](http://plugins.roundcube.net), souffre du manque de support du chiffrement et de la signature des mails: cela fait quelques années déjà que le support de GPG/PGP/SMIME est dans [leur roadmap](http://trac.roundcube.net/milestone/later), et leur dépôt de plugins ne liste que des modules pour vérifier les signatures, pas pour chiffrer.
|
||||
Pas possible non plus d'envoyer un mail différé par exemple.
|
||||
|
||||
D'autre part, le seul plugin existant pour gérer un calendrier est celui de...
|
||||
[Kolab](https://web.archive.org/web/20150407045310/http://plugins.roundcube.net/packages/kolab/calendar), et [ne supporte que des backends MySQL ou Kolab](http://git.kolab.org/roundcubemail-plugins-kolab/tree/plugins/calendar/README).
|
||||
Exit donc caldav ou les rappels automatiques.
|
||||
|
||||
Quant à Mailpile, bien que l'accent soit mis sur la sécurité, et donc un support natif de GPG, il n'a pas de gestion de dossiers, pas de panneau de visualisation, et encore moins de calendrier avec rappel, ou de gestion des filtres.
|
||||
Il est en phase de beta, ces manques pourraient être comblés à l'avenir, mais pour l'heure, ce n'est pas une solution viable pour le commun des mortels.
|
||||
|
||||
#### La solution tout-en-un ###
|
||||
|
||||
Il apparait donc qu'une solution plus adéquate, ou en tout cas plus souple, plus complète, est la solution tout-en-un, _aka_ groupwares.
|
||||
C'est un compromis entre l'abondance des fonctionnalités, la simplicité d'installation et d'utilisation, et la sécurité.
|
||||
|
||||
Et là, les outils Libres sont un peu plus nombreux.
|
||||
Sans parler de Kolab qui repose sur Roundcube, je citerai [Citadel](http://www.citadel.org), mais surtout [Zimbra](http://www.zimbra.com/), que j'ai adopté avec une immense satisfaction.
|
||||
|
||||
### Le cas des galeries photos ##
|
||||
|
||||
Un autre exemple auquel j'ai été récemment confronté: la gestion de galeries de photos.
|
||||
|
||||
Historiquement, je me suis toujours tourné vers [Gallery](http://galleryproject.org/).
|
||||
Et puis j'ai eu un Synology entre les mains, avec PhotoStation, que je trouvais tout simplement parfait: l'authentification se faisait auprès du serveur LDAP, les permissions d'accès étaient celles du système de fichiers, et les photos étaient dans l'arborescence du dossier dédié.
|
||||
|
||||
Gallery pourrait toujours faire tout ça, et remplacer avantageusement PhotoStation, non libre.
|
||||
Mais le projet est mort.
|
||||
En "hibernation" depuis juin dernier.
|
||||
Plus de mises à jour, donc potentiellement plus sécurisé.
|
||||
|
||||
Je n'ai pu trouver aucun remplaçant à Gallery, bien que cette fois, les solutions soient nombreuses.
|
||||
Pas de support de LDAP, obligation de stocker les photos dans l'arborescence de l'application, pas de liberté dans la structure des fichiers, pas d'affichage des données EXIF, il manque toujours quelque chose.
|
||||
|
||||
### Le cas de la gestion des utilisateurs ##
|
||||
|
||||
Quand on monte son serveur et qu'on gère quelques utilisateurs, on a envie de le faire bien, et permettre aux utilisateurs d'utiliser le même identifiant et le même mot de passe pour tous les services hébergés.
|
||||
Cela permet aux utilisateurs d'utiliser une seule interface pour gérer leur compte.
|
||||
Par ailleurs, l'attribution et la gestion des droits en est simplifiée pour l'administrateur.
|
||||
Tout simplement une bonne pratique héritée des grosses structures.
|
||||
|
||||
Là encore on doit faire face à l'absence d'un tel système, pourtant bien présent dans les NAS.
|
||||
|
||||
Suite à un [commentaire de NeoX](https://linuxfr.org/nodes/104672/comments/1586596), j'utilise désormais [SSP](http://ltb-project.org/wiki/documentation/self-service-password).
|
||||
C'est parfait pour changer son mot de passe, mais quid des autres informations personnelles ?
|
||||
On pourrait par exemple supposer que certains utilisateurs préfèreraient un shell différent de celui attribué par défaut, ou la possibilité de changer son avatar, son téléphone, son adresse, etc. Je n'ai pas pu trouver une telle application.
|
||||
|
||||
Il y a bien [MDS](http://projects.mandriva.org/projects/mmc/wiki/Start) qui offre ces fonctionnalités, mais apparemment ne supporte pas les champs LDAP _SambaNTPassword_ et _SambaLMPassword_, qui évitent notamment une manipulation dans le registre des clients Windows relative au chiffrement des mots de passe.
|
||||
|
||||
## Conclusion #
|
||||
|
||||
**L'auto-hébergement est vital**.
|
||||
C'est peut être long et fastidieux, mais c'est enrichissant, intéressant, en plus d'être gage de protection de la confidentialité.
|
||||
|
||||
Malheureusement, tant qu'on ne retrouvera pas la diversité des applications existantes avant l'avènement du cloud, et tant qu'elles ne conjugueront pas la simplicité des applications livrées avec les NAS avec l'exhaustivité typique des applications Libres, je crois que l'auto-hébergement (hors NAS) restera plus ou moins marginal, réservé à une population de connaisseurs, et par conséquent, et malgré les faits d'actualité, le commun des mortels ne pourra pas pleinement mesurer son importance.
|
||||
|
||||
Il faut voir le bon côté des choses: on pourra toujours leaker des photos compromettantes...
|
||||
|
After Width: | Height: | Size: 271 KiB |
@@ -0,0 +1,52 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/542
|
||||
date: '2015-03-02 17:15:30'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur LinuxFr
|
||||
url: https://linuxfr.org/users/richarddern/journaux/cyca-gestionnaire-de-signets-et-de-flux-open-source
|
||||
tags:
|
||||
- RSS
|
||||
- Signet
|
||||
- Marque-page
|
||||
title: 'Cyca: gestionnaire de signets et de flux open-source'
|
||||
weather:
|
||||
humidity: 82
|
||||
illuminance: 19385.100000000002
|
||||
precipitations: false
|
||||
pressure: 1011.0
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: 5.7
|
||||
wind_direction: 267
|
||||
wind_speed: 30.3
|
||||
---
|
||||
|
||||
Bonjour à tous.
|
||||
|
||||
J'aimerais vous parler aujourd'hui du projet personnel qui me tient le plus à coeur, celui sur lequel je travaille depuis le plus longtemps.
|
||||
L'application s'appelle Cyca, et c'est un gestionnaire de signet et de flux.
|
||||
|
||||

|
||||
|
||||
Son histoire commence il y a une dizaine d'années.
|
||||
Elle était écrite en C# à l'origine, s'appellait Bookmarks Manager et s'inspirait de NetSignets.
|
||||
Elle s'est appelée Cyca pour la première fois lorsque [je l'ai publiée en closed-source en 2008](http://www.toucharger.com/fiches/windows/cyca/26686.htm).
|
||||
Trop timide pour exposer son code...
|
||||
|
||||
Depuis, je l'ai écrite en PHP, et plusieurs versions se sont succédées, sans jamais être publiées.
|
||||
Là encore, question de timidité.
|
||||
|
||||
Mais aujourd'hui, je suis plus confiant dans mon code, dans l'intérêt que Cyca peut représenter, et de la fiabilité globale de l'application.
|
||||
Malgré tout, j'ai souhaité revoir mon versionning.
|
||||
C'est pourquoi aujourd'hui, ce n'est pas Cyca 8 ou 9 que je vous présente, mais Cyca 0.0.1.
|
||||
Du coup, j'ai opté pour une licence libre (GNU GPL).
|
||||
|
||||
Réécrite from scratch, plus souple, plus esthétique, le moment est venu de se montrer sous un nouveau jour, une nouvelle naissance en quelque sorte.
|
||||
|
||||
En conséquence, j'avais envie de partager ce moment avec vous, et que vous partagiez avec moi vos retours.
|
||||
Si l'application vous intéresse et que vous tentez l'installation, pensez à jeter un oeil aux [tickets ouverts](https://git.athaliasoft.com/athaliasoft/Cyca/issues).
|
||||
|
||||
- [Site officiel](https://web.archive.org/web/20150315003033/https://getcyca.com/)
|
||||
- [Captures d'écran](https://web.archive.org/web/20150315003033/https://getcyca.com/screenshots/)
|
||||
- [Dépôt git](https://git.athaliasoft.com/athaliasoft/Cyca)
|
||||
|
After Width: | Height: | Size: 61 KiB |