Manifestation contre la réforme du code du travail mardi 12 septembre 2017 à Paris [Demonstration against the reform of the labor code Tuesday, September 12th, 2017 in Paris]

Français English
J’ai participé à la manifestation contre la réforme du code du travail mardi 12 septembre 2017 à Paris. Des syndicats de travailleurs (CGT, SUD, FO, CNT, CFE-CGC, CFDT, UNSA, …), des syndicats étudiants (UNEF, SUD étudiant), plusieurs organisations politiques (Lutte ouvrière, PCF, LFI, NPA, PCOF, EELV, …) et quelques autres organisations (Attac, Act Up, droit au logement, …) étaient présents. I participated in the demonstration against the reform of the labor code Tuesday, September 12th, 2017 in Paris. Several trade unions (CGT, SUD, FO, CNT, CFE-CGC, CFDT, UNSA, …), some student unions (UNEF, SUD student), several political organizations (Workers’ struggle, PCF, LFI, NPA, Anarchist Federation, PCOF, EELV, …) and several other organizations (Attac, Act Up, right in the housing, …) were present.
La réforme du code du travail va encore plus loin que la loi El Khomri autant sur le fond que dans la méthode. Ainsi, on passe du 49.3 aux ordonnances histoire d’aller encore plus vite. Le CDI de chantier qui fait déjà des ravages dans le secteur du bâtiment serait étendu à d’autres secteurs sous l’appellation « CDI de projet ». Derrière ce projet, il y a toujours l’idée fausse que les salariés seraient trop protégés et que le code du travail serait responsable du chômage. Les vieilles recettes néo-libérales ont déjà échoué en Espagne et en Italie mais Macron s’obstine à vouloir les appliquer en France. Il ne s’agit pas de flexi-sécurité, il ne reste que la flexibilité. Le plafonnement des indemnités prud’homales ne ferait que faciliter les licenciements. Il deviendrait possible de licencier un salarié refusant d’adapter son contrat de travail à un accord d’entreprise même minoritaire. Je suis heureux que la CGT ne se soit pas laissée piéger par le « dialogue social », drôle de dialogue alors qu’on apprend le contenu des ordonnances bien après dans les journaux … et le gouvernement osera prétendre qu’il a élaboré ce projet avec les syndicats. Il permettrait d’effectuer des ruptures conventionnelles collectives pour licencier en masse sans faire de plan de sauvegarde de l’emploi alors que les ruptures conventionnelles individuelles sont déjà massivement utilisées pour licencier de façon déguisée. Les multinationales pourraient cacher une partie de leurs bénéfices à l’étranger pour pouvoir plus facilement licencier en France. Les droits liés à la pénibilité seraient fortement réduits. J’oublie pas mal de choses. Avec Macron, pour les salariés, c’est encore et toujours l’indigestion mais c’est toujours le festin pour les patrons. The reform of the labor code is going even further than El Khomri’s law both in substance and in the method. Thus, we go from the 49.3 to the orders in order to go even faster. The permanent job contract of work site that already wreaks havoc in the sector of construction industry would be extended to some other sectors under the designation « permanent job contract of project ». This project is justified by the wrong idea that the employees would be too much protected and that the labor code would be responsible for unemployment. The old neoliberal recipes have already failed in Spain and in Italy but Macron persists in wanting to apply them in France. It’s not flexi-security, there remains only flexibility. The upper limit of the industrial tribunal’s compensations would only ease the dismissals. It would become possible to dismiss an employee refusing to adapt his contract of employment to acompany agreement even approved by a minority. I’m happy that CGT haven’t fallen in the trap of the « social dialog », what a funny dialogue while we learn the contents of the orders far later in the newspapers … and the government will dare to claim that it developed this project with the labor unions. It would allow to make the collective contractual terminations to dismiss massively without making any redundancy plan whereas the individual contractual terminations are already massively used to dismiss in a disguised way. The multinationals could hide a part of their profits abroad to be able to dismiss more easily in France. The rights bound( to the hardness would be strongly reduced. I forget quite a lot of things. With Macron, for the employees, it’s again and again the indigestion but it is always the feast for the bosses.
Ni en marche ni au pas, en manif [Neither running nor brought into line, in the demonstration]
« Ni en marche ni au pas, en manif » « Neither running nor brought into line, in the demonstration »
En marche pour les manifs [Running to the demonstrations]
« En marche pour les manifs » « Running to the demonstrations »
Nous ne serons pas les macrons de la farce [We won't be the Macrons of the joke]
« Nous ne serons pas les macrons de la farce » « We won't be the Macrons of the joke »
CGT [CGT]
CGT CGT
SUD [SUD]
SUD SUD
FSU [FSU]
FSU FSU
CFE-CGC [CFE-CGC]
CFE-CGC CFE-CGC
UNSA [UNSA]
UNSA UNSA
CFDT [CFDT]
CFDT CFDT
La lutte continue [The struggle goes on]
« La lutte continue » « The struggle goes on »
FO [FO]
FO FO
Lutte ouvrière [Workers' struggle]
Lutte ouvrière Workers' struggle
Droit au logement [Right in the housing]
Droit au logement Right in the housing
CNT SO [CNT SO]
CNT SO CNT SO
Nouveau parti anticapitaliste [New anticapitalist party]
Nouveau parti anticapitaliste New anticapitalist party
Nous ne serons jamais des winners, connard [We will never be winners, moron]
« Nous ne serons jamais des winners, connard » « We will never be winners, moron »
Les forains de France [The stallholders of France]
Les forains de France The stallholders of France
Réformes : mesures permettant aux riches de s'enricher encore plus au détriment des pauvres. Luttons ensemble contre le coup d'état social de Macron [Reforms: measures allowing the rich to become even richer to the detriment of the poor. Let's fight together against Macron's social coup d'état]
« Réformes : mesures permettant aux riches de s'enricher encore plus au détriment des pauvres. Luttons ensemble contre le coup d'état social de Macron » « Reforms: measures allowing the rich to become even richer to the detriment of the poor. Let's fight together against Macron's social coup d'état »
Lycéens et étudiants contre la loi travail [High school students and students against the 'work' law]
« Lycéens et étudiants contre la loi travail » « High school students and students against the 'work' law »
Lycéens et étudiants contre la loi travail [High school students and students against the 'work' law]
« Lycéens et étudiants contre la loi travail » « High school students and students against the 'work' law »
Lycéens et étudiants contre la loi travail [High school students and students against the 'work' law]
« Lycéens et étudiants contre la loi travail » « High school students and students against the 'work' law »
Retrait de la loi El Khomri, renationalisation d'EDF-GDF, CGT énergie Paris [Repeal of El Khomri's law, renationalization of EDF-GDF, CGT energy Paris]
« Retrait de la loi El Khomri, renationalisation d'EDF-GDF », CGT énergie Paris « Repeal of El Khomri's law, renationalization of EDF-GDF », CGT energy Paris
Nos activités sociales ont de l'avenir, CGT mines énergie [Our social activities have a bright future, CGT mines energy]
« Nos activités sociales ont de l'avenir », CGT mines énergie « Our social activities have a bright future », CGT mines energy
Act Up [Act Up]
Act Up Act Up
Dans le monde, à peine 1 séropositif sur 2 a accès aux traitements, Act Up [One HIV-positive out of two has access to the treatments, Act Up]
« Dans le monde, à peine 1 séropositif sur 2 a accès aux traitements », Act Up « One HIV-positive out of two has access to the treatments », Act Up
Ca gaze mon Gattaz? Macron c'est le Père Noël ma Muriel [Is it great, my Gattaz? Macron is Santa Klaus my Muriel]
« Ca gaze mon Gattaz? Macron c'est le Père Noël ma Muriel » « Is it great, my Gattaz? Macron is Santa Klaus my Muriel »
Arrêtons Toutânmhacron [Let's stop Toutânmhacron]
« Arrêtons Toutânmhacron » « Let's stop Toutânmhacron »
La régression sociale sauce macron, CGT Île-de-France [Social relapse Macron sauce, CGT Paris metropolitan region]
« La régression sociale sauce macron », CGT Île-de-France « Social relapse Macron sauce », CGT Paris metropolitan region
Projet Macron : on a tous de bonnes raisons d'agir, CGT Île-de-France [Macron's project: we all have some good reasons to act, CGT Paris metropolitan region]
« Projet Macron : on a tous de bonnes raisons d'agir », CGT Île-de-France « Macron's project: we all have some good reasons to act », CGT Paris metropolitan region
Contre la loi travail, CGT Cheminots Trappes [Against the 'work' law, CGT railway workers Trappes]
« Contre la loi travail », CGT Cheminots Trappes « Against the 'work' law », CGT railway workers Trappes
CGT Banque de France [CGT Bank of France]
CGT Banque de France CGT Bank of France
Travailleurs sans papiers [Undocumented workers]
Travailleurs sans papiers Undocumented workers
Ca suffit, les salariés ne sont pas jetables, réagissons, CGT Info'com [Enough is enough, the employees aren't disposable, let's react, CGT Info'Com]
« Ca suffit, les salariés ne sont pas jetables, réagissons », CGT Info'com « Enough is enough, the employees aren't disposable, let's react », CGT Info'Com
Agent du CAC 40. Tous en grève et dans la rue, CGT Info'com [Agent of the CAC 40. Everybody in strike and on the street, CGT Info'Com]
« Agent du CAC 40. Tous en grève et dans la rue », CGT Info'com « Agent of the CAC 40. Everybody in strike and on the street », CGT Info'Com
Le progrès social c'est dans la rue que ça se gagne, CGT Info'com [Social progress is won on the street, CGT Info'Com]
« Le progrès social c'est dans la rue que ça se gagne », CGT Info'com « Social progress is won on the street », CGT Info'Com
CLAP [CLAP]
CLAP CLAP
Travail social en lutte [Social work in struggle]
« Travail social en lutte » « Social work in struggle »
Lycée Suger [High school Suger]
Lycée Suger High school Suger
Non au droit du travail de Cromacron, collège Fabien Saint-Denis [No to Cromacron's labour code, secondary school Fabien Saint-Denis]
« Non au droit du travail de Cromacron », collège Fabien Saint-Denis « No to Cromacron's labour code », secondary school Fabien Saint-Denis
Velib' non aux salariés jetables [Velib' no to the disposable employees]
« Velib' non aux salariés jetables » « Velib' no to the disposable employees »
SUD [SUD]
SUD SUD
SUD [SUD]
SUD SUD
FO [FO]
FO FO
FO [FO]
FO FO
CNT [CNT]
CNT CNT
CNT [CNT]
CNT CNT
Lutte ouvrière [Workers' struggle]
Lutte ouvrière Workers' struggle
La France insoumise [Disobedient France]
La France insoumise Disobedient France
Licence Creative Commons
Les photos de cet article sont mises à disposition selon les termes de la Licence Creative Commons Attribution – Pas d’Utilisation Commerciale – Pas de Modification 3.0 non transposé
Creative Commons License
The photos of this article are licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License
Licence Creative Commons
Cet article est mis à disposition selon les termes de la Licence Creative Commons Attribution – Pas d'Utilisation Commerciale – Partage à l'Identique 3.0 non transposé
Creative Commons License
This article is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License
Auteur : Julien Gouesse Author: Julien Gouesse
Publié dans Politique, syndicalisme et vie associative | Tagué , , ,

L’auto-hébergement : Pourquoi? Comment? [Self-hosting : Why? How?]

Français English
Sommaire :

Summary:

Définition

Definition

L’auto-hébergement consiste à héberger sur son propre matériel informatique ses services Internet (pages web, messagerie électronique, …) au lieu de faire appel à des prestataires extérieurs. Self-hosting consists in running on one’s own computer hardware one’s Internet services (Web pages, e-mail,…) instead of calling upon external service providers.

Pourquoi?

Why?

La première motivation peut être la curiosité, l’envie d’apprendre et de comprendre comment ça marche, le plaisir de mettre les mains dans le cambouis. The first motivation can be the curiosity, the desire to learn and to understand how it works, the pleasure to get the hands dirty.
La deuxième motivation (qui explique que cet article soit dans la rubrique « Politique, syndicalisme et vie associative ») peut être le désir d’autonomie, d’indépendance, de contrôle, de maîtrise, de (re)prendre le pouvoir sur ses données, en particulier dans un contexte de surveillance de masse accrue. Les données et les méta-données sont le pétrole de demain, je voudrais bien pouvoir décider qui se sert des miennes et comment. De nombreux services prétendument « gratuits » font leur beurre en vendant ces données à des organisations privées et publiques tout en se souciant peu des conséquences sur nos vies. Je ne suis pas certain que le « deal » soit juste et ce sont ces fournisseurs de services qui sont souvent les seuls à découper les parts du gâteau, pourquoi n’aurais-je pas mon mot à dire? Nous avons toutes et tous des choses à cacher, tout le monde ne doit pas tout savoir, votre petit neveu de 6 ans a-t-il besoin de connaître les détails de votre vie sexuelle? Votre mutuelle devrait-elle pouvoir connaître votre état de santé en détails avant de vous accepter comme client? Trouveriez-vous normal que votre banque vous refuse un prêt immobilier en fonction de vos convictions politiques, syndicales ou religieuses? Accepteriez-vous qu’un recruteur vous refuse un poste parce qu’il a su que vous aimez bien boire de l’alcool avec modération? Souhaitez-vous qu’un régime autoritaire puisse savoir à tout moment où vous êtes, ce que vous faites et avec qui vous êtes? Je réponds « non » à toutes ces questions. Il me parait tout à fait légitime d’envoyer des courriers postaux dans des enveloppes pour que seuls les destinataires en voient le contenu et de recevoir des courriers postaux dans une boîte à lettres chez moi, pourquoi devrais-je accepter que ce ne soit pas du tout le cas quand il s’agit cette fois-ci de courriers électroniques? Je ne pense pas que la technologie doive servir de prétexte à accepter des reculs dans nos droits et nos libertés. Je reste convaincu que nous avons toutes et tous le droit au respect de l’intimité de nos vies privées. The second motivation (that explains why this article is in section “Politics, trade unionism and associations”) can be the desire of autonomy, independence, control, control, of regaining the power on ones data, in particular in a context of increasing mass surveillance. The data and the meta-data are the petroleum of tomorrow, I would like to be able well to decide who makes use of mine and how. Many “free of charge” services allegedly make money by selling these data to some private and public organizations while worrying little about the consequences on our lives. I’m not sure that the “deal” is right and these are the service providers which are often the only ones to cut out the shares of the cake, why wouldn’t I have my say? We have all something to hide, everybody doesn’t have to know everything, does your small six-year-old nephew need to know the details of your sex life? Should your mutual insurance company be able to know your health status in details before accepting you as its customer? Would you find normal that your bank refuses you a real loan according to your political, trade-union or religious convictions? Would you accept that a recruiter refuses you a job because he knows that you like to drink alcohol responsibly? Do you wish that an authoritarian regime be able to know constantly where you are, what you do and with whom you are? I answer “no” to all these questions. It appears completely legitimate to me to send postal mails in envelopes so that only the recipients see the contents of them and to receive postal mails in a letter-box at home, why should I accept that it’s not at all the case when it deals this time with electronic mails? I don’t think that technology must serve as a pretext for accepting push backs in our rights and our freedoms. I remain convinced that we have all the right to the respect of our private lives’ intimacy.
Selon moi, l’auto-hébergement est également une brique de base d’une société libre appliquant l’autogestion dans tous les domaines. Les masses ont besoin de reprendre confiance en leur pouvoir, elles ont besoin de réaliser qu’elles sont capables de s’organiser elles-mêmes et de produire elles-mêmes en se débarrassant des modalités d’organisations hiérarchisées issues du système capitaliste. L’enjeu de l’autogestion est le contrôle du travail par les travailleurs eux-mêmes et l’enjeu de l’auto-hébergement est le contrôle d’Internet par les internautes eux-mêmes. Aujourd’hui, l’état américain contrôle les serveurs racines d’Internet via l’ICANN, la grande majorité des résolveurs de noms de domaines est sous le contrôle d’entreprises privées qui acceptent le blocage administratif des sites web, de nombreux hébergeurs et fournisseurs de services font leurs lois sur Internet, ce sont autant d’intermédiaires qui ont des moyens légaux et extra-légaux de porter atteinte à la liberté d’expression sur Internet pour servir les intérêts des impérialistes. C’est pourquoi je ne considère plus que Facebook est un réseau social, j’utilise le terme « réseau asocial sous contrôle impérialiste » pour le désigner depuis plusieurs années. L’auto-hébergement est nécessaire pour l’autonomie d’Internet vis-à-vis du système capitaliste. Prouver que l’auto-hébergement est possible revient à prouver que l’autogestion est applicable sur Internet, c’est un moyen de crédibiliser partiellement un projet de société autogestionnaire. According to me, self-hosting is a fundamental component of a free society putting self-management into practice in all domains. The masses need to regain trust in their power, they need to realize that they are able to organize themselves and to produce by themselves by getting rid of the ways and the means of ordered organizations coming from the capitalist system. The issue of self-management is the control of work by the workers themselves and the issue of self-hosting is the control of Internet by the Internet users themselves. Today, the american State controls the root servers of Internet through the ICANN, the large majority of the domain names resolvers is under the control of private corporations that accept the administrative blocking of websites, numerous web hosts and service providers rule the roost on Internet, these are so many intermediaries that have legal and extra-legal means of harming the freedom of speech on Internet in order to serve the interest of the imperialists. That’s why I no longer consider that Facebook is a social network, I have used the term « asocial network under imperialist control » to designate it for years. Self-hosting is necessary for the autonomy of Internet from the capitalist system. Proving that self-hosting is possible leads to prove that self-management can be put into practice on Internet, it’s a mean of partially making a project of self-managed society credible.
Avant de poursuivre, si vous vous retrouvez dans la seconde motivation mais pas du tout dans la première, en d’autres termes si vous voulez bénéficier de l’auto-hébergement en tant qu’utilisateur sans passer pas mal de temps à apprendre comment ça marche, tournez-vous vers Yunohost ou achetez une brique Internet et faites-vous aider par des gens qui savent de quoi ils parlent. Before continuing, if you find yourself in the second motivation but not at all in the first one, in other words if you want to benefit from the self-hosting as a user without spending a lot of time to learn how it works, rather choose Yunohost or buy an Internet cube and ask for help to some people who know what they talk about.

Comment?

How?

Notions de base

Basic knowledge

Je vais vous expliquer quelques concepts importants avant d’en venir à l’installation au sens strict. I’m going to explain some important concepts before dealing with the setup strictly speaking.

Adresse MAC

MAC address

Une adresse MAC est un identifiant unique d’une interface réseau. On parle parfois d’adresse physique ou d’adresse Ethernet. Vous pouvez l’obtenir en entrant « ifconfig -a » sous GNU Linux, Unix et Mac OS X (dans le champ « HWaddr » ou « ether ») ou « ipconfig /all » sous Microsoft Windows. Elle reste généralement inchangée mais certains systèmes d’exploitation permettent quand même de la modifier ou le font à chaque démarrage, ce qui peut être utile pour réduire les risques de traçage sur Internet. A MAC address is a unique identifier of a network interface. It’s sometimes called a physical address or an Ethernet address. You can obtain it by entering « ifconfig -a » under GNU Linux, Unix and Mac OS X (in the field « HWaddr » or « ether ») or « ipconfig /all » under Microsoft Windows. Usually, it remains unchanged but some operating systems still allows to modify it or do it at each boot, which can be useful to reduce the risks of tracking on Internet.

Adresse IP

IP address

Une adresse IP est un identifiant d’une machine connectée à un réseau informatique utilisant le Protocole Internet. Il existe deux versions d’adresse IP, la version 4 représente les adresses sous forme de 4 entiers compris entre 0 et 255 en base 10 séparés par des points alors que la version 6 représente les adresses sous forme de 8 entiers en base 16 séparés par des doubles points. Une adresse IP est dite dynamique (ou variable) quand elle change régulièrement au cours du temps. Elle est dite statique (ou fixe) quand elle ne change pas ou très peu. Une adresse IP est dite locale (interne ou privée) quand elle est propre à un réseau local (et ne permet donc pas d’identifier votre machine sur Internet), elle est dite globale (externe ou publique) quand elle est propre à un réseau global voire à Internet tout entier (et peut permettre d’identifier votre machine sur Internet). An IP address is an identifier of a machine connected to a computer network using the Internet Protocol. There are two versions of IP address, the version 4 represents the addresses in the form of 4 integers between 0 and 255 in base 10 separated by dots whereas the version 6 represents the addresses in the form of 8 integers in base 16 separated by colons. An IP address is known as dynamic (or variable) when it changes regularly in the course of time. It is known as static (or fixed) when it doesn’t change or very little. An IP address is known as local (internal or private) when it’s specific to a local area network (and thus doesn’t allow to identify your machine on Internet), it’s known as global (external or public) when it’s specific to a global network even to the entire Internet (and can allow to identify your machine on Internet).
Une adresse IP locale différente est attribuée à chacun de vos équipements par votre routeur ou votre boitier ADSL ou fibre alors qu’une adresse IP globale commune est attribuée par votre fournisseur d’accès Internet. Vos machines sont vues sur Internet grâce à cette fameuse adresse IP publique. Vous devrez donc configurer votre routeur ou votre boitier ADSL ou fibre pour qu’il renvoie certaines requêtes venant d’Internet vers votre serveur. Comme votre ordinateur et votre serveur ont des adresses IP locales distinctes, votre routeur a besoin d’une règle de traduction d’adresses réseaux (NAT) et d’adresses de ports (PAT) qui redirigera une partie du trafic de votre routeur vers votre serveur. Une règle NAT/PAT est composée d’un port externe (entrant) par lequel entre le trafic sur Internet (80 par défaut), d’un port interne (sortant) par lequel sort le trafic sur votre réseau local sur lequel se situe votre serveur, d’une adresse MAC ou d’un nom d’hôte ou d’une adresse IP locale pour identifier l’équipement (ici votre serveur) parmi tous ceux connectés au réseau local et d’un ou plusieurs protocoles de transport (TCP, UDP, …). A different local IP address is attributed to each of your devices by your router or your ADSL or fiber residential gateway whereas a common global IP address is attributed by your Internet service provider. Your machines are seen on Internet thanks to this much-vaunted public IP address. You will have to configure your routeur or your ADSL or fiber residential gateway so that it returns some requests coming from Internet to your server. As your computer and your server have distinct local IP addresses, your router needs a Network Address Translation (NAT) and Port Address Translation (PAT) rule that will redirect a part of your router’s the traffic to your server. A NAT/PAT rule is composed of an external (incoming) port from which the traffic enters Internet (80 by default), an internal (outgoing) port from which the traffic on your local network on which your server is gets out, a MAC address or an hostname or a local IP address to identify your device (here your server) among all devices connected to your local network and one or several transport protocols (TCP, UDP, …).

Résolveur de noms de domaines

Domain Name System resolver

Vous pouvez remarquer que vous accédez à mon blog en tapant son adresse Web qui est composée du protocole (http ou https), du nom de sous-domaine (gouessej) et du nom de domaine (wordpress.com). C’est le résolveur de noms de domaines qui permet d’obtenir l’adresse IP publique du serveur web qui héberge mon blog à partir de son nom de domaine et de son nom de sous-domaine. La boucle est bouclée, vous savez désormais comment aller de l’adresse Web vers l’adresse IP publique et de l’adresse IP publique à l’adresse IP privée. Les résolveurs DNS par défaut sont généralement ceux de votre fournisseur d’accès Internet. Je vous recommande d’utiliser ceux d’OpenNIC ou ceux de FFDN pour contourner le blocage administratif de certains sites web sans être fliqué par Google et OpenDNS, deux solutions souvent suggérées par des sites web spécialisés. Vous devrez définir une zone DNS pour indiquer aux résolveurs à quelle adresse IP publique associer votre nom de domaine. You can notice that you access my blog by entering its web address which is composed of a protocol (http or https), a sub-domain name (gouessej) and a domain name (wordpress.com). This is the domain name system resolver that allows to obtains the public IP address of the web server that hosts my blog from its domain name and its sub-domain name. The circle comes back around, you know from now on how to go from the Web address to the public IP address and from the public IP address to the private IP address. The DNS resolvers by default are generally those of your Internet service provider. I recommend you to use those of OpenNIC or those of FFDN to circumvent the administrative blocking of some websites without being tracked by Google and OpenDNS, two solutions often suggested in some specialized websites. You will have to define a DNS zone to indicate the resolvers which public IP address to associate to your domain name.

Serveur web (≈ serveur HTTP)

Web server (≈ HTTP server)

C’est un logiciel qui gère les requêtes via HTTP, le protocole réseau de base utilisé pour distribuer l’information sur Internet. Sa fonction primaire est de stocker, traiter et transmettre les pages web. It’s a software that handles the requests by way of HTTP, the basic network protocol used to distribute information on Internet. Its primary function is to store, process and deliver the web pages.

Modem

Modem

C’est un modulateur-démodulateur, c’est-à-dire un équipement réseau qui module les signaux pour encoder l’information numérique pour la transmission et qui démodule les signaux pour la réception. It’s a modulator-demodulator, i.e a network device that modulates the signals to decode digital information for the transmission and that demodulates the signals for the receiving.

Routeur

Router

C’est un équipement réseau qui fait transiter les paquets de données entre les réseaux informatiques. It’s a network device that forwards the data packet between computer networks.

Passerelle

Gateway

C’est un dispositif qui relie deux réseaux de types différents, ce terme est souvent utilisé pour désigner un modem-routeur qui relie le réseau local au réseau Internet. It’s a device that connects two networks of different types, this term is often used to designate a modem-router that connects the local network to the Internet network.

Box

Residential gateway

Une box (LiveBox, FreeBox, …) est un modem-routeur domestique. A residential gateway (LiveBox, FreeBox, …) is both a modem and an home router.

Utilisateur root

Superuser

C’est le compte utilisateur qui dispose de toutes les permissions sur une machine à des fins d’administration du système, vous vous en servirez tout au long de ce tutoriel. It’s the user account that has all permissions on a machine for the purpose of system administration, you’ll use it throughout this tutorial.

Réseau privé virtuel

Virtual private network

C’est un réseau qui semble privé reposant sur un réseau public. Il peut servir à cacher le trafic au fournisseur d’accès Internet pour contourner son blocage des certains services, la censure et les restrictions géographiques (liste non exhaustive) et pour anonymiser partiellement la connexion. It’s a network that seems to be private relying on a public network. It can be used to hide the traffic to the Internet service provider to circumvent the blocking of some services, censorship and the geographical restrictions (non exhaustive list) and to partially anonymise the connection.

Pare-feu

Firewall

C’est un système de sécurité réseau qui contrôle et surveille le trafic réseau entrant et sortant en fonction de règles. It’s a network security system that monitors and controls the incoming and outgoing network traffic based on rules.

Serveur racine

Root server

C’est un serveur de noms de domaines qui répond aux requêtes concernant les noms de domaines de premier niveau (par exemple « com » dans http://gouessej.wordpress.com) sous l’autorité de l’ICANN. It’s a domain name server that replies to requests concerning top-level domain names (for example com in http://gouessej.wordpress.com) under the authority of the ICANN.

Serveur racine alternatif

Alternative root server

C’est un serveur racine administré par une autre organisation que l’ICANN, par exemple OpenNIC qui défend une alternative détenue et contrôlée par ses utilisateurs. Il peut être très utile pour contourner le blocage administratif des sites web. It’s a root server administrated by an organization other than the ICANN, for example OpenNIC that defends a user-owned and user-controlled alternative. It can be very useful to work around the administrative blocking of websites.

Partie matérielle

Hardware part

L’informatique dans les nuages, c’est bien gentil mais il va falloir redescendre sur Terre comme vous allez avoir besoin d’un ordinateur qui devra rester allumé en permanence et connecté à Internet. Je vous conseille de choisir une machine pas très bruyante et surtout consommant peu d’énergie, histoire de ne pas alourdir notablement votre facture d’électricité. The computer science in the clouds, it’s quite kind but you’ll have to come back down to Earth as you’ll need a computer that will permanently remain switched on and connected to Internet. I advise you to choose a not very noisy and very low-energy machine above all, in order not to make your electricity bill notably heavier.
Beaucoup profitent de cette occasion pour donner une seconde vie à un vieil ordinateur. C’est un choix qui parait économique et écologique à première vue comme il évite d’acheter du nouveau matériel mais cela consomme au moins une bonne centaine de Watts ce qui revient à environ 137 € par an (tarif réglementé d’EDF en 2016, le kWh à 0.15640 €). Numerous people take advantage of this opportunity to give a lease of life to an old computer. It’s a choice that seems to be economical and ecological at first sight as it avoids to buy some new hardware but it consumes at least one hundred Watts which costs about 137 € per year (regulated rate of EDF in 2016, the kWh at 0.15640 €).
Je vous conseille d’opter plutôt pour un ordinateur à carte unique dont la consommation électrique tourne autour d’une dizaine de Watts. Les machines équipées de microprocesseurs x86 (par exemple Intel Atom) sont généralement plus gourmandes que celles équipées de microprocesseurs ARM mais l’architecture x86 est supportée par un plus grand nombre de logiciels. I advise you to choose rather a single board computer whose energy consumption is about one ten of Watts. The machines equiped of x86 microprocessors (for example Intel Atom) are generally more energy intensive than those equiped of ARM microprocessors but the x86 architecture is supported by a greater number of softwares.
Ordinateur à carte unique Olimex Lime2 [Single board computer Olimex Lime2]
Pour ma part, j’ai choisi un ordinateur à carte unique uniquement composé de matériel libre, à très basse consommation (3.5 W pour le système sur une puce ARM 32 bits) et bien documenté que j’ai commandé auprès du fournisseur d’accès Internet associatif dont je suis membre : l’A20-OLinuXIno-LIME2 produit par Olimex. Une petite partie des instructions que je vais vous donner est spécifique à cette machine mais le reste s’applique sans problème à d’autres machines similaires dont le CubieBoard (équipé d’une puce ARM 32 bits) et le MinnowBoard (équipé d’une puce Intel 64 bits) voire même à un ordinateur de bureau tout ce qu’il y a de plus classique. On my side, I chose a single board computer only composed of free hardware, very low-energy (3.5 W for an ARM 32-bit system on a chip) and well documented that I ordered from an associative Internet service provider whose I’m a member: the A20-OLinuXIno-LIME2 produced by Olimex. A small part of the instructions that I’m going to give you is specific to this machine but the rest is applicable without concern to some other similar machines including the CubieBoard (equipped with an ARM 32-bit chip) and the MinnowBoard (equipped with an Intel 64-bit chip) or even a very bland desktop computer.

Partie logicielle

Software part

Système d’exploitation

Operating system

Évidemment, je ne compte pas vous proposer d’utiliser Microsoft Windows sur votre serveur puisque Microsoft a essayé de tuer des standards ouverts à plusieurs reprises [1][2], il a employé des salariés en tant qu’intérimaires et en tant qu’entrepreneurs indépendants tout en leur demandant de travailler avec les mêmes contraintes qu’à des salariés permanents mais sans leur fournir les mêmes avantages (surtout l’assurance maladie) pendant des années [3][4], Windows a comporté des failles critiques tardivement corrigées [5][6], Microsoft est un champion de l’évasion fiscale [7], de la censure (en coopérant avec le gouvernement chinois comme Apple [8]), de la diffamation (en se servant de son portail d’information msn.com pour republier des articles calomnieux sur ses opposants, notamment en mai 2010), de la collaboration avec les services secrets américains dont la NSA [9][10], de la corruption (financement d’études bidons selon lesquelles les logiciels libres seraient plus enclins aux trous de sécurité que les logiciels propriétaires, versement de pots-de-vin [11], soutien au gouvernement autoritaire et répressif de Ben Ali dans la surveillance des citoyens tunisiens [12][13][14], …), … Obviously, I don’t plan to suggest you to use Microsoft Windows on your server as Microsoft tried to kill some open standards several times [1][2], it employed some employees as temporary employees and as independent contractors while asking them to work with the same constraints as the permanent employees but without the same benefits (especially the health insurance) during several years [3][4], Windows contained some critical flaws lately fixed [5][6], Microsoft is the champion in fiscal evasion [7], censorship (by cooperating with the Chinese government like Apple [8]), defamation (by using its information portal msn.com to republish some calumnious articles about its opponents, notably in May 2010), collaboration with the American secret services including the NSA [9][10], corruption (funding of fake studies according to which the free softwares are more inclined to security flaws than the proprietary softwares, payment of bribes [11], support to the authoritative and repressive Ben Ali’s government in Tunisian citizens’ surveillance[12][13][14], …), …
J’ai choisi Debian, la distribution GNU Linux la plus utilisée sur les serveurs, dont la sécurité est un des points forts ainsi que la stabilité. I chose Debian, the GNU Linux distribution the most used on the servers, whose security is one of the strongest points, its stability too.

Serveur web

Web server

Apache HTTPD est très populaire, très mûr et très sûr. Nginx est de plus en plus utilisé bien qu’il soit plus performant mais généralement moins souple qu’Apache HTTPD. Néanmoins, j’ai préféré opter pour Jetty comme il répond mieux à mes besoins spécifiques, il est entièrement écrit en Java et je connais bien son code source comme j’ai contribué à l’implémentation d’une de ses fonctionnalités. J’ai besoin d’un serveur web souple que je pourrai adapter à mes propres modules. J’ai beaucoup plus d’expérience avec Apache HTTPD, j’aurais pu utiliser Apache TomEE, Glassfish ou Wildfly pour obtenir un résultat similaire mais la légèreté, la modularité, les performances et la documentation de Jetty m’ont convaincu. Apache HTTPD is very popular, very mature and very safe. Nginx is more and more used even though it’s more efficient but generally less flexible than Apache HTTPD. Nevertheless, I’ve preferred choosing Jetty as it better addresses my specific needs, it’s entirely written in Java and I know its source code well as I contributed to the implementation of one of its features. I need a flexible web server that I’ll be able to adapt to my own modules. I have a lot much experience with Apache HTTPD, I could have used Apache TomEE, Glassfish or Wildfly to obtain a similar result but the lightness, the modularity, the performance and the documentation of Jetty convinced me.

Installation

Installation

Debian avec LXDE [Debian with LXDE]

Debian

Debian

  • Téléchargez l’archive compressée contenant l’image disque de la distribution GNU Linux Debian Jessie fournie par Olimex ici. Vous avez besoin d’un logiciel de partage de fichiers de pair à pair supportant le protocole Torrent pour la récupérer.
  • Décompressez l’archive avec 7zip en mode fenêtre ou avec la commande

  • Download the compressed archive containing the disc image of the GNU Linux Debian Jessie distribution provided by Olimex here. You need a software of peer to peer file sharing supporting the Torrent protocol to get it.
  • Unzip the archive with 7zip in windowed mode or with the command

7za e a20-lime2_mainline_uboot_sunxi_kernel_3.4.103_jessie_emmc_rel_10.img.7z

  • Mettez la carte mémoire dans le lecteur de cartes mémoire de l’ordinateur

  • Put the memory card into the memory card drive of the computer

IsoDumper [IsoDumper]

  • Utilisez dd en ligne de commande, IsoDumper (« Formater le périphérique », « ext4 (Linux) », « Exécuter » puis « Écrire l’image », choisissez le fichier .img décompressé, « Écrire sur le périphérique »), UNetBootIn ou Etcher (en particulier si vous n’êtes pas sous GNU Linux) pour reproduire à l’identique le contenu de l’image disque sur la carte mémoire microSD (minimum 8 Go)
  • Branchez le câble d’alimentation, le clavier, la souris, le câble réseau RJ45 et le câble HDMI sur la LIME2, branchez le câble RJ45 sur le boitier ADSL ou Fibre (Livebox, Freebox, …) ou sur votre routeur et branchez le câble HDMI sur le moniteur
  • Retirez la carte mémoire du lecteur de l’ordinateur et mettez-la dans le lecteur de cartes mémoire de la LIME2
  • Sélectionnez la source HDMI correspondant à la prise HDMI qui relie le moniteur à la LIME2
  • Debian est lancée avec un environnement de bureau LXDE, cliquez sur « Tools » → « LX Terminal » pour ouvrir le terminal
  • Entrez su suivi du mot de passe de l’utilisateur root par défaut indiqué dans le manuel d’utilisation
  • Entrez passwd et suivez les indications afin de changer le mot de passe de l’utilisateur root
  • Entrez passwd olimex et suivez les indications afin de changer le mot de passe de l’utilisateur « olimex »
  • Activez Ethernet avec

  • Put the memory card into the memory card drive of the computer
  • Use dd in command line, IsoDumper (« Format the peripheral device », « ext4 (Linux) », « Execute » then « Write the image », choose the file .img decompressed, « Write in the peripheral device »), UNetBootIn or Etcher (particularly if you’re not under GNU Linux) to consistently replicate the content of the disk image on the memory card microSD (minimum 8 GB)
  • Connect the electric cable, the keyboard, the mouse, the network RJ45 cable and the HDMI cable to the LIME2, connect the RJ45 cable to the ADSL or fiber residential gateway (Livebox, Freebox, …) or to your router and connect the HDMI cable to the monitor
  • Remove the memory card from the drive of the computer and put it into the memory card drive of the LIME2
  • Select the HDMI source corresponding to the HDMI plug that connects the monitor to the LIME2
  • Debian is launched with a desktop environment LXDE, click on « Tools » → « LX Terminal » to open the terminal
  • Enter su followed by the password of the user root by default indicated in the user manual
  • Enter passwd and follow the indications in order to change the password of the user root
  • Enter passwd olimex and follow the indications in order to change the password of the user « olimex »
  • Activate Ethernet with

dhclient eth0

  • Redémarrez le démon de SSH si nécessaire avec

  • Restart the SSH daemon if needed with

systemctl restart sshd
Configuration de console-data [Configuring console-data]

  • Si la disposition du clavier n’est pas QWERTY, éditez le fichier « etc/keyboard/default », remplacez « us » par « fr » si et seulement si la disposition du clavier est AZERTY. Entrez la ligne de commande suivante, choisissez « Select keymap from full list » pendant la configuration de console-data

  • If the keyboard layout isn’t QWERTY, edit the file « etc/keyboard/default », replace « us » by « fr » if and only if the keyboard layout is AZERTY. Enter the following command line, choose « Select keymap from full list » during the configuration of console-data

apt-get install xkb-data console-data console-setup console-setup-linux

  • Entrez setupcon si vous êtes en mode console, redémarrez la session si vous êtes en mode fenêtré. Ne redémarrez le serveur que si le changement de disposition du clavier n’est toujours pas pris en compte
  • Utilisez le jeu de caractères UTF-8 pour pouvoir entrer des caractères accentués avec

  • Enter setupcon if you’re in the console mode, restart the session if you’re in the windowed mode. Reboot the server only if the change of keyboard layout isn’t still taken into account
  • Use the charset UTF-8 to be able to enter accented characters with

echo export LC_ALL=C.UTF-8 >> /root/.profile
echo export LANG=C.UTF-8 >> /root/.profile
echo export LC_ALL=C.UTF-8 >> /root/.bashrc
echo export LANG=C.UTF-8 >> /root/.bashrc

  • Si la carte mémoire fait plus de 8 GB, utilisez tout l’espace avec

  • If the memory card is larger than 8 GB, use the whole space with

/root/resize_sd.sh /dev/mmcblk0 2

  • Si la résolution par défaut (720p) ne vous convient pas, lancez le script de sélection de la résolution avec

  • If the default resolution (720p) doesn’t please you, launch the resolution selection script with

/usr/bin/change_display.sh

  • Choisissez le fuseau horaire avec

  • Choose the time zone with

dpkg-reconfigure tzdata

  • Faites bénéficier au gestionnaire de services du réglage de l’heure automatique via ntp (notamment dans les messages de logs affichés par journalctl) avec

  • Make the service manager benefit of the automatic hour setting by way of ntp (notably in the log messages displayed by journalctl) with

timedatectl set-ntp true

Quelques paquets

Some packages

  • Mettez à jour la liste des dépôts avec

  • Update the list of repositories with

apt-get update

  • Mettez à niveau les paquets avec

  • Upgrade the packets with

apt-get upgrade

  • Installez ethtool, curl, nmap, iputils-arping et miniupnpc avec

  • Install ethtool, curl, nmap, iputils-arping and miniupnpc with

apt-get install ethtool curl nmap iputils-arping miniupnpc

  • Le navigateur web installé par défaut est assez limité, installez Firefox ESR avec

  • The web browser installed by default is quite limited, install Firefox ESR with

apt-get install firefox-esr

  • Installez le kit de développement Java (OpenJDK 1.8) avec

  • Install the Java development kit (OpenJDK 1.8) with

echo deb http://http.debian.net/debian jessie-backports main >> /etc/apt/sources.list
apt-get update 
apt-get install -t jessie-backports openjdk-8-jdk
update-alternatives --config java

Paramétrage réseau

Network configuration

  • Entrez ifconfig eth0 (« eth » pour Ethernet, « 0 » pour la première interface réseau), l’adresse IP locale de votre serveur apparait juste après le terme « inet » pour l’IPv4 et « inet6 » pour l’IPv6, le masque de réseau apparait après le terme « netmask ». Ainsi, vous pouvez en déduire l’adresse IP de votre réseau local. Si l’adresse IP locale de votre serveur est 192.168.1.10 et si votre masque de réseau est 255.255.255.0, alors l’adresse IP de votre réseau local est 192.168.1.0

  • Enter ifconfig eth0 (« eth » for Ethernet, « 0 » for the first network interface), the local IP address of your server appears just after the term « inet » for the IPv4 and « inet6 » for the IPv6, the network mask appears after the term « netmask ». Thereby, you can deduce from them the IP address of your local network. If the local IP address of your server is 192.168.1.10 and if your network mask is 255.255.255.0, then the IP address of your local network is 192.168.1.0

En train de rendre l'adresse IP locale statique [Driving the local IP address static]

  • Rendez l’adresse IP locale du serveur statique dans les réglages avancées du boitier ADSL ou fibre ou de votre routeur

  • Drive the local IP address of the server static in the advanced settings of your ADSL or fiber residential gateway or of your router

Règle NAT/PAT pour le serveur web [NAT/PAT rule for the web server]

  • Ajoutez une règle NAT/PAT avec 80 comme port entrant, 8080 comme port sortant, TCP et UDP comme protocoles et avec l’adresse MAC du LIME2

  • Add a NAT/PAT rule with 80 as incoming port entrant, 8080 as outgoing port, TCP and UDP as protocols and with the MAC address of the LIME2
  • Obtention de l’adresse IP globale (externe ou publique)

    Obtaining the global (external or public) IP address

    Il existe plusieurs méthodes pour obtenir votre adresse IP globale (externe ou publique) :

    • Méthode recommandée : utilisez miniupnpc avec

    There are several methods to obtain your global (external or public) IP address:

    • Recommended method : use miniupnpc with

    upnpc -s | grep ExternalIPAddress | sed 's/[^0-9\.]//g'

    • Méthode de repli : utilisez le service tiers en ligne basé sur le logiciel libre ipd avec une des commandes suivantes

    • Fallback method : use an online third party service based on the free software ipd with one of the following commands

    curl ifconfig.co
    http -b ifconfig.co
    wget -qO- ifconfig.co
    fetch -qo- https://ifconfig.co

    • Méthode non recommandée : utilisez un autre service tiers en ligne, par exemple ipecho.net ou ifcfg.me avec une des commandes suivantes

    • Not recommended method : use another online third party service, for example ipecho.net or ifcfg.me with one of the following commands

    curl http://ipecho.net/plain
    wget -qO- http://ipecho.net/plain
    nslookup . ifcfg.me
    finger @ifcfg.me

    • Méthode non recommandée : utilisez une des commandes suivantes avec des arguments non standards sur des résolveurs de noms de domaines menteurs ou qui vendent vos données personnelles

    • Not recommended method : use one of the following commands with some non standard arguments on some domain name resolvers that lie or sell your personal data

    dig +short myip.opendns.com @resolver1.opendns.com
    dig @8.8.8.8 -t txt o-o.myaddr.l.google.com
    La première méthode est la plus directe et la plus fiable puisqu’elle passe directement par votre routeur ou votre boitier ADSL ou fibre pour obtenir votre adresse IP globale via le protocole réseau UPnP. Les méthodes passant par des services tiers sont moins fiables comme certains ne vous autorisent pas à les appeler plus d’une fois par minute et ils sont indisponibles pendant leurs périodes de maintenance. La toute dernière méthode est la moins fiable comme les résolveurs de noms de domaines publics de Google sont bloqués dans certains pays et Google bloque certains sites web. Pourtant, ce sont bien les méthodes les moins fiables qui sont le plus souvent proposées dans les autres tutoriels que j’ai lus. Je ne mentionne pas la commande « externalip » comme elle désigne en réalité plusieurs commandes venant de projets différents et miniupnpc fait tout aussi bien. The first method is the most direct and the most reliable as it goes directly through your router or ADSL or fiber residential gateway to obtain your global IP address by way of the UPnP network protocol. The methods passing though some third party services are less reliable as some don’t allow you to call them more than one time per minute and they are unavailable during their maintenance periods. The very last method is the least reliable as Google public domain name resolvers publics are blocked in some countries and Google blocks some websites. Nevertheless, these are really the least reliable methods that are the most often suggested in the other tutorials that I read. I don’t mention the command « externalip » as actually it refers to several commands coming from different projects and miniupnpc works as well as them.

    Zone DNS

    DNS zone

    • Créez un fichier de zone DNS avec un champ A pour l’adresse IPv4 globale (externe ou publique) de votre serveur, un champ AAAA pour une adresse IPv6 globale (externe ou publique) de votre serveur et un TTL (10 minutes soit 600 secondes ici)

    • Create a DNS zone file with the A field for the global (external or public) IPv4 address of your server, a AAAA field for the global (external or public) IPv6 address of your server and a TTL of 10 minutes (10 minutes let 600 seconds here)

    www 600 IN A 82.121.203.160
    www 600 IN AAAA 2001:0db8:0000:85a3:0000:0000:ac1f:8001
    Modification de la zone DNS chez Gandi [Modification of the DNS zone at Gandi]

    • Téléversez le fichier de zone DNS dans le système prévu à cet effet par votre gestionnaire de noms de domaines.

    • Upload the DNS zone file into the system provided by your domain name registrar.

    Choix de la zone DNS pour un nom de domaine chez Gandi [Choice of the DNS zone for a domain name at Gandi]

    • Associez la zone DNS à vos noms de domaines.

    • Associate the DNS zone to your domain names.

    SSH

    SSH

    • N’autorisez que les ordinateurs de votre réseau local à utiliser SSH pour accéder à la LIME2 en ajoutant « sshd: <adresse ip du réseau local>/<masque de réseau> » dans /etc/hosts.allow et « sshd: ALL » dans /etc/hosts.deny
    • N’utilisez plus PAM avec SSH en remplaçant « UsePAM yes » par « UsePAM no » tout à la fin du fichier de configuration du démon SSH /etc/ssh/sshd_config
    • Redémarrez SSH avec

    • Authorize only the computers of your local network to use SSH to access the LIME2 by adding « sshd: <local network ip address>/<network mask> » into /etc/hosts.allow and « sshd: ALL » into /etc/hosts.deny
    • No longer use PAM with SSH by replacing « UsePAM yes » by « UsePAM no » at the very end of the SSH daemon configuration file /etc/ssh/sshd_config
    • Restart SSH with

    systemctl restart sshd

    Configuration de Jetty

    Configuration of Jetty

    • Créez quelques répertoires pour Jetty lui-même (JETTY_HOME), son stockage temporaire, pour la base (JETTY_BASE), les logs et les applications web avec

    • Create some directories for Jetty itself (JETTY_HOME), its temporary storage, for the base (JETTY_BASE), the logs and the web applications with

    mkdir -p /opt/jetty
    mkdir -p /opt/jetty/temp
    mkdir -p /opt/web/mybase
    mkdir -p /opt/web/mybase/logs
    mkdir -p /opt/web/mybase/webapps

    • Déplacez-vous dans le répertoire de Jetty avec

    • Go to the directory of Jetty with

    cd /opt/jetty

    • Téléchargez l’archive de la version 9.4.6.v20170531 du serveur HTTP Jetty avec

    • Download the archive of the version 9.4.6.v20170531 of the HTTP server Jetty with

    wget -c http://central.maven.org/maven2/org/eclipse/jetty/jetty-distribution/9.4.6.v20170531/jetty-distribution-9.4.6.v20170531.tar.gz

    • Décompressez-la avec

    • Decompress it with

    tar zxvf jetty-distribution-9.4.6.v20170531.tar.gz

    • Rajoutez le nom du fichier de configuration des logs à la fin du fichier de configuration de Jetty avec

    • Append the name of the logs configuration file to the end of the configuration file of Jetty with

    echo console-capture.xml >> /opt/jetty/jetty-distribution-9.4.6.v20170531/etc/jetty.conf

    • Déplacez-vous dans le répertoire contenant les démos de Jetty avec

    • Go to the directory containing the demos of Jetty with

    cd /opt/jetty/jetty-distribution-9.4.6.v20170531/demo-base

    • Lancez Jetty avec

    • Launch Jetty with

    java -jar /opt/jetty/jetty-distribution-9.4.6.v20170531/start.jar

    Test du serveur web

    Test of the web server

    Page de bienvenue de Jetty [Jetty welcome page]

    • Entrez firefox pour ouvrir le navigateur web
    • Entrez http://127.0.0.1:8080 dans la barre d’adresse du navigateur ouvert sur la LIME2, vous verrez la page web de bienvenue si vous pouvez accéder au site web via l’hôte local
    • Entrez http://adresse_ip_locale_serveur:8080 dans la barre d’adresse du navigateur ouvert sur une autre machine reliée au réseau local, vous verrez la page web de bienvenue si vous pouvez accéder au site web via l’adresse IP locale de la LIME2 depuis une autre machine du réseau local
    • Entrez http://adresse_ip_globale_serveur dans la barre d’adresse du navigateur ouvert sur une machine non reliée au réseau local mais connectée à Internet, vous verrez la page web de bienvenue si vous pouvez accéder au site web via l’adresse IP globale de votre réseau local
    • Entrez http://www.nom_de_domaine.com dans la barre d’adresse du navigateur ouvert sur une machine non reliée au réseau local mais connectée à Internet, vous verrez la page web de bienvenue si vous pouvez accéder au site web via votre nom de domaine et le sous-domaine « www »
    • Une fois le test terminé, appuyez sur Contrôle + C pour arrêter le serveur HTTP Jetty

    • Enter firefox to open the web browser
    • Enter http://127.0.0.1:8080 in the address bar of the browser opened on the LIME2, you’ll see the welcome web page if you can access the website through the local host
    • Enter http://adresse_ip_locale_serveur:8080 in the address bar of the browser opened on another machine connected to the local network, you’ll see the welcome web page if you can access the website through the local IP address of the LIME2 from another machine of the local network
    • Enter http://adresse_ip_globale_serveur in the address bar of the browser opened on a machine not connected to the local network but connected to Internet, you’ll see the welcome web page if you can access the website through the global IP address of your local network
    • Enter http://www.nom_de_domaine.com in the address bar of the browser opened on a machine not connected to the local network but connected to Internet, you’ll see the welcome web page if you can access the website through your domain name and the subdomain « www »
    • After the end of the test, press Control + C to stop the HTTP server Jetty

    Démon

    Daemon

    Préparation du démon pour le gestionnaire de services de System V

    Preparing the daemon for the service management of System V

    • Copiez le script d’initialisation dans le répertoire reconnu par System V /etc/init.d avec

    • Copy the initialization script into the directory recognized by System V /etc/init.d with

    cp /opt/jetty/jetty-distribution-9.4.6.v20170531/bin/jetty.sh /etc/init.d/jetty

    • Configurez les variables d’environnement par défaut avec

    • Configure the environment variables by default with

    echo "JETTY_HOME=/opt/jetty/jetty-distribution-9.4.6.v20170531" > /etc/default/jetty
    echo "JETTY_BASE=/opt/web/mybase" >> /etc/default/jetty
    echo "JETTY_PID=/opt/web/mybase/jetty.pid" >> /etc/default/jetty
    echo "TMPDIR=/opt/jetty/temp" >> /etc/default/jetty

    • Créez un utilisateur nommé « jetty » dans le groupe « jetty » pour éviter de lancer le serveur HTTP avec les droits root avec

    • Create the user named « jetty » in the group « jetty » to avoid running the HTTP server with the root’s rights with

    useradd --user-group --shell /bin/false --home-dir /opt/jetty/temp jetty

    • Changez le possesseur des répertoires précédemment créés avec

    • Modify the owner of the previously created directories with

    chown --recursive jetty:jetty /opt/jetty
    chown --recursive jetty:jetty /opt/web/mybase

    Préparation du démon pour le gestionnaire de services de systemd

    Preparing the daemon for the service management of systemd

    • Allez dans le répertoire reconnu par systemd avec

    • Go to the directory recognized by systemd with

    cd /etc/systemd/system

    • Téléchargez mon script d’initialisation pour systemd avec

    • Download my initialization script for systemd with

    wget -c https://gist.githubusercontent.com/gouessej/aa79b402909646b1860b45358b32bd39/raw/6c079b14b5c9d6d87be982703ad5ec421833b7da/jetty.service

    • Activez le service systemd pour que le serveur HTTP se lance à chaque démarrage avec

    • Activate the systemd service so that the HTTP server runs at each startup with

    systemctl enable jetty

    • Copiez le fichier start.ini livré avec Jetty avec

    • Copy the file start.ini provided with Jetty with

    cp /opt/jetty/jetty-distribution-9.4.6.v20170531/start.ini /opt/web/mybase

    • Activez de nombreuses fonctionnalités dont les servlets, JSP, JSTL, les websockets, JNDI et bien d’autres avec

    • Activate numerous features among the servlets, JSP, JSTL, the websockets, JNDI and lots of others with

    java -jar /opt/jetty/jetty-distribution-9.4.6.v20170531/start.jar --add-to-start=home-base-warning,ext,server,jsp,resources,deploy,jstl,websocket,http,jndi,servlets,annotations,console-capture,requestlog

    • Appuyez sur Contrôle + C pour arrêter le serveur web
    • Lancez le démon avec

    • Press Control + C to stop the web server
    • Launch the daemon with

    systemctl start jetty

    Page d’accueil

    Homepage

    • Créez le fichier de contexte de votre site web en prenant exemple sur celui-ci, mettez « resourceBase » à /opt/web/mybase/webapps et enregistrez-le dans le répertoire /opt/web/mybase/webapps
    • Créez le fichier /opt/web/mybase/webapps/index.html, c’est votre page web d’accueil statique

    • Create the context file of your website by taking this one as an example, set « resourceBase » to /opt/web/mybase/webapps and save it in the directory /opt/web/mybase/webapps
    • Create the file /opt/web/mybase/webapps/index.html, it’s your static homepage

    N.B : Pensez bien à lancer la ligne de commande suivante après avoir téléversé de nouveaux fichiers dans ce répertoire pour que le démon soit autorisé à y accéder.
    Référence
    N.B: Don’t forget to run the following command line after having uploaded any new files into this directory so that the daemon will be allowed to access them.
    Reference
    chown --recursive jetty:jetty /opt/web/mybase
    Attention : Si Jetty ne scanne pas les pages web statiques et les applications web, vous devrez malheureusement utiliser « root » comme utilisateur et comme groupe dans /etc/systemd/system/jetty.service et redémarrer le démon. Warning: If Jetty doesn’t scan your static web pages and your web applications, unfortunately you’ll have to use « root » as a user and a group in /etc/systemd/system/jetty.service and to restart the daemon.

    Réseau virtuel privé avec OpenVPN

    Virtual private network with OpenVPN

    • Installez OpenVPN avec

    • Install OpenVPN with

    apt-get install openvpn

    • Copiez le fichier de configuration que vous avez reçu de votre fournisseur de service VPN dans /etc/openvpn/
    • Redémarrez OpenVPN avec

    • Copy the configuration file that you received from your VPN service provider into /etc/openvpn/
    • Restart OpenVPN with

    systemctl restart openvpn

    • Si OpenVPN ne se lance pas tout seul au démarrage du système d’exploitation, arrangez ça avec

    • If OpenVPN doesn’t launch itself at the startup of the operating system, fix it with

    systemctl enable openvpn

    • Relevez votre nouvelle adresse IP publique qui se trouve dans le champ « inet addr » du résultat de la ligne de commande suivante

    • Pick your new public IP address up that is located in the field « inet addr » of the following command line’s result

    ifconfig tun0

    • Recréez une zone DNS avec cette nouvelle adresse IP publique, augmentez le TTL si et seulement si cette adresse IP est fixe
    • Supprimez la règle PAT/NAT précédemment créée
    • Supprimez le réglage qui fixait l’adresse IP privée de votre serveur
    • Ajoutez quelques règles dans iptables avec

    • Recreate a DNS zone with this new public IP address, increase the TTL if and only if this IP address is fixed
    • Delete the previously created PAT/NAT rule
    • Delete the setting that was fixing the private IP address of your server
    • Add some rules into iptables with

    iptables -I INPUT -p tcp --dport 80 -j ACCEPT
    iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
    iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
    
    Vous devez enregistrer ces règles pour qu’elles soient prises en compte à chaque redémarrage.

    • Sauvegardez ces règles dans le fichier /etc/iptables.up.rules avec

    You must save these rules so that they are taken into account at each reboot.

    • Save these rules into the file /etc/iptables.up.rules with

    iptables-save > /etc/iptables.up.rules

    • Ajoutez la ligne de commande qui les recharge au script chargé de le faire avec

    • Add the command line that reloads them into the script responsible for doing it with

    echo '#!/bin/sh' >> /etc/network/if-pre-up.d/iptables 
    echo "/sbin/iptables-restore < /etc/iptables.up.rules" >> /etc/network/if-pre-up.d/iptables

    • Rendez le fichier /etc/network/if-pre-up.d/iptables exécutable avec

    • Drive the file /etc/network/if-pre-up.d/iptables executable with

    chmod +x /etc/network/if-pre-up.d/iptables
    Répétez les étapes précédentes relatives à iptables pour les ports 443 et 8443 si vous utilisez HTTPS. Repeat the previous steps concerning iptables for the ports 443 and 8443 if you use HTTPS.
    N.B : Tous les fournisseurs de services VPN ne vous attribuent pas une adresse IP publique fixe bien que ce soit plus pratique pour l’auto-hébergement. Vérifiez bien ce détail si vous prenez un VPN pour ne pas payer une adresse IP publique fixe à votre fournisseur d’accès Internet (18.99 € par mois chez Orange pour les clients résidentiels dont l’abonnement Internet est distinct de l’abonnement à la téléphonie mobile). N.B: All VPN service providers don’t attribute a public fixed IP address even though it’s more practical for the self-hosting. Check carefully this detail if you use a VPN in order not to pay a public fixed IP address to your Internet service provider (18.99 € per month at Orange for the residential customers whose Internet subscription is distinct from the mobile phone subscription).

    Mode console

    Console mode

    Il est possible de passer en mode console pour réduire la surface d’attaque, l’emprunte mémoire et la consommation électrique de votre serveur. Dans ce mode, il n’y a pas de fenêtrage, le serveur d’affichage ne se lance pas, on n’a accès qu’à la console d’où son nom. C’est à réserver aux personnes très à l’aise avec les lignes de commande.

    • Passez le serveur en mode console au prochain démarrage avec

    Switching to the console mode is possible in order to reduce the attack surface, the memory footprint and the energy consumption of your server. There is no windowing in this mode, the display server doesn’t run, only the console is accessible as its name implies. It’s reserved to the people very comfortable with the command lines.

    • Switch the server in the console mode at the next boot with

    systemctl set-default multi-user.target

    Système de contrôle des versions

    Version control system

    J’ai choisi GIT comme système de contrôle des versions décentralisé comme c’est le plus utilisé actuellement, il est à la fois très fiable et très complet. C’est très utile pour suivre les modifications faites sur des projets de logiciels libres. Cela tombe bien comme je compte me débarrasser de Github. I chose GIT as a decentralized version control system as it’s the most used currently, it’s both very reliable and very complete. It’s very useful to follow the modifications done on some projects of free softwares. That’s a piece of luck as I plan to get rid of Github.

    • Installez git-core et configurez le nom d’utilisateur et l’adresse email à utiliser dans vos soumissions de code avec

    • Install git-core and configure the user name and the email address to use in your code commits with

    apt-get install git-core
    git config --global user.name "First_Name Last_Name"
    git config --global user.email pseudo@domain.com
    Vous pouvez installer le visualiseur web de dépôts GIT appelé Gitblit en copiant son fichier WAR dans /opt/web/mybase/webapps. Je ne l’ai pas encore testé. L’intérêt de Gitblit par rapport à Gitview est d’être entièrement écrit en Java et d’être supporté par Jetty. Ainsi, vous n’avez pas besoin d’augmenter votre surface d’attaque en installant Perl, PHP, Python ou Ruby. You can install the web viewer of GIT repositories called Gitblit by copying its WAR file into /opt/web/mybase/webapps. I haven’t tested it yet. The interest of Gitblit compared to Gitview is in being completely written in Java and in being supported by Jetty. Thus, you don’t need to increase your attack surface by installing Perl, PHP, Python and Ruby.

    Système de gestion de base de données relationnelle

    Relational database-management system

    J’ai choisi PostgreSQL parce que sa licence est ouverte, il dispose de fonctionnalités similaires à celles d’Oracle et ses services semblent moins pénibles à configurer. J’aurais très bien pu prendre MariaDB. I chose PostgreSQL because its licence is open, it has some features similar to those of Oracle and its services seem to be less painful to configure. I could have chosen MariaDB.

    • Installez postgresql avec

    • Install postgresql with

    apt-get install postgresql

    • Assurez-vous que le SGBDR est démarré avant le serveur web en ajoutant postgresql.service à la fin de la ligne commençant par « After= » dans /etc/systemd/system/jetty.service
    • Rechargez le démon avec

    • Ensure that the RDBMS is started before the web server by adding postgresql.service at the end of the line starting with « After= » into /etc/systemd/system/jetty.service
    • Reload the daemon with

    systemctl daemon-reload
    Vous pouvez trouver la documentation de PostgreSQL 9.4 en français ici. You can find the documentation of PostgreSQL 9.4 in English here.

    Pour aller plus loin

    To go further

    Je ne peux pas aborder tous les aspects techniques de l’auto-hébergement dans un seul article, ce serait beaucoup trop long. Néanmoins, je tiens à vous donner quelques pistes pour améliorer votre installation :

    • Choisissez un fournisseur d’accès Internet qui met à votre disposition une adresse IP globale fixe, cela vous évitera de devoir la mettre à jour (manuellement ou automatiquement) dans votre zone DNS assez régulièrement et ainsi, votre site web ne sera pas indisponible pendant plusieurs minutes voire plusieurs heures le temps que votre nouvelle adresse IP soit propagée. Mettre un TTL très faible mitige le problème mais cause une forte charge sur les résolveurs de noms de domaines.
    • Faites des sauvegardes et comme la durée de vie d’une carte mémoire est généralement moins grande que celle d’un disque dur externe, mettez votre site web sur ce dernier.
    • Utilisez un réseau privé virtuel pour éviter que votre fournisseur d’accès Internet ne bloque certains services dont vous pourriez avoir besoin, en particulier si vous envisagez d’installer un serveur de messagerie électronique.
    • Protégez votre matériel contre les surtensions et mettez en place un système d’alimentation de secours (redresseur + stockage d’énergie + onduleur).
    • Mettez à jour votre système d’exploitation et vos logiciels très régulièrement pour éviter d’être exposé à des failles de sécurité déjà colmatées.
    • Installez un pare-feu et un système de détection d’intrusion (je recommande surtout fail2ban). Certains fournisseurs d’accès Internet professionnels proposent aussi une protection contre les attaques par déni de service distribué.
    • Modifiez les valeurs par défaut des champs des entêtes HTTP affectant la gestion du cache pour éviter que les modifications de vos pages web statiques soient ignorées (à moins que l’internaute force le rafraichissement du cache de son navigateur web).
    • Utilisez un algorithme de chiffrement asymétrique (par exemple RSA) pour mieux protéger SSH sans devoir n’en permettre l’accès que depuis votre réseau local.

    I can’t talk about all technical aspects of self-hosting in a single article, it would be far too much long. Nonetheless, I want to give you some leads to improve your installation:

    • Choose an Internet service provider that provides a global fixed IP address, it will avoid you to have to update it (manually or automatically) quite frequently in your DNS zone and then, your website won’t be unavailable during several minutes or even several hours until your new IP address gets propagated. Setting a very short TTL mitigates the problem but causes a large load on the domain name system resolvers.
    • Do some back-ups and as the lifetime of a memory card is generally shorter than the one of an external hard drive, put your website on the latter.
    • Use a private virtual network to prevent your Internet service provider from blocking some services that you could need, especially if you plan to install an electronic messaging server.
    • Protect your hardware against the voltage peaks and set a system of backup power up (rectifier + power storage + inverter).
    • Update your operating system and your softwares very often to avoid being exposed to the already fixed security flaws.
    • Install a firewall and a system of intrusion detection (I recommend fail2ban above all). Some professional Internet service providers offer a protection against the attacks by distributed deny of service too.
    • Modify the default values of the HTTP headers’ fields affecting the management of the cache to prevent the modifications of your static web pages from being ignored (unless the Internet user forces the refresh of his web browser’s cache).
    • Use an algorithm of asymmetrical cryptography (for example RSA) to better protect SSH without having to allow only the access within your residential network.

    Conclusion

    Conclusion

    Je suis content d’avoir un petit bout d’Internet chez moi, j’en fais ce que bon me semble et j’échappe à la censure extra-légale des réseaux asociaux sous contrôle impérialiste qui se targuent d’avoir joué un rôle positif dans les révolutions arabes alors qu’ils ne sont que des valets du capitalisme international. J’aime reprendre le contrôle de services que j’utilise au quotidien, j’aimerais en faire autant dans tous les domaines de la vie. Je compte augmenter mon indépendance vis-à-vis des capitalistes en configurant mon propre serveur de messagerie électronique et en auto-hébergeant mon prochain site web, mes vidéos, mes photos, … Je ne veux plus seulement être sur Internet, je veux être Internet. J’espère que ce tutoriel vous a donné envie de franchir le pas et je reste à votre disposition, sans GAFAM, SITYP, NATU ni BATXS bien sûr. I’m pleased to own my small piece of Internet at home, I do whatever I want with it and I get away from the extralegal censorship of the asocial networks under imperalist control that pride themselves on having played a positive role in the Arabian revolutions whereas they are only some servants of the international capitalism. I like regaining control on the services that I daily use, I’d like to do the same in the other domains of my life. I plan to increase my independence from the capitalists by configuring my own electronic messaging server and by hosting my next website myself, my videos, my photos, … I don’t want to connect only to the Internet, I want to be Internet. I hope that this tutorial has made you want to take the plunge and I’m happy to help with any questions, without GAFAM, SITYP, NATU and BATXS of course.
    Licence Creative Commons
    Cet article est mis à disposition selon les termes de la Licence Creative Commons Attribution – Pas d’Utilisation Commerciale – Partage à l’Identique 3.0 non transposé
    Creative Commons License
    This article is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License
    Auteur : Julien Gouesse Author: Julien Gouesse
    Publié dans Politique, syndicalisme et vie associative | Tagué

    Manifestation contre EuropaCity dimanche 21 mai 2017 à Gonesse [Demonstration against EuropaCity Sunday, May 21st, 2017 in Gonesse]

    Non à EuropaCity [No to EuropaCity]
    Français English
    J’ai participé à la manifestation contre EuropaCity dimanche 21 mai 2017 à Gonesse. Des syndicats de travailleurs (CGT, SUD), plusieurs organisations politiques (PCF, FI, PG, AL, NPA, GR, …) et quelques autres organisations (CPTG, France Nature Environnement, Attac, Confédération Paysanne, Amis de la Terre, Droit au logement, COSTIF, Réseau des AMAP d’Île-de-France, MLNE, …) étaient présents. I participated in the demonstration against EuropaCity Sunday, May 21st, 2017 in Gonesse. Several trade unions (CGT, SUD), several political organizations (PCF, FI, PG, AL, NPA, GR, …) and several other organizations (CPTG, France Nature Environment, Attac, Peasant confederation, Friends of the Earth, Right in the housing, COSTIF, CSA Paris metropolitan region network, MLNE, …) were present.
    EuropaCity est un grand projet inutile imposé. Le groupe français Auchan et l’investisseur chinois Wanda souhaitent acheter les terres agricoles seulement 5 € le mètre carré et les revendre au moins 640 € le mètre carré une fois que leur complexe regroupant loisirs, équipements « culturels » et commerces sera construit. Ils prétendaient initialement créer plus de 12000 emplois temporaires et 12000 emplois pérennes mais des estimations plus réalistes parlent de seulement 4200 emplois temporaires. Quant à la création d’emplois pérennes, il faudrait plutôt parler de déplacement et de destruction d’emplois selon moi comme la zone est déjà saturée de centres commerciaux, notamment Aéroville qui emploie 1600 personnes, Paris Nord 2 qui emploie 900 personnes et O’Parinor qui emploie 3500 personnes. Les terres humides qu’ils convoitent sont hautement fertiles et ont un rôle important dans la régulation climatique du territoire, leur bétonnage entraînerait une augmentation de la température de deux degrés Celsius en Île-de-France à long terme. De plus, EuropaCity était présenté comme un projet entièrement privé dans un premier temps alors qu’il doit bénéficier d’un financement public de plus d’un milliard d’euro pour la création d’une gare pour le desservir lui tout seul, elle ne desservira aucune zone d’habitations comme il y a trop de bruits à cause des avions qui passent par l’aéroport Roissy Charles de Gaulle pour y construire de nouveaux logements. Les emplois dans les autres centres commerciaux avoisinants et dans l’aéroport de Roissy sont essentiellement occupés par des personnes sur-qualifiées vivant en Seine-Saint-Denis; si le schéma se répète, les nouveaux emplois ne seront pas occupés par de nombreux demandeurs d’emplois peu qualifiés vivant dans cette partie du Val-d’Oise. EuropaCity cible une clientèle huppée et internationale donc je ne vois absolument pas en quoi la population locale assez modeste pourrait y trouver son compte. Ce projet ne répond à aucun besoin social, il fera surtout la joie des promoteurs, la gare sera très peu utilisée par la population locale que ce soit pour consommer, pour rentrer chez elle ou pour aller au travail mais c’est elle qui risque de la payer très cher. Ne pourrait-on pas financer d’autres projets avec l’argent du conseil départemental et laisser les paysans cultiver ces terres? EuropaCity is a big useless imposed project. The French group Auchan and the Chinese investor Wanda wish to buy the agricultural grounds only 5 € per meter square and resell them at least 640 € per meter square once their complex regrouping leisure activities, « cultural » equipments and shops will be built. They initially claimed to create more than 12000 temporary jobs and 12000 durable jobs but some more realist estimations mention only 4200 temporary jobs. As for the creation of durable jobs, we should rather talk about the move and the destruction of jobs according to me as the zone is already saturated of shopping centers, especially Aéroville that employs 1600 people, Paris Nord 2 that employs 900 people and O’Parinor that employs 3500 people. The humid grounds that they lust after are highly fertile and have an important role in the climate regulation of the territory, their concreting would cause an increase of the temperature of two degres Celsius in the Paris metropolitan region on the long term. Moreover, EuropaCity was introduced as an entirely private project over a first phase whereas it must benefit of a public funding of one billion euros for the creation of a station to serve it alone, it won’t serve any residential area as there are too much noises because of the aircrafts that come by the Roissy Charles de Gaulle airport to build any new accomodations. The jobs in the other neighbouring shopping centers and in the Roissy airport are primarily held by people over-qualified living in Seine-Saint-Denis; if the schema gets repeated, the new jobs won’t be held by many little qualified job-seekers living in this part of the Val-d’Oise. EuropaCity targets the crested and international customers, therefore I don’t absolutely see how the rather modest local population could find what it’s looking for here. This project doesn’t meet any social need, it will make the joy of the promoters above all, the station will be used very little by the local population that is to consume, to return to it or to go to work but it’s the one that risks to pay it very expensively. Couldn’t one fund other projects with the money of the departmental council and let the peasants cultivate these grounds?
    J’ai plusieurs désaccords avec les propositions qui ont été faites pendant cette journée de mobilisation :

    • Être sur Facebook ou se soucier d’écologie, il faut choisir. Il est contradictoire de dénoncer l’impact écologique des centres commerciaux sans dénoncer l’impact écologique des centres de données de Facebook qui rejettent du cadmium et du mercure et qui massacrent ainsi la faune et la flore. Il faut faire connaitre la vérité sur ce projet mais pas par le biais de réseaux asociaux sous contrôle impérialiste polluants administrés par des libertariens d’extrême-droite anti-pauvres, colonialistes et racistes.
    • Je ne pense pas que des emplois demandant d’exécuter des gestes très répétitifs soient des emplois de qualité, il faudrait peut-être mettre à la poubelle la doxa romantique réactionnaire anti-technologique luddiste sans sombrer dans le scientisme technophile le plus béat. Il est possible de répondre à certains besoins sociaux par le recours à la technique et aux machines mais en définissant des critères de qualité et des outils loin des référentiels capitalistes et dans le respect de l’environnement.
    • Les petits commerces ne sont pas une alternative viable aux grandes surfaces, il faut trouver d’autres solutions soutenables à la fois pour les producteurs et pour les consommateurs, mettre de l’humain uniquement là où on en a vraiment besoin et accepter les mutations et les disparitions de métiers à condition qu’elles répondent aussi à des évolutions des besoins sociaux.

    I have several disagreements with the proposals which were made during this day of mobilization:

    • You have to choose between being on Facebook or taking care about ecology. Denouncing the ecological impact of shopping malls without denouncing the ecological impact of the centers of data of Facebook which reject some cadmium and some mercury and which so massacre the flora and fauna is contradictory. We have to tell the truth on this project but not by the means of pollutants antisocial networks under imperialist control administered by some colonialist and racist extreme-right anti-poor libertarians.
    • I don’t think that some jobs requiring to execute very repetitive gestures are quality jobs, we should perhaps throw into the trash bin the luddite anti-technological reactionary romantic doxa without sinking into the dumbest technophile scientism. It’s possible to meet certain social needs by the recourse to the technique and the machines but by defining quality standards and tools far from the capitalist reference frames and in the respect of the environment.
    • The small shops aren’t a viable alternative to the supermarkets, it’s necessary to find other solutions supportable both for the producers and the consumers, to put the human being only where one really needs some and to accept the changes and the disappearances of some occupations provided that they also answer the evolutions of the the social needs.

    Manifestation contre EuropaCity [Demonstration against EuropaCity]
    « Manifestation contre EuropaCity » « Demonstration against EuropaCity »
    Contre le projet EuropaCity, plantons, marchons [Against the EuropaCity project, let's plant, let's walk]
    « Contre le projet EuropaCity, plantons, marchons » « Against the EuropaCity project, let's plant, let's walk »
    Plantations de poireaux [Plants of leeks]
    Plantations de poireaux Plants of leeks
    Débat au sujet d'EuropaCity [Debate about EuropaCity]
    Débat au sujet d'EuropaCity Debate about EuropaCity
    Débat au sujet d'EuropaCity [Debate about EuropaCity]
    Débat au sujet d'EuropaCity Debate about EuropaCity
    Auchan détruit des champs [Auchan destroys some fields]
    « Auchan détruit des champs » « Auchan destroys some fields »
    Intervention de la co-présidente du réseau des AMAP d'Île-de-France [Speech of CSA Paris metropolitan region network's co-president]
    Intervention de la co-présidente du réseau des AMAP d'Île-de-France Speech of CSA Paris metropolitan region network's co-president
    Intervention de la CGT FNAF [Speech of CGT FNAF]
    Intervention de la CGT FNAF Speech of CGT FNAF
    Non à Europa City, résistons. Stop aux méga centres commerciaux sur nos terres agricoles [No to Europa City, let's resist. Stop to the huge shopping centers on our agricultural grounds]
    « Non à Europa City, résistons. Stop aux méga centres commerciaux sur nos terres agricoles » « No to Europa City, let's resist. Stop to the huge shopping centers on our agricultural grounds »
    Ni Auchan ni Wanda, c'est nous le Grand Paris [Neither Auchan nor Wanda, we're the Great Paris]
    « Ni Auchan ni Wanda, c'est nous le Grand Paris » « Neither Auchan nor Wanda, we're the Great Paris »
    Wanda, on ne veut pas de toi, France Nature Environnement [Wanda, we don't want you, France Nature Environment]
    « Wanda, on ne veut pas de toi », France Nature Environnement « Wanda, we don't want you », France Nature Environment
    Non à EuropaCity. Protégeons nos terres agricoles [No to EuropaCity. Let's protect our agricultural grounds]
    « Non à EuropaCity. Protégeons nos terres agricoles » « No to EuropaCity. Let's protect our agricultural grounds »
    Non à Europa City, grand projet inutile [No to Europa City, big useless project]
    « Non à Europa City, grand projet inutile » « No to Europa City, big useless project »
    Non à EuropaCity [No to EuropaCity]
    « Non à EuropaCity » « No to EuropaCity »
    Non à EuropaCity [No to EuropaCity]
    « Non à EuropaCity » « No to EuropaCity »
    Intervention d'un membre du COSTIF [Speech of COSTIF's member]
    Intervention d'un membre du COSTIF Speech of COSTIF's member
    Intervention d'un personne luttant contre le projet de village Decathlon à Orléans [Speech of a people fighting against the project of Decathlon village near Orléans]
    Intervention d'un personne luttant contre le projet de village Decathlon à Orléans Speech of a people fighting against the project of Decathlon village near Orléans
    Intervention d'un membre des Amis de la Confédération Paysanne [Speech of a member of 'The friends of the farmer confederation']
    Intervention d'un membre des Amis de la Confédération Paysanne Speech of a member of 'The friends of the farmer confederation'
    Licence Creative Commons
    Les photos de cet article sont mises à disposition selon les termes de la Licence Creative Commons Attribution – Pas d’Utilisation Commerciale – Pas de Modification 3.0 non transposé
    Creative Commons License
    The photos of this article are licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License
    Licence Creative Commons
    Cet article est mis à disposition selon les termes de la Licence Creative Commons Attribution – Pas d'Utilisation Commerciale – Partage à l'Identique 3.0 non transposé
    Creative Commons License
    This article is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License
    Auteur : Julien Gouesse Author: Julien Gouesse
    Publié dans Politique, syndicalisme et vie associative | Tagué , ,

    Manifestation du premier mai 2017 lors de la fête du travail à Paris [Demonstration of May first, 2017 during the Labor Day in Paris]

    Français English
    J’ai participé à la manifestation du premier mai 2017 lors la fête du travail à Paris. Des syndicats de travailleurs étaient présents (CGT, CNT, FSU, SUD, FO) ainsi que des syndicats étudiants (UNEF, SUD étudiant), les principaux syndicats lycéens (UNL, FIDL, SGL), plusieurs organisations politiques (NPA, PCF, FI, Lutte Ouvrière, CGA, …) et d’autres organisations (JC, jeunes écologistes, JOC, Droit au logement, Act Up Paris, KKE, Front populaire de Tunisie, …). I participated to the demonstration of May first, 2017 during the Labor Day in Paris. Some trade unions were present (CGT, CNT, FSU, SUD, FO), some student unions (UNEF, SUD student), the main high school unions (UNL, FIDL, SGL), several political organizations (NPA, PCF, FI, Worker’s struggle, CGA, etc…) and some other organizations (JC, young ecologists, JOC, Right in the housing, Act Up Paris, KKE, Popular Front of Tunisia…).
    Il y a eu du grabuge bien avant le passage de la tête de cortège à Bastille, ce qui explique que j’ai pris très peu de photos. Les mots d’ordre et les slogans étaient dirigés à la fois contre Marine Le Pen et contre Emmanuel Macron, les deux candidats présents au second tour de l’élection présidentielle qui se déroulera dimanche 7 mai. C’est sans le moindre état d’âme que je voterai blanc, il est hors de question pour moi de donner un blanc seing à un ancien banquier d’affaires qui méprise les ouvriers (et qui se prépare à détruire les droits des travailleurs comme il le faisait déjà quand il était au gouvernement) sous prétexte de faire barrage à l’extrême droite. There was some punch-up well before the passage of the head of march in Bastille, which explains that I took very few photos. The key words and the slogans were directed both against Marine Le Pen and against Emmanuel Macron, the both candidates present in the second round of the presidential election which will take place Sunday, May 7th. This is without the slightest soul-searching that I’ll cast a blank vote, there’s no way for me to give a free hand to a former investment banker who despises the workers (and who prepares himself to destroy the rights of workers as he already did when he was in the Government) under the pretext of blocking the extreme right.
    CGT [CGT]
    CGT CGT
    Tête de cortège [Front of the demonstration]
    Tête de cortège Front of the demonstration
    Étrangers, vous êtes nos frères, bienvenus chez nous [Foreigners, you're our brothers, welcome to our home]
    « Étrangers, vous êtes nos frères, bienvenus chez nous » « Foreigners, you're our brothers, welcome to our home »
    SUD [SUD]
    SUD SUD
    Nouveau Parti Anticapitaliste [New Anticapitalist Party]
    Nouveau Parti Anticapitaliste New Anticapitalist Party
    Act Up Paris [Act Up Paris]
    Act Up Paris Act Up Paris
    CNT [CNT]
    CNT CNT
    Pour une psychiatrie humaniste [For a humanist psychiatry]
    Pour une psychiatrie humaniste For a humanist psychiatry
    UNEF, UNL et SGL [UNEF, UNL and SGL]
    UNEF, UNL et SGL UNEF, UNL and SGL
    Stop aux accords de Dublin [Stop to Dublin Regulation]
    « Stop aux accords de Dublin » « Stop to Dublin Regulation »
    PCOF [PCOF]
    PCOF PCOF
    La France est tissu de migrations [France is a web of migrations]
    « La France est tissu de migrations » « France is a web of migrations »
    Licence Creative Commons
    Les photos de cet article sont mises à disposition selon les termes de la Licence Creative Commons Attribution – Pas d’Utilisation Commerciale – Pas de Modification 3.0 non transposé
    Creative Commons License
    The photos of this article are licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License
    Licence Creative Commons
    Cet article est mis à disposition selon les termes de la Licence Creative Commons Attribution – Pas d'Utilisation Commerciale – Partage à l'Identique 3.0 non transposé
    Creative Commons License
    This article is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License
    Auteur : Julien Gouesse Author: Julien Gouesse
    Publié dans Politique, syndicalisme et vie associative | Tagué , , ,