taille max fichiers

Added by Mat Demb 7 months ago

Bonjour,
je rencontre un problème genant:
je n'arrive pas à uploader des fichiers très gros (plusieurs Go).
J'ai monté la taille côté linshare mais je me demande si côté tomcat, la taille est suffisante.
Impossible de trouver dans quel fichier le paramétrer (server.xml, web.xml, aucun n'ont le paramètre généralement utilisé).
Lors d'un transfert, la barre de progression se réinitialise plusieurs dès quelques secondes de transfert puis "le serveur retourne une erreur inconnue".
Une idée?
Merci d'avance.


Replies (9)

RE: taille max fichiers - Added by Mat Demb 6 months ago

En regardant de plus pret les logs, je vois qu'il boucle sur le segment 1 du fichier, qu'apparemment il découpe en 50 morceaux.

J'ai les messages suivant qui bouclent:
[DEBUG]:http-bio-8080-exec-32:20180607.123917:org.linagora.linshare.core.facade.webservice.user.impl.AccountQuotaFacadeImpl:getAuthentication:Authenticated user : XXXXX YYYYYYY
[INFO]:http-bio-8080-exec-32:20180607.123917:org.linagora.linshare.webservice.userv2.FlowDocumentUploaderRestService:testChunk:GET: .../webservice/rest/user/v2/flow.json:03e9dbd9-6fa9-42e1-abcf-6452243ccea9: chunkNumber:1/49
[INFO]:http-bio-8080-exec-10:20180607.123917:org.linagora.linshare.webservice.interceptor.TimingOutInterceptor:handleMessage:GET:/linshare/webservice/rest/user/v2/quota/e3956f53-b3c8-4c02-b8ad-69a3aa5b4596 : Request time: 8 ms
[DEBUG]:http-bio-8080-exec-30:20180607.123921:org.linagora.linshare.auth.sso.PreAuthenticationHeader:doFilter:Checking secure context token: org.springframework.security.authentication.UsernamePasswordAuthenticationToken@d63f8b07: Principal: org.springframework.security.core.userdetails.User@ffd41a3a: Username: e80f3ec2-d8d7-4a0e-a08a-55035300f387; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; credentialsNonExpired: true; AccountNonLocked: true; Granted Authorities: ROLE_ADMIN,ROLE_AUTH,ROLE_INTERNAL,ROLE_UPLOAD,ROLE_USER; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@2eb76: RemoteIpAddress: 127.0.0.1; SessionId: 11F38BEA3341027101B25F8EAA6ED001; Granted Authorities: ROLE_ADMIN, ROLE_AUTH, ROLE_INTERNAL, ROLE_UPLOAD, ROLE_USER
[DEBUG]:http-bio-8080-exec-30:20180607.123921:org.linagora.linshare.webservice.interceptor.TimingInInterceptor:handleMessage:GET:/linshare/webservice/rest/user/v2/quota/e3956f53-b3c8-4c02-b8ad-69a3aa5b4596 ...
[DEBUG]:http-bio-8080-exec-30:20180607.123921:org.linagora.linshare.core.facade.webservice.user.impl.AccountQuotaFacadeImpl:getAuthentication:Authentication with principal : e80f3ec2-d8d7-4a0e-a08a-55035300f387
[DEBUG]:http-bio-8080-exec-30:20180607.123921:org.linagora.linshare.core.facade.webservice.user.impl.AccountQuotaFacadeImpl:getAuthentication:Authenticated user : XXXXX YYYYYYY
[INFO]:http-bio-8080-exec-30:20180607.123921:org.linagora.linshare.webservice.interceptor.TimingOutInterceptor:handleMessage:GET:/linshare/webservice/rest/user/v2/quota/e3956f53-b3c8-4c02-b8ad-69a3aa5b4596 : Request time: 6 ms
[DEBUG]:http-bio-8080-exec-19:20180607.123921:org.linagora.linshare.auth.sso.PreAuthenticationHeader:doFilter:Checking secure context token: org.springframework.security.authentication.UsernamePasswordAuthenticationToken@d63f8b07: Principal: org.springframework.security.core.userdetails.User@ffd41a3a: Username: e80f3ec2-d8d7-4a0e-a08a-55035300f387; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; credentialsNonExpired: true; AccountNonLocked: true; Granted Authorities: ROLE_ADMIN,ROLE_AUTH,ROLE_INTERNAL,ROLE_UPLOAD,ROLE_USER; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@2eb76: RemoteIpAddress: 127.0.0.1; SessionId: 11F38BEA3341027101B25F8EAA6ED001; Granted Authorities: ROLE_ADMIN, ROLE_AUTH, ROLE_INTERNAL, ROLE_UPLOAD, ROLE_USER
[DEBUG]:http-bio-8080-exec-19:20180607.123921:org.linagora.linshare.webservice.interceptor.TimingInInterceptor:handleMessage:GET:/linshare/webservice/rest/user/v2/flow.json ...
[DEBUG]:http-bio-8080-exec-19:20180607.123921:org.linagora.linshare.core.facade.webservice.user.impl.AccountQuotaFacadeImpl:getAuthentication:Authentication with principal : e80f3ec2-d8d7-4a0e-a08a-55035300f387

Ce problème bloque la mise en production de l'outil, certains utilisateurs ayant besoin d'envoyer de gros fichiers...

RE: taille max fichiers - Added by Mat Demb 6 months ago

Le transfert fonctionne pour des fichiers jusqu'à ~2.5Go, au dela, ca boucle sur le chunk 1.
Je n'ai pour l'instant pas trouvé de limite dans un quelconque fichier de conf tomcat ou linshare indiquant cette limite pour quelque raison que ce soit.
Je sèche...

RE: taille max fichiers - Added by Mat Demb 6 months ago

avec un fichier de 2.31Go, il envoie tout jusqu'à arriver au 49e chunk et là, il part en boucle en reprenant sur le chunk 1.
Sur les fichiers plus gros, il boucle dès le premier chunk...
Manifestement 49 segments est la limite à ne pas dépasser pour que ca fonctionne.

ci-dessous les logs des derniers segments puis du bouclage:

[DEBUG]:http-bio-8080-exec-40:20180607.144908:org.linagora.linshare.webservice.userv2.FlowDocumentUploaderRestService:uploadChunk:upload chunk number : 48
[DEBUG]:http-bio-8080-exec-40:20180607.144908:org.linagora.linshare.core.facade.webservice.user.impl.AccountQuotaFacadeImpl:getAuthentication:Authentication with principal : e80f3ec2-d8d7-4a0e-a08a-55035300f387
[DEBUG]:http-bio-8080-exec-40:20180607.144908:org.linagora.linshare.core.facade.webservice.user.impl.AccountQuotaFacadeImpl:getAuthentication:Authenticated user : XXXXXXXX YYYYYYYYY
[DEBUG]:http-bio-8080-exec-40:20180607.144908:org.linagora.linshare.webservice.userv2.FlowDocumentUploaderRestService:uploadChunk:writing chunk number : 48
[DEBUG]:http-bio-8080-exec-40:20180607.144908:org.linagora.linshare.webservice.userv2.FlowDocumentUploaderRestService:uploadChunk:nb uploading files : 4
[DEBUG]:http-bio-8080-exec-40:20180607.144908:org.linagora.linshare.webservice.userv2.FlowDocumentUploaderRestService:uploadChunk:current chuckedfile uuid : 71fab3c1-3897-4da6-9ed6-b96ee22ae9a8
[DEBUG]:http-bio-8080-exec-40:20180607.144908:org.linagora.linshare.webservice.userv2.FlowDocumentUploaderRestService:uploadChunk:current chuckedfiles{71fab3c1-3897-4da6-9ed6-b96ee22ae9a8=ChunkedFile [startTime=1528375591811, chunks=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48], path=/var/cache/tomcat/temp/linshare-chunks-71fab3c1-3897-4da6-9ed6-b96ee22ae9a88325455383791020435.temp], ea0c3720-6356-42d4-8726-f4876ce63edf=ChunkedFile [startTime=1528374019999, chunks=[1, 2], path=/var/cache/tomcat/temp/linshare-chunks-ea0c3720-6356-42d4-8726-f4876ce63edf130741465964106522.temp], 786eb802-b858-4081-adfa-34a493414e26=ChunkedFile [startTime=1528374521464, chunks=[1, 2, 3, 4, 5, 6, 7, 8], path=/var/cache/tomcat/temp/linshare-chunks-786eb802-b858-4081-adfa-34a493414e263691784655590343887.temp], 3c3ed3e4-4db9-4829-b1c6-6d5d01579a50=ChunkedFile [startTime=1528367772207, chunks=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31], path=/var/cache/tomcat/temp/linshare-chunks-3c3ed3e4-4db9-4829-b1c6-6d5d01579a504365033808095085246.temp]}
[DEBUG]:http-bio-8080-exec-40:20180607.144908:org.linagora.linshare.webservice.userv2.FlowDocumentUploaderRestService:uploadChunk:upload pending
[DEBUG]:http-bio-8080-exec-30:20180607.144909:org.linagora.linshare.auth.sso.PreAuthenticationHeader:doFilter:Checking secure context token: org.springframework.security.authentication.UsernamePasswordAuthenticationToken@d63f8b07: Principal: org.springframework.security.core.userdetails.User@ffd41a3a: Username: e80f3ec2-d8d7-4a0e-a08a-55035300f387; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; credentialsNonExpired: true; AccountNonLocked: true; Granted Authorities: ROLE_ADMIN,ROLE_AUTH,ROLE_INTERNAL,ROLE_UPLOAD,ROLE_USER; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@2eb76: RemoteIpAddress: 127.0.0.1; SessionId: 532F58E1C09FBE3A4B93E675427C119E; Granted Authorities: ROLE_ADMIN, ROLE_AUTH, ROLE_INTERNAL, ROLE_UPLOAD, ROLE_USER
[DEBUG]:http-bio-8080-exec-30:20180607.144909:org.linagora.linshare.webservice.interceptor.TimingInInterceptor:handleMessage:GET:/linshare/webservice/rest/user/v2/flow.json ...
[DEBUG]:http-bio-8080-exec-30:20180607.144909:org.linagora.linshare.core.facade.webservice.user.impl.AccountQuotaFacadeImpl:getAuthentication:Authentication with principal : e80f3ec2-d8d7-4a0e-a08a-55035300f387
[DEBUG]:http-bio-8080-exec-30:20180607.144909:org.linagora.linshare.core.facade.webservice.user.impl.AccountQuotaFacadeImpl:getAuthentication:Authenticated user : XXXXXXXX YYYYYYYYY
[INFO]:http-bio-8080-exec-30:20180607.144909:org.linagora.linshare.webservice.userv2.FlowDocumentUploaderRestService:testChunk:GET: .../webservice/rest/user/v2/flow.json:71fab3c1-3897-4da6-9ed6-b96ee22ae9a8: chunkNumber:49/49
[DEBUG]:http-bio-8080-exec-38:20180607.144911:org.linagora.linshare.auth.sso.PreAuthenticationHeader:doFilter:Checking secure context token: org.springframework.security.authentication.UsernamePasswordAuthenticationToken@d63f8b07: Principal: org.springframework.security.core.userdetails.User@ffd41a3a: Username: e80f3ec2-d8d7-4a0e-a08a-55035300f387; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; credentialsNonExpired: true; AccountNonLocked: true; Granted Authorities: ROLE_ADMIN,ROLE_AUTH,ROLE_INTERNAL,ROLE_UPLOAD,ROLE_USER; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@2eb76: RemoteIpAddress: 127.0.0.1; SessionId: 532F58E1C09FBE3A4B93E675427C119E; Granted Authorities: ROLE_ADMIN, ROLE_AUTH, ROLE_INTERNAL, ROLE_UPLOAD, ROLE_USER
[DEBUG]:http-bio-8080-exec-38:20180607.144911:org.linagora.linshare.webservice.interceptor.TimingInInterceptor:handleMessage:GET:/linshare/webservice/rest/user/v2/quota/e3956f53-b3c8-4c02-b8ad-69a3aa5b4596 ...
[DEBUG]:http-bio-8080-exec-38:20180607.144911:org.linagora.linshare.core.facade.webservice.user.impl.AccountQuotaFacadeImpl:getAuthentication:Authentication with principal : e80f3ec2-d8d7-4a0e-a08a-55035300f387
[DEBUG]:http-bio-8080-exec-38:20180607.144911:org.linagora.linshare.core.facade.webservice.user.impl.AccountQuotaFacadeImpl:getAuthentication:Authenticated user : XXXXXXXX YYYYYYYYY
[INFO]:http-bio-8080-exec-38:20180607.144911:org.linagora.linshare.webservice.interceptor.TimingOutInterceptor:handleMessage:GET:/linshare/webservice/rest/user/v2/quota/e3956f53-b3c8-4c02-b8ad-69a3aa5b4596 : Request time: 6 ms
[DEBUG]:http-bio-8080-exec-39:20180607.144911:org.linagora.linshare.auth.sso.PreAuthenticationHeader:doFilter:Checking secure context token: org.springframework.security.authentication.UsernamePasswordAuthenticationToken@d63f8b07: Principal: org.springframework.security.core.userdetails.User@ffd41a3a: Username: e80f3ec2-d8d7-4a0e-a08a-55035300f387; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; credentialsNonExpired: true; AccountNonLocked: true; Granted Authorities: ROLE_ADMIN,ROLE_AUTH,ROLE_INTERNAL,ROLE_UPLOAD,ROLE_USER; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@2eb76: RemoteIpAddress: 127.0.0.1; SessionId: 532F58E1C09FBE3A4B93E675427C119E; Granted Authorities: ROLE_ADMIN, ROLE_AUTH, ROLE_INTERNAL, ROLE_UPLOAD, ROLE_USER
[DEBUG]:http-bio-8080-exec-39:20180607.144911:org.linagora.linshare.webservice.interceptor.TimingInInterceptor:handleMessage:GET:/linshare/webservice/rest/user/v2/flow.json ...
[DEBUG]:http-bio-8080-exec-39:20180607.144911:org.linagora.linshare.core.facade.webservice.user.impl.AccountQuotaFacadeImpl:getAuthentication:Authentication with principal : e80f3ec2-d8d7-4a0e-a08a-55035300f387
[DEBUG]:http-bio-8080-exec-39:20180607.144911:org.linagora.linshare.core.facade.webservice.user.impl.AccountQuotaFacadeImpl:getAuthentication:Authenticated user : XXXXXXXX YYYYYYYYY
[INFO]:http-bio-8080-exec-39:20180607.144911:org.linagora.linshare.webservice.userv2.FlowDocumentUploaderRestService:testChunk:GET: .../webservice/rest/user/v2/flow.json:71fab3c1-3897-4da6-9ed6-b96ee22ae9a8: chunkNumber:1/49
[DEBUG]:http-bio-8080-exec-43:20180607.144911:org.linagora.linshare.auth.sso.PreAuthenticationHeader:doFilter:Checking secure context token: org.springframework.security.authentication.UsernamePasswordAuthenticationToken@d63f8b07: Principal: org.springframework.security.core.userdetails.User@ffd41a3a: Username: e80f3ec2-d8d7-4a0e-a08a-55035300f387; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; credentialsNonExpired: true; AccountNonLocked: true; Granted Authorities: ROLE_ADMIN,ROLE_AUTH,ROLE_INTERNAL,ROLE_UPLOAD,ROLE_USER; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@2eb76: RemoteIpAddress: 127.0.0.1; SessionId: 532F58E1C09FBE3A4B93E675427C119E; Granted Authorities: ROLE_ADMIN, ROLE_AUTH, ROLE_INTERNAL, ROLE_UPLOAD, ROLE_USER
[DEBUG]:http-bio-8080-exec-43:20180607.144911:org.linagora.linshare.webservice.interceptor.TimingInInterceptor:handleMessage:GET:/linshare/webservice/rest/user/v2/flow.json ...
[DEBUG]:http-bio-8080-exec-43:20180607.144911:org.linagora.linshare.core.facade.webservice.user.impl.AccountQuotaFacadeImpl:getAuthentication:Authentication with principal : e80f3ec2-d8d7-4a0e-a08a-55035300f387
[DEBUG]:http-bio-8080-exec-43:20180607.144911:org.linagora.linshare.core.facade.webservice.user.impl.AccountQuotaFacadeImpl:getAuthentication:Authenticated user : XXXXXXXX YYYYYYYYY
[DEBUG]:http-bio-8080-exec-36:20180607.144911:org.linagora.linshare.auth.sso.PreAuthenticationHeader:doFilter:Checking secure context token: org.springframework.security.authentication.UsernamePasswordAuthenticationToken@d63f8b07: Principal: org.springframework.security.core.userdetails.User@ffd41a3a: Username: e80f3ec2-d8d7-4a0e-a08a-55035300f387; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; credentialsNonExpired: true; AccountNonLocked: true; Granted Authorities: ROLE_ADMIN,ROLE_AUTH,ROLE_INTERNAL,ROLE_UPLOAD,ROLE_USER; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@2eb76: RemoteIpAddress: 127.0.0.1; SessionId: 532F58E1C09FBE3A4B93E675427C119E; Granted Authorities: ROLE_ADMIN, ROLE_AUTH, ROLE_INTERNAL, ROLE_UPLOAD, ROLE_USER
[DEBUG]:http-bio-8080-exec-36:20180607.144911:org.linagora.linshare.webservice.interceptor.TimingInInterceptor:handleMessage:GET:/linshare/webservice/rest/user/v2/flow.json ...
[DEBUG]:http-bio-8080-exec-36:20180607.144911:org.linagora.linshare.core.facade.webservice.user.impl.AccountQuotaFacadeImpl:getAuthentication:Authentication with principal : e80f3ec2-d8d7-4a0e-a08a-55035300f387
[DEBUG]:http-bio-8080-exec-36:20180607.144911:org.linagora.linshare.core.facade.webservice.user.impl.AccountQuotaFacadeImpl:getAuthentication:Authenticated user : XXXXXXXX YYYYYYYYY
[DEBUG]:http-bio-8080-exec-42:20180607.144911:org.linagora.linshare.auth.sso.PreAuthenticationHeader:doFilter:Checking secure context token: org.springframework.security.authentication.UsernamePasswordAuthenticationToken@d63f8b07: Principal: org.springframework.security.core.userdetails.User@ffd41a3a: Username: e80f3ec2-d8d7-4a0e-a08a-55035300f387; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; credentialsNonExpired: true; AccountNonLocked: true; Granted Authorities: ROLE_ADMIN,ROLE_AUTH,ROLE_INTERNAL,ROLE_UPLOAD,ROLE_USER; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@2eb76: RemoteIpAddress: 127.0.0.1; SessionId: 532F58E1C09FBE3A4B93E675427C119E; Granted Authorities: ROLE_ADMIN, ROLE_AUTH, ROLE_INTERNAL, ROLE_UPLOAD, ROLE_USER
[DEBUG]:http-bio-8080-exec-42:20180607.144911:org.linagora.linshare.webservice.interceptor.TimingInInterceptor:handleMessage:GET:/linshare/webservice/rest/user/v2/flow.json ...
[DEBUG]:http-bio-8080-exec-42:20180607.144911:org.linagora.linshare.core.facade.webservice.user.impl.AccountQuotaFacadeImpl:getAuthentication:Authentication with principal : e80f3ec2-d8d7-4a0e-a08a-55035300f387
[DEBUG]:http-bio-8080-exec-42:20180607.144911:org.linagora.linshare.core.facade.webservice.user.impl.AccountQuotaFacadeImpl:getAuthentication:Authenticated user : XXXXXXXX YYYYYYYYY
[DEBUG]:http-bio-8080-exec-19:20180607.144912:org.linagora.linshare.auth.sso.PreAuthenticationHeader:doFilter:Checking secure context token: org.springframework.security.authentication.UsernamePasswordAuthenticationToken@d63f8b07: Principal: org.springframework.security.core.userdetails.User@ffd41a3a: Username: e80f3ec2-d8d7-4a0e-a08a-55035300f387; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; credentialsNonExpired: true; AccountNonLocked: true; Granted Authorities: ROLE_ADMIN,ROLE_AUTH,ROLE_INTERNAL,ROLE_UPLOAD,ROLE_USER; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@2eb76: RemoteIpAddress: 127.0.0.1; SessionId: 532F58E1C09FBE3A4B93E675427C119E; Granted Authorities: ROLE_ADMIN, ROLE_AUTH, ROLE_INTERNAL, ROLE_UPLOAD, ROLE_USER
[DEBUG]:http-bio-8080-exec-19:20180607.144912:org.linagora.linshare.webservice.interceptor.TimingInInterceptor:handleMessage:GET:/linshare/webservice/rest/user/v2/flow.json ...

En espérant que ca vous aide.

RE: taille max fichiers - Added by Mat Demb 5 months ago

Nouvelles fraiches:
j'ai fait une nouvelle installation au propre pour voir si le problème y serait présent et cette installation la fonctionne correctement, je n'ai pas la bizarrerie avec des gros fichiers.
J'ai comparé les fichiers de conf liés à Linshare entre les deux installations mais je n'ai rien trouvé pouvant expliquer mon problème.
Les versions des applications et OS sont également identiques.
Quelque chose doit m'échapper...
en pièce jointe une vidéo montrant le phénomène dans l'UI utilisateur

RE: taille max fichiers - Added by regis matha 5 months ago

bonjour,
pour info, nous avions aussi ce soucis... et en fouillant on a vu que la RAM était sous dimensionnée....
dès que la RAM + SWAP étaient saturées, plantage des services et par conséquent du transfert.

RE: taille max fichiers - Added by Mat Demb 5 months ago

Bonjour,
pour ma part la machine qui fonctionne est à 3Go de RAM, celle qui a un problème 4Go.
Je l'ai passé à 6Go, sans changement.

[root@linshare ~]# free -hm
total used free shared buff/cache available
Mem: 5,7G 1,7G 3,2G 19M 749M 3,7G
Swap: 1,0G 0B 1,0G

RE: taille max fichiers - Added by regis matha 5 months ago

Attention, la RAM utilisé augmente beacoup lors de gros transfert...
Perso on avait 2Go + 2Go de SWAP... et on plantait à 2-3Go

RE: taille max fichiers - Added by Mat Demb 5 months ago

dans mon cas, la RAM n'a pas le temps d'augmenter, le transfert se réinitialise au bout de quelques secondes seulement.
Dans le cas ou le transfert se passe bien, je vois bien une augmentation de la RAM consommée, mais pas quand ca boucle.

RE: taille max fichiers - Added by Mat Demb 5 months ago

Finalement le problème était causé par le reverse proxy par lequel on passe qui bloquait les transferts (chunk dans mon cas) de plus de 50Mo.
A savoir, chaque fichier est découpé en 49 morceaux jusqu'à atteindre des morceaux de 100Mo ensuite, le système augmente le nombre de morceaux.

(1-9/9)