Bonsoir,
Je viens demander conseil pour l'élaboration du schéma décentralisé d'un réseau social open source, MOVIM.
My Open Virtual Identity Manager, est un projet sous licence AGPL V3.
Le projet serait développé avec PHP5, en utilisant notamment le Zend Framework (l'utilisation de celui-ci sera justifié plus loin). Au cœur du projet viendra se greffer la technologie XMPP pour de multiples APIs.
J'ai pour l'instant, j'ai établi le schéma suivant :
Pour une question évidente de référencement il est indispensable que le visiteur reste sur movim.com (ou assimilé), donc nous appelleront la page au travers du serveur central.
Le serveur central permet de faire des recherches sur les movim disponible (vous cherchez un amis via le nom de son movim, son adresse email ou autre), il permet aussi de s'inscrire, il hébergera le forum du projet etc...
L'utilisation du Zend Framework n'a pas encore été choisie de façon claire et définitive par la team, nous attendons des avis avisés
L'avantage de l'utilisation de ZF (au-delà du fait que c'est un excellent framework) est qu'il dispose d'une documentation extrêmement complète, ainsi comme il s'agit d'un projet open source, il sera plus facile à chacun d'y porter sa pierre.
Une autre question se pose sur le plan de la conception de la base de donnée locale de chaque serveur. Faut-il utiliser une base de donnée globale pour tous les movim du serveur, ou chaque movim a sa base de donnée ?
On penche plutôt pour chaque movim sa BDD pour des raisons d'accessibilité aux données d'une API d'un movim par un autre movim.
Es-ce qu'une architecture telle que proposée est viable et performante ?
Le but de movim (comme détaillé sur le site du projet), est de fournir un réseau social où l'utilisateur a l'assurance que ses données de sont pas détournées, un système décentralisé qui permet qu'aucune surcharge du parc de serveur ne survienne, une interface personnalisable, modulable, avec la possibilité d'ajouter des API tierces (enfermé dans le movim de celui qui les installe), le tout pour le grand public.
La team vous serez très reconnaissante de tous les conseils que vous pourriez donner pour le développement du projet.
Partager