Blog d'un développeur multi-support

[DIM] pour les intimes :)

Créer des applications Iphone

Mise à jour 29/07/09 : Cet article date d’un peu .. sa version raccourci et plus clair est disponible sur Débuter sur le développement iPhone ! Have Fun :p

Cet article a pour but de vous expliquer comment créer une application .
Afin d’éviter un abus de langage, nous différencions deux types d’applications potentiels :

•    Les applications web : ouvert via Safari et qui ne sont ni plus ni moins un site dédié au format de l’iphone.
•    Les applications embarqués : Application directement téléchargé sur le iphone store (gratuitement ou pas) pour lequel l’utilisateur doit donner son mot de passe pour l’installer.

Cet article traitera principalement du 2e type d’application.

Application Web

Afin de créer une application web iphone, la règle constatée est d’avoir un look Apple et celui suffit.
Pour ce faire il peut être intéressant d’utiliser :

•    iUI – pour User Interface (UI) Library for Safari development on iPhone qui est disponible sur http://code.google.com/p/iui/
Cela fournit des images, un CSS et une bibliothèque Javascript permettant de simuler une navigation sur une application Iphone « embarqué ». Deux exemples sont disponibles :

•    Un tutorial expliquant comment créer le css, et le javascript pour profiter, détecter et se servir de la « rotation » de l’iphone

•    Un plugin Firefox pour « émuler » l’affichage dans un iphone

•    Une application AIR pour emuler l’iphone sur PC. Attention ce n’est qu’une beta.

•    Un site web pour tester les applications web est disponible : http://www.testiphone.com/

Ces pistes de réflexions devraient vous aider à concevoir un site spécial iphone.

Rappel : The vertical view dimensions are 320×365 pixels while the horizontal view dimensions are 480×200 pixels.
Note : De nombreux sites proposent une version iphone et parlent de leur « application iphone », d’où l’existence d’un certain abus de langage sur le terme « application »

Application embarqué

La création d’application pour Iphone permet ainsi d’avoir une application « hors ligne ». Idéal pour les jeux commerciaux, les utilitaires etc.

Le kit de développement (SDK) est fourni gracieusement par Apple, nous pouvons donc développé des applications qui fonctionneront dans l’émulateur fourni.

Cependant il faut payer une licence pour pouvoir mettre son application sur un vrai téléphone et être disponible sur l’apple store.
•    99$ pour un particulier.
•    300$ pour une entreprise.

Le fait d’avoir cette licence nous donne accès à « l’Iphone Developer Program » (http://developer.apple.com/iphone/program/).  Un résumé des étapes pour faire partie du programme est disponible sur http://forum.frenchiphone.com/index.php/topic,18561.0.html.

Une fois sur l’apple store notre application est hébergé directement chez Apple, ils ont à leurs charges les coût d’hébergements, fournissent une plateforme de téléchargement etc.

Lors de la « mise en ligne » de notre application nous pouvons la distribuer :
•    Gratuitement. Apple prend en charge la totalité des coûts.
•    Commercialement. 70% du prix de l’application nous revient et apple prend les 30% restant pour frais d’entretiens.

Contraintes de fonctionnements :

Pour développer grâce à leur SDK nous devons avoir un mac OS X (version 10.5.3 ou supérieur).

Et notre application ne fonctionnera que sur les iphone possédant le firmware 2.1. Celui-ci est sorti le 13 septembre 2008.

Le simulateur intégré au SDK ne permet pas de :
•    Simuler l’accéléromètre
•    D’utiliser l’appareil photo de l’iphone. Au passage, nous ne pouvons enregistré de vidéo via l’appareil photo.
•    D’accéder à certaines librairies des frameworks (souvent lorsqu’on récupère du code « iphone », il ne peut être porté directement dans le SDK vu que certains utilisent une version non officiel du SDK d’Apple où nativement il a plus de librairies).

Une contrainte d’Apple est que chaque application « vie » dans un bureau cloisonné. Nous ne pouvons accéder aux ressources d’autres applications (comme les mp3 et vidéo stocker sur le téléphone).

Plus d’information sur : http://www.gizmodo.fr/2008/08/05/lindispensable-marche-noir-des-applications-pour-iphone.html

Programmer sur Iphone :

L’API de l’iphone est quasiment la même que pour développer sous mac.
Il faut utiliser « Cocoa »(L’iphone a sa version de Cocoa nommé « Cocoa Touch »). http://fr.wikipedia.org/wiki/Cocoa_(Apple) .

Cocoa est l’API native d’Apple pour le développement orienté objet sur son système d’exploitation Mac OS X. C’est l’une des 5 API majeur disponible pour Mac OS X,

Pour utiliser cette API sur l’Iphone, nous sommes contraint d’utiliser les environnements de développements suivants
•    Xcode (anciennement Project Builder) : compile et lance l’émulateur de l’iphone.
•    Interface Builder : Permet d’agir graphiquement sur les vues et permet un développement rapide de l’application d’un point de vue graphique.

Le langage de programmation utilisé est Objective-C.

Wikipédia : L’Objective-C est un langage de programmation orienté objet réflexif. C’est une extension du C ANSI comme le C++ mais se distingue de ce dernier par sa distribution dynamique des messages, son typage dynamique et son chargement dynamique. Contrairement au C++, il ne permet pas l’héritage multiple mais il existe toutefois des moyens de combiner les avantages de C++ et d’Objective-C.

Ressources

Voici une liste de ressources disponibles pour

•    Apprendre à utiliser Cocoa et Objective-C

o    Un cours pour est disponible dans le thread de ce forum.

o    Débuter avec Cocoa en utilisant Objective-C

o    Un cours est disponible sur le site du zéro pour Objective-C :

o    Un livre « biblique » selon les développeurs Mac peut être acheter pour 36.10€

L’objective-C a une notation et une utilisation de la programmation objet quelque peu déroutante si l’on vient du monde « Java, PHP5, C# ». Le cours du site du zéro est très précis pour comprendre la syntaxe et la notation.

•    Tutoriaux pour crée des applications iphone

o    Un pdf, des exemples, et des templates de code sont disponibles dans cet article

o    Tutorial pour la création d’interface « dynamique »

o    Tutorial pour créer un lecteur RSS pour Iphone :

o    Utiliser les évènements, les contrôleurs et les vues

o    Des Tutoriaux Vidéos sont disponibles sur

o    Avoir le look and feel d’apple

o    Forum d’entre-aide

Sans oublier tous mes liens concernant l’iphone : http://delicious.com/onishinji/iphone

Tags : , , ,
Catégorie : iPhone, Mobile
  • GrM a dit :

    wohoo !

    chose dite chose faite on dirait :p

    merci pour tout ces liens et détails.

    6.02.2009 à 12h40
  • Guillaume chave a dit :

    de rien !
    Mine de rien , cet article composé seulement de lien, génère 40% de mon traffic. J’espère qu’il est utile à ceux qui le lisent :D

    6.02.2009 à 14h03
  • Stevens a dit :

    Bonsoir,

    Je viens d’acquérir un iPhone, et je me demandais comment faire une apply, voir en faire une moi même (une bricole) histoire de, par curiosité. C’est la que je suis tomber sur ta page. Beau travail.

    En revanche, ça fait peur, ça n’a pas l’air évidant, ma curiosité va caler je pense !

    Bonne continuation.

    25.10.2009 à 21h45
  • Guillaume chave a dit :

    La programmation en Obj-C n’est pas une partie de plaisir au début. Si je devais (re)apprendre à faire des appli, je me pencherais plutôt sur les solutions tierces pour créer des applications iphone comme Flash, Shiva (pour les jeux en 3D) etc.. L’idée c’est de laisser la compilation (=la création pur et dur de l’app) à d’autres pour se focaliser pleinement sur la conception de l’application.

    26.10.2009 à 09h45
  • gregoblue a dit :

    Bonjour,
    moi j’ai une webapp que je voudrait rendre disponible sur le springbard de l’iphone telle une application.
    je voudrait que cette application en html soit comme un portail.
    L’application est hyper simple, c’est une banniere avec 3liens en bas
    quelqu’un pourrait il m’aider?
    gregtuningproject@hotmail.fr

    21.01.2010 à 12h51
  • Guillaume chave a dit :

    Ben tu n’as rien à faire en fait hormis ton site web … c’est à l’utilisateur d’ajouter ta page à son springboard (« Ajouter à l’écran d’accueil ») .. Donc bon mis à part l’inciter à le faire je vois pas le souci .. Peut être vaut mieux que sur ton site principal tu redirige l’utilisateur iphone sur ta webapp avec un message incitant … ça c’est faisable en 2 ligne de JS ..

    Apres si c’est une webapp pur, sans site principal derrière, tu peux la convertir en appli standard (donc apple store etc), c’est assez simple surtout si ta page consomme pas trop de JS … Faut charger ton site dans un uiWebView au lancement de l’appli (4 ligne de code) ..

    Voilà

    21.01.2010 à 14h15
  • 7000 km a dit :

    Bonjour,

    une appli web peu t’elle permettre la lecture de vidéo ?
    (pour diffuser des vidéos sur l’iphone

    une appli web peu t’elle prendre en compte l’accélérateur de mouvement (pour réaliser un jeux en fait)

    Merci

    17.02.2010 à 03h43
  • Guillaume chave a dit :

    Bonjour,

    Pour les vidéos c’est possible il faut juste qu’elle soit au bon format video (mov, un certain codec etc à checker sur la doc apple).
    Pour l’accélérateur de mouvement, d’après mes derniers essais en la matière on ne pouvait récupérer que certains événement « iphone en mode portrait, iphone en mode paysage » sans possibilité de récupérer à la volé les différentes positions (x, y, z), donc pour faire un jeux avec … ben il faut être inventif :p Après je suis peut être plus trop à jour niveau appli web depuis le temps et les différentes sortis du SDK.

    17.02.2010 à 09h21
  • Stephane a dit :

    Bonjour Guillaume,

    a l’instar de ’7000km’, je souhaiterait convertir une webapp (un simple site html) en application sur iphone. l’idée est de stocker tout le site dans le téléphone afin de rendre le site encore plus rapide/fluide et surtout pouvoir l’ouvrir si il n’y a pas de réseau 3G/wifi accessible. Sais-tu si il est possible de convertir une web app en app? si oui, comment?

    Merci beaucoup et félicitations pour ton blog

    Stéphane

    20.03.2010 à 12h58
  • Savin a dit :

    Bonjour,

    Ma requête est assez simple, nous avons fait développé un site internet pour notre association ABNL, où nous mettons en relation d’autre personne ( professionnel) ps: ce n’est pas un site de rencontre mais prof.

    L’idée de mon appli c’est de reprendre ce site et de l’intégrer dans une version plus lite. faut t’il savoir programmer ou existe t’il une autre solution.

    Merci pour vos futurs réponses.

    8.04.2010 à 11h34
  • Fred a dit :

    Salut,

    Tout d’abord, merci pour cet article très instructif. J’avais une question cependant. J’aimerais pouvoir créer une application web que les gens pourraient consulter hors ligne et d’après ce que je lis dans ton article, il faut payer 90$ pour avoir une licence. Mais est-il possible de rendre accessible une application gratuitement à travers l’apple store sans que cela ne génère de coûts ? De plus, si je fais un site web pour iphone et que je souhaite générer une app à partir de ce dernier pourrais-tu me dire s’il y a un moyen facile de le faire ? En compilant son site web par exemple ?

    Merci encore !

    13.04.2010 à 17h40
  • Guillaume chave a dit :

    Pour avoir un mode hors ligne, il faut faire une vrai app donc avoir une licence pour la mettre sur le store.

    Pour les convertisseur de site web en vrai app je connaissais phoneGap qui permet à partir de page HTML et bcp de JS mais de toute façon c’est illusoire de se dire qu’on converti un site en trois clic, faut toujours adapter surtout si tu veux un site dynamique (utilisation de SQLLite à grand coup de JS pour phoneGap par ex.). Alors quitte à passer du temps à transformer un site web en app, mieux vaut prendre ce même laps de temps (et donc de l’argent) pour demander à des gens de le faire (ma société peut te faire des devis :p)

    Voilà voilà

    14.04.2010 à 09h13
  • nico colère a dit :

    Hello !!! super bien ton article !!!
    Je m’intéresse à Phonegap (et un poil à l’obj-c…)
    J’ai juste une question (qui peut paraitre débile) : un mac est obligatoire pour créer son application ? possible sur Windows ???

    Merci d’avance !!!

    27.04.2010 à 12h25
  • Guillaume chave a dit :

    Oui il faut un mac, phoneGap utilise xCode et le sdk iphone pour compiler ton site donc oui il faut un mac.

    27.04.2010 à 14h04
  • nico colère a dit :

    c’est bien ce que je redoutais…..

    Merci beaucoup pour ta réponse :)

    27.04.2010 à 14h16
  • le duk a dit :

    Avant tout, un grand merci car le premier tutoriel de Apple développer est un fouillis géant! Tu nous dégrossi bien tout ça!
    Sinon, je suis infographiste et je veux me lancer a créer des applications IPhone(publicitaire, genre programme des sorties du mois, on pourrait chercher par date, par types d’événements, par lieu,… avec des photos et tout et tout…) Mon expérience en programmation s’arrête au « turbopascal » de 1ere année d’IUT (j’avais quand même 20/20!!!)

    Existe-t-il des logiciels genre dreamweaver et flash plus amicaux ou je dois obligatoirement apprendre la programmation?
    Connaissez vous des boites qui s’occuperez de la programmation (a distance car je vis sur une petite ile)? une idée des tarifs?

    Merci

    18.06.2010 à 17h58
  • Desmo a dit :

    Bonjour,

    J’aimerai savoir si il est possible de convertir des forums en format pphb pour l’iPhone. Afin que le chargement soit plus rapide.
    Si oui comment faut il faire?

    Merci d’avance

    7.08.2010 à 20h36
  • Franck a dit :

    Bonjour à toutes et tous

    Je cherche le moyen de déveloper des applications Iphone mais sur PC
    je n’arrive pas à trouver de logiciel
    Si quelqu’un pouvait m’aider
    merci d’avance

    29.10.2010 à 18h46
  • TM excellence a dit :

    salut, un petit message afin de savoir si tu vends tes services pour faire une appli perso.

    merci

    6.11.2010 à 16h03
  • Jean a dit :

    Ça a l’air bien mais comment faire pour vendre une application?p

    14.12.2010 à 00h48
  • greg a dit :

    Il existe également des services web qui permettent de réaliser des applications iPhone sans connaissance de la programmation :
    - isites (isites.us), appmakr(www.appmakr.com) -> américains
    - YourAppnNow (www.yourappnow.com) -> français

    20.12.2010 à 20h16
  • Guillaume chave a dit :

    Ouais sympa, mais moi j’aime programmer :)

    20.12.2010 à 23h59
  • vince a dit :

    etant non programmeur, pas de flux rss, ya quelqu’un qui fait ça pour pas cher?
    un service avec hebergeant le contenu de l’appli un truc dans le genre?

    merci

    12.01.2011 à 00h23
  • vince a dit :

    It’s ok , j’ai trouvé un site qui fait ça : http://www.appquartz.com , quelqu’un connait ce genre de service? est-ce fiable?

    Merci

    13.01.2011 à 14h43
  • gregory a dit :

    moi non plus je n’aime pas programmer, j’ai trouver http://www.appquartz.com qui propose des applications avec le flux rss de mon blog,des modules vidéos et musiques illimités,articles géolocalisation tout ça à un prix plus qu’intéressant ! à tester

    3.02.2011 à 10h53
  • Stéphanie a dit :

    AppQuartz c’est nul. Prenez Cashew : http://cashew.madebykawet.com au moins c’est natif et tu fais ce que tu veux…

    6.04.2011 à 18h08
  • IpadGAUTHIER a dit :

    Yeah ! Merci, je trouve ça super utile :) Enfin un article avec de liens pratiques

    19.04.2011 à 15h52
  • Gassies Damien a dit :

    Le samedi 5 et dimanche 6 novembre 2011, la mairie de Juvignac (ville limitrophe de Montpellier) organise le premier salon national des applications SMARTPHONE.

    Un salon grand public dédié à l’univers des applications, de la plus technique à la plus ludique, présentera pour la première fois un large panel regroupé sur 50 stands. Amateurs, professionnels et simples curieux se côtoieront le temps d’un weekend.

    La commune de Juvignac, située aux portes de la capitale régionale, bénéficie d’une facilité d’accès et d’hébergement idéale.

    La participation et l’emplacement du stand est gratuit pour les exposants.
    Alors pour les développeurs d’applications Smartphone, ne ratez pas cette opportunité pour vous faire connaître ou reconnaître, découvrir ou redécouvrir par les utilisateurs de SMARTPHONE.

    Pour tout renseignement ou réservation, merci de me contacter :
    Damien.gassies@hotmail.fr

    Autrement, pour les addicts des applications et autres « fans », réservez bien votre premier weekend de Novembre pour assister à ce salon.

    28.06.2011 à 15h23
  • nico a dit :

    vous pouvez cree votre application iphone sans rien faire ici http://iphonitest.net/appiphone/
    en plus c’est que 15 euro

    11.07.2011 à 10h44
  • samuel a dit :

    bonjour,

    Actuellement en ecole de commerce, nous sommes deux associés qui recherchons un excellent programmeur pour une application iphone, c’est pour un beau projet (on proposera des parts dans la société). Si vous connaissez quelqu un, envoyez moi votre contact sur: samuel.guerreiro@iscparis.com. Merci d’avance, samuel

    10.10.2011 à 17h29
  • Achraf a dit :

    Salut . Merci beaucoup pour article . Mais je me demande toujours s’il y a une appli iphone qui permet de hacker les wifi . Merci

    7.11.2011 à 17h11
  • Jules a dit :

    Bonjour,

    une question pratique :
    dois-je forcément passer par la licence payante pour installer une appli perso (et surtout pas la mettre dans l’appStore) ou Xcode permet-il de charger l’appli sur l’iPhone sans passer par Apple ?

    en tous cas merci pour toutes ces infos ;)

    26.12.2011 à 17h43
  • Pelmo a dit :

    Bonjour, jembe est une techno qui permet de faire une app native pour iPad/iPhone et Android. Particularité : Vous n’êtes pas dépendant de xcode. Vous pouvez compiler depuis un PC, MAC ou Linux.
    http://www.jembe.fr

    Bon courage !

    11.01.2012 à 22h23
  • Joffrey a dit :

    Enfin une page qui mérite que l’on s’y attarde. Je souhaite me lancer dans la création d’une application et cette page comprend tout ce dont je vais avoir besoin. Bravo

    21.01.2012 à 12h52
  • khurt a dit :

    salut je souhaiterai creer une appli iphone pour le site dont je m occupe pourrai tu eclairer ma lanterne avec qq consiels judicieux merci d avance et tres bon boulot a plus

    1.02.2012 à 14h22

Votre adresse email ne sera pas publiée. Champs requis marqués avec *

*