specifications techniques detaillees - adileos-org/doc-depot-ng GitHub Wiki

Spécifications techniques détaillées

Conception technique

Annexes

plugins Symfony qui peuvent être utilisés

  • DoctrineExtensions : ce bundle permet de gérer des cas d'usages classiques de gestion de données. Par exemple il permet de mettre à jour des champs sur des évènements de création, mise à jour etc ...
    • on utilisera notamment les annotations @Gedmo\Timestampable(on="create") ou @Gedmo\Timestampable(on="update"), voir le site
    • @Gedmo\Loggable et @Gedmo\Versioned pour gérer la traçabilité des modifications des données, voir le site
  • stof/StofDoctrineExtensionsBundle : ce bundle permet d'intégrer le bundle DoctrineExtensions
  • le bundle HWIOAuthBundle permet d'intégrer beaucoup de identity provider OAuth
  • le FOSRestBundle permet qu'une action de controller permet d'être utilisée sous plusieurs formats (en HTML ou bien en JSON (REST)), voir aussi https://github.com/gimler/symfony-rest-edition
  • Le plugin VichUploaderBundle permet de sotcker un document dans une BDD, seulement ce n'est pas le mode de stockage privilégié. Cependant, ce plugin peut être une excellente base de travail pour le stockage des meta données des documents
  • Le plugin LiipImagineBundle permet de gérer les conversion d'images.
  • KnpSnappyBundle permet de convertir du HTML en PDF
  • KnpGaufretteBundle permet d'abstraire la couche de stockage (FileSystem, DropBox, FTP ...)
  • En cas de nécessité d'intégrer Elasticsearch, il existe un plugin qui permet de greffer les event d'un projet dans ES voir le site

installation via Composer

Pour les projets GitHub https://github.com/Organisation/myBundle

composer require knplabs/my-bundle

par exemple pour le plugin https://github.com/KnpLabs/KnpPaginatorBundle

composer require knplabs/knp-paginator-bundle