myminixform


Namemyminixform JSON
Version 1.0.7 PyPI version JSON
download
home_page
SummaryUn package python pour creer un formulaire XLSFORM à partir d'un fichier YAML
upload_time2024-02-16 15:36:33
maintainer
docs_urlNone
author
requires_python>=3.6
licenseCopyright (c) 2018 The Python Packaging Authority Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords formulaire xlsform minixform python kobo odk
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <i>
	<p>Un module python pour faire des questionnaires par :<br>
		<center>la centrale-cognitive</center>
	</p>
</i>

## Contexte du projet et problematique

<p style="text-align:justify;">
Un Builder est intégré à <b>KOBOTOOLBOX</b> et ODK Build permet de réaliser les questionnaires ODK. Une autre méthode pour faire des questionnaires compatibles avec ses deux plateformes est de faire un fichier Excel respectant les normes de formulaire <b>XLSFORM</b>. Bien que XLSFORM soit rapide, simple et facile à personnaliser, manipuler des feuilles Excel reste tout de même assez fastidieux et ennuyeux. MiniXform vient comme une solution pour palier à ce problème en permettant de creer un formulaire XLSFORM grace au langage yaml.
</p>

## Installation

Il suffit de tapper la commande suivante dans votre terminal:

```bash
pip install myminixform
```

## Utilisation

Le principe d'utilisation est simple: creer un fichier minixform en yaml le convertir avec minixform en XLSFORM

```mermaid
graph TD
  yaml--> myminixform
  myminixform-->xlsform
```

### Creation d'un formulaire minixform

Vous pouvez creer votre fichier de fomulaire minixform basé sur le modele suivant:

`model_formulaire.yaml`

```yaml
parametres:
  titre: Titre du questionnaire
  description: >
    Il s'agit d'un modele de questionnaire yaml à utiliser avec MiniXform. 


  date: 2023-05-04
  auteur:
    - Nom: Nom de l'auteur
      Prenom: Prenom auteur
      Email: email.auteur@mail.com
      Tel: tel_auteur
  serveur:
  metadata: # Les metadata sont des informations recuperé automatiquement sur le telephone de l'enqueteur
    [
      start,
      end,
      today,
      deviceid,
      phonenumber,
      username,
      email,
      audit,
      simserial,
    ]
#-----------------------------------------------------------------------------------------------------
choix:
  sexe: &sexe
    - Homme
    - Femme
  bool: &bool [Oui, Non]
  ages: &age [18-25, 26-35, 36-45, 46-55, 56 et plus]
  structures: &structures
    - CNRA
    - ANADER
    - FIRCA
    - ONG
    - OPA
    - Autre
  regions: &regions
    - Abidjan
    - N'Zi
    - Iffou
    - Bélier
    - Moronou
    - Indénié-Djuablin
    - Sud-Comoé
  departement: &departs
    - Agboville
    - Sikensi
    - Taabo
    - Tiassalé
    - Koro
    - Ouaninou
#--------------------------------------------------------------------------------------------------------------
questions:
  I:
    titre: DESCRIPTION DE L'ETUDE
    description: >
      <b>Objectif générale : </b>
       <br>
       L'objectif de l'étude est d'identifier les contraintes majeures à l'adoption des technologies et innovations 
       dans le domaine agricole, afin de proposer une stratégie de diffusion optimisant leur adoption. _note


    object_questionnaire: >
      - Identifier des innovations et technologies générées et diffusées ou non dans le cadre du FCIAD - Identifier les mécanismes de génération et de transfert de ces innovations - Forces et faiblesses de ces mécanismes - Quelques recommandations d'amélioration des mécanismes


  A:
    titre: >
      A: IDENTIFICATION DE L'ENQUETE


    2: A.1 Date d'enquete (………/05/2023) _date
    3: A.2 Nom () **
    4: A.3 Prénoms **
    5:
      - A.5 Sexe ()
      - *sexe
    6: A.6 Tranche âge () $[18-25,26-35,36-45,46-55,56 et plus ] _s1
    7: A.7 Niveau étude () _s1 $[Sans niveau ,coranique ,Primaire,  Secondaire général, Secondaire technique ,Supérieur]
    8:
      - A.8 Région
      - *regions
    9:
      - A.9 Département
      - *departs
    10: A.10 Ville/village  ()
    11a: A.11-a Téléphone ()
    11b: A-11-b E-mail ()
    12a: A.12 Chaîne de valeur ()
    12b: Innovation ()
    13: A.13 Structure de vulgarisation ()
    14: A.14 Taille de l'exploitation (En Hectares) _e
    15: A.15 Taille de l'activité de la chaine de valeur ( En Hectares) _e
    16: A.16 Nombre d'années dans l'activité de la chaine de valeur () _e
  B:
    titre: B. EVALUATION DE L'ENVIRONNEMENT
    1:
      - B.1 Avez-vous déjà adopté d'autres innovations avant celle sous étude ?
      - *bool
    2:
      - Si oui, quelles ont été les structures de diffusion ?() $si(${B_2}='Oui')
      - *structures
    table-1:
      legende: B.2 En général comment appréciez-vous les interventions de ces structures ?
      colonnes:
        - CNRA () _s1 $[Très satisfaisant, Satisfaisant, Peu satisfaisant, Pas du tout satisfaisant]
        - ANADER () _s1 $[Très satisfaisant, Satisfaisant, Peu satisfaisant, Pas du tout satisfaisant]
        - FIRCA () _s1 $[Très satisfaisant, Satisfaisant, Peu satisfaisant, Pas du tout satisfaisant]
        - ONG () _s1 $[Très satisfaisant, Satisfaisant, Peu satisfaisant, Pas du tout satisfaisant]
        - OPA () _s1 $[Très satisfaisant, Satisfaisant, Peu satisfaisant, Pas du tout satisfaisant]
        - Autre () _s1 $[Très satisfaisant, Satisfaisant, Peu satisfaisant, Pas du tout satisfaisant]
      lignes: [1]
    3: B.3 Comment avez-vous été informé(e) de l'innovation du projet FCIAD dont vous a été bénéficiaire ?
    4:
      - B.4 Avez-vous été d'une manière ou d'une autre associé à l'identification du problème qui a permis de générer l'innovation dont vous êtes bénéficiaire ?
      - *bool
    5: B.5 Si oui, dans quel cadre ?() _sm $[ Votre OPA , Consultation individuelle, autre] $if(${B_4}='Oui')
    6: Si autre préciser() $if(sm(${B_5}='autre'))
  # ---
  C:
    titre: >
      C. INNOVATIONS ADOPTEES


    note: >
      Identification de l'innovation ou la technologie adoptée dans le cadre du FCIAD () _note


    1:
      - C.1 Nature de l'innovation dont vous avez bénéficié. ()
      - [Production, Transformation, Valorisation]
    2: C.2      Période de diffusion()  _date
    3: C.3      Difficultés rencontrées pendant l'adoption      ()
    4: C.4      Maîtrise de l'innovation à ce jour () $[Bien maîtrisée,Peu maîtrisée,Pas encore maîtrisée]
    5: C.5      Si peu ou pas maîtrisée, quelles sont les causes ? () $[Formation insuffisante, Ressources matérielles insuffisantes,Autre]
    5a: Si autres, préciser ()
    6: C.6 Si vous avez abandonné l'innovation, après combien de temps  d'essai ? () $[Mois, Campagnes, Années]
    7: causes de l'abandon ()
  # ---
  D:
    titre: D. EVALUATION DE LA PERTINENCE
    1: D.1 .Pouvez-vous évaluer le niveau de pertinence de l'Innovation & technologie ?() $[Très pertinent,     pertinent,      Peu pertinent,  Pas pertinent NSP]

    2:
      - D.2. Globalement Pensez-vous que l'innovation répondait à vos besoins ?() _s1
      - *bool
    3:
      - >
        Si oui, pensez-vous qu'elle : (

      - - introduit peu de changement sur l'exploitation
        - permet de résoudre un problème sectoriel et a des répercussions sur l'ensemble de l'exploitation
        - implique l'adoption simultanée de diverses techniques cohérentes entre elles
        - Autre
    4: Si l'innovation repondait à un autre besoins, précisez le. ()
  # ----------------------------------------------------------------
  E:
    titre: E. EVALUATION DE L'EFFICACITE
    table-1:
      legende: E.1      Si l'innovations a quelque peu répondu à vos besoins, quel impact sur votre activité ? (Justifiez votre réponse en donnant des chiffres avant et après l'adoption de l'innovation)
      colonnes: [Avant (Chiffre) _e, Après ( Chiffre) _e]
      lignes:
        - Gain de productivité
        - Gain de qualité
        - Gain de temps
        - Gain de revenu supplémentaire
        - Autre impact sur votre activité
  # --------------------------------
  F:
    titre: F    EVALUATION DU MECANISME DE TRANSFERT DES INNOVATIONS GENEREES A LA VULGARISATION ET DE LA DURABILITE
    1: F.1      L'innovation part du chercheur au vulgarisateur. Comment passe-t-elle du vulgarisateur à vous? ()
    2:
      - F.2     Avez-vous noté quelques difficultés de la diffusion de l'innovation?()
      - *bool
    2b: Si oui, lesquelles ?()
    3:
      - F.3     Rencontrez-vous des difficultés à maintenir l'innovation dans votre activité ?()
      - *bool
    3b: Si oui, lesquelles ? ()
    4: F.4 Selon vous, quelles sont les faiblesses qui pourraient entacher la pérennisation de l'adoption des innovations en général ? ()
  # ----------------------------------------------------------------
  G:
    titre: G. VOS RECOMMANDATIONS
    1: G.1      Au vu de tout ce qui précède, quelles recommandations pouvez-vous faire pour l'amélioration du mécanisme de diffusion et de transfert des innovations aux bénéficiaires ? ()
    2: G.2      Selon vous, que faut-il faire pour que les innovations ne soient pas abandonnées après leur adoption par vous après un moment donné ?()
    3: G.3      Que recommandez-vous au FCIAD pour pérenniser ses activités de transfert d'innovation et de technologies ? ()
```

### Composition du formulaire et syntaxe

Ce exemple montre la structuration d'un fichier MiniXform (.yaml).

Il est composé de 3 partie : 1- parametres : La liste des parametres compotant le titre, la descrition et les meta données à inclure dans le formulaire 2- choix : la liste des choix correspondant à feuille choices d'un formulaire XLSFORM Une liste de choix se presente sous la forme suivant:

```yaml
sexe:
  &sexe # $sexe est la clé de la liste et est generalement identique au nom de la liste
  - Homme # les proposition de choix peuvent être ecrit aussi dans une liste python comme
  - Femme
```

3-questions : Cette partie est composé des groupes et questions. Les questions sont de plusieurs types qui sont les types de

La liste des types est définie comme suit:

| XLSFORM                   | MINIXFORM |
| ------------------------- | --------- |
| integer                   | i         |
| integer                   | e         |
| decimal                   | r         |
| decimal                   | d         |
| range                     | rg        |
| text                      | t         |
| text                      | txt       |
| select_one                | so        |
| select_one                | liste_u   |
| select_one                | lu        |
| select_one                | liste u   |
| select_multiple           | sm        |
| select_multiple           | lm        |
| select_one_from_file      | sof       |
| select_multiple_from_file | smf       |
| rank                      | rk        |
| rank                      | rn        |
| note                      | n         |
| note                      | nt        |
| geopoint                  | point     |
| geotrace                  | trace     |
| geoshape                  | shape     |
| date                      | de        |
| date                      | date      |
| time                      | tm        |
| time                      | te        |
| dateTime                  | dtme      |
| image                     | img       |
| audio                     | audio     |
| audio                     | o         |
| background-audio          | bg-audio  |
| video                     | video     |
| video                     | v         |
| file                      | f         |
| barcode                   | bc        |
| calculate                 | calc      |
| acknowledge               | ack       |
| hidden                    | hd        |
| xml-external              | xml       |
| begin_group               | g         |
| begin_group               | group     |
| end_group                 | end       |
| end_group                 | eg        |
| repeat_group              | repeat    |
| repeat_group              | re        |
| end_repeat                | er        |
| end_repeat                | endr      |

Les questions sont organisées en groupes.

```yaml
questions: # Debut des groupes des questions
  I: # groupe I
    titre: "DONNEES SUR L'ENQUETEUR" # Titre du groupe
    description: Il s'agit de meta données sur les eqnueêteurs et l'enquête en vu d'assurer la tracabilitée des données. _note # Description groupe de question
    date: Date d'enquête (jj-mm-aaaa) _date # Une question de type date
    nom_enqueteur: Nom de l'enquêteur (Saisir en majuscule) _txt
    num_enqueteur:
      Numéro de l'enqueteur (Doit être un numéro à 10 chiffre) $(num) # Modele d'une question
    Source_info: Nom et prénoms de la source d'information() _texte
    region_enquete:
      - Région (selectionner une region)  _s1
      - *regions # region se trouve dans la liste
    lieu_enqu:
      - Lieu d'enquête() _s1 # question à choix unique
      - [yamoussoukro, bonon, bouaflé, zatta] # Liste de choix
```

La structure d'une question est la suivante :

```yaml
nom_question: La question est posé ici (La description de la question est entre les paranthèses ) _typequestion $[proposition1, proposition2, proposition3]
```

### Execution de minixform

J'utilise **pew** pour ce faire. Pour installer pew, vous pouvez faire

```bash
pip install pew
```

Creer et activer un nouvelle environnement virtuel en faisant

```bash
pew new venv
pew workon venv
```

Puis installer minixform

```bash
pip install myminixform
```

Creer ensuite le fichier yaml du formulaire **Template.yaml** et le fichier de script python **main.py**.

```python
from myminixform import *
print(template, file=open("Template.yaml","w",encoding="utf-8")) #Template est un exemple yaml intégré à myminixform
form=yaml_form("Template.yaml","utf-8")
resultat=form.to_xlsform("form.xlsx")
print(result) # True
```

Pour executer le script, il suffit de faire

```bash
py main.py
```

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "myminixform",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "mr_kam <kanicetcyrille@gmail.com>, Al-Waris <dossigue04@gmail.com>",
    "keywords": "formulaire,XLSFORM,minixform,python,kobo,ODK",
    "author": "",
    "author_email": "La centrale cognitive <lacentrale.cognitive@gmail.com>, mr_kam <kanicetcyrille@gmail.com>",
    "download_url": "",
    "platform": null,
    "description": "<i>\r\n\t<p>Un module python pour faire des questionnaires par :<br>\r\n\t\t<center>la centrale-cognitive</center>\r\n\t</p>\r\n</i>\r\n\r\n## Contexte du projet et problematique\r\n\r\n<p style=\"text-align:justify;\">\r\nUn Builder est int\u00e9gr\u00e9 \u00e0 <b>KOBOTOOLBOX</b> et ODK Build permet de r\u00e9aliser les questionnaires ODK. Une autre m\u00e9thode pour faire des questionnaires compatibles avec ses deux plateformes est de faire un fichier Excel respectant les normes de formulaire <b>XLSFORM</b>. Bien que XLSFORM soit rapide, simple et facile \u00e0 personnaliser, manipuler des feuilles Excel reste tout de m\u00eame assez fastidieux et ennuyeux. MiniXform vient comme une solution pour palier \u00e0 ce probl\u00e8me en permettant de creer un formulaire XLSFORM grace au langage yaml.\r\n</p>\r\n\r\n## Installation\r\n\r\nIl suffit de tapper la commande suivante dans votre terminal:\r\n\r\n```bash\r\npip install myminixform\r\n```\r\n\r\n## Utilisation\r\n\r\nLe principe d'utilisation est simple: creer un fichier minixform en yaml le convertir avec minixform en XLSFORM\r\n\r\n```mermaid\r\ngraph TD\r\n  yaml--> myminixform\r\n  myminixform-->xlsform\r\n```\r\n\r\n### Creation d'un formulaire minixform\r\n\r\nVous pouvez creer votre fichier de fomulaire minixform bas\u00e9 sur le modele suivant:\r\n\r\n`model_formulaire.yaml`\r\n\r\n```yaml\r\nparametres:\r\n  titre: Titre du questionnaire\r\n  description: >\r\n    Il s'agit d'un modele de questionnaire yaml \u00e0 utiliser avec MiniXform. \r\n\r\n\r\n  date: 2023-05-04\r\n  auteur:\r\n    - Nom: Nom de l'auteur\r\n      Prenom: Prenom auteur\r\n      Email: email.auteur@mail.com\r\n      Tel: tel_auteur\r\n  serveur:\r\n  metadata: # Les metadata sont des informations recuper\u00e9 automatiquement sur le telephone de l'enqueteur\r\n    [\r\n      start,\r\n      end,\r\n      today,\r\n      deviceid,\r\n      phonenumber,\r\n      username,\r\n      email,\r\n      audit,\r\n      simserial,\r\n    ]\r\n#-----------------------------------------------------------------------------------------------------\r\nchoix:\r\n  sexe: &sexe\r\n    - Homme\r\n    - Femme\r\n  bool: &bool [Oui, Non]\r\n  ages: &age [18-25, 26-35, 36-45, 46-55, 56 et plus]\r\n  structures: &structures\r\n    - CNRA\r\n    - ANADER\r\n    - FIRCA\r\n    - ONG\r\n    - OPA\r\n    - Autre\r\n  regions: &regions\r\n    - Abidjan\r\n    - N'Zi\r\n    - Iffou\r\n    - B\u00e9lier\r\n    - Moronou\r\n    - Ind\u00e9ni\u00e9-Djuablin\r\n    - Sud-Como\u00e9\r\n  departement: &departs\r\n    - Agboville\r\n    - Sikensi\r\n    - Taabo\r\n    - Tiassal\u00e9\r\n    - Koro\r\n    - Ouaninou\r\n#--------------------------------------------------------------------------------------------------------------\r\nquestions:\r\n  I:\r\n    titre: DESCRIPTION DE L'ETUDE\r\n    description: >\r\n      <b>Objectif g\u00e9n\u00e9rale : </b>\r\n       <br>\r\n       L'objectif de l'\u00e9tude est d'identifier les contraintes majeures \u00e0 l'adoption des technologies et innovations \r\n       dans le domaine agricole, afin de proposer une strat\u00e9gie de diffusion optimisant leur adoption. _note\r\n\r\n\r\n    object_questionnaire: >\r\n      - Identifier des innovations et technologies g\u00e9n\u00e9r\u00e9es et diffus\u00e9es ou non dans le cadre du FCIAD - Identifier les m\u00e9canismes de g\u00e9n\u00e9ration et de transfert de ces innovations - Forces et faiblesses de ces m\u00e9canismes - Quelques recommandations d'am\u00e9lioration des m\u00e9canismes\r\n\r\n\r\n  A:\r\n    titre: >\r\n      A: IDENTIFICATION DE L'ENQUETE\r\n\r\n\r\n    2: A.1 Date d'enquete (\u2026\u2026\u2026/05/2023) _date\r\n    3: A.2 Nom () **\r\n    4: A.3 Pr\u00e9noms **\r\n    5:\r\n      - A.5 Sexe ()\r\n      - *sexe\r\n    6: A.6 Tranche \u00e2ge () $[18-25,26-35,36-45,46-55,56 et plus ] _s1\r\n    7: A.7 Niveau \u00e9tude () _s1 $[Sans niveau ,coranique ,Primaire,  Secondaire g\u00e9n\u00e9ral, Secondaire technique ,Sup\u00e9rieur]\r\n    8:\r\n      - A.8 R\u00e9gion\r\n      - *regions\r\n    9:\r\n      - A.9 D\u00e9partement\r\n      - *departs\r\n    10: A.10 Ville/village  ()\r\n    11a: A.11-a T\u00e9l\u00e9phone ()\r\n    11b: A-11-b E-mail ()\r\n    12a: A.12 Cha\u00eene de valeur ()\r\n    12b: Innovation ()\r\n    13: A.13 Structure de vulgarisation ()\r\n    14: A.14 Taille de l'exploitation (En Hectares) _e\r\n    15: A.15 Taille de l'activit\u00e9 de la chaine de valeur ( En Hectares) _e\r\n    16: A.16 Nombre d'ann\u00e9es dans l'activit\u00e9 de la chaine de valeur () _e\r\n  B:\r\n    titre: B. EVALUATION DE L'ENVIRONNEMENT\r\n    1:\r\n      - B.1 Avez-vous d\u00e9j\u00e0 adopt\u00e9 d'autres innovations avant celle sous \u00e9tude ?\r\n      - *bool\r\n    2:\r\n      - Si oui, quelles ont \u00e9t\u00e9 les structures de diffusion ?() $si(${B_2}='Oui')\r\n      - *structures\r\n    table-1:\r\n      legende: B.2 En g\u00e9n\u00e9ral comment appr\u00e9ciez-vous les interventions de ces structures ?\r\n      colonnes:\r\n        - CNRA () _s1 $[Tr\u00e8s satisfaisant, Satisfaisant, Peu satisfaisant, Pas du tout satisfaisant]\r\n        - ANADER () _s1 $[Tr\u00e8s satisfaisant, Satisfaisant, Peu satisfaisant, Pas du tout satisfaisant]\r\n        - FIRCA () _s1 $[Tr\u00e8s satisfaisant, Satisfaisant, Peu satisfaisant, Pas du tout satisfaisant]\r\n        - ONG () _s1 $[Tr\u00e8s satisfaisant, Satisfaisant, Peu satisfaisant, Pas du tout satisfaisant]\r\n        - OPA () _s1 $[Tr\u00e8s satisfaisant, Satisfaisant, Peu satisfaisant, Pas du tout satisfaisant]\r\n        - Autre () _s1 $[Tr\u00e8s satisfaisant, Satisfaisant, Peu satisfaisant, Pas du tout satisfaisant]\r\n      lignes: [1]\r\n    3: B.3 Comment avez-vous \u00e9t\u00e9 inform\u00e9(e) de l'innovation du projet FCIAD dont vous a \u00e9t\u00e9 b\u00e9n\u00e9ficiaire ?\r\n    4:\r\n      - B.4 Avez-vous \u00e9t\u00e9 d'une mani\u00e8re ou d'une autre associ\u00e9 \u00e0 l'identification du probl\u00e8me qui a permis de g\u00e9n\u00e9rer l'innovation dont vous \u00eates b\u00e9n\u00e9ficiaire ?\r\n      - *bool\r\n    5: B.5 Si oui, dans quel cadre ?() _sm $[ Votre OPA , Consultation individuelle, autre] $if(${B_4}='Oui')\r\n    6: Si autre pr\u00e9ciser() $if(sm(${B_5}='autre'))\r\n  # ---\r\n  C:\r\n    titre: >\r\n      C. INNOVATIONS ADOPTEES\r\n\r\n\r\n    note: >\r\n      Identification de l'innovation ou la technologie adopt\u00e9e dans le cadre du FCIAD () _note\r\n\r\n\r\n    1:\r\n      - C.1 Nature de l'innovation dont vous avez b\u00e9n\u00e9fici\u00e9. ()\r\n      - [Production, Transformation, Valorisation]\r\n    2: C.2      P\u00e9riode de diffusion()  _date\r\n    3: C.3      Difficult\u00e9s rencontr\u00e9es pendant l'adoption      ()\r\n    4: C.4      Ma\u00eetrise de l'innovation \u00e0 ce jour () $[Bien ma\u00eetris\u00e9e,Peu ma\u00eetris\u00e9e,Pas encore ma\u00eetris\u00e9e]\r\n    5: C.5      Si peu ou pas ma\u00eetris\u00e9e, quelles sont les causes ? () $[Formation insuffisante, Ressources mat\u00e9rielles insuffisantes,Autre]\r\n    5a: Si autres, pr\u00e9ciser ()\r\n    6: C.6 Si vous avez abandonn\u00e9 l'innovation, apr\u00e8s combien de temps  d'essai ? () $[Mois, Campagnes, Ann\u00e9es]\r\n    7: causes de l'abandon ()\r\n  # ---\r\n  D:\r\n    titre: D. EVALUATION DE LA PERTINENCE\r\n    1: D.1 .Pouvez-vous \u00e9valuer le niveau de pertinence de l'Innovation & technologie ?() $[Tr\u00e8s pertinent,     pertinent,      Peu pertinent,  Pas pertinent NSP]\r\n\r\n    2:\r\n      - D.2. Globalement Pensez-vous que l'innovation r\u00e9pondait \u00e0 vos besoins ?() _s1\r\n      - *bool\r\n    3:\r\n      - >\r\n        Si oui, pensez-vous qu'elle : (\r\n\r\n      - - introduit peu de changement sur l'exploitation\r\n        - permet de r\u00e9soudre un probl\u00e8me sectoriel et a des r\u00e9percussions sur l'ensemble de l'exploitation\r\n        - implique l'adoption simultan\u00e9e de diverses techniques coh\u00e9rentes entre elles\r\n        - Autre\r\n    4: Si l'innovation repondait \u00e0 un autre besoins, pr\u00e9cisez le. ()\r\n  # ----------------------------------------------------------------\r\n  E:\r\n    titre: E. EVALUATION DE L'EFFICACITE\r\n    table-1:\r\n      legende: E.1      Si l'innovations a quelque peu r\u00e9pondu \u00e0 vos besoins, quel impact sur votre activit\u00e9 ? (Justifiez votre r\u00e9ponse en donnant des chiffres avant et apr\u00e8s l'adoption de l'innovation)\r\n      colonnes: [Avant (Chiffre) _e, Apr\u00e8s ( Chiffre) _e]\r\n      lignes:\r\n        - Gain de productivit\u00e9\r\n        - Gain de qualit\u00e9\r\n        - Gain de temps\r\n        - Gain de revenu suppl\u00e9mentaire\r\n        - Autre impact sur votre activit\u00e9\r\n  # --------------------------------\r\n  F:\r\n    titre: F    EVALUATION DU MECANISME DE TRANSFERT DES INNOVATIONS GENEREES A LA VULGARISATION ET DE LA DURABILITE\r\n    1: F.1      L'innovation part du chercheur au vulgarisateur. Comment passe-t-elle du vulgarisateur \u00e0 vous? ()\r\n    2:\r\n      - F.2     Avez-vous not\u00e9 quelques difficult\u00e9s de la diffusion de l'innovation?()\r\n      - *bool\r\n    2b: Si oui, lesquelles ?()\r\n    3:\r\n      - F.3     Rencontrez-vous des difficult\u00e9s \u00e0 maintenir l'innovation dans votre activit\u00e9 ?()\r\n      - *bool\r\n    3b: Si oui, lesquelles ? ()\r\n    4: F.4 Selon vous, quelles sont les faiblesses qui pourraient entacher la p\u00e9rennisation de l'adoption des innovations en g\u00e9n\u00e9ral ? ()\r\n  # ----------------------------------------------------------------\r\n  G:\r\n    titre: G. VOS RECOMMANDATIONS\r\n    1: G.1      Au vu de tout ce qui pr\u00e9c\u00e8de, quelles recommandations pouvez-vous faire pour l'am\u00e9lioration du m\u00e9canisme de diffusion et de transfert des innovations aux b\u00e9n\u00e9ficiaires ? ()\r\n    2: G.2      Selon vous, que faut-il faire pour que les innovations ne soient pas abandonn\u00e9es apr\u00e8s leur adoption par vous apr\u00e8s un moment donn\u00e9 ?()\r\n    3: G.3      Que recommandez-vous au FCIAD pour p\u00e9renniser ses activit\u00e9s de transfert d'innovation et de technologies ? ()\r\n```\r\n\r\n### Composition du formulaire et syntaxe\r\n\r\nCe exemple montre la structuration d'un fichier MiniXform (.yaml).\r\n\r\nIl est compos\u00e9 de 3 partie : 1- parametres : La liste des parametres compotant le titre, la descrition et les meta donn\u00e9es \u00e0 inclure dans le formulaire 2- choix : la liste des choix correspondant \u00e0 feuille choices d'un formulaire XLSFORM Une liste de choix se presente sous la forme suivant:\r\n\r\n```yaml\r\nsexe:\r\n  &sexe # $sexe est la cl\u00e9 de la liste et est generalement identique au nom de la liste\r\n  - Homme # les proposition de choix peuvent \u00eatre ecrit aussi dans une liste python comme\r\n  - Femme\r\n```\r\n\r\n3-questions : Cette partie est compos\u00e9 des groupes et questions. Les questions sont de plusieurs types qui sont les types de\r\n\r\nLa liste des types est d\u00e9finie comme suit:\r\n\r\n| XLSFORM                   | MINIXFORM |\r\n| ------------------------- | --------- |\r\n| integer                   | i         |\r\n| integer                   | e         |\r\n| decimal                   | r         |\r\n| decimal                   | d         |\r\n| range                     | rg        |\r\n| text                      | t         |\r\n| text                      | txt       |\r\n| select_one                | so        |\r\n| select_one                | liste_u   |\r\n| select_one                | lu        |\r\n| select_one                | liste u   |\r\n| select_multiple           | sm        |\r\n| select_multiple           | lm        |\r\n| select_one_from_file      | sof       |\r\n| select_multiple_from_file | smf       |\r\n| rank                      | rk        |\r\n| rank                      | rn        |\r\n| note                      | n         |\r\n| note                      | nt        |\r\n| geopoint                  | point     |\r\n| geotrace                  | trace     |\r\n| geoshape                  | shape     |\r\n| date                      | de        |\r\n| date                      | date      |\r\n| time                      | tm        |\r\n| time                      | te        |\r\n| dateTime                  | dtme      |\r\n| image                     | img       |\r\n| audio                     | audio     |\r\n| audio                     | o         |\r\n| background-audio          | bg-audio  |\r\n| video                     | video     |\r\n| video                     | v         |\r\n| file                      | f         |\r\n| barcode                   | bc        |\r\n| calculate                 | calc      |\r\n| acknowledge               | ack       |\r\n| hidden                    | hd        |\r\n| xml-external              | xml       |\r\n| begin_group               | g         |\r\n| begin_group               | group     |\r\n| end_group                 | end       |\r\n| end_group                 | eg        |\r\n| repeat_group              | repeat    |\r\n| repeat_group              | re        |\r\n| end_repeat                | er        |\r\n| end_repeat                | endr      |\r\n\r\nLes questions sont organis\u00e9es en groupes.\r\n\r\n```yaml\r\nquestions: # Debut des groupes des questions\r\n  I: # groupe I\r\n    titre: \"DONNEES SUR L'ENQUETEUR\" # Titre du groupe\r\n    description: Il s'agit de meta donn\u00e9es sur les eqnue\u00eateurs et l'enqu\u00eate en vu d'assurer la tracabilit\u00e9e des donn\u00e9es. _note # Description groupe de question\r\n    date: Date d'enqu\u00eate (jj-mm-aaaa) _date # Une question de type date\r\n    nom_enqueteur: Nom de l'enqu\u00eateur (Saisir en majuscule) _txt\r\n    num_enqueteur:\r\n      Num\u00e9ro de l'enqueteur (Doit \u00eatre un num\u00e9ro \u00e0 10 chiffre) $(num) # Modele d'une question\r\n    Source_info: Nom et pr\u00e9noms de la source d'information() _texte\r\n    region_enquete:\r\n      - R\u00e9gion (selectionner une region)  _s1\r\n      - *regions # region se trouve dans la liste\r\n    lieu_enqu:\r\n      - Lieu d'enqu\u00eate() _s1 # question \u00e0 choix unique\r\n      - [yamoussoukro, bonon, bouafl\u00e9, zatta] # Liste de choix\r\n```\r\n\r\nLa structure d'une question est la suivante :\r\n\r\n```yaml\r\nnom_question: La question est pos\u00e9 ici (La description de la question est entre les paranth\u00e8ses ) _typequestion $[proposition1, proposition2, proposition3]\r\n```\r\n\r\n### Execution de minixform\r\n\r\nJ'utilise **pew** pour ce faire. Pour installer pew, vous pouvez faire\r\n\r\n```bash\r\npip install pew\r\n```\r\n\r\nCreer et activer un nouvelle environnement virtuel en faisant\r\n\r\n```bash\r\npew new venv\r\npew workon venv\r\n```\r\n\r\nPuis installer minixform\r\n\r\n```bash\r\npip install myminixform\r\n```\r\n\r\nCreer ensuite le fichier yaml du formulaire **Template.yaml** et le fichier de script python **main.py**.\r\n\r\n```python\r\nfrom myminixform import *\r\nprint(template, file=open(\"Template.yaml\",\"w\",encoding=\"utf-8\")) #Template est un exemple yaml int\u00e9gr\u00e9 \u00e0 myminixform\r\nform=yaml_form(\"Template.yaml\",\"utf-8\")\r\nresultat=form.to_xlsform(\"form.xlsx\")\r\nprint(result) # True\r\n```\r\n\r\nPour executer le script, il suffit de faire\r\n\r\n```bash\r\npy main.py\r\n```\r\n",
    "bugtrack_url": null,
    "license": "Copyright (c) 2018 The Python Packaging Authority  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
    "summary": "Un package python pour creer un formulaire XLSFORM \u00e0 partir d'un fichier YAML",
    "version": "1.0.7",
    "project_urls": {
        "Bug Tracker": "https://github.com/Mr-KAM/myminixform/issues",
        "Documentation": "https://github.com/Mr-KAM/myminixform",
        "Homepage": "https://github.com/Mr-KAM/myminixform",
        "Repository": "https://github.com/Mr-KAM/myminixform.git"
    },
    "split_keywords": [
        "formulaire",
        "xlsform",
        "minixform",
        "python",
        "kobo",
        "odk"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dacf5189b093ac9194e89e625b6b33ba120a7133fbd18aec6025d54702bc5304",
                "md5": "9b844f6c4fb82ec9e4faef1deca4d813",
                "sha256": "d433da45d5f73362dabd11723a6c5622891a955eb2c0113f24fc272e602aaf03"
            },
            "downloads": -1,
            "filename": "myminixform-1.0.7-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9b844f6c4fb82ec9e4faef1deca4d813",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 20873,
            "upload_time": "2024-02-16T15:36:33",
            "upload_time_iso_8601": "2024-02-16T15:36:33.979679Z",
            "url": "https://files.pythonhosted.org/packages/da/cf/5189b093ac9194e89e625b6b33ba120a7133fbd18aec6025d54702bc5304/myminixform-1.0.7-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-16 15:36:33",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Mr-KAM",
    "github_project": "myminixform",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "myminixform"
}
        
Elapsed time: 0.20141s