Nouveau module ? Médiathèque de chargement de fichiers
Bonsoir tout le monde,
Pendant que Fred sue sur ses deux cms, j'ai sué un peu aussi sur la création d'un nouveau module.
Je suis parti d'un script de téléchargements multiples que j'avais créé il y a quelques temps, c'est ici : https://test.lemimi.fr/chargements/chargements.php
C'est ce que j'ai adapté pour Zwii et qui est en test ici : https://test.lemimi.fr/zwii-modules/mediatheque
Vous pouvez l'essayer, c'est en libre service ! (côté visiteur et côté admin)
Et plus de détails ici : https://test.lemimi.fr/zwii-modules/module/mediatheque/readme.pdf
Prochaines étapes : une barre de progression pour le téléchargement du côté visiteur.
Et côté admin, notification facultative par e-mail du dépôt de nouveaux fichiers et fixation adaptative d'une durée de parution de chaque fichier avant suppression automatique. La date de suppression devant apparaître, côté visiteur, à côté de chaque fichier.
Si ça intéresse du monde, et après avis de Fred, nous pourrions le mettre sur le store.
Au plaisir... Michel
Commentaires
-
Bonjour Michel,
Excellente initiative !
Je le teste dès que possible.
Tu as le rôle admin sur le store pour faciliter le dépôt, le temps que la nouvelle version répare les bugs de profils.
Bonne journée,
Fred
The f....g boss0 -
Bonjour Fred,
Je jette un coup d’œil de temps à autre chez Codeberg, et cela a l'air de pas mal bouger.
Ce script, futur module ?, sert surtout en remplacement des sites spécialisés en dépôts de fichiers ( avec pubs, fourniture d'e-mail...).
Ici, rien de tout cela. Mes amis, avec qui je partage, apprécient.
Bonne journée... Michel
0 -
Je pense que ce serait intéressant de l'avoir en module. Pour Campus, le concept m'intéresse.
Maintenant que tu sembles de plus en plus aguerri en codage ;)
Bonne fin de journée,
Fred
The f....g boss0 -
Je viens de déposer le module avec des scripts commentés, ici : https://codeberg.org/Lemimi/Mediatheque
Bonne lecture... Michel
Post edited by lemimi on0 -
Bonjour,
Le module évolue avec une barre de progression graphique de l'upload qui apparaît lors du chargement des fichiers et disparaît après 2 secondes.
Ajout de mini barres sous les tailles Max, utilisée et disponible.
Si 2 noms de fichiers identiques à uploader, ajout de (1), (2)... à la fin du nom du fichier.
C'est ici en test, et le code mis à jour chez Codeberg.
Au plaisir... Michel
0 -
Très intéressant ce module.
Quelques petits conseils.
Je pense que ce serait mieux de sauvegarder les fichiers dans site/data ou dans site/file/source plutôt que dans le dossier du module qui n'est pas sauvegardé.
Le module ne fonctionne pas sous Campus, la méthode saveconfig est déjà utilisée dans la classe parente.
La sauvegarde et la lecture de la configuration pourrait s'effectuer avec la méthode setData(['module', $this->getUrl(0)]) de cette manière, c'est le fichier module.json qui sera alimenté.
Ainsi $config = self::loadConfig(); serait simplement setData(['module', $this->getUrl(0)]); idem pour charger la config setData.
J'ai modifié le script principal, déplacement de la zone de stockage dans data, chargement et sauvegarde de la config. Zwii est tellement bien fait (merci @Rémi ) que les méthodes s'utilisent très facilement.
Je ne sais si c'était voulu, dans index, la partie code était dupliquée après le script ce qui provoquait un double affichage.
Il y a d'autres pistes d'optimisation, déplacer le script dans un fichier index.js.php (une variable à lire depuis un champ html caché), utiliser le template pour la configuration. Je n'y ai pas touché pour ne pas dénaturer le projet.
Ton module m'intéresse pour Campus.
Bon dimanche et bravo pour tes productions.
Fred
PS : je t'ai ajouté comme collaborateur dans le dépôt des modules.
The f....g boss0 -
Je ne sais si c'était voulu, dans index, la partie code était dupliquée après le script ce qui provoquait un double affichage.J'ai certainement dû merdouillé en modifiant et déposant index.php chez Codeberg. Voila ce que sait que de ne pas y extraire son ZIP et tester sur sa machine aussitôt :-(
J'ai modifié le script principal, déplacement de la zone de stockage dans data, chargement et sauvegarde de la config. Zwii est tellement bien fait (merci @Rémi ) que les méthodes s'utilisent très facilement.Ah oui, je n'avais pas pensé aux mises à jour de Zwii, ou bien lorsque l'on a un problème, installation neuve et transfert par FTP de son dossier site.
Bon week-end à tous... Michel
0 -
Hello vous tous,
Ça avance, voir ici : https://test.lemimi.fr/zwiicms-13700/mediatheque
Je vous laisse découvrir les nouvelles fonctionnalités et les essayer pour tester.
Je mettrai le code mis à jour demain chez Codeberg... il se fait tard.
Dodo... Michel
0 -
Bonjour vous tous,
Le code mis à jour
(version 2.00)est consultable ici : https://codeberg.org/Lemimi/MediathequeJe l'ai installé sur une version neuve de Zwii ici , et a l'air de tourner sans encombre.
Bonne journée... Michel
0 -
Salut Michel,
L'erreur que je t'avais signalée est toujours présente :
Tu n'as pas repris l'usage des méthodes setData et getData pour la configuration du module ?
Bonne journée,
Fred
The f....g boss0 -
Bonsoir Fred,
Avec du mal, j'ai repris comme tu le suggérais l'usage des méthodes setData et getData pour la configuration du module.
La sauvegarde des fichiers se fait désormais dans /site/data/mediatheque/.
Je viens de mettre à jour sur Codeberg, en version 2.01. (sauf le readme) et ça tourne ici : https://test.lemimi.fr/zwiicms-13609/mediatheque
Allez, au dodo... Michel
0 -
Bonsoir,
Il doit y avoir un pb dans ton commit, je ne trouve pas ta modification, l'erreur est toujours détectée dans l'éditeur de code.
Ces modifications étaient dans l'archive que j'avais déposée le 22/8 :
Les principales modifications sont les suivantes :
Le constructeur initialise le module si les données n'existent pas dans la basse. $this->getUrl(0) représente l'id du module.
Les deux méthodes statiques posant pb sont supprimées.
Enfin, pour stocker dans le dossier, une seule variable est nécessaire :
Je vais essayer de retravailler index pour respecter au mieux la répartition des fonctions, le code (autant que faire possible) dans mediatheque.php, l'affichage des vues dans view et les scripts dans js.php
The f....g boss0 -
Hello Fred,
J'ai du mal à me faire à certaines contraintes deZwii, et à les comprendre:-(
Moi je suis content quand ça fonctionne ! C'est beaucoup plus facile pour moi de concevoir un script complet et au besoin l'intégrer via une iframe.
Je vais recharger ton ZIP avec tes modifs et essayer de comprendre.
J'ai repris le rendu graphique du module côté visiteurs, les trois sections ("Télécharger tout", "Uploader un ou plusieurs fichiers", et les graphiques) sont alignées horizontalement et s'adaptent à la taille de l'écran. La barre d'upload s'affiche sous le bouton "Uploader" quand celui-ci est déclenché.
Version 2.02 ici et mis à jour sur Codeberg.
Bonne soirée... Michel
0 -
Hello Michel,
Bien sûr Michel, c'est logique. Lorsque j'ai pris en main Zwii, il m'a fallu un paquet de temps pour comprendre la structure et les méthodes utilisées.
Dans les appels de script, lors des transactions AJAX, il faut indiquer true comme paramètre du helper::BaseUrl et supprimer le point d'interrogation saisi en dur. Le script ne fonctionne que si la page est nommée
mediathequela ligne devrait ressembler à ça :"<?php echo helper::baseUrl(true) . $this->getUrl(0); ?>/index"
Ce script est très très intéressant :)
Bonne journée,
Fred
The f....g boss0 -
Bonjour Fred,
Après mettre fait expliquer ces différences par Mistral, je viens de modifier la ligne et mis à jour sur Codeberg.Et si j'avais uploadé un fichier dans la foulée, je me serais rendu compte que la requête était envoyée vers une URL vide !
C'est réparé. Voila ce que c'est que de faire un copier/coller sans réfléchir ;-(
Dur, dur d'être dans les clous de Zwii :-)
Bonne journée... Michel
Post edited by lemimi on0 -
Bonjour Michel,
Bon, j'obtiens enfin une version qui fonctionne quel que soit le nom de la page. Les requêtes AJAX sont toujours difficiles à déboguer.
Je me suis borné à rendre le module opérationnel et à déplacer le script dans le fichier index.js.php, je n'ai pas changé la philosophie de la présentation, ce n'est pas vraiment le but. On pourrait appliquer tout un tas de méthodes internes dans le formulaire, comme tout fonctionne ainsi..
J'ai aussi reformé la présentation de la page d'index, elle est un peu différente de la tienne, ce sera facile de l'adapter.
Dans mes tests, j'ai obtenu des warnings à cause des valeurs maximales acceptées par php (dans php.ini). Il serait intéressant de plafonner à cette valeur dans la configuration du module :
ini_get('upload_max_filesize')et
ini_get('post_max_size')Voici le module modifié :
Enfin, j'ai mis à jour le store avec 13.7 et je t'ai attribué les droits de rédacteur.
Je te laisse avec ce module ;)
Bonne fin de journée.
The f....g boss0 -
Bonjour Fred,
Je suis reparti de ta dernière version 2.03, ici.
J'ai supprimé dans le code la notification d'e-mail pour l'upload de fichier : cela m'a apporté deux, trois ennuis lorsque je modifiais quelque chose.
Je verrai plus tard à réintroduire cette fonction quand tout sera vraiment fonctionnel :-)
La version 2.04 sous ZwiiCms est ici.
La même version 2.04 sous ZwiiCampus est ici. Et le code chez Codeberg ici.
Bonne journée... Michel
0 -
Bonjour @lemimi
Le module ne fonctionne pas, les fichiers ne se téléchargent pas.
J'ai réinstallé la version sur laquelle j'avais terminé de travaillé et tout fonctionne à part un message sur 'l'index à ne pas afficher.
Il y a un pb d'affichage sur la page de configuration :
Voici le script corrigé :
Il y a une propriété pour les labels, ce qui permet d'afficher un repère pour les champs obligatoires :
Je n'ai pas touché au reste.
The f....g boss0 -
Hello Fred,
La version 2.04 qui est en ce moment chez Codeberg, fonctionne aussi bien en mode visiteurs et en mode admin pour les versions ZwiiCMS inférieures à la dernière 13.7.00.
Celle-ci sous ZwiiCMS 13.6.09 fonctionne correctement : https://test.lemimi.fr/zwiicms-13609/mediatheque
Celle-ci sous Zwiicampus 2.6.00 pareillement : https://test.lemimi.fr/zwiicampus-2600/mediatheque
La même version avec ton nouveau config.php installé sur la dernière version 13.7.00, présente toujours le même symptôme en mode visiteur que décris plus haut : en mode visiteur, tu cliques sur Médiathèque de la barre de menu... et rien ne se passe. https://test.lemimi.fr/zwiicms-13.7.00/
En admin, tout fonctionne correctement.
Je me suis peut-être mal exprimé, mais c'est sur cette dernière version qu'il y a un problème avec ce module.
Bonne soirée et au plaisir... Michel
0 -
Michel,
La version 2.03 fonctionne, pas la 2.04 qui est sur codeberg à cause de cette ligne dans index.js.php
xhr.open("POST", "<?php echo helper::baseUrl().$this->getUrl(0); ?>/index", true);
et non
xhr.open("POST", "<?php echo helper::baseUrl(); ?>mediatheque/index", true);
La requête XHR ne fonctionne pas si le nom de la page a changé.
Entre les deux, j'ai vu que la notification par email était supprimée.
C'est corrigé ici :
The f....g boss0 -
Coucou,
Je viens de réinstaller complètement ta version corrigée... et je dis BRAVO !
Pour ce qui est de la notification par email, la raison de la suppression, c'est lorsque par moment je modifiais quelque chose, la notification ne fonctionnait plus, quand ça remarchait c'était autre chose :-(
Du coup, j'ai pratiquement tout supprimé et ajouté de nouvelles fonctionnalités au fur et à mesure. La notification est la prochaine étape : version 2.05. Mais je mettrai la 2.04 sur le store dès que possible.
Bonne soirée et grand merci... Michel
1 -
Bonjour,
J'ai installé Windsurf, décrit par Fred pour l'élaboration du module Weather, et m'en suis servi pour installer la notification par e-mail de l'upload de fichiers.
Hé bien, en moins d"une demi heure c'était bâclé ! Impressionnant !
Il suffit d'expliquer ce que l'on veut, l'IA propose et explique ce qu'elle fait. Si ça ne te plait pas, tu expliques les modifications que tu souhaites jusqu'au résultat final voulu.
Et dire que j'ai encore acheté un livre sur PHP 8 il y a moins de trois mois. (et que je n'ai pas tout compris;-)
Bon, du coup la version 2.05 est ici :
Et en test ici : https://test.lemimi.fr/zwiicms-13.7.00-a/mediatheque
0 -
Bonjour Michel,
Il faut espérer que la version gratuite reste exploitable longtemps. Trae était gratuit et désormais c'est payant.
La force de WindSurf est d'agir directement dans le code.
Je te conseille de faire des commits avant des modifications importantes, il arrive que le modèle dépasse la demande du prompt et fasse un peu n'importe quoi.
Je réponds à ton MP et je teste.
Bonne soirée,
Fred
The f....g boss0
Salutations, Étranger !
Catégories
- 548 Toutes les Catégories
- 58 Support ZwiiCampus
- 16 Annonces ZwiiCampus
- 17 ZwiiCampus au quotidien
- 36 Déclarer un bug dans ZwiiCampus
- 496 Support ZwiiCMS
- 99 Annonces ZwiiCMS
- 57 Installer et utiliser ZwiiCMS
- 63 Déclarer un bug dans ZwiiCMS
- 59 Modules : utilisation, mise à jour
- 11 Projets de modules
- 6 Zwii en langues étrangères
- 10 Traductions de ZwiiCMS
- 6 Traductions des modules
- 134 Communauté
- 6 Fonctionnement du forum
- 56 Boîte à idées, les évolutions du CMS
- 15 Vos sites
- 63 Discussions libres
- 55 Ateliers de développement
- 15 Vos projets
- 30 Trucs et astuces







