Bonjour,
Je me résous à demander de l’aide, parce que je perds un temps fou sur un truc qui me semble pourtant extrêmement simple. Comme quoi…
Pour un client - et en guise de test - je dois faire un "cloud" privé : sur le serveur d’un de ses sites, l’idée est de lui faire un accès HTML sécurisé (sous Symfony) dans lequel il pourrait uploader des fichiers, créer des répertoires, déplacer / renommer / supprimer, etc. Ce n’est pas pour l’upload que j’ai besoin d’aide, mais vraiment pour afficher ce qu’il a uploadé et l’ensemble de la structure de répertoires qu’il aura créé (y compris des répertoires vides !). C’est un explorateur Windows, en gros, que je dois faire.
J’étais parti pour utiliser l’outil Finder de Symfony pour explorer le contenu d’un répertoire nommé "cloud" sur le serveur. C’est un outil PHP très efficace MAIS il n’utilise pas du tout les BDD et le modèle recommandé Symfony d’Objets. Après en avoir discuté sur SymfonyCasts.com, on me conseille vivement de créer au moins une entité par fichier ("Upload") histoire de s’assurer de la cohérence permanente des données. Afin de garder également trace des répertoires vides potentiellement créés, je crée aussi une entité CloudDirectory qui contient pour l’instant juste un nom et un attribut fullPath().
Et ensuite…Je sèche.
Je peux évidemment utiliser des requêtes pour avoir la liste des répertoires et la liste des uploads, mais je ne sais pas comment créer efficacement le rendu visuel.
Comment dois-je faire ? Je tente différentes méthodes mais rien ne me semble vraiment efficace (à part l’outil Finder, mais bon, on me dit que c’est pas très recommandé…). Je suis en train de décomposer les fullPath des uploads, mais dans ce cas, les répertoires vides ne sont pas créés. Comment est-ce que vous feriez pour garder la structure d’un répertoire, son contenu, ses éventuels sous-répertoires, et tous les changements qui pourraient s’y produire ?
Note : je ne suis pas certain que la version mySql du serveur gère le format JSON (oui parce que j’envisageais de garder tout sous la forme d’un objet).
Merci pour vos conseils !