Pourquoi les Africains produisent peu ?

Bonjour cher amis internautes, le titre de mon article de ce jour est assez sévère me direz-vous, mais est-ce loin de la réalité vous répondrais-je ??

En effet à l’ère de la vulgarisation d’internet et nouvelles évolutions des TIC la question doit se poser, pourquoi nous Africains en général et Camerounais en particulier produisons peu ? Je vais dans ce billet essayer de donner des éléments de réponses, mais bien sûr ce qui va suivre n’est pas la seule raison qui explique ce manque de créativité de notre part, mais juste un début de réponse je l’espère.

En 2013 j’ai assisté au Barcamp Buéa, c’était une journée assez originale et franchement j’ai bien aimé. Pour rappel un Barcamp c’est une rencontre non-conférence ou des personnes de tout bord ( pas seulement informaticien ) se réunissent et échanges leur expérience sur des points pouvant aider la communauté ou les membres de la communauté à monter en compétence dans leurs taches.

Au cours du Barcamp Buéa, un des intervenants dont j’ai oublié le nom ( co-fondateur djosstv ) a dit quelque chose d’assez élogieux, il a en effet au cours de sa présentation dit vaguement l’une des raisons de l’échec que nous rencontrons dans la productivité de nos projets. Au Cameroun, chaque développeur veut toujours faire le projet du siècle, il faut que mon application fasse ceci, face cela, ait telle fonctionnalité, etc …

Tout cela est bien, mais est-ce nécessaire au lancement de votre projet ?? Non !!!! Je m’explique :

Chaque projet a une fonction précise, autour de laquelle on peut en greffer d’autres en fonction de l’évolution du projet. Regarder les sites de grandes envergures tel Facebook, Twitter, Google, etc …. À leur lancement aucun de ses sites n’avait les fonctionnalités qu’ils ont aujourd’hui, les créateurs de ses sites ont compris très vite qu’il fallait dans un premier temps se concentrer sur l’essentiel et ceux pour 2 raisons principales

  • Créer rapidement ( en quelques jours ) notre projet
  • Rendre notre projet accessibles et attendre le retour des utilisateurs.

Vous voyez un peu le concept ?? Que de passer 4 à 6 mois voir plus à développer un projet, autant mieux le faire rapidement, c’est-à-dire implémenter le stricte nécessaire rapidement et si le concept du projet est accepté des utilisateurs, alors faire évoluer l’application et cela permettra de s’assurer que lorsque le projet sera fini et bah, il aura des utilisateurs quasi assuré.

On pourrait aussi prendre exemple sur la plateforme djoss TV, elle a été développé en 2 semaines et à son lancement des fonctions basiques tel la récupération du mot de passe n’était pas disponible, pas parce que les développeurs ne pouvait pas le faire, mais parce que c’était pas cela le but du projet. Au lancement la team Djoss TV c’est appesanti sur l’objectif principale : permettre aux gens de partager via leur plateforme ce qu’il voit à la TV. Le concept a séduit beaucoup de monde et par la suite le site a évolué.

Un contre-exemple de la mauvaise façon de procédé est un projet dans lequel j’avais travaillé à l’époque, l’idée du projet était simple : mettre en place un espace d’échange académique entre étudiants, au lieu de développé d’abord cette principale fonction; le promotionnaire du projet a voulu faire un pack complet de plusieurs fonctions; conséquence : le projet a mis 6 mois à être finalisé et au final il n’a plus qu’à une très faible poignée de personnes.

Ces deux exemples prouvent à quel point le respect de ce principe qui consiste à se concentrer uniquement sur l’essentiel lors de la réalisation de son projet permet non seulement de réaliser son projet, mais aussi de gagner en ressources en évitant en amont un éventuel échec de son projet.

Et vous que pensez-vous de cette approche ??

Créer une instance Google Cloud SQL et s’y connecter avec PHP

Bonsoir, pour ce soir nous allons voir comment créer une instance Google Cloud SQL et comment s’y connecter avec PHP !!

Comme vous le savez, la tendance est au Cloud ces derniers temps, dans un de mes précédents articles je présente un peu la chose. Avec sa plateforme d’hébergement d’applications AppEngine, Google propose ainsi aux développeurs de pouvoir déployer leurs applications sur sa plateforme, comme toute solution Cloud Computing, AppEngine permet aux développeurs de se concentrer uniquement sur son application et de laisser tout ce qui est infrastructures à celui qui offre l’offre Cloud (Google dans le cas présent ).

De même que pour les applications, les bases de données sont aussi présentes dans le Cloud, c’est ainsi que dans l’offre AppEngine, Google a mis aussi à la disposition des développeurs le Cloud SQL. Le Cloud SQL c’est en fait une base de données MySQL dans le Cloud, le principe est donc le même, vous avez votre BD mais vous ne savez ou sont stockés vos données.

Toutefois, le principe de fonctionnement est quelque peu différent ici, on n’accède pas directement à la base de donnée, on y accède au travers d’une instance Google Cloud SQL. Une instance peut être vue comme la classe mère d’une base de donnée dans Google Cloud SQL, de ce fait, une instance peut avoir plusieurs base de données. Nous allons à présent voir comment donc déployer notre base de donnée dans le Cloud. Dans notre cas, nous allons faire un dump ( sauvegarde ) de notre bd local au format SQL, c’est cette version que nous allons répliquer en ligne.

Étape 1 : Créer son projet AppEngine dans la console AppEngine ( cloud.google.com )

ap2

Il faut garder à l’esprit que Google Cloud SQL n’est pas gratuit, donc il vous faudra activer le billing pour poursuivre, je vous conseille ce tuto pour voir comment procéder : http://fr.openclassrooms.com/informatique/cours/montez-votre-site-dans-le-cloud-avec-google-app-engine/activer-google-cloud-sql-dans-l-api-console

 

Etape 2 : Ouvrir le projet et se rendre à la section Cloud SQL

ap1

Etape 3 : création de l’instance Cloud SQL pour le projet

ap3

Cliquez sur New Instance pour créer une nouvelle instance, le formulaire de création est assez intuitif et ne devrais pas vous pouvez de soucis

ap4

Etape 4 : Activer l’API Cloud SQL et Cloud Storage

ap6.png

Afin de pouvoir upload le fichier sql de votre BD et de pouvoir aussi utiliser Google Cloud SQL, rendez vous dans la section APIs pour activer ses API pour votre projet

Etape 5 : Création du Bucket et import de notre fichier SQL

ap5

Rendez-vous dans la section Cloud Storage et cliquez sur New Bucket, un bucket c’est un peu comme un dossier dans le Cloud, il est impératif d’en créer un pour uploader le fichier SQL, une fois cela fait. Double-cliquez sur le bucket nouvelle créer puis sur upload afin d’uploader votre fichier SQL.

RMQ : votre fichier SQL doit avoir les lignes de création de votre Base de données ainsi que de ses tables ( ex:

CREATE DATABASE IF NOT EXISTS database; CREATE USER ‘user’@’localhost’ IDENTIFIED BY ‘pwd’;

 

GRANT ALL PRIVILEGES ON database.* TO ‘user’@’localhost’;

 

USE `database`;  )

Le but étant que lors de l’importation de ce fichier SQL, notre BD soit crée ainsi que toutes ses tables.

ap7

Retournez dans la section Cloud SQL, puis cliquez sur import pour importer le fichier SQL nouvellement uploader, a supposer que notre fichier SQL s’appelle database.sql et que le dossier bucket s’appelle ma_bdd, on aura la valeur suivante pour le champ Cloud Storage Path : ( gs://ma_bdd/database.sql ), on laissera le deuxième champ vide vu que l’on spécifie déjà la bd dans le fichier SQL. Puis cliquez sur ok.

ap8

Dans la section opération, vous aurez donc le message import réussie avec succès !! Votre base de données vient donc d’être importé avec succès dans le Cloud.

Étape 6 : Connexion avec PHP

Pour cette connexion avec PHP, nous allons montrer la chaine de connexion avec PDO et la chaine de connexion mysql standard.

— avec PDO

try{

$db = new PDO(‘mysql:unix_socket=/cloudsql/ID_instance;dbname=database;charset=utf8’,

‘user’,

‘pwd’

);

} catch(PDOException $ex){ echo « Unable to connect DataBase »; }

 

— sans PDO

Mysql_connect(‘mysql:unix_socket=/cloudsql/ID_instance’,’user’,’pwd’);

Mysql_select_db(‘database’);

Et voila !! Vous savez dès à présent comment créer une instance Google Cloud SQL et comment l’utiliser avec PHP. N’oubliez pas que Google Cloud SQL n’est pas lié au Apps AppEngine, vous pouvez ainsi avoir votre application hébergé chez vous, mais vous utilisez Google Cloud SQL pour gérer votre base de données.

 

 

Les Types personnalises (Custom Post) sous WordPress

Bonjour et heureux de vous savoir entrain de nous lire en ce jour. Il s’est passe un bon bout de temps depuis notre dernier article et nous nous en excusons. Neanmoins nous sommes de retour et pour feter cela nous allons parler de WordPress et des Custom Post ou encore Type personnalisee en Français.

Déjà il faut savoir que par defaut WordPress ne dispose qu’un ensemble de type predefinit tel Article, Page. Cela correspond a la plus part des besoins, mais maintennt imaginer que dans votre site vous devez gerer une boutique, ou tout autre type. Vous vous rendez compte que vous etes bloquee. D’aucun utiliserons les plugins pour etendre WordPress, cela est pratique mais dans certains cas, c’est pas evident de trouver un plugin pour le type que l’on veut utiliser. C’est dans ce cadre que nous allons voir au cours de cet article comment utiliser les custom type.

Nous allons partir sur une installation de WordPress ne disposant que des types par defaut et l’etendre en lui ajoutant un type document qui servira a ajouter des documents sur le site.

Notre type document sera definit par les attributs suivant : {Id, Nom, Description, Auteur, Fichier, DateAjout }

Image sans titre9

Vous constatez bien que notre installation ne comprend que les types par defaut et aucun type particulier. Nous allons donc commencer nos travaux et pour cela nous allons ouvrir le fichier functions.php de notre theme

A la fin de ce fichier, rajoutons ceci :

function my_custom_post() {

// Definition des labels qu’utilisera notre type, remplacer document par votre type a vous

$labels = array(

‘name’               => _x( ‘Document’, ‘post type general name’ ),

‘singular_name’     => _x( ‘Document’, ‘post type singular name’ ),

‘add_new’           => _x( ‘Ajouter’, ‘book’ ),

‘add_new_item’       => __( ‘Ajouter un document’ ),

‘edit_item’         => __( ‘Modifier un document’ ),

‘new_item’           => __( ‘Nouveau document’ ),

‘all_items’         => __( ‘Toute les documents’ ),

‘view_item’         => __( ‘Afficher le document ‘),

‘search_items’       => __( ‘Rechercher un document’ ),

‘not_found’         => __( ‘Aucune document trouve’ ),

‘not_found_in_trash’ => __( ‘Aucune document dans la corbeille’ ),

‘parent_item_colon’ =>  »,

‘menu_name’         => ‘Documents’

);

 

// Ajout de l’element sur le menu en precisant sa position, sa description et ausssi les elements WordPress don’t on aura besoin, cela est fait au niveau de support

$args = array(

‘labels’       => $labels,

‘description’   => ‘Permet de creer les documents’,

‘public’       => true,

‘menu_position’ => 5,

‘supports’     => array( ‘title’, ‘editor’, ‘thumbnail’ ),

‘has_archive’   => true,

);

register_post_type( ‘document’, $args );

}

add_action( ‘init’, ‘my_custom_post’ );

 

Cette fonction permet d’initialiser notre type document, on a decide d’utiliser dans notre type les elements titre, editor et thumbnail de WordPress, l’equivalence sera la suite :

Titre = > Nom du document

Editor => Description du document

Thumbnail => Document en Fichier joint

RMQ : la liste des elements que l’on peut appeler au niveau du support sont disponible sur ici https://codex.wordpress.org/Function_Reference/post_type_supports

Apres cela, si nous retournons sur notre site, nous allons voir notre type Documents dans la liste des types

Image sans titre10

Et si on on clique sur ajouter un document, on aura l’apercu ci-dessous, on constate que notre type Document n’est pas totalement implementee, seul les elements venant de WordPress ont ete mis. Nous allons a present completer ce formulaire.

Image sans titre11

 

Avant de completer cela, nous allons tout d’abord rajoutee une fonction, elle sera chargee d’afficher les bons message lorsque l’on effectuera une operation sur un objet de type document

Ici, il faudra une fois de plus remplacer document par votre type a vous

function my_updated_messages( $messages ) {

global $post, $post_ID;

$messages[’emission’] = array(

0 =>  »,

1 => sprintf( __(‘Dcument mis a jour. <a href= »%s »>Voir ici</a>’), esc_url( get_permalink($post_ID) ) ),

2 => __(‘Champ personnalisable mis a jour.’),

3 => __(‘Champ personnalisable supprime.’),

4 => __(‘Document mis a jour.’),

5 => isset($_GET[‘revision’]) ? sprintf( __(‘Document restorer a la version de %s’), wp_post_revision_title( (int) $_GET[‘revision’], false ) ) : false,

6 => sprintf( __(‘Document publiee. <a href= »%s »>Voir ici</a>’), esc_url( get_permalink($post_ID) ) ),

7 => __(‘Document enregistre.’),

8 => sprintf( __(‘Document mis en ligne. <a target= »_blank » href= »%s »>Voir la preview</a>’), esc_url( add_query_arg( ‘preview’, ‘true’, get_permalink($post_ID) ) ) ),

9 => sprintf( __(‘Programmee pour le : <strong>%1$s</strong>. <a target= »_blank » href= »%2$s »>Voir la preview</a>’), date_i18n( __( ‘M j, Y @ G:i’ ), strtotime( $post->post_date ) ), esc_url( get_permalink($post_ID) ) ),

10 => sprintf( __(‘Brouillon mis a jour. <a target= »_blank » href= »%s »>Voir la preview</a>’), esc_url( add_query_arg( ‘preview’, ‘true’, get_permalink($post_ID) ) ) ),

);

return $messages;

}

add_filter( ‘post_updated_messages’, ‘my_updated_messages’ );

 

Passons maintenant a la mise a jour du formulaire. Nous devons ajouter les champs pour renseigner l’auteur. La date etant par defaut renseigner dans tout publication WordPress.

Renseignez les fonctions suivantes a la suite de celle que vous avez precedement ajoutees

add_action( ‘add_meta_boxes’, ‘auteur_box’ );

function auteur_box() {

add_meta_box(

‘auteur_box’,

__( ‘Nom de l\’auteur ‘, ‘myplugin_textdomain’ ),

‘auteur_box_content’,

‘document’,

‘side’,

‘high’

);

}

 

function auteur_box_content( $post ) {

wp_nonce_field( plugin_basename( __FILE__ ), ‘auteur_box_content_nonce’ );

echo ‘<label for= »auteur_name »>Entrer un nom</label><br>’;

echo ‘<input type= »text » id= »auteur_name » name= »auteur_name » />’;

}

add_action( ‘save_post’, ‘auteur_box_save’ );

 

function auteur_box_save( $post_id ) {

if ( defined( ‘DOING_AUTOSAVE’ ) && DOING_AUTOSAVE )

return;

if ( !wp_verify_nonce( $_POST[‘auteur_box_content_nonce’], plugin_basename( __FILE__ ) ) )

return;

if ( ‘page’ == $_POST[‘post_type’] ) {

if ( !current_user_can( ‘edit_page’, $post_id ) )

return;

} else {

if ( !current_user_can( ‘edit_post’, $post_id ) )

return;

}

$auteur_name = $_POST[‘auteur_name’];

update_post_meta( $post_id, ‘auteur_name’, $auteur_name );

}

 

Ces 3 fonctions permettent de definir une champ de texte auteur qui permettra d’ajouter le nom de l’auteur. On peut tres bien ajoutee un champ de texte, une zone de texte, une liste deroulante et bien plus. Apres cela si vous retournez sur votre page d’ajout de document vous devrez constater un changement.

Notre formulaire est a present complet, a chaque fois que l’on renseignera un document, on pourra aisement remplir toutes les informations

Android : comment utiliser les Spinner dans son Application

Bonjour, heureux de vous savoir en train de me lire en ce jour. Aujourd’hui nous allons parler d’Android et du widget Spinner (Généralement appelé Combobox ou menu déroulant).

Mettre en place un Spinner dans son application est assez simple et l’opération peut se faire soit dans le fichier XML soit dans le code Java. Il faut tout de même noter que le composant Spinner est quelque peu différents des autres composants graphique tel les EditText ou les TextView.

En effet pour mettre en place un Spinner, on le crée d’abord dans notre fichier XML, puis on lui insère les éléments et c’est cette partie qui peut se faire soit via XML soit via JAVA. Comme rien ne vaut un exemple pour mieux comprendre, nous allons donc vous montrer comment procéder.

Nous allons supposer dans le reste de cet article avoir un objet Spinner dont les attributs sont :

<Spinner

android:layout_width=« wrap_content »

android:layout_height=« 30dp »

android:layout_marginBottom=« 30dp »

android:id=« @+id/spinner »

android:layout_centerVertical=« true »

android:layout_centerHorizontal=« true »/>

 

Nous allons dans un premier temps voir comment remplir son composant Spinner avec du XML. Pour cela dans le fichier strings.xml de votre application, créer un tableau de remplissage pour votre Spinner. La structure du tableau est la suivante

<string-array name=« item_array »>

<item>Faire un choix</item>

<item>Item 1</item>

<item>Item 2</item>

<item>Item 3</item>

</string-array>

 

Maintenant dans notre fichier JAVA, on procède a la jointure entre le Spinner et le tableau crée via les lignes de codes suivantes :

Spinner spin = (Spinner) findViewById(R.id.spinner);

ArrayAdapter <CharSequence> adapter = ArrayAdapter.createFromResource(this,R.array.item_array,android.R.layout.simple_spinner_item);

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

spin.setAdapter(adapter);

 

Comme vous le voyez je crée un adapter qui prend en paramètre le tableau XML crée plus tôt et puis j’ajoute cet adapter à l’objet Spinner.

Et voilà, en procédant comme cela, votre objet Spinner est opérationnel et prêt à fonctionner.

Maintenant voyons le cas de figure ou votre tableau d’items est plutôt crée avec Java, la logique à respecter est la suivante : On déclare dans un premier temps un tableau d’items

String [] itemArray = {« Item 1″, »Item 2″, »Item 3 »};

Puis comme dans le cas précèdent, on déclare notre objet Spinner

Spinner spin = (Spinner) findViewById(R.id.spinner);

Et enfin on fait la liaison entre notre objet Spinner et le tableau Java ; et cela via les adapter comme toujours

ArrayAdapter <String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,itemArray);

spin.setAdapter(adapter);

Voilà, les deux procédés vous sont révèles, vous pouvez des maintenant ajouter des Spinner dans vos applications Android assez facilement.

Pour aller plus loin, il est parfois nécessaire de savoir quel élément du Spinner a été sélectionnée, pour cela utilisez l’instruction suivante :

String itemSelect = spin.getSelectedItem().toString();

Avec cette instruction itemSelect prend la valeur du Spinner sélectionné.

Il est aussi possible de déclarer un listener sur un Spinner, question d’exécuter une opération lorsque l’on fait un choix, pour cela la structure a respecter est la suivante :

 

spin.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){

@Override

Public void onItemSelected(AdapterView<?> parent,View view,

Int position,long id){

// action a faire ici, position represente la position de l’element selectionne

Log.v(« item »,(String)parent.getItemAtPosition(position));

}

@Override

Public void onNothingSelected(AdapterView<?> parent){

//TODOAuto-generatedmethodstub

}

});

 

 

Voilà avec cela se termine notre article qui avait pour but de vous initier à l’utilisation des Spinner sous Android.

Je vous souhaite donc une bonne lecture et vous dit à bientôt sur notre Blog.

Comment attaquer une base de donnée SQLite sous Android

Bonjour, suite à une forte demande de votre part, nous aborderons avec vous dans ce tutoriel comment utiliser la base de données SQLite dans son application Android.

Pour rappel, notons SQLite est un SGBD relativement léger, il est beaucoup utilisé dans les systèmes embarqués tel les applications mobiles ou encore dans certains jeux vidéo, contrairement aux SGBD traditionnel, SQLite ne demande pas d’installation, il s’agit juste d’un simple fichier; de plus il ne nécessite pas de faire tourner un serveur pour le faire fonctionner. Ce qui fait donc de SQLite le SGBD adapté pour des travaux rapides et léger. SQLite est par défaut supporté par Android, donc pour l’utiliser dans notre application, on devra juste faire appels aux classes nécessaires. Sans plus tarder, entrons dans le vif du sujet.

Il n’y a pas de meilleure façon de comprendre un concept que par l’exemple, en partant de ce principe et afin de vous faire assimiler comment utiliser SQLite dans vos applications Android, nous allons supposer dans notre cas de figure avoir à créer une application Android devant permettre d’enregistrer, de modifier, de supprimer et d’afficher des articles. Un article étant composé d’un id, d’un titre et d’un contenu.

Nous allons donc lancer un projet Android que nous appellerons Article

Image sans titre

Cliquez sur Next jusqu’à ce que vous arriviez à la page ci-dessous (ne modifiez que si vous savez ce que vous faites, sinon laissez les options par défaut )

Image sans titre2

Cliquez sur Finish pour finir la création de votre projet. Vous verrez alors sur la gauche le projet Article apparaître.

Comme dit plus haut, notre apps a pour but de permettre de créer, modifier, supprimer et afficher les éléments d’un article. Nous allons donc commencer notre apps en définissant la classe Article !!

Image sans titre3

Ci-joint le code complet de notre classe Article : https://www.dropbox.com/s/e8f67n36ywqiorn/Article.java?dl=0

Maintenant que notre classe Database a été créé, créons à présent une autre classe Requete, elle sera chargé elle d’exécuter nos différentes requêtes pour créer, modifier, supprimer ou lister le contenu des articles https://www.dropbox.com/s/152j1q03c13fv60/Requete.java?dl=0

Pour finir, nous avons deux autres classes dans notre application, en fait ce sont des Activity qui seront reliées aux deux pages de notre apps; il s’agit de la classe MainActivity.java qui servira de page d’accueil ( elle est généré automatiquement lorsque l’on crée le projet) et la classe Crud.java (cette classe permet d’effectuer les opérations CRUD dans notre projet).

NB : pour utiliser SQLite dans votre projet, les classes primordiales sont Database.java, Requete.java; les autres classes qui ont été créée dans ce projet peuvent varier en fonction des circonstances. Bien entendu en fonction de ce que vous voulez gérer dans votre BD, les types d’attributs et de méthodes des classes Database et Requete pourront varier.

A présent, nous avons toutes les classes nécessaire, il ne nous reste à présent qu’à créer les interfaces pour chacune des actions que l’on veut mettre en place.

Pour mettre en place la partie visuelle de notre application (NB que le choix visuel vous appartient, il peut être calqué sur celui-ci ou être totalement différent) nous allons opter pour trois pages :

  • Une première qui affichent la liste de tous les articles et qui permet aussi d’en ajouter au besoin (activity_main.xml), elle sera liée à l’activity MainActivity.java et servira de page d’accueil. Elle contiendras en somme un bouton pour ajouter un article et une listview qui affichera l’ensemble des articles déjà enregistré
  • Une deuxième qui servira de template pour l’affichage des éléments de la listview (affiche.xml), en effet dans cet article, nous aborderons unpeu le concept de listview, mais rassurer vous, nous y reviendrons dans un futur billet.
  • La troisième et dernière page permettra d’ajouter, d’afficher, de modifier et de supprimer les articles (crud.xml), elle sera géré par l’activity (Crud.java)

 

RMQ : Je vous invites à parcourir le code des classes XML crée ci-dessous pour mieux comprendre la logique UI mise en place.

Après avoir mis notre partie UI en place, reste plus qu’à exécuter l’application, et en principe tout devrait bien se dérouler et on devrait voir quelques choses comme ceci :

Image sans titre6 Image sans titre7 Image sans titre8 Image sans titre5 Image sans titre4

Vous pouvez télécharger le projet complet ici : https://www.dropbox.com/s/ve85j5gyd3saxaj/Article.rar?dl=0

NB : Ce tutoriel a été écrit avec Éclipse, mais la logique reste la même sous Android Studio. C’est d’ailleurs cet IDE que je vous conseilles pour vos projets Android.

 

Introduction à Android et à Android Studio

Android pour ceux qui ne le savent pas est un système d’exploitation (SE ou OS) poukr mobiles. De la même manière dont nos PC ont besoin d’un SE (Windows dans la plupart des cas), nos smartphones et tablettes ont également besoin d’un SE (Android en ce qui nous concerne).

Android est édité et mise à jour par Google Inc., mais ce qu’il faut savoir c’est que Google n’a pas créé le système Android à la base, mais suite à l’achat en 2005 de la société Android Inc., ils ont ardemment travaillés sur le système, l’ont customisé sur presque tous les points afin d’en faire le SE mobile le plus populaire de la planète.

Aujourd’hui, Android est en version 6.0.1 (nom de code Marshmallow), Chaque version d’Android à un nom de dessert  (va savoir pourquoi). La version Android la plus populaire actuellement c’est la 4.4 (Kitkat), suivi de près par Jelly Bean et ses variantes.

clip_image001

Ci-dessus, l’architecture du système Android, il est important pour tout développeur de la connaître avant de se lancer dans le développement Android.

Vous remarquerez donc que les applications que l’on installe se trouve sur la couche 4 ( on lit de bas vers le haut ), mais elles font appel de temps en temps a des fonctions des couches supérieures pour gérer certaines fonctionnalités.

 

FAIRE DU DEVELOPPEMENT POUR ANDROID

Android comme mentionné plus haut est le SE mobile de l’heure, ne pas développer pour Android serait une grosse erreur, même si pour l’instant les revenus pour le développeur sont inférieur à l’Appstore.

Développer pour Android est hyper simple, tout le monde peut faire une application Android. Les technologies qu’il faut connaitre sont : JAVA et XML

Par JAVA je ne veux pas dire être un expert de JSE hein !! Faut juste avoir des connaissances de bases, avec les éditeurs spécialisés, l’auto-complétion vous aide à rapidement produire vos codes.

Une autre chose importante est la bonne connaissance du principe de l’orienté objet, ainsi qu’une bonne aptitude à produire des algorithmes performant et optimaux.

Au début du développement Android, Google préconisait de développer avec Eclipse. Ci-dessous le lien : http://developer.android.com/sdk/index.html

Sur cette page, vous pourrez choisir la version correspondante à votre SE.

Depuis Mai dernier 2013, Google a lancé un nouvel IDE, Android Studio. Il est disponible à cette adresse :

http://developer.android.com/sdk/installing/studio.html

Android Studio est basé sur IntelliJ IDEA, un IDE très connu dans le monde java. L’IDE est encore en version Beta, mais les possibilités offertes par cet IDE sont énormes, entre autres la possibilité de tester son apps sur plusieurs résolutions d’écran.

De même l’architecture du projet est différente que l’on soit sur Android Studio ou sur Eclipse. Afin de facilité la migration, il possible avec la dernière mise à jour du sdk manager sur Eclipse d’importer ses projets Eclipse pour Android Studio.

 

PREMIER PAS AVEC ANDROID STUDIO

Après avoir téléchargé Android Studio, il est maintenant tant de voir comment l’installer, Chose toujours pas aisé à faire. Avant de procédé à l’installation, il faut configurer certaines variables d’environnements sous peine d’erreur lors de l’installation.

Pour faire fonctionner Android Studio, il faut configurer les variables systèmes suivantes : JDK_HOME, JAVA_HOME et bien sûr avoir au préalable configuré JAVA normalement sur son PC.

Pour JDK_HOME : créer la variable JDK_HOME comme variable d’environnement avec pour chemin le lien vers le jdk sur votre machine, idem pour la variable JAVA_HOME

( la figure ci-dessous est a titre d’exemple )

 

clip_image002

 

Pour rappel pour configurer JAVA sur votre PC, il faut procéder comme suit : choisissez la variable système path, cliquez sur modifier puis ajouter précédé de ; le chemin vers le dossier bin de votre dossier JDK

( la figure ci-dessous est à titre d’exemple )

 

clip_image003

 

NB : l’astuce donné plus haut n’est valable que pour les Windows user, pour ceux d’entre vous qui utilise Linux, bien vouloir suivre ce lien : http://www.cnx-software.com/2013/05/16/installing-android-studio-ide-in-ubuntu-hello-world-application/

pour voir comment configurer la variable JDK_HOME ( java étant configuré par défaut sur vos machines ).

Après avoir fait tout ce qui est mentionné ci-haut, vous pouvez à présent lancer l’installation d’Android Studio, tout devrait bien se passer, et une fois cela finit vous pourrez lancer l’environnement.

clip_image004

Pour créer un projet il faut remplir les champs suivants :

Nom de votre application : c’est le nom qu’aura votre application

Module name : c’est le nom de votre projet (généralement le même que celui de l’apps)

Package : arborescence de votre projet ( généralement c’est com.nom_projet )

Projet location : ou sera situé votre projet ( généralement faut crée un repertoire workspace )

Minimum required sdk : version d’android minimal pour exécuter votre apps

Target sdk : version d’android que possède votre émulateur ou alors votre device

Compile sdk : version du sdk avec laquelle compilé ( généralement la dernière version )

Pour le reste des champs et fenêtres, laisser comme tel et valider juste.

Après configuration du gradle et création de votre apps, vous devrez avoir une fenêtre comme celle-ci-dessous :

clip_image005

Bien sur ce, on va arrêté pour ce 1er tuto, plus d’infos seront donnés lors du coding party et aussi via nos pages sociales !!