Giter VIP home page Giter VIP logo

proq's People

Contributors

konfiot avatar remi-dupre avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

proq's Issues

Faire un port d'extension et permettre la création de plugins

Au passage, ca serait cool de tirer parti de la connectique GPIO du RPI pour faire un port d'extension, pour pouvoir rajouter des modules externes, et faire des plugins et tout et tout.
Pour faire des modules externes "physiques", on pourrait faire une sortie I2C, comme ça le module peut demander périodiquement des infos au réveil. On aurait donc le RPI en slave et le module externe en master
Et puis pour faire des modules internes, bah un espece de magasin d'applications ou un truc du genre, avec une API pour acceder aux fonctions du réveil

Mais du coup faudrait un peu repenser l'architecture du code (Enfin de toutes façons faudra le faire, parce que la ca commence à devenir un peu crade ...)

Créer un système de mise à jour

Faudrait pouvoir créer un système de mis à jour, mais dans ce cas il faudrait bien séparer

  • La branche de développement, ou les bugs et regressions peuvent arriver à tout moment
  • La branche stable, sur laquelle ne sont présentes que les versions et les patchs vérifiés, qui ont passé des tests, et dont on est sur qu'aucun bug n'est apparu.

Le système doit être

  • Fiable (pas que le truc reste bloqué)
  • Indépendant du code qui s'éxécute pour faire marcher le réveil (Genre c'est pas le script qui gère l'écran qui devra avoir la mise à jour à charge
  • Sans redémarrage
  • Aussi rapide que possible
  • Stable, et assez modulable et simple afin que le système de mise a jour n'ait pas à être mis à jour
  • Sécurisé, pour qu'il ne soit pas possible à n'importe quel tanguy d'envoyer une version pourrie (La sécurisation pourra se faire via un encryptement des données et une signature de la part de celui qui met à jour
  • Ne doit pas impacter le temps de démarrage du réveil (Donc doit être lancé après le démarrage)

Gérer les ancres

Au chargement de la page et lorsque l'on veut retourner en arrière

Menu de configuration

Créer sur l'écran un menu de configuration qui permet de modifier les paramètres essentiels

  • Heure de réveil
  • Durée du snooze
  • Action suite au passage au dessus du capteur de proximité
  • Infos à dicter, à afficher

Faire un truc stylé de rapport d'erreur

Faudrait faire un truc trop classe, comme dans windows ou tu peut envoyer des rapports d'erreur quand ça plant, comme ca on peut s'apercevoir des bugs, et c'est trop stylé

Créer un script qui permet de créer une image complète du système

Il faudrait faire un script qui permet de créer une image complète du système, directement installable sur le rpi via un simple dd, pour ça, il faut

  1. Cloner le dépot git
  2. Télécharger l'image du système vierge
  3. Monter l'image du système
  4. Copier le contenu du dépot dans l'image
  5. Démonter l'image

Après on peut recréer cette image à chaque commit (Travis-ci) et ainsi créer un build "nightly". et ensuit on crée une image "stable" à chaque version stable du projet.
Ensuite, grâce à travis, on peut envoyer le tout sur un site de téléchargement (SourceForge)

Bootstrap v3 ?

Twitter à fait il y a peu une version 3.0 de bootstrap
A première vue ca semble inspiré du look style métro, carré et uniforme
Perso je trouve toujours bootstrap v3 plus jolis, mais autant être à jours ... Donc je te demande ton avis

Gestion WebRadio

Il faudrait pouvoir gérer les wabradios avec :

  • Une liste de radios "connues" dans laquelle on peut choisir celle voulue
  • Un champ texte pour renseigner un flux à lire, pour les radios moins connues

Ca doit pouvoir être configurable depuis l'UI web et depuis l'écran (Seulement dans une liste depuis l'écran)

UI web

Créer une interface de configuration web permettant de modifier les paramètres suivants :

  • Alarmes (Choix de l'heure mais aussi des jours de la semaine)
  • Sonnerie (MP3 ou Webradio)
  • Infos affichés à l'écran et dites par la synthèse vocale
  • Adresse du calendrier à synchroniser
  • infos du compte mail à vérifier

Virer les versions non minifiées de bootstrap

Faudrait penser à virer les fichiers non minifiés de bootstrap, parce que ca sert pas a grand chose, en plus ca fausse légerement les stats, après on va croire que je bosse pas ...

Choisir la direction par rapport à l'insertion de SaaS dans le projet

Bon, étant donné que pleins d'idées sortent a ce sujet, je crois qu'il faut trancher entre :

  • Garder uniquement le réveil dans le réseau local, ne pas pouvoir y accéder depuis l'extérieur.
  • Installer des application dessus, comme un hébergement de fichier, des news, etc et ouvrir les ports entrants vers le réveil

Cette ouverture pose plusieurs difficultés :

  • Consommation de ressource serveur plus importantes
  • Sécurité
  • Trouver un moyen facile pour configurer (Ouverture des ports par UPnP ?)
  • Utilité pour un consommateur final ?
  • Espace disque réduit (Utilisation du port USB ?)
  • Uptime incertain
  • Bande passante pas super entre local et extérieur
  • IP dynamique dans la plupart des cas

Liste non exhaustive, à compléter, mais d'un autre côté, ça peut avoir plusieurs avantages et arguments en sa faveur :

  • Auto hébergement : Séparation de services d'une compagnie privée => préservation de la vie privée et maitrise de ses données
  • Bande passante plus importante en local (sauf si wifi)
  • Espace disque plus important (Avec une clé USB insérée) que les services en ligne gratuits comme dropbox

Trouver un nom

Faudrait quand même trouver un nom pour notre projet, je veut dire un truc qui claque, et qui fait pas technologie révolutionnaire pour dentifrice

Trouver un moyen d'interagir facilement avec l'utilisateur via l'écran

Faudrait trouver un moyen pour que l'utilisateur puisse facilement interagir avec le réveil pour voir affiché ou dit la météo, les mails ou l'agenda par exemple,
J'ai pensé à un écran tactile, mais c'est un peu bof, faudrait trouver quelquechose de plus innovant et de plus pratique surtout

Sonnerie

Gestion d'une sonnerie, configurable via l'UI web et possiblement par l'écran au format Mp3 ou WAV par exemple qui est une sonnerie de réveil

Designer boitier

Il faut créer et designer un boitier, deux solutions :

  • Machine a prototypage rapide, dessin en 3d dans un fichier STL
  • Mode "normal", en découpant des formes élémentaires et en les assemblant

Rédiger une doc

Rédiger une doc et un manuel utilisateur pour expliquer comment configurer le réveil, notamment par l'UI web

Detection proximité

Détection de proximité en haut du boitier de la main de l'utilisateur pour activer ou le mode snooze ou pour désactiver l'alarme (Si détécté pendant 3s+ par exemple)

Chiffrer les mots de passe

Faudrait trouver un moyen pour encrypter les mots de passes contenus, si ce n'est qu'en base64 (ce qui n'est en soi pas un cryptage) ou en AES avec une clé générée à l'install, protégée ou non par une passphrase qui permettera de décrypter tous les mots de passe

Faire une icone

Qui a la classe
Je me prévoit ça pour fêter mon 42 ème commit si j'arrive à faire un truc sympa

Récuperer les news

Encore un truc à faire, trouver un système pour récuperer les news, ou par un flux RSS, ou en utilisant la nouvelle API feedly, l'avantage de feedly, c'est que on pourrait récuperer le nombre de news non lues.

Gestion Ecran

Utiliser un écran LCD (de 2" à 3" au choix) permettant d'afficher des infos telles que

  • L'heure
  • La météo
  • Le nombre de rendez vous dans la journée et le nombre de mails non lus
    Liste a adapter en fonction de la lisibilité attendue sur l'écran*

Possiblement, le choix des éléments à intégrer devra être configurable depuis l'UI web seulement (C'est pas critique et c'est plus inutile qu'autre chose de le faire direct sur le réveil)

Ampli Haut parleur

Concevoir un ampli pour transformer le signal sortant du jack du Rpi en courant et tension plus forts pour alimenter un haut parleur + ajout d'un potentiomètre pour ajuster le volume

Implémenter un max de providers pour les news

Faut implémenter un maximum de fournisseurs de news parce que depuis la fin de google reader, y'en a plein de nouveaux et aucun qui domine hégémoniquement Donc parmis ces fournisseurs de données, y'a :

  • NewsBlur * (Version Hébergée ou Auto Hébergée)
  • The Old Reader
  • Tiny Tiny RSS *
  • Leed * (L'API est un plugin, donc on va attendre ...)
  • Feedly (Besoin de clé développeur)
  • Yoleo (S'ils sortent une API)
  • AOL reader (Si quelqu'un peut inventer une API plus pourrie que ça, qu'il me le dise, parce que ca atteint des sommets ... + Besoin de clé developpeur)
  • Digg reader (Pour l'instant sans API)
  • NewsVibe (Sans API)
  • Pulse (Aussi sans API)
  • Selfoss * (User/Mdp optionel)
  • BazQux
  • CommaFeed *
  • Kouio (Juste un token)
  • InoReader
  • FeedHQ
  • FeedBin (Payant, mais on pourra toujours essayer de demander un compte gratos comme on développe une app)
  • Birdreader * (User/Mdp optionel)
  • FeedWrangler (Payant)
  • Miniflux *
  • Hive (Sans API)
  • Feedreader (Sans API)
  • RSSDose (Payant + Clé développeur pour l'API)
  • Fez (API Prévue)
  • FreshRSS (Sans API)
  • SubReader
  • Reedah
  • Sismics reader *

(*) Lecteur auto hébergé

Voila, sachant que la liste est susceptible de s'agrandir à tout moment, mais en tout cas, ça me fait pas mal de taf ^^

Carte Alimentation

Concevoir une carte d'alim pour transformer un courant secteur en :

  • 6-15VDC (à confirmer) Pour alimenter l'écran
  • 5VDC pour alimenter le RPI

D'autres tensions pourront s'ajouter en fonction des éventuels ajouts

Strcuturer le code

Pour l'instant mon code python est un peu un bazar sans nom, donc faudrait que je mette un peu d'ordre dans tout ça

Optimiser la recherche des radios

Pour la recherche des radios, ce qui prends du temps, c'est de chercher toutes les adresses de tous les resultats, ce qu'il faudrait faire, c'est ne pas aller chercher ces adresses, et ne les afficher que quand la radio est selectionnée

Choisir la police avec laquelle est affichée l'heure

Faudrait pouvoir avoir une option dans l'interface pour pouvoir changer la police des înfos et pour pouvoir importer des polices.
Par contre ça j'ai aucune idée de comment faire, ni pour lister les polices déja installées, ni pour en importer de nouvelles.

Synthèse vocale

Possibilité de synthèse vocale, qui énonce

  • Le nombre d'emails non lus
  • Le nombre et les évènements de la journée
  • La météo du jour

Les infos énoncées doivent pourvoir être configurables depuis l'UI web

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.