iOS Dev, XCode

Core Data : Renommer une entité

Voici une chose à ne pas oublier lors de vos développements d’application iPhone en objectif-c.
Si comme moi vous utilisez Core Data avec Xcode pour le développement vos applications iPhone, vous avez surement déjà rencontré quelque problème. Pour ma part, ce fût le cas lors de mon apprentissage de Core Data.
Il se peut lors de votre développement que vous désirez changer le nom d’une entité dans votre modèle. Après avoir changé le nom de votre entité assurez-vous de vérifier que dans votre modèle (monmodele.xcdatamodeld), dans la section “Configurations -> Default” (dans mon cas) que votre nouvelle entité possède bien le bon nom de la classe qu’elle réfère. Cela pourra peut-être vous éviter une erreur!
À noter que j’utilise la version 4.2 de Xcode.

Standard
symfony

symfony 1.4 : Fatal error: Class ‘sfGuardUserFormFilter’ not found

Depuis plusieurs années, j’utilise le Framework symfony pour le développement de site Web. Il permet de développer des applications Web robuste rapidement. Après avoir essayer la version 1.4 et tenter d’installer le plugin sfDoctrineGuardPlugin, j’ai eu cette erreur :

“Fatal error : Class ‘sfGuardUserFormFilter’ not found…”

Voici donc la solution pour faire fonctionner correctement le plugin. Exécutez les 2 commandes suivantes :

  1. symfony cc
  2. symfony doctrine:build –all-classes

Après ça, tout devrait fonctionner!

Standard
iOS Dev, XCode

XCode 4.2 : Éditeur de version et inspecteur de storyboard

Problème

En commençant à tester et expérimenter le développement d’application iPhone avec XCode 4.2, j’ai eu un problème lors de mes tests avec les storyboard. En changeant l’éditeur et en choisissant celui de la version 

J’ai obtenu l’image suivante :

Par la suite, lorsque j’ai voulu revenir avec l’éditeur standard  pour modifié de nouveau sur le storyboard, je suis resté avec le même visuel, i.e. avec la version XML du storyboard. Je n’arrivais pas à revoir le storyboard comme avant.

Solution

Pour corriger ça, il faut supprimer la référence du fichier de storyboard en question et rajouter le fichier dans le projet.
Voici ce qu’il faut faire :

  1. Clique droit sur le fichier du storyboard
  2. Delete
  3. Remove Reference Only
  4. Via le Finder, rajouter le fichier du storyboard dans le projet
Standard
iPhone/iPod Touch/iPad, MonoDevelop

MonoDevelop : Erreur 2006040705

Pour ceux qui ont décidé d’adopter MonoTouch et MonoDevelop pour le développement d’application native pour iPhone et qui par la même occasion, développe des site Web en PHP, peut-être que vous avez déjà rencontré l’erreur suivante lors du débogage avec le simulateur :

La première fois que j’ai eu cette erreur, c’était à la suite de l’installation de la dernière version de MonoDevelop.  Cependant, même en réinstallant l’ancienne version, l’erreur revenait toujours. Après quelques recherches et tests, je me suis rendu compte que l’erreur survenait seulement lorsque j’essayais de déboger une application iPhone et que mon serveur Web MAMP était démarré en même temps. En fermant mon serveur Web, le débogage de mon application iPhone s’est remis à fonctionner.

Standard
MySQL, PHP

Problème de démarrage de MySQL avec MAMP

Pour ceux d’entre vous qui sont sur Mac et qui utilise MAMP pour le développement de site PHP, vous avez peut-être déjà rencontré ce problème. Il arrive des fois que dans MAMP, le serveur Apache démarre mais pas selui de MySQL.

Voici un procédure qui règlera ce problème :

  1. Quitter MAMP
  2. Ouvrez le Terminal et inscrivez la commande suivante : killall -9 mysqld
  3. Redémarrer MAMP

Après ça tout devrait bien fonctionner!

Standard
iPhone/iPod Touch/iPad, Mac Os X, MonoDevelop, MonoTouch

Développement iPhone avec MonoTouch

Il y a quelque temps, j’ai découvert MonoTouch. MonoTouch vous permet de créer des applications natives pour  iPhone, iPod et iPad en utilisant du C# et du .NET. Si vous êtes un programmeur .NET et que vous ne désirez pas apprendre l’Objective-C, MonoTouch est la solution idéale. Vous devez évidemment posséder un Mac pour pouvoir développer des applications avec MonoTouch. Je vous recommande également d’utiliser l’IDE MonoDevelop qui permet en autre la conception d’application ASP.NET sur Mac OSX et Linux.

C’est certain qu’il existe d’autres outils qui vous permette de développer des applications sans avoir à connaître l’Objective-C ou encore le .NET. Cependant, selon moi un des nombreux avantages de MonoTouch est que ce dernier offre tous les contrôles natifs que l’on peut retrouver dans une application iPhone ou iPad. Allez jeter un coup d’oeil a Quicklytics, une application très utile qui à été concue avec MonoTouch.

Standard
iOS Dev, iPhone/iPod Touch/iPad, JavaScript

Framework JavaScript pour développement d’application iPhone

Comme vous le savez sûrement, il est possible pour ceux qui le désirent, développer des applications natives pour iPhone et iPad sans avoir à apprendre le Objective-C. Je vous suggère de regarder NimbleKit ainsi que PhoneGap qui vous permettent d’utiliser vos connaissances en HTML et Javascript pour créer des applications iPhone natives.

Voici une liste de Framework JavaScript qui peut être utilisée pour le développement d’application iPhone:
Mise à jour : 18/07/2012

Sencha Touch

jQuery Mobile

DHTMLX Touch

ChocolatChip-UI

iWebKit

iphone-universal

Lungojs

Joshfire

Zepto

Jo

Web 2.0 Touch

iUI

mobl

Lungo JS

Si vous faites des recherches sur Google, vous allez trouver une multides d’articles qui comparent les différents Framework. Informer vous avant de faire votre choix final.

Standard
Outils

MySQL Workbench et SQLite

Dans un premier temps, si vous ne connaissez pas encore MySQL Workbench, je vous suggère fortement d’y jeter un coup d’oeil. C’est l’outil multi-plateforme idéal pour tout le design de vos bases de données MySQL. Un fois la structure de vos tables créées, MySQL Workbench peut facilement générer le script SQL pour la création de votre base de données. Cependant, pour ceux qui désirent travailler avec MySQL Workbench et utiliser par la suite une base de données SQLite, par défaut MySQL Workbench ne peut pas générer le script qui permet de créer les tables. Heureusement, il existe un plugin que permet la création du script pour SQLite.

Voici la démarche à suivre pour l’installation du plugin en question.

  1. Télécharger le fichier ExportSQLite.grt.lua qui se trouve ici. Il est important de garder l’extension .lua du fichier.
  2. Ouvrez MySQL Workbench et allez dans “Scripting -> Install Plugin/Module…”.
  3. Dans la boîte de sélection de fichier, assurez-vous de sélectionner tous les types de fichiers et sélectionnez le script ExportSQLite.grt.lua.
  4. Redémarrer MySQL Workbench.
  5. Pour générer le script SQLite, ouvrez un de vos modèles, allez dans “Plugins -> Utilities -> Export SQLite CREATE script”.
  6. Pour terminer, vous n’avez qu’à choisir le nom du fichier .sql dans lequel sera générer le script SQLite.

Pour ceux d’entre vous qui développent des applications iPhone, ceci peut être très utile. Vous n’avez qu’à faire l’architecture de votre base de données dans MySQL Workbench et par la suite générer le script votre base de données SQLite.

 

Standard
symfony

Problème d’accents avec Symfony (i18n)

Pour ceux qui conçoivent des applications ou des sites bilingues avec Symfony, vous avez peut-être déjà rencontré un problème lors de l’affichage de caractères accentués pour les mots français. J’ai été confronté à ce problème il y a longtemps et voici le résultat de mes recherches sur le Web. Pour l’explication, c’est une application qui au départ s’affiche en français et par la suite en anglais et qui utilise la version 1.1 de Symfony.

Dans un premier temps, il faut vous s’assurer que le i18n est activé dans votre fichier monapp/config/settings.yml :

all:
.settings:
i18n: on

Vous devriez avoir dans votre template quelque part une ligne qui ressemble à cela :

Ensuite dans votre fichier monapp/i18n/en/messages.xml vous devriez avoir ceci :


Déconnexion
En fait, si vous inscrivez seulement « Déconnexion » tel qu’écrit dans votre template, vous allez avoir une erreur dans votre yml étant donné que le XML ne semble pas apprécié le caractère « & ». Il faut donc mettre é
qui représente le code pour le caractère « é » et tout fonction bien.

Après ça, tous vos caractères devraient s’afficher correctement.
C’est la même chose si vous créez un plugin. Vous pouvez écrire des accents dans votre fichier /plugins/monplugin/modules/monmodule/config/generator.yml :

edit:
title: Paramètres du site

Il suffit par la suite d’ajuster le fichier /plugins/monplugin/i18n/en/messages.xml comme mentionné précédemment.

N’oubliez pas qu’à chaque fois que vous modifier votre fichier en.yml, vous devez vider la cache de votre projet :
symfony cc

Pour ceux qui développent des applications bilingues, assurez-vous d’aller voir le plugin sfLanguageSwitchPlugin qui fonctionne très bien.
original=”messages” date=”2008-12-19T12:00:00Z”
product-name=”messages”>

Standard
Mac Os X, symfony

Installation et configuration de Symfony sous Mac Os X

Il y a quelques temps j’ai fais l’acquisition d’un nouveau MacBook Pro. Comme c’est ma première expérience avec un Mac, j’ai dû faire quelques recherches sur le Web afin que je puisse continuer à développer les sites que j’avais crées avec Symfony sous Windows. Pour ma part, j’avais opté d’installer Symfony en utilisant la méthode avec Subversion. Mon objectif était donc, d’utiliser la même méthode d’installation mais, cette fois-ci, sur Mac.

Note : Dans cet exemple, je fais référence à l’installation de la version 1.1 de Symfony. Toutefois, c’est la même procédure pour installer une autre version, i.e. la version 1.2 ou encore la 1.0. Il vous faudra juste changer l’url pour la source des fichiers.

Voici donc les différentes étapes à faire :
1. Télécharger et installer Subversion pour Mac.
http://www.apple.com/downloads/macosx/development_tools/bitnamisubversionstack.html

2. Télécharger et installer MAMP. L’installation se fait toute seule et ce n’est vraiment pas compliqué!
Une fois l’installation terminée, lancé MAMP. Par défaut, MAMP utilise des ports spécials. Vous pouvez toujours les changer en cliquant sur le bouton « Préférences… ».

3. Cette étape est facultative. Étant donné que les scripts d’un projet Symfony peuvent prendre beaucoup de mémoire, il est préférable d’augmenter la limite de mémoire par défaut dans le php.ini que vous trouverez dans le dossier /Applications/MAMP/conf/php5/php.ini. Poru ma part, j’ai changé la valeur pour mettre : memory_limit = 32M.

4. Maintenant, il faut importer les fichiers de Symfony via un client SVN. Dans mon cas j’ai utilisé Versions. J’ai déposé les fichier dans le répertoire /Users/[nomutilisateur]/symfony/symfony11.

5. Dans mon cas, j’ai voulu avoir une url différente pour chacun de mes projets Symofny, par exemple : http://monprojet1.localhost:8888/monapp_dev.php. Pour ce faire, il faut ajouter dans le fichier httpd.conf qui se trouve dans le dossier /Applications/MAMP/conf/apache/httpd.conf, le bloc de ligne qui suit. Notez qu’il doit y avoir un bloc pour chacun des projets.


ServerName MonSiteSymfony.localhost
DocumentRoot "/Applications/MAMP/htdocs/MonSiteSymfony/web"
DirectoryIndex index.php
Alias /sf /Users/David/symfony/symfony11/data/web/sf

AllowOverride All
Allow from All


AllowOverride All
Allow from All



6. Une fois que tout ça est fait, il faut ajuster le contenu du fichier hosts. Vous pouvez y accéder en ouvrant un Terminal et en utilisant la commande suivante :
nano /etc/hosts
À la fin du fichier, il faut ajouter une pour chacun des projets crées à l’étage précédente.
127.0.0.1 : monprojet1.localhost
Note : Vous pouvez également utiliser VirtualHostX qui se chargera de faire cette tache pour vous.

7. Pour terminer, assurer d’arrêter et de redémarrer votre serveur MAMP afin que les changements effectués soient appliqués.

Vous pouvez maintenant accéder à votre projet Symfony en utilisant l’url http://monprojet1.localhost:8888/monapp_dev.php. Si vous avez changé les ports par défaut dans MAMP, il vous suffit de changer le 8888 dans l’url par celui que vous avez choisi.

Standard