Documentation Elgg (master)¶
Elgg (pronunciation
) est un framework de développement rapide pour construire des applications web sociales. C’est un excellent choix pour construire tout type d’application où des utilisateurs se connectent et partagent des informations.
Fonctionnalités¶
Une API bien documentée qui permet aux développeurs d’accélérer leurs nouveaux projets avec une courbe d’apprentissage simple
Composer est le gestionnaire de paquets qui simplifie grandement l’installation et la maintenance du coeur d’Elgg et des plugins
Un système flexible de hooks et d’événements qui permet aux plugins d’étendre et de modifier la majorité des aspects du fonctionnement et du comportement des fonctionnalités des applications
Un système de vues extensible qui permet aux plugins de collaborer sur la couche de présentation des applications et de construire des thèmes personnalisés complexes
Un système d’assets statiques mis en cache qui permet aux thèmes et aux plugins de servir des images, feuilles de style, polices et scripts sans charger le moteur
L’authentication des utilsateurs s’appuie sur des modules d’authentification enfichables, ce qui permet aux applications d’implémenter des protocoles d’authentification personnalisés
La Sécurité est assurée par une validation anti CSRF native, des filtres XSS stricts, des signatures HMAC, et les dernières approches cryptographiques pour le hachage des mots de passe
Une API côté client motorisée par des modules JavaScript asynchrones chargés via RequireJS et un service Ajax natif pour une communication aisée avec le serveur
Un système d’Entités flexible qui permet aux applications de prototyper de nouveaux types de contenus et d’interactions entre utilisateurs
Un modèle de données très bien conçu avec une couche d’API consolidée qui permet aux développeurs de créer facilement les interfaces avec la base de données
Une système de contrôle d’accès qui permet aux applications de construire des politiques d’accès aux contenus granulaires, comme de créer des réseaux privés et des intranets
Groupes - support d’emblée pour des groupes d’utilisateurs
Stockage de fichiers supporté par une API flexible qui permet aux plugins de stocker les fichiers créés par les utilisateurs et de les servir/streamer sans démarrer le moteur
Un Service de Notifications qui permet aux applications d’abonner des utilisateurs aux notifications sur le site ou par email, et d’implémenter l’intégration avec d’autres services tierce-partie
Des Services Web RPC qui peuvent être utilisés pour des intégrations complexes avec des applications externes et des clietns mobiles
L’Internationalisation et la localisation des applications Elgg est simple et peut être intégrée avec des services tierce-partie tels que Transifex
La communauté Elgg peut aider sur n’importe quelle problématique qui survienne, et héberge un répertoire de plus de 1000+ plugins open source
Sous le capot :
Elgg est un framework modulaire orienté objet (OOP) qui est dirigé par des services DI
compatible NGINX ou Apache
Symfony2 HTTP Foundation gère les requêtes et réponses
RequireJS gère les modules AMD
Zend Mail gère les emails sortants
Filtres XSS htmLawed
DBAL
Migrations de base de donnée Phinx
CSS-Crush pour le pré-traitement CSS
Imagine pour la manipulation d’image
Cache persistant avec Memcached et/ou Redis
Gestion des erreurs avec Monolog
Exemples¶
Elgg a été utilisé pour construire tous types d’applications sociales:
réseau sociaux ouverts (similaires à Facebook)
thématiques (comme la communauté Elgg)
intranets privés ou professionnels
rencontres
éducatifs
blog d’entreprise
Ceci constitue la documentation officielle du projet Elgg.