@Nullable
  @Override
  public View onCreateView(
      LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    rootview = inflater.inflate(R.layout.offre_layout, container, false);

    Typeface font =
        Typeface.createFromAsset(
            getActivity().getAssets(), "font-awesome-4.3.0/fonts/fontawesome-webfont.ttf");

    autoCompViewFrom = (AutoCompleteTextView) rootview.findViewById(R.id.etStarting);
    autoCompViewFrom.setTypeface(font);
    autoCompViewFrom.setAdapter(
        new PlacesAutoCompleteAdapter(getActivity(), R.layout.list_autocomplete));
    autoCompViewTo = (AutoCompleteTextView) rootview.findViewById(R.id.etDestination);
    autoCompViewTo.setTypeface(font);
    autoCompViewTo.setAdapter(
        new PlacesAutoCompleteAdapter(getActivity(), R.layout.list_autocomplete));

    // NumericPicker nbre de places
    etNbreProp = (AutoCompleteTextView) rootview.findViewById(R.id.etNbreProposition);

    // DatePicker date de depart
    /** ** Gestion de la date de dpart */
    etDate_ = (AutoCompleteTextView) rootview.findViewById(R.id.etDate);

    // Get current date by calender
    c_date = Calendar.getInstance();
    year_depart = c_date.get(Calendar.YEAR);
    month_depart = c_date.get(Calendar.MONTH);
    day_depart = c_date.get(Calendar.DAY_OF_MONTH);

    etDate_.setText(
        new StringBuilder()
            .append(month_depart + 1)
            .append("-")
            .append(day_depart)
            .append("-")
            .append(year_depart)
            .append(" "));
    mDatePicker =
        new DatePickerDialog(
            getActivity(),
            new DatePickerDialog.OnDateSetListener() {
              public void onDateSet(
                  DatePicker datepicker, int selectedyear, int selectedmonth, int selectedday) {
                c_date.set(selectedyear, selectedmonth, selectedday);

                // si ca se trouve ca sert a rien mais je le fais qd meme
                year_depart = selectedyear;
                month_depart = selectedmonth;
                day_depart = selectedday;

                etDate_.setText(
                    new StringBuilder()
                        .append(selectedmonth + 1)
                        .append("-")
                        .append(selectedday)
                        .append("-")
                        .append(selectedyear)
                        .append(" "));
              }
            },
            year_depart,
            month_depart,
            day_depart);

    etDate_.setOnTouchListener(
        new View.OnTouchListener() {
          @Override
          public boolean onTouch(View v, MotionEvent event) {

            mDatePicker.setTitle("Date de départ");
            mDatePicker.show();

            Log.d("log", "dans le logId");
            Log.d("anee", "anne " + year_depart);
            Log.d("mois", "anne " + month_depart);
            Log.d("jour", "anne " + day_depart);

            etDate_.requestFocus();

            return false;
          }
        });

    /** Gestion du temps de depart */

    // Get current date by calender
    c_time_entre = Calendar.getInstance();
    hour_entre = c_time_entre.get(Calendar.HOUR_OF_DAY);
    minute_entre = c_time_entre.get(Calendar.MINUTE);
    ac_etBetweenStart = (AutoCompleteTextView) rootview.findViewById(R.id.etBetweenStart);
    ac_etBetweenStart.setText(
        new StringBuilder()
            .append(padding_str(hour_entre))
            .append(":")
            .append(padding_str(minute_entre)));

    timePickerListenerEntre =
        new TimePickerDialog.OnTimeSetListener() {
          public void onTimeSet(TimePicker view, int selectedHour, int selectedMinute) {
            hour_entre = selectedHour;
            minute_entre = selectedMinute;

            // set current time into textview
            ac_etBetweenStart.setText(
                new StringBuilder()
                    .append(padding_str(hour_entre))
                    .append(":")
                    .append(padding_str(minute_entre)));
          }
        };

    timePickeraDialog_entre =
        new TimePickerDialog(
            getActivity(), timePickerListenerEntre, hour_entre, minute_entre, false);

    ac_etBetweenStart.setOnTouchListener(
        new View.OnTouchListener() {
          @Override
          public boolean onTouch(View v, MotionEvent event) {

            timePickeraDialog_entre.show();

            Log.d("log", "dans le logId");
            Log.d("heure depart", "heure " + hour_entre);
            Log.d("minute depart", "minute " + minute_entre);

            ac_etBetweenStart.requestFocus();
            return false;
          }
        });

    /** * Gestion du temps d'arrivee */
    // TimePicker et

    ac_etBetweenEnd = (AutoCompleteTextView) rootview.findViewById(R.id.etBetweenEnd);
    c_time_et = Calendar.getInstance();

    hour_et = c_time_et.get(Calendar.HOUR_OF_DAY);
    minute_et = c_time_et.get(Calendar.MINUTE);

    ac_etBetweenEnd.setText(
        new StringBuilder()
            .append(padding_str(hour_et))
            .append(":")
            .append(padding_str(minute_et)));

    timePickerListenerEt =
        new TimePickerDialog.OnTimeSetListener() {
          public void onTimeSet(TimePicker view, int selectedHour, int selectedMinute) {
            hour_et = selectedHour;
            minute_et = selectedMinute;

            // set current time into textview
            ac_etBetweenEnd.setText(
                new StringBuilder()
                    .append(padding_str(hour_et))
                    .append(":")
                    .append(padding_str(minute_et)));
          }
        };

    timePickerDialog_et =
        new TimePickerDialog(getActivity(), timePickerListenerEt, hour_et, minute_et, false);

    ac_etBetweenEnd.setOnTouchListener(
        new View.OnTouchListener() {
          @Override
          public boolean onTouch(View v, MotionEvent event) {

            timePickerDialog_et.show();

            Log.d("log", "dans le logId");
            Log.d("heure arrivee", "heure " + hour_et);
            Log.d("minute arrivee", "minute " + minute_et);
            ac_etBetweenEnd.requestFocus();

            return true;
          }
        });

    Button submitOffer = (Button) (rootview.findViewById(R.id.btnSubmitOffer));

    font =
        Typeface.createFromAsset(
            getActivity().getAssets(), "font-awesome-4.3.0/fonts/fontawesome-webfont.ttf");

    submitOffer.append("     Ajouter Offre");

    submitOffer.setTypeface(font);

    submitOffer.setOnClickListener(
        new View.OnClickListener() {
          @Override
          public void onClick(View v) {

            // on verifie que l'utilisateur est connecte avant de rajouter une offre

            ParseUser current = ParseUser.getCurrentUser();

            List<String> address = new ArrayList<>();

            String eStarting = autoCompViewFrom.getText().toString();
            String eDestination = autoCompViewTo.getText().toString();
            String nbProp = etNbreProp.getText().toString();

            if (eStarting.length() > 0 && eDestination.length() > 0 && nbProp.length() > 0) {
              address.add(eStarting);
              address.add(eDestination);

              if (current != null) {
                GeocodingLocation locationAddress = new GeocodingLocation();
                locationAddress.getAddressFromLocation(
                    address, getActivity().getApplicationContext(), new GeocoderHandler());
              } else {
                Bundle bundle = new Bundle();
                bundle.putString("textContent", getString(R.string.content_dialog_offer));
                WarningConnectionFragment wcf = new WarningConnectionFragment();
                wcf.setArguments(bundle);
                wcf.show(getActivity().getSupportFragmentManager(), "Alerte Connexion");
              }
            } else {
              if (eStarting.length() == 0) {
                autoCompViewTo.setError("champ obligatoire");
                autoCompViewTo.requestFocus();
              } else {
                autoCompViewTo.setError(null);
              }

              if (eDestination.length() == 0) {
                autoCompViewFrom.setError("Champ obligatoire");
                autoCompViewFrom.requestFocus();
              } else {
                autoCompViewFrom.setError(null);
              }
              if (nbProp.length() == 0) {
                etNbreProp.setError("Champ obligatoire");
                etNbreProp.requestFocus();
              } else {
                etNbreProp.setError(null);
              }
            }
          }
        });
    return rootview;
  }
  @Nullable
  @Override
  public View onCreateView(
      LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    rootview = inflater.inflate(R.layout.activity_modif_profil, container, false);

    btn_modif_profil = (Button) rootview.findViewById(R.id.modif_info_profil);
    Typeface font =
        Typeface.createFromAsset(
            getActivity().getAssets(), "font-awesome-4.3.0/fonts/fontawesome-webfont.ttf");
    btn_modif_profil.append("    MODIFIER");
    btn_modif_profil.setTypeface(font);

    /** Recuperer les valeurs des composants dans des variables */
    pseudo = (TextView) rootview.findViewById(R.id.txt_modif_pseudo_userProfil);
    mail = (TextView) rootview.findViewById(R.id.txt_modif_courriel_userProfil);
    ancienMdp = (EditText) rootview.findViewById(R.id.txt_ancien_mdp);
    mdp = (EditText) rootview.findViewById(R.id.txtMdp_modif);
    confmdp = (EditText) rootview.findViewById(R.id.txtConfMdp_modif);
    dateNais = (EditText) rootview.findViewById(R.id.txt_modif_date_naiss_userProfil);
    nom = (EditText) rootview.findViewById(R.id.txt__modif_nom_userProfil);
    prenom = (EditText) rootview.findViewById(R.id.txt_modif_prenom_userProfil);

    radioM = (RadioButton) rootview.findViewById(R.id.radioM_modif);
    radioF = (RadioButton) rootview.findViewById(R.id.radioF_modif);

    // compteCree = (TextView) rootview.findViewById(R.id.compteCree);
    ((RadioButton) rootview.findViewById(R.id.radioF_modif))
        .setOnTouchListener(radioButtonListener);
    ((RadioButton) rootview.findViewById(R.id.radioM_modif))
        .setOnTouchListener(radioButtonListener);
    /** Obtenir l'heure courante du calendrier */
    final Calendar c = Calendar.getInstance();
    year = c.get(Calendar.YEAR);
    month = c.get(Calendar.MONTH);
    day = c.get(Calendar.DAY_OF_MONTH);

    /** gestion affichage calendrier */
    final EditText txtCalendar =
        (EditText) rootview.findViewById(R.id.txt_modif_date_naiss_userProfil);
    txtCalendar.setOnTouchListener(
        new View.OnTouchListener() {
          @Override
          public boolean onTouch(View v, MotionEvent event) {
            datePickerDialog.show();
            return false;
          }
        });
    btn_modif_profil.setOnClickListener(
        new View.OnClickListener() {
          public void onClick(View v) {
            // Perform action on click
            modifierUtilisateur(v);
          }
        });
    // Initialisation des champs

    ParseUser us = ParseUser.getCurrentUser();
    pseudo.setText(us.getString("username"));
    mail.setText(us.getString("email"));
    SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy");
    dateNais.setText(sdf.format(us.getDate("birthday")));
    nom.setText(us.getString("lastname"));
    prenom.setText(us.getString("firstname"));

    String gender = us.getString("gender");
    if (gender.equals("M")) {

      radioM.setChecked(true);
    } else {
      radioF.setChecked(true);
    }

    /** Controle sur l'ancien mdp saisie */
    //     strAncienMdp = ancienMdp.getText().toString();

    /** Controle sur la confirmation de Mdp */
    final EditText password1 = (EditText) rootview.findViewById(R.id.txtMdp_modif);
    final EditText password2 = (EditText) rootview.findViewById(R.id.txtConfMdp_modif);

    strMdp = password1.getText().toString();

    /** vérification du mot de passe et de la confirmation de mot de passe */
    password2.addTextChangedListener(
        new TextWatcher() {
          public void afterTextChanged(Editable s) {
            String strPass1 = password1.getText().toString();
            String strPass2 = password2.getText().toString();
            if (!strPass1.equals(strPass2)) {

              password2.setError("Confirmation invalide");
            } else {
              password2.setError(null);
            }
          }

          public void beforeTextChanged(CharSequence s, int start, int count, int after) {}

          public void onTextChanged(CharSequence s, int start, int before, int count) {}
        });

    password1.addTextChangedListener(
        new TextWatcher() {
          public void afterTextChanged(Editable s) {
            String strPass1 = password1.getText().toString();
            String strPass2 = password2.getText().toString();
            if (!strPass1.equals(strPass2) && strPass2.length() > 0) {
              password2.setError("Confirmation invalide");
            } else {
              password2.setError(null);
            }
          }

          public void beforeTextChanged(CharSequence s, int start, int count, int after) {}

          public void onTextChanged(CharSequence s, int start, int before, int count) {}
        });

    /** Controle sur la taille du Mdp */
    password1.setOnFocusChangeListener(
        new View.OnFocusChangeListener() {

          public void onFocusChange(View v, boolean hasFocus) {
            if (!hasFocus && password1.getText().length() < 5 && password1.getText().length() > 0) {
              // code to execute when EditText loses focus
              password1.setError("mot de passe trop court: minimum 5 caractères");
            } else if (password1.getText().length() >= 5) {
              password1.setError(null);
            }
          }
        });

    /** Controle sur l'age de l'utilisateur min 18 ans */
    dateNais.addTextChangedListener(
        new TextWatcher() {
          public void afterTextChanged(Editable s) {
            int age = getYears(dateNais.getText().toString());
            if (age < 18) {
              dateNais.setError("Age min 18 ans");
            } else {
              dateNais.setError(null);
            }
          }

          public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            dateNais.setError(null);
          }

          public void onTextChanged(CharSequence s, int start, int before, int count) {
            dateNais.setError(null);
          }
        });

    datePickerDialog = new DatePickerDialog(getActivity(), pickerListener, year, month, day);
    return rootview;
  }