Aller au contenu
CIVILMANIA

philkakou

Membres
  • Contenus

    252
  • Inscription

  • En ligne

  • Victoires

    12
  • Pays

    France

philkakou TOP membre le 4 mars !

philkakou avait les contributions les plus appréciées !

Points de Réputation

88

À propos de philkakou

  • Rang
    Membre génial

Général

  • Nom
    Phil
  • Pays
    France
  • Ville
    france

Expériences

  • Poste actuel
    Directeur services techniques communaux
  • Expérience
    Confirmé
  • Mes logiciels
    autocad

Formation

  • Formation
    INGENIEUR

Contact

  • E-mail
    philkakou@free.fr

Visiteurs récents du profil

Le bloc de visiteurs récents est désactivé et il n’est pas visible pour les autres utilisateurs.

  1. La remarque précédente est pertinente. Je m'en doutais un peu car les 9 coefficients représentent les coefficients d'un polynôme. La courbe de mu alpha qui reste néanmoins une courbe d'ordre 2 présente une singularité au sommet avec discontinuité alors que l'hypothèse de départ pour tchebychev est une fonction continue sur l'intervalle [-1,1] que l'on gère par translation et homothétie sur un intervalle [a,b] Reste à savoir comment se comporte la courbe de Tau.... Donc selon la courbe à traiter, la méthode de calcul des aires ou de la valeur moyenne du coef qui en découle, sera différente.
  2. J'ai fait quelques recherches pour trouver ces fameuses 9 abscisses sur l'intervalle réduit [-1,1] concernant la quadrature de Tchebychev Effectivement, pour calculer l'intégrale d'une fonction f(x), on ne peut dépasser 9 pour n restant dans le corps R sinon n appartient à C. 0 +/- 0.1679061842 +/- 0.1679061842 +/- 0.5287617831 +/- 0.6010186554 +/- 0.9115893077 Pour l'exemple précédent : Calcul intégrale fonction sur intervalle [-2,10] longueur L=12 Valeur exacte selon calcul intégral : 1 296 Abscisse xi = (a+b)/2 + (b-a).Tcheb/2 = 4 + 6.Tcheb Ordonnée yi = f(xi) = 3.xi² + 5.xi + 4 Degré polynome Tchebychev quadrature n : 9 Coef Tchebychev 1 = -0,9115893077 : Abscisse x 1 : -1,4695 -> y = 3,1309 cumul c = 3,1309 Coef Tchebychev 2 = -0,6010186554 : Abscisse x 2 : 0,3939 -> y = 6,4349 cumul c = 9,5658 Coef Tchebychev 3 = -0,5287617831 : Abscisse x 3 : 0,8274 -> y = 10,1911 cumul c = 19,7569 Coef Tchebychev 4 = -0,1679061842 : Abscisse x 4 : 2,9926 -> y = 45,8291 cumul c = 65,5860 Coef Tchebychev 5 = 0,0000000000 : Abscisse x 5 : 4,0000 -> y = 72,0000 cumul c = 137,5860 Coef Tchebychev 6 = 0,1679061842 : Abscisse x 6 : 5,0074 -> y = 104,2605 cumul c = 241,8465 Coef Tchebychev 7 = 0,5287617831 : Abscisse x 7 : 7,1726 -> y = 194,2002 cumul c = 436,0466 Coef Tchebychev 8 = 0,6010186554 : Abscisse x 8 : 7,6061 -> y = 215,5894 cumul c = 651,6360 Coef Tchebychev 9 = 0,9115893077 : Abscisse x 9 : 9,4695 -> y = 320,3640 cumul c = 972,0000 ====> Aire = Cumul x (L/9) = 1296,00000000331 écart de 3,30768534784198E-9 voici le code de la procédure de calcul function f(x:extended):extended; begin Result:=3*x*x+5*x+4; end; procedure TForm1.Button1Click(Sender: TObject); const a=-2;b=10; juste=1296; Tcheb:array[1..9] of double = (-0.9115893077,-0.6010186554,-0.5287617831,-0.1679061842,0, +0.1679061842,+0.5287617831,+0.6010186554,+0.9115893077); var L,c,pas,s,x,t1,t2:extended; n:word; begin with m.Lines do begin clear; L:=b-a; pas:=L/9; c:=0; t1:=(a+b)/2; t2:=(b-a)/2; Add('Calcul intégrale fonction sur intervalle [-2,10] longueur L=12'); Add('Valeur exacte selon calcul intégral : 1 296'); Add('Abscisse xi = (a+b)/2 + (b-a).Tcheb/2 = '+t1.ToString+' + '+t2.ToString+'.Tcheb'); Add('Ordonnée yi = f(xi) = 3.xi² + 5.xi + 4'); Add('Degré polynome Tchebychev quadrature n : 9'); for var K := 1 to 9 do begin x:=t1+t2*Tcheb[K]; c:=C+f(x); Add(Format('Coef Tchebychev %2d = %13.10f : Abscisse x%2d : %8.4f -> y = %8.4f cumul c = %8.4f',[k,Tcheb[k],k,x,f(x),c])); end; c:=c*pas; Add('====> Aire = Cumul x (L/9) = '+c.ToString+' écart de '+(c-juste).tostring); end; // with m end; Je modifierai ce week-end si personne passe à la maison, le code de mon application car effectivement, le temps de calcul s'en trouve notablement réduit. Merci.
  3. Bonjour @bellamine Je pensais qu'il s'agissait d'une méthode pour encadrer une courbe par un polynome équivalent. J'ai fait le test en prenant une fonction polynôme de degré 2 Fonction f : x-->y / y = a.x²+b.x+c = 3.x² + 5.x + 4 sur SEGMENT [a,b]: Origine deb = -2 - extrémité fin = 10 - Longueur : 12 Calcul Aire sous la courbe : méthode rigoureuse par calcul intégral ===> 1296 Avec la méthode approchée des trapèzes ou ici des rectangles : Segment décomposé en 250 intervalles de 0,048m ====> 1296,013824 écart de 0,0138239999999998 Segment décomposé en 500 intervalles de 0,024m ====> 1296,003456 écart de 0,0034559999999999 Segment décomposé en 750 intervalles de 0,016m ====> 1296,001536 écart de 0,00153599999999954 Segment décomposé en 1000 intervalles de 0,012m ====> 1296,000864 écart de 0,000864000000000531 Segment décomposé en 1250 intervalles de 0,0096m ====> 1296,00055296 écart de 0,000552959999999381 Segment décomposé en 1500 intervalles de 0,008m ====> 1296,000384 écart de 0,00038399999999883 Segment décomposé en 2000 intervalles de 0,006m ====> 1296,000216 écart de 0,000216000000000549 Avec 250 intervalles, la précision est correcte. Ci-dessous l'algorithme principal e:=0; REPEAT e:=e+250; pas:=L/e; Add('Segment décomposé en '+e.ToString+' intervalles de '+Pas.ToString+'m'); c:=0; for k := 0 to e do begin x:=a+k*pas; if (K=0) OR (K=e) then C:=C+f(x)*pas/2 else C:=C+f(x)*pas; end; Add('====> '+c.ToString+' écart de '+(c-juste).tostring); UNTIL e>=2000; Maintenant je passe à la méthode du polynôme de degré n+1 de tchebycheb (a+b)/2 = 4,0000 et (b-a)/2 = 6,0000 Abscisse xi = (a+b)/2 + (b-a).si/2 et si = cos[(2i+1)Pi/(2n+2)] avec i=0,1,...,n Degré n : 10 Abscisse x 0 : 9,9389 (s 0= 0,9898) y = 350,0416 Abscisse x 1 : 9,4578 (s 1= 0,9096) y = 319,6384 Abscisse x 2 : 8,5345 (s 2= 0,7557) y = 265,1854 Abscisse x 3 : 7,2438 (s 3= 0,5406) y = 197,6391 Abscisse x 4 : 5,6904 (s 4= 0,2817) y = 129,5938 Abscisse x 5 : 4,0000 (s 5= 0,0000) y = 72,0000 Abscisse x 6 : 2,3096 (s 6= -0,2817) y = 31,5508 Abscisse x 7 : 0,7562 (s 7= -0,5406) y = 9,4961 Abscisse x 8 : -0,5345 (s 8= -0,7557) y = 2,1846 Abscisse x 9 : -1,4578 (s 9= -0,9096) y = 3,0865 Abscisse x10 : -1,9389 (s10= -0,9898) y = 5,5837 ====> 1663,2 écart de 367,2 L'écart est trop important : Il faut un polynôme ayant un degré plus important Je prend un degré n de 160 Abscisse x 0 : 9,9997 (s 0= 1,0000) y = 353,9814 Abscisse x 1 : 9,9974 (s 1= 0,9996) y = 353,8330 Abscisse x 2 : 9,9929 (s 2= 0,9988) y = 353,5362 Abscisse x 3 : 9,9860 (s 3= 0,9977) y = 353,0914 Abscisse x 4 : 9,9769 (s 4= 0,9961) y = 352,4991 --- je passe sur les calculs intermédiaires Abscisse x154 : -1,9518 (s154= -0,9920) y = 5,6696 Abscisse x155 : -1,9655 (s155= -0,9942) y = 5,7619 Abscisse x156 : -1,9769 (s156= -0,9961) y = 5,8398 Abscisse x157 : -1,9860 (s157= -0,9977) y = 5,9027 Abscisse x158 : -1,9929 (s158= -0,9988) y = 5,9502 Abscisse x159 : -1,9974 (s159= -0,9996) y = 5,9820 Abscisse x160 : -1,9997 (s160= -1,0000) y = 5,9980 ====> 1521,45 écart de 225,45 ci-dessous algorithme c:=0; n:=200; Repeat c:=0;pas:=L/n; Add('Abscisse xi = (a+b)/2 + (b-a).si/2 et si = cos[(2i+1)Pi/(2n+2)] avec i=0,1,...,n'); Add('Degré n : '+n.ToString); for K := 0 to n do begin s:=cos((2*k+1)*pi()/2/(n+1)); x:=t1+t2*s; Add(Format('Abscisse x%2d : %8.4f (s%2d=%8.4f) y = %8.4f',[k,x,k,s,f(x)])); c:=C+f(x)*pas; end; Add('====> '+c.ToString+' écart de '+(c-juste).tostring); n:=n+10; Until n>250; Sauf erreur de ma part, le nombre de calculs reste relativement élevé pour se rapprocher de la valeur réelle. Degré n : 250 ====> 1518,048 écart de 222,048 En fait, la méthode de Tchebycheb est un moyen d'obtenir une meilleure approximation des fonctions par un polynôme. J'ai du mal à comprendre comment je peux réduire les calculs pour obtenir une précision supérieure ou équivalente. Pour calculer l'aire sous une courbe ou procéder à l'intégration numérique d'une fonction continue, j'ai appris et là, je reste plutôt sur la méthode des rectangles, des trapèzes ou la méthode de simpson plus précise mais en prenant une discrétisation de 1cm, les temps de calculs ne sont pas prohibitifs et largement précis.
  4. Bonjour Ce que j'ai codé correspond bien à l'interpolation de Sattler et diffère donc des valeurs que l'on trouve en général sur les fichiers récupérés sur internet (NdC, cours, exemples,etc) qui restent sur la formule générale de Massonnet. On est bon . Pourquoi pas entamer aussi cette démarche de justification que tu proposes... Cela me fera un excellent petit rappel mathématique qui me changera du quotidien. Effectivement, l'objectif est de faire comprendre. J'irai ainsi à ton rythme et mon programme évoluera au fil de l'eau. Pour la méthodologie des calculs : L'environnement de DELPHI permet de faire du code en 32 ou 64 bits. J'utilise pour représenter les valeurs réelles, le type extended qui type les valeurs à virgule flottante en haute précision. Par contre, sur les systèmes Win32, la taille d'une variable extended est de 10 octets mais seulement de 8 octets pour les systèmes Win64, ce qui peut conduire à certaines imprécisions. Tu avais évoqué ce problème pour les logiciels de calcul notamment pour vérifier l'égalité entre des valeurs numériques ....Un exemple de code: compilation en x64bits {$EXCESSPRECISION ON} V1:=1/power(5,3); --------------> 0.008 {$EXCESSPRECISION OFF} v2:=1/power(5,3); --------------> 0.00800000037997961 Différence 3.79979610276582E-10 --> inégalité entre V1 et V2 compilation en x32 bits V1 = V2 = 0.008 Si la vitesse d'exécution est la préoccupation principale, on marque le code avec la directive {$EXCESSPRECISION OFF} pour désactiver l'utilisation des valeurs intermédiaires en double précision. Sinon, la directive par défaut ({$EXCESSPRECISION ON}) est recommandée pour améliorer la précision de la valeur résultante. Pour un CPU cible x86, (codage en x32) la directive $EXCESSPRECISION n'a pas d'effet. Le code généré pour cette plate-forme utilise la FPU (unité à virgule flottante), qui stocke les résultats intermédiaires de tout type d'opération sous la forme de valeurs à virgule flottante en précision étendue (80 bits). ----- Voici mon code pour le calcul de K pour une charge répartie entre les abscisses de début XD et de fin XF avec la méthode pour vérifier l'égalité des valeurs au cas où l'utilisateur donne la même valeur pour XD et XF. Ensuite calcul classique selon méthode des trapèzes. Function KMAXREPARTIE(XD,XF,y:extended):extended; var X,LX,CumulK:extended; begin // on arrondit les valeurs saisies des bornes au millimètre près pour validation test X>XF XD:=SimpleROundTo(XD,-3); // millimetre = 0,001 = 10^-3 m XF:=SimpleRoundTo(XF,-3); if ABS(XF-XD)<0.0001 then KMAXREPARTIE:=CalculK(y,XD) // ZONE CONCENTREE EN 1 POINT else begin LX:=(XF-XD)*1000; // PLAGE CHARGEE EN MILLIMETRES CumulK:=0; X:=XD; REPEAT if (X=XD) OR (X=XF) then CumulK:=CumulK+CalculK(y,X)/2 else CumulK:=CumulK+CalculK(y,X); X:=X+0.001; UNTIL X>XF; KMAXREPARTIE:=CumulK/LX; end; end; Ensuite je décline... Function KMAXDEUXREPARTIES(XD1,XF1,XD2,XF2,y:extended):extended; Begin KMAXDEUXREPARTIES:=(KMAXREPARTIE(XD1,XF1,y)+KMAXREPARTIE(XD2,XF2,y))/2; End; Function K2IMPACTSROUES(y,X1,X2,ROUE:extended):extended; var delta:extended; Begin Delta:=Roue/2; K2IMPACTSROUES:=KMAXDEUXREPARTIES(X1-Delta,X1+Delta,X2-Delta,X2+Delta,y); End; Function K4IMPACTSROUES(y,X1,X2,X3,X4,ROUE:extended):extended; Begin K4IMPACTSROUES:=(K2IMPACTSROUES(y,X1,X2,Roue)+K2IMPACTSROUES(y,X3,X4,Roue))/2; End; Extrait pour le convoi Bc ---- case VOIES of 1 :BEGIN XRoue:=Floats[04,1]+0.25; K1.Floats[c,14]:=K2IMPACTSROUES(y,XRoue,XRoue+2,0.25); // Bc à gauche XRoue:=XM-1; K1.Floats[c,15]:=K2IMPACTSROUES(y,XRoue,XRoue+2,0.25); XRoue:=Floats[06,1]-0.25; K1.Floats[c,16]:=K2IMPACTSROUES(y,XRoue-2,XRoue,0.25); END; 2 :BEGIN XRoue:=Floats[04,1]+0.25; K1.Floats[c,14]:=K4ImpactsRoues(y,XRoue,XRoue+2,Xroue+2.5,XRoue+4.5,0.25); XRoue:=XM-2.25; K1.Floats[c,15]:=K4ImpactsRoues(y,XRoue,XRoue+2,XRoue+2.5,XRoue+4.5,0.25); XRoue:=FLoats[06,1]-0.25; K1.Floats[c,16]:=K4ImpactsRoues(y,XRoue-4.5,XRoue-2.5,XRoue-2.0,XRoue,0.25); END; 3 :BEGIN XRoue:=Floats[04,1]+0.25; K1.Floats[c,14]:=K6ImpactsRoues(y,XRoue,XRoue+2,Xroue+2.5,XRoue+4.5,XRoue+5,XRoue+7,0.25); XRoue:=XM-3.5; K1.Floats[c,15]:=K6ImpactsRoues(y,XRoue,XRoue+2,Xroue+2.5,XRoue+4.5,XRoue+5,XRoue+7,0.25); XRoue:=Floats[06,1]-0.25; K1.Floats[c,16]:=K6ImpactsRoues(y,XRoue-7,XRoue-5,Xroue-4.5,XRoue-2.5,XRoue-2,XRoue,0.25); END; 4: BEGIN XRoue:=Floats[04,1]+0.25; K1.Floats[c,14]:=K8ImpactsRoues(y,XRoue,XRoue+2,Xroue+2.5,XRoue+4.5,XRoue+5,XRoue+7,XRoue+7.5,XRoue+9.5,0.25); XRoue:=XM-4.75; K1.Floats[c,15]:=K8ImpactsRoues(y,XRoue,XRoue+2,Xroue+2.5,XRoue+4.5,XRoue+5,XRoue+7,XRoue+7.5,XRoue+9.5,0.25); XRoue:=Floats[06,1]-0.25; K1.Floats[c,16]:=K8ImpactsRoues(y,XRoue-9.5,XRoue-7.5,XRoue-7,XRoue-5,Xroue-4.5,XRoue-2.5,XRoue-2,XRoue,0.25); END; Else With K1 DO For i := 1 to ColCount-1 DO Floats[c,i]:=0; end; // Case ---- L'aide de DALCRT précise la méthode retenue pour positionner les différentes charges Si cela peut aider.. je n'ai pas déposé de brevet et rien n'est secret
  5. Je vais regarder ca pour le programmer mais j'aimerai plutôt avant de le faire, terminer avec le coefficient tau pour importer tau et mu dans l'autre programme dalcrt. Juste une remarque sur l'interpolation de sattler pour une fibre donnée. Cette interpolation parait il semble correspondre davantage aux valeurs réelles des coefficients. Quand theta <= 0.1 il y a une grosse différence très sensible avec l'interpolation "basique" qui tient compte seulement de racine (alpha) K= K0+(K1-K0)*racine(alpha) Exemple fibre +b : theta =0.1 K0=-1.99889 K1= 0,95265 Alpha=0.1 K=0.63167279 (sattler) pour K=-1.06553 (racine) Quand alpha varie de 0 à 1, la courbe monte presque verticalement autour de 0 pour se stabiliser très rapidement avec une légère pente proche de la valeur atteinte pour alpha = 1. Voir avec le tableau pour faire varier alpha au voisinage de alpha = 0. les valeurs obtenues changent radicalement ! Par contre quand on prend un theta qui s'éloigne de 0,1 et qui se rapproche de 1, la différence s'estompe nettement theta = 0.8 K0=-0.2094 K1 = 0.11772 alpha=0.1 K=-0.13945951 (sattler) pour K=-0.10596 alpha= 0.5 K=-0.00379982 (sattler) pour K=0.02191
  6. Bonjour, J'ai modifié mon utilitaire pour rajouter dans les graphiques, les mentions des valeurs de e où la courbe franchit l'axe des abscisses cad où le coefficient vaut zero. Par contre, je n'ai pas modifié le tableau pour rajouter les colonnes car il me parait préférable d'utiliser à terme mon programme DalCrt qui donne la possibilité de calculer les coef. pour des plages de zones sollicitées. J'en ai profité pour rajouter le calcul de tau, mais la formule figurant dans les annales de l'ITBTP n'est pas correcte donc en choisissant tau, j'ai bloqué le calcul des valeurs à 0 en attendant la bonne formule. Une fois cette formule exacte en ma possession, j'intégrerai tout cela dans mon programme DALCRT pour faire apparaitre les calculs de Mu1,mu3 et mu5 et tau en sus des calculs de K alpha. J'attends la formule de tau pour mettre l'utilitaire modifié à disposition dans la rubrique telechargement pour qu'il soit complet. En pièce jointe, un exemple de la sortie graphique. Graphe.pdf
  7. Effectivement, j'avais cette formule générale de J (écrite différemment) dans le bouquin Poutres - mécanique des structures tome II page 94 de serge LAROZE éditions CEPADUES L'explication donnée est intéressante car elle permet d'apprécier la bonne corrélation de la formule de Sâada pour le calcul du coefficient alpha Le coefficient alpha de Sâada fait ainsi abstraction du développement de la série 1/n^5 qui converge vers 0.00452376279513962. (et non 4,253763.10^-3 inversion 5 avec 2) L'erreur commise est ainsi très faible < 0.5% ... Autre question : Pour mu : l'interpolation pour alpha comprise entre 0 et 1 est celle de Sattler (vu pour Kalpha) ou simplement mu(alpha) = mu0 + (mu1-mu0) racine(alpha) ? Reste à attaquer le coefficient Tau pour le moment de torsion
  8. Pour la torsion, on parle également d'analogie hydraulique où les contraintes de torsion seraient équivalentes en grandeur à la vitesse de l'eau piégée à l'intérieur de la surface et soumise à un effet de remous. Ce qui importe donc est le contour qui favorise ou non la "vitesse d'écoulement" du remous ou du phénomène de torsion. Cette comparaison apporte une explication qui permet de différencier le comportement des pièces élancées des pièces massives, indépendamment à mon avis du repère... Il serait judicieux que d'autres lecteurs interviennent et partagent leur opinion à ce sujet car je ne suis pas très calé en torsion. Dans ce domaine, je ne préfère pas faire de remous... je me contorsionne
  9. Il semblerait que cette correction permette de tenir compte de l'analogie de la membrane 'méthode de Prandtl' à savoir que le moment de torsion correspond au double du volume délimité par la membrane. Pour les profils ouverts type barres rectangulaires, la constante de torsion équivaut à la somme des constantes de torsion respectives des barres. formule bh^3/3 * k avec k dépendant du rapport b/h. Cette formule (simple) sous estime en général l'inertie de torsion. Donc pour se rapprocher de la réalité, on tient compte du surplus de matière aux raccords de barres (congés ou talon). Le SETRA a donc considéré que pour l'âme des poutres et la nervure des entretoises, K doit être calculé avec une hauteur double de la hauteur réelle. INTRODUCTION A LA MECANIQUE DES SOLIDES ET DES STRUCTURES (page 64 cf google) L'avantage de l'analogie de la membrane réside dans le fait que les résultats établis pour des sections rectangulaires minces demeurent applicables pour des sections différentes. Pour des sections métalliques de profil U ou I, la hauteur (âme+2 1/2 aile) est remplacée par la longueur moyenne du profil,
  10. Merci beaucoup pour le recalcul des formules. Mise à jour de la table des coefficients dans la section téléchargement en version 1.d
  11. Vu l'inclinaison des parois 31°, la poussée active des terres du talus de déblai sera vraiment minime si l'on considère un angle phi du talus naturel de 35°. Le béton ne sera pas très sollicité et le ferraillage minimal sera largement suffisant à mon humble avis.
  12. Je ne connais pas. J'avais testé la version d'évaluation de Cype3D module cadre pour la vérification d'un passage d'un convoi exceptionnel et le programme était excellent. Par contre, j'avais du bosser la nuit pour bénéficier de la gratuité de toutes les fonctionnalités mais sans vouloir faire de pub, c'est un produit ayant une bonne ergonomie. On peut ensuite tout dessiner
  13. J'ai actualisé dans la section telechargement mon utilitaire du calcul de K et mu avec les courbes graphiques correspondantes. Merci pour les infos / harmoniques m
  14. Bonjour, parfait pour la formule de mu1. Par contre il manque juste les indications numériques de N1 et N2 pour coder la formule pour M1 et M2. A moins que N1 et N2 soient identiques aux valeurs N1 et N2 du calcul de K1 ..... Je vais tester pour rajouter mu1 dans mon petit programme en attendant mu0. Pour bien comprendre : on a obtenu theta par les formules précédentes.... Si on prend m=1 alors theta1 vaut theta. Si on prend m=3 alors theta=3 x theta3 ce qui implique que theta3 = theta/3 et c'est donc ce theta3 que l'on injecte dans les formules pour calculer mu1 pour m=3 Pour l'inertie de torsion, le document PRAD répond à la question de la sélection du double de la hauteur de l'âme. Sacré travail pour retrouver la formule et la mettre en forme pour l'exprimer en fonction K1 et du coef de poisson EDITION : Formule mu1 OK avec N1 et N2 de K1 - je valide de mon coté l'usage de la formule pour le calcul de mu1 pour Theta 0.2 poisson 0.15 et alpha 1
  15. Compliqué.... Je ne pense pas car le calcul de l'inertie de torsion (constante de torsion de Saint Venant) fait appel à l'intégration surfacique des fonctions de gauchissement de torsion. elles mêmes dépendant d'une intégrale curviligne de contour. et puis.... mes cours de maths et les MEF sont assez loin dans ma mémoire . IL faudrait que je m'y replonge pour huiler toute la mécanique de mon cerveau....
×
×
  • Créer...