Plateforme sécurisée d'envoi de fichiers volumineux en ligne. [ Cliquez-ici ]
Moteur de veille, plus de 400 sources d'informations francophones. [ Cliquez-ici ]
Alors que l'iPhone et l'iPod touch commencent doucement à se démocratiser, Apple a décidé d'organiser une conférence le 6 mars afin de présenter le SDK de ces deux produits. Ce dernier permet facilement aux utilisateurs de créer, distribuer et en premier lieu télécharger des applications supplémentaires pour leur téléphone (ou baladeur) tactile frappé de la pomme. Voyons ensemble ce que son annonce va changer. L'avant-SDK : le Jailbreak Si vous êtes propriétaire d'un iPhone ou bien un simple curieux, vous avez certainement entendu parler de jailbreak. Alors qu'initialement réservée aux plus initiés, l'opération est aujourd'hui très facile à réaliser. Étymologiquement parlant, jail signifie prison en anglais et break casser, briser : le jailbreak désigne donc dans notre cas la manipulation qui débloque son iPhone. Il consiste à installer une application nommée Installer fonctionnant de la même manière que l'installation de logiciels sur Linux : vous lancez l'application en la touchant du doigt et il ne vous reste plus qu'à choisir le programme de votre choix parmi une liste qui s'allonge de jour en jour. Il vous faudra cependant disposer d'une connexion à Internet à proximité pour télécharger des applications. Bien que cette opération soit très sympathique sur le papier, elle fait cependant sauter la garantie de votre objet et n'est donc pas ce qu'il y a de plus légal (bien qu'une restauration du logiciel d'origine soit possible via le logiciel iTunes). Depuis, le jailbreak est sécurisé et relativement stable, beaucoup de personnes y ont encore recours et profitent de nombreuses applications conçues par de nombreux développeurs. Autant le dire, on a assisté au développement rapide d'un SDK non officiel. Comme vous pouvez vous en douter, Apple a vivement contré ce mouvement, ce qui n'a pas manqué d'entraîner des pertes d'argent et des mesures très strictes annoncées par la société telles que la saisie des appareils débloqués dans la perspective de les rendre inutilisables. En effet, il est très difficile même pour une société comme Apple de contrer un phénomène comme le jailbreak, tant il se répand vite et évolue au fil des jours, autant dans la création d'applications que dans la découverte au niveau matériel. Une seule solution ne se présentait alors comme efficace : l'annonce d'un SDK officiel qui permettrait le développement d'applications tierces officiellement reconnues par Apple par les utilisateurs. L'arrivée du tant attendu SDK Pour faire le point dans vos esprits, je vous propose de vous fournir une définition (simplifiée) d'un SDK. Acronyme de software development kit et plus communément appelé Kit de développement en français, le SDK est un ensemble d'outils mis à disposition des développeurs leur permettant ainsi de créer des applications sur une plateforme donnée. En d'autres termes, Apple fournit des outils divers qui permettent aux utilisateurs de créer leurs applications avec plus ou moins de facilité. Des outils performants Lors de sa conférence du 6 mars qui annonçait — entre autres — l'arrivée du SDK de l'iPhone, Apple déclarait « fournir aux développeurs les mêmes outils qu'ils utilisent ». Rien de plus excitant pour les développeurs qui allaient enfin pouvoir créer des applications avec des outils performants mis à disposition officiellement par Apple. Mais d'ailleurs, de quels outils s'agit-il ? Si vous codez sur Mac, vous avez certainement dû entendre le nom d'Xcode. Considéré par beaucoup de mac-user comme le meilleur IDE, Xcode tire sa puissance de ses possibilités quasi-infinies alliées à une simplicité pour le développement. Celle-ci est dûe à la conception d'applications utilisant des objets complexes (OpenGL pour la 3D, moteur de rendu Web, vue Quicktime ou Quartz, etc.) à l'aide de nombreuses bibliothèques de fonctions couvrant de nombreux domaines variés. Par exemple, le développement d'un navigateur web peut se faire en quelques lignes de code grâce à WebKit, le moteur de rendu Open Source intégré à Mac OS X (et utilisé par le navigateur Safari). Ainsi, la principale philosophie d'Xcode est non pas de se focaliser sur ce qui est transparent pour l'utilisateur mais plutôt sur le concret, à savoir l'interface et l'ergonomie du logiciel. Cette façon de penser est un héritage des choix d'Apple, l'entreprise ayant choisi l'Objective-C comme langage principal pour Mac OS X, langage qui consiste à considérer tous les éléments du code source comme des objets (l'obj-c étant en quelque sorte enfant du Smalltalk). XCode prend donc en compte beaucoup de langages, notamment les langages de POO tels que Ruby, Python et bien évidemment l'Objective-C sans oublier d'autres langages très utilisés tels que le C et le C++. Par ailleurs, le support des templates assure une facilité pour les développeurs à s'essayer à de nouveaux domaines, favorisant la diversité. Parmi eux, on peut compter la création d'applications de base, de programmes en ligne de commande, mais aussi de plugins pour Spotlight (recherche intégrée à Mac OS X), Quicklook (visualisateur rapide de fichiers intégré au système), le Carnet d'Adresses etc. Outre ces avantages de fond, Xcode s'avère être un IDE complet avec une personnalisation poussée de la coloration syntaxique, l'auto-complétition, des documentations complètes avec des exemples illustrés pour chaque langage, et l'utilisation de puissants outils open-source tels que GCC (compilateur) et GDB (débuggeur). C'est donc sans surprise qu'Apple a choisi Xcode pour le développement d'applications. Mais alors qu'il est très efficace pour le développement d'applications Mac notamment avec son support de Cocoa, on peut se demander quels sont les outils qu'Apple met à la disposition des utilisateurs pour qu'ils conçoivent des applications dans des conditions optimales. Avec Cococa, vous pouvez facilement créer un logiciel en connaissant un minimum un langage de programmation. En effet, Apple vous fournit avec Xcode plusieurs outils très intéressants destinés à vous faciliter la tâche. Besoin d'une interface graphique pour votre logiciel ? Interface Builder est là ! Sous son apparence simpliste se cache un véritable potentiel qui ne vous reste qu'à exploiter. En effet, vous pouvez ajouter tous les éléments de l'interface de Mac OS X : barre de défilement, bouton, lien, champ de saisie, texte, case à cocher et bien d'autres. D'autres outils vous assisteront pour le développement de votre application, tels que Quartz Composer pour les effets graphiques, et Instruments qui vous permettra de voir les performances de votre application une fois lancée ainsi qu'à traquer les bugs et les fuites de mémoire par exemple. Bien que ce petit monde soit très sympathique, il est intégralement en anglais et n'est pas traduit. Au premier abord, on pourrait prendre ceci comme un inconvénient mais c'est un avantage d'avoir le nom exact des fonctions dans les menus et après tout, on ne va pas bien loin dans la programmation sans quelques notions d'anglais. Comme vous pouvez le voir, le développement d'applications sur Mac est le fruit d'un long travail de la part d'Apple pour mettre des outils de qualité à la disposition des développeurs. Se posait alors la question de savoir comment tout cet environnement de travail allait être adapté pour l'iPhone. Au lieu que ce soient les outils qui s'adaptent à l'objet, c'est toute l'API qui est changée. Ainsi, on assiste à la naissance d'une variante de Cocoa, portant le doux nom de Cococa Touch. Lors de sa conférence (dont je vous parlais en début de news), Apple a démontré quasiment en temps réel l'efficacité du SDK. En effet, ils ont montré tous les degrés auxquels le SDK pouvait être utilisé, partant d'un simple "Hello World" pour arriver à la création complète d'un jeu vidéo. Bien entendu, le SDK s'avère vraiment intéressant lorsque vous vous en servez réellement, et non pas uniquement pour afficher du texte comme pourrait le faire n'importe quel terminal. Si vous voulez par exemple créer une application qui déforme une photo lorsque vous passez le doigt dessus, alors là le SDK sera un véritable outil de développement pour votre application et sa nécessité se fera réellement ressentir : ce genre de programme existe alors grâce à Cocoa Touch. Ce dernier est en fait une API vous permettant de contrôler l'écran tactile et l'accéléromètre de l'iPhone à l'instar du clavier de la souris du Mac : les bons éléments de Cocoa de Mac OS X ont donc été repris et adaptés pour l'iPhone, permettant ainsi une uniformité entre les deux plateformes. Après tout, on ne change pas une équipe qui gagne ! A noter qu'aux logiciels tels qu'Interface Builder ou encore Quartz Composer, l'iPhone apporte son petit lot de nouveaux outils. Beaucoup de développeurs apprécieront en effet le fait de pouvoir tester leur programme directement sur leur ordinateur au lieu de brancher leur iPhone à leur ordinateur, Apple ayant inclus un émulateur d'iPhone. En clair : vous avez un iPhone sur votre écran que vous pilotez à votre guise grâce à votre souris, ce qui vous évite des pertes de temps pour tester votre programme sur votre iPhone "physique". Et ensuite ? Jusque là, le SDK d'Apple n'a rien de bien révolutionnaire : il fournit des outils aux développeurs afin de permettre la création d'applications et ainsi favoriser leur intégration au système. Mais Apple est allé plus loin, garantissant un support financier aux applications. Le projet initié par Kleiner Perkins Caufield & Byers (KPCB) se nomme iFund et s'évalue à un montant de 100 millions de dollars. Mais détrompez-vous, il ne s'agit en aucun cas ici d'altruisme mais bien de stratégie capitaliste : les projets propulsés par iFund seront des applications d'importance relativement conséquente et, par extension, amèneront de l'argent à la société. Par ailleurs et pour rester dans le domaine économique du phénomène, les développeurs qui concevront des applications pour iPhone ou iPod touch devront s'acquitter d'une autorisation d'un montant de 99$. Comme il l'est souvent remarqué, ceci est à la fois peu cher et trop cher. Peu cher pour les projets de grande envergure, abusif pour les petites applications développées par les particuliers. Apple annonce par ailleurs n'autoriser que les applications utilisant les API publiées par Apple et utilisées de manière prescrite par Apple. Le cas contraire, une réécriture du logiciel pourra être effectuée afin de le rendre conforme à cette règle. N.B. : Le téléchargement du SDK est tout à fait gratuit, rendez-vous sur le site d'Apple pour vous le procurer. Une fois les 99$ déboursés et l'application conforme aux règles dictées par Apple, vous avez alors la possibilité de mettre votre application à disposition de tous les possesseurs d'iPhone, ce qui est, selon Steve Jobs (CEO d'Apple), « le rêve de tout développeur ». Ainsi, un nouveau logiciel édité par Apple a vu son apparition : l'AppStore. Vous l'avez certainement deviné, l'AppStore permet à l'utilisateur de télécharger des applications iPhone conçues par d'autres utilisateurs. Il fonctionne de la même manière que l'iTunes Music Store, répertoriant les applications par thème, dans un top, selon leur nombre de téléchargements, etc. Il vous est possible également de faire une recherche manuelle si vous savez exactement ce que vous voulez. Pour procéder par analogie, l'AppStore est la forme légalisée du logiciel Installer, programme permettant le téléchargement d'applications pour iPhone jailbreakés. Réaction des utilisateurs Dans les jours qui suivirent l'annonce du SDK, de nombreuses réactions fusaient sur la Toile. Beaucoup voyaient en effet l'arrivée d'une nouvelle plateforme, un nouveau souffle pour l'iPhone voire carrément la naissance du véritable iPhone. Il est vrai que la démonstration des jeux en direct lors de la Keynote en a impressionné plus d'un : c'était la première fois d'ailleurs qu'Apple osait parler de plateforme de jeu vidéo pour un de ses produits (les jeux iPod étant plus des petits passe-temps que de véritables jeux vidéo tels qu'on les voit de nos jours). Bien que l'accéléromètre et l'écran tactile de l'iPhone offrent de réelles possibilités de jeu, il serait un peu exagéré de parler de l'émergence d'une nouvelle plateforme de jeux vidéo. Par ailleurs, l'accent mis par Apple sur le côté ludique de l'iPhone a tendance à nous faire oublier que de véritables applications peuvent arriver, puisque la société a mis à disposition du grand public les mêmes outils qu'elle utilise. Malgré tout, il faut avoir à l'esprit que même si vous disposez d'outils puissants, il vous faut une grande maîtrise de ces derniers afin d'arriver à faire des applications dignes d'être officielles (si telle est votre ambition). De nombreux utilisateurs profitent de l'arrivée du SDK pour dénoncer le caractère fermé d'Apple. Il est en effet impossible de développer des applications depuis un autre OS que Mac OS X, Xcode étant fortement conseillé ! En outre, le fait qu'il faille payer 99$ pour partager son application aux autres utilisateurs et qu'Apple se réserve de réécrire des logiciels sont deux règles particulièrement en conflit avec l'idéologie du logiciel libre et ne manque pas de créer des conflits entre les défenseurs du libre et les utilisateurs de Mac. Note de fin Finalement, Apple a bien fait de sortir son SDK à cette période de l'année, tant la sortie de ce dernier commençait à se faire attendre. Bien qu'il ait du retard, il apporte un réel plus pour les possesseurs d'iPhone et d'iPod touch et permet ainsi de contrer de façon efficace le jailbreak. Si vous voulez en savoir plus, consultez les liens suivants. Télécharger le SDK Xcode et ses outils La Programmation Orientée Objet (POO) sur Wikipédia Tutoriel : La Programmation Mac Merci à djibix pour avoir proposé une news à ce sujet ainsi qu'à guimers8 pour sa contribution et ses relectures attentives. Lire la suite sur Siteduzero