Code Monkey home page Code Monkey logo

homecenter's Introduction

HomeCenter

Projet ISN : Un système d'exploitation complet et flexible adapté pour une utilisation dans la maison. Projet libre d'accès et modification pour tous.

Projet réalisé par Julien REBOUL, Priscille VALLA et Pierre LACLAU au Lycée Jean Jaurès - St Clément de Rivière.

Bonjour

Installation

Le système utilise plusieurs librairies utiles pour gérer l'interface, récupérer des informations sur internet et autres.

Outils nécessaires :

  • Python 2.7 à télécharger sur le site officiel de Python.
  • Pygame, à télécharger et installer manuellement ici (télécharger la première version, "pygame-1.9.1.win32-py2.7.msi").
  • Feedparser, Cet outil permet de récupérer les titres de tout feed RSS (Le Monde, Facebook, Forums...), et nous l'utilisons dans l'application Actualités. A installer avec l'outil pip avec la commande :
pip install feedparser
  • Google Calendar API, module pris du site officiel de Google Developers. Permet de récupérer tous les agendas et calendriers d'un certain compte, nous l'utilisons dans l'application Calendrier. A installer avec l'outil pip avec la commande :
pip install --upgrade google-api-python-client
  • PYOWM, un module qui permet de récupérer les prévisions météo depuis le site www.openweathermap.com. A installer avec l'outil pip avec la commande :
pip install pyowm
  • Pushbullet, un service qui permet d'envoyer et recevoir des notifications entre plusieurs appareils connectés à un même compte. Nous nous en servons dans l'applications Actualités, où l'utilisateur voit les principaux titres sur notre système et peut ouvrir d'un clic l'article complet sur son portable. A installer avec l'outil pip avec la commance :
pip install pushbullet.py

Voilà, le système est prêt à tourner ! Vous pouvez maintenant télécharger le projet lui-même avec le bouton "Download" puis "Download ZIP" en haut à droite de cette page. Une fois le dossier téléchargé, lancez le fichier MainSC.py (avec IDLE par exemple), le fichier central, qui gérera l'exécution de tous les autres fichiers automatiquement.

Structure du projet

Image

Tout commence dans le fichier MainSC.py, qui sert de hub général entre applications, écrans, et messages (tactile, transitions...). Il crée la fenêtre, gère la création/destruction/rafraichissement des bons écrans. Pour lancer le système, lancez ce fichier (qui appelera tous les autres automatiquement).

Les fichiers les plus importants sont les fichiers xxxxScreen.py. Chacun d'eux est une de nos applications. A regarder :

StartScreen.py
HomeScreen.py
LockScreen.py

WeatherScreen.py
CalendarScreen.py
TimeScreen.py
NewsScreen.py

Les fichiers xxxxCollector.py sont les récupérateurs d'informations sur internet, comme CalendarCollector.py pour la récupération d'événements.

Les autres fichiers sont soit des fichiers 'outils' (Helpers.py, AnimationManager.py, TestScreen.py, ), des fichiers faisant partie de la plateforme 'interne' du système (gérer les écrans avec ScreenRedirector.py, reconnaitres les gestes tactiles avec TouchManager.py, distribuer des messages entre applications avec InputManager.py...) ou des composants moins importants comme les fichiers xxxxWidget.py (Widgets pas encore construits, seule la structure première y est).

Les fichiers .pyc sont à ignorer, ce ne sont que des fichiers générés automatiquement par python lors du démarrage de l'application.

Nagivation

Le rapport de notre projet se trouve également sur ce site. Pour y accéder, cliquez sur le lien "Wiki" en haut de cette page.

P.S. : Si vous avez des questions, n'hésitez pas à nous contacter. Bonne consultation 👍 !

P.S. 2 : Le projet est fait de 4023 lignes de code..


Pierre LACLAU, Priscille VALLA et Julien REBOUL, projet ISN au Lycée Jean Jaurès - St Clément de Rivière.

homecenter's People

Contributors

madeinpierre avatar outlawspirit avatar

Watchers

James Cloos avatar  avatar  avatar

Forkers

priscillegit

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.