Pétition: pour une gestion sociale des déchets

Suite à la suppression des containers à PET et à Compost des écopoints de la ville de Vevey, et aux solutions compliquées et inapplicables proposées par le services des espace publiques, – jeter les déchets végétaux dans des sacs taxés – nous avons décider de pétitionner:

compost

Des déchets organiques pour toutes et tous.

Depuis le 7 avril 2014, les déchets organiques ne peuvent plus être ramenés aux écopoints de la ville de Vevey. Il incombe dorénavant aux gérances et propriétaires d’installer des containers aux normes strictes (taille et couleur) dans les immeubles et maisons, ce qui n’est pas toujours possible, en particulier dans les anciens bâtiments.

Contactée par téléphone la direction des espaces publics justifie cette décision en raison des incivilités constatées dans les écopoints, notamment par la présence de déchets non conformes. Et lorsqu’il est difficile, voire impossible, d’équiper un immeuble avec un container, les solutions proposées sont soit d’investir dans l’achat d’un lombricomposteur, soit de jeter purement et simplement les déchets organiques dans des sacs taxés !

Face à cette décision prise dans la précipitation, nous pensons que les solutions avancées favorisent les inégalités sociales, tout le monde n’étant pas égal lorsqu’il s’agit d’acheter un lombricomposteur ou des sacs taxés supplémentaires.

D’autre part, la diminution des incivilités pourrait aussi passer par une meilleure information à la population, notamment sur les différentes techniques de valorisation des déchets. Mais aussi par des infrastructures adaptées aux écopoints qui permettent de répondre à l’augmentation de la quantité de déchets organiques (prévisible et souhaitée) avec l’introduction de la taxe au sac en 2014.

Des mesures d’accompagnement qui accompagnent vraiment !

Au moment de l’introduction de la taxe au sac, la Municipalité de Vevey a mis en place des mesures d’accompagnement.

L’une d’elle concerne les enfants de moins de 3 ans qui peuvent bénéficier de 50 sacs gratuits de 35 litres par année. Le représentant légal peut les retirer à l’hôtel de ville sur présentation d’une pièce d’identité.

Si l’on peut se féliciter de cette décision, l’on peut par contre regretter que cette information n’ait pas été correctement communiquée aux familles concernées. En effet, seuls le bouche-à-oreille ou une recherche sur le site de la ville de Vevey permettent à ce jour d’être informé de cette mesure et donc d’en bénéficier.

Au vu de ce qui précède et par ma signature, je demande à la municipalité de Vevey :

  • de mieux informer la population veveysanne sur le tri et la valorisation des déchets ;
  • de remettre à disposition les containers publics pour les déchets organiques dans les écopoints;
  • d’envoyer un courrier postal à tous les ménages avec un enfant de moins de 3 ans pour les informer des mesures d’accompagnement relatives à la distribution gratuite de sacs taxés.

Participez!
La pétition est à remplir d’ici au 31 mai 2014 et à retourner à Pétronille Courvoisier, Rue du Conseil 33, 1800 Vevey

Première application Android: Earthquake

Aujourd’hui je vais refaire l’application donnée en exemple dans le livre de Reto Meier Professional Android 2 Application Development publié chez Wrox. (ISBN: 978-0-470-56552-0) http://www.wrox.com/WileyCDA/WroxTitle/Professional-Android-2-Application-Development.productCd-0470565527.html

En effet depuis que le USGS a modifié ses flux d’information, l’application plante au démarrage devenant inutile. Et comme j’aimais bien avoir des info sur les tremblements de terre, autant la mettre à jour. De plus ce sera l’occasion de travailler avec l’API OpenStreetMap pour Android.

Installer l’environnement de travail

Je commençe par télécharger un environnement de développement approprié: Android Studio. http://developer.android.com/sdk/installing/studio.html

Je l’installe et je la lance. Oups! Un message d’erreur…

Error launching Android Studio

Ok, visiblement il ne trouve pas le chemin de mon JDK Java.
Je réinstalle le Jdk java dans sa dernière version. http://www.oracle.com/technetwork/java/javase/downloads/index.html

Mais ça plante toujours avec le même message d’erreur. Heureusement Stackoverflow me donne la réponse. En fait il faut ajouter deux chemins dans les variables d’environnement:

  • JAVA_HOME: le chemin jusqu’à la racine du JDK.
  • PATH: le chemin jusqu’au répertoire bin du JDK
JAVA_HOME    C:\Program Files\Java\jdk1.7.0_40\jre
PATH         C:\Program Files\Java\jdk1.7.0_40\jre\bin

On redémarre l’Android Studio.

Android Studio

Une jolie mire: tout se passe bien.

Je crée un nouveau projet : File > new Project.

Je remplis les  informations utiles pour mon projet.

Nouveau projet 1 / 4 Nouveau projet 2 / 4 Nouveau projet 3 / 4 Nouveau projet 4 / 4

Et il crée l’arborescence initiale, compile les fichiers nouvellement créés
Building gradle
et nous affiche un Hello World dans un joli Nexus 4.
Environnement de développement

Travailler avec Open Street Map

Je vais utiliser osmdroid (http://code.google.com/p/osmdroid/) qui permet d’afficher une carte issue d’OpenStreetMap (http://www.openstreetmap.org). Il s’utilise gratuitement et sans Clé spécifique à l’application, contrairement à Google Map.(https://developers.google.com/maps/documentation/android/)

Je télécharge donc le Jar de osmdroid et celui de SLF4J Android dont osmdroid dépend.

et je copie ces deux Jar avec l’explorateur windows dans un dossier libs dans le dossier Earthquake de mon projet, à coté de src et build.

copie-libs

Dans Android Studio, je vais inclure les 2 bibliothèques de code.
Dans l’arborescence du projet, je sélectionne les 2 éléments et un clic droit m’affiche le menu suivant:
add_as_library

Je choisis Add as library.

Maintenant je peux éditer le fichier src/main/res/layout/activity_main.xml.
Je supprime le Hello World par défaut et je mets un Mapview à la place:

    <org.osmdroid.views.MapView
        android:id="@+id/mapview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
    />

Il faut aussi ajouter ceci dans le fichier  src/main/AndroidManifest.xml pour que l’application charge le Mapview et que le Mapview puisse fonctionner.

 <uses-library android:name="org.osmdroid.views.MapView" />
 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
 <uses-permission android:name="android.permission.INTERNET" />
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

J’édite le fichier MainActivity.java avec ce code:

package ch.moutons.earthquake;
import android.os.Bundle;
import android.app.Activity;
import org.osmdroid.views.MapView;
import org.osmdroid.tileprovider.tilesource.TileSourceFactory;
import org.osmdroid.util.GeoPoint;
import org.osmdroid.views.MapController;
import org.osmdroid.views.overlay.OverlayItem;
import org.osmdroid.views.overlay.ItemizedOverlay;
import org.osmdroid.views.overlay.ItemizedIconOverlay;
import org.osmdroid.ResourceProxy;
import org.osmdroid.DefaultResourceProxyImpl;
public class MainActivity extends Activity {
    MapView map;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        map = (MapView) findViewById(R.id.mapview);
        map.setTileSource(TileSourceFactory.DEFAULT_TILE_SOURCE);
        GeoPoint startPoint = new GeoPoint(52370816, 9735936);
        MapController mapController = map.getController();
        mapController.setCenter(startPoint);
        map.setBuiltInZoomControls(true);
        mapController.setZoom(2);
        map.setUseSafeCanvas(true);
        map.setUseDataConnection(true);
    }
}

Je teste en appuyant sur le bouton Run run pour lancer la compilation et tester dans le debugger.
Premier essai
On voit que l’application c’est chargée et que le zoom fonctionne mais osmdroid n’affiche pas les images de la carte. C’est peut-être dû au debugger. Effectivement en exportant sur mon téléphone la carte s’affiche.

2013-10-06 12.13.16

Ok, ça roule !

Coordonnées géographiques

Je vais maintenant coder une class pour chercher les coordonnées géographique des épicentres des tremblements de terre.

L’USGS (United States Geological Survey – http://www.usgs.gov/) publie sur son site les informations sur les derniers tremblements de terre recensés: http://earthquake.usgs.gov/earthquakes/feed/v1.0/.

J’utiliseGeojson (http://geojson.org/) pour décoder le flux JSON de l’USGS une fois les coordonnées rassemblées dans un HashTable, on peut les afficher sur la carte.

Au clic on affiche un Toast http://developer.android.com/guide/topics/ui/notifiers/toasts.html

ET au final, j’obtiens cette magnifique carte avec ses tremblements de terre.

2013-10-08 09.11.20

Télécharger le fichier apk: earthquake.apk (808Ko)
Télécharger le code source de l’application: EarthquakeProjectzip (6Mo)

Google Maps

J’ai révisé mes cartes interactives pour les passer à la version 3 de l’API de Google.

Vous trouverez:

Recherche sur Twitter

Twitter a lancé dernièrement un sous-domaine consacré à la recherche de tweets.

http://search.twitter.com/

Le plus intéressant reste, sans doute, l’option recherche avancée qui permet de chercher :

  • des personnes avec les opérateurs from: et to:.
  • par localisation géographique avec les opérateur near: et within:.
  • par période de temps since:YYYY-MM-DD et until:YYYY-MM-DD.
  • par attitude : lors de l’utilisation des smileys :) et :( et des question (?)
  • par présence de liens filter:links ou de retweets  include:retweets

Il est donc possible de filtrer les tweets pour découvrir de nouvelles choses ou se tenir informé.

Le centre de Google Map

Pour obtenir le centre d’une carte Google Map; il suffit de taper ce javascript dans la barre d’adresse du navigateur:


javascript:void(prompt('',gApplication.getMap().getCenter()));