Friendica Project Update – August 2012

by Mike Macgirvin

A lot is going on in the Free Social Web - and especially with the Friendica project so I thought I would take a few minutes to provide a general update.

In July 2012 we forked the Friendica project into two different paths. But relax, Friendica is not going away. In fact, we've got a bunch of new developers adding some great new features and functionality as I write this. We've got some new features in the works - support of animated GIFs, mobile themes (and mobile clients), fully threaded comments and the ability to like/dislike comments, etc. We've also got some fun new activity stream methods and games.

But as every software project grows, there comes a time when one needs to look at the bigger picture and adjust the project to accomodate a changing landscape. That's what we're doing currently.

Introducing Friendica Red

As a result of this introspection, we've put some of our development resources into Friendica Red, which is being created to fix some of the underlying issues which affect Friendica and the entire free social web in fundamental ways.

Relax, we aren't trying to force you into a new mode of interaction with your friends - these issues are much more fundamental to decentralised social communications.


The first is what we call the "mobility problem".


The free web is mostly provided by volunteers - some with technical expertise, some without. Occasionally it becomes a burden to run a public server/hub for others and as a consequence sites tend to come and go - and this can leave their members in a lurch, often needing to start over finding their friends and re-connecting with all of them.

We're also aware of recent political events which makes a reliance on a single DNS endpoint somewhat problematic.

So we're building an overlay network on top of DNS. We still rely on DNS to find your profile and photo albums, but here's the exciting part - you can move. And this is going to be built-in to our communications layers. You can just show up at a different service provider and keep communicating with your existing friends.


Then there's the "only geeks run servers problem".


To solve this one we need to provide incentives for organisations to provide servers for people. The best incentive we can think of is to allow them to offer subscriptions and paid "premium" services. Now before you start yelling "but that's NOT a FREE social web", look back at the last sentence and notice the word "allow". We aren't going to force anybody to do anything. If you want to provide a subscription service or a free service, that's up to you. We just want to make it easier for server providers to justify spending their time and money to support the free social web. You can always run your own hub for friends and family for free.


Friendica also has a bit of a "scaling problem".


This is due primarily on the fact that we offer connections to a huge number of other services. Many of these don't offer "direct delivery" so we must poll them frequently to find out if there's a new message for your stream. This is fine for a small server with a handful of people, but if you're running a large server with a few thousand people or more and they all have hundreds of contacts and connections, it just doesn't work. So Red is going to be limited in what it can connect to, just so that we can get some large servers to hold the rest of your friends. But we aren't abandoning the concept of a federated social web. You may choose to use Friendica and have connections to lots of other services, but limit your site to friends and family - OR you can use Red and support thousands of people on a moderately sized server, but without all of the connections to Facebook and Diaspora and email and WordPress blogs, etc. Each project will focus on doing one of these aspects well.


Friendica has been criticised repeatedly for having a boring and outdated interface. We'll call this the "UI problem". 


Red isn't a complete re-write (why fix things that aren't broken?), but some significant chunks of Friendica are being re-written. In particular we're doing a much more complete job of separating the "look and feel" from the backend communications logic. We'll provide a very simple and basic theme to tie it all together, but what Friendica Red looks like really depends on the theme designer, and they'll be able to create a viewport which looks and acts in different ways on different devices, and may even offer completely different functionality.  For instance on a handheld device, there are some bells and whistles of the desktop interface which just get in the way. The theme designer can decide not only how the page looks and works, but to a great degree what tools and widgets they wish to put on the page. So one can have Friendica Red for youngsters, and Friendica Red for information scientists. Both can communicate just fine, but the information scientist may have a whole lot more buttons and settings to make their interaction more tailored to the way they wish to access information.

We're also doing a lot more javascript and AJAX stuff in the browser, once again depending on what theme you use. On the backend, we're just building communication services which respond to requests. It will be up to your visual interface which precise requests to make.


We're long past the days of Facebook, yet your friends are too entrenched in their Facebook (so-called) life to even consider leaving. We'll call this the "Facebook envy problem".


Facebook still provides the lion's share of social communications on the web, despite their arrogant and abusive privacy implementation.  But as far as features, Friendica is far from lacking. Heck for those that are nostalgic about the old web, we now even have "pokes" and a free web version of FarmVille (which doesn't annoy your friends, incidentally). But Facebook is so 1997. Many of its features are for a usage model that is long gone.  The world moved on, but Facebook did not. We're trying to re-evaluate what constitutes a "friendship" in the modern free web. It isn't yes/no, on/off, friend/notfriend.  And we've got some clever innovations to share in this regard. The first is how you make friends, or rather if you make "friends" at all. We're providing a communications service. Your friends are your concern. So instead of having a button that says "share" or "follow" or "add friend", we're just going to present a person, and let you define how much (if at all) that you wish to interact with them, and how much you wish to let them know about you. When you get right down to it, it's just a set of permissions. We're also extending Friendica's existing "private profiles", where you can have a completely different profile for one group of people (like co-workers) than you do for drinking buddies, and making the process a lot more automatic.

We don't think you should even be asked if you want to be "friends" with somebody who you may not have ever met personally, but you may wish to allow them to see some of your technical writings, and perhaps allow them to ask questions via private mail. So we're just going to ask you what this person should be allowed to do. Do you want to see their posts in your stream? Do you want them to see (some of) your posts? Do you want to send private/direct mail to them? 

Since this is independent of the UI, anybody will be able to create a theme which models one of the old friendship interfaces such as "Add friend", "Share", etc. just by pre-defining the available permissions within that theme. But we can also create new interfaces which do a lot more and allow you greater control over each contact and what you allow them to do and see. A prime example is on wall-to-wall posts. Since your profile wall is often a reflection of your own personality, you might want only to allow a few really good friends to post there - not casual acquaintances and perhaps not the people you partied with in college.

And then once you've figured out what permissions and interaction you wish to have with this person, we'll allow you to declare how close (or not) you are with this person. This number is private to you, but we're putting slider bars on different pages which let you instantly adjust the page contents based on how close or far people are from your inner circle of friends. So when you first go online in the morning, you can look at just the important updates from only your closest friends. At lunch time, you might wish to have a look at some of the more distant people in your social circle and see what they're up to.


And we've also got a specific issue related to Friendica's design that we'll call the "multiple account problem".


Public groups, and private groups and celebrity pages and profiles all have separate accounts in Friendica. This is so that they can each have a unique URL. But we knew long ago this was sloppy. We're also assuming that in Red, one person may have a subscription relationship with their hub provider. So we're separating the "account" completely from pages and profiles. You'll have one account, period. Within that account, you can create any number of pages and groups (up to the limit the hub provider sets).  So there's one login. And these are hierarchical, so that one paid subscriber might create additional login accounts for family members, which are completely independent but if the subscription lapses, they all go away. (Relax, remember mobility - you can move and pop up somewhere else. And you're still you.). 


Communications in a decentralised model creates what we call a "fan-out problem".


Some of you may remember "zot" - the backend protocol we have been developing, but which got off to a couple of false starts. Zot is being revived as the layer which provides our mobility and DNS independence. The spec is currently under development; but in a nutshell, we're also solving the "fan-out problem", which is what happens when somebody posts a message to 1000 friends. This creates 1000 encrypted posts which must all be individually delivered. 

The new zot works a lot differently. Consider the post office delivering 1000 large boxes. They go to each house, get somebody to sign for the box, and take it off a very large truck. With the new zot model, the post office will ride around on a motorcycle and leave a small note for each of them we have a package. Pick it up at your convenience.  You no longer need a large truck. And if several people live in the same apartment building, when one comes in for pickup, we can give them all the boxes for that building. Messages are still just as secure as they were before, but with orders of magnitude improvement in delivery performance. 


We're also re-thinking our "global directory problem".


There shouldn't be a central or global directory of people in a decentralised social web. But when Friendica was young, we needed a way to find people within the network. And the provider we chose for the global directory has some uptime issues, which means when it's down, it's down for everybody. So we're changing the model. We don't want to force every hub to hold the entire directory, because this could be a problem for small sites as the network grows.

So we're borrowing a concept from software distribution called the "mirror". We'll have multiple directories hosted from different providers and locations - and they will all replicate their changes amongst each other (using zot). So if one directory goes down, there will be another that can take its place. 

We also initially had two directories, one for the site/hub and also the global directory. This was confusing to people. So now we're only going to have one directory. The reason we had this was if somebody wanted a disconnected Friendica which didn't connect with the rest of the grid; we didn't want to force them to use a global directory. We will still provide this option, by providing a stripped down version of the global directory (with exactly the same interface) but which doesn't replicate with other sites. 


Anyway, this is Friendica Red, and this is what we're building.

It's all open source and you're welcome to join us.


Comment ajouter un contact diaspora sur friendica

Tout d’abord, il faut que le serveur friendica puisse communiquer avec diaspora. Si vous êtes administrateur, vous devez aller dans l’administration de votre site puis cliquer sur site et chercher le paramétre “Activer le support de Diaspora”. Il doit être activé.



Une fois ceci activé ou contrôlé, nous allons ajouter un contact diaspora. Diaspora a eu la bonne idée d’afficher sur le profile l’identifiant. Il ressemble à un email. utilisateur@pod. Vous copier donc cet identifiant et vous le collez dans friendica. Pour cela allez dans vos contacts. Et dans la champ “Ajouter un nouveau contact” collez l’identifiant diaspora.



Voila vous allez pouvoir suivre les contacts diaspora depuis friendica.

How to enable multisite and create a network with wordpress

Step 0: Before You Begin


Compared to normal, single installs of WordPress, there are more considerations to take when creating a network. You must decide if you want to use subdomains or subfolders for your install, and also how you want to manage those. Running a network also has different nuances for installing themes and plugins (each individual site can activate both, but install neither).

This guide describes how to install manually WordPress Multisite in your current WordPress installation. There are also available ready-to-run packages from BitNami.

Please read Before You Create A Network in full before continuing.

Step 1: Prepare Your WordPress

Your existing WordPress site will be updated when creating a network. Unless this is a fresh install and you have nothing to lose, please backup your database and files.

Also deactivate all active plugins. You can reactivate them again after the network is created.

Step 2: Allow Multisite

To enable the Network Setup menu item, you must first define multisite in the wp-config.php file.

Open up wp-config.php and add this line above where it says /* That's all, stop editing! Happy blogging. */. If it doesn’t say that anywhere, then add the line somewhere above the first line that begins with require or include:

define('WP_ALLOW_MULTISITE', true);

You will need to refresh your browser to continue.

Step 3: Installing a Network

The previous step enables the Network Setup item in your Tools menu. Use that menu item to go to the Create a Network of WordPress Sites screen.

Tools Network Screen

To see an example of the Create a Network of WordPress Sites screen, look at Administration > Tools > Network Setup. The screen does not look exactly the same in all circumstances. The example shown is for an installation on localhost, which restricts the options available.

Addresses of Sites in your Network

You are given the choice between sub-domains and sub-directories, except when existing settings restrict your choice.

You must choose one or the other. You can reconfigure your network to use the other choice after installation, despite the advice on the screen, but reconfiguring it might not be easy.

You only need wildcard DNS for on-demand domain-based sites, despite the advice that may be on the screen.

Once more: See Before You Create A Network.

  • Sub-domains — a domain-based network in which on-demand sites use subdomains
  • Sub-directories — a path-based network in which on-demand sites use paths

Network Details

There are filled in automatically, but you can make changes.

Server Address
The domain of the URL you are using to access your WordPress installation.
Network Title
The title of your network as a whole.
Admin E-mail Address
Your email address as super admin of the network as a whole.

Double-check the details and press the Install button.

Note: The installer may perform a check for wildcard subdomains when you have not configured them yet, or when you do not need them at all. Ignore the warning if it does not apply to your network. See the Server Requirements section in Before You Create A Network for information about wildcard subdomains.

Step 4: Enabling the Network

Tools Network Created

To enable your network, follow the instructions on the Create a Network of WordPress Sites screen. The instructions that you see are customized for your installation. They might not be the same as the examples you see here.

Back up your existing wp-config.php and .htaccess files, unless this is a fresh install and you have nothing to lose.

There are three steps:

1. Create a directory for media file uploads
This directory must be writable by the web server, the same as your wp-content directory.
2. Add the specified lines to your wp-config.php file
The extra lines go just after where you added the line in Step 1: Prepare Your WordPress.
3. Add the specified lines to your .htaccess file
If you do not have a .htaccess file, then create it in the same directory as your wp-config.php file.
In some cases you might also have to add Options FollowSymlinks at the start of the file.

After completing these steps, log in again using the link provided. You might have to clear your browser’s cache and cookies in order to log in.

Step 5: Network Admin Settings

Network Admin

At the left of your WordPress toolbar, My Sites is now the second item. There, all your sites are listed, with handy fly-out menus, as well as a Network Admin menu item. Under Network Admin you can use the Dashboard item to go to the Network Dashboard screen.

Go to the Settings Screen to configure network options, and the Sites Screen to manage your sites.

For more information, see: Network Admin

? Upgraded and can’t find the Network Admin menu?

Step 6: Administration

There are some additional things you might need to know about advanced administration of the network, due to the additional complexity of a Multisite. Even if you’re familiar with WordPress, the location and behavior of Multisite Network Administration can be confusing.

Read Multisite Network Administration for more information.

For help troubleshooting: is now closed

I regret to inform everyone that have decided to close due to scalability and inactivity issues. Unfortunately, the friendica platform is not made to handle huge amount of data. I have been struggling this past few weeks to stabilize the server that often uses 100% of its resources. It seems that I wasn’t the only having this issue. Not to mention its development is pretty inactive as well; it seems that the lead devs decided to dedicate their time on Red instead (which I think is a fail). The community itself is also inactive. Sure, there are people posting, but most of it are either spam or a mirror from Twitter or Facebook, so I wouldn’t call it an activity from I also received reports that some messages are not being received or sent by friends from other networks. It seems that this is an issue to the friendica core itself. I cannot do anything about it. And unfortunately, I cannot dedicate my time to fix these issues.


Exodus is the story of Moses.

The 3D was good when the pictures doesn’t move a lot.

Comment ajouter un contact diaspora sur friendica

Tout d’abord, il faut que le serveur friendica puisse communiquer avec diaspora. Si vous êtes administrateur, vous devez aller dans l’administration de votre site puis cliquer sur site et chercher le paramétre “Activer le support de Diaspora”. Il doit être activé.



Une fois ceci activé ou contrôlé, nous allons ajouter un contact diaspora. Diaspora a eu la bonne idée d’afficher sur le profile l’identifiant. Il ressemble à un email. utilisateur@pod. Vous copier donc cet identifiant et vous le collez dans friendica. Pour cela allez dans vos contacts. Et dans la champ “Ajouter un nouveau contact” collez l’identifiant diaspora.



Voila vous allez pouvoir suivre les contacts diaspora depuis friendica.

Création d’un compte totalement ou partiellement caché

Si vous avez un compte friendica, peut être voulez vous rendre publique certaines notices et pas d’autres. Vous pourriez par exemple écrire des notices publiques comme si vous écriviez sur votre blog (Friendica sera alors votre blog) mais, vous pourriez en plus écrire des notices privés visible seulement à un groupe (votre famille, vos amis proches etc…) ou seulement à une seule personne.

Voici la marche à suivre pour que tout ceci fonctionne bien:
Allez dans réglages (la petite roue) > Réglages > Compte

Vous arrivez par défaut de toute façon sur cette page.

La première partie Compte ne concerne qu’un changement de mot de passe, vous avez ensuite Réglages basiques puis Réglages de sécurités et vie privée. c’est cette partie qui va nous intéressé.

Cacher les détails du profil aux visiteurs inconnus? : Il faut répondre NON

La compréhension de cette traduction n’est pas facile à comprendre. Si vous répondez OUI, votre profile sera visible uniquement aux personnes connectés. Il faudra donc répondre NON pour que ce que vous voulez publier publiquement soit visible à tous les visiteurs.

Friendica 3.3 Ginger est sorti

Cette nouvelle version nous montre que le projet Friendica n’est pas mort. Ce projet est tout simplement mûre et continue d’être améliorer avec un rythme moins rapide.

Voici les amélioration de cette version


  • Arrêt du support des thèmes non maintenus. On va pouvoir continuer à les utiliser mais ne seront plus dans la liste des thèmes
  • Fusion des thèmes “zéro” en un thème avec variantes.
  • Nouveau avatar par défaut par Andi Stadler


  • La page réseau est maintenant la page par défaut après une connexion
  • Les sections sur la page de paramètres utilisateurs sont maintenant rétractables
  • Mise à jour automatique du flux de réseau a été amélion


  • Après un l’ajout d’nouveau contact, l’utilisateur est dirigé vers la page du nouveau contact (Au lieu de la page distante)
  • De nombreuses améliorations sur tous les connecteurs.
  • Nouveau connecteur
  • L’algorithme pour raccourcir messages lors de la publication de plates-formes limitées a été amélioré.
  • Améliorations pour les fonctionnalités de flux RSS / Atom

Coeur du système

  • Plus de soutien apc en raison des problèmes avec PHP 5.5
  • Mise à jour des bibliothèques suivantes: Smarty 3.1.19, 1.6.4 fullcalendar, jquery 1.11, jgrowl 1.3.0
  • Modernisateur ajouté 2.8.3, un meilleur support du navigateur
  • Mises à jour de la structure DB pour de meilleures performances
  • préparations à l’implémentation de PDO dans une version future
  • Nouveau système de notification
  • Traductions de l’interface web mise à jour, les traductions maintenant également possibles séparément de l’interface utilisateur principale et fait pour CS, IT, RO, DE addon
  • Quelques bugs ont été corrigés pour l’importation de profil
  • Manipulation de BBCode et le reformatage par exemple Markdown a été améliorée
  • Pour la communication avec les contacts OStatus (StatusNet / GNU sociale / de rstatus) un serveur Push interne a été ajouté et sera utilisé par défaut par les nouvelles installations


  • Traduction fait maintenant à transifex ainsi
  • Statistiques addon de participer à l’enquête Diaspora *
  • Nouveau connecteur bidirectionnel pour
  • Nouveau connecteur de relais pour la Diaspora *
  • Nouveau connecteur pour le service de tampon
  • Améliorations pour les connecteurs avec Twitter, StatusNet / GNU social,, google + et facebook
  • Améliorations d’intégration de min-Jappix-
  • Changement dans la structure de la git:

Lire l’article officiel en anglais

gnusocial : starting

Once you have installed your gnusocial, you can run
I recommand to make it by cron every day for example .
At 6:00 run sh /…/…/scripts/
and at 6:05 sh /…/…/scripts/

Installing your own gnusocial

How to connect your GnuSocial with Twitter

If you have your own GnuSocial, you can configure the TwitterBridge. This Twitter “bridge” plugin allows you to integrate your GnuSocial instance with Twitter. Installing it will allow your users to:

– automatically post notices to their Twitter accounts

– automatically subscribe to other Twitter users who are also using

– your StatusNet install, if possible (requires running a daemon)

– import their Twitter friends’ tweets (requires running a daemon)

– allow users to authenticate using Twitter (‘Sign in with Twitter’).


Here is a How to step by step for connecting your GnuSocial account with your twitter. Step 1 to 5 is administration configuration.

1. Configuration in GnuSocial

Edit you config.php file (should be on your root directory of GnuSocial) and just add the following line


Once it is done, upload it.

2. Creation of your Twitter app

Second step, you should create a twitter application. Go to If you are not connected to Twitter, sign in with your twitter account. Then clic Create New App

how to connect your GnuSocial with Twitter step 2

how to connect your GnuSocial with Twitter step 2

– Name : Your should invent a name for your application. Should be unique so, try to invent a unique name.

– Description : Write something to help you in case you have many applications

– Website : Type here the URL of your GnuSocial website.

– Don’t forget to read and valide the Developer Rules of the Road at the end of this form

– Clic on Create your Twitter application


3 Change the permission

Clic on API Key, then Mofify app permision to read an write.
Clic ont the Tab Permission and change permission to read and write

4 Create your access token

Clic API Key, and at the bottom of the page, Create my access token. Check that this token have read and write permission (waite a little and refrench the page)

5 Twitter bridge settings

Go to the admin panel of your GnuSocial. You should have Twitter option. Then enter :
– Consumer Key : put the API Key
– Consumer Secret put the API secret
– Application name

Now your users should connect with twitter.

6. Connect your account with Twitter

Now the most important step is not done. This is the easiest (if all previous steps was done correctly).
In your GnuSocial go to Setting > Twitter > Connect my Twitter account > Validate
It’s done.



I recommand to just leave the first option “send my notices to Twitter” on. That means that when you are going to write something public on your GnuSocial, that will post to your twitter account as well.

I don’t recommand to select “Subscribe to my Twitter friends here”. Except if you have a strong server.


Installing your own gnusocial

How to install gnusocial ? ssh mode

Gnusocial is a twitter like software that you can install on your own server. The advantage of gnusocial over twitter is that it is federated. All gnusocial instance can communicate to each other. Like email or xmpp (jabber) you will have an Ostatus id like user@server.

First step is you don’t know what is gnusocial is to play with it. You have public

Installation :
Before going to the installation, let’s check the requirement
– php 5.4 at least
– ssh access is

Go to the directory where you will install gnusocial I will name the directory gnusocial
run this command
git clone git:// .

Don’t forget the . (dot) at the end.

When it is done go to your new gnusocial
You should have a page like

No configuration file found.

I looked for configuration files in the following places:

You may wish to run the installer to fix this.
Go to the installer.

click on Go to the installer.
You should have some permission to change just follow what is it mentioned
4 directories should have write access
chmod a+w gnusocial
chmod a+w gnusocial/avatar/
chmod a+w gnusocial/file/
chmod a+w gnusocial/background/

when it is done refresh the page (install.php)
A form will appear.
Just feel the form

  • Site name : what ever you want
  • Database Hostname : usualy it is localhost but not always
  • Database name (you have to create a database for that first or you should know the name of it
  • Database user
  • Database password
  • Administrator nickname that will be the admin account
  • Admin password
  • Type of site : Private : all will be hidden, single user (if you want only for you), community (ideal for a group, a class, a family etc..) , public (if you want a free registration for every body, that option need a strong server and administration care)

Choose community even if you will use it only for you. It is very easy to restrict registration. If you want to share you gnusocial with a friend, it will not be possible otherwise.



How to connect your GnuSocial with Twitter

Coming in September 2014: Friendica Hackathon in Berlin, Germany

(Reposted from Tobias Diekershoff)

Upcoming in September: Friendica Hackathon in Berlin, Germany.

From Sept. 5th to 7th 2014, some Friendica developers and users will be gathering in Berlin to work on software improvements. Everyone is invited to join.
The plan is to work on some issues (label Berlin2014) and to get to know other friendica friends in person. We hope to see non-coders as well as coders! People who know about UI, who would like to test or document changes are very welcome! If you can't come in person but you'd like to work with us, join us on IRC (#friendica on freenode, UTC +2 ;) ) or in the forum!

The venue:
Groessenwahn, Kinzigstr. 9, 10247 Berlin, Germany (
The venue is not accessible in a wheel chair.

If you are somehow involved with friendica and you would like to join, poke us! There is still a limited amount of sleeping places available.

"Us" - that's, and

Hope to see you in September!!!

Redmatrix and friendica

As an analogy – I wonder how many people go to Ford dealerships and tell them they really want a Jeep or a Volkswagen and when the Ford dealer manages to actually produce one from the back lot, then complain because it’s the wrong colour or doesn’t have snow tires on it.

Friendica was built for and designed around service federation. RedMatrix is designed around a consistent privacy model. The two goals are unfortunately somewhat incompatible as every different communication service has a somewhat different privacy model. Friendica’s is completely different from RedMatrix, for instance. They started off essentially the same, but we had to water down the Friendica model a bit and make lots of compromises so it would co-exist with other social networks. I’m tired of producing software that has privacy issues just because some other network we want to communicate with has privacy issues. We can’t federate with Friendica because there are too many anti-cert zealots and half the network issues browser warnings. We can’t federate with Diaspora because they can’t protect private photos. We can’t federate with GNU-social/StatusNet because nothing at all is private. We can’t federate with Facebook because we don’t want to and they won’t allows us to. At the end of the day there’s nobody left to federate with.

La plus grand faiblesse de friendica

Si friendica compte un grand nombre de qualités comme installation facile et rapide, compatibilité avec la fédération ostatus, envoie vers twitter, pump io et la liste est longue, ce réseau a une grande faiblesse.

Il y a très peu de francophones. Les quelques francophones qui se sont inscrits sont resté quelques jours voir quelques semaines avant de déserté ailleur. Résultat le nombre de francophone est très très faible.

Un réseau social sans personne n’est plus un réseau social mais un logiciel inutile, des lignes de codes inhumaines. Voila donc francophones du monde entier, sachez qui facebook n’est pas le seul réseau ni twitter ou google+, vous maitriserez vos donnés et ne serez plus dépendant d’une multinationale.

Older posts «