Rédigé par jerome aucun commentaire
02 mars 2014 Private aucun
J'ai décidé d'apprendre un langage : python.
De cette envie a découlé la question : comment faire pour apprendre à coder seul ?
En effet, si j'ai appris la plupart de mes connaissances seuls, je crois que cette technique à des limites et qu'il me semble important de rapidement confronter à l'Autre. De son expérience, sa vision découlent toujours quelquechose de positif qui fait progresser (y compris celui qui conseille je le crois) plus vite
C'est avec cette idée et un vibrant écho reçu du côté de
l'AFPY suite à une discussion avec Nelle Varoquaux, présidente de ladite association que je (nous) souhaite(ons) présenter ici le compte rendu de cet "exercice". Je dis "nous", car comme il me le proposait, celui qui a endossé le rôle de mon mentor suggérait à raison qu'il serait bien d'avoir son point de vue également
L'idée est de faire partager l'expérience pour éventuellement la généraliser, l'étendre (?)
Vos réactions, propositions, envies... ne sont donc pas que bienvenues mais souhaitées !
Lire la suite de Projet de Mentoring Python
Rédigé par jerome aucun commentaire
24 janvier 2014 Private aucun
Tout ce qui n'est pas partagé est perdu !
LIENS
Raspberry media player casing
Un article sur l'excellent Instructable proposant l'intégration d'un Raspberry dans un boitier avec la connectique délocalisée
An Internet Radio player made with a Raspberry Pi!
Encore un article sur Instructable pour un boitier radio en lien avec Pandora
Web Radio réveil sur Raspberry
Un projet similaire de développement (assez basique mais pas intéressant + pas de matos + boitier)
Ora Ito
qui a maintenant son propre site / agence renommée a construit sa carrière sur la refonte d'objet "connu"... sur le même modèle pourquoi ne pas repenser par exemple toute la gamme withings ?? serait top :) . D'ailleurs peut être que faire UN objet par fonction serait plus "facile / pertinent" que de le penser "modulaire" ?
connected-objects.fr
Un blog qui ne s'intéresse et ne présente que des objets connectés (pas très intéressant, certainement un blog pour gagner en référencement mais au moins une bonne bibliothèque.
- Des projets d'interface audio pour embed hardware (Raspberry Pi)
BEEP : A Device That Syncs Music Throughout Your Whole House
Un projet d'objet permettant la synchro musicale depuis différentes pièces (par des "ex-Google")
Rédigé par jerome aucun commentaire
15 janvier 2014 Private aucun
CDC APICLOCK
Table
Objectif
Prérequis fonctionnels
Fonctionnalités
- 1 Front Office
- 1.1 Page d'accueil
- 1.2 Page d'accueil connecté
- 1.3 Page d'ajout d'alarme
User case
Schémas fonctionnels
MCD
Acces
------------
CODE
FRONT
BACK (ssh sur le Raspberry Pi)
- Acces : ssh root@88.170.96.197 -p 2230
- Code : apiclock
- Dossier (clone du Git) = /home/pi/GIT/apiclock
- Lancer "python jerome.py" puis aller à l'adresse Front
Objectif
------------
Définir un document bordant fonctionnellement le champ d'application minimal de l'objet connecté APICLOCK. L'APiClock est un réveil connecté évolutif accessible depuis une webapp. Totalement développé en python sur la base d'un raspberry Pi , l'ensemble du hardware composant l'APiClock (alimentation, Enceintes, Raspberry, clef Wifi) est contenu dans un boitier aux spécifications disponibles (plan 2D disponible sur demande)
Prérequis fonctionnels
------------
- Utilisation langage PYTHON
- Accessibilité Web de l'interface sur la base du framework Python FLASK
(le T2 verra des interactions matérielles)
- Plateforme matérielle = Raspberry Pi
Fonctionnalités
------------
Listing
- Afficher Heure
- Inscription
- Connexion depuis compte Google / Twitter (Google / Twitter connect)
- Ecoute radio streaming depuis une liste (ajout / suppression / modification)
- Gestion de podcast (ajout / suppression / modification)
- Gestion de la musique : morceau / rép. (ajout / suppression / modification)
- Programmation d'alarme
- Affichage des RDV (récup depuis Google Cal)
- Affichage Météo
- Affichage nombre mail reçu non lu (Gmail) / Nbr Tweet (DM / Mentions)
- Gestion de la langue
- Personnalisation
1 Front Office
1.1 Page d'accueil
Actions possibles :
- Lire l'heure
- Visualiser le prochain RDV
("Prochain RDV dans 3h") avec possibilité d'en savoir plus --> connexion nécessaire
- Connexion depuis un compte GOOGLE / TWITTER
- Inscription
Si l'utilisateur est déjà inscrit / connecté, l'interface présente son couple login / mot de passe (masqué) avec la case "Se souvenir de moi" cochée par défaut.
Formulaire d'inscription, il demande les champs suivants: Nom* / prénom / langue (défaut = Fr) / mail*
(* : champ obligatoire)
Le mail doit il être vérifié ??
Il n'existe qu'un seul compte utilisateur, en effet le contraire pourrait provoquer des problèmes lors de la programmation d'alarme (par ex. 2 alarmes définies au même moment avec des stations différentes…)
L' utilisateur est enregistré (ainsi que ses préférences cf. config générale) en BDD
1.2 Page d'accueil connecté
Les utilisateurs connectés sont redirigés vers la page d'accueil connectées qui donne accès à toutes les infos avec possibilité de les modifier directement (configuration)
Actions possibles :
- Lire l'heure
- Visualiser les prochaines heures de réveil (Demain heure début / Titre alarme (durée) / type d'alarme (musique / radio / podcast) + bouton "AJOUTER UNE ALARME"
- Accéder à la programmation d'une SIESTE
- Visualiser les 5 prochain RDV (+ lien accès vers le googleCal)
("Aujourdhui : 15h30 : Titre RDV / LIEU / descriptif " + lien vers détail GoogleCal)
- Visualiser les données sociales
("Nbr de mails non lus // DM twitter reçus // Mentions Twiiter" + lien vers Gmail / Twitter)
- Affichage de la météo
Pour chacun des services proposés, si l'utilisateur n'est pas connecté (par exemple pas de compte GoogleCal configuré) il lui est proposé d'un créer / configurer un
1.3 Page d'ajout d'alarme
Les utilisateurs connectés ont sur toutes les pages la possibilité d'ajouter une alarme
Une Alarme se définit comme suit :
- Titre (champ txt 50 char.)
- Fréquence (Tous les jours / jours de la semaine / ts les jours sauf le we / Demain)
- Heure de début / durée
- Type :
- Musique : Définition d'un mp3 depuis une liste (de morceaux et/ou répertoire)
- Radio : Définition depuis une liste
- Podcast : définition depuis une liste
- (Chaque type donne la possibilité d'ajouter / modifier / supprimer la liste)
La confirmation de l'ajout d'une alarme, provoque une alerte "Alarme programmée" et au click sur ok redirige vers la page d'accueil connectée avec la mise à jour de l'alarme (si click sur annuler : retour sur la page ajout d'alarme avec les données pré saisies en mode édition)
1.3 Page configuration générale
Les utilisateurs connectés ont sur toutes les pages la possibilité d'accéder à la config. générale.
Celle-ci propose les éléments suivants :
- Rubrique profil (reprise des champs formulaire d'inscriptions / récup depuis Google) en édition
Fonctions
------------
Détail des fonctions à mettre en place :
- Récupérer l'heure, l'afficher
- Installation MPD + gestion de la config (sortie son : jack / usb)
- Gérer - ASM - , récupérer, afficher et jouer les radios de la playlist MPD
- Récupération depuis web d'un fichier de listes Radio, parsing, création d'une base, insertion
- Gérer - Administration - de l'accès Wifi (fichier /etc/network/interfaces)
- Gestion Google / Twitter connect
- Gestion API Google Cal
- Gestion utilisateur / enregistrement des infos (inscription) en base
- Gestion des alarmes - ASM - par Crontab (ou autre)
- Gestion site Web sécurisé multilingue
- Gestion de musique (uploader / jouer / supprimer)
- Gestion input / output (bouton On / Off)
Use case
------------
Réveil = Raspberry pi connecté au web (filaire et/ou Wifi) + à la chaîne (Audio = jack out mais potentiellement Dac USB)
- Un utilisateur se connecte depuis son mobile à son réveil
- S'identifie (reconnu en tant qu'admin) et constate qu'il n'a pas d'alarme prévue pour les lundi
- Ajoute un podcast (en ajoutant le RSS du podcast souhaité)
- Ajoute et nomme une alarme pour tous les lundi
- Choisi de se faire réveiller pour cette alarme par le podcast ajouté
- Valide et le lundi suivant l'alarme se déclenche (lancement de MPD sur le réveil)