L'API 'variant.getExternalNativeBuildTasks ()' est obsolète et a été remplacée par 'variant.getExternalNativeBuildProviders ()


337

Utilisation d'Android Studio 3.3 Canary 11 avec la version du plugin gradle 3.3.0-alpha11. Il génère l'erreur suivante lors de la tentative de synchronisation de gradle

WARNING: API 'variant.getExternalNativeBuildTasks()' is obsolete and has been 
replaced with 'variant.getExternalNativeBuildProviders()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration- 
avoidance
Affected Modules: app

Cliquer sur l'erreur m'amène à cette ligne dans le fichier gradle

applicationVariants.all { variant ->
            variant.outputs.all {
                outputFileName = "${variant.name}-${variant.versionName}.apk"
            }
        }

Que dois-je changer exactement ici?

projet build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
        mavenCentral() // jcenter() works as well because it pulls from Maven Central
        maven { url "https://maven.google.com" }
        google()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.0-alpha11'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
        classpath "io.realm:realm-gradle-plugin:4.1.1"
        classpath 'com.google.gms:google-services:3.2.1'
        classpath 'com.google.firebase:firebase-plugins:1.1.5'
    }
}

allprojects {
    repositories {
        jcenter()
        maven { url "https://maven.google.com" }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

// Define versions in a single place
ext {
    // Sdk and tools
    minSdkVersion = 21
    targetSdkVersion = 27
    compileSdkVersion = 27
    buildToolsVersion = '27.0.3'

    // App dependencies
    supportLibraryVersion = '27.1.1'
    appCompactLibraryVersion = '27.1.1'
    playServicesVersion = '15.0.1'
    firebaseVersionCore = '16.0.1'
    firebaseVersionPerf = '16.0.0'
    firebaseVersionMessaging = '17.1.0'

    //lottie
    lottieVersion = '2.5.0'
}

app build.gradle

buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.25.4'
    }
    buildscript {
        repositories {
            maven { url "https://maven.google.com" }
            maven { url 'https://maven.fabric.io/public' }
            mavenCentral()

        }

        dependencies {
            // These docs use an open ended version so that our plugin
            // can be updated quickly in response to Android tooling updates

            // We recommend changing it to the latest version from our changelog:
            // https://docs.fabric.io/android/changelog.html#fabric-gradle-plugin
            classpath 'io.fabric.tools:gradle:'
        }
    }
}
apply plugin: 'com.android.application'
apply plugin: 'com.google.firebase.firebase-perf'
repositories {
    maven { url 'https://maven.fabric.io/public' }
}

apply plugin: 'io.fabric'
apply plugin: 'realm-android'

android {

    realm {
        syncEnabled = false
    }

    dexOptions {
        javaMaxHeapSize "4g"
    }

    compileSdkVersion rootProject.ext.compileSdkVersion

    defaultConfig {
        applicationId "example.com"
        minSdkVersion rootProject.ext.minSdkVersion
        multiDexEnabled true
        versionCode mVersionCode
        versionName mVersionName
        vectorDrawables.useSupportLibrary = true

    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    buildTypes {

        applicationVariants.all { variant ->
            variant.outputs.all {
                outputFileName = "${variant.name}-${variant.versionName}.apk"
            }
        }

        release {
            shrinkResources true
            minifyEnabled true
            useProguard true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

            lintOptions {
                disable 'MissingTranslation'
            }

            applicationVariants.all { variant ->
                variant.outputs.all {
                    outputFileName = "${variant.name}-${variant.versionName}.apk"
                }
            }

        }
        debug {
            shrinkResources true
            minifyEnabled true
            useProguard true
            debuggable true
            versionNameSuffix '-DEBUG'
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'debug-proguard-rules.pro'

            ext.enableCrashlytics = false
            crunchPngs false

        }
    }

    flavorDimensions "default"

    lintOptions {

        checkReleaseBuilds false

    }

    packagingOptions {
        exclude 'META-INF/DEPENDENCIES.txt'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/dependencies.txt'
        exclude 'META-INF/LGPL2.1'
    }
    buildToolsVersion '28.0.2'
}

configurations {
    implementation.exclude group: "org.apache.httpcomponents", module: "httpclient"
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')

    implementation "com.android.support:appcompat-v7:$rootProject.appCompactLibraryVersion"
    implementation "com.android.support:support-compat:$rootProject.supportLibraryVersion"
    implementation "com.android.support:mediarouter-v7:$rootProject.supportLibraryVersion"
    implementation "com.android.support:cardview-v7:$rootProject.supportLibraryVersion"
    implementation "com.android.support:design:$rootProject.supportLibraryVersion"


    api 'com.squareup.retrofit2:retrofit:2.4.0'
    api 'com.squareup.okhttp3:okhttp:3.11.0'
    api 'com.squareup.okhttp3:logging-interceptor:3.10.0'
    implementation 'com.google.code.gson:gson:2.8.2'
    implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
    implementation 'com.squareup.picasso:picasso:2.5.2'
    implementation 'com.squareup.retrofit2:adapter-rxjava:2.3.0'
    implementation 'com.android.support:multidex:1.0.3'
    implementation 'com.daimajia.easing:library:2.0@aar'
    implementation 'com.daimajia.androidanimations:library:2.3@aar'

    implementation 'com.akexorcist:googledirectionlibrary:1.0.5'
    implementation 'io.reactivex:rxandroid:1.2.1'
    implementation 'io.reactivex:rxjava:1.3.0'
    // Wifi hotspot library
    implementation 'cc.mvdan.accesspoint:library:0.2.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'org.jsoup:jsoup:1.10.3'
    api "com.airbnb.android:lottie:$rootProject.lottieVersion"
    implementation 'com.android.support:support-v4:27.1.1'
    implementation 'com.android.support:recyclerview-v7:27.1.1'
    testImplementation 'junit:junit:4.12'
    implementation 'com.jakewharton:butterknife:8.8.1'

    debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.5.4'
    releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.4'

    implementation 'com.googlecode.libphonenumber:libphonenumber:8.2.0'

    implementation "com.google.android.gms:play-services-base:$rootProject.playServicesVersion"
    implementation "com.google.android.gms:play-services-cast-framework:$rootProject.playServicesVersion"
    implementation "com.google.android.gms:play-services-auth:$rootProject.playServicesVersion"
    implementation "com.google.android.gms:play-services-identity:$rootProject.playServicesVersion"
    implementation "com.google.android.gms:play-services-awareness:$rootProject.playServicesVersion"
    implementation "com.google.android.gms:play-services-cast:$rootProject.playServicesVersion"
    implementation "com.google.android.gms:play-services-drive:$rootProject.playServicesVersion"
    implementation "com.google.android.gms:play-services-location:$rootProject.playServicesVersion"
    implementation "com.google.android.gms:play-services-maps:$rootProject.playServicesVersion"

    implementation "com.google.firebase:firebase-core:$rootProject.firebaseVersionCore"
    implementation "com.google.firebase:firebase-perf:$rootProject.firebaseVersionPerf"
    implementation "com.google.firebase:firebase-messaging:$rootProject.firebaseVersionMessaging"
    implementation "com.google.firebase:firebase-analytics:$rootProject.firebaseVersionCore"


    api('com.crashlytics.sdk.android:crashlytics:2.8.0@aar') {
        transitive = true
    }
    api('com.crashlytics.sdk.android:answers:1.4.1@aar') {
        transitive = true
    }
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
    api project(path: ':libraryBTHelper')
    api project(':bkk_rush')

    debugApi 'com.amitshekhar.android:debug-db:1.0.3'
    api "org.jdeferred:jdeferred-android-aar:1.2.6"
    implementation 'com.android.support:gridlayout-v7:27.1.1'
}

apply plugin: 'com.google.gms.google-services'

J'ai ignoré quelques constantes et autres informations sensibles dans le fichier app / build.gradle.


Pouvez-vous publier votre build.gradle (application)?
Skizo-ozᴉʞS

@ Skizo-ozᴉʞS a ajouté le fichier build.gradle du projet
Jude Fernandes


@alashow cela est lié à un problème différent, le message "API 'variant.getJavaCompile ()' est obsolète .."
Vadim Kotov

16
Le problème existe également avec la version stable
kp91

Réponses:


286

Le problème a été corrigé dans leur dernière version 'io.fabric.tools:gradle:1.30.0'

Veuillez mettre à jour vos deux outils Gradle Fabric avec la version 1.30.0

buildscript {
  // ... repositories, etc. ...

   dependencies {
       // ...other dependencies ...
       classpath 'io.fabric.tools:gradle:1.30.0'
   }
}

Pour plus de détails https://github.com/firebase/firebase-android-sdk/issues/198#issuecomment-473435453


Assurez-vous de le changer dans le build.gradle à la fois au niveau du projet et de l'application.
RJB

2
La version 1.28.0 a résolu mon problème, la version actuelle est la 1.29.0 docs.fabric.io/android/changelog.html#fabric-gradle-plugin
Alexander Hartmann


Je reçois toujours cet avertissement avec classpath 'io.fabric.tools:gradle:1.31.0'et implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'. Il est cassé à nouveau ou pas réparé dans tous les cas.
Gene S

Où avez-vous obtenu cette version Gradle des outils en tissu? Je ne trouve que 1.25.4 mvnrepository.com/artifact/io.fabric.tools/gradle
Lachlan Young

248

ÉDITER

Ce problème a été corrigé dans Fabric 1.28.0 . Dans votre build.gradleniveau de projet, ajoutez la ligne suivante:

classpath 'io.fabric.tools:gradle:1.28.1'

Réponse précédente

Cela se produit après la mise à jour d'Android Studio vers 3.3.0. apply plugin: 'io.fabric'est la cause. J'ai envoyé un rapport de bogue à l'équipe Firebase à propos de ce problème.

Vous avez 3 options:

  • Attendez la sortie de la prochaine version du plug-in Fabric. Vérifiez la dernière version ici .

  • Rétrograder vers Android Studio 3.2.1 .

  • Commentez le io.fabricplugin.

Dans build.gradlele module de votre application:

apply plugin: 'com.android.application'
// apply plugin: 'io.fabric' <== this plugin causes the error

Cependant, vous pouvez toujours générer et exécuter vos projets même si cette erreur apparaît. N'y faites pas attention.


2
Pourriez-vous établir un lien vers le rapport de bogue ou le problème que vous avez ouvert avec Firebase? J'adorerais le voter.
Yuval

8
Je dois utiliser le io.fabricplugin alors comment puis-je supprimer cet avertissement sans changer cela?
0xAliHn

16
C'est la cause, pas une solution viable
Daniel Wilson

1
Ils disent que vous pouvez l'utiliser jusqu'à la fin de l'année 2019. Pour l'instant, j'utilise, nous verrons ce qui se passe)
support_ms

4
Pourquoi rétrograder? Pas de sens! C'est juste un avertissement, il n'est pas encore supprimé et il peut construire votre projet (toute l'année 2019 ...). Je pense qu'ils vont le réparer cette année
user25

60

dans l'application build.gradle, rétrogradez vers cette version stable de gradle:

classpath 'com.android.tools.build:gradle:3.2.1'

Cela se produit après avoir mis à jour Android Studio en 3.3, solution temporaire jusqu'à ce qu'ils le corrigent!

modifier: vous n'avez pas besoin de rétrograder votre studio Android!


2
Ensuite, vous devez également rétrograder vers Android Studio 3.2.1. Merci quand même
Rubén Viguera

J'ai eu le même problème après la mise à niveau d'Android Studio (AS) vers la version 3.3. J'ai réussi à faire fonctionner la synchronisation Gradle en rétrogradant Gradle vers la version 4.6 et le plug-in Android Gradle vers la version 3.2.1, qui étaient les versions que j'utilisais avant la mise à jour AS. Consultez le tableau ici si vous ne savez pas comment modifier les versions de gradle et du plugin.
Rabie Jradi

6
Cela a fonctionné sans déclasser quoi que ce soit merci pour la suggestion
Sid

3
vous n'avez pas besoin de rétrograder votre studio Android @ RubénViguera
Amer Al Ziebak

1
Vous n'avez pas besoin de rétrograder autre chose que la version gradle comme mentionné dans la réponse. Ce devrait être la réponse acceptée.
MD Danish Ansari

16

MISE À JOUR À partir d'aujourd'hui, vous pouvez utiliser classpath 'io.fabric.tools:gradle:1.28.0'pour résoudre ce problème!

Si Crashlyticsle plug-in de mise io.fabricen commentaire du fichier Gradle de l'application a fonctionné temporairement pour vous

//apply plugin: 'io.fabric'

Ensuite, la mise à niveau de vos dépendances de gradle de tissu sur le fichier Gradle du projet résoudra définitivement le problème:

classpath 'io.fabric.tools:gradle:1.27.0'

NB: cela ne supprime pas les avertissements mais vous permet d'utiliser Crashlytics avec AS3.3 +


@RJB Utilisez-vous Crashlytics? Si vous le supprimez de votre projet, cela fonctionne? Si oui, cela devrait résoudre le problème. Cependant, vous pourriez toujours recevoir des avertissements, mais le projet se compilera et vous pouvez générer votre apk en toute sécurité
113408

Oui. Je veux dire que je reçois toujours l'avertissement.
RJB

l'op et d'autres (dont moi) ont eu ce problème et n'ont pas pu compiler le projet avec crashlyticsactivé. Donc, pour conserver Crashlytics et continuer à pousser, vous pouvez utiliser la mise à jour mentionnée ci-dessus même si elle déclenche toujours des "avertissements".
113408

13

Je ne sais pas quel est le problème réel, mais commentez les dépendances liées aux crashlytics du problème résolu par le projet.


11

C'est confirmé comme bug pour Crashlytics et ils y travaillent.

https://issuetracker.google.com/issues/116408637

Cité par l'assigné de Google:

je ... @ google.com # 23 23 janv.2019 01:40
Bonjour à tous,

Merci pour votre patience.

Il semble que le bug provienne dans tous les cas de crashlytics et j'ai déposé un bug avec eux.

Je vous tiendrai au courant de l'état.

Pour moi, mon application de débogage fonctionne bien sur mon appareil simplement en exécutant et en ignorant l'avertissement sans commenter Crashlytics ou Fabric. Je n'ai pas essayé de production.

Mettre à jour:

Google Issue Tracker avait marqué ces problèmes comme ne pouvant pas être résolus (irréalisables), car tous les problèmes provenaient de Crashlytics, et ont laissé les correctifs effectués par l'équipe de Crashlytics (bien qu'ils soient les mêmes Googler ...).

Ils suggèrent de suivre ce lien pour les mises à jour de Crashlytics:

https://github.com/firebase/firebase-android-sdk/issues/198

Remarque: J'utilise toujours Android Studio 3.3 avec io.fabric.tools:gradle:1.26.0 sans commenter Craslytics et cela fonctionne très bien sur mon application de débogage.

Mettre à jour:

Je peux maintenant confirmer que cela fonctionne bien sur mon application de version de production / version. Comment puis-je savoir que cela fonctionne? Parce qu'il m'a renvoyé un rapport de crash -_- '

Quoi qu'il en soit, ignorez simplement l'avertissement, ils devraient éventuellement le corriger.

Aww, il suffit de lire qu'il a été corrigé avec le tissu 1.28.0 :)


8

Dernières actualités du 24/01/2019

entrez la description de l'image ici

Infos ici https://issuetracker.google.com/issues/116408637

Nous devrons attendre jusqu'à ce que Crashlytics ait trouvé une solution, voici le problème GitHub ouvert

https://github.com/firebase/firebase-android-sdk/issues/198

La seule façon que j'utilise en ce moment pour ne pas commenter plugin io.fabric est de rétrograder mon gradle et de mettre à niveau mon chemin de classe de tissu (cela fonctionne sur mon application de production)

 dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
        classpath 'com.google.gms:google-services:4.2.0'
        classpath 'io.fabric.tools:gradle:1.27.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }

Que diriez - vous que nous venons d' ajouter -dontwarn com.crashlytics.android.Crashlyticsàproguard-rules.pro
Mustansir

1
Si vous supprimez l'avertissement en faisant que le problème est toujours là et que vous devrez éventuellement y revenir à nouveau
Gastón Saillén

Droite! C'est une solution temporaire pour obtenir la compilation compilée, mais c'est beaucoup mieux que tout rétrograder.
Mustansir

Oui, la rétrogradation entraînera un
dysfonctionnement

@Mustansir, je pense que c'est un problème lié à Gradle et n'a rien à voir avec Proguard.
WindRider


3

le problème-tracker pourrait se référer à "la configuration des tâches paresseuses" -

c'est du moins ce que l' évitement de la configuration des tâches suggère.

mais on peut éventuellement empêcher l'accès à cette méthode obsolète de BaseVariantImpl, quand variant.outputs.allne pourra pas accéder à cette méthode (en interne) - ou lorsque les contrôles peuvent empêcher l'accès; ou lors de l'accès à la variante par son nom; ou désactiver d'une manière ou d'une autre les tâches de génération natives externes pour la variante. voir également l' option de synchronisation de projet à variante unique , qui semble plutôt liée.

ou attendre des outils de compilation3.3.0-alpha12 ou 3.3.0-beta1... ce n'est même pas un release candidate, donc investir trop de temps peut être inutile - sauf à l'utiliser pour déposer un autre rapport de bogue.

le nouveau rétroaction rapidebouton de rétroaction rapide semble toujours le plus prometteur.


Oui, je suis d'accord, ce type d'erreur n'était pas présent dans les outils de build précédents. Le prochain RC peut le réparer
d4c0d312

7
il n'a pas été corrigé dans la version
Juan Diaz

developer.android.com/studio/releases/gradle-plugin#3-3-0 ... ajoutez android.debug.obsoleteApi=truepour voir d'où il vient. il y avait quelques méthodes renommées, avec en Providerannexe à leur nom.
Martin Zeitler

1
@SergeyNarozhnyy dans le projet gradle.properties
sigitbn

1
@SergeyNarozhnyy la 3.3.0version a cassé quelques choses, puisque la variante API avait changé. peut lier une discussion récente: stackoverflow.com/questions/54206898/… (y a ajouté un résumé comme réponse).
Martin Zeitler

3

Pour moi, j'ai suivi ces étapes: 1. mettez à niveau la dépendance Gradle au niveau du projet build.gradle.

        classpath 'io.fabric.tools:gradle:1.28.0'
  1. ajoutez cette dépendance de plugin ci-dessous appliquez le plugin: 'com.android.application' dans le niveau d'application build.gradle.

        apply plugin: 'io.fabric'
  2. Synchronisez le projet avec les fichiers Gradle.


2

Cela se produit en raison de la mise à jour de votre Android Studio d'Android Studio 3.2.0 vers Android Studio 3.3.0. Mettez à jour vos dépendances Gradle (projet) de IO.Fabric. Comme:

classpath 'io.fabric.tools:gradle:1.27.1'

et mettez également à jour votre version Kotlin vers

classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.20"

Cela résoudra ces problèmes. Merci


1
Merci. Votre réponse m'a aidé.
André Luiz Reis

@Sean Si vous utilisez Kotlin et io febric.then Cela fonctionne autrement pour rétrograder votre version de classpath.
Cela

L'ID de build Crashlytics est manquant. Cela se produit lorsque les outils Crashlytics sont absents de la configuration de construction de votre application
Vishal Patoliya ツ

1

Le journal de construction affiche comment déboguer cela, en particulier vous devez exécuter la construction avec -Pandroid.debug.obsoleteApi=true, qui imprimera la trace de la pile de l'appel à l'API obsolète et vous pourrez déterminer quel plugin / code l'appelle.

S'il finit par être votre code - utilisez la nouvelle API du fournisseur ( lisez le document de configuration des tâches paresseuses )

Si cela vient d'un autre plugin - signalez-leur avec stack-trace et un message d'avertissement et peut-être soumettez un patch. Comme dans ce cas, c'est lié au io.fabricproblème.


1

cela a été corrigé dans la dernière version du plugin Fabric gradle, 1.28.0, qui a été mise en ligne aujourd'hui. Ayez ceci dans votre build.gradle de niveau supérieur:

buildscript {
// ... repositories, etc. ...

dependencies {
    // ...other dependencies ...
    **classpath 'io.fabric.tools:gradle:1.28.0'**
}

0

Lorsque j'ai ouvert le projet, j'ai appuyé sur le Run migrationsbouton apparaissant dans le coin inférieur droit de Android Studio. Une migration a été effectuée et le problème a été résolu sans commenter la Crashlyticsdépendance.

entrez la description de l'image ici


0

Changer la compatibilité des sources dans le build.gradlefichier de module en Java 8 résout le problème

compileOptions {
    sourceCompatibility 1.8
    targetCompatibility 1.8
}

Assurez-vous de reconstruire le projet après avoir ajouté ces lignes


Au niveau supérieur build.gradleou au niveau du module (/ app)?
Meow Cat 2012

niveau du module (application)
jesses.co.tt

0

cela corrigera l'erreur: dans la barre des tâches, cliquez sur Outils-> Kotlin-> Configurer Kotlin dans le projet


0

Dans mon cas, je devais utiliser io.fabric plugin, et la solution était de mettre à jour la dernière version de Gradle Fabric Tools:

classpath 'com.android.tools.build:gradle:3.3.0'
classpath 'io.fabric.tools:gradle:1.27.0'

0

Pour ceux qui ont besoin de garder le plugin Fabric appliqué, la solution temporaire est de revenir à la version précédente du gradle au niveau du projet.

Modifiez la version du chemin de classe en com.android.tools.build:gradle:3.2.1.


0

C'était un problème avec la dernière version gradle(dans mon cas 3.3.2) et le Fabric.ioplugin. Il est maintenant résolu par la nouvelle version Les utilisateurs devraient avoir ceci dans leur niveau supérieur build.gradle:

buildscript {
   // ... repositories, etc. ...

    dependencies {
        // ...other dependencies ...
        classpath 'io.fabric.tools:gradle:1.28.0'
    }
}

0

Le correctif consiste à mettre à jour les fichiers gradle de génération racine vers les plus récents. Et cette réponse est vraie maintenant. dans fureture nouveau changement sera mis en œuvre par gradle et SDK Android. Parfois, la réponse variera en temps voulu.

repositories {
    maven { url "https://jitpack.io" }
    maven {
        url 'https://maven.fabric.io/public'
    }
    google()
    jcenter()

}
dependencies {

    classpath 'com.android.tools.build:gradle:3.5.0'
    classpath 'com.google.gms:google-services:4.3.0'
    classpath 'io.fabric.tools:gradle:1.30.0'
}

-7

tout d'abord ce n'est pas une erreur

c'est un avertissement

et son affichage lorsque la mise à jour gradle vers 3.3.0 se produit souvent parce que io.fabric alors attendez que la version actuelle du tissu de mise à jour où l'avertissement s'affiche toujours soit 'io.fabric.tools:gradle:1.27.1'

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.