from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, Page, WaitPage ) cu = c doc = "C'est le questionnaire en ligne qui servira comme test pour l'enquête au sein du projet IDES sur les mécanismes d'approbation" class Constants(BaseConstants): name_in_url = 'Questionnaire_Jemna' players_per_group = None num_rounds = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): Consentement = models.BooleanField(choices=[[True, 'Oui'], [False, 'Non']], label='J’ai lu et compris la notice d’information, dont j’ai obtenu la copie, et j’accepte volontairement de répondre au questionnaire ', widget=widgets.RadioSelect) Nom_palmeraie = models.StringField(choices=[['Blabla', 'Blabla'], ['Blabla2', 'Blabla2'], ['Blabla3', 'Blabla3'], ['Autre', 'Autre']], label='Quel est le nom de la palmeraie où se situe votre parcelle ?', widget=widgets.RadioSelect) Type_oasis = models.StringField(choices=[['Oasis traditionnel', 'Oasis traditionnel'], ['Extension', 'Extension'], ['Les deux', 'Les deux']], label="De quel type d'oasis s'agit-il ?", widget=widgets.RadioSelect) Membre_GDA = models.IntegerField(choices=[[1, 'Oui'], [0, 'Non']], label="Etes-vous membre d'un GDA ?", widget=widgets.RadioSelect) GDA_appartenance = models.StringField(blank=True, choices=[['GDA1', 'GDA1'], ['GDA2', 'GDA2'], ['Les_deux', 'Les deux']], label='Lequel ?', widget=widgets.RadioSelect) Annee_entree_GDA = models.IntegerField(label="Depuis quelle année êtes-vous membre du GDA ? (si vous êtes membre de deux GDA, indiquez l'année de votre première adhésion)") Membre_Association = models.BooleanField(blank=True, choices=[[True, 'Oui'], [False, 'Non']], label="Etes-vous membre de l'Association pour la protection des Oasis de Jemna ?", widget=widgets.RadioSelect) Annee_activite_agricole = models.IntegerField(blank=True, label='En quelle année avez-vous commencé une activité agricole sur cette exploitation ?') Superficie_exploitation = models.IntegerField(label="Quelle est la superficie totale de l'exploitation en hectares ?") Pret_acheter_Ha_supplementaire = models.BooleanField(blank=True, choices=[[True, 'Oui'], [False, 'Non']], label='Seriez-vous prêt/e à acheter un hectare supplémentaire de terre ?', widget=widgets.RadioSelect) Systeme_production = models.StringField(blank=True, choices=[['Monoculture', 'Monoculture : Palmier dattier uniquement'], ['Polyculture2', 'Polyculture en 2 étages'], ['Polyculture3', 'Polyculture en 3 étages'], ['Autre', 'Autre']], label='Quel est votre système de production ?', widget=widgets.RadioSelect) Tetes_bovins = models.IntegerField(blank=True, label='Bovins') Tetes_ovins = models.IntegerField(blank=True, label='Ovins') Tetes_caprins = models.IntegerField(blank=True, label='Caprins') Tetes_volailles = models.IntegerField(blank=True, label='Volailles') Tetes_dromadaires = models.IntegerField(blank=True, label='Dromadaires') Tetes_autres = models.IntegerField(blank=True, label='Autres') Source_eau = models.StringField(blank=True, choices=[['Système GDA', "Le système d'irrigation collectif du GDA"], ['Puits individuel', 'Puits/Forage individuel'], ['GDA+Individuel', 'GDA + Forage individuel'], ['Autre', 'Autre']], label="Quelle est votre source d'approvisionnement en eau ?", widget=widgets.RadioSelect) Technique_irrigation = models.StringField(blank=True, choices=[['Gravitaire', 'Gravitaire'], ['Aspersion', 'Aspersion'], ['GAG', 'Goutte à Goutte'], ['Plusieurs', 'Plusieurs techniques à la fois']], label="Quelles techniques d'irrigation utilisez-vous ?", widget=widgets.RadioSelect) Annee_technique_irrigation = models.IntegerField(blank=True, label="Depuis quelle année utilisez-vous votre technique d'irrigation principale ?") Probleme_qualite = models.StringField(blank=True, choices=[['Aucun', 'Aucun'], ['Salinité', 'Salinité'], ['Pollution', 'Pollution'], ['Autre', 'Autre']], label="Quel est le principal problème en termes d'eau d'irrigation que vous rencontrez ? Merci de cocher une seule case :", widget=widgets.RadioSelect) Puits_individuel = models.BooleanField(blank=True, choices=[[True, 'Oui'], [False, 'Non']], label='Avez-vous un puits individuel ?', widget=widgets.RadioSelect) Profondeur_puits = models.IntegerField(blank=True, label='Quelle est la profondeur de votre puits (en mètres) ?') Annee_puits = models.IntegerField(blank=True, label='En quelle année a-t-il été creusé ?') Autorisation_CRDA = models.BooleanField(blank=True, choices=[[True, 'Oui'], [False, 'Non']], label='Avez-vous une autorisation du CRDA ?', widget=widgets.RadioSelect) Systeme_extraction = models.StringField(blank=True, choices=[['Diesel', 'Motopompe diesel'], ['Solaire', 'Pompe solaire'], ['Electrique', 'Pompe électrique'], ['Autre', 'Autre']], label="Quel est votre système d'extraction de l'eau ?", widget=widgets.RadioSelect) Satisfaction_regles_oasis = models.IntegerField(blank=True, choices=[[1, "Absolument pas d'accord"], [2, "Pas d'accord"], [3, "D'accord"], [4, "Absolument d'accord"]], label="Je suis satisfait des règles de gestion de l'eau dans l'oasis :", widget=widgets.RadioSelect) Pourquoi_satisfaction_regles = models.LongStringField(blank=True, label='Pouvez-vous dire pourquoi ?') Satisfaction_gestion_GDA = models.IntegerField(blank=True, choices=[[1, 'Absolument pas d’accord'], [2, 'Pas d’accord'], [3, "D'accord"], [4, "Absolument d'accord"]], label="Je suis satisfait de la gestion de l'eau dans l'oasis par le GDA :", widget=widgets.RadioSelect) Regles_suffisantes = models.IntegerField(blank=True, choices=[[1, 'Absolument pas d’accord'], [2, "Pas d'accord"], [3, "D'accord"], [4, "Absolument d'accord"]], label="Les règles mises en place actuellement par le GDA concernant la gestion de l'eau sont suffisantes pour garantir qu'il y ait assez d'eau pour tous à un prix correct :", widget=widgets.RadioSelect) Paiement_eau = models.BooleanField(blank=True, choices=[[True, 'Oui'], [False, 'Non']], label="Payez-vous pour obtenir l'eau d'irrigation ?", widget=widgets.RadioSelect) Combien_paiement_eau = models.IntegerField(blank=True, label='Combien payez-vous en DNT par mois ?') Prix_correct = models.IntegerField(blank=True, choices=[[1, "Absolument pas d'accord"], [2, "Pas d'accord"], [3, "D'accord"], [4, "Absolument d'accord"]], label="Le prix payé pour l'eau d'irrigation est correct :", widget=widgets.RadioSelect) Dispose_a_payer = models.IntegerField(choices=[[1, 'Oui'], [0, 'Non']], label="Seriez-vous disposé à payer l'eau d'irrigation ? Ou la payer plus si vous la payez déjà ?", widget=widgets.RadioSelect) Combien_dispose_a_payer = models.StringField(blank=True, choices=[['1', '<1000'], ['2', '1 000 - 5 000'], ['3', '5 000 - 10 000'], ['4', '10 000 - 15 000'], ['5', '> 15 000']], label="Combien seriez-vous disposé à payer, ou à payer plus, en DTN par mois pour obtenir de l'eau d'irrigation ?", widget=widgets.RadioSelect) Satisfaction_qualite_eau = models.IntegerField(blank=True, choices=[[1, '1'], [2, '2'], [3, '3'], [4, '4']], label="Je suis satisfait de la qualité de l'eau", widget=widgets.RadioSelect) Assez_eau_oasis = models.IntegerField(blank=True, choices=[[1, '1'], [2, '2'], [3, '3'], [4, '4']], label="Il y a assez d'eau pour tout le monde dans l'oasis de Jemna", widget=widgets.RadioSelect) Acces_eau_oasis = models.IntegerField(blank=True, choices=[[1, '1'], [2, '2'], [3, '3'], [4, '4']], label="En plus d'être disponible, l'eau est accessible pour tout le monde dans l'oasis de Jemna", widget=widgets.RadioSelect) Conflits_eau_oasis = models.IntegerField(blank=True, choices=[[1, '1'], [2, '2'], [3, '3'], [4, '4']], label="Il existe des conflits pour l'eau entre agriculteurs dans l'oasis de Jemna", widget=widgets.RadioSelect) Resolution_conflit_regles = models.IntegerField(blank=True, choices=[[1, '1'], [2, '2'], [3, '3'], [4, '4']], label="Les conflits sur l'eau peuvent être résolus par des meilleures règles de gestion", widget=widgets.RadioSelect) Resolution_conflit_cooperation = models.IntegerField(blank=True, choices=[[1, '1'], [2, '2'], [3, '3'], [4, '4']], label="Les conflits sur l'eau peuvent être résolus si les agriculteurs collaborent entre eux", widget=widgets.RadioSelect) Pret_a_collaborer_avec_autres = models.IntegerField(blank=True, choices=[[1, '1'], [2, '2'], [3, '3'], [4, '4']], label="Je suis prêt à collaborer avec les autres agriculteurs pour bien gérer l'eau", widget=widgets.RadioSelect) Connais_agriculteurs_prets_a_collaborer = models.IntegerField(blank=True, choices=[[1, '1'], [2, '2'], [3, '3'], [4, '4']], label="Je connais d'autres agriculteurs qui sont prêts à collaborer pour bien gérer l'eau", widget=widgets.RadioSelect) Confiance_autres = models.IntegerField(blank=True, choices=[[1, '1'], [2, '2'], [3, '3'], [4, '4']], label="J'ai confiance dans la collaboration entre agriculteurs pour la gestion de l'eau", widget=widgets.RadioSelect) Confiance_institutions = models.IntegerField(blank=True, choices=[[1, '1'], [2, '2'], [3, '3'], [4, '4']], label="J'ai confiance dans les institutions publiques pour une gestion de l'eau équitable", widget=widgets.RadioSelect) Sexe = models.StringField(choices=[['Homme', 'Un homme'], ['Femme', 'Une femme']], label='Etes-vous :', widget=widgets.RadioSelect) Role_exploitation = models.StringField(blank=True, choices=[['Chef', "Chef d'exploitation"], ['Co_int', 'Co-exploitant(e) avec un membre de la famille'], ['Co_ext', "Co-exploitant(e) avec quelqu'un d'extérieur à la famille"], ['Autre', 'Autre']], label='Etes-vous :', widget=widgets.RadioSelect) Age = models.IntegerField(blank=True, choices=[[1, '< 20 ans'], [2, '21 - 30 ans'], [3, '31 - 40 ans'], [4, '41 - 50 ans'], [5, '51 - 60 ans'], [6, '61 - 70 ans'], [7, '> 70 ans']], label='Quelle est votre âge ?', widget=widgets.RadioSelect) Agriculture_principale = models.BooleanField(blank=True, choices=[[True, 'Oui'], [False, 'Non']], label="Est-ce que l'agriculture est votre activité principale ?", widget=widgets.RadioSelect) Activite_secondaire = models.StringField(blank=True, choices=[['Industrie', 'Secteur industriel'], ['Administration', 'Secteur public'], ['Artisanat', 'Artisanat (Maçonnerie, Plomberie, etc.)'], ['Services', 'Services (Commerce, tourisme, etc.)'], ['Autre', 'Autre']], label='Quelle est votre activité secondaire ?', widget=widgets.RadioSelect) Activite_principale = models.StringField(blank=True, choices=[['Industrie', 'Secteur industriel'], ['Administration', 'Secteur public'], ['Artisanat', 'Artisanat (Maçonnerie, plomberie, etc.)'], ['Services', 'Services (Commerce, tourisme, etc.) '], ['Autre', 'Autre']], label='Quelle est votre activité principale ?', widget=widgets.RadioSelect) Enfants = models.IntegerField(blank=True, label="Combien d'enfants avez-vous ?") Adultes_exploitation = models.IntegerField(blank=True, label='Adultes') Enfants_exploitation = models.IntegerField(blank=True, label='Enfants (moins de 18 ans)') Instruction = models.StringField(blank=True, choices=[['Primaire', 'Primaire'], ['Secondaire', 'Secondaire'], ['Superieur', 'Supérieur']], label="Quel est votre niveau d'instruction ?", widget=widgets.RadioSelect) Formation_professionnelle = models.BooleanField(blank=True, choices=[[True, 'Oui'], [False, 'Non']], label='Avez-vous une formation professionnelle agricole ?', widget=widgets.RadioSelect) Frequence_tour = models.IntegerField(blank=True, choices=[[1, '3 - 6 Jours'], [2, '7 - 12 Jours'], [3, '> 12 Jours']], label="Quelle est la fréquence du tour d'eau (en jours) ?", widget=widgets.RadioSelect) Heures_tour = models.IntegerField(label="Combien d'heures dure un tour d'eau ?") Tour_suffisant = models.BooleanField(blank=True, choices=[[True, 'Oui'], [False, 'Non']], label="Cette fréquence et cette durée des tours d'eau sont-elles suffisantes pour satisfaire vos besoins en eau ?", widget=widgets.RadioSelect) Dispose_a_payer_plus_pour_tour = models.BooleanField(blank=True, choices=[[True, 'Oui'], [False, 'Non']], label="Seriez-vous disposé à payer plus pour des tours d'eau plus fréquents et/ou plus longs ?", widget=widgets.RadioSelect)