rss
Affichage des articles dont le libellé est application. Afficher tous les articles
Affichage des articles dont le libellé est application. Afficher tous les articles

EMUI 5.0 Android 7 fiche pratique

EMUI 5.0 Android 7 fiche pratique


Retrouver une application:
- sur l'accueil, glisser le doigt vers le bas et saisir le début du nom de l'application.

- dans la liste des résultats taper sur l'application pour la lancer ou bien sur l'icône position de droite pour localiser son raccourci.


Applications masquées
- pour voir les applications masquées il faut faire un zoom sur l'écran d'accueil (séparer 2 doigts collés à l'écran).


- pour ajouter ou retirer (démasquer) une application masquée, il faut taper sur le [+] après la dernière application masquée:
Cochez les applications pour les masquer ou les décocher pour démasquer et les retrouver sur l'accueil.

Selenium Acceptance/Integration Tests for a Google App Engine application using maven-gae-plugin

Hi,
 this is just a little tip on how to setup selenium acceptance tests for a Google App Engine java application when using maven-gae-plugin.
  • First, be sure you are using an earlier version (> 0.9.6 release ; eg. the latest snapshot version) of maven-gae-plugin.
    Here is an extract of a pom for the plugin repository and selenium deps right here :

  <properties>  
     <selenium.version>2.15.0</selenium.version>  
     <maven-gae-plugin.version>0.9.7-SNAPSHOT</maven-gae-plugin.version>  
   </properties>  


 <pluginrepositories>  
     <pluginrepository>  
       <id>sonatype.snapshots</id>  
       <url>https://oss.sonatype.org/content/repositories/snapshots/</url>  
       <releases><enabled>true</enabled></releases>  
       <snapshots><enabled>true</enabled></snapshots>  
     </pluginrepository>  
 </pluginrepositories>  
     <!-- acceptance tests -->  
     <dependency>  
       <groupid>org.seleniumhq.selenium</groupid>  
       <artifactid>selenium-java</artifactid>  
       <version>${selenium.version}</version>  
       <scope>test</scope>  
     </dependency>  

  • Then, map the gae-start and gae-stop executions to the pre/post integration phases. This is an example of the plugin configuration :
      <plugin>  
         <groupid>net.kindleit</groupid>  
         <artifactid>maven-gae-plugin</artifactid>  
         <version>${maven-gae-plugin.version}</version>  
         <configuration>  
           <unpackversion>${gae.version}</unpackversion>  
           <serverid>appengine.google.com</serverid>  
           <appdir>${webappDirectory}</appdir>  
         </configuration>  
         <executions>  
           <execution>  
             <id>unpack</id>  
             <phase>validate</phase>  
             <goals>  
               <goal>unpack</goal>  
             </goals>  
           </execution>  
           <execution>  
             <id>deploy</id>  
             <goals>  
               <goal>deploy</goal>  
             </goals>  
           </execution>  
           <execution>  
             <id>gae-start</id>  
             <phase>pre-integration-test</phase>  
             <goals>  
               <goal>start</goal>  
             </goals>  
             <configuration>  
               <appdir>${webappDirectory}</appdir>  
               <port>9000</port>  
               <address>0.0.0.0</address>
               <sdkdir>${gae.home}</sdkdir>  
               <wait>false</wait>  
               <disableupdatecheck>true</disableupdatecheck>  
             </configuration>  
           </execution>  
           <execution>  
             <id>gae-stop</id>  
             <phase>post-integration-test</phase>  
             <goals>  
               <goal>stop</goal>  
             </goals>  
           </execution>  
         </executions>  
         <dependencies>  
           <dependency>  
             <groupid>net.kindleit</groupid>  
             <artifactid>gae-runtime</artifactid>  
             <version>${gae-runtime.version}</version>  
             <type>pom</type>  
           </dependency>  
         </dependencies>  

  • The next and last step is to write your acceptance test. Here is just a simple example :
 package net.mademocratie.gae.acceptancetest;  
 import org.junit.After;  
 import org.junit.Before;  
 import org.junit.Test;  
 import org.openqa.selenium.WebDriver;  
 import org.openqa.selenium.firefox.FirefoxDriver;  
 import static com.thoughtworks.selenium.SeleneseTestBase.assertEquals;  
 public class HomePageIT {  
   private WebDriver driver;  
   @Before  
   public void setUp() {  
     driver = new FirefoxDriver();  
   }  
   @Test  
   public void home_page_should_be_displayed() {  
     this.driver.get("http://localhost:9000");  
     assertEquals("Ma Democratie", this.driver.getTitle());  
   }  
   @After  
   public void tearDown() {  
     driver.quit();  
   }  
 }  

You should find a full running sample on the github repository of ma-dem-ae.
NB: (possible) related issue #5
PS: thanks to codeformatter for this post ;)
PS(bis): oO i just heard that CasperJS or cucumber.js could do the job too...

Any.do la gestion gratuite de tâches partagées

Any.do est un gestionnaire de tâches disponible sur mobile Androïd.

Des interfaces iPhone, Web, Chrome sont envisagées (béta ou bien sur invitation uniquement on ne sait pas trop..)

Pour moi, la fonction clé de cette application est l'apect partage privé collaboratif de tâches... mais tout n'est pas rose.

Pour présenter cette application rapidement, Any.do est une application au design moderne épuré qui permet de créer des tâches et de les organiser par date, ou par dossiers, ou par priorité (1 seul niveau de priorité uniquement).

Elle est accompagnée d'un widget qui présente (en assez grosse police) les 2 premières tâches de votre liste (avec une pagination).

Vous pouvez dicter vos tâches. çà fonctionne assez bien. Aussi sur un appel téléphonique manqué, Any.do vous propose de faire une tâche pour rappeler votre correspondant.

Associé à chaque tâche, vous retrouverez, un ensemble de notes, un caractère prioritaire ou non, une liste de partage, une possibilité de rappel. Pour l'ensemble des tâches, vous avez des possibilités de synchroniser avec google task, de faire des copies de sauvegardes ou de fouiner dans les anciennes tâches terminées.

Comme je l'ai dit, j'ai retenu Any.do pour l'aspect partage privé collaboratif d'une tâche :
  • A crée une tâche, tape dessus et ajoute à la liste de partage son ami B
  • B reçoit une notification et doit accepter la tâche
  • suite à cela, toutes modifications sur la tâche (ou notes sous-jacentes) seront notifiées de A vers B ou de B vers A.
Comme bon nombre d'application faisant intervenir les principes de synchronisation relativement difficiles à mettre en oeuvre, le point faible d'any.do se situe amha également là : la synchronosation avec google task n'est pas toujours parfaite et il m'est arrivé de me retrouver avec des doublons.

La collaboration de 2 personnes sur une tâche se passe généralement bien, mais il n'est pas rare de voir un conflit de modification mal géré (la dernière modification n'est pas toujours celle retenue).

Le produit n'est pas très vieux, attendons de voir la suite mais je vous invite déjà à tester cette application très utile (ou bien à m'indiquer une application meilleure ;)). En tout état de cause, merci à la petite équipe !

En synthèse, mes plus d'Any.do :

  • partage privé collaboratif de tâches
  • design et interface
  • gratuité

mes moins :

  • je n'ai pas pu accéder encore à une interface web
  • quelques dysfonctionnements de la fonction de synchronisation

Mad Waze versus Max ABE : les androïds de la route...

Waze comme ABonEntendeur -dite "ABE"- sont des communautés gratuites de la route (applications pour l'OS mobile Android).

Je ne pensais pas tout connaître avec ABE, et je ne suis qu'un jeune utilisateur Waze ("baby"), mais voici un petit retour point de vue Waze... 

Waze et ses avantages :

  • le calcul d'itinéraire; il vous propose votre trajet quotidien et il apprend avec le temps // ABE ne comporte pas de calcul d'itinéraire,
  • une vue en mode GPS // ABE s'arrête à une vue plan,
  • un "back office" de maintenance de la carte sur leur site Web waze.com accessible quand on est chez soi pour corriger les routes ! 
    • L'éditeur de carte est très bien réalisé : par exemple, en roulant, je notifie un défaut de carte pour le corriger arrivé chez moi, ou pour qu'un responsable de la zone le corrige,
  • très porté sur l'aspect communauté/social : possibilité de tchater (non testé), créer des groupes (je me suis amusé à créer "Travailleurs de Grenoble"), associer des comptes Twitter ou Facebook // ABE n'aborde que très peu ces aspects : ABE présente une carte - différente de la carte de navigation - de ping des autres usagers à proximité, et permet -pour un niveau 3- de voir les marques à la "petit poucet" laissées par d'autres usagers.
  • il semble que la communauté waze soit déjà importante... // difficile de jauger du volume des usagers!
  • l'équipe semble très dynamique : waze est en France (a priori) que depuis janvier 2010 // ABE semble également dynamique et n'a de cesse d'évoluer aussi
Waze et ses limitations :
  • assez gênant, l'application reste encore instable (pour les "premières fois" : premier trajet, premier bouchon, ...) : elle se ferme de temps en temps et ne se rouvre pas forcément correctement.
  • au niveau des menus, la signalisation d'évènements demande plus de taps (clics) que sous ABE (pas adapté si l'on roule..)
En d'autres termes, si vous voulez tout de suite quelque chose de professionnel qui fonctionne pour les radars, ABE semble fait pour vous..
Si par contre vous pariez sur le plus long terme, que vous avez une sensibilité aux côtés ludiques des applications, installez Waze.

Et vous, lequel utilisez vous ? peut-être en connaissez d'autres ?

Bonne route !

on the ro@d again


Mots clés du blog

10.1 4G acceptancetest adb androï Android androïd Android7 api appender appengine application applications archive array assistantematernelle astuce auth0 authentication authority automation Axis bash bearer blog boot bootloader bower build bundle c calendrier camille combal cdi certificate cf client cloudfoundry collaboratif command commandes connexion console css cyanogen decrypt démasquées démasquer développement dll dump easter eggs écologie écrit employeur EMUI EMUI5.0 encrypt enfant évènement export-package ExtJS fab fastboot fiche find firefox gadget galaxytab gelf gem git gmail gnupg gooelappengine google gparted gpg gpg2 gps graylog grenoble Grid gui harddrive heroku hover howto HTML http https IE ihm immobilier imprimante innovation insolite instance integration Java JavaScript jenkins jeu jobs json json-schema-validator key keystore labs linux livre log log4j logger logs lombok masquées masquer maven maven-gae-plugin Mémoire microsoft mobile mockito mondialisation monitor MUSE musique en ligne myopera nodejs npm NT NTEventLogger onglet openstack osgi paas package parameters parent php politique prosyst prototype proxies proxy quartz radio rappel recherche regex repository resize RIA ridge rock ROM route ruby rubygems s8500 samsung scheduler scm secret secure sel selenium Serializer server shared shell sign signature slf4j smartphone so société song spy ssh ssl struct swagger swig tâches téléphone téléréalité test thunderbird timeout token Tomcat tooltip tooltips truststore TWRP ubuntu unit test validator verify virgin virtualbox wave waze web WebApp wiki wikimedia wikipédia wikipen wiko windows windows10 yahoo youtube yum