Archives par mot-clef : Projet

android-non-transparent

Transformer un projet Eclipse général en un projet Eclipse Android

Catégorie : Java | Laisser un commentaire

Imaginons que vous ayez un projet Eclipse qui soit de type Java ou autre (ou rien du tout), mais que vous savez pertinemment que c’est un projet Android et que vous aimeriez bien l’utiliser en tant que tel (histoire de pouvoir travailler quoi). D’instinct, on voudrait faire un clic droit sur le dossier, puis Configure > …  mais il n’y a rien pour Android. Voici la technique que je mets en oeuvre quand ça m’arrive.

Il faut modifier le fichier .project (ouvrir l’onglet Navigator pour le voir, ou bien aller directement le chercher sous Windows ou autre dans le dossier du projet Eclipse en question) pour qu’il contienne :

Continuer la lecture

En cette fin d’année, faisons le point

Catégorie : Informations | Laisser un commentaire

Voilà maintenant presque 7 mois que je me suis lancé dans l’aventure « blog » avec 30 minutes par jour, et j’avoue que j’y prend assez goût. C’est un plaisir de travailler sous Dotclear, et c’est pour moi un bon challenge que d’essayer d’apprendre des choses nouvelles tous les jours. Apprendre n’est pas forcément très compliqué, surtout qu’en 30 minutes, on n’a pas forcément l’occasion d’aller bien loin. Pratiquer est déjà un petit peu plus délicat, cela dit, en général j’apprends des choses qui me sont utiles pour mes « problèmes » du moment (comme dernièrement le billet expliquant comment [utiliser plusieurs feuilles CSS sur une même page|/post/2009/plusieurs-css-sur-une-seule-page]) donc cela reste dans le domaine du faisable. Mais lorsqu’il s’agit de transcrire ces connaissances sous forme de billets, cela devient légèrement plus difficile. J’essaie de synthétiser les informations, de trouver une manière de les expliquer de telles sortes que cela soit facilement et rapidement compréhensible. (de façon à ce qu’en lisant mon billet, moi, ou un autre lecteur, n’est pas besoin de relire mes 36 000 sources pour comprendre quelque chose) Se pose alors la question cruciale : est-ce qu’il me faut expliquer tout ce que j’ai appris, ou simplement donner les grandes lignes, celles qui permettent de comprendre le reste en se plongeant un peu dans le sujet ? Ces derniers temps, par manque de temps, je pratique surtout la deuxième option. Mais je pense qu’il est bon d’alterner un peu les deux.%%% J’ai terminé ma série PHP Objet, malgré le fait que je n’ai jamais vraiment terminé (ni même commencé) le projet [Doodle Like en PHP Objet|/post/2009/06/17/Cahier-des-charges-Doodle-like-en-PHP-objet]. Cela dit, je suis sur un autre projet que je code en PHP Objet, donc on pourra dire que cela fera office de projet de fin de série. Il va d’ailleurs falloir que je commence une nouvelle série, mais j’hésite encore sur le thème à choisir. JQuery (la doc manque cruellement en français sur Internet, enfin, de ce que j’ai pu voir), Java, CSS3 et son ami HTML5… Je m’accorde encore un peu de répit pour me décider. %%% Avec tout ça, j’arrive quand même à écrire une moyenne de 2 billets par semaine. En théorie il m’en faudrait 5. Ce résultat ne me convient donc pas forcément, mais c’est déjà ça.%%% Quant à la fréquentation des visiteurs, elle a un peu augmenté depuis le mois de Mai, puisque c’est maintenant une douzaine de personne par jour qui visitent le site. En majorité de nouveaux visiteurs (70%), qui proviennent généralement des moteurs de recherche (78%), bref, rien d’étonnant. %%% Donc mes résolutions pour cette nouvelle année : * Finir la série PHP Objet avec mon projet de fin de série * Démarrer une nouvelle série * Ecrire un peu plus souvent des billets * Continuer à améliorer le blog dès que je trouve le temps Et puisque je n’aurai pas l’occasion de le dire le jour J : __bonne année 2010 et meilleurs vœux !__

BBcode Toolbar en PHP Objet – Version 1

Catégorie : Projets | Laisser un commentaire

C’est vers fin juillet, que j’ai écrit un billet intitulé [Documentation module toolbar en PHP objet|http://30minparjour.la-bnbox.fr/post/2009/Documentation-module-toolbar-PHP-objet] qui parlait d’un système que je suis en train de concevoir : un module de toolbar BBcode en PHP objet, facilement instalable sur tout type de site Web et totalement paramétrable. J’ai terminé ce module, et j’en sors donc la version 1. Une version stable (enfin, avec les essais que j’ai fait) et relativement satisfaisante à mon goût. Je l’ai installé dernièrement sur un site (qui n’est malheureusement pas encore en ligne) et cela ne m’a pas posé de problèmes. (même si ça m’a donné plein d’idées d’améliorations) Si vous souhaitez [tester ce module sur votre site|http://30minparjour.la-bnbox.fr/public/Projets/BBcode-toolbar/Toolbar.zip], pas de problèmes : téléchargez-le, puis suivez le readme.txt pas à pas. Et surtout, n’hésitez pas à me faire des retours. Ce module permet : * De créer, puis de générer différentes barres de boutons cliquables, à afficher au dessus de n’importe quel champ textarea * De paramètrer ces boutons, notamment leur action (création de balises \[un]\[/un] ou \[deux=trois]\[/deux], en passant par un pop-up, ou autre) Et il est fait en PHP (orienté Objet), Javascript (utilisant le framework Prototype pour l’instant) [((/public/Projets/BBcode-toolbar/.toolbar_back_bouton_m.jpg|Paramétrage des boutons cliquables|C|Paramétrage des boutons cliquables, sept. 2009))|/public/Projets/BBcode-toolbar/toolbar_back_bouton.png] [((/public/Projets/BBcode-toolbar/.toolbar_front_m.jpg|Exemple de toolbar|C|Exemple de toolbar, sept. 2009))|/public/Projets/BBcode-toolbar/toolbar_front.png] J’espère qu’il vous donnera entière satisfaction ! En tout cas, à moi, il m’est bien utile, et je compte bien continuer à l’améliorer. !!Annexes * [Documentation module toolbar en PHP objet|http://30minparjour.la-bnbox.fr/post/2009/Documentation-module-toolbar-PHP-objet] * [Télécharger BBcode Toolbar version 1|http://30minparjour.la-bnbox.fr/public/Projets/BBcode-toolbar/Toolbar.zip]

Documentation d’un module toolbar en PHP objet

Catégorie : Projets | Laisser un commentaire

Je parle ici d’une toolbar, ou BBcodeBar, permettant d’utiliser facilement du BBcode (du BNcode pour être précis) lorsque l’on écrit un article ou que l’on poste sur un forum, un commentaire… (que sais-je encore !) Bref, quelque chose qui ressemble à ça : ((/public/Divers/toolbar.png|Exemple de toolbar|C|Exemple de toolbar, juil. 2009)) Voilà déjà pas mal de temps que j’utilise la même toolbar sur mes sites Internet. C’est une toolbar que j’ai créé et qui est basé sur une mod conçue à l’origine pour le système de forum [FluxBB|http://punbb.fr] (ex-PunBB) par [Vin100|http://forx.fr/]. A chaque fois, je la modifie et je galère pour l’intégrer correctement au site du momenet, et surtout je me retape tout le travail dès que je dois modifier quelque chose. Voilà pourquoi depuis quelques jours, quand l’envie me prend, je développe une version PHP objet de cette toolbar de façon à la rendre plus portable, plus paramétrable et aussi plus performante. J’approche désormais de la fin, et donc de la première publication d’une version 1. Voici donc un premier jet de documentation, entre autre, pour vérifier que rien n’a été oublié. !!!But * Créer une toolbar permettant d’utiliser facilement du BBcode (user friendly) * Créer un système de gestion de toolbars complet et paramètrable : génération de plusieurs toolbars, paramétrage du contenu des toolbars, désactivable ou désinstalable en 1 clic (surtout coder friendly) * Mettre en pratique mes connaissances en PHP objet, et améliorer celles en Javascript !!!Côté programmeur Le module toolbar est constitué d’une classe tout simplement nommée __Toolbar__. Une fois instanciée, cette classe contient toutes les attributs et méthodes nécessaire pour créer et utiliser des toolbars.%%% Certaines méthodes permettent une utilisation basique et simple de ce module : * traitement_administration() : permet d’afficher le module d’administration. * afficher_administration(option d’affichage encore à préciser) : permet d’effectuer les traitements du module d’administration. (à placer après la connexion à la BDD et avant tout affichage) * afficher_toolbar(‘nom_toolbar’) : permet d’afficher la toolbar ayant pour nom ‘nom_toolbar’. (le fichier correspondant sera @@tlb_nom_toolbar.php@@ dans le dossier de cache) Mais il existe d’autres méthodes pour effectuer des actions plus fines : * generer_cache_toolbar(nom_toolbar, id_textarea, chemin_img_bouton, chemin_img_smilie, nb_smilie, chemin_fichier_js) : permet de générer une toolbar. * generer_cache_smilie() : permet de générer un fichier de cache des smilies. * set_chemin_cache, get_chemin_cache : pour modifier et afficher la valeur de l’attribut cheminCache. (chemin vers le dossier de cache contenant le fichier de configuration, les toolbars générés, et les fichiers pour les pop up) Certains paramètres sont modifiables via la partie d’administration mais tous les paramètres systèmes (nom des tables, chemin vers le dossier de cache, …) ne sont modifiables qu’à l’aide de méthodes (@@set_table_bouton@@, @@set_table_smilie@@, @@set_fichier_config@@, @@set_chemin_cache@@, …) ou directement en modifiant la valeur des attributs concernés dans la classe @@Toolbar@@. !!!Côté administrateur !!Installation Une fois les fichiers du module copié au bon endroit sur un serveur, l’installation se fait facilement via la partie d’administration. Elle se résumé en la création de 2 tables MySQL @@tlbr_bouton@@, @@tlbr_smilie@@, et d’un fichier de configuration @@tlbr_param.php@@ (dans le dossier de cache) contenant les configurations par défaut. Le noms des tables, du fichier de configuration, ainsi que des configurations par défaut, peuvent être modifiés en changeant la valeur d’attributs de la classe Toolbar. !!Désinstallation La désinstallation se fait très facilement via la partie administration. Il suffit de supprimer les 2 tables MySQL @@tlbr_bouton@@, @@tlbr_smilie@@, ainsi que le fichier de configuration @@tlbr_param.php@@ (dans le dossier de cache). !!Gestion des paramètres par défaut Les paramètres par défaut sont : état du module toolbar (si le module est désactivé, toutes les toolbars seront désactivés), chemin vers le dossier où se trouvent les images des boutons, chemin vers le dossier où se trouvent les images des smilies, nombre de smilies à afficher sur la toolbar avant de mettre un lien « Plus d’infos » (si besoin), chemin vers le fichier javascript servant à afficher la toolbar.%%% Ce sont les paramètres utilisés par défaut lorsque l’on essait de générer une toolbar. Ils sont aussi utilisés lorsque l’on gère les boutons ou les smilies. !!Gestion des boutons et des smilies Les gestionnaires de boutons et de smilies permettent de créer une banque de données de boutons et smilies utilisable dans une toolbar et qui apparaitront dans une toolbar s’ils sont activés lors de sa génération. !Gestion des boutons Pour ajouter un bouton il faut : * Préciser son nom. Ce nom sera utilisé pour la balise BBcode (par exemple : \[nom]\[/nom]), et pour le fichier image correspondant (par exemple : nom.png). Vous pouvez préciser ce nom, ou uploader directement une image, le nom de l’image sera alors utilisé. Mais vous pouvez aussi uploader une image et préciser un nom (ne vous souciez pas de l’extension du fichier), l’image sera alors renommée. * Préciser son état. (activé ou non) * Préciser son type : bouton standard (ajoute simplement \[nom]texte\[/nom]), bouton Javascript (avec 1 ou 2 fenêtes Javascript possible dont le texte est paramètrable. Utile par exemple pour \[nom=texte]texte\[/nom]), bouton PopUp (ouvre le pop up nom.php du dossier @@include/@@. Un color picker est préintégré pour les valeurs color, et bgcolor. Un système d’upload est en cours de conception pour la valeur upload), bouton barre (affiche une barre suplémentaire d’icône lorsque l’on clique sur le bouton. Une barre de smilies est déjà configurée pour la valeur smilie. De même qu’une qu’une barre math pour la valeur math, si latex est installé) bouton séparateur (espace de 10px permettant de mettre en page sa toolbar) * Préciser un message d’aide. Il est possible de préciser plusieurs phrases d’aide en les séparant par des pipes (ctrl+alt+6 donne | ). La première phrase d’aide apparaitra au survol du bouton (par exemple :  »Mettre en gras : \[b]texte\[/b] »), la deuxième phrase d’aide apparaitra dans le première fenêtre Javascript (si bouton de type Javascript), la troisième phrase apparaîtra dans la deuxième fenêtre Javascript (si bouton de type Javascript). Les phrases d’aides peuvent aussi être utilisées dans les boutons de type PopUp. * Préciser l’ordre dans la toolbar. L’ordre est calculé automatiquement s’il n’est pas précisé. Les boutons créés sont modifiables et supprimables à la volet. (/!\ la suppression d’un bouton n’entraine pas la suppression de l’image correspondante) !Gestion des smilies Pour ajouter un smilie il faut : * Préciser son nom. Ce nom sera utilisé pour le fichier image correspondant (par exemple : nom.png). Vous pouvez préciser ce nom, ou uploader directement une image, le nom de l’image sera alors utilisé. Mais vous pouvez aussi uploader une image et préciser un nom, l’image sera alors renommée. Dans tous les cas, ne vous souciez pas de l’extension du fichier. * Préciser son symbôle. C’est-à-dire les caractères qu’il faut écrire (l’émoticône) pour ajouter un smilie à un message. Il est possible de préciser plusieurs symbôles en les séparant par des pipes (ctrl+alt+6 donne |). En effet, un fichier de cache des smilies est généré lors de la génération d’une toolbar et permet donc de créer automatiquement un programme de transformation d’émoticônes en smilies. (système encore non implémenté) * Préciser son état. (activé ou non) * Préciser l’ordre dans la toolbar. L’ordre est calculé automatiquement s’il n’est pas précisé. Les smilies créés sont modifiables et supprimables à la volet. (/!\ la suppression d’un smilie n’entraine pas la suppression de l’image correspondante) !!Générer une ou plusieurs toolbars Lors de la génération d’une toolbar (ce qui va générer en réalité un fichier tlbr_nom_toolbar.php dans le dossier de cache), il est possible de préciser des paramètres (qui sont pré-remplis avec les valeurs par défaut) : * chemin vers le dossier où se trouvent les images des boutons * chemin vers le dossier où se trouvent les images des smilies * nombre de smilies à afficher sur la toolbar avant de mettre un lien « Plus d’infos » (si besoin) * chemin vers le fichier javascript servant à afficher la toolbar. La toolbar générée va donc contenir tous les boutons et smilies activés au moment de sa génération, et utiliser le chemin vers les dossiers où se trouvent les images des boutons et des smilies, et le fichier Javascript, précisé au moment de sa génération. !!!Côté utilisateur L’utilisateur simplement une toolbar au dessus des champs textes dans lesquels il peut écrire. Lorsqu’il passe sa souris sur les boutons un message d’aide s’affiche et s’il clique dessus, l’action demandée s’exécute. Si l’utilisateur n’a pas activé Javascript, un message le prévient qu’il pourrait écrire plus facilement s’il l’activait. !!!Divers A la lecture de cette documentation, on voit que ce module fonctionne très bien tout seul et a été conçu pour s’implanter de manière transparente dans n’importe quel site Web. Cela dit, ce module ne se charge pas du parsage du BBcode. (ou similaire) On peut aussi remarquer que dans ce module, j’ai prévu la base pour pouvoir ajouter un système de parsage BBcode généré automatiquement. A vrai dire, j’ai un projet de BNcode (langage similaire au BBcode) déjà bien avancé, donc un couplage de ces 2 projets est tout à fait envisageable? !!!A faire * –Passer les valeurs par défaut du fichier de conf dans les attributs.– * –Ajouter un champ d’upload lorsqu’on modifie les smilies et les boutons– * –Etat désactivé du module– * –setCheminCache….– * –Erreur bouton espace– * –Cleaner appellation fichier config– * –afficher_administration(option d’affichage encore à préciser)– * –generer_cache_toolbar(‘tlbr_nom_toolbar.php’, ) -> refaire le nom si besoin– * cleaner la documentation et la procédure d’installation (en éparpillant moins les fichiers peut-être)

Cahier des charges : Doodle like en PHP objet

Catégorie : Projets | 2 commentaires

Bon, il me semble que j’ai fait un bon tour de la théorie au sujet du PHP objet (j’ai encore au moins 2 billets théoriques à écrire), et je l’applique déjà depuis plusieurs semaines durant mon stage. Mais maintenant j’aimerai bien me faire un petit projet tout en PHP objet. Je ne sais pas si vous connaissez [Doodle|http://www.doodle.com/] ? Je trouve le concept vraiment génial. Ce site permet à n’importe qui de créer des sondages classiques, ou alors des sortes de sondages permettant de fixer facilement une date d’un rendez-vous pour autant de personnes que l’on souhaite. Je vais donc réaliser dans les jours à venir (et j’espère arriver aux termes de ce projet) un Doodle like ! (j’ai pas encore d’idées de nom… mais ça viendra) Voici donc un cahier des charges d’un Doodle like. !!!Feuille de route * Version tout en PHP (orienté objet) sans aucun Javascript ou autre. Fonctionnalité : « Trouver une date ». * Ajout du Javascript pour la fonctionnalité « Trouver une date » et le reste du site. * Ajout de fonctionnalités « Faire un choix », « Sondage », « Qui prend quoi, pour un repas », ou autre, et amélioration des fonctionnalités présentes. En PHP (orienté objet) d’abord puis en améliorant avec le Javascript. !!!Introduction Doodle like est un site Internet visant à simplifier drastiquement les prises de décisions au sein d’une équipe ou d’un groupe. Grâce à un système de sondage simple, instinctif et friendly, n’importe quel internaute peut proposer une date de rendez-vous à un groupe (restreint ou non) de personnes, s’évitant ainsi de longues heures perdues au téléphone ou en envoi/réception d’e-mails. !!!But * Apprendre à (mieux) utiliser le PHP orienté objet * Apprendre à (–mieux–) utiliser Jquery * (Apprendre à utiliser le XML comme fichier de configuration. Et donc SimpleXML ou autre. -> pas nécessaire finalement, donc à voir) * S’amuser * Créer un système sécurisé où aucune information privée non désirée ne peut filtrer vers l’extérieur. Aucune information ne sera utilisée à des fins commerciales ou autre (hors publicité type Google Adsense, et encore, modérement), et aucune information privée ne sera conservée ou traitée. !!!Détails des fonctionnalités !!Trouver une date Tables SQL : * trouverUneDate(id, nom_createur, email_createur, webcreateur, date_creation, date_last_modif, titre, titre-rewrite-et-unique, description, nb_reponse, reponse_unique_multiple_ou_limite(0,1, nb), commentaire_autorise(0,1), nb_commentaire, autorisation(0->que admin, 1->que inscris, 2-> tout le monde), actif(0,1)) -> p-e chaine unique pour participation et administration * dateACheck(id, id_sondage, date(timestamp)) * horaireACheck(id, id_date, horaire(format à définir mais si possible le plus libre possible. Ex : 8:00-9:00@paris)) * commentaire(id, idSondage, pseudo, e-mail, web, date_creation, date_last_modif, msg) Étapes de création d’un sondage : * Choix du titre, description, pseudo, e-mail, choix des options (pré-remplies -> autorisation, commentaire, restriction à quelques utilisateurs (inscris) ou avec un mot de passe) * Choix des dates et des horaires Fin d’un sondage : * Blocage du sondage * Envoi d’un e-mail (personnalisé) donnant la réponse à tous les utilisateurs si désirés Administration d’un sondage : (pour les créateurs de sondages qui se sont inscris) * Modification du titre, de la description, des options possibles * Modification des dates et des horaires possibles * Supprimer, modifier une ou des réponses à un sondage * Supprimer le sondage Participer à un sondage : * Répondre au sondage * Si autorisation = 2 : Modification, suppression de toutes les réponses possibles * Si autorisation = 1 : Modification, suppression des ses réponses (pour les inscris) * Si autorisation = 0 : Rien ne peut être modifié ou supprimé par les inscris ou les visiteurs !!Système de compte Table SQL : * user(id, pseudo, mdp, email, web, date_inscription, nb_sondagecréé, nb_sondageparticipe, etat(1->ok, 0->banni)) Inscription : * Pseudo, mdp et e-mail sont demandés * Un e-mail avec rappel pseudo, mdp est envoyé Gestion du compte : * Permet de modifier : pseudo, mdp, e-mail, web. * Un e-mail avec rappel pseudo, mdp est renvoyé si l’e-mail à changé Pages spéciales : * Mes sondages * Les sondages auxquels j’ai participé * (Sondages pouvant m’intéresser) !!Pages Table SQL * article(id, auteur, email_auteur, web_auteur, date_creation, date_last_maj, titre, article, commentaire_autorise(0,1), nb_commentaire, tag) * tag(id, tag, nb_tag) !Nous contacter Table SQL : * email(id, emailemeteur, pseudoemetteur, sujetemeteur, msgemeteur, envoye(1-> oui, 0-> non, 2->en attente), (emaildest)) Formulaire * Email, pseudo, sujet, msg, (choix destinataire) !Qui sommes-nous & qu’est-ce que Doodle like Page de la table article !Politique d’accessibilité Page de la table article !!!Parlons technique * Rewriting des pages : titre-du-sondage-rewrite-unique.html * Un peu de SEO : liste des derniers sondages, liste du top des sondages, liste de sondages aux hasards… A améliorer, à méditer. Etude des mots clefs nécessaire !!!Idées futures * Flux RSS des sondages, de ses sondages, des commentaires * Commentaires des sondages * Doodle pour appareil portable