Il est marqué que c'est un .zip. Mais est ce que c'est généré à la volée en sélectionnant les photos à ajouter dans l'archive ou bien est ce que c'est des zip générés par cron en fonction de critères (genre par album, par date ou autre) ?
Je vais ici raconter ma vie, en espérant que ce retour d'utilisation soit utile.
Pour ma part, j'ai (presque) toujours utilisé gallery (puis gallery2).
Le service m'a toujours convenu. C'est complet, extensible, il y a une large base d'utilisateurs. Mais je souhaitais partager mes photos.
Il existe un plugin pour ça. Mais il y avait deux problèmes.
Le premier, c'est que c'est un plugin développé par une boite. Et récupérer un .zip fait passer par un panier, même s'il n'y a rien à payer pour valider. C'est assez perturbant pour certains utilisateurs qui se demandent s'ils ne sont pas tombés sur un site commercial.
Ce n'est pas grave techniquement, mais ça nuit à l'utilisabilité.
Le second, et le plus grave, c'est que ça consomme un paquet de ressources. Ce n'est pas grave pour un nombre réduit de photos (ce qui diminue l'intérêt du zip), mais c'est plus chiant quand on veut récupérer 5 sous albums correspondant à 5 galeries uploadées par 5 personnes présentes à un mariage pour un total de plusieurs milliers de photos et de vidéos, ça tue le serveur pendant un certain temps et ça ne donne rien au final (timeouts php).
Alors du coup, j'ai adopté une solution home made.
Du coup j'ai pu générer des tarballs (.tar, donc sans compression), plutôt que de faire une bête compression de fichiers déjà compressés.
J'ai tenté deux choses différentes :
- Un cron qui génère un tarball selon différents critères (albums, date, plus récents, plus vus etc.). Mais ça prend une place énorme. Et ce n'est pas customisable (tout le monde ne veut pas forcément des trucs génériques).
- Un mode de fonctionnement par batch. On sélectionne les photos, on clique on rentre un mail et un attend. Le tarball est disponible un certain nombre de temps après quoi il est effacé.
Mais c'est contraignant pour l'utilisateur qui ne veut pas attendre. Et en cas d'erreur dans le mail ou un mail non consulté dans les 10 jours et il faut recommencer. Pendant ce temps des ressources (cpu, ram, espace disque) sont consommées inutilement.
Finalement, je suis revenu à un truc simple : le FTP (ou presque).
J'ai patché gallery en local pour y ajouter une page de doc expliquant comment on uploade ou downloade des photos en utilisant filezilla (qui fonctionne sous tous les OS du monde de la terre et du reste).
Un compte système guest chrooté qui ne peux qu'ajouter des photos dans un répertoire upload (purgé régulièrement) et downloader tout ce qu'il veut dans les galleries publiques et pour les besoins spéciaux, des comptes nominatifs et ça roule.
Bonne chance pour ton projet, mais très franchement, la méthode zip, je n'y crois plus du tout. À la limite, si tu veux conserver l'agrégation de fichiers, utilise au moins du .tar. Tu y gagnera en ressources systèmes et en attente pour tes utilisateurs. Et tu pourra potentiellement éviter des timeouts.
# Ma vie
Posté par j_kerviel . En réponse au journal Photoroid : une appli web de partage de photos. Évalué à 5.
Hello,
Comment se fait le partage de photo ?
Il est marqué que c'est un .zip. Mais est ce que c'est généré à la volée en sélectionnant les photos à ajouter dans l'archive ou bien est ce que c'est des zip générés par cron en fonction de critères (genre par album, par date ou autre) ?
Je vais ici raconter ma vie, en espérant que ce retour d'utilisation soit utile.
Pour ma part, j'ai (presque) toujours utilisé gallery (puis gallery2).
Le service m'a toujours convenu. C'est complet, extensible, il y a une large base d'utilisateurs. Mais je souhaitais partager mes photos.
Il existe un plugin pour ça. Mais il y avait deux problèmes.
Le premier, c'est que c'est un plugin développé par une boite. Et récupérer un .zip fait passer par un panier, même s'il n'y a rien à payer pour valider. C'est assez perturbant pour certains utilisateurs qui se demandent s'ils ne sont pas tombés sur un site commercial.
Ce n'est pas grave techniquement, mais ça nuit à l'utilisabilité.
Le second, et le plus grave, c'est que ça consomme un paquet de ressources. Ce n'est pas grave pour un nombre réduit de photos (ce qui diminue l'intérêt du zip), mais c'est plus chiant quand on veut récupérer 5 sous albums correspondant à 5 galeries uploadées par 5 personnes présentes à un mariage pour un total de plusieurs milliers de photos et de vidéos, ça tue le serveur pendant un certain temps et ça ne donne rien au final (timeouts php).
Alors du coup, j'ai adopté une solution home made.
Du coup j'ai pu générer des tarballs (.tar, donc sans compression), plutôt que de faire une bête compression de fichiers déjà compressés.
J'ai tenté deux choses différentes :
- Un cron qui génère un tarball selon différents critères (albums, date, plus récents, plus vus etc.). Mais ça prend une place énorme. Et ce n'est pas customisable (tout le monde ne veut pas forcément des trucs génériques).
- Un mode de fonctionnement par batch. On sélectionne les photos, on clique on rentre un mail et un attend. Le tarball est disponible un certain nombre de temps après quoi il est effacé.
Mais c'est contraignant pour l'utilisateur qui ne veut pas attendre. Et en cas d'erreur dans le mail ou un mail non consulté dans les 10 jours et il faut recommencer. Pendant ce temps des ressources (cpu, ram, espace disque) sont consommées inutilement.
Finalement, je suis revenu à un truc simple : le FTP (ou presque).
J'ai patché gallery en local pour y ajouter une page de doc expliquant comment on uploade ou downloade des photos en utilisant filezilla (qui fonctionne sous tous les OS du monde de la terre et du reste).
Un compte système guest chrooté qui ne peux qu'ajouter des photos dans un répertoire upload (purgé régulièrement) et downloader tout ce qu'il veut dans les galleries publiques et pour les besoins spéciaux, des comptes nominatifs et ça roule.
Bonne chance pour ton projet, mais très franchement, la méthode zip, je n'y crois plus du tout. À la limite, si tu veux conserver l'agrégation de fichiers, utilise au moins du .tar. Tu y gagnera en ressources systèmes et en attente pour tes utilisateurs. Et tu pourra potentiellement éviter des timeouts.