Site internet de petites annonces

Site internet de petites annonces admin lun, 01/21/2008 - 16:06

L'association Bulle Immobilière développe un site internet libre de petites annonces immobilières. Ce site n'est pas opérationnel, mais le sera prochainement. Nous comptons sur le soutien des communautés libres pour aider à la libération du marché de l'immobilier. Le code source est stocké sur un serveur SVN.

Le développement se fera sous Drupal 6.10, avec le langage PHP. Compte-tenu du fait que le site comporte des fonctionnalités de site personnel (url personnalisée pour chaque annonce, mini blog pour chaque annonce, fonctionnalités web 2.0, cartographie), nous allons utiliser le gestionnaire de contenu Drupal. Nous pourrons ainsi développer une grande partie du site sans écrire une seule ligne de code. Les fonctionnalités additionnelles seront développées sous forme de modules personnalisés, en utilisant l'API de Drupal, ainsi que les API de CCK et Views. Les principaux fils de discussion :

Le projet est coordonné par Jean-Michel Pouré, qui a pris l'initiative du projet et assure la majorité du développement. Tout développeur Drupal de talent pourra devenir leader s'il le souhaite.

Présentation générale

Présentation générale admin lun, 07/07/2008 - 01:52

Pour décrire le projet en quelques mots :

L'association Bulle Immobilière va développer un site internet, disponible sous licence GPL, permettant de déposer une annonce gratuitement, avec galerie photos et vidéos. Le site permet à tout vendeur particulier non-professionnel de créer un site personnel pour vendre son bien immobilier.

Notre service est novateur pour trois raisons :

  • Un moteur diffuse les annonces sur tous les médias : Google Base, Kijiji.fr, flux RSS, etc ...
  • Nous développerons une API puissante, de type XML RPC ou AJAX, permettant d'interroger notre base de données et d'obtenir des réponses en 5ms à 10ms maximum, même pour des centaines de milliers d'enregistrements. L'API sera standard, mais nous fournirons aussi des modules plus élaborés, par exemple pour PHP ou des CMS tels que Drupal.
  • Une communauté modère et vérifie les annonces, sur les principes du Web 2.0 et assure la qualité des annonces.

Une description plus détaillée :

  1. Annonces immobilières gratuites entre particuliers, avec géolocalisation Google Maps, galleries d'images et visites vidéo.
  2. Logiciel libre, publication sous licence GNU GPL.
  3. Contenu libre, publié sous forme de flux RSS et Google Apps, réutilisable sur tout site internet. En publiant une annonce sur notre site internet, vous êtes certains d'être visible partout. Nous n'avons pas encore choisi la licence des données, qui devront obliger de revenir à la source, pour authentifier et mettre à jour les données. En particulier, on déposera un dossier à la CNIL.
  4. Mini site personnel. Chaque annonce immobilière est un mini site personnel, doté de son URL personnalisée, choisie par le vendeur, du type : http://www.site-internet.com/maison-quatre-pieces-a-la-campagne. Des formulaires très simples permettent de décrire le bien, le terrain et le quartier. Les sites personnels sont déclarés sur Google via l'outil sitemaps.xml et sont visibles directement sur Google, avec des mots clés adaptés.
  5. Dossier vendeur. Comme dans les pays Anglo-saxons (Canada britannique, Royaume-Uni), l'interface permettra de télécharger un pack vendeur, au format PDF, contenant la description précise du bien, avec photos, coordonnées et éventuellement un plan. En France, trop d'annonces sont de simples accroches publicitaires, sans véritable fond et l'on perd à un temps précieux à visiter des biens ne correspondant pas aux critères de recherche.
  6. Critères de recherche et informations sur le bien :
    • Distance et durée des trajets quotidiens. Les personnes recherchant des biens auront la possibilité, entre autres, d'ajouter des adresses de travail à leur compte utilisateur ainsi que pour chacune de ses adresses un moyen de transport. La consultation des annonces permettra de consulter un calcul approximatif de la distance à chacun de ces lieux de travail, la durée du trajet correspondant (grâce à une vitesse moyenne du moyen de transport) et le nombre de litres de carburant nécessaires.
    • Nombre de places de parking.
    • Niveau d'accessibilité. indications sur l'étage du logement, présence d'un ascenseur, marches et escaliers dans le logement.
    • Proximité des édifices publics. Sous réserve de faisabilité technique, la consultation de la page d'un bien pourra inclure la distance aux édifices publics principaux tels que écoles, mairies, stades et centres commerciaux.
  7. Aide à la réalisation de transactions immobilières. Pour une annonce donnée, une fois qu'un acheteur se sera déclaré, afin de réaliser une transaction entre particuliers, une procédure par étapes à valider permettra au vendeur comme à l'acheteur d'avancer sereinement dans la procédure jusqu'à la conclusion de la transaction. Pour chaque étape, on trouvera une aide adaptée au vendeur ou à l'acheteur expliquant les tenants et aboutissants de l'étape. Il sera aussi possible d'attacher à chacune des étapes des documents électroniques représentant des copies des documents papier correspondant. Par exemple, on aura une étape pour le certificat amiante, une autre pour le certificat termites (qui s'invalidera quand le certificat aura passé ses 3 mois de validité)... Ainsi vendeurs et acheteurs disposeront d'une interface leur garantissant une transaction normalisée et sereine.
  8. Collaboration entre internautes, qui signalent les annonces périmées ou les professionnels de l'immobilier passant de fausses annonces pour générer du traffic vers leur propre business. L'idée d'ouvrir le site aux professionnels est abandonnée, suite aux trop nombreux problèmes de harcellement dont nous faisons déjà l'objet sur le forum. Notre politique, visant à bannir tout professionel de nos outils et de les réserver aux particuliers, est confirmée.
  9. Gestion associative - Le site internet est géré par une communauté, avec des élections chaque année, sur les principes de sites comme Debian ou Wikipedia. Un conseil de surveillance veille à ce que les principes de gratuité et d'indépendance soient toujours respectés et qu'aucune entreprise ou parti politique ne noyaute l'association.
  10. Web 2.0 - On ne vous prend pas pour des tartes : le Web 2.0 ne veut rien dire. Mais cela ne nous empêche pas de faire preuve d'humour et de supporter le Web 2.0.

Guide d'accueil du développeur

Guide d'accueil du développeur admin lun, 07/07/2008 - 02:19

Pour rejoindre l'équipe de développement :

  • Pour faciliter l'accès, nous offrons tous les outils sur un serveur de développement : apache, php5, drupal 6.3, modules nécessaire, base de données PostgreSQL, etc ...
  • Contacter Jean-Michel Pouré à l'adresse jmpoure@bulle-immobiliere.org, pour obtenir un compte Drupal sur le serveur de développement, l'accès au SVN, au répertoire personnel apache, à la base de données PostgreSQL et forum de développement.
  • Mettre en place les outils classiques de collaboration. Si vous êtes sous Linux, ces outils sont disponibles en standard : svn, scp, pgadmin3 etc ... Si vous êtes sous Windows, des tutoriel avec copies d'écran vous guideront. Tester que vous pouvez modifier le fichier de test dans le répertoire database sur SVN.
  • Vous devez vous former à Drupal, dans deux directions :
    * d'abord, vous devez vous former à l'utilisation de l'interface de Drupal, notamment CCK et Views. Le serveur de développement est équipé de la dernière version SVN de Drupal, avec certains modules additionnels. Des vidéos de formation sont disponibles.
    * Ensuite, vous pouvez étudier l'API et lire le code source de certains modules de Drupal.
  • Après vous être formé, vous pourrez contribuer aux specs et à la réalisation d'une première maquette.
  • Le serveur Drupal et ses modules sont stockés entièrement sur serveur SVN. Ainsi nous suivons l'évolution de Drupal et intégrons nos derniers développements. N'installez pas Drupal sur votre poste de travail, à moins d'utiliser la version SVN.
  • Le site principal a besoin de certains petits développements, comme un gestion de la revue de presse, avec notation. Un certain nombre de modules Drupal ne sont que partiellement migrés vers Drupal 6.x dev (future version 6.3). Vous pouvez vous entrâiner en les migrants. Tous ces travaux annexes vous permettront de vous entraîner.

Equipe de développement

Equipe de développement admin dim, 06/29/2008 - 12:12

Participants, par ordre alphabétique :

SSH = APACHE/SSH/SFTP/SVN = espace personnel Apache + PHP5 + accès SSH par clé RSA/DSA + accès SVN
PG = accès PostgreSQL
DRUPAL = accès CMS

Leader projet : jmpoure
Le projet pourra avoir plusieurs leaders, dès que certains participants montrent une aptitude particulière.

Public visé

Public visé admin mar, 01/22/2008 - 12:39

Un site de petites annonces doit atteindre rapidement une masse critiques d'annonces. Pour arriver rapidement à une masse critique, nous ciblons tous les besoins courants :

  • Acheteurs/locataires
  • Le site doit permettre à toute personne cherchant un bien immobilier de décrire sa recherche : lieu de résidence souhaité, type de logement, surface habitable, distance aux écoles, etc ... Dans un marché guidé par les acheteurs, il doit être possible de saisir ses informations et d'attendre que les vendeurs ou les AI fassent la première démarche et rentrent en contact. On peut imaginer des systèmes inversés, restant à définir.
  • Vendeurs/bailleurs
  • Les vendeurs/bailleurs ont la possibilité de passer une annonce gratuite. Ils ont à leur disposition un gestionnaire de photographies. Les photographies seront obligatoires. Le vendeur/bailleur renseignera le bien immobilier et disposera d'une URL fixe, une sorte de site personnel. Ce site lui permettra de passer des annonces dans des médias traditionnels, avec un lien vers l'URL du bien. Nous espérons que la généralisation des URL fixes permettra de saper les sources de financement des concurrents, qui facturent souvent la ligne d'annonce.
  • Statisticiens
  • Les prix de vente réels seront systématiquement relevés, par contrat. Les séries statistiques seront disponibles, avec les informations pour chaque bien et les coordonnées géographiques. Les informations seront anonymisées. Ainsi tout internaute pourra calculer ses propres statistiques. Nous n'accepterons jamais de publier des statistiques redressées ou manipulées. Tout sera vérifiable en ligne.
  • Les communautés Internet
  • Dans chaque pays, il existe de petites communautés de 2.000 à 15.000 membres, comparables à bulle-immobiliere.org. La plus ancienne est HousePriceCrash au Royaume-Uni. L'idée, c'est de fournir notre logiciel prêt à l'emploi qui soit capable de lister des petites annonces. Ensuite, on n'aurait qu'à récupérer les flux en les centralisant sur nos serveurs. On pourrait alors créer une sorte de réseau libre de petites annonces et développer en commun le logiciel.

Gestion et méthodes de travail

Gestion et méthodes de travail admin ven, 02/08/2008 - 15:44

La gestion du développement est celle de tout logiciel libre :

  • Nous allons mettre en place un serveur de développement, à bas coût, avec l'ensemble des outils de développement (Php5, drupal, etc ...). Cela éviter d'ouvrir une faille de sécurité sur notre serveur principal.
  • Les sources seront publiées sur un gestionnaire SVN hébergé sur le serveur de développement.
  • Nous ferons de fréquentes publications.
  • Toute personne peut participer, dans la mesure où elle respecte des règles de courtoisie.
  • Il n'existe pas de relation hiérarchique ni d'organisation centralisée. L'association coordonne les travaux en organisant des discussions publiques. Cependant, chaque développeur reste libre de choisir ses propres objectifs, de travailler seul ou en groupe, etc ...
  • Toutes les discussions sont publiques et ont lieu sur le forum Bulle Immobilière. Les discussions isolées ne sont pas conseillées, car elles ne laissent aucune tracer permettant d'organiser et de faire connaître les travaux.

Les étapes à respecter :

  • Annoncer les choix de développement.
  • Discuter des fonctionnalités recherchées et enrichir le CMS.
  • Publier une maquette (utiliser CCK ou Views).
  • Discuter de la maquette avec les utilisateurs.
  • Développer le fonctionnalité définitive.
  • Documenter les développements.
  • Maintenir les développements.

Logiciels libres et sites Web de petites annonces

Logiciels libres et sites Web de petites annonces admin mer, 06/25/2008 - 19:56

Logiciels open-source pour la gestion d'annonces immobilières, fonctionnant sous PHP :

  • Open-Realty : orienté agence immobilière. Système de métadonnées permettant d'enrichir la base de données sans modifier le schéma SQL. Fonctionne sous PostgreSQL. Attention la licence n'est plus libre.
  • Free-Realty : fork libre d'Open-Realty, license GPL.
  • ReOS Real Estate : licence GPL. Non-testé. Site web incompréhensible.

Modules Drupal :

  • MLS : gestion de petites annonces. Importation à partir de VieleRETS (un logiciel d'échange RETS pouvant fonctionner avec OpenRealty).

Modules Joomla :

Sites web 2.0 offrant des fonctionnalités intéressantes, méritant d'être étudiées :

  • Postlets : un page web personnalisée pour saisir une annonce et la publier partout, sur plusieurs sites gratuits.
  • Zillow : superbes outils de recherche avec géolocalisation.
  • ZipRealty : site MLS (Multi site list), aggrégateur d'annonces.

En dehors de l'immobilier, des concepts très proches :

  • MusicBrainz : gestion collaborative de catalogues de musique. A visiter impérativement pour un processus de validation collective, par vote au sein d'une communauté. Leur base de données fonctionne sous PostgreSQL.

Merci de nous signaler tout site internet intéressant, avec des fonctionnalités Web 2.0.

Spécifications

Spécifications admin lun, 06/23/2008 - 14:32

Les grandes lignes font l'objet d'une discussion sur le forum.

Framework Drupal et modules

Framework Drupal et modules admin mar, 01/22/2008 - 12:45

Anonyme (non vérifié)

jeu, 06/26/2008 - 10:26

On parle de faire un site web d'aspect professionnel, mais qui, dans l'équipe, maîtrise parfaitement Drupal ?

Je ne connais pas bien. Je l'ai installé dans la version 3, il y a plusieurs années mais j'aimais bien la philosophie du truc. J'ai arrêté car je n'ai jamais réussi à le compiler sur HP-UX!!

Quelle est la version que l'on utilisera ? 4.7 ? 5 ? autre ?

Nous utilisons un framework simple, constitué de :

Les librairies et applications sont écrites en PHP :

  • Drupal, un gestionnaire de contenu collaboratif.

  • Des modules Drupal adaptés à chaque besoin. Exemples :

    • Des modules standard : CCK, Views, Google Maps, sitemap, Analytics, etc ...

    • Des modules spécifiques où l'on regroupe le code source développé.

  • Les outils Google de géolocalisation et de référencement.

Nous développerons un thème spécifique, adapté à un site de petites annonces.

Les modules de Drupal nécessaires :

  • CCK

  • Views

  • Google Gmap : géolocalisation sur carte Google.

  • Geonames : géolocalisation à partir de nom de villes.

  • Autopath

  • Contemplate : affichage de neux Drupal avec CSS personnalisé.

  • Fivestar : vote du contenu.

  • Form Store, MyCaptcha et Notify.

  • Sitemap

  • Google Analytics

  • Robots.txt

  • Meta tags

  • Editeur WYSIWYG fck Editor

Le vendeur

Le vendeur admin jeu, 02/07/2008 - 15:41

Ce module permettra de saisir les informations personnelle de chaque vendeur.

Champs :

* civilite
* nom
* prenom
* adresse1 domicile
* adresse2 domicile
* code postal
* ville
* pays
* tel_fixe_domicile
* tel_fixe_bureau
* tel_mobile
* email

Langes parlées : Français, anglais, etc ...

Informations autorisant la publication d'informations sur le Net :
* publier_nom (booléen)
* publier_email (booléen)
* publier_tel_fixe_domicile (booléen)
* publier_tel_fixe_bureau (booléen)

Le vendeur doit nécessaire publier un email ou un téléphone, de sorte qu'on puisse le contacter directement sans passer par un serveur central. Un internaute découvrant l'annonce sur un flux RSS doit pouvoir réagir immédiatement, sans intermédiaire.

Outils :
CCK, Views

Agrégation de flux

Agrégation de flux admin mar, 06/24/2008 - 00:42

On doit considérer l'outil comme un site de petites annonces, mais aussi comme un central d'agrégation de flux et de republication de ces flux. Comme le fait Drupal avec les Flux RSS. C'est la clé du succès, car cette fonctionnalité doit permettre de gérer une base unique pour plusieurs pays et/ou régions.

Site personnel de bien immobilier

Site personnel de bien immobilier admin jeu, 02/07/2008 - 16:07

Drupal comprend un système de blog, couplé à une base de données.

Pour développer la solution, on utilisera un mélange des modules CCK, Blog, Googlemaps, etc...
Si la solution est trop lourde, on codera en dur dans un module CCK spécifique.

Le site personnel comprend plusieurs pages prédéfinies :

Page d'accueil

Page d'accueil admin mar, 06/24/2008 - 00:10

La page d'accueil présente les caractéristiques principales du bien :

  • Type de bien : appartement ou maison individuelle
  • Vente ou Location
  • Emplacement sur la carte
  • Surface totale
  • Prix / Loyer

Des pages permettent de découvrir le bien détail.

Visite du bien

Visite du bien admin lun, 06/23/2008 - 14:55

La page visite du bien liste les différentes pièces de l'habitation.

On distingue les pièces suivantes:

  • Chambre à coucher
  • Cuisine
  • Salle de bain
  • Toilettes
  • Garage
  • Buandrie
  • Grenier

Pour chaque pièces, on renseigne :

  • Surface au sol
  • Surface SHON
  • Un texte descriptif

et l'on upload une ou plusieurs photos et vidéos.

On obtient une page de blog avec une sorte de visite guidée.

Visite du terrain

Visite du terrain admin lun, 06/23/2008 - 14:57

La page terrain permet de se faire une image du bien en situation (une photo en recul) et de visiter le terrain. On indique la surface du terrain, de la maison au sol. Ce sont principalement du texte et des photos.

La gestion

La gestion admin mar, 06/24/2008 - 00:25

Sur cette page, on rassemble les informations suivantes :

  • Une descrition du chauffage, avec photos.
  • Budget chauffage et eau.
  • Une estimation de la taxe foncière.
  • Les caractéristiques d'isolation (bilan énergétique).

Le quartier

Le quartier admin lun, 06/23/2008 - 14:58

Cette page décrit la situation du quartier, la présence d'écoles, les installations collectives, les transports en commun, etc ... On pourra éventuellement utiliser un projet collaboratif, mais on peut également laisser le vendeur saisir des informations concernant son quartier.

Exemple : si à proximité d'un parc, saisir le parc sur la carte et publier une photo.

Dossier récapitulatif au format PDF

Dossier récapitulatif au format PDF admin lun, 06/23/2008 - 14:59

La législation du Royaume-Uni impose à chaque vendeur de fournir une documentation complète, avec toutes les informations concernant le bien immobilier : surface, plan, bilan éngergétique, etc ... Cette documentation est bien pratique car elle fait office de brochure commerciale.

Sur notre site, il doit être possible pour tout internaute de télécharger le site personnel d'un bien immobilier au format PDF, ce qui constitue une brochure commerciale.

Le formulaire de recherche

Le formulaire de recherche admin lun, 06/23/2008 - 15:59

On présente à l'utilisateur un carte Google maps et quelques choix simple :
maison, appartement, surface, nombre de chambres, prix, etc ...

Les biens s'affichent à l'écran et l'on peu accéder aux sites personnels correspondant par un simple clic.

Export données et API publique

Export données et API publique admin jeu, 02/07/2008 - 16:58

Ce serait bien de prévoir une API publique, dans un format ouvert, utilisable par des applications tierces.

Flux RSS :

  • Annonces de vente.

  • Annonces de location.

  • Statistiques, anonymisées.

  • Besoins des membres cherchant des biens.

En fait, toute recherche personnalisée doit pouvoir être exportée sous forme de flux RSS.
Exemple : http://www.bulle-immobiliere.org/rss?query
affiche un flux RSS selon une requête.

Export vers des sites de petites annonces gratuites :

Référencement Google :

  • sitemap.xml contenant tous les sites personnels.

  • url longues, META remplis automatiquement dans chaque site personnel.

  • Exportation vers Google base.

Eventuellement, on peut imaginer une API publique, utilisable par des logiciels du marché.

Au minimum, on peut fournir un module PHP permettant d'afficher un formulaire de recherche de bien, utilisable sur tout type de site communautaire. Prenons le cas d'un blog sur Paris. Le concepteur doit pouvoir interfacer son blog avec un outil de requête. L'outil interrogera en fait un flux RSS et fournira les réponses instantanément, sous un format facile à lire.

Modèle de données au format SQL 92

Modèle de données au format SQL 92 admin mer, 06/25/2008 - 15:40

JMP : Nous allons partir des specs de RETS 2.0 pour bâtir la base de donnée SQL correspondante.
Ensuite on écrira les procédures server-side pour générer les fichiers XML à la volée, dans la base de données.
Je ferai un démo.

Merci à Discotonio, fichier Excel en bas de page.

Type Clé Taille Plage Clé externe Null autorisé commentaire
PAYS (référentiel) ? pour pouvoir s'interfacer avec mappy ou google earth, il faut une identification claire du lieu par pays. Or le code postal est quelque chose de français...

VILLE (référentiel)
VILLE_CodePostal number X 0-5
VILLE_Nom varchar 100
VILLE_DEPARTEMENT_Numero varchar 3 X
VILLE_REGION_Numero number 0 X

DEPARTEMENT (référentiel)
DEPARTEMENT_Numero varchar X 3
DEPARTEMENT_Nom varchar 100

REGION (référentiel)
REGION_Numero number X
REGION_Nom varchar 100

ADRESSE_BIS (référentiel) (bis ter...)
BIS_ID num auto X
BIS_Nom varchar 5

TYPE (référentiel) (appart maison terrain...)
TYPE_ID num auto X
TYPE_Nom varchar 20

ADRESSE
ADRESSE_ID num auto X
ADRESSE_NoRue number 1-10000 X
ADRESSE_BIS_ID num auto X X
ADRESSE_NomRue varchar 100 X
ADRESSE_VILLE_CodePostal number 0-5 X
ADRESSE_Complement1 varchar 150
ADRESSE_Complement2 varchar 150

USER acheteur ou vendeur
USER_ID num auto X
USER_Nom varchar 100
USER_Prenom varchar 100
USER_Telephone number 10 chiffres X
USER_TelephonePortable number 10 chiffres X
USER_TelephoneAutre number 10 chiffres X un 3eme tél si besoin
USER_TelephoneAutreInformations varchar 30 X infos sur le type du 3ème tél
USER_Mail varchar 100
USER_PHOTO_ID num auto X X photo, avatar de la USER ?
USER_NickName varchar 100 X utilise t'on des nick names ?
USER_InformationsDisponibiliteContact varchar 300 X informations sur les horaires quand appeler... et autres
USER_PublierNom bool
USER_PublierMail bool
USER_PublierTelephones bool
USER_PublierNom bool

LIEU_TRAVAIL Permet d'ajouter des lieux de travail à un acheteur pour calculer automatiquement (via mappy ou google earth) la distance en km aux lieux de travail
LIEU_TRAVAIL_ADRESSE_ID num auto X X
LIEU_TRAVAIL_USER_ID num auto X X

VENDEUR
VENDEUR_ID num auto X
VENDEUR_USER_ID num auto X
VENDEUR_ADRESSE_ID num auto X

BIEN
BIEN_ID num auto X
BIEN_NoRue varchar 10 X
BIEN_NomRue varchar 100 X
BIEN_ADRESSE_ID num auto X
BIEN_VENDEUR_ID num auto X
BIEN_TYPE_ID num auto X
BIEN_SurfaceHabitable number
BIEN_SurfaceTerrain number En Carrez pour les apparts
BIEN_NbPieces number
BIEN_Accessible bool avec ascenseur pour les apparts ou de plain pied pour les maisons
BIEN_Etage bool étage pour les apparts
BIEN_Ascenseur bool ascenseur pour les apparts
BIEN_Handicape bool permet de savoir si le bien est adapte aux handicapés
BIEN_Piscine bool piscine pour les maisons
BIEN_ImpotsFonciersAnnuels number prix impots fonciers par mois
BIEN_Charges number prix charges par mois
BIEN_DepensesChauffage number prix chauffage par mois
BIEN_NbPlacesParking number nombre de places de parking privatives
BIEN_Commentaires varchar 2000 un commentaire avec format HTML autorisé (gras, souligné...)
BIEN_DistanceEcolePrimaire number Distance en km de la primaire la plus proche
BIEN_DistanceCollege number Distance en km du collège le plus proche
BIEN_DistanceLycee number Distance en km du lycée le plus proche
BIEN_DistanceCommerces number Distance en km des commerces de proximité (au minimum pain, tabac, journaux, épicerie)

PHOTO
PHOTO_ID num auto X
PHOTO_Commentaire varchar 1000 X un commentaire avec format HTML autorisé (gras, souligné...)
PHOTO_Blob blob

PHOTO_BIEN (association BIEN PHOTO)
BIEN_ID num auto X X
PHOTO_ID num auto X X

PRIX (permet un historique de prix)
PRIX_ID num auto X
PRIX_Montant double
PRIX_Date date
PRIX_BIEN_ID num auto X

RECHERCHE
RECHERCHE_ID num auto X
RECHERCHE_USER_ID num auto X
RECHERCHE_MontantMaxi double
RECHERCHE_DateMini date X
RECHERCHE_SurfaceHabitableMini double
RECHERCHE_SurfaceTerrainMini double X
RECHERCHE_NbPlacesParkingsMini double X
RECHERCHE_Piscine bool X
RECHERCHE_Ascenseur bool X
RECHERCHE_Accessible bool X
RECHERCHE_NbPieces number X
RECHERCHE_DistanceEcolePrimaireMaxi number X
RECHERCHE_DistanceCollegeMaxi number X
RECHERCHE_DistanceLyceeMaxi number X
RECHERCHE_DistanceCommercesMaxi number X
RECHERCHE_DepensesChauffageMaxi number X
RECHERCHE_EnvoiMailAuto bool Envoi automatique de mail
RECHERCHE_EnvoiMailAutoTousLes number Délai entre chaque envoi automatique de mails
RECHERCHE_EnvoiMailDateDernierEnvoi date champ interne pour retenir la date du dernier envoi

RECHERCHE_TYPE (association RECHERCHE TYPE) permet de faire une seule recherche concernant plusieurs types de bien
RECHERCHE_ID num auto X X
TYPE_ID num auto X X

EMPLACEMENT permet d'associer des emplacements à une recherche
EMPLACEMENT_RECHERCHE_ID num auto X X
EMPLACEMENT_VILLE_CodePostal number X X
EMPLACEMENT_DEPARTEMENT_Numero varchar X X
EMPLACEMENT_REGION_Numero number X X

Compte-rendu réunions

Compte-rendu réunions admin sam, 06/28/2008 - 10:15

27 Juin 2008 en chat

  • En début de réunion, chacun s'est présenté brièvement.
  • Nous avons fait un rappel du projet consistant à créer un serveur centralisant les annonces et les diffusant largement, mais avec le contrôle d'une communauté. Lire : http://www.bulle-immobiliere.org/drupal/projet-site-gratuit-petites-ann…
  • Nous avons découvert qu'il existait des standard ouvert pour l'échange de données : spécifications RETS 2.0
  • Des serveurs ont été développés et sont disponibles sous licence FreeBSD : variman. Ce n'est pas exactement ce que l'on peut nommer un "serveur de course", mais c'est un bon départ pour analyser les fonctionnalités et les écrans.
  • Les solutions fonctionnent sous PostgreSQL.
  • Il a été convenu d'analyser les specs, de tester les serveur et d'analyser les données.
  • Ces specs sont intéressantes car elles donnent un modèle pour créer un schéma SQL standard et utiliser des flux standard.
  • L'écriture des specs et fonctionnalités additionnelles (ex : calcul frais kilométrique) se fait sur le CMS. A cette occasion, nous avons libéré l'accès aux pages. Pour la traçabilité, créer des révisions.

Tutoriels et formations

Tutoriels et formations admin mar, 06/24/2008 - 00:50

Notre plate-forme de développement fonctionne sous Linux sur un serveur dédié, avec un accès SVN pour installer les modules et partager le code. Si vous n'êtes pas très à l'aise en raison des faiblesses de Windows ou si vous avez peur du traditionnel écran bleu à l'issue de plusieurs installations/réinstallations, utilisez les outils distants mis à votre disposition.

Nous vous offrons un environnement complet :

  • Un espace personnel pour chaque développeur, avec Apache/PHP5.
  • Un accès shell restreint en SCP et SFTP pour le transfert de fichiers.
  • Compte sur un serveur PostgreSQL, avec accès pgAdmin via SSL.
  • Accès à un serveur de version SVN pour partager le code développé.
  • Interface Web au serveur SVN : http://devel.bulle-immobiliere.org/websvn
  • Compte sur le CMS Drupal de l'association pour écrire les specs.

Il nous manque encore un serveur de chat IRC pour faire des réunions. Merci de nous faire des propositions. Il faudrait avoir une trace écrite de chaque réunion et la possibilité de modérer les accès.

Tutoriel RapidSVN : gestionnaire de versions

Tutoriel RapidSVN : gestionnaire de versions admin mar, 07/01/2008 - 17:58

La gestion des versions s'effectue en utilisant SVN et l'interface graphique RapidSVN.

Vous pouvez télécharger la dernière version ici :
http://www.rapidsvn.org/download/nightly

RapidSVN fonctionne sous GNU/Linux, MacOsX et Windows.
Notre répository utilise le protocole DAV.

1) Checkout : récupérer une copie locale
C'est l'équivalent de la commande Unix :
svn co http://devel.bulle-immobiliere.org/projets /path/to/my/directory

Saisir les références du serveur :

Au premier checkout, RapidSVN demande votre user et mot de passe.

2) Commit : publier un fichier sur le serveur central
C'est l'équivalent de la commande Unix :
svn commit -m "Mon mesage" file

3) Update : récupérer les dernières mises à jour
C'est l'équivalent de la commande Unix
svn update

4) Autres fonctionnalités
Le menu parle de lui-même : delete, rename, revert, merge, etc ...
Attention : après chaque suppression, renommage, etc ... vous devez valider par un commit.

Tutoriel WebSVN : gestionnaire de version en ligne

Tutoriel WebSVN : gestionnaire de version en ligne admin mar, 07/01/2008 - 18:25

Vous pouvez visualiser le SVN en ligne, à l'adresse :
http://devel.bulle-immobiliere.org/websvn

Le gestionnaire contien un fil RSS, qui vous permettra de rester informé.

Tutoriel Gnome Nautilus : transfert de fichier SFTP

Tutoriel Gnome Nautilus : transfert de fichier SFTP admin mar, 07/01/2008 - 23:51

L'accès shell étant resteint par mesure de sécurité, il est recommandé d'utiliser le protocole sftp pour parcourir votre dossier personnel. Une chance, sous GNU/Linux, Gnome intègre SFTP :

1. Ouvrir un dossier dans l'explorateur de fichier.
Sélectionner le menu Se connecter à un serveur :

2. Renseigner la fenêtre de connexion :

3. Une icône est ajoutée au bureau.
Double-cliquer pour naviguer sur le serveur de développement :

Tutoriel Putty : générer un jeu de clés

Tutoriel Putty : générer un jeu de clés admin jeu, 06/26/2008 - 15:13

Télécharger Putty :
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Choisir de préférence l'installeur complet, généré chaque jour :
http://tartarus.org/~simon/putty-snapshots/x86/putty-installer.exe

Installer Putty et lancer le gestionnaire de clés Putty-gen.

1. Cliquer sur SSH-2 DSA pour générer une clé DSA :

2. Bouger la souris pour générer la clé.
Une barre indique la progression :

3. Saisir une phrase de protection dans key passphrase,
par exemple "Ma grand-mère s'appelle Pierrette" :

4. Sauvergarder le jeu de clé privé, sous le nom key.ppk.
Vous ne devrez transmettre ce fichier sous aucun prétexte :

5. Sauvegarder la clé publique, sous le nom de key.pub
Vous pourrez nous transmettre cette clé par email :

6. Conservez le fichier key.ppk précieusement.
Il vous servira à vous connecter sous WinSCP.

7. Faites-nous parvenir key.pub par email.

Tutoriel WinSCP : transfert de fichier SFTP

Tutoriel WinSCP : transfert de fichier SFTP admin jeu, 06/26/2008 - 15:20

Au préalable, vous avez suivi le tutoriel Putty :

  1. Vous avez généré un fichier de clé privé/publique.
  2. Vous nous avez fait parvenir la clé privée par email.

Télécharger et installer WinSCP (préférer les dernières versions bêta) : http://winscp.net/eng/download.php
Lancer l'exécutable WinSCP.

Dans le menu de gauche, cliquer sur Sessions sauvées.
Cliquer sur le bouton Nouveau Dossier, saisir un nom de dossier et cliquer sur OK :

Cliquer sur le bouton Nouvelle pour saisir les coordonnées de la connexion.

Renseigner la connexion :

  • Nom d'hôte : adresse du serveur de développement.
  • Nom d'utilisateur : le user vous a été communiqué par email.
  • Mot de passe : aucun, car cette option de connexion est désactivée
  • Fichier de clé privée Indiquez l'emplacement de votre clé privée.
  • Protocole : SCP. Mais SFTP devrait aussi fonctionner.

Cliquer sur Sauver après avoir rempli le formulaire.
Cliquer sur Connecter pour établir la connexion :

Bravo, vous êtes connecté !

Tutoriel pgAdmin3 : créer et modifier une table

Tutoriel pgAdmin3 : créer et modifier une table admin mer, 07/02/2008 - 10:06

Se connecter à la base de données portant votre nom d'utilisateur.
Cette base de données est votre espace de jeu vous permettant de tester du code SQL :

Ouvrir le schéma public et cliquer sur l'icône table.
Sélectionner Ajouter une table dans le menu contextuel (clic droit) :

Renseigner le nom de la table.
Toutes les tables commencent par bio (bulle-immo.org).
De cette manière, on pourra facilement différencier nos tables en cas d'intégration dans des outils tiers.

Renseigner des champs. Vous pourrez par la suite modifier les noms des champs, leur type, etc ..
Utilisez comme préfixe le nom de la table ou un acronyme, pour éviter les homonymes lors de jointures.
Dans le cas présent, le préfix est "user_".

Notez que toute table doit comporter un champ identifiant SERIAL et un champ timestamp.
Le champ timestamp nous permettra de lancer le code server-side.

Ajouter une contrainte de clé primaire :

Valider. La table est créée.
La copie d'écran est légèrement postérieure et comporte quelques champs supplémentaires.

Le code SQL apparaît dans le panneau SQL :

Vous pouvez maintenant modifier la table, ajouter des clés externes (foreign keys), placer des indexes, etc ...

Le fichier SVN contenant les définitions SQL est tables.sql :
http://devel.bulle-immobiliere.org/websvn/listing.php?repname=projets&p…

A chaque fois, vous pouvez y reporter vos modifications par copier-coller depuis pgAdmin et faire un commit.

Tutoriel pgAdmin3 : se connecter à la base de données

Tutoriel pgAdmin3 : se connecter à la base de données admin jeu, 06/26/2008 - 15:03

Télécharger et installer pgAdmin3 à cette adresse : http://www.pgadmin.org

Lancer pgAdmin3 et sélectionner le menu ajouter un serveur :

Saisir les données de connexion :

Vous avez accès à une base de données personnelle, portant le même nom que votre user :

Les accès sont restreints.
Vous avez accès à votre base de données (user) et la base de données dev et drupal (partagées par tous).

Vidéo Drupal : interview du concepteur Dries Buytaert

Vidéo Drupal : interview du concepteur Dries Buytaert admin mer, 06/25/2008 - 23:04

Vidéo Drupal : prise en mains et tutoriel installation

Vidéo Drupal : prise en mains et tutoriel installation admin mer, 06/25/2008 - 22:55

Drupal 6 overview (35 minutes):

An overview of some of the new features in Drupal 6. Includes a step-by-step look at the installation process.

Vidéo Drupal : tutoriel CCK + VIEWS

Vidéo Drupal : tutoriel CCK + VIEWS admin mer, 06/25/2008 - 23:03

Titre original : Using CCK and Views (29 minutes) :
Auteur : http://learn.awakenedvoice.com/2007/07/30/drupal-cck-and-views-tutorial

Court tutoriel pour créer une page sous CCK et faire le formulaire de recherche sous Views.

Remarque : nous allons créer une revue de presse personnalisée sur ce mode.
Les fonctionnalités sont super-puissantes.

Vidéo Drupal : tutoriel création d'une fiche contact personnalisée

Vidéo Drupal : tutoriel création d'une fiche contact personnalisée admin mer, 06/25/2008 - 22:58

Titre original : Custom Drupal Contact Form
Source : http://learn.awakenedvoice.com/2007/10/28/custom-drupal-contact-form/

This video tutorial shows you how to create a secure, custom contact form using the Drupal content management platform. The following modules are used in creating this form. Akismet, Content Construction Kit, Form Store, MyCaptcha and Notify.

Vidéo Drupal : tutoriel les formats de saisie

Vidéo Drupal : tutoriel les formats de saisie admin mer, 06/25/2008 - 23:01

Drupal input format (21 minutes):

This video screencast gives you a closer look at the significance of input formats in the Drupal content management platform. Input formats are important because they define the rules for the types of content you can include in fields in a node, block, page, etc.

Auteur : http://learn.awakenedvoice.com/2007/09/01/drupal-input-formats

Vidéo Drupal : conférence FOSDEM 2008, 8 vidéos

Vidéo Drupal : conférence FOSDEM 2008, 8 vidéos admin mer, 06/25/2008 - 23:06

Conférences Drupal au FOSDEM 2008
http://lvb.net/item/6026