(function(VT, window) {

  "use strict";

  // Déclaration des variables
  var _rootEl; // Élement racine de notre application
  var _todos = []; // Notre liste de todos
  var document = window.document; // Alias

  /***************
   * API publique
   ***************/

  /*
   * "Monte" l'application VanillaTodo sur l'élément du DOM
   * correspondant au sélecteur CSS donné
   */
  VT.mount = function(selector) {

    _rootEl = document.querySelector(selector);

    if(!_rootEl) {
      throw new Error('Invalid selector "'+selector+'" !');
    }

    _todos = _loadTodos();

    // A vous de compléter !

  };

  /**************
   * API privée
   **************/

  /*
   * Charge les tâches depuis le localStorage
   *
   * Retourne les tâches sous la forme d'un tableau d'objets
   */
  function _loadTodos() {
    var todosStr = window.localStorage.getItem('vanillaTodos.todos');
    return JSON.parse(todosStr || '[]');
  }

  /*
   * Sauvegarde le tableau de tâches donné dans le localStorage
   *
   * Ne retourne rien
   */
  function _saveTodos(todos) {
    var todosStr = JSON.stringify(todos);
    window.localStorage.setItem('vanillaTodos.todos', todosStr);
  }


}(this.VanillaTodos = this.VanillaTodos || {}, window));